From c200204328b98427aa53284d1a7d066a31b1f906 Mon Sep 17 00:00:00 2001 From: Jackson Lau <2435719954@qq.com> Date: Thu, 16 Jul 2026 14:46:43 +0800 Subject: [PATCH 1/2] docs: add searchable Sourcey skill catalog Signed-off-by: Jackson Lau <2435719954@qq.com> --- docs/sourcey-catalog/README.md | 43 + docs/sourcey-catalog/build.mjs | 143 + docs/sourcey-catalog/build.test.mjs | 122 + docs/sourcey-catalog/catalog.json | 55 + docs/sourcey-catalog/extract.mjs | 471 ++++ docs/sourcey-catalog/extract.test.mjs | 584 ++++ docs/sourcey-catalog/gaps.md | 21 + docs/sourcey-catalog/pages/agency.md | 136 + docs/sourcey-catalog/pages/audit-receipt.md | 144 + docs/sourcey-catalog/pages/business-ops.md | 191 ++ docs/sourcey-catalog/pages/cve-audit.md | 124 + docs/sourcey-catalog/pages/data-store.md | 294 ++ docs/sourcey-catalog/pages/deep-research.md | 41 + docs/sourcey-catalog/pages/github-sync.md | 165 ++ .../pages/governed-outbound.md | 107 + docs/sourcey-catalog/pages/introduction.md | 12 + docs/sourcey-catalog/pages/issue-intake.md | 186 ++ docs/sourcey-catalog/pages/issue-to-pr.md | 201 ++ docs/sourcey-catalog/pages/issue-triage.md | 52 + .../sourcey-catalog/pages/knowledge-router.md | 33 + docs/sourcey-catalog/pages/least-privilege.md | 216 ++ docs/sourcey-catalog/pages/operator-inbox.md | 114 + docs/sourcey-catalog/pages/ops-desk.md | 325 +++ docs/sourcey-catalog/pages/policy-author.md | 175 ++ docs/sourcey-catalog/pages/release.md | 133 + docs/sourcey-catalog/pages/research.md | 51 + docs/sourcey-catalog/pages/review-receipt.md | 83 + docs/sourcey-catalog/pages/run-history.md | 112 + docs/sourcey-catalog/pages/sandbox-harden.md | 194 ++ docs/sourcey-catalog/pages/sourcey.md | 383 +++ docs/sourcey-catalog/pages/web-fetch.md | 134 + docs/sourcey-catalog/pages/work-plan.md | 107 + .../sourcey-catalog/site/_og/pages/agency.png | Bin 0 -> 67800 bytes .../site/_og/pages/audit-receipt.png | Bin 0 -> 68896 bytes .../site/_og/pages/business-ops.png | Bin 0 -> 67109 bytes .../site/_og/pages/cve-audit.png | Bin 0 -> 81606 bytes .../site/_og/pages/data-store.png | Bin 0 -> 83760 bytes .../site/_og/pages/deep-research.png | Bin 0 -> 68402 bytes .../site/_og/pages/github-sync.png | Bin 0 -> 82550 bytes .../site/_og/pages/governed-outbound.png | Bin 0 -> 87559 bytes .../site/_og/pages/introduction.png | Bin 0 -> 66554 bytes .../site/_og/pages/issue-intake.png | Bin 0 -> 83408 bytes .../site/_og/pages/issue-to-pr.png | Bin 0 -> 83591 bytes .../site/_og/pages/issue-triage.png | Bin 0 -> 66867 bytes .../site/_og/pages/knowledge-router.png | Bin 0 -> 76714 bytes .../site/_og/pages/least-privilege.png | Bin 0 -> 70325 bytes .../site/_og/pages/operator-inbox.png | Bin 0 -> 72932 bytes .../site/_og/pages/ops-desk.png | Bin 0 -> 67344 bytes .../site/_og/pages/policy-author.png | Bin 0 -> 68460 bytes .../site/_og/pages/release.png | Bin 0 -> 82423 bytes .../site/_og/pages/research.png | Bin 0 -> 66408 bytes .../site/_og/pages/review-receipt.png | Bin 0 -> 74752 bytes .../site/_og/pages/run-history.png | Bin 0 -> 65051 bytes .../site/_og/pages/sandbox-harden.png | Bin 0 -> 70680 bytes .../site/_og/pages/sourcey.png | Bin 0 -> 83456 bytes .../site/_og/pages/web-fetch.png | Bin 0 -> 80954 bytes .../site/_og/pages/work-plan.png | Bin 0 -> 66809 bytes docs/sourcey-catalog/site/index.html | 27 + docs/sourcey-catalog/site/llms-full.txt | 205 ++ docs/sourcey-catalog/site/llms.txt | 31 + docs/sourcey-catalog/site/pages/agency.html | 149 + .../site/pages/audit-receipt.html | 160 ++ .../site/pages/business-ops.html | 205 ++ .../sourcey-catalog/site/pages/cve-audit.html | 132 + .../site/pages/data-store.html | 300 ++ .../site/pages/deep-research.html | 59 + .../site/pages/github-sync.html | 173 ++ .../site/pages/governed-outbound.html | 123 + .../site/pages/introduction.html | 27 + .../site/pages/issue-intake.html | 197 ++ .../site/pages/issue-to-pr.html | 197 ++ .../site/pages/issue-triage.html | 69 + .../site/pages/knowledge-router.html | 52 + .../site/pages/least-privilege.html | 248 ++ .../site/pages/operator-inbox.html | 122 + docs/sourcey-catalog/site/pages/ops-desk.html | 343 +++ .../site/pages/policy-author.html | 189 ++ docs/sourcey-catalog/site/pages/release.html | 130 + docs/sourcey-catalog/site/pages/research.html | 69 + .../site/pages/review-receipt.html | 98 + .../site/pages/run-history.html | 129 + .../site/pages/sandbox-harden.html | 223 ++ docs/sourcey-catalog/site/pages/sourcey.html | 381 +++ .../sourcey-catalog/site/pages/web-fetch.html | 148 + .../sourcey-catalog/site/pages/work-plan.html | 128 + docs/sourcey-catalog/site/search-index.json | 1 + docs/sourcey-catalog/site/sitemap.xml | 29 + docs/sourcey-catalog/site/sourcey.css | 2474 +++++++++++++++++ docs/sourcey-catalog/site/sourcey.js | 1 + docs/sourcey-catalog/sourcey.config.ts | 50 + docs/sourcey-catalog/verification.json | 295 ++ docs/sourcey-catalog/verify.mjs | 422 +++ docs/sourcey-catalog/verify.test.mjs | 178 ++ 93 files changed, 12916 insertions(+) create mode 100644 docs/sourcey-catalog/README.md create mode 100644 docs/sourcey-catalog/build.mjs create mode 100644 docs/sourcey-catalog/build.test.mjs create mode 100644 docs/sourcey-catalog/catalog.json create mode 100644 docs/sourcey-catalog/extract.mjs create mode 100644 docs/sourcey-catalog/extract.test.mjs create mode 100644 docs/sourcey-catalog/gaps.md create mode 100644 docs/sourcey-catalog/pages/agency.md create mode 100644 docs/sourcey-catalog/pages/audit-receipt.md create mode 100644 docs/sourcey-catalog/pages/business-ops.md create mode 100644 docs/sourcey-catalog/pages/cve-audit.md create mode 100644 docs/sourcey-catalog/pages/data-store.md create mode 100644 docs/sourcey-catalog/pages/deep-research.md create mode 100644 docs/sourcey-catalog/pages/github-sync.md create mode 100644 docs/sourcey-catalog/pages/governed-outbound.md create mode 100644 docs/sourcey-catalog/pages/introduction.md create mode 100644 docs/sourcey-catalog/pages/issue-intake.md create mode 100644 docs/sourcey-catalog/pages/issue-to-pr.md create mode 100644 docs/sourcey-catalog/pages/issue-triage.md create mode 100644 docs/sourcey-catalog/pages/knowledge-router.md create mode 100644 docs/sourcey-catalog/pages/least-privilege.md create mode 100644 docs/sourcey-catalog/pages/operator-inbox.md create mode 100644 docs/sourcey-catalog/pages/ops-desk.md create mode 100644 docs/sourcey-catalog/pages/policy-author.md create mode 100644 docs/sourcey-catalog/pages/release.md create mode 100644 docs/sourcey-catalog/pages/research.md create mode 100644 docs/sourcey-catalog/pages/review-receipt.md create mode 100644 docs/sourcey-catalog/pages/run-history.md create mode 100644 docs/sourcey-catalog/pages/sandbox-harden.md create mode 100644 docs/sourcey-catalog/pages/sourcey.md create mode 100644 docs/sourcey-catalog/pages/web-fetch.md create mode 100644 docs/sourcey-catalog/pages/work-plan.md create mode 100644 docs/sourcey-catalog/site/_og/pages/agency.png create mode 100644 docs/sourcey-catalog/site/_og/pages/audit-receipt.png create mode 100644 docs/sourcey-catalog/site/_og/pages/business-ops.png create mode 100644 docs/sourcey-catalog/site/_og/pages/cve-audit.png create mode 100644 docs/sourcey-catalog/site/_og/pages/data-store.png create mode 100644 docs/sourcey-catalog/site/_og/pages/deep-research.png create mode 100644 docs/sourcey-catalog/site/_og/pages/github-sync.png create mode 100644 docs/sourcey-catalog/site/_og/pages/governed-outbound.png create mode 100644 docs/sourcey-catalog/site/_og/pages/introduction.png create mode 100644 docs/sourcey-catalog/site/_og/pages/issue-intake.png create mode 100644 docs/sourcey-catalog/site/_og/pages/issue-to-pr.png create mode 100644 docs/sourcey-catalog/site/_og/pages/issue-triage.png create mode 100644 docs/sourcey-catalog/site/_og/pages/knowledge-router.png create mode 100644 docs/sourcey-catalog/site/_og/pages/least-privilege.png create mode 100644 docs/sourcey-catalog/site/_og/pages/operator-inbox.png create mode 100644 docs/sourcey-catalog/site/_og/pages/ops-desk.png create mode 100644 docs/sourcey-catalog/site/_og/pages/policy-author.png create mode 100644 docs/sourcey-catalog/site/_og/pages/release.png create mode 100644 docs/sourcey-catalog/site/_og/pages/research.png create mode 100644 docs/sourcey-catalog/site/_og/pages/review-receipt.png create mode 100644 docs/sourcey-catalog/site/_og/pages/run-history.png create mode 100644 docs/sourcey-catalog/site/_og/pages/sandbox-harden.png create mode 100644 docs/sourcey-catalog/site/_og/pages/sourcey.png create mode 100644 docs/sourcey-catalog/site/_og/pages/web-fetch.png create mode 100644 docs/sourcey-catalog/site/_og/pages/work-plan.png create mode 100644 docs/sourcey-catalog/site/index.html create mode 100644 docs/sourcey-catalog/site/llms-full.txt create mode 100644 docs/sourcey-catalog/site/llms.txt create mode 100644 docs/sourcey-catalog/site/pages/agency.html create mode 100644 docs/sourcey-catalog/site/pages/audit-receipt.html create mode 100644 docs/sourcey-catalog/site/pages/business-ops.html create mode 100644 docs/sourcey-catalog/site/pages/cve-audit.html create mode 100644 docs/sourcey-catalog/site/pages/data-store.html create mode 100644 docs/sourcey-catalog/site/pages/deep-research.html create mode 100644 docs/sourcey-catalog/site/pages/github-sync.html create mode 100644 docs/sourcey-catalog/site/pages/governed-outbound.html create mode 100644 docs/sourcey-catalog/site/pages/introduction.html create mode 100644 docs/sourcey-catalog/site/pages/issue-intake.html create mode 100644 docs/sourcey-catalog/site/pages/issue-to-pr.html create mode 100644 docs/sourcey-catalog/site/pages/issue-triage.html create mode 100644 docs/sourcey-catalog/site/pages/knowledge-router.html create mode 100644 docs/sourcey-catalog/site/pages/least-privilege.html create mode 100644 docs/sourcey-catalog/site/pages/operator-inbox.html create mode 100644 docs/sourcey-catalog/site/pages/ops-desk.html create mode 100644 docs/sourcey-catalog/site/pages/policy-author.html create mode 100644 docs/sourcey-catalog/site/pages/release.html create mode 100644 docs/sourcey-catalog/site/pages/research.html create mode 100644 docs/sourcey-catalog/site/pages/review-receipt.html create mode 100644 docs/sourcey-catalog/site/pages/run-history.html create mode 100644 docs/sourcey-catalog/site/pages/sandbox-harden.html create mode 100644 docs/sourcey-catalog/site/pages/sourcey.html create mode 100644 docs/sourcey-catalog/site/pages/web-fetch.html create mode 100644 docs/sourcey-catalog/site/pages/work-plan.html create mode 100644 docs/sourcey-catalog/site/search-index.json create mode 100644 docs/sourcey-catalog/site/sitemap.xml create mode 100644 docs/sourcey-catalog/site/sourcey.css create mode 100644 docs/sourcey-catalog/site/sourcey.js create mode 100644 docs/sourcey-catalog/sourcey.config.ts create mode 100644 docs/sourcey-catalog/verification.json create mode 100644 docs/sourcey-catalog/verify.mjs create mode 100644 docs/sourcey-catalog/verify.test.mjs diff --git a/docs/sourcey-catalog/README.md b/docs/sourcey-catalog/README.md new file mode 100644 index 000000000..fc3f7b460 --- /dev/null +++ b/docs/sourcey-catalog/README.md @@ -0,0 +1,43 @@ +# Sourcey catalog extractor + +This directory creates a 24-page documentation catalog from Runx skill sources +at one immutable Git commit. The local checkout is never used as source content. + +## Inputs + +`catalog.json` identifies the canonical GitHub repository, the pinned commit, +and five ordered groups. Every entry declares its skill name, output slug, +group, and source path. The extractor accepts only the Runx repository, a +40-character lowercase commit SHA, the exact canonical 24 names and five +groups, slugs equal to names, and paths of the form `skills//SKILL.md`. + +## Run + +```sh +node --test docs/sourcey-catalog/extract.test.mjs +node docs/sourcey-catalog/extract.mjs +``` + +The extractor reads each file through GitHub's Contents API at the catalog's +commit. Optional authentication comes only from `GITHUB_TOKEN`, falling back to +`GH_TOKEN`, and is sent only in the Authorization header. Tokens are redacted +from errors and output. The extractor retries transient failures up to three +total attempts, caps fetch concurrency at four, and waits at most 30 seconds +for a rate-limit reset before returning the reset time and token guidance. +Secondary rate limits are recognized from GitHub's response message or +`Retry-After` header and return the same bounded-wait and token guidance. + +Each response must contain canonical base64 for a file no larger than 1 MiB. +The extractor verifies the returned Git blob SHA before rendering the page. + +Generated pages are written in catalog order to `pages/*.md`. Each one contains +the group, immutable source URL, commit, source path, authored Markdown with +only recognized leading YAML frontmatter removed. Frontmatter is validated with +the project's `yaml` parser before removal; malformed YAML is rejected. The +extractor normalizes output to UTF-8 LF endings and rejects a symlink +`outputDir`. Within a real output directory, it atomically replaces expected +page paths and safely unlinks stale Markdown files or symlinks without following +symlink targets. + +`extractCatalog` returns a `sha256:` digest of each final page in its page +metadata. The digest is not embedded in the generated Markdown body. diff --git a/docs/sourcey-catalog/build.mjs b/docs/sourcey-catalog/build.mjs new file mode 100644 index 000000000..f0d591c61 --- /dev/null +++ b/docs/sourcey-catalog/build.mjs @@ -0,0 +1,143 @@ +import { lstat, readFile, rm, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { spawn } from "node:child_process"; +import { fileURLToPath } from "node:url"; + +const SOURCEY_VERSION = "3.6.5"; +const CONFIG_FILE = "sourcey.config.ts"; + +export function renderSourceyConfig(catalog) { + if (!catalog || !Array.isArray(catalog.groups)) throw new TypeError("catalog groups must be an array"); + + const groups = [ + { name: "Introduction", slugs: ["introduction"] }, + ...catalog.groups.map((group) => { + if (typeof group?.name !== "string" || !Array.isArray(group.entries)) { + throw new TypeError("catalog groups must have a name and entries array"); + } + return { name: group.name, slugs: group.entries.map(({ slug }) => slug) }; + }) + ]; + const seen = new Set(); + for (const { slugs } of groups.slice(1)) { + for (const slug of slugs) { + if (typeof slug !== "string" || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(slug)) { + throw new Error("catalog slugs must be lowercase kebab-case"); + } + if (seen.has(slug)) throw new Error(`duplicate slug: ${slug}`); + seen.add(slug); + } + } + + const renderedGroups = groups.map(({ name, slugs }) => [ + " {", + ` group: ${JSON.stringify(name)},`, + ` pages: [${slugs.map((slug) => JSON.stringify(`pages/${slug}`)).join(", ")}],`, + " }," + ].join("\n")).join("\n"); + + return `import { defineConfig, markdown } from "sourcey"; + +export default defineConfig({ + name: "Runx Governed Skill Catalog", + siteUrl: "https://github.com", + baseUrl: "/runxhq/runx", + repo: "https://github.com/runxhq/runx", + editBranch: "main", + editBasePath: "docs/sourcey-catalog", + theme: { + preset: "default", + colors: { primary: "#0f766e", light: "#14b8a6", dark: "#134e4a" }, + }, + navigation: { + tabs: [ + { + tab: "Skills", + slug: "", + source: markdown({ + groups: [ +${renderedGroups} + ], + }), + }, + ], + }, +}); +`; +} + +export function buildCommand(catalogDir, options = {}) { + const root = path.resolve(catalogDir); + const outputDir = path.resolve(options.outputDir ?? path.join(root, "site")); + const expectedOutput = path.join(root, "site"); + if (outputDir !== expectedOutput) { + throw new Error("outputDir must be the site directory inside the catalog directory"); + } + + const args = ["build", "-o", "site", "--quiet"]; + const command = options.sourceyBin + ? [path.resolve(options.sourceyBin), ...args] + : ["npx", "-y", `sourcey@${SOURCEY_VERSION}`, ...args]; + return { command, outputDir }; +} + +export async function buildCatalog({ catalogDir, outputDir, sourceyBin } = {}) { + const root = path.resolve(catalogDir ?? path.dirname(fileURLToPath(import.meta.url))); + const plan = buildCommand(root, { outputDir, sourceyBin }); + const catalog = JSON.parse(await readFile(path.join(root, "catalog.json"), "utf8")); + const config = renderSourceyConfig(catalog); + + await writeFile(path.join(root, CONFIG_FILE), config, "utf8"); + await rm(plan.outputDir, { recursive: true, force: true }); + await run(plan.command, root); + await verifyBuildArtifacts(plan.outputDir, catalog); + + return { + page_count: catalog.groups.flatMap((group) => group.entries).length, + output_dir: plan.outputDir, + command: plan.command + }; +} + +async function verifyBuildArtifacts(outputDir, catalog) { + const required = [ + "index.html", + "search-index.json", + "sourcey.css", + "sourcey.js", + "llms.txt", + "llms-full.txt", + "pages/introduction.html", + ...catalog.groups.flatMap((group) => group.entries.map(({ slug }) => `pages/${slug}.html`)), + ]; + + for (const relativePath of required) { + const artifact = path.join(outputDir, relativePath); + try { + const metadata = await lstat(artifact); + if (!metadata.isFile() || metadata.isSymbolicLink() || metadata.size === 0) throw new Error(); + } catch { + throw new Error(`missing or empty Sourcey build artifact: ${relativePath}`); + } + } +} + +async function run(command, cwd) { + await new Promise((resolve, reject) => { + const child = spawn(command[0], command.slice(1), { cwd, stdio: "inherit" }); + child.once("error", reject); + child.once("exit", (code, signal) => { + if (code === 0) resolve(); + else reject(new Error(`Sourcey build failed with ${signal ? `signal ${signal}` : `exit code ${code}`}`)); + }); + }); +} + +if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { + buildCatalog().then((result) => { + process.stdout.write(`${JSON.stringify(result)}\n`); + }).catch((error) => { + process.stderr.write(`${error.message}\n`); + process.exitCode = 1; + }); +} diff --git a/docs/sourcey-catalog/build.test.mjs b/docs/sourcey-catalog/build.test.mjs new file mode 100644 index 000000000..b9bec1a0f --- /dev/null +++ b/docs/sourcey-catalog/build.test.mjs @@ -0,0 +1,122 @@ +import assert from "node:assert/strict"; +import { chmod, mkdtemp, readFile, realpath, rm, writeFile } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; +import test from "node:test"; + +import { buildCatalog, buildCommand, renderSourceyConfig } from "./build.mjs"; + +const catalog = { + source_repository: "https://github.com/runxhq/runx", + source_commit: "5afc25a83edf1c1320df7ac0d78c36f1523b5677", + groups: [ + { name: "Operate", entries: [{ slug: "agency" }, { slug: "work-plan" }] }, + { name: "Research and data", entries: [{ slug: "research" }] }, + { name: "GitHub and delivery", entries: [{ slug: "issue-to-pr" }] }, + { name: "Safety and review", entries: [{ slug: "cve-audit" }] }, + { name: "Outbound and tooling", entries: [{ slug: "sourcey" }] } + ] +}; + +test("config exposes every manifest page once after introduction in catalog group order", () => { + const config = renderSourceyConfig(catalog); + const expectedGroups = ["Introduction", ...catalog.groups.map((group) => group.name)]; + + assert.match(config, /name: "Runx Governed Skill Catalog"/); + assert.match(config, /siteUrl: "https:\/\/github\.com"/); + assert.match(config, /baseUrl: "\/runxhq\/runx"/); + assert.match(config, /repo: "https:\/\/github\.com\/runxhq\/runx"/); + assert.match(config, /editBranch: "main"/); + assert.match(config, /editBasePath: "docs\/sourcey-catalog"/); + assert.deepEqual( + [...config.matchAll(/group: "([^"]+)"/g)].map((match) => match[1]), + expectedGroups + ); + assert.match(config, /group: "Introduction",\n\s+pages: \["pages\/introduction"\]/); + + for (const entry of catalog.groups.flatMap((group) => group.entries)) { + assert.equal(config.match(new RegExp(`pages/${entry.slug.replaceAll("-", "\\-")}`, "g"))?.length, 1); + } +}); + +test("build command pins Sourcey 3.6.5 and writes only inside catalog site", () => { + const plan = buildCommand("/repo/docs/sourcey-catalog"); + + assert.deepEqual(plan.command, ["npx", "-y", "sourcey@3.6.5", "build", "-o", "site", "--quiet"]); + assert.equal(plan.outputDir, "/repo/docs/sourcey-catalog/site"); + assert.throws( + () => buildCommand("/repo/docs/sourcey-catalog", { outputDir: "/repo/docs/site" }), + /inside the catalog directory/ + ); +}); + +test("config splits the public URL into the Sourcey 3.6.5 origin and base path", () => { + const config = renderSourceyConfig(catalog); + + assert.match(config, /siteUrl: "https:\/\/github\.com"/); + assert.match(config, /baseUrl: "\/runxhq\/runx"/); +}); + +test("build wrapper accepts an explicit Sourcey binary for offline execution", async (t) => { + const catalogDir = await mkdtemp(path.join(tmpdir(), "sourcey-build-")); + t.after(() => rm(catalogDir, { recursive: true, force: true })); + await writeFile(path.join(catalogDir, "catalog.json"), `${JSON.stringify(catalog)}\n`, "utf8"); + const sourceyBin = path.join(catalogDir, "sourcey-fixture.mjs"); + await writeFile(sourceyBin, [ + "#!/usr/bin/env node", + "import { mkdir, writeFile } from 'node:fs/promises';", + "await writeFile('invocation.json', JSON.stringify({ cwd: process.cwd(), args: process.argv.slice(2) }));", + "await mkdir('site/pages', { recursive: true });", + `for (const file of ${JSON.stringify([ + "index.html", + "search-index.json", + "sourcey.css", + "sourcey.js", + "llms.txt", + "llms-full.txt", + "pages/introduction.html", + ...catalog.groups.flatMap((group) => group.entries.map((entry) => `pages/${entry.slug}.html`)), + ])}) await writeFile('site/' + file, 'fixture');`, + ].join("\n"), "utf8"); + await chmod(sourceyBin, 0o755); + + const result = await buildCatalog({ catalogDir, sourceyBin }); + const invocation = JSON.parse(await readFile(path.join(catalogDir, "invocation.json"), "utf8")); + + assert.deepEqual(invocation, { + cwd: await realpath(catalogDir), + args: ["build", "-o", "site", "--quiet"] + }); + assert.equal(result.page_count, 6); + assert.equal(result.output_dir, path.join(catalogDir, "site")); + assert.deepEqual(result.command, [sourceyBin, "build", "-o", "site", "--quiet"]); + assert.match(await readFile(path.join(catalogDir, "sourcey.config.ts"), "utf8"), /pages\/agency/); +}); + +test("build wrapper refuses a successful command with missing static artifacts", async (t) => { + const catalogDir = await mkdtemp(path.join(tmpdir(), "sourcey-build-missing-")); + t.after(() => rm(catalogDir, { recursive: true, force: true })); + await writeFile(path.join(catalogDir, "catalog.json"), `${JSON.stringify(catalog)}\n`, "utf8"); + const sourceyBin = path.join(catalogDir, "sourcey-fixture.mjs"); + await writeFile(sourceyBin, "#!/usr/bin/env node\n", "utf8"); + await chmod(sourceyBin, 0o755); + + await assert.rejects( + buildCatalog({ catalogDir, sourceyBin }), + /missing or empty Sourcey build artifact/, + ); +}); + +test("build wrapper reports a nonzero Sourcey exit", async (t) => { + const catalogDir = await mkdtemp(path.join(tmpdir(), "sourcey-build-failed-")); + t.after(() => rm(catalogDir, { recursive: true, force: true })); + await writeFile(path.join(catalogDir, "catalog.json"), `${JSON.stringify(catalog)}\n`, "utf8"); + const sourceyBin = path.join(catalogDir, "sourcey-fixture.mjs"); + await writeFile(sourceyBin, "#!/usr/bin/env node\nprocess.exitCode = 7;\n", "utf8"); + await chmod(sourceyBin, 0o755); + + await assert.rejects( + buildCatalog({ catalogDir, sourceyBin }), + /exit code 7/, + ); +}); diff --git a/docs/sourcey-catalog/catalog.json b/docs/sourcey-catalog/catalog.json new file mode 100644 index 000000000..517167b70 --- /dev/null +++ b/docs/sourcey-catalog/catalog.json @@ -0,0 +1,55 @@ +{ + "source_repository": "https://github.com/runxhq/runx", + "source_commit": "5afc25a83edf1c1320df7ac0d78c36f1523b5677", + "groups": [ + { + "name": "Operate", + "entries": [ + { "name": "agency", "slug": "agency", "group": "Operate", "path": "skills/agency/SKILL.md" }, + { "name": "business-ops", "slug": "business-ops", "group": "Operate", "path": "skills/business-ops/SKILL.md" }, + { "name": "operator-inbox", "slug": "operator-inbox", "group": "Operate", "path": "skills/operator-inbox/SKILL.md" }, + { "name": "ops-desk", "slug": "ops-desk", "group": "Operate", "path": "skills/ops-desk/SKILL.md" }, + { "name": "work-plan", "slug": "work-plan", "group": "Operate", "path": "skills/work-plan/SKILL.md" } + ] + }, + { + "name": "Research and data", + "entries": [ + { "name": "deep-research", "slug": "deep-research", "group": "Research and data", "path": "skills/deep-research/SKILL.md" }, + { "name": "research", "slug": "research", "group": "Research and data", "path": "skills/research/SKILL.md" }, + { "name": "data-store", "slug": "data-store", "group": "Research and data", "path": "skills/data-store/SKILL.md" }, + { "name": "knowledge-router", "slug": "knowledge-router", "group": "Research and data", "path": "skills/knowledge-router/SKILL.md" }, + { "name": "web-fetch", "slug": "web-fetch", "group": "Research and data", "path": "skills/web-fetch/SKILL.md" } + ] + }, + { + "name": "GitHub and delivery", + "entries": [ + { "name": "github-sync", "slug": "github-sync", "group": "GitHub and delivery", "path": "skills/github-sync/SKILL.md" }, + { "name": "issue-intake", "slug": "issue-intake", "group": "GitHub and delivery", "path": "skills/issue-intake/SKILL.md" }, + { "name": "issue-triage", "slug": "issue-triage", "group": "GitHub and delivery", "path": "skills/issue-triage/SKILL.md" }, + { "name": "issue-to-pr", "slug": "issue-to-pr", "group": "GitHub and delivery", "path": "skills/issue-to-pr/SKILL.md" }, + { "name": "release", "slug": "release", "group": "GitHub and delivery", "path": "skills/release/SKILL.md" } + ] + }, + { + "name": "Safety and review", + "entries": [ + { "name": "audit-receipt", "slug": "audit-receipt", "group": "Safety and review", "path": "skills/audit-receipt/SKILL.md" }, + { "name": "cve-audit", "slug": "cve-audit", "group": "Safety and review", "path": "skills/cve-audit/SKILL.md" }, + { "name": "least-privilege", "slug": "least-privilege", "group": "Safety and review", "path": "skills/least-privilege/SKILL.md" }, + { "name": "policy-author", "slug": "policy-author", "group": "Safety and review", "path": "skills/policy-author/SKILL.md" }, + { "name": "review-receipt", "slug": "review-receipt", "group": "Safety and review", "path": "skills/review-receipt/SKILL.md" }, + { "name": "sandbox-harden", "slug": "sandbox-harden", "group": "Safety and review", "path": "skills/sandbox-harden/SKILL.md" } + ] + }, + { + "name": "Outbound and tooling", + "entries": [ + { "name": "governed-outbound", "slug": "governed-outbound", "group": "Outbound and tooling", "path": "skills/governed-outbound/SKILL.md" }, + { "name": "run-history", "slug": "run-history", "group": "Outbound and tooling", "path": "skills/run-history/SKILL.md" }, + { "name": "sourcey", "slug": "sourcey", "group": "Outbound and tooling", "path": "skills/sourcey/SKILL.md" } + ] + } + ] +} diff --git a/docs/sourcey-catalog/extract.mjs b/docs/sourcey-catalog/extract.mjs new file mode 100644 index 000000000..4752dc518 --- /dev/null +++ b/docs/sourcey-catalog/extract.mjs @@ -0,0 +1,471 @@ +import { createHash, randomUUID } from "node:crypto"; +import { lstat, mkdir, readFile, readdir, rename, rm, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { setTimeout as delay } from "node:timers/promises"; +import { fileURLToPath } from "node:url"; +import { parseDocument } from "yaml"; + +const EXPECTED_PAGE_COUNT = 24; +const MAX_CONCURRENCY = 4; +const MAX_ATTEMPTS = 3; +const MAX_CONTENT_BYTES = 1024 * 1024; +const MAX_RATE_LIMIT_WAIT_MS = 30 * 1000; +const MAINTAINED_PAGE_FILES = new Set(["introduction.md"]); +const SOURCE_COMMIT = "5afc25a83edf1c1320df7ac0d78c36f1523b5677"; +const COMMIT_PATTERN = /^[0-9a-f]{40}$/; +const SHA_PATTERN = /^[0-9a-f]{40}$/; +const BASE64_PATTERN = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; +const SOURCE_REPOSITORY = "https://github.com/runxhq/runx"; +const CANONICAL_GROUPS = [ + { name: "Operate", names: ["agency", "business-ops", "operator-inbox", "ops-desk", "work-plan"] }, + { name: "Research and data", names: ["deep-research", "research", "data-store", "knowledge-router", "web-fetch"] }, + { name: "GitHub and delivery", names: ["github-sync", "issue-intake", "issue-triage", "issue-to-pr", "release"] }, + { name: "Safety and review", names: ["audit-receipt", "cve-audit", "least-privilege", "policy-author", "review-receipt", "sandbox-harden"] }, + { name: "Outbound and tooling", names: ["governed-outbound", "run-history", "sourcey"] } +]; + +export async function extractCatalog({ catalogPath, outputDir, fetchImpl = globalThis.fetch, concurrency = MAX_CONCURRENCY }) { + if (typeof fetchImpl !== "function") throw new TypeError("fetchImpl must be a function"); + + const catalog = JSON.parse(await readFile(catalogPath, "utf8")); + const { sourceRepository, sourceCommit, pages } = validateCatalog(catalog); + const authentication = githubAuthentication(); + const limit = normalizeConcurrency(concurrency); + const extractedPages = await mapWithConcurrency(pages, limit, async (page) => { + const sourceUrl = `${sourceRepository}/blob/${sourceCommit}/${page.path}`; + const contentUrl = toContentsUrl(sourceRepository, page.path, sourceCommit); + const source = await fetchContents(contentUrl, fetchImpl, authentication); + const content = decodeSource(source, page.path); + const blobSha = gitBlobSha(content); + + if (blobSha !== source.sha) { + throw new Error(`blob SHA mismatch for ${page.path}`); + } + + const body = renderPage({ ...page, sourceUrl, sourceCommit, sourceRepository, content }); + const outputPath = path.join(outputDir, `${page.slug}.md`); + return { + ...page, + source_url: sourceUrl, + output_path: outputPath, + blob_sha: blobSha, + content_digest: `sha256:${sha256(body)}`, + body + }; + }); + + await writePages(outputDir, extractedPages); + return { source_commit: sourceCommit, pages: extractedPages }; +} + +function validateCatalog(catalog) { + if (!catalog || typeof catalog !== "object") throw new TypeError("catalog must be an object"); + if (catalog.source_repository !== SOURCE_REPOSITORY) { + throw new Error(`source_repository must be ${SOURCE_REPOSITORY}`); + } + if (!COMMIT_PATTERN.test(catalog.source_commit ?? "") || catalog.source_commit !== SOURCE_COMMIT) { + throw new Error(`source_commit must equal the pinned source commit ${SOURCE_COMMIT}`); + } + if (!Array.isArray(catalog.groups)) throw new TypeError("groups must be an array"); + + const pages = []; + for (const group of catalog.groups) { + if (!group || typeof group !== "object" || typeof group.name !== "string" || !Array.isArray(group.entries)) { + throw new Error("groups must have a name and entries array"); + } + for (const entry of group.entries) { + if (!entry || typeof entry !== "object") throw new TypeError("catalog entry must be an object"); + if (!isSlug(entry.name) || !isSlug(entry.slug)) throw new Error("entry names and slugs must be lowercase kebab-case"); + if (entry.path !== `skills/${entry.name}/SKILL.md`) { + throw new Error(`invalid source path for ${entry.name}`); + } + pages.push({ name: entry.name, slug: entry.slug, group: entry.group, path: entry.path }); + } + } + + if (pages.length !== EXPECTED_PAGE_COUNT) { + throw new Error(`catalog must contain exactly ${EXPECTED_PAGE_COUNT} pages`); + } + ensureUnique(pages, "name"); + ensureUnique(pages, "slug"); + validateCanonicalGroups(catalog.groups); + return { sourceRepository: catalog.source_repository, sourceCommit: catalog.source_commit, pages }; +} + +function validateCanonicalGroups(groups) { + if (groups.length !== CANONICAL_GROUPS.length) { + throw new Error("catalog must use the exact canonical groups and memberships"); + } + + for (const [groupIndex, expectedGroup] of CANONICAL_GROUPS.entries()) { + const group = groups[groupIndex]; + if (group.name !== expectedGroup.name || group.entries.length !== expectedGroup.names.length) { + throw new Error("catalog must use the exact canonical groups and memberships"); + } + for (const [entryIndex, expectedName] of expectedGroup.names.entries()) { + const entry = group.entries[entryIndex]; + if (entry.name !== expectedName) { + throw new Error(`catalog entry must use canonical name ${expectedName}`); + } + if (entry.group !== expectedGroup.name) { + throw new Error("catalog must use the exact canonical groups and memberships"); + } + if (entry.slug !== entry.name) throw new Error(`slug must equal name for ${entry.name}`); + } + } +} + +function ensureUnique(pages, key) { + const values = new Set(); + for (const page of pages) { + if (values.has(page[key])) throw new Error(`duplicate ${key}: ${page[key]}`); + values.add(page[key]); + } +} + +function isSlug(value) { + return typeof value === "string" && /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(value); +} + +function normalizeConcurrency(concurrency) { + if (!Number.isInteger(concurrency) || concurrency < 1) { + throw new RangeError("concurrency must be a positive integer"); + } + return Math.min(concurrency, MAX_CONCURRENCY); +} + +async function mapWithConcurrency(values, concurrency, mapper) { + const results = new Array(values.length); + let nextIndex = 0; + const worker = async () => { + while (nextIndex < values.length) { + const index = nextIndex; + nextIndex += 1; + results[index] = await mapper(values[index]); + } + }; + + await Promise.all(Array.from({ length: Math.min(concurrency, values.length) }, worker)); + return results; +} + +function toContentsUrl(sourceRepository, sourcePath, sourceCommit) { + const repositoryPath = new URL(sourceRepository).pathname.slice(1); + const encodedPath = sourcePath.split("/").map(encodeURIComponent).join("/"); + return `https://api.github.com/repos/${repositoryPath}/contents/${encodedPath}?ref=${sourceCommit}`; +} + +async function fetchContents(url, fetchImpl, authentication) { + let lastError; + for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt += 1) { + let response; + try { + response = await fetchImpl(url, { + headers: { + Accept: "application/vnd.github+json", + ...(authentication.token ? { Authorization: `Bearer ${authentication.token}` } : {}) + } + }); + } catch (error) { + lastError = new Error(redactError(error, authentication.secrets)); + continue; + } + + if (response.ok) { + try { + return await response.json(); + } catch (error) { + throw new Error(redactError(error, authentication.secrets)); + } + } + if (isRateLimited(response)) { + const resetSeconds = Number.parseInt(response.headers.get("x-ratelimit-reset") ?? "", 10); + const waitMs = Number.isSafeInteger(resetSeconds) ? Math.max(0, resetSeconds * 1000 - Date.now()) : Infinity; + const message = rateLimitMessage(resetSeconds, waitMs); + if (waitMs > MAX_RATE_LIMIT_WAIT_MS) throw new Error(message); + lastError = new Error(message); + if (attempt < MAX_ATTEMPTS) await delay(waitMs); + continue; + } + const secondaryLimit = await secondaryRateLimit(response, authentication.secrets); + if (secondaryLimit) { + const message = secondaryRateLimitMessage(secondaryLimit.waitMs); + if (secondaryLimit.waitMs > MAX_RATE_LIMIT_WAIT_MS) throw new Error(message); + lastError = new Error(message); + if (attempt < MAX_ATTEMPTS) await delay(secondaryLimit.waitMs); + continue; + } + if (!isTransientStatus(response.status)) { + throw new Error(`GitHub Contents API returned status ${response.status}`); + } + lastError = new Error(`GitHub Contents API returned transient status ${response.status}`); + } + throw new Error(`GitHub Contents API failed after ${MAX_ATTEMPTS} attempts: ${lastError.message}`); +} + +function githubAuthentication() { + const secrets = [process.env.GITHUB_TOKEN, process.env.GH_TOKEN].filter(Boolean); + return { token: process.env.GITHUB_TOKEN || process.env.GH_TOKEN, secrets }; +} + +function redactError(error, secrets) { + let message = error instanceof Error ? error.message : String(error); + for (const secret of secrets) message = message.replaceAll(secret, "[REDACTED]"); + return message; +} + +function isRateLimited(response) { + return response.status === 403 && response.headers?.get?.("x-ratelimit-remaining") === "0"; +} + +function rateLimitMessage(resetSeconds, waitMs) { + const reset = Number.isSafeInteger(resetSeconds) + ? new Date(resetSeconds * 1000).toISOString() + : "an unavailable reset time"; + const waitGuidance = waitMs > MAX_RATE_LIMIT_WAIT_MS + ? "The extractor cannot wait more than 30 seconds. " + : ""; + return `GitHub API rate limit exhausted; reset at ${reset}. ${waitGuidance}Rerun after reset or set GITHUB_TOKEN or GH_TOKEN.`; +} + +async function secondaryRateLimit(response, secrets) { + if (response.status !== 403) return undefined; + const retryAfter = response.headers?.get?.("retry-after"); + const waitMs = parseRetryAfter(retryAfter); + let responseMessage = ""; + if (typeof response.json === "function") { + try { + const body = await response.json(); + responseMessage = redactError(body?.message ?? "", secrets); + } catch { + responseMessage = ""; + } + } + if (waitMs === undefined && !/secondary rate limit|abuse detection/i.test(responseMessage)) return undefined; + return { waitMs: waitMs ?? Infinity }; +} + +function parseRetryAfter(value) { + if (value === null || value === undefined || value === "") return undefined; + const seconds = Number(value); + if (Number.isFinite(seconds) && seconds >= 0) return seconds * 1000; + const timestamp = Date.parse(value); + return Number.isFinite(timestamp) ? Math.max(0, timestamp - Date.now()) : undefined; +} + +function secondaryRateLimitMessage(waitMs) { + const retryGuidance = Number.isFinite(waitMs) + ? `retry after ${Math.ceil(waitMs / 1000)} seconds. ` + : "retry later; wait time is unavailable. "; + const waitGuidance = waitMs > MAX_RATE_LIMIT_WAIT_MS + ? "The extractor cannot wait more than 30 seconds. " + : ""; + return `GitHub API secondary rate limit triggered; ${retryGuidance}${waitGuidance}Rerun after waiting or set GITHUB_TOKEN or GH_TOKEN.`; +} + +function isTransientStatus(status) { + return status === 408 || status === 425 || status === 429 || status >= 500; +} + +function decodeSource(source, sourcePath) { + if (!source || source.type !== "file") throw new Error(`Contents API did not return a file for ${sourcePath}`); + if (source.encoding !== "base64" || typeof source.content !== "string") { + throw new Error(`Contents API did not return base64 content for ${sourcePath}`); + } + if (!SHA_PATTERN.test(source.sha ?? "")) throw new Error(`invalid blob SHA for ${sourcePath}`); + + const compactBase64 = source.content.replace(/\r?\n/g, ""); + if (!BASE64_PATTERN.test(compactBase64)) throw new Error(`invalid base64 content for ${sourcePath}`); + + const content = Buffer.from(compactBase64, "base64"); + if (content.toString("base64") !== compactBase64) { + throw new Error(`source is not canonical base64 for ${sourcePath}`); + } + if (content.length > MAX_CONTENT_BYTES) throw new Error(`source exceeds 1 MiB for ${sourcePath}`); + if (!Buffer.from(content.toString("utf8"), "utf8").equals(content)) { + throw new Error(`source is not valid UTF-8 for ${sourcePath}`); + } + return content; +} + +function gitBlobSha(content) { + return createHash("sha1").update(`blob ${content.length}\0`).update(content).digest("hex"); +} + +function renderPage({ name, group, path: sourcePath, sourceUrl, sourceCommit, sourceRepository, content }) { + const authoredContent = rewriteSourceRelativeLinks( + stripYamlFrontmatter(content.toString("utf8"), name).replace(/\r\n?/g, "\n"), + sourcePath, + sourceRepository, + sourceCommit, + ); + const header = [ + `# ${name}`, + "", + `- Group: ${group}`, + `- Source: [${sourcePath}](${sourceUrl})`, + `- Commit: \`${sourceCommit}\``, + `- Path: \`${sourcePath}\``, + "" + ].join("\n"); + return `${header}${authoredContent}`.replace(/\n*$/, "\n"); +} + +function rewriteSourceRelativeLinks(markdown, sourcePath, sourceRepository, sourceCommit) { + const lines = markdown.split("\n"); + let fence; + return lines.map((line) => { + const fenceMatch = line.match(/^ {0,3}(`{3,}|~{3,})(.*)$/); + if (fence) { + if (fenceMatch + && fenceMatch[1][0] === fence.marker + && fenceMatch[1].length >= fence.length + && fenceMatch[2].trim() === "") { + fence = undefined; + } + return line; + } + if (fenceMatch && (fenceMatch[1][0] === "~" || !fenceMatch[2].includes("`"))) { + fence = { marker: fenceMatch[1][0], length: fenceMatch[1].length }; + return line; + } + return rewriteMarkdownLine(line, sourcePath, sourceRepository, sourceCommit); + }).join("\n"); +} + +function rewriteMarkdownLine(line, sourcePath, sourceRepository, sourceCommit) { + let output = ""; + let cursor = 0; + while (cursor < line.length) { + const opening = line.indexOf("](", cursor); + if (opening === -1) return output + line.slice(cursor); + output += line.slice(cursor, opening + 2); + const destination = readMarkdownDestination(line, opening + 2); + if (!destination) { + output += line.slice(opening + 2); + return output; + } + const rewritten = pinnedRelativeUrl( + destination.value, + sourcePath, + sourceRepository, + sourceCommit, + ); + output += destination.angle ? `<${rewritten}>` : rewritten; + cursor = destination.end; + } + return output; +} + +function readMarkdownDestination(line, start) { + const angle = line[start] === "<"; + let cursor = angle ? start + 1 : start; + const valueStart = cursor; + let nested = 0; + let escaped = false; + while (cursor < line.length) { + const character = line[cursor]; + if (escaped) { + escaped = false; + } else if (character === "\\") { + escaped = true; + } else if (angle && character === ">") { + return { value: line.slice(valueStart, cursor), end: cursor + 1, angle: true }; + } else if (!angle && character === "(") { + nested += 1; + } else if (!angle && character === ")") { + if (nested === 0) return { value: line.slice(valueStart, cursor), end: cursor, angle: false }; + nested -= 1; + } else if (!angle && /\s/.test(character) && nested === 0) { + return { value: line.slice(valueStart, cursor), end: cursor, angle: false }; + } + cursor += 1; + } + return undefined; +} + +function pinnedRelativeUrl(target, sourcePath, sourceRepository, sourceCommit) { + if (!target.startsWith("./") && !target.startsWith("../")) return target; + const suffixIndex = [...[target.indexOf("?"), target.indexOf("#")] + .filter((index) => index >= 0)].sort((left, right) => left - right)[0] ?? target.length; + const relativePath = target.slice(0, suffixIndex); + const suffix = target.slice(suffixIndex); + const resolved = path.posix.normalize(path.posix.join(path.posix.dirname(sourcePath), relativePath)); + if (resolved === ".." || resolved.startsWith("../") || path.posix.isAbsolute(resolved)) { + throw new Error(`relative Markdown link escapes the source repository: ${target}`); + } + const encoded = resolved.split("/").map(encodeURIComponent).join("/"); + return `${sourceRepository}/blob/${sourceCommit}/${encoded}${suffix}`; +} + +function stripYamlFrontmatter(content, expectedName) { + const lines = content.split(/\r?\n/); + if (lines[0] !== "---") return content; + + if (!/^name\s*:/.test(lines[1] ?? "")) return content; + + const closingIndex = lines.findIndex((line, index) => index > 0 && line === "---"); + if (closingIndex === -1) { + throw new Error(`malformed YAML frontmatter for ${expectedName}: missing closing delimiter`); + } + validateYamlFrontmatter(lines.slice(1, closingIndex).join("\n"), expectedName); + return lines.slice(closingIndex + 1).join("\n"); +} + +function validateYamlFrontmatter(frontmatter, expectedName) { + const document = parseDocument(frontmatter, { prettyErrors: false, uniqueKeys: true }); + if (document.errors.length > 0) { + throw new Error(`malformed YAML frontmatter for ${expectedName}: invalid YAML`); + } + let parsed; + try { + parsed = document.toJS(); + } catch { + throw new Error(`malformed YAML frontmatter for ${expectedName}: invalid YAML`); + } + if (!parsed || typeof parsed !== "object" || Array.isArray(parsed) || parsed.name !== expectedName) { + throw new Error(`malformed YAML frontmatter for ${expectedName}: expected matching name mapping`); + } +} + +function sha256(content) { + return createHash("sha256").update(content, "utf8").digest("hex"); +} + +async function writePages(outputDir, pages) { + await mkdir(outputDir, { recursive: true }); + const outputStats = await lstat(outputDir); + if (outputStats.isSymbolicLink()) throw new Error("output directory must not be a symbolic link"); + if (!outputStats.isDirectory()) throw new Error("output directory must be a directory"); + const expectedFiles = new Set([ + ...MAINTAINED_PAGE_FILES, + ...pages.map((page) => `${page.slug}.md`), + ]); + const existingEntries = await readdir(outputDir, { withFileTypes: true }); + await Promise.all(existingEntries + .filter((entry) => (entry.isFile() || entry.isSymbolicLink()) + && entry.name.endsWith(".md") + && !expectedFiles.has(entry.name)) + .map((entry) => rm(path.join(outputDir, entry.name)))); + for (const page of pages) await writePageAtomically(outputDir, page); +} + +async function writePageAtomically(outputDir, page) { + const temporaryPath = path.join(outputDir, `.${path.basename(page.output_path)}.${randomUUID()}.tmp`); + try { + await writeFile(temporaryPath, page.body, { encoding: "utf8", flag: "wx" }); + await rename(temporaryPath, page.output_path); + } finally { + await rm(temporaryPath, { force: true }); + } +} + +const modulePath = fileURLToPath(import.meta.url); +if (process.argv[1] && path.resolve(process.argv[1]) === modulePath) { + const directory = path.dirname(modulePath); + const result = await extractCatalog({ + catalogPath: path.join(directory, "catalog.json"), + outputDir: path.join(directory, "pages") + }); + process.stdout.write(`extracted ${result.pages.length} pages from ${result.source_commit}\n`); +} diff --git a/docs/sourcey-catalog/extract.test.mjs b/docs/sourcey-catalog/extract.test.mjs new file mode 100644 index 000000000..6eff17f49 --- /dev/null +++ b/docs/sourcey-catalog/extract.test.mjs @@ -0,0 +1,584 @@ +import assert from "node:assert/strict"; +import { createHash } from "node:crypto"; +import { lstat, mkdir, mkdtemp, readFile, readdir, rm, symlink, writeFile } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; +import test from "node:test"; + +import { extractCatalog } from "./extract.mjs"; + +const sourceCommit = "5afc25a83edf1c1320df7ac0d78c36f1523b5677"; +const names = [ + "agency", "business-ops", "operator-inbox", "ops-desk", "work-plan", + "deep-research", "research", "data-store", "knowledge-router", "web-fetch", + "github-sync", "issue-intake", "issue-triage", "issue-to-pr", "release", + "audit-receipt", "cve-audit", "least-privilege", "policy-author", + "review-receipt", "sandbox-harden", "governed-outbound", "run-history", "sourcey" +]; +const groupDefinitions = [ + { name: "Operate", names: names.slice(0, 5) }, + { name: "Research and data", names: names.slice(5, 10) }, + { name: "GitHub and delivery", names: names.slice(10, 15) }, + { name: "Safety and review", names: names.slice(15, 21) }, + { name: "Outbound and tooling", names: names.slice(21) } +]; + +function blobSha(content) { + const bytes = Buffer.isBuffer(content) ? content : Buffer.from(content, "utf8"); + return createHash("sha1").update(`blob ${bytes.length}\0`).update(bytes).digest("hex"); +} + +function catalog(entries = createEntries()) { + let offset = 0; + return { + source_repository: "https://github.com/runxhq/runx", + source_commit: sourceCommit, + groups: groupDefinitions.map((group) => { + const groupEntries = entries.slice(offset, offset + group.names.length); + offset += group.names.length; + return { name: group.name, entries: groupEntries }; + }) + }; +} + +function createEntries() { + return groupDefinitions.flatMap((group) => group.names.map((name) => ({ + name, + slug: name, + group: group.name, + path: `skills/${name}/SKILL.md` + }))); +} + +function sourceResponse(content) { + const bytes = Buffer.isBuffer(content) ? content : Buffer.from(content, "utf8"); + return { + ok: true, + status: 200, + async json() { + return { + type: "file", + encoding: "base64", + content: bytes.toString("base64"), + sha: blobSha(bytes) + }; + } + }; +} + +function fixtureFetch(contentByPath) { + return async (url) => { + const parsed = new URL(url); + assert.equal(parsed.origin, "https://api.github.com"); + assert.equal(parsed.searchParams.get("ref"), sourceCommit); + const sourcePath = decodeURIComponent(parsed.pathname.replace("/repos/runxhq/runx/contents/", "")); + return sourceResponse(contentByPath.get(sourcePath)); + }; +} + +async function withTokenEnvironment({ githubToken, ghToken }, callback) { + const previousGithubToken = process.env.GITHUB_TOKEN; + const previousGhToken = process.env.GH_TOKEN; + try { + if (githubToken === undefined) delete process.env.GITHUB_TOKEN; + else process.env.GITHUB_TOKEN = githubToken; + if (ghToken === undefined) delete process.env.GH_TOKEN; + else process.env.GH_TOKEN = ghToken; + return await callback(); + } finally { + if (previousGithubToken === undefined) delete process.env.GITHUB_TOKEN; + else process.env.GITHUB_TOKEN = previousGithubToken; + if (previousGhToken === undefined) delete process.env.GH_TOKEN; + else process.env.GH_TOKEN = previousGhToken; + } +} + +async function captureRejection(callback) { + let rejection; + try { + await callback(); + } catch (error) { + rejection = error; + } + assert.ok(rejection instanceof Error); + return rejection; +} + +async function createFixture(overrides = {}) { + const directory = await mkdtemp(path.join(tmpdir(), "sourcey-catalog-")); + const document = overrides.catalog ?? catalog(); + const catalogPath = path.join(directory, "catalog.json"); + const outputDir = path.join(directory, "pages"); + const contents = new Map( + createEntries().map(({ name, path: sourcePath }, index) => [ + sourcePath, + index === 0 + ? (overrides.firstContent ?? `---\nname: ${name}\n---\n# Authored heading\n\npinned content\n`) + : `---\nname: ${name}\n---\n# ${sourcePath}\n` + ]) + ); + + await writeFile(catalogPath, `${JSON.stringify(document, null, 2)}\n`, "utf8"); + return { + catalogPath, + outputDir, + fetchImpl: overrides.fetchImpl ?? fixtureFetch(contents), + concurrency: overrides.concurrency ?? 4, + cleanup: () => rm(directory, { recursive: true, force: true }) + }; +} + +test("reads every page from the pinned GitHub URL and verifies its blob SHA", async (t) => { + const fixture = await createFixture(); + t.after(fixture.cleanup); + + const result = await extractCatalog(fixture); + + assert.equal(result.pages.length, 24); + assert.equal(result.pages[0].body.includes("pinned content"), true); + assert.equal(result.pages[0].body.includes("working tree mutation"), false); + assert.match(result.pages[0].blob_sha, /^[0-9a-f]{40}$/); + assert.equal((await readFile(result.pages[0].output_path, "utf8")).includes("# Authored heading"), true); +}); + +test("refuses duplicate slugs and fewer than 24 pages", async (t) => { + const duplicateEntries = createEntries(); + duplicateEntries[1] = { ...duplicateEntries[1], slug: duplicateEntries[0].slug }; + const duplicateFixture = await createFixture({ catalog: catalog(duplicateEntries) }); + const shortFixture = await createFixture({ catalog: catalog(createEntries().slice(0, -1)) }); + t.after(duplicateFixture.cleanup); + t.after(shortFixture.cleanup); + + await assert.rejects(extractCatalog(duplicateFixture), /duplicate slug/); + await assert.rejects(extractCatalog(shortFixture), /exactly 24/); +}); + +test("refuses a source commit other than the catalog snapshot", async (t) => { + const wrongCatalog = catalog(); + wrongCatalog.source_commit = "a".repeat(40); + const fixture = await createFixture({ catalog: wrongCatalog }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /pinned source commit/); +}); + +test("writes immutable source links and deterministic content", async (t) => { + const fixture = await createFixture(); + t.after(fixture.cleanup); + + const first = await extractCatalog(fixture); + const second = await extractCatalog(fixture); + + assert.equal(first.pages[0].content_digest, second.pages[0].content_digest); + assert.match(first.pages[0].source_url, /github\.com\/runxhq\/runx\/blob\/[0-9a-f]{40}\//); + assert.match(first.pages[0].content_digest, /^sha256:[0-9a-f]{64}$/); +}); + +test("preserves the maintained introduction while removing stale generated pages", async (t) => { + const fixture = await createFixture(); + t.after(fixture.cleanup); + await mkdir(fixture.outputDir, { recursive: true }); + await writeFile(path.join(fixture.outputDir, "introduction.md"), "# Introduction\n", "utf8"); + await writeFile(path.join(fixture.outputDir, "obsolete.md"), "obsolete\n", "utf8"); + + await extractCatalog(fixture); + + assert.equal(await readFile(path.join(fixture.outputDir, "introduction.md"), "utf8"), "# Introduction\n"); + await assert.rejects(readFile(path.join(fixture.outputDir, "obsolete.md"), "utf8"), /ENOENT/); +}); + +test("rewrites source-relative Markdown links to the pinned upstream commit", async (t) => { + const [firstEntry, secondEntry] = createEntries(); + const fixture = await createFixture({ + firstContent: [ + "---", + `name: ${firstEntry.name}`, + "---", + "[schema](../../schemas/example.json)", + `[sibling](../${secondEntry.name}/SKILL.md#inputs)`, + "![diagram](./diagram.png)", + "[anchor](#local)", + "[external](https://example.com/docs)", + "```md", + "[literal](../not-a-link.md)", + "```", + "````md", + "```md", + "[four-fence-literal](../also-not-a-link.md)", + "```", + "````", + "", + ].join("\n"), + }); + t.after(fixture.cleanup); + + const [page] = (await extractCatalog(fixture)).pages; + const base = `https://github.com/runxhq/runx/blob/${catalog().source_commit}`; + assert.match(page.body, new RegExp(`${base}/schemas/example\\.json`)); + assert.match(page.body, new RegExp(`${base}/skills/${secondEntry.name}/SKILL\\.md#inputs`)); + assert.match(page.body, new RegExp(`${base}/skills/${firstEntry.name}/diagram\\.png`)); + assert.match(page.body, /\[anchor\]\(#local\)/); + assert.match(page.body, /\[external\]\(https:\/\/example\.com\/docs\)/); + assert.match(page.body, /\[literal\]\(\.\.\/not-a-link\.md\)/); + assert.match(page.body, /\[four-fence-literal\]\(\.\.\/also-not-a-link\.md\)/); +}); + +test("retries transient failures without exceeding the configured concurrency cap", async (t) => { + let calls = 0; + let active = 0; + let maximumActive = 0; + const baseFixture = await createFixture(); + t.after(baseFixture.cleanup); + const retryFixture = { + ...baseFixture, + concurrency: 99, + fetchImpl: async (url) => { + calls += 1; + active += 1; + maximumActive = Math.max(maximumActive, active); + try { + if (calls === 1) return { ok: false, status: 503, async json() { return {}; } }; + await new Promise((resolve) => setTimeout(resolve, 2)); + return baseFixture.fetchImpl(url); + } finally { + active -= 1; + } + } + }; + + const result = await extractCatalog(retryFixture); + + assert.equal(result.pages.length, 24); + assert.equal(calls, 25); + assert.equal(maximumActive <= 4, true); +}); + +test("stops after three transient status attempts", async (t) => { + let calls = 0; + const fixture = await createFixture({ + concurrency: 1, + fetchImpl: async () => { + calls += 1; + return { ok: false, status: 503, headers: new Headers() }; + } + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /failed after 3 attempts/); + assert.equal(calls, 3); +}); + +test("uses environment tokens only in a redacted authorization header", async (t) => { + const githubToken = "fixture-github-token"; + const ghToken = "fixture-gh-token"; + const fixture = await createFixture(); + t.after(fixture.cleanup); + const headerChecks = []; + const urls = []; + const fetchImpl = async (url, options) => { + urls.push(url); + headerChecks.push(options.headers.Authorization === `Bearer ${githubToken}`); + return fixture.fetchImpl(url, options); + }; + + await withTokenEnvironment({ githubToken, ghToken }, () => extractCatalog({ ...fixture, fetchImpl })); + + assert.equal(headerChecks.length, 24); + assert.equal(headerChecks.every(Boolean), true); + assert.equal(urls.every((url) => !url.includes(githubToken) && !url.includes(ghToken)), true); + + const fallbackChecks = []; + await withTokenEnvironment({ githubToken: undefined, ghToken }, () => extractCatalog({ + ...fixture, + fetchImpl: async (url, options) => { + fallbackChecks.push(options.headers.Authorization === `Bearer ${ghToken}`); + return fixture.fetchImpl(url, options); + } + })); + assert.equal(fallbackChecks.every(Boolean), true); + + const transportFailure = await createFixture({ + fetchImpl: async () => { + throw new TypeError(`transport failed ${githubToken}`); + } + }); + t.after(transportFailure.cleanup); + const error = await withTokenEnvironment( + { githubToken, ghToken: undefined }, + () => captureRejection(() => extractCatalog(transportFailure)) + ); + assert.equal(error.message.includes(githubToken), false); + assert.match(error.message, /REDACTED/); +}); + +test("identifies rate-limited 403 responses and gives actionable reset guidance", async (t) => { + let calls = 0; + const reset = Math.ceil(Date.now() / 1000) + 3600; + const fixture = await createFixture({ + concurrency: 1, + fetchImpl: async () => { + calls += 1; + return { + ok: false, + status: 403, + headers: new Headers({ + "x-ratelimit-remaining": "0", + "x-ratelimit-reset": String(reset) + }) + }; + } + }); + t.after(fixture.cleanup); + + await assert.rejects( + extractCatalog(fixture), + (error) => /rate limit/i.test(error.message) + && error.message.includes(new Date(reset * 1000).toISOString()) + && /cannot wait more than 30 seconds/i.test(error.message) + && error.message.includes("GITHUB_TOKEN") + && error.message.includes("GH_TOKEN") + ); + assert.equal(calls <= 3, true); +}); + +test("identifies a secondary rate-limit 403 from Retry-After", async (t) => { + const fixture = await createFixture({ + fetchImpl: async () => ({ + ok: false, + status: 403, + headers: new Headers({ "retry-after": "120" }), + async json() { + return { message: "request throttled" }; + } + }) + }); + t.after(fixture.cleanup); + + await assert.rejects( + extractCatalog(fixture), + (error) => /secondary rate limit/i.test(error.message) + && /120 seconds/i.test(error.message) + && /cannot wait more than 30 seconds/i.test(error.message) + && error.message.includes("GITHUB_TOKEN") + && error.message.includes("GH_TOKEN") + ); +}); + +test("identifies a secondary rate-limit 403 from its response message", async (t) => { + const fixture = await createFixture({ + fetchImpl: async () => ({ + ok: false, + status: 403, + headers: new Headers(), + async json() { + return { message: "You have exceeded a secondary rate limit. Please wait a few minutes before retrying." }; + } + }) + }); + t.after(fixture.cleanup); + + await assert.rejects( + extractCatalog(fixture), + (error) => /secondary rate limit/i.test(error.message) + && /retry later/i.test(error.message) + && error.message.includes("GITHUB_TOKEN") + && error.message.includes("GH_TOKEN") + ); +}); + +test("rejects non-canonical base64 that decodes to valid bytes", async (t) => { + const fixture = await createFixture({ + fetchImpl: async () => ({ + ok: true, + status: 200, + async json() { + return { + type: "file", + encoding: "base64", + content: "Zh==", + sha: blobSha("f") + }; + } + }) + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /canonical base64/); +}); + +test("rejects valid base64 when the returned blob SHA does not match", async (t) => { + const fixture = await createFixture({ + fetchImpl: async () => ({ + ok: true, + status: 200, + async json() { + return { + type: "file", + encoding: "base64", + content: Buffer.from("valid content", "utf8").toString("base64"), + sha: "0".repeat(40) + }; + } + }) + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /blob SHA mismatch/); +}); + +test("accepts exactly 1 MiB and rejects 1 MiB plus one byte", async (t) => { + const exactContent = Buffer.alloc(1024 * 1024, 0x61); + const exactFixture = await createFixture({ + fetchImpl: async (url) => sourceResponse(url.includes("/skills/agency/") ? exactContent : "small\n") + }); + t.after(exactFixture.cleanup); + const exactResult = await extractCatalog(exactFixture); + assert.equal(exactResult.pages.length, 24); + + const oversizedFixture = await createFixture({ + fetchImpl: async () => sourceResponse(Buffer.alloc(1024 * 1024 + 1, 0x61)) + }); + t.after(oversizedFixture.cleanup); + await assert.rejects(extractCatalog(oversizedFixture), /exceeds 1 MiB/); +}); + +test("atomically replaces an expected page symlink without writing its target", async (t) => { + const fixture = await createFixture(); + t.after(fixture.cleanup); + const externalPath = path.join(path.dirname(fixture.outputDir), "external-expected.md"); + const expectedPath = path.join(fixture.outputDir, "agency.md"); + await mkdir(fixture.outputDir, { recursive: true }); + await writeFile(externalPath, "outside expected\n", "utf8"); + await symlink(externalPath, expectedPath); + + await extractCatalog(fixture); + + assert.equal(await readFile(externalPath, "utf8"), "outside expected\n"); + assert.equal((await lstat(expectedPath)).isSymbolicLink(), false); + assert.match(await readFile(expectedPath, "utf8"), /pinned content/); +}); + +test("removes a stale page symlink without removing or changing its target", async (t) => { + const fixture = await createFixture(); + t.after(fixture.cleanup); + const externalPath = path.join(path.dirname(fixture.outputDir), "external-stale.md"); + const stalePath = path.join(fixture.outputDir, "obsolete.md"); + await mkdir(fixture.outputDir, { recursive: true }); + await writeFile(externalPath, "outside stale\n", "utf8"); + await symlink(externalPath, stalePath); + + await extractCatalog(fixture); + + assert.equal(await readFile(externalPath, "utf8"), "outside stale\n"); + await assert.rejects(lstat(stalePath), /ENOENT/); +}); + +test("rejects a symlink output directory without touching its target", async (t) => { + const fixture = await createFixture(); + t.after(fixture.cleanup); + const targetDir = path.join(path.dirname(fixture.outputDir), "outside-pages"); + const staleTarget = path.join(targetDir, "obsolete.md"); + await mkdir(targetDir, { recursive: true }); + await writeFile(staleTarget, "outside directory\n", "utf8"); + await symlink(targetDir, fixture.outputDir); + + await assert.rejects(extractCatalog(fixture), /output directory.*symbolic link/i); + + assert.deepEqual(await readdir(targetDir), ["obsolete.md"]); + assert.equal(await readFile(staleTarget, "utf8"), "outside directory\n"); +}); + +test("preserves leading thematic-break Markdown that is not source frontmatter", async (t) => { + const thematicBreak = "---\n\nAuthored prose between thematic breaks.\n\n---\n\n# Authored heading\n"; + const fixture = await createFixture({ fetchImpl: async () => sourceResponse(thematicBreak) }); + t.after(fixture.cleanup); + + const result = await extractCatalog(fixture); + + assert.equal(result.pages[0].body.includes(thematicBreak), true); +}); + +test("rejects malformed source frontmatter instead of deleting authored text", async (t) => { + const malformed = "---\nname: agency\nthis is not a mapping\n---\n# Authored heading\n"; + const fixture = await createFixture({ fetchImpl: async () => sourceResponse(malformed) }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /malformed YAML frontmatter/); +}); + +test("rejects frontmatter with real YAML syntax errors", async (t) => { + const fixture = await createFixture({ + fetchImpl: async (url) => { + const skillName = /\/skills\/([^/]+)\/SKILL\.md/.exec(new URL(url).pathname)[1]; + return sourceResponse(`---\nname: ${skillName}\ndescription: \"unterminated\n---\n# Authored heading\n`); + } + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /malformed YAML frontmatter/); +}); + +test("rejects a non-canonical name even when count and shape are valid", async (t) => { + const entries = createEntries(); + entries[0] = { + name: "agency-copy", + slug: "agency-copy", + group: "Operate", + path: "skills/agency-copy/SKILL.md" + }; + const fixture = await createFixture({ + catalog: catalog(entries), + fetchImpl: async () => sourceResponse("# source\n") + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /canonical name/); +}); + +test("requires every slug to equal its canonical name", async (t) => { + const entries = createEntries(); + entries[0] = { ...entries[0], slug: "agency-copy" }; + const fixture = await createFixture({ + catalog: catalog(entries), + fetchImpl: async () => sourceResponse("# source\n") + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /slug must equal name/); +}); + +test("requires the exact canonical groups and memberships", async (t) => { + const entries = createEntries().map((entry) => ({ ...entry, group: "Operate" })); + const fixture = await createFixture({ + catalog: { + source_repository: "https://github.com/runxhq/runx", + source_commit: sourceCommit, + groups: [{ name: "Operate", entries }] + }, + fetchImpl: async () => sourceResponse("# source\n") + }); + t.after(fixture.cleanup); + + await assert.rejects(extractCatalog(fixture), /canonical groups/); +}); + +test("rejects malformed content, blob mismatches, and stale generated pages", async (t) => { + const malformedFixture = await createFixture({ + fetchImpl: async () => ({ + ok: true, + status: 200, + async json() { + return { type: "file", encoding: "base64", content: "not valid!", sha: "0".repeat(40) }; + } + }) + }); + t.after(malformedFixture.cleanup); + await assert.rejects(extractCatalog(malformedFixture), /base64/); + + const staleFixture = await createFixture(); + t.after(staleFixture.cleanup); + await mkdir(staleFixture.outputDir, { recursive: true }); + await writeFile(path.join(staleFixture.outputDir, "obsolete.md"), "obsolete\n", "utf8"); + await extractCatalog(staleFixture); + await assert.rejects(readFile(path.join(staleFixture.outputDir, "obsolete.md"), "utf8"), /ENOENT/); +}); diff --git a/docs/sourcey-catalog/gaps.md b/docs/sourcey-catalog/gaps.md new file mode 100644 index 000000000..8398be265 --- /dev/null +++ b/docs/sourcey-catalog/gaps.md @@ -0,0 +1,21 @@ +# Sourcey Catalog Documentation Gaps + +Measured from 24 generated skill pages at commit `5afc25a83edf1c1320df7ac0d78c36f1523b5677`. + +## Selected skills lack a worked example section + +- Affected source paths: `skills/work-plan/SKILL.md`, `skills/deep-research/SKILL.md`, `skills/research/SKILL.md`, `skills/knowledge-router/SKILL.md`, `skills/issue-intake/SKILL.md`, `skills/issue-triage/SKILL.md`, `skills/issue-to-pr/SKILL.md`, `skills/release/SKILL.md`, `skills/review-receipt/SKILL.md`, `skills/governed-outbound/SKILL.md` +- Measured fact: 10 of 24 selected skills do not contain the measured heading. +- Why it matters: Operators cannot validate the expected input-to-output flow from the reference page alone. + +## Selected skills lack a dedicated edge-case or stop-condition section + +- Affected source paths: `skills/work-plan/SKILL.md`, `skills/deep-research/SKILL.md`, `skills/research/SKILL.md`, `skills/knowledge-router/SKILL.md`, `skills/issue-intake/SKILL.md`, `skills/issue-triage/SKILL.md`, `skills/issue-to-pr/SKILL.md`, `skills/release/SKILL.md`, `skills/review-receipt/SKILL.md`, `skills/run-history/SKILL.md` +- Measured fact: 10 of 24 selected skills do not contain the measured heading. +- Why it matters: Operators have no single place to check refusal, escalation, and terminal behavior. + +## Selected skills lack a dedicated when-not-to-use section + +- Affected source paths: `skills/work-plan/SKILL.md`, `skills/deep-research/SKILL.md`, `skills/research/SKILL.md`, `skills/knowledge-router/SKILL.md`, `skills/issue-intake/SKILL.md`, `skills/issue-triage/SKILL.md`, `skills/issue-to-pr/SKILL.md`, `skills/release/SKILL.md`, `skills/review-receipt/SKILL.md` +- Measured fact: 9 of 24 selected skills do not contain the measured heading. +- Why it matters: Operators must infer when a different skill or workflow is the safer choice. diff --git a/docs/sourcey-catalog/pages/agency.md b/docs/sourcey-catalog/pages/agency.md new file mode 100644 index 000000000..3fe1c02f0 --- /dev/null +++ b/docs/sourcey-catalog/pages/agency.md @@ -0,0 +1,136 @@ +# agency + +- Group: Operate +- Source: [skills/agency/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/agency/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/agency/SKILL.md` + +# Agency + +Run a standing, accountable team toward a mandate, one governed turn at a time. + +An agency is the only runx skill that holds a roster, a persistent objective, and a +case that spans turns. It is a governed delegation envelope: a defined set of members +with scope ceilings, a mandate, cumulative limits, and a case whose every turn is +sealed and replayable. It composes the existing skills and reimplements none. Each +turn borrows `ops-desk` for judgment, the roster members for execution, `data-store` +for the event log, and receipts for the ledger. + +It is not a durable-execution engine and it is not an autonomous daemon. One turn is +one stateless governed act; an external driver (a human, a cron, a board poll) runs +the loop by calling `advance` until the case resolves. + +## What this skill does + +- `open` starts a case: it appends `opened` with the mandate, the roster, and the + cumulative limits snapshot, so the charter travels with the case. +- `advance` runs one turn: it folds the case from its event stream, asks `ops-desk` + for the single next move constrained to the roster, enforces the measurable gate, + records one turn event whose append is the contention lease, and names the member + to run. The member runs as a separate governed run; its outcome is fed back to the + next `advance` as `member_result`. +- `status` folds and returns the current case state. + +The case reducer is the agency's own code, because `data-store` carries events but +does not fold domain state. Everything else is delegation. + +## When to use this skill + +- A standing, consequential mandate must run for days or weeks, dispatch different + members, and leave an auditable trail sealed to a bounded authority. +- A process needs scoped delegation with a measurable ceiling and a human gate on + consequence, not an unbounded agent. + +## When not to use this skill + +- One-shot or interactive work. Call the member skills directly; the agency is + overhead when the operator is already the loop. +- To compute proposals (that is `ops-desk`) or claim and clock logic (that is + `messageboard`). Compose them. +- To bake a storage backend. The case lives in `data-store` via `data_source_ref`. +- To let the model invent the roster, the mandate, or the limits. They are operator + config, snapshotted into the case at `open`. + +## Procedure + +1. `open` the case with the mandate, roster, and limits. +2. `advance` the case. Read the turn packet: + - `advanced`: run the named member under its scope, then `advance` again with the + member's outcome as `member_result`. + - `awaiting_approval`: resolve the escalation, then `advance`. + - `resolved` or `failed`: the case is closed. +3. Repeat until the case resolves. The driver, not this skill, decides the cadence. + +## The measurable gate + +The done-check and the limit-check are measurable first. `advance` folds cumulative +totals (acts, spend) and the trusted planner overrides the model when a cap is +breached: an over-cap turn fails regardless of what `ops-desk` proposed. The narrative +judgment from `ops-desk` chooses the move within the caps; it never widens them. +Spend caps tracked in the projection are the v1 path; routing spend through `spend` +and runx-pay reservations is the stronger enforcement. + +## Contention + +Two drivers must not double-fire a member act. Each turn appends a single event keyed +`case_id:turn:driver_id` at the folded `expected_version`. Two drivers racing the same +turn carry different keys, so the loser hits a hard version conflict rather than +replaying the winner, and stops before any dispatch. The append is the lease, and it +lands before the named member runs. + +## Edge cases and stop conditions + +- No case at `case_id`: `advance` returns `needs_input`; open the case first. +- A cumulative cap is reached: the turn is `failed` with the breached predicate named. +- The best move is consequential and unapproved: `awaiting_approval` with the prompt. +- No roster member can act and nothing is escalatable: escalate to the configured + human with the missing input named. + +## Output schema + +`advance` returns one `agency_turn`: + +```yaml +agency_turn: + schema: runx.agency.turn.v1 + status: advanced | awaiting_approval | resolved | needs_input | failed + case_id: string + turn: number + dispatch: # present when status == advanced + member: string + skill: string + task: string + needed_scope: [string] + approval_prompt: string | null + resolution: object | null + predicates: object # the measurable over_limits booleans + reason: string | null + next: string +``` + +## Inputs + +- `open`: `data_source_ref`, `case_id`, `agency_ref`, `mandate`, `roster`, `limits`, + optional `signal`. +- `advance`: `data_source_ref`, `case_id`, `driver_id`, optional `member_result`. +- `status`: `data_source_ref`, `case_id`. + +## Worked example + +Open a docs case with a researcher, writer, and reviewer and a 50-turn limit. +`advance` folds an empty-but-opened case, ops-desk picks the researcher, and the turn +returns `advanced` naming the researcher. The driver runs the researcher and calls +`advance` again with its result; ops-desk now picks the writer to draft. When the +reviewer approves and the projection shows the docs current, `advance` returns +`resolved`. + +## Turn rules + +- Fold every turn from the sealed stream; never infer state the events do not show. +- Enforce the measurable gate before the model's judgment; never widen a cap. +- Name the member and the verification expectation on every dispatch; never claim + work settled, sent, paid, or done without a receipt. +- Compose ops-desk, data-store, and the members; never reimplement them, and never + invent the roster or the mandate. +- Stop cleanly with needs_input, awaiting_approval, refused, or failed; never a fake + ready. diff --git a/docs/sourcey-catalog/pages/audit-receipt.md b/docs/sourcey-catalog/pages/audit-receipt.md new file mode 100644 index 000000000..9c2249a66 --- /dev/null +++ b/docs/sourcey-catalog/pages/audit-receipt.md @@ -0,0 +1,144 @@ +# audit-receipt + +- Group: Safety and review +- Source: [skills/audit-receipt/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/audit-receipt/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/audit-receipt/SKILL.md` + +# Receipt Auditor + +Audit a sealed run for authority over-reach, using its own receipt as evidence. + +runx seals a receipt for every run: the authority proof, the acts performed, the +decisions taken, the refusals, and hashed material references. That receipt is +the evidence. This skill reads a sealed receipt and answers one governance +question: did the run stay inside the authority it was granted? It flags scopes +exercised that were never granted, mutating acts that ran without an approval +gate, refusals that were not recorded, and any raw secret material that leaked +into the receipt. It pairs with `least-privilege`: that one narrows a +grant from usage, this one verifies a run honored its grant. + +## What this skill does + +1. **Read the proof and the acts.** From the receipt, extract the granted + authority (the proof) and the scopes the acts actually exercised. +2. **Diff exercised against granted.** Any exercised scope not covered by the + proof is over-reach. +3. **Check the gates.** Every mutating act must show an approval gate in the + receipt; an ungated mutation is an anomaly. +4. **Check exposure.** The receipt must carry only hashed material references; a + raw secret in the receipt is a leak. +5. **Verdict.** `clean`, `anomaly`, or `needs_more_evidence`, with the exact + findings and a recommendation for each anomaly. + +## Core principles + +- **The receipt is the evidence.** Audit what the receipt records, not what the + skill claims it did. +- **Granted is the ceiling.** Exercised authority must be a subset of the proof; + anything beyond is over-reach, full stop. +- **Mutation needs a gate.** A mutating act with no approval gate in the receipt + is an anomaly even if it succeeded. +- **No raw material.** A receipt must reference material by hash; raw credential + material in a receipt is a leak, not a convenience. +- **Absence of evidence is not clean.** With no receipt or an unattributable + one, return `needs_more_evidence`, never `clean`. + +## When to use this skill + +- Post-run governance audit of a sealed, successful run. +- Spot-checking that a skill honored its authority bound in production. +- Before promoting a skill toward a higher trust posture. + +## When not to use this skill + +- To diagnose a failed run and propose a fix. That is `review-receipt` + (failure-to-improvement). This skill audits a sealed run for over-reach + (success-to-governance); the two are different lenses on a receipt. +- To narrow a grant from observed usage. That is `least-privilege`. + +## Diagnostics + +- `receipt.authority.over_reach` (error): an exercised scope is not covered by + the authority proof. +- `receipt.mutation.ungated` (error): a mutating act ran without an approval gate + recorded in the receipt. +- `receipt.refusal.unrecorded` (warning): a denied request is not reflected as a + sealed refusal. +- `receipt.material.exposed` (error): raw credential material appears in the + receipt instead of a hash reference. +- `receipt.clean` (info): exercised authority is within the grant, mutations are + gated, and no material is exposed. + +## Procedure + +1. Resolve the receipt from `receipt_id` or use the provided sanitized + `receipt_summary`. +2. Extract the authority proof, granted scopes, acts, approvals, refusals, + material references, and receipt signature metadata. +3. Normalize exercised scopes from the acts and compare them with the granted + scopes. Exercised must be a subset of granted. +4. Identify mutating acts and confirm each has an approval gate recorded in the + receipt. +5. Check that denied requests appear as sealed refusals when the receipt records + the attempt. +6. Scan receipt-visible material for raw credentials or secret-bearing payloads. +7. Return a verdict with findings, recommendations, and the success checkpoint. + +## Edge cases and stop conditions + +- **Missing receipt:** return `needs_more_evidence`; never infer a clean run. +- **Unattributable receipt:** return `needs_more_evidence` when the receipt + cannot be tied to the run under audit. +- **Malformed proof:** return `needs_more_evidence` unless enough normalized + grant data is supplied separately. +- **Unknown scope name:** treat it as over-reach unless the grant explicitly + covers it. +- **Mutation without recorded gate:** emit `receipt.mutation.ungated` even if the + mutation succeeded and the outcome looks correct. +- **Raw token, key, or credential in the receipt:** emit + `receipt.material.exposed` and recommend revocation/rotation. + +## Output schema (`receipt_audit`) + +```yaml +decision: ready | needs_more_evidence +run_ref: string +granted_scopes: [string] +exercised_scopes: [string] +refusals: [string] +findings: + - id: string + severity: error | warning | info + message: string +verdict: clean | anomaly | needs_more_evidence +rationale: string +recommendations: [string] +success_checkpoint: + milestone: string + description: string +``` + +A `clean` verdict requires zero `error` findings. + +## Worked example + +A sealed run was granted `repo.read`. The receipt shows the acts exercised only +`repo.read`, every act is an observation (no mutation), and material is +referenced by hash. Exercised is a subset of granted, no mutation to gate, no +exposure: `verdict: clean`. Had an act exercised `repo.write` while the proof +granted only `repo.read`, that would raise `receipt.authority.over_reach` and a +`verdict: anomaly` with a recommendation to revoke the run's grant and +investigate. + +## Inputs + +- `receipt_id` (optional): the receipt id to audit. +- `receipt_summary` (optional): a sanitized receipt or its acts/proof summary + when the full receipt is not available. +- `granted_scopes` (optional): the authority the run was granted, when not + derivable from the receipt alone. +- `objective` (optional): operator intent that focuses the audit. + +At least one of `receipt_id` or `receipt_summary` is required; with neither, the +skill returns `needs_more_evidence`. diff --git a/docs/sourcey-catalog/pages/business-ops.md b/docs/sourcey-catalog/pages/business-ops.md new file mode 100644 index 000000000..52587434b --- /dev/null +++ b/docs/sourcey-catalog/pages/business-ops.md @@ -0,0 +1,191 @@ +# business-ops + +- Group: Operate +- Source: [skills/business-ops/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/business-ops/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/business-ops/SKILL.md` + +# Business Ops + +Turn one business signal into a replayable operations graph. + +`business-ops` is the generic public example for how runx makes agentic +business work composable without giving the agent ambient authority. It is a +deterministic graph skeleton: it classifies one signal, fans it into bounded +lanes, records why each lane exists, names the real skill or provider lane that +would replace the fixture, and stops before any live send, spend, publish, +merge, deploy, or customer-visible action. + +This is not a provider integration and not an operator dashboard. It is the +small core shape that teams copy when they want one objective to fan out into a +chain of skills, then replay that chain with receipts. + +When the route itself should become durable, use `route_and_append`. That runner +classifies the signal, appends the classification packet through `data-store`, +and reads back the projection. The same graph can use local JSON, SQLite, +Postgres, D1, Redis, or a product adapter by changing the `data_source_ref` +binding. + +## What this skill does + +- Classifies one business signal before doing work. +- Fans the signal through representative lanes: docs, release, issue/PR, + outreach planning, spend quoting, and proof audit. +- Produces structured lane packets with authority, gate, handoff, evidence, and + readback fields. +- Demonstrates the runx split between proposal work and consequential action: + drafts and plans can be produced, but sends, spend, merges, publishes, and + deploys require a separate approval and execution lane. +- Gives downstream agents a clear handoff target instead of vague prose. +- Optionally persists the classified route for replay through `data-store`. + +## What this skill deliberately does not do + +- It does not call private providers, mutate a repo, post to GitHub, send email, + schedule campaigns, move money, publish releases, or deploy services. +- It does not duplicate `ops-desk`, product operator skills, `send-as`, + vendor-specific provider skills, `release`, `issue-to-pr`, `spend`, or + receipt-audit skills. +- It does not turn "outbound marketing" into a hidden side effect. Outreach is + a plan lane here; real delivery routes to `send-as` and then a provider + adapter. Branded provider skills are concrete adapters, not branches in this + core graph. +- It does not treat the graph receipt as proof that an external provider action + happened. Provider actions need provider evidence and their own receipt. + +## When to use this skill + +- To show how runx chains skills into replayable business operations. +- To prototype a team-specific ops graph before wiring private provider tools. +- To route a product signal without giving the agent blanket repo, email, + wallet, or deployment access. +- To explain why a governed workflow is more useful than a one-shot prompt: + the route, stops, handoffs, and readbacks are explicit and replayable. +- To smoke-test graph execution and child receipts with no external account. + +## When not to use this skill + +- To run a production launch, incident, release, campaign, support reply, + payout, or spend flow as-is. Replace fixture lanes with real skills first. +- To approve a live send, spend, merge, publish, deploy, or customer-visible + action. +- To hide project policy, customer lists, credentials, wallet keys, provider + dumps, or private review context in the signal. +- To claim external work completed when only this fixture graph ran. + +## Mental model + +```text +signal -> classify -> fanout lanes -> approval stops -> governed handoffs -> proof +``` + +The useful part is the chain. A single objective becomes several typed packets: +some read-only, some draft-only, some blocked until approval, and one proof lane +that states how success should be verified later. A human, agent, dashboard, or +CI loop can replay the same route and see the same stops. + +## How this maps to real runx work + +- **Docs and public proof** route to a docs skill such as `sourcey` or a + product-owned documentation lane. +- **Release preparation** routes to `release`, with publish held behind a + release approval. +- **Code work** routes to `issue-to-pr` or a project-owned implementation lane, + with merge held behind review. +- **Outreach and customer communication** route first to `send-as`, then to a + provider adapter that implements the send lane. Branded provider skills are + the right place for vendor-specific compose, test, review, schedule, or send + details. Broad outbound marketing should be its own skill or product broadcast + skill, not extra logic hidden in this graph. +- **Spend and payments** route to quote or payout skills with caps, recipient, + rail, and settlement proof separated from the planning lane. +- **Proof** routes to receipt/history/audit skills and provider readbacks. + +The fixture `ops-lane` step simply returns these packets without performing the +handoff. In a real project, replace each fixture lane with the named governed +skill runner or provider tool. + +## Procedure + +1. Receive one concise `signal`. +2. Optionally receive `operator_context` with project constraints, policy, or + the concrete business situation. +3. Run `classify` first. It decides which lanes are relevant and what authority + class each lane belongs to. +4. Fan out docs, release, issue, outreach, spend, and proof packets. +5. Mark each lane as read-only, draft-only, approval-required, or proof-only. +6. Name the exact downstream handoff that should replace the fixture in a real + workflow. +7. Seal the graph so the route itself is replayable. +8. If using `route_and_append`, append the classification packet with an + idempotency key and expected version, then read back the projection. + +## Edge cases and stop conditions + +- **Missing signal:** return `needs_input`. There is no safe route. +- **Vague objective:** return a narrow classify packet and ask for the missing + product, audience, repo, release, amount, or provider context. +- **Live send without principal, audience, consent, digest, and approval:** stop + at the outreach lane and route to `send-as`. +- **Spend without amount, cap, recipient, rail, and approval:** stop at the + spend lane and route to a quote or payment skill. +- **Merge, publish, deploy, or destructive mutation without approval:** stop at + the relevant lane and name the missing gate. +- **Provider success without provider evidence:** do not mark complete. Route to + proof audit. +- **Secret or private data in the signal:** refuse to echo it into outputs; + require redacted context or a provider-side readback instead. + +## Output schema + +The graph output contains child step receipts plus one `lane_packet` per lane: + +```yaml +lane_packet: + schema: runx.business_ops_lane.v1 + lane: string + signal: string + status: ready | awaiting_approval | needs_input | refused + decision: route | prepare | draft | quote | verify | stop + kind: router | docs | release | work | outreach | spend | proof + consequence: read_only | draft | live_mutation | public_send | money_movement | proof + summary: string + why: string + authority: + requested: [string] + provided: fixture_only + gate: + approval_required: boolean + approval_gate: string | null + stop_reason: string | null + handoff: + interface: skill | graph | cli | hosted_api | workflow | provider_tool + lane_ref: string + runner_ref: string | null + command_hint: string | null + evidence: + inputs_required: [string] + readbacks: [string] + receipt_refs: [string] + risks: [string] + next: [string] +``` + +## Worked example + +```bash +runx skill business-ops \ + -i signal="launch readiness for API v2: docs, release, customer comms, and spend checks" \ + --json +``` + +The graph classifies the launch signal, prepares docs/release/work packets, +routes customer communication to an outreach plan, stops spend at a quote gate, +and names receipt/history checks that would prove later execution. No external +provider is called. + +## Inputs + +- `signal` (required): concise business operations signal to classify and route. +- `operator_context` (optional): product policy, project topology, audience + constraints, or known provider state. Context only, not authority. diff --git a/docs/sourcey-catalog/pages/cve-audit.md b/docs/sourcey-catalog/pages/cve-audit.md new file mode 100644 index 000000000..0b3cb8523 --- /dev/null +++ b/docs/sourcey-catalog/pages/cve-audit.md @@ -0,0 +1,124 @@ +# cve-audit + +- Group: Safety and review +- Source: [skills/cve-audit/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/cve-audit/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/cve-audit/SKILL.md` + +# Exact CVE Audit + +## What this skill does + +This skill audits exact npm versions from an immutable `package-lock.json` +against the public OSV API. It emits a machine-readable audit result, +`evidence.json`, and a finding-by-finding Markdown report. The governed graph in +`X.yaml` independently replays every query and seals a delivery packet only +when the reported and replayed advisory sets match exactly. + +It does not install dependencies, execute target code, mutate the target +repository, repair packages, or publish vulnerability claims. + +## When to use this skill + +Use it when a reviewer needs checkable evidence for the advisories affecting +the exact npm versions in a public, immutable lockfile. It is suitable for +dependency review, release triage, and reproducible security evidence where a +package-name-only or loose-range match would create false positives. + +## When not to use this skill + +Do not use it for a mutable branch URL, a manifest without exact installed +versions, a private lockfile without explicit read authority, non-npm +ecosystems, exploit development, or claims about transitive coverage when the +selected scope is `direct-production`. Do not treat missing OSV data as proof +that a package is safe. + +## Inputs + +- `target_name`: display name for the audited project. +- `target_repo`: public HTTPS source repository. +- `target_commit`: full 40-character immutable Git commit. +- `lockfile_url`: public HTTPS lockfile URL containing that commit. +- `dependency_scope`: `direct-production` by default, or `all-installed`. + +The caller authorizes only public reads of the pinned lockfile and OSV. No +credential, token, local project file, or private payload is an accepted input. + +## Procedure + +1. Validate that the repository and lockfile URLs use HTTPS, the commit is a + full Git hash, and the lockfile URL is pinned to that hash. +2. Fetch the lockfile and record its SHA-256 digest before parsing it. +3. Extract exact installed versions from lockfile versions 2 or 3. Preserve the + requested scope in every artifact. +4. Query OSV with `{ ecosystem: npm, package, version }` for every inventory + entry. Exclude withdrawn advisories. +5. Record each finding with dependency, exact version, advisory ID, OSV URL, + aliases, installed path, and the exact query that produced it. +6. In the governed graph, replay every exact-version query in a separate step. + Fail closed if an advisory is unsupported, omitted, withdrawn, or changed. +7. Emit the report, evidence, verification, delivery packet, and sealed receipt. + +## Edge cases and stop conditions + +- Refuse non-HTTPS or mutable lockfile URLs. +- Refuse abbreviated commits and lockfiles that do not contain the commit. +- Refuse unsupported lockfile versions or entries without exact versions. +- Return `needs_input` when the target, commit, or lockfile evidence is not + immutable enough to support reproducible review. +- Stop if OSV times out, returns malformed data, or changes between scan and + independent replay. +- Stop if any false hit or missing hit is detected. +- Report the selected dependency scope; never imply broader coverage. +- Keep tokens, credentials, private source, and target code out of artifacts. + +## Output schema + +The scan emits: + +```json +{ + "audit_result": { + "schema": "runx.security.exact_cve_audit.v1", + "target": { + "repo": "https://github.com/owner/repo", + "commit": "40-character hash", + "lockfile_sha256": "64-character digest" + }, + "dependency_scope": "direct-production", + "inventory": [], + "findings": [], + "result": { + "exact_dependencies_queried": 0, + "advisory_findings": 0, + "source": "OSV" + } + }, + "report": { "artifact": { "path": "artifacts/report.md" } }, + "evidence": { + "summary": "human-readable audit summary", + "observations": [], + "artifact": { "path": "artifacts/evidence.json" } + } +} +``` + +The graph adds `verification.json`, `delivery.json`, and a sealed +`runx.receipt.v1` graph receipt with child receipt lineage. + +## Worked example + +For OWASP NodeGoat at commit +`c5cb68a7084e4ae7dcc60e6a98768720a81841e8`, the checked-in harness reads the +pinned lockfile, audits 16 exact direct production versions, reports the OSV +advisories returned for those versions, and independently requires zero false +and zero missing hits before sealing. + +The second harness case audits the repository's immutable clean fixture at +commit `83d554f904f9f73bd26ce9c15e3786ba7d62b1de`. It verifies that an exact +dependency with no OSV advisory produces zero findings while still completing +the independent replay and sealed-receipt path. + +If the same request points at `main/package-lock.json`, validation returns a +needs-input failure because the lockfile is mutable and does not contain the +declared immutable commit. No audit or receipt is presented as complete. diff --git a/docs/sourcey-catalog/pages/data-store.md b/docs/sourcey-catalog/pages/data-store.md new file mode 100644 index 000000000..795c6cc35 --- /dev/null +++ b/docs/sourcey-catalog/pages/data-store.md @@ -0,0 +1,294 @@ +# data-store + +- Group: Research and data +- Source: [skills/data-store/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/data-store/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/data-store/SKILL.md` + +# Data Store + +Operate a data source through a governed adapter contract. This skill gives an +agent enough context to read, append, or project state without learning provider +secrets, inventing SQL, or depending on one storage backend. + +The storage backend can be Postgres, SQLite, D1, Redis, DynamoDB, S3, a ledger, +or a product API. The runx boundary is the same: a declared data source exposes +typed operations; the graph supplies bounded params; the adapter executes the +operation; the receipt records the resource, authority, idempotency, version, +digest, and redaction evidence. + +## Adapter selection + +The operator chooses a data source at run time. The skill receives +`data_source_ref` and operation inputs; project or hosted configuration binds +that ref to the concrete adapter. A local development ref might be +`local://runx-data-store/dev-board`. A production ref might be +`tenant://acme/board` bound to `data.postgres`, `data.d1`, `data.redis`, or a +product-owned HTTP adapter. + +Do not put provider logic in the domain skill. Messageboard, CRM, support, and +business-ops skills should ask for durable facts to be read or written; the data +source binding decides whether those facts live in local JSON, SQL, Redis, D1, +object storage, or a product API. Switching providers is a binding change, not a +rewrite of the skill. + +The bundled OSS profile calls `data.source`. Unbound `local://...` refs default +to durable local SQLite under `.runx/data/local-sources/`, with one source-scoped +database file per logical ref, so stateful skills can be dogfooded without +standing up hosted infrastructure. Pass `store_id` only when a fixture +intentionally wants the deterministic `data.local` JSON store. The graph inputs +stay the same when a project later binds the source to Postgres, Redis, D1, +object storage, or a product API. + +Adapter preference is operator configuration, not model choice. To choose Redis, +SQLite, or a hosted provider, bind the same `data_source_ref` through +`RUNX_DATA_SOURCES` or `.runx/data-sources.json`; do not add provider branches to +the domain skill. + +## What this skill does + +- Reads data through named queries or read operations declared by a data-source + adapter. +- Appends state transitions with idempotency keys and expected versions. +- Reads projections, event streams, or bounded latest-stream-head pages so + loops can resume from explicit state without exporting full history. +- Produces receipt-bound evidence for data source, resource, operation, params, + row/event limits, versions, and output digests. +- Keeps product semantics outside the data layer. Messageboards, CRMs, billing + ledgers, and support desks define their own events and reducers. +- Ships a fixture adapter (`data.local`), durable local SQLite adapter + (`data.sqlite`), and Redis adapter (`data.redis`) behind the same operation + envelope. + +## When to use this skill + +- A graph needs durable state between turns, such as queue position, board + state, sync cursor, review status, or approval inbox state. +- A skill must query a bounded slice of product data before deciding the next + action. +- A workflow needs to append an auditable event or effect transition with + optimistic concurrency. +- An operator wants one provider-agnostic shape that can later move from local + JSON or SQLite to Postgres, Redis, D1, Supabase, Turso, DynamoDB, or another + store. + +## When not to use this skill + +- To let a model write arbitrary SQL, Redis commands, or database migrations. +- To export broad data sets, secrets, raw PII, or unrestricted tables. +- To hide product decisions in storage code. Domain skills still own state + machines, acceptance criteria, and business rules. +- To treat a projection as independent truth when the event stream or receipt + chain is available and required for review. +- To bypass payment, send, deploy, moderation, or human approval gates. + +## Procedure + +1. Identify the domain skill and transition first. The data store is a carrier, + not the policy owner. +2. Select the logical data source. Use `data_source_ref` to name the project or + tenant source; let the project binding choose the adapter. Do not put raw + database URLs, provider credentials, or SQL in the skill input. +3. Select a declared operation: named read query, append event, read events, + read projection, or list stream heads. Do not synthesize raw provider + commands. +4. Check authority. Reads need the narrow resource/query scope; writes need the + transition scope, idempotency key, and expected version unless the operation + is explicitly append-only without concurrency. +5. Bind typed params. Enforce row/event limits, tenant/partition keys, and + redaction rules before the adapter runs. +6. For writes, use optimistic concurrency and idempotency. A retry with the same + idempotency key and same payload returns the existing effect; a different + payload under the same key is a conflict. +7. Return the operation result with resource refs, version movement, digests, + redaction notes, and stop conditions. Receipts should link this data effect + to the domain transition that caused it. + +## Edge cases and stop conditions + +- `needs_source`: the data source, resource, query name, tenant key, or schema + summary is missing. +- `needs_input`: required operation params are incomplete, malformed, or not + specific enough to bind a declared data-source operation. +- `needs_authority`: the caller lacks the declared read/write scope or provider + grant. +- `needs_version`: a mutating operation lacks `expected_version` where the data + source requires optimistic concurrency. +- `conflict`: the current version differs from `expected_version`, or an + idempotency key is reused with different content. +- `too_broad`: the requested read lacks partition filters, exceeds limits, or + asks for raw export. +- `redaction_required`: the operation would return secrets, private PII, or + fields outside the declared projection. +- `provider_unavailable`: the adapter cannot reach the data source, times out, + or cannot prove whether a write committed. + +## Output schema + +All runners return `runx.data.operation_result.v1`: + +```json +{ + "schema": "runx.data.operation_result.v1", + "data_source_ref": "local://example", + "provider": "local-json-event-store", + "operation": "append_event", + "resource": "board_events", + "aggregate_id": "posting-123", + "status": "committed", + "before_version": 0, + "after_version": 1, + "idempotency_key": "posting-123:create", + "event_ref": "board_events:posting-123:1", + "result_digest": "sha256:...", + "projection_digest": "sha256:...", + "rows": [], + "events": [], + "redactions": [], + "stop_conditions": [] +} +``` + +Provider adapters may add provider evidence under `provider_evidence`, but they +must not expose credentials or raw secret material. + +For event streams, adapters derive a readable `event_type` in this order: +explicit `event.type`, explicit `event.event_type`, then +`event.effect_family + "." + event.operation`. Domain skills that emit the +generic `runx.effect.transition.v1` packet should include `effect_family` and +`operation` on every event so readback projections say `messageboard.accept`, +`business_ops.route`, or another meaningful transition instead of `data.event`. + +## Worked example + +A messageboard skill decides that `posting.claimed` is allowed. It emits a +domain transition packet. The graph then calls `data-store.append_event` with +resource `board_events`, aggregate id `posting-123`, expected version `2`, and +idempotency key `posting-123:claim:agent-9`. The data adapter appends the event +only if the stream is still at version `2`. The receipt proves the decision, +the data operation, and the new version. A later loop turn calls +`data-store.read_events` or `read_projection` to resume from the explicit board +state. + +## Inputs + +- `data_source_ref` (required): stable logical ref for the data source. The + project or hosted binding maps this ref to the concrete adapter and provider + profile. +- `resource` (required): declared resource, stream, table, keyspace, or + projection name. +- `operation` (required for tool-level use): `append_event`, `read_events`, + `read_projection`, or `list_stream_heads`. +- `aggregate_id` (required for event operations): stream or partition key. +- `event` (required for `append_event`): domain event or transition packet. +- `idempotency_key` (required for writes): stable retry key. +- `expected_version` (required when the source enforces concurrency): current + stream/resource version expected by the caller. +- `limit` (optional): maximum rows or events to return. +- `after_version` (optional for `read_events`): return an ascending page whose + event versions are strictly greater than this value. Omit it to retain the + existing latest-tail read. Compare the last returned event version with + `after_version` in the result envelope to know whether another page remains. +- `event_types` (optional for `list_stream_heads`): at most 20 exact latest + event types. No pattern or arbitrary field queries are accepted. +- `cursor` (optional for `list_stream_heads`): opaque cursor returned by the + previous page. Limits are capped at 100. +- `store_id` (local fixture adapter only): deterministic local store id that + opts into the bundled `data.local` proof adapter. Omit it for durable local + SQLite. Production adapters should ignore it. + +## Invocation examples + +Durable local dogfood with the bundled default: + +```bash +runx skill data-store append_event \ + -i data_source_ref=local://runx-data-store/dev-board \ + -i resource=board_events \ + -i aggregate_id=posting-123 \ + --input-json expected_version=0 \ + -i idempotency_key=posting-123:create:v1 \ + --input-json event='{"type":"posting.created","payload":{"title":"verify a receipt link"}}' \ + --json +``` + +Fixture-only dogfood can still use `store_id` to select the JSON fixture store: + +```bash +runx skill data-store append_event \ + -i data_source_ref=local://runx-data-store/dev-board \ + -i store_id=dev-board \ + -i resource=board_events \ + -i aggregate_id=posting-123 \ + --input-json expected_version=0 \ + -i idempotency_key=posting-123:create:v1 \ + --input-json event='{"type":"posting.created","payload":{"title":"fixture proof"}}' \ + --json +``` + +Production graph shape is the same at the skill boundary: + +```bash +runx skill data-store append_event \ + -i data_source_ref=tenant://acme/board \ + -i resource=board_events \ + -i aggregate_id=posting-123 \ + --input-json expected_version=2 \ + -i idempotency_key=posting-123:claim:agent-9 \ + --input-json event='{"type":"posting.claimed","payload":{"actor":"agent-9"}}' \ + --json +``` + +The second command only works once `tenant://acme/board` is bound to an +installed provider adapter. That binding is operator configuration and may name a +credential profile or hosted grant; it must not carry raw secrets. + +Project-specific SQLite uses the same command shape after binding the source: + +```json +{ + "data_sources": { + "tenant://acme/board": { + "adapter": "data.sqlite", + "database_path": ".runx/data/acme-board.sqlite", + "resources": { + "board_events": { + "kind": "event_stream", + "partition_key": "aggregate_id" + } + } + } + } +} +``` + +Pass that document through `RUNX_DATA_SOURCES` or `.runx/data-sources.json`. + +Redis uses the same skill and graph inputs. Only the binding changes: + +```json +{ + "data_sources": { + "tenant://acme/board": { + "adapter": "data.redis", + "endpoint": "redis://127.0.0.1:6379/0", + "key_prefix": "runx:{acme-board}", + "resources": { + "board_events": { + "kind": "event_stream", + "partition_key": "aggregate_id" + } + } + } + } +} +``` + +The Redis endpoint must not embed credentials. Use local unauthenticated Redis +for OSS dogfood, or put production secrets behind a runx credential profile or +hosted grant. For Redis Cluster, the binding's `key_prefix` must contain one +safe hash tag, such as `{acme-board}`, so the stream, idempotency, and head keys +touched by an append share one slot and update atomically. Stream-head pages use +stable keyset cursors rather than mutable offsets. Durable events and +dispositions must not receive TTLs; production Redis should enable persistence +and use a non-evicting policy. diff --git a/docs/sourcey-catalog/pages/deep-research.md b/docs/sourcey-catalog/pages/deep-research.md new file mode 100644 index 000000000..862809368 --- /dev/null +++ b/docs/sourcey-catalog/pages/deep-research.md @@ -0,0 +1,41 @@ +# deep-research + +- Group: Research and data +- Source: [skills/deep-research/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/deep-research/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/deep-research/SKILL.md` + +# Deep Research Brief + +This graph turns one important question into a decision-ready brief. + +It is for research that needs more than a quick answer but less than an open- +ended report. The output should feel like an operator memo: what the answer is, +what evidence supports it, what remains uncertain, and what posture the reader +should take next. + +Do not drift into a generic article, daily update, or trend recap. The point is +to help a human decide, not to narrate that research happened. + +Separate verified evidence from inference and carry unresolved questions into +the memo. The synthesis must say what the reader should monitor, do, defer, or +investigate next. Return `needs_more_evidence` when the packet cannot support a +recommendation, and `not_worth_publishing` when the answer is sound but does not +matter to the stated decision. + +## Output + +- `research_packet`: bounded evidence, confidence, inference, and open questions. +- `brief_draft`: the decision memo synthesized from that packet. +- `approval_decision`: review of the exact brief and its remaining uncertainty. +- `publish_packet`: approved brief and delivery metadata. + +## Inputs + +- `objective` (optional): specific question the brief should answer. +- `audience` (optional): primary reader for the memo. +- `channel` (optional): final delivery channel; defaults to `brief`. +- `domain` (optional): product, ecosystem, or market slice to bound the work. +- `operator_context` (optional): local decision context or evaluation lens. +- `target_entities` (optional): structured list of products, projects, + companies, or repos to keep in scope. diff --git a/docs/sourcey-catalog/pages/github-sync.md b/docs/sourcey-catalog/pages/github-sync.md new file mode 100644 index 000000000..b6c8008ef --- /dev/null +++ b/docs/sourcey-catalog/pages/github-sync.md @@ -0,0 +1,165 @@ +# github-sync + +- Group: GitHub and delivery +- Source: [skills/github-sync/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/github-sync/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/github-sync/SKILL.md` + +# GitHub Sync + +Decide exactly what state to move between a GitHub repo and the local graph, in +which direction, and whether the agent is even allowed to write. + +`github-sync` is the generic repo state connector. It turns a loose request like +"sync the open issues" into a bounded plan that names the resources, the +direction, the scope, the records it will touch, and the point where the run +must stop for a human. A pull is observation and stays inside `repo:read`. A +push is mutation and never proceeds without an explicit `repo:write` grant and +human approval. + +## What this skill does + +`github-sync` produces a sealed `sync_plan`: a scoped record of which GitHub +resources the run will pull or push, the scope it will use, the gates a write +must clear, and any blockers that stop the run cleanly. For a push it carries a +`diff_summary` described by digest and ref, never by raw body text, so a +reviewer can approve the shape of a change without leaking issue contents, +tokens, or PII into the plan or the receipt. + +The plan binds direction to scope. `pull` is read-only and lists the resources +it will fetch. `push` enumerates the mutations by ref and digest, marks +`approval_required: true`, and refuses to proceed past planning when the run +lacks a `repo:write` grant. + +This skill plans the sync; it does not perform the GitHub mutation itself. The +plan is the artifact a downstream adapter executes after the approval gate +clears. Planning and mutation stay on opposite sides of the gate so a review can +read intent before anything changes on the remote. + +When a sync loop needs a durable cursor, use `plan_and_append_cursor`. That +runner reads the cursor projection through `data-store`, plans the bounded sync, +appends the plan as a cursor event, and reads back the projection. The storage +provider is selected by `data_source_ref`, not by GitHub-specific code. + +## When to use this skill + +- An agent needs to fetch a bounded set of issues, threads, or PRs into the + local graph for triage or analysis. +- An agent needs to mirror local state back to GitHub (reopen, label, comment, + close) and the operator wants the write shape reviewed before it lands. +- A workflow must prove which repo, direction, and scope a sync used, with a + receipt that names the resources touched. +- A review needs to distinguish a read-only pull from a write that crossed an + approval gate. + +## When not to use this skill + +`github-sync` is the generic repo state connector. Reach for it when the job is +moving issue, thread, or PR state in or out, not authoring a change or composing +one comment. + +- To drive a thread through spec, build, review, and a draft PR. Use + `issue-to-pr`, which governs the full issue-to-PR lane. +- To draft one review comment on one PR. Use `pr-review-note`. +- To push without a named repo and direction. +- To carry raw issue bodies, comment text, access tokens, or contributor PII in + the plan or receipt. Reference them by digest, span, or ref only. +- To bypass the human approval gate on any write. + +## Procedure + +1. Resolve the target repo and confirm the run holds at least `repo:read`. +2. Read `direction`. `pull` is observation; `push` is mutation and changes the + gate posture. +3. Read `resources`. Bind the concrete set: issues, PRs, or threads, plus the + filters that bound it (state, label, author, range). An unbounded "all" + becomes a blocker until reconfirmed. +4. Read `scope`. A `push` requires `scope: write` backed by a real `repo:write` + grant. If a write is requested without that grant, stop and refuse rather + than downgrade to a silent pull. +5. For a `pull`, list `resources_touched` by ref and leave `diff_summary` empty. +6. For a `push`, build `diff_summary` as a list of intended mutations described + by ref and content digest, set `gates.approval_required: true`, and record + the approval reference once granted. +7. Record `scope_used` as the narrowest scope the plan actually needs. +8. Emit the smallest `sync_plan` an adapter can execute without widening + authority, and stop at the approval gate for any write. +9. For cursor-backed loops, read the cursor projection first, append one sync + plan event with an idempotency key and expected version, and read back the + projection before the next turn. + +## Edge cases and stop conditions + +- **Missing repo or direction:** return `needs_agent`; the sync target is + undefined. +- **Write requested without `repo:write`:** the request is `refused`; never + downgrade it to a silent pull. The plan stays unexecutable. +- **Unbounded resource set:** mark a blocker and require an explicit filter + before a push. +- **Approval absent or denied on a push:** keep the decision blocked and the + plan unexecutable; do not emit an executable mutation plan. +- **Raw bodies, tokens, or PII in the resource payload:** reference by digest + and ref; if redaction would remove the evidence needed to plan, return + `needs_agent`. + +## Output schema + +```yaml +sync_plan: + decision: ready | blocked | refused | needs_agent + repo: string # resolved owner/name target + direction: pull | push + resources_touched: # resources by ref; no raw bodies + - kind: issue | pr | thread + ref: string + selected_by: string # the filter that selected it + diff_summary: # push only; empty for a pull + - ref: string + op: string + digest: string + scope_used: string # narrowest scope, e.g. repo:read or repo:write + gates: + approval_required: boolean # true for any push + approval_ref: string # set once the write is approved + blockers: array # conditions that must clear before execution +``` + +`sync_plan` is a composable object. Downstream skills read it as arbitrary JSON; +the fields above are the contract a reviewer and adapter rely on. + +The receipt (`runx.receipt.v1`) carries the repo, direction, `scope_used`, the +resource refs touched, and the approval reference for a write. It carries no +issue bodies, comment text, tokens, or contributor PII; mutations appear as refs +and digests only. Default scope is `repo:read` and a `pull` never escalates; a +`push` needs an explicit `repo:write` grant plus human approval, so missing the +grant is a refusal and missing the approval keeps the plan blocked. + +## Worked example + +Input: "Sync the open triage issues into the graph" on `runxhq/runx`, with +`direction: pull`, `scope: read`, and a filter of `state:open label:triage`. + +Output: `decision: ready`; `direction: pull`; `scope_used: repo:read`; +`resources_touched` lists the two matched issues by ref and the filter that +selected each; `diff_summary` is empty and `gates.approval_required` is false. +No write grant is exercised and no approval gate is opened, because a pull is +pure observation. Had the same request asked to `push` labels without a +`repo:write` grant, the run would refuse instead of reading. + +Cursor-backed loop: + +```text +read cursor -> plan bounded pull/push -> append sync plan event -> read cursor +``` + +The cursor event stores refs, filters, digests, and gate status. It does not +store raw issue bodies, OAuth tokens, or write payload secrets. + +## Inputs + +- `repo` (required): target repository as `owner/name`. +- `direction` (required): `pull` or `push`. +- `resources` (required): structured selector for `issues`, `prs`, or `threads` + plus filters (state, label, author, range). +- `scope` (required): `read` or `write`. A `push` needs `write` backed by a real + `repo:write` grant. diff --git a/docs/sourcey-catalog/pages/governed-outbound.md b/docs/sourcey-catalog/pages/governed-outbound.md new file mode 100644 index 000000000..3c7d158b4 --- /dev/null +++ b/docs/sourcey-catalog/pages/governed-outbound.md @@ -0,0 +1,107 @@ +# governed-outbound + +- Group: Outbound and tooling +- Source: [skills/governed-outbound/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/governed-outbound/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/governed-outbound/SKILL.md` + +# Governed Outbound + +Take something from outside, make it safe to send, authorize the exact outbound +plan, and leave proof. `governed-outbound` prepares the boundary crossing; it +does not claim the configured provider delivered anything. + +It composes four catalog skills into one governed run: + +1. `web-fetch` gathers the source within an explicit host allowlist. +2. `redact-pii` scrubs personal data and returns a pass/hold verdict before any + of it can leave the boundary. +3. an approval gate holds the plan for a human, who sees the redaction verdict + and the residual risk, not the raw content. +4. `send-as` binds the scrubbed content, principal, audience, and provider lane + into an authorized plan. +5. `sign-receipt` seals the gather, scrub, approval, and plan. A separate + provider host must execute the plan, record delivery evidence, and read it + back before any caller may call the notification delivered. + +The point of the chain is the order. The scrub runs before authorization and the +human gate runs before `send-as`. This receipt proves preparation and authority, +not provider delivery. + +## What this skill does + +`governed-outbound` is a graph, not a single agent step. Each hop is a real +catalog skill with its own scope, and authority narrows at every branch: +`web-fetch` may only reach the allowlisted host, `redact-pii` may only read the +fetched content, the approval gate authorizes the plan, and `sign-receipt` may +only append to the ledger. Personal data never reaches the channel or the +receipt; the content travels by digest, and the redaction report carries class +and span offsets, never the values it found. + +## When to use this skill + +- An agent needs to prepare external information (an incident page, a changelog, + a status update, a thread) for a provider channel, and that information may + carry personal data. +- A workflow must prove that the proposed outbound content was scrubbed and the + exact plan was approved before provider execution. +- You want one receipt that links the source, the scrub verdict, the approval, + and the send plan. + +## When not to use this skill + +- To post content that was authored in-house and carries no external data. Call + `send-as` directly, then use the configured provider host. +- To gather a source with no intent to send it onward. Call `web-fetch`. +- To deliver without a human in the loop. The approval gate is the point; a + send that needs no review does not need this chain. +- To move money, change a repository, or unseal a secret. Those are other + governed lanes with their own gates. + +## How the chain is wired + +- `fetch-source` reads `url` and `allowlist` from the run inputs and returns + `fetch_result` with the content digest and extracted text. +- `scrub-content` takes `fetch-source`'s extracted text as `content`, runs in + `redact` mode, and returns `redaction_report` with the `ready` / `needs_review` + / `blocked` verdict, the detected spans, and `redacted_digest`. +- `approve-send` shows the approver the redaction `decision`, the + `residual_risk`, and the `redacted_digest`, then records an approval decision. +- `plan-notice` runs only when the approval is `true` and the redaction verdict + is `ready`; it plans the send of the scrubbed content to `channel` as + `principal`, naming the provider action a connector lane would run. +- `seal-run` attests the run, binding the source digest and the redacted digest + as evidence, and appends the receipt to the ledger. + +## Edge cases and stop conditions + +- **No `url` or `allowlist`:** the run returns `needs_agent`; there is nothing + to gather and no boundary to respect. +- **Host not allowlisted:** `web-fetch` returns `policy_denied` and the chain + stops before anything is read. +- **Redaction not `ready`:** a `needs_review` or `blocked` verdict fails the + send transition, so `plan-notice` never runs. Nothing leaves the boundary on a + hold verdict. +- **Approval denied or absent:** the send transition is not satisfied and the + chain stops at the gate, scrubbed but unsent. +- **Provider delivery fails downstream:** preserve this planning receipt, record + the provider failure in the executing host, and do not produce delivery + evidence or mark the action complete. + +## Output + +The run seals to `runx.receipt.v1`, linking each step's packet: +`fetch_result` (source + digest), `redaction_report` (verdict + spans + redacted +digest), `approval_decision` (the gate), `send_plan` (the authorization), and the +`attestation` (the seal). `send_plan` is authorization, not delivery evidence. +The receipt proves the preparation path without reconstructing the personal data +that was removed along the way. + +## Inputs + +- `url` (required): source to gather before preparing the notification. +- `allowlist` (required): hosts `web-fetch` is permitted to reach. +- `channel` (required): destination channel for the notification. +- `principal` (required): principal the notification is sent as. +- `claim` (optional): what the sealed attestation should assert about the run. +- `operator_context` (optional): boundary, audience, or compliance context. diff --git a/docs/sourcey-catalog/pages/introduction.md b/docs/sourcey-catalog/pages/introduction.md new file mode 100644 index 000000000..989b3c1c1 --- /dev/null +++ b/docs/sourcey-catalog/pages/introduction.md @@ -0,0 +1,12 @@ +--- +title: Introduction +description: Governed Runx skill catalog pinned to one upstream revision. +--- + +# Runx Governed Skill Catalog + +This catalog covers exactly 24 governed Runx skills at upstream commit `5afc25a83edf1c1320df7ac0d78c36f1523b5677`. + +The skills are organized into five groups: Operate, Research and data, GitHub and delivery, Safety and review, and Outbound and tooling. Each catalog page links to its authoritative `SKILL.md` at the pinned commit. + +This is a governed skill catalog, not a claim of complete Runx API coverage. diff --git a/docs/sourcey-catalog/pages/issue-intake.md b/docs/sourcey-catalog/pages/issue-intake.md new file mode 100644 index 000000000..baef2f10b --- /dev/null +++ b/docs/sourcey-catalog/pages/issue-intake.md @@ -0,0 +1,186 @@ +# issue-intake + +- Group: GitHub and delivery +- Source: [skills/issue-intake/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/issue-intake/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/issue-intake/SKILL.md` + +# Issue Intake + +Convert an inbound thread, support report, or operator request into one +explicit intake decision plus the parent change artifact that downstream +planning or mutation lanes must share. + +This skill does not mutate code, open tickets, or publish replies directly. Its +job is to classify the report, summarize it, draft the next helpful response, +and recommend the next governed lane. That next lane must be explicit: +`issue-to-pr`, `work-plan`, `reply-only`, or `manual-review`. + +In supervisor-style flows, `issue-intake` is also the commencement gate. It +decides whether work may start at all, whether the next step should stop at a +review comment first, and whether mutation is justified yet. A recommended lane +is not the same thing as build permission. + +Use `issue-to-pr` only when the requested change is bounded enough for one +governed remediation lane. Use `work-plan` for larger or multi-step +work. Use `reply-only` when the right answer is guidance rather than mutation. +Use `manual-review` when the report is ambiguous, risky, or missing key context. + +Ground category, severity, and routing in the visible request and supplied +product constraints. Put uncertainty in `operator_notes` instead of inventing +confidence. The suggested reply should sound like the project owner and lead +with the decision or next action, not read like a ticket macro. + +## Output Contract + +`intake_report` must contain: + +- `category`: one of `bug`, `feature_request`, `docs`, `billing`, `account`, + `question`, or `other` +- `severity`: one of `low`, `medium`, `high`, or `critical` +- `summary`: concise summary of the actual request or report +- `suggested_reply`: a user-facing reply draft or operator handoff note +- `recommended_lane`: `issue-to-pr`, `work-plan`, `reply-only`, or + `manual-review` +- `rationale`: why that lane is the right next step +- `needs_human`: boolean +- `operator_notes`: array of caveats, missing context, or escalation notes + +`intake_report` may also include supervisor-facing control fields: + +- `commence_decision`: `approve`, `hold`, `reject`, or `needs_human` +- `action_decision`: `proceed_to_build`, `proceed_to_plan`, + `request_review`, or `stop` +- `review_target`: `thread`, `outbox_entry`, or `none` +- `review_comment`: markdown comment body for the supervisor to post before the + next lane proceeds + +When present, these fields mean: + +- `commence_decision` gates whether the supervisor may start any downstream + work at all +- `action_decision=proceed_to_plan` means the supervisor may open a planning + lane such as `work-plan`, but still may not start repo mutation +- `action_decision=request_review` means the supervisor should post + `review_comment` to the chosen `review_target` and stop there until a later + approval or rerun authorizes mutation +- `review_target=outbox_entry` only makes sense when a current + outbox entry already exists. If no draft change, message surface, or + other outbox entry exists yet, the supervisor should fall back to the + source thread and say that clearly in the posted comment +- `action_decision=proceed_to_plan` should usually still result in a public + supervisor comment so the hold/plan decision is visible outside the raw + receipt stream +- `recommended_lane=issue-to-pr` alone does **not** authorize a build lane + +Always emit `change_set` alongside `intake_report`. + +Also emit `signal` when a source event is admitted. `signal` must follow +`runx.signal.v1` and carry the source reference, authenticity or trust level, +dedupe fingerprint, evidence references, and source-thread preview. This packet +is the portable world-before-action state that `work-plan`, `issue-to-pr`, +hosted queues, and source-thread projections preserve. + +Close the Runx turn after intake is complete with terminal `closure` control +metadata: a disposition, stable reason code, and concise summary. Closure is +receipt control state, not part of the issue-intake artifact, and must not +pretend the recommended downstream lane has already executed. + +When an adapter has provider context beyond the visible thread text, attach it +to `signal.evidence_refs` or a referenced artifact. Source adapters own +provider-specific fetching and redaction before calling this skill; this skill +only reasons over the supplied, reviewer-safe signal and artifacts. + +Hydration is a gate, not a best-effort decoration. If supplied signal or +artifact metadata says provider context is still needed, do not select +`action_decision=proceed_to_build`. Use `manual-review` or `request_review` and +explain the missing adapter context in `operator_notes`. If provider context is +unavailable, use the remaining signal only when it is still concrete enough for +a bounded reply, plan, or PR; otherwise stop for human review. + +The `change_set` is the parent artifact for any later planning or worker +fanout. It is what keeps multiple repo-scoped lanes aligned to one shared +objective. + +`change_set` must contain: + +- `change_set_id` +- `thread_locator` +- `summary` +- `category` +- `severity` +- `recommended_lane` +- `commence_decision` +- `action_decision` +- `target_surfaces`: array of objects with: + - `surface`: repo, product surface, or bounded target name + - `kind`: one of `repo`, `package`, `docs`, `support`, or `other` + - `mutating`: boolean + - `rationale`: why this surface is implicated +- `shared_invariants`: array of constraints that all downstream lanes must + preserve +- `success_criteria`: array of concrete outcomes that define success for the + whole change +- `outbox_entry` (optional): current outbox entry for status + updates, replies, or draft-change refreshes when the caller already knows it + +When `recommended_lane=issue-to-pr`, also include `thread_change_request` with: + +- `task_id` +- `thread_title` +- `thread_body` +- `thread_locator` +- `thread` (optional) +- `outbox_entry` (optional) +- `size`: one of `micro`, `small`, `medium`, or `large` +- `risk`: one of `low`, `medium`, or `high` + +When `recommended_lane=work-plan`, also include +`workspace_change_plan_request` with: + +- `change_set_id` +- `objective` +- `project_context` +- `thread_locator` +- `thread` (optional) +- `target_surfaces` +- `shared_invariants` +- `success_criteria` + +Do not emit both `thread_change_request` and `workspace_change_plan_request` for +the same report. + +Prefer conservative routing: + +- if the report is bounded and well-understood, use `commence_decision=approve` + and `action_decision=proceed_to_build` +- if the next step should be planning instead of mutation, use + `commence_decision=approve` and `action_decision=proceed_to_plan` +- if the likely next lane is clear but mutation or planning should wait for + maintainer confirmation, use `commence_decision=approve` and + `action_decision=request_review` +- if the report is ambiguous, under-specified, or risky, use + `commence_decision=hold` or `needs_human` + +## Inputs + +- `thread_title`: canonical thread title +- `thread_body`: canonical thread body or request text +- `thread_locator` (optional): canonical locator for the bounded thread, + such as an issue, chat thread, ticket, or local agent session +- `thread` (optional): provider-backed thread for the current + thread +- `outbox_entry` (optional): current outbox entry for replies, draft changes, + or refreshes +- `signal` (optional): provider-neutral `runx.signal.v1` observation gathered + by the source adapter before decision +- `product_context` (optional): product-specific constraints or routing hints +- `operator_context` (optional): maintainer or support posture guidance +- `source_event` (optional): admitted Slack, Sentry, GitHub, file, API, or + other provider event. Consuming repos decide source filters before calling + this skill. +- `source_policy` (optional): source admission and routing policy. Do not + hardcode channel names, Sentry projects, or owners in this skill. +- `operational_policy` (optional): `runx.operational_policy.v1` packet used by + downstream repo-changing lanes for source, target, runner, and source-thread + admission. diff --git a/docs/sourcey-catalog/pages/issue-to-pr.md b/docs/sourcey-catalog/pages/issue-to-pr.md new file mode 100644 index 000000000..fd904d2af --- /dev/null +++ b/docs/sourcey-catalog/pages/issue-to-pr.md @@ -0,0 +1,201 @@ +# issue-to-pr + +- Group: GitHub and delivery +- Source: [skills/issue-to-pr/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/issue-to-pr/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/issue-to-pr/SKILL.md` + +# Issue to PR + +Drive one bounded thread-driven change through the scafld 2.4-compatible +lifecycle and package the result as a provider-agnostic draft pull-request +packet. + +The graph separates cognition from mutation. Agent phases author the scafld +markdown spec and the bounded repo change bundle. Deterministic `fs.write` and +`fs.write_bundle` phases are the only places files are written to disk. scafld +owns the workflow kernel: `plan`, `validate`, `approve`, `build_to_review`, +`status`, `review`, `complete`, and `handoff`. runx owns the explicit authoring +boundaries, deterministic writes, receipts, and final outbox packaging. + +Branch creation and provider PR mutation are outside scafld. The caller or +adapter prepares the branch, then passes the intended branch into this lane. +The lane records that branch in the draft PR packet, and the GitHub adapter +fails closed if the workspace checkout does not match it. The final +`issue-to-pr-push-outbox` step is the only provider push boundary. + +## Lifecycle + +The graph runs: + +`scafld plan` -> author markdown spec -> write spec -> read spec -> validate -> +approve -> read approved spec -> read declared files -> author fix bundle -> +write fix bundle -> build to review -> status -> read current branch -> review +-> complete -> final status -> handoff -> package draft PR outbox -> adapter +push. + +There are no translation projection steps. `scafld handoff` is the human handoff +surface, `build_to_review` drives bounded native `scafld build` advances until +the task is review-ready, and `scafld review` is the native review boundary. + +## Thread Story + +The lane should leave one coherent source-thread story, not a stream of every +internal event. The durable milestones are: + +- source signal and the bounded request +- accountable decision that a PR is justified +- scafld spec approval and declared scope +- build and validation result +- adversarial review result +- draft PR publication +- human merge gate +- final provider outcome when observed + +Comments and PR bodies should summarize those gates with enough evidence for a +reviewer to act. They must not publish raw local paths, secrets, full command +dumps, or duplicate retry comments. User-facing labels should use plain terms +such as spec authoring, fix authoring, review, and human merge gate. + + +## Spec Authoring Contract + +The `issue-to-pr-author-spec` boundary must emit a full scafld +2.4-compatible markdown document, not YAML and not a reduced project brief. + +The document must preserve front matter with: + +- `spec_version: '2.0'` +- `task_id` +- `created`: ISO-8601 timestamp +- `updated`: ISO-8601 timestamp +- `title`: non-empty task title, normally `thread_title` +- `status: draft` +- `harden_status: not_run` +- `size`: one of `small`, `medium`, or `large` +- `risk_level` + +The body must include the standard scafld 2 sections: Current State, Summary, +Context, Objectives, Scope, Dependencies, Assumptions, Touchpoints, Risks, +Acceptance, at least one Phase section, Rollback, Review, Self Eval, +Deviations, Metadata, Origin, Harden Rounds, and Planning Log. + +The graph normalizes the front matter before writing the spec so current scafld +schema fields such as `title` and size stay deterministic even if the authoring +boundary omits or stales them. + +All changed-file declarations must use concrete repo-relative paths in +backticks under Context / Files impacted and Phase / Changes. Do not declare +scafld-managed control-plane artifacts under `.scafld/specs`, +`.scafld/reviews`, `.scafld/runs`, or old `.ai` governance paths as repo-change +scope. + +Documentation and process requests still need a concrete repo file. Prefer +existing docs surfaces supplied by `repo_snapshot.existing_files` or +`repo_context`, and declare at least one non-governance repo file for an +approved `issue-to-pr` lane. Do not leave the repo-change scope empty after the +decision layer has approved a PR. + +Validation commands must run against the current workspace state after the fix +bundle is written. Do not depend on git history ranges such as `HEAD~1` or +merge-base comparisons. Validation commands, when present, must be direct +repo-local checks such as test, lint, build, or file-content commands. Never use +runx runtime internals or `graph/scafld/run.mjs` as a validation command; +scafld is already the lifecycle runner around the task. + +For any code change, the approved spec must declare at least one targeted +test/spec file in the changed-file scope and include at least one executable +validation command that exercises that target. This applies even when the source +thread does not explicitly request coverage; code PRs are not publishable from +this lane without targeted test/spec scope or grounded scafld validation +evidence. If the source thread asks for tests, specs, regression coverage, +focused coverage, or request/service coverage, the targeted coverage requirement +cannot be softened to a generic smoke check. If no existing test/spec path is +declared but the repository layout makes a conventional path inferable, declare +that new test/spec file. If no grounded test/spec path or command can be +inferred from the repo snapshot, stop with a missing-evidence reason instead of +publishing a code-only PR. + +Preserve source-thread context in the spec's Summary, Origin, and Planning Log +so later PR packaging can explain why the lane ran and what evidence justified +the mutation. + +## Fix Authoring Contract + +The `issue-to-pr-apply-fix` boundary must emit a bounded `fix_bundle` with +`files: [{ path, contents }]` for every repo file needed to satisfy the approved +spec. For documentation or process changes, the approved spec, source thread, +repo snapshot, repo context, and declared file contents are sufficient when they +identify a narrow edit. + +When `repo_snapshot.recommended_files` contains concrete repo-relative files, +treat those files as actionable target evidence even if the generated spec is +worded conservatively. Read the recommended file and the nearest relevant test +or spec before blocking. If the source thread includes a runtime exception, +backtrace, failing command, or named behavior and the recommended file exists, +prefer the smallest conventional fix plus targeted regression coverage over an +empty bundle. + +For any production code change, `fix_bundle.files` must include the smallest +production fix and a targeted test/spec file, even when the source request does +not explicitly ask for coverage. Do not publish a code-only fix bundle from this +lane. If the approved spec, source thread, or acceptance criteria asks for +tests, specs, regression coverage, focused coverage, or request/service +coverage, the targeted test/spec file must directly cover that requested +behavior. If no test file exists, create the narrow conventional test file when +the repository structure makes that path inferable; otherwise block with the +missing path and evidence reason. + +If a declared file has `exists: false` and the approved spec intentionally +creates it, write the new file when the desired contents are inferable from the +spec and thread. Do not block solely because the file has no prior contents. + +Return `fix_bundle.status: blocked` with `files: []` only when no concrete +repo-relative target is declared, a required existing file cannot be read, or +the requested behavior cannot be inferred after inspecting the supplied target +files. The blocked reason must name the missing evidence and path because an +empty file bundle is a terminal policy denial before `write-fix`. + +## Inputs + +- `task_id`: scafld task id. +- `thread_title`: canonical title and default spec title. +- `thread_body`: full thread body or request text when available. +- `thread_locator`: canonical locator for the bounded thread. +- `thread`: portable thread for the current signal surface. +- `outbox_entry`: existing pull-request outbox entry when refreshing a draft. +- `harness`: optional `runx.harness.v1` packet for the governed run boundary. +- `signal`: optional `runx.signal.v1` packet. Preserve source references, + fingerprint, authenticity, and evidence references as stateful context + instead of reparsing source-thread prose. +- `decision`: optional `runx.decision.v1` packet. Preserve the accountable + selection rationale, selected act, and closure when the caller already made + the lane decision. +- `target_repo`: intended repository slug for PR packaging. +- `operational_policy`: optional `runx.operational_policy.v1` packet used to + admit the source, target repo, runner, and source-thread route before PR + packaging. +- `source_id`: optional operational policy source id. +- `runner_id`: optional operational policy runner id. +- `repo_snapshot`: compact structured snapshot of the target repo. +- `repo_snapshot_path`: optional path to a fuller repo snapshot artifact. +- `repo_context`: textual summary of repo shape and validation hooks. +- `size`: scafld size, default `small`. +- `risk`: scafld risk, default `low`. +- `base`: base ref for PR packaging, default `main`. +- `fixture`: workspace root containing `.scafld`. +- `scafld_bin`: explicit scafld executable path. +- `provider`, `provider_command`, `provider_binary`, `model`: optional native + scafld review provider overrides. + +## Structured Output + +On success, the lane emits: + +- `draft_pull_request`: provider-agnostic PR draft state derived from scafld + handoff, build, review, completion, status, and current git branch. +- `outbox_entry`: a `pull_request` outbox entry suitable for adapter push. +- `push`: adapter push result plus refreshed `thread` when the adapter supports + push. +- Story metadata suitable for one source-thread reviewer update that summarizes + the lifecycle gates and points at the human merge decision. diff --git a/docs/sourcey-catalog/pages/issue-triage.md b/docs/sourcey-catalog/pages/issue-triage.md new file mode 100644 index 000000000..54cc1bd50 --- /dev/null +++ b/docs/sourcey-catalog/pages/issue-triage.md @@ -0,0 +1,52 @@ +# issue-triage + +- Group: GitHub and delivery +- Source: [skills/issue-triage/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/issue-triage/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/issue-triage/SKILL.md` + +# Issue Triage + +Turn noisy issue streams into bounded, evidence-backed action. + +This skill is for issue selection and response drafting, not for silently +mutating repositories. Use it to identify which threads are worth attention, +understand the maintainer or contributor situation, and draft the next helpful +response or remediation path. + +Separate discovery from response. Discovery finds the thread worth engaging. +Response drafting turns one chosen thread into a concrete answer, escalation, +or change plan. + +Ground selection and response in the actual thread, repository facts, receipts, +and maintainer context; do not infer intent beyond what is visible. Lead with +the decision, answer, or next action in the project's own voice. Return +`needs_more_evidence` or `needs_human` when the thread is ambiguous, hostile, +underspecified, unsafe, or outside the maintainer's declared posture. + +## Output + +Discovery runner: + +- `issue_candidates`: candidate issues or discussions worth attention. +- `selection_rationale`: why one candidate should be handled next. +- `operator_notes`: constraints, caveats, or escalation triggers. + +Response runner: + +- `issue_profile`: concise summary of the chosen thread. +- `response_strategy`: recommended response posture and next action. +- `response_draft`: post-ready draft or maintainer handoff. +- `follow_up_actions`: concrete next steps after the response. + +## Inputs + +- `repository` (optional): repository slug or workspace reference. +- `query` (optional): search or queue objective for discovery. +- `issue_url` (optional): canonical issue URL for response drafting. +- `issue_snapshot` (optional): structured issue data when already fetched. +- `maintainer_context` (optional): project norms, release posture, and + response constraints. +- `operator_context` (optional): operator-supplied context used by higher-level + triage graphs. +- `objective` (optional): what the operator wants from this pass. diff --git a/docs/sourcey-catalog/pages/knowledge-router.md b/docs/sourcey-catalog/pages/knowledge-router.md new file mode 100644 index 000000000..afcb2f94d --- /dev/null +++ b/docs/sourcey-catalog/pages/knowledge-router.md @@ -0,0 +1,33 @@ +# knowledge-router + +- Group: Research and data +- Source: [skills/knowledge-router/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/knowledge-router/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/knowledge-router/SKILL.md` + +# Knowledge Router + +Route one question, source event, or support thread to the right knowledge +sources and follow-up path. + +This skill is for triage and routing, not answering the question directly. It +should tell a consuming graph where to look, who owns the domain, what evidence +is already available, and which next skill should run. + +Each route must name the supplied signal that justified its source match, +owner, escalation, and next-skill recommendation. Keep the result as a concise +dispatch note. Return `needs_more_context` when no route is supportable, and +`manual_review` for legal, billing, security, or destructive requests. + +## Output + +- `route`: selected knowledge or ownership domain and rationale. +- `source_matches`: relevant sources with the matching signal. +- `owner_recommendation`: owner or escalation target. +- `next_skill`: the bounded follow-up capability, if one is justified. + +## Inputs + +- `question` (required): user question, event, or thread summary to route. +- `available_sources` (required): source catalog, docs, systems, or owner map. +- `constraints` (optional): allowed systems, sensitivity, or preferred owner. diff --git a/docs/sourcey-catalog/pages/least-privilege.md b/docs/sourcey-catalog/pages/least-privilege.md new file mode 100644 index 000000000..c456223c6 --- /dev/null +++ b/docs/sourcey-catalog/pages/least-privilege.md @@ -0,0 +1,216 @@ +# least-privilege + +- Group: Safety and review +- Source: [skills/least-privilege/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/least-privilege/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/least-privilege/SKILL.md` + +# Least Privilege Auditor + +Turn granted authority plus observed usage into a bounded attenuation proposal. + +runx keeps a receipt of every scope a run actually exercised. This skill reads +that proof. It compares what a subject (a skill, a grant, or a principal) was +granted against what its receipts show it used, then proposes the narrowest +grant that still covers real usage. The output is a reviewable attenuation +proposal, not an automatic change. + +## What this skill does + +1. Diff granted authority against receipt-backed usage. +2. Classify each granted scope as `keep`, `narrow`, `remove`, or `defer`. +3. Propose the narrowest grant that still covers observed usage. +4. State residual risk after attenuation. +5. Emit a receipt-quality report a reviewer can apply or reject. + +## When to use this skill + +- Periodic least-privilege review of a skill, grant, or principal before + publish, renewal, or maturity promotion. +- After an incident, to identify authority that can be safely removed without + breaking observed behavior. +- Before expanding distribution of a public skill, to prove its grant is + minimal against real receipts. +- When a reviewer asks for a scope-by-scope evidence trail, not just a summary. + +## When not to use this skill + +- To grant new authority. This skill only narrows; widening is a human + decision. +- When no usable receipt evidence exists. Return `needs_more_evidence` rather + than guessing a grant down to nothing. +- For secret material handling or credential exposure. Use the appropriate + secret-leak triage flow instead of scope review. +- When the user asks for automatic permission changes. Produce a proposal and + stop unless a separate approved delivery lane exists. +- When grant semantics are unknown and cannot be normalized. Return + `needs_input` with the exact syntax or policy question. + +## Procedure + +1. Scope the audit target. + - Identify `subject`, grant source, receipt ids or receipt window, and + whether receipts are from the same principal or skill version. + - Gate: if the subject, grant list, or usage source is ambiguous, stop with + `needs_input`. + - Evidence expected: subject id or label, granted scope list, receipt ids or + an explicit statement that no receipts were available. + +2. Normalize granted scopes. + - Parse each scope into verb, resource, path or namespace, conditions, and + wildcard breadth. + - Preserve original scope strings. Do not rewrite policy syntax casually. + - Gate: if a scope cannot be parsed, keep it as `defer` and request the + missing policy semantics instead of treating it as unused. + +3. Build the usage model from receipts. + - Extract actual exercised verbs and resources from receipt steps, tool + calls, policy checks, denied checks, and completion status. + - Count successful use separately from denied or dry-run checks. + - Do not infer scope usage from a successful high-level task alone; cite the + receipt step or policy check that exercised the authority. + +4. Classify every granted scope. + - `keep`: at least one observed successful use requires the granted scope as + written, or a reserved/break-glass policy explicitly requires it. + - `narrow`: all observed uses fit a strictly smaller verb, resource, + namespace, condition, or path. + - `remove`: no observed use, denied check, or documented reserved purpose + supports the scope. + - `defer`: evidence is conflicting, receipt attribution is weak, or policy + semantics are unknown. + +5. Propose attenuation. + - Remove scopes classified as `remove`. + - Downgrade scopes classified as `narrow` only when every observed use fits + the narrower grant. + - Leave `keep` and `defer` scopes unchanged in the proposed grant. + - Gate: never produce a proposal narrower than the evidence supports. A + scope used once is used. + +6. State residual risk and reviewer action. + - Name what the proposed grant can still do. + - Name any broad scope kept despite thin evidence and why. + - Separate `applyable now` from `needs human policy decision`. + +7. Emit receipt expectations. + - A valid receipt for this skill should record input grant count, receipt + sources, classification counts, proposed removals or narrowings, stop + status, and unresolved questions. + +## Edge cases and stop conditions + +- Empty or unattributable usage evidence: return `needs_more_evidence`; do not + remove all scopes by default. +- Missing granted scopes: return `needs_input`; there is no baseline to diff. +- Receipt subject mismatch: return `needs_input` with the mismatched subject or + version. +- Conflicting receipts: classify affected scopes as `defer` and return + `needs_human` if the conflict changes the proposal. +- Wildcard grants: narrow only to observed resource prefixes when receipt + coverage is representative; otherwise keep and flag residual risk. +- Reserved, compliance, or break-glass scopes: keep unless the operator + provides explicit policy authority to remove them. +- Dry-run-only use: do not count as successful exercised authority unless the + grant exists solely for validation. +- Grant already matches usage: return `no_change` with the evidence summary. +- User asks to hide or omit unused authority: refuse that part and report the + complete scope diff. + +## Output schema + +Return a structured report with these fields: + +```yaml +status: attenuation_proposed | no_change | needs_more_evidence | needs_input | needs_human | refused +subject: string +evidence: + receipt_ids: [string] + receipt_window: string | null + grant_source: string | null + limitations: [string] +scope_diff: + - granted_scope: string + normalized: + verb: string | null + resource: string | null + conditions: object | null + observed_use: + count: number + verbs: [string] + resources: [string] + receipt_refs: [string] + classification: keep | narrow | remove | defer + proposal: string | null + rationale: string +attenuated_grant: [string] +removed_scopes: [string] +narrowed_scopes: + - from: string + to: string +kept_scopes: [string] +deferred_scopes: [string] +residual_risk: [string] +reviewer_action: applyable_now | needs_policy_decision | gather_more_receipts | none +receipt_expectations: + classification_counts: object + stop_status: string + unresolved_questions: [string] +``` + +## Worked example + +Input: + +```yaml +subject: skills/report-exporter +granted_scopes: + - drive.files.read:/reports/* + - drive.files.write:/reports/* + - drive.files.delete:/reports/* +usage_summary: + receipt_ids: [rx_101, rx_102] + observed: + - scope: drive.files.read:/reports/* + count: 8 + refs: [rx_101:step_3, rx_102:step_2] + - scope: drive.files.write:/reports/* + count: 2 + refs: [rx_101:step_6, rx_102:step_5] +``` + +Output: + +```yaml +status: attenuation_proposed +subject: skills/report-exporter +removed_scopes: + - drive.files.delete:/reports/* +narrowed_scopes: [] +kept_scopes: + - drive.files.read:/reports/* + - drive.files.write:/reports/* +attenuated_grant: + - drive.files.read:/reports/* + - drive.files.write:/reports/* +residual_risk: + - The skill can still read and write any file under /reports/*. +reviewer_action: applyable_now +``` + +The delete scope is removable because no cited receipt exercised delete +authority. The read and write scopes stay because each was used at least once. + +## Inputs + +- `subject` (optional): skill id, grant id, principal, or other label for what + is being audited. +- `granted_scopes` (required): the current scopes granted to the subject, + preferably in canonical policy syntax. +- `usage_summary` (required): receipt-derived usage. Include receipt ids, step + refs, observed verbs, resources, success or denial status, and the time + window when available. +- `objective` (optional): operator intent that focuses the review, such as + "prepare for public publish" or "post-incident attenuation". +- `policy_notes` (optional): reserved scopes, compliance constraints, or + human-approved exceptions that affect removal decisions. diff --git a/docs/sourcey-catalog/pages/operator-inbox.md b/docs/sourcey-catalog/pages/operator-inbox.md new file mode 100644 index 000000000..c461200a3 --- /dev/null +++ b/docs/sourcey-catalog/pages/operator-inbox.md @@ -0,0 +1,114 @@ +# operator-inbox + +- Group: Operate +- Source: [skills/operator-inbox/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/operator-inbox/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/operator-inbox/SKILL.md` + +# Operator Inbox + +Maintain a durable action queue without turning a connector into the owner of +operator state. + +The caller fetches bounded, grant-authorized provider pages and passes their +normalized observations to this skill. The skill owns work-item identity, +status, dispositions, replay suppression, reopen rules, and scan coverage. Every +read and write is composed through `data-store`; the skill does not call Slack, +SQLite, Postgres, or another provider directly. + +## What this skill does + +Use `local://runx/operator-inbox/default` unless the operator selects another +logical source. Unbound local refs resolve to SQLite under +`.runx/data/local-sources/`. A hosted database is opt-in through the same +`data_source_ref` binding. Runx Connect may still own OAuth, grants, and provider +execution; that does not move this queue into the hosted control plane. + +Observations and resumable checkpoints live in `operator_inbox_scans`, partitioned +by query digest. Action snapshots live in `operator_inbox_actions`, with one +stream per stable thread digest. Queue reads use bounded `list_stream_heads` +pages; no command folds or transports the complete queue. + +## When to use this skill + +- Build or revisit a local action queue from bounded connector observations. +- Preserve an explicit `resolved`, `dismissed`, `waiting`, or `followed_up` + decision across repeated provider scans. +- Reopen a completed item when a newer external occurrence arrives. +- Inspect bounded action or scan state without handing queue ownership to the + provider or hosted control plane. + +## When not to use this skill + +- Do not fetch provider data, reply, send, or mutate a remote account here. +- Do not infer that an item is complete from message text or provider state. +- Do not use it as an unbounded archive of raw messages or credentials. +- Do not place a private operator's routing policy or identity in this public + package; pass normalized observations and explicit dispositions as inputs. + +## Status rules + +Items use `open`, `waiting`, `followed_up`, `resolved`, or `dismissed`. + +- Provider observations never infer completion. +- A human disposition records actor, reason, time, the latest external + occurrence it covers, and optional HTTPS evidence. +- Replaying old search history preserves the human status. +- An external message newer than the covered occurrence reopens the item to + `open`, including unseen work that arrived before the disposition was saved. +- Scan coverage is explicit: `running`, `complete`, `truncated`, or `failed`. +- Direct mentions are actionable structural evidence. Author and keyword scans + remain observation-only unless the operator explicitly marks the query + actionable. The skill does not contain provider-specific keyword heuristics. + +The provider-neutral thread locator is the item key. Stored previews are bounded; +credentials, tokens, and full provider response envelopes are forbidden. + +## Procedure + +1. Read the latest checkpoint for the bounded query digest. +2. Resume its provider cursor when the prior scan was interrupted or truncated. +3. Fetch one bounded provider page through the caller's authorized connector. +4. Record actionable messages against their per-thread streams and append the + scan page with its next cursor. +5. On a version conflict, reload only the affected scan or action stream and + retry the idempotent transition. +6. List queue state through bounded action-head pages and use + `record_disposition` only for an explicit operator correction. + +The loop is outside the kernel. Each page or disposition remains one governed, +receipt-backed Runx turn. + +## Edge cases and stop conditions + +- `needs_input`: missing query identity, observation, disposition, + actor, reason, or scan coverage. +- `conflict`: the projection version is stale; reload before retrying. +- `provider_unavailable`: the caller cannot prove provider read coverage. +- `too_broad`: a page exceeds the bounded message count or contains unnormalized + provider data. +- `refused`: a caller asks this skill to send, reply, broaden a grant, store a + token, or silently claim complete coverage. + +## Output schema + +Write runners emit `runx.effect.transition.v1`, containing the effect family, +operation, expected projection version, idempotency key, and one normalized +event. Read and list runners return the corresponding bounded `data-store` +event result; they never synthesize provider coverage or completion. + +## Worked example + +Given a normalized direct mention from a teammate in one provider thread, +`record_action_observation` derives the stable action id from the provider-neutral +thread locator and appends an `open` action snapshot. If the operator later +records `resolved` with a reason, replaying that mention preserves `resolved`; +a newer external reply in the same thread appends a reopened `open` snapshot. + +## Inputs + +All runners require `data_source_ref`. Write runners also take the target id, +`expected_version`, and `observed_at`, plus exactly the normalized payload for +their operation: `scan` and `messages`, `message` and `triage`, `disposition`, +or an imported `action`. Reads take `action_id` or `query_digest`; list runners +take bounded `limit` and optional cursor or filter fields. diff --git a/docs/sourcey-catalog/pages/ops-desk.md b/docs/sourcey-catalog/pages/ops-desk.md new file mode 100644 index 000000000..443307a01 --- /dev/null +++ b/docs/sourcey-catalog/pages/ops-desk.md @@ -0,0 +1,325 @@ +# ops-desk + +- Group: Operate +- Source: [skills/ops-desk/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/ops-desk/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/ops-desk/SKILL.md` + +# Ops Desk + +Operate a project, workspace, or account from an agent-controlled desk. + +This skill is the generic operations desk layer. It turns a state snapshot, an +operator objective, and receipt-backed evidence into one safe ops desk packet: +what is happening, what needs attention, what can be checked read-only, what +requires approval, which governed lane should execute, and how success will be +verified. + +It is not the authority and it is not a second CLI. It does not replace +`release`, `send-as`, `ledger`, `refund`, `spend`, `messageboard`, +provider-specific adapter skills, hosted API routes, repository workflows, or +deploy commands. It routes to the existing interface with the smallest +sufficient context and stops before any consequential act that lacks the right +gate. + +## What this skill does + +`ops-desk` produces an ops desk packet for a manager dashboard, agent +session, or self-operation run. It reads projected state, classifies findings, +ranks the next action, selects the governed lane, names blockers, writes the +approval prompt when a human decision is required, and states the +receipt/effect/readback that will prove success. + +It is useful before an action and after an action: + +- before action, it turns state into proposals and approval requests; +- after action, it checks whether the expected receipt and projection appeared. + +The model may diagnose and write the operator rationale. The mutation itself +must be a deterministic handoff to an existing skill runner, CLI command, hosted +API route, workflow, or provider tool. + +When the desk should start from durable state, use `operate_from_projection`. +That runner reads a projection through `data-store` first, then passes the +projection as the dashboard snapshot. The storage provider is still selected by +the logical `data_source_ref`; ops desk does not know whether state came from +SQLite, Postgres, D1, Redis, or a product API. + +When a standing case must be advanced one move at a time toward a mandate, use +`advance`. It takes the mandate, the current `case_state`, and a fixed +`candidate_roster`, and returns a single typed `dispatch_decision`: dispatch one +roster member, escalate, or done. It applies the same ranking and the same gates as +`operate`, but it is hard-constrained to the roster and emits one move instead of a +multi-proposal plan. The caller (an agency loop) holds the case and the goal; ops +desk supplies the judgment. The chosen member is named as data; ops desk never runs +it. + +## When to use this skill + +- An operator asks an agent to manage a project, workspace, product, account, + or other bounded operating surface. +- A dashboard needs an agent-readable plan from the current projected state. +- A runbook needs to decide between read-only checks, proposals, approval-gated + actions, and post-action verification. +- A product-specific operator skill needs a generic cockpit spine instead of + inventing its own action model. +- A standing case (an agency) needs the single next governed move chosen from a + fixed roster, one turn at a time. +- Runx needs to dogfood its own release, registry, hosted, receipt, or provider + operations through the same governed lanes it exposes to users. + +## When not to use this skill + +- To execute a live mutation directly. Route to the named governed lane. +- To duplicate a CLI command, release script, GitHub workflow, hosted endpoint, + registry client, or provider SDK. +- To bypass a human gate because the agent or UI believes the action is obvious. +- To replace a domain skill such as `send-as`, `messageboard`, `release`, + `ledger`, `refund`, `spend`, `least-privilege`, or a provider + adapter. +- To operate from stale, missing, or unverifiable state while claiming readiness. +- To put secrets, private keys, raw customer lists, or provider dumps into the + ops desk packet. + +## Operating Model + +Use one loop: + +```text +snapshot -> findings -> proposals -> approval -> governed lane -> receipt -> projection +``` + +The manager dashboard and the agent must read the same state and emit the same +action families. A button click and an agent plan are different interfaces over +the same governed lane, not separate backdoors. + +## Delegation Model + +Ops desk packets name existing execution surfaces; they do not implement them. + +- `release` owns release preparation, approval, publish handoff, and + post-release verification. +- `ledger`, `audit-receipt`, and `run-history` own proof questions. +- `send-as` owns authority for live communications; provider adapter skills own + provider-specific execution details. +- `spend`, `charge`, `refund`, and branded payment skills own money movement. +- Project skills own product vocabulary and product-specific actions. +- CLI commands, hosted API routes, and GitHub workflows remain deterministic + execution interfaces. The operator skill may cite them as handoff targets but + must not clone their behavior in prose. + +If no existing lane can perform the action cleanly, return `needs_input` or a +product gap. Do not invent a private workaround. + +## Procedure + +1. Scope the objective. + - Identify the workspace, project, account, surface, time window, and whether the ask is + read-only, proposal-only, or execution-prep. + - Read `project_profile` or `operator_policy` as context, not authority. + - If the operating scope or objective is ambiguous, return `needs_input`. + +2. Classify state from evidence. + - Use `dashboard_snapshot`, `receipt_summary`, `effect_summary`, and + `provider_status` when present. + - Treat missing evidence as missing. Do not infer success from UI state alone. + - Separate health, money, communications, provider mutations, access, + deployment, and incident signals. + - For review, catalog, publication, bounty, or marketplace work, classify + whether the artifact is real, useful, complete, and valuable. A reachable + artifact with no credible user, maintainer, operator, public proof, or + marketing value is not ready. + - If using `operate_from_projection`, treat the read projection as the + dashboard snapshot. An empty projection is not an error, but it should + usually produce `needs_input` rather than fake readiness. + +3. Route to governed lanes. + - Release questions route to `release` plus the project release profile and + existing release workflow/commands. + - Audit questions route to `ledger`, `audit-receipt`, `run-history`, + or `least-privilege`. + - Live communication routes through `send-as` and then a provider adapter. + - Payment collection, payout, refund, chargeback, or target changes route to + the matching payment lane. + - Board, thread, and provider actions route to `messageboard`, a provider + adapter, `issue-intake`, `issue-to-pr`, or the product's own skill. + - Deploy and config changes route to the product-owned deploy lane. + +4. Decide gates. + - Read-only checks: no human approval. + - Drafts, dry-runs, previews, and reports: no live-action approval unless they + expose private data or broaden authority. + - Live sends, payouts, refunds, customer-visible posts, provider mutations, + target changes, credential changes, deploys, destructive actions, and broad + audience decisions: explicit approval required. + - A review verdict, recommendation, or green dry-run is not payment approval. + Money movement needs a separate approval prompt naming the amount, recipient, + rail, target class, and verification receipt expected after settlement. + - Missing approval means `awaiting_approval`, not "ready". + +5. Produce the ops desk packet. + - Lead with the few issues an operator should act on now. + - Name the exact lane for each proposed action. + - Include the existing execution interface as a handoff, not as a duplicated + implementation. + - Include approval copy only when the operator could approve it safely. + - Include verification steps that will prove the action happened. + +6. Stop cleanly. + - Return `needs_input` for missing scope, objective, identity, authority, + evidence, approval, or target. + - Return `refused` for requests to bypass gates, hide material facts, leak + secrets, spoof receipts, mark unsettled money as settled, or send without a + principal/audience/content digest. + +## Edge cases and stop conditions + +- **No project/workspace/account or objective:** return `needs_input`; there is + no safe operating frame. +- **No projection or receipt evidence:** return `needs_input` or `unknown` + status; do not convert silence into `ok`. +- **Requested action has unknown consequence:** stop at `needs_input` with the + missing lane/consequence classification. +- **Money, public send, deploy, credential, target, destructive, or provider + mutation without approval:** return `awaiting_approval`. +- **Approval text is too broad to approve safely:** return `needs_input` with the + exact missing amount, audience, target, network, provider, or effect. +- **User asks to skip a gate, hide a blocker, forge a receipt, or mark state + settled without proof:** return `refused`. + +## Reference Loading + +Load only the reference needed for the objective: + +- Payments, payouts, refunds, payment rail adapters, reconciliation: + `references/payments.md` +- Email, campaigns, notifications, customer/public communication: + `references/communications.md` +- Receipt verification, ledger, trust roots, after-action proof: + `references/receipts.md` +- Provider health, deploys, webhooks, credentials, outages: + `references/providers.md` +- Manager dashboard state, projections, and action catalog design: + `references/dashboard.md` +- Delegation, project profiles, CLI/workflow handoff, and dogfooding rules: + `references/delegation.md` + +## Output schema + +Return one `ops_desk_packet`: + +```yaml +ops_desk_packet: + decision: ready | awaiting_approval | needs_input | no_action | refused + scope_ref: string + objective: string + mode: read_only | proposal | execution_prep | post_action_review + dashboard: + health: ok | degraded | blocked | unknown + money: ok | needs_attention | blocked | unknown + communications: ok | needs_attention | blocked | unknown + providers: ok | needs_attention | blocked | unknown + receipts: ok | needs_attention | blocked | unknown + findings: + - severity: info | warning | critical + area: health | money | communications | providers | receipts | access | deploy + summary: string + evidence_refs: [string] + proposals: + - action_id: string + lane: string + reason: string + inputs_summary: object + consequence: read_only | draft | live_mutation | money_movement | public_send | deploy + approval_required: boolean + approval_prompt: string | null + blockers: [string] + verification: + expected_receipt: string + expected_effect: string | null + readback: string + execution: + interface: skill | cli | hosted_api | workflow | provider_tool | manual + lane_ref: string + profile_ref: string | null + command_ref: string | null + workflow_ref: string | null + approval_gate: string | null + verifier_ref: string | null + ordered_next_steps: + - step: string + lane: string + requires_confirmation: boolean + refused_reasons: [string] + needs_input: [string] + success_checkpoint: + milestone: string + description: string +``` + +The `advance` runner returns one `dispatch_decision`: + +```yaml +dispatch_decision: + decision: dispatch | escalate | done + reason: string + dispatch: # present when decision == dispatch + member: string # a role from candidate_roster + skill: string # that role's roster skill, echoed + task: string # what the member should do + needed_scope: [string] # subset of the member's scope ceiling + consequence: read_only | draft | live_mutation | money_movement | public_send | deploy + verification: + expected_receipt: string + readback: string + escalation: # present when decision == escalate + to: string # a roster role or "human" + trigger: string + ask: string + approval_prompt: string | null + resolution: # present when decision == done + reason: string +``` + +## Decision rules + +- Prefer one clear next action over a dashboard dump. +- Never bury a required approval in prose; put it in `approval_prompt`. +- Never expose tokens, API keys, raw customer lists, private wallet keys, or + provider response dumps. +- Never claim a state is settled, sent, deployed, paid, or refunded without a + receipt/effect/readback reference. +- Never route a public artifact, skill, bounty result, or docs deployment as + ready when it lacks a credible real-world audience or durable public evidence. +- Never widen authority because a dashboard widget would be convenient. +- Never duplicate an existing CLI command, workflow, hosted endpoint, or domain + skill in operator prose. Route to it. +- Keep product-specific policy in product context. Keep this skill generic. + +## Inputs + +- `objective` (required): operator request, e.g. "check payments and unblock + funding", "prepare a campaign send", or "review stuck receipts". +- `scope_ref` (required): the project, workspace, account, product, or bounded + surface being operated. +- `dashboard_snapshot` (optional): JSON summary of current projected state. +- `receipt_summary` (optional): JSON or prose receipt/effect summary. +- `provider_status` (optional): JSON or prose provider health/account state. +- `approval_context` (optional): existing operator approvals, denials, or + policy gates. +- `operator_policy` (optional): project-specific constraints and lane names. +- `project_profile` (optional): project topology, existing interfaces, and + verification expectations. It is context, not authority. +- `requested_action` (optional): preselected action lane or dashboard action id. + +## Worked example + +Input: "Check payment readiness and tell me what to do next" with a dashboard +snapshot showing healthy quote/readback state, three funded items, no unfunded +approved items, and one rail adapter webhook status `needs_review`. + +Output: `decision: ready`, money status `ok`, providers status +`needs_attention`, one warning finding for rail webhook readiness, and one +proposal routing to `provider.webhook_check` with no money movement. It does +not propose marking anything funded, because no unfunded approved item is +present and the latest funding receipt is already verified. diff --git a/docs/sourcey-catalog/pages/policy-author.md b/docs/sourcey-catalog/pages/policy-author.md new file mode 100644 index 000000000..78e59247a --- /dev/null +++ b/docs/sourcey-catalog/pages/policy-author.md @@ -0,0 +1,175 @@ +# policy-author + +- Group: Safety and review +- Source: [skills/policy-author/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/policy-author/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/policy-author/SKILL.md` + +# Policy Author + +Author one governed runx operational policy from intent, and prove it lints. + +Adopting governed runx means writing an operational policy: which repos may be +touched, who owns which surface, which sources are trusted, what confidence is +required before action, and which outcomes need a human. Written by hand that is +a long, error-prone document. This skill turns a plain-English governance brief +into one `runx.operational_policy.v1` proposal, or tightens an existing policy, +and runs a fail-closed lint over it before it ships. It proposes; a human +approves. + +## What this skill does + +1. **Read the intent.** Take the governance brief (and an existing policy when + tightening) and identify the target surfaces, sources, owners, and the risk + posture. +2. **Draft the policy.** Produce a complete `runx.operational_policy.v1`: target + repos, runner binding, allowed actions, trusted sources with confidence + floors, owner routes, and outcome rules. +3. **Lint fail-closed.** Run the policy checks below. Any failing check blocks + the proposal with the exact fix, rather than shipping a permissive policy. +4. **Tighten, never loosen.** When given an existing policy, only propose + changes that narrow authority (auto-merge off, human gate on, confidence up). + Widening is a separate, explicit human decision. + +## Core principles + +- **Fail closed.** Unspecified means denied. A missing owner route, source rule, + or confidence floor is a lint error, not a permissive default. +- **Human gate on mutation.** Any policy that allows repository mutation must set + `require_human_merge_gate: true` and `auto_merge: false`. +- **Named owners.** Every target surface routes to a named owner; no orphan + surfaces. +- **Bounded sources.** Each trusted source declares a minimum confidence; no + source admits work below its floor. +- **Verification before close.** A source issue closes only when the outcome is + verified. + +## When to use this skill + +- Bootstrapping a new runx deployment that needs an operational policy. +- Tightening an existing policy after a near-miss or an audit. +- Onboarding a new target repo, source, or owner into an existing policy. + +## When not to use this skill + +- To widen authority (add auto-merge, drop a human gate, lower confidence). That + is an explicit human decision, not a generated proposal. +- To write skill logic or graphs. This authors the governance envelope, not the + skills it governs. + +## The operational policy model + +The proposal fills `runx.operational_policy.v1`: + +- `target_repos`: the repositories the policy may act on. +- `runner`: the runner binding (id, kind, and required substrate, e.g. GitHub + Actions + scafld). +- `allowed_actions`: the lanes permitted (e.g. `issue-intake`, `issue-to-pr`, + `pr-review`). +- `sources`: trusted inbound sources, each with a `min_confidence` floor. +- `owner_routes`: surface-to-owner routing; every surface has a named owner. +- `outcomes`: `verification_required`, `close_source_issue`, + `require_human_merge_gate`, `auto_merge`. + +## Lint diagnostics + +The fail-closed lint emits these; any error blocks the proposal: + +- `policy.owner.unrouted` (error): a target surface has no owner route. +- `policy.mutation.no_human_gate` (error): mutation allowed without + `require_human_merge_gate: true`. +- `policy.mutation.auto_merge_on` (error): `auto_merge` is true on a mutating + policy. +- `policy.source.no_confidence_floor` (error): a source has no `min_confidence`. +- `policy.source.floor_too_low` (warning): a confidence floor below 0.7. +- `policy.close.before_verify` (error): `close_source_issue` set without + `verification_required`. +- `policy.action.unknown` (error): an allowed action is not a known lane. + +## Procedure + +1. Validate that the brief names the governed work, the target repo or surface, + and the intended owner or escalation route. +2. Extract all repos, sources, actions, owners, confidence floors, and outcome + rules from the brief and any existing policy. +3. If tightening an existing policy, diff proposed changes against the current + grant. Flag any widened action, lower confidence floor, removed owner, or + removed human gate as a separate human decision. +4. Draft the smallest complete `runx.operational_policy.v1` that allows the + stated work and denies everything else. +5. Run the lint diagnostics. Any `error` finding prevents `decision: ready`. +6. Emit the policy, lint result, rationale, blockers, and success checkpoint. + +## Edge cases and stop conditions + +- **No owner route:** return `needs_input`; an ownerless surface is never + governed by default. +- **Mutation without a human gate:** return `reject` or `needs_input`; do not + emit a ready mutating policy without `require_human_merge_gate: true`. +- **Auto-merge requested:** block the proposal unless the user explicitly + performs a separate authority-widening decision outside this skill. +- **Unknown action lane:** return `needs_input` with the unknown action names. +- **Source without confidence floor:** return `needs_input`; implicit trust is + not a policy. +- **Conflicting owner routes:** return `needs_input` and cite the conflicting + surfaces and owners. + +## Output schema (`policy_proposal`) + +```yaml +decision: ready | needs_input | reject +policy: + schema: runx.operational_policy.v1 + target_repos: [string] + runner: + id: string + kind: string + requires: [string] + allowed_actions: [string] + sources: + - provider: string + min_confidence: number + owner_routes: + - surface: string + owner: string + outcomes: + verification_required: boolean + close_source_issue: never | when_verified | always + require_human_merge_gate: boolean + auto_merge: boolean +lint: + status: pass | fail + findings: + - id: string + severity: error | warning + message: string +rationale: string +blockers: [string] +needs_input: [string] +success_checkpoint: + milestone: string + description: string +``` + +A proposal with any `error` finding must have `decision: needs_input` or +`reject`, never `ready`. + +## Worked example + +Brief: "Govern issue intake across our three repos. GitHub issues and Sentry +alerts. Kam owns the platform, Chong owns product. Never auto-merge; a human +approves every merge; close the source issue only once the fix is verified." + +The proposal binds the three repos to a GitHub-Actions + scafld runner, allows +`issue-intake`/`issue-to-pr`/`pr-review`, trusts GitHub at 0.72 and Sentry at +0.82, routes platform to Kam and product to Chong, and sets +`require_human_merge_gate: true`, `auto_merge: false`, +`verification_required: true`, `close_source_issue: when_verified`. The lint +passes, so `decision: ready`. + +## Inputs + +- `governance_brief` (required): the governance intent in prose. +- `existing_policy` (optional): a current `runx.operational_policy.v1` to tighten. +- `target_repos` (optional): explicit repo list when not in the brief. +- `objective` (optional): operator intent that focuses the pass. diff --git a/docs/sourcey-catalog/pages/release.md b/docs/sourcey-catalog/pages/release.md new file mode 100644 index 000000000..78675c2e1 --- /dev/null +++ b/docs/sourcey-catalog/pages/release.md @@ -0,0 +1,133 @@ +# release + +- Group: GitHub and delivery +- Source: [skills/release/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/release/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/release/SKILL.md` + +# Release + +Turn a proposed release into an audited publication. The skill owns the release +decision process: evidence gathering, changelog preparation, approval, publish +handoff, verification, and announcement. It does not own a project's custom +release implementation. Project-specific topology lives in a release profile +that names existing commands, workflows, registries, deploy targets, and +verification readbacks. + +Every version and changelog claim must trace to commits, tags, checks, package +metadata, or explicit operator context. Write release material for package +consumers: say why this version matters and what they should do next, without +generic launch language or positive wording that hides a blocker. Stop in +`prepare` or at approval when checks fail, versioning is unclear, evidence is +thin, or the announcement would overstate what shipped. + +Two runners: + +- **`prepare`** (read-only) — survey the commit range since the last tag, + classify commits, stage a changelog, run the declared checks, and emit a + `release_brief` describing what would ship, what is blocked, and what + remains unresolved. Safe to run unattended and in CI. +- **`release`** (default, graph) — wires `prepare` → approval gate → + `publish` → `verify`. `publish` is not exposed as a standalone runner; it is + only reachable inside the graph after the approval transition clears. + +Invoke `runx skill release prepare` for a CI dry-run. Invoke +`runx skill release` to run the governed end-to-end flow. + +## Phases + +### prepare + +The read-only phase. Reads git history, classifies each commit since the +previous semver tag (`feat`, `fix`, `refactor`, `chore`, `breaking`), +stages a changelog, reads the project release profile when supplied, and runs +the declared release checks. Emits a `release_brief` with the findings. + +The brief is the only artifact that flows forward. If it is not +`publishable`, the graph stops at the approval gate with the reasons +attached. + +### approve-publish + +A typed approval step. The gate id is `release.publish.approval`. The +brief is provided as context so the approver sees what would ship before +deciding. + +The policy transition only advances to `publish-release` when +`approve-publish.approval_decision.data.approved` is `true`. No back +channel, no implicit approval on timeout. + +### publish-release + +The destructive phase. Takes the approved `release_brief` from graph context and +hands off to the project-declared release interface: an existing CLI command, +GitHub Actions workflow, hosted API route, provider tool, or manual release +gate. Every side effect is recorded in `publish_report.side_effects[]` with its +locator and evidence; the graph receipt seals the trail. + +Refuses to act if the brief is missing, unpublishable, or not carried +through the approval gate. Refuses to act if the project profile asks the agent +to reimplement release logic instead of naming an existing execution surface. + +### verify-release + +The proof phase. Reads the `publish_report`, release brief, and project profile, +then verifies external state: registry versions, release assets, deploy health, +site/changelog readbacks, package-manager manifests, or any other project-owned +release acceptance criteria. Emits a `release_report` for operator review and +public audit. + + +## Inputs + +| Name | Required | Description | +|---|---|---| +| `project_root` | yes | Absolute path to the project being released. | +| `channel` | yes | Publishing target (`npm`, `pypi`, `github-release`). | +| `profile_ref` | no | Path or registry ref for a project-owned release profile. The profile describes existing commands/workflows and verification expectations; it is not authority. | +| `last_tag` | no | Previous release anchor. Defaults to the latest semver tag reachable from the current branch. | +| `operator_context` | no | Cadence, campaign, or posture guidance for this release. | + +## Outputs + +- `prepare` emits `release_brief_packet` carrying `release_brief`: + changelog, check results, proposed version, unresolved flags, + publishable verdict. +- The graph emits a graph receipt that links the prepare brief, the + approval decision, publish report, and verification report into one auditable + trail. +- `publish-release` (inside the graph) emits `publish_report`: registry + URL, release tag, announcement packet, and a `side_effects[]` list with + a locator and evidence per write action. +- `verify-release` emits `release_report`: expected lanes, observed readbacks, + missing artifacts, conditional skips, and final release verdict. + +## Trust boundary + +`prepare` is safe to run unattended and in CI. The destructive work is only +reachable through the graph, and the graph refuses to transition to +`publish-release` without an approved decision from `release.publish.approval`. +The graph enforces the gate; the skill does not bypass it. + +Project profiles are context, not authority. A profile may say which workflow, +command, registry, or URL should be used. It cannot grant credentials, skip +approval, or authorize a destructive release by itself. + +## Scopes + +- `runx:release:read` — required by the prepare phase. +- `runx:release:publish` — required by the publish phase; the graph grant + must include this only when the approval transition has cleared. +- `runx:release:verify` — required by the verification phase. + +## Tasks + +- `release-prepare` — the read-only phase task. Provides the + `release_brief` output shape. +- `release-publish` — the destructive phase task. Only reachable inside + the graph; requires the approved brief in context. +- `release-verify` — the proof phase task. Reads external state and reports + whether the release actually landed. + +These are managed-agent task contracts carried by the skill package and its +`X.yaml` graph definition. They are not a separate registered task catalog. diff --git a/docs/sourcey-catalog/pages/research.md b/docs/sourcey-catalog/pages/research.md new file mode 100644 index 000000000..599ec312f --- /dev/null +++ b/docs/sourcey-catalog/pages/research.md @@ -0,0 +1,51 @@ +# research + +- Group: Research and data +- Source: [skills/research/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/research/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/research/SKILL.md` + +# Research + +Research one bounded question and turn it into a decision-ready packet. + +This skill is for applied research, not open-ended browsing. It should answer +one practical question with evidence, tradeoffs, and explicit uncertainty: +which issue is worth tackling, what the ecosystem is doing, whether a proposal +is grounded, or what claims a public post can safely make. + +Keep the scope tight. Summaries without evidence are not enough, but an +undirected literature review is also wrong. Prefer a small number of verified +claims that change the operator's decision. + +## Operating rules + +- State the objective in operational terms. +- Distinguish verified evidence from inference. +- Give every important claim a source and confidence. +- Surface missing evidence instead of inventing it. +- Bound the result to a concrete deliverable: brief, issue recommendation, + content outline, or publish/no-publish decision. +- State what the finding changes: what to write, build, avoid, defer, or review. +- Return `needs_more_evidence` rather than forcing a speculative conclusion, + and `not_worth_publishing` when a true finding is irrelevant to the audience. + + +## Output + +- `research_brief`: object with `objective`, `scope`, `summary`, and + `open_questions`. +- `evidence_log`: array of evidence entries with `claim`, `source`, + `confidence`, and `relevance`. +- `decision_support`: array of options or recommendations with rationale. +- `risks`: array of research or execution risks. + +## Inputs + +- `objective` (required): the question to answer. +- `domain` (optional): ecosystem, product area, or audience context. +- `deliverable` (optional): intended artifact, for example `daily brief`, + `triage recommendation`, or `publish packet`. +- `operator_context` (optional): local constraints or strategic context. +- `target_entities` (optional): array or object naming repos, products, + competitors, communities, or issues that bound the research. diff --git a/docs/sourcey-catalog/pages/review-receipt.md b/docs/sourcey-catalog/pages/review-receipt.md new file mode 100644 index 000000000..f5f38807a --- /dev/null +++ b/docs/sourcey-catalog/pages/review-receipt.md @@ -0,0 +1,83 @@ +# review-receipt + +- Group: Safety and review +- Source: [skills/review-receipt/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/review-receipt/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/review-receipt/SKILL.md` + +# Receipt Review + +Diagnose what went wrong in a skill or graph execution and propose the +smallest change that fixes it. + +Read the receipt or failure summary. Identify what was attempted, what +succeeded, and where it broke. The receipt contains step statuses +(`sealed`, `failure`, `policy_denied`, `needs_agent`), +exit codes, stderr, scope admission decisions, +and timing. + +Distinguish root cause from symptoms. A graph may report failure at step 4, +but the root cause may be bad output from step 2 that propagated through +context passing. Trace data flow backward through context edges to find +where the problem originated. + +Classify the failure: + +- **Input error** — required input missing or malformed. Fix: input + validation or input resolution. +- **Scope denial** — step requested scopes outside the graph grant. + Fix: scope declarations or grant configuration. +- **Tool failure** — CLI tool or adapter returned an error. Fix: tool + invocation (args, env, cwd) or the tool itself. +- **Schema mismatch** — step output did not match expected shape for + downstream context. Fix: output parsing or artifact contract. +- **Timeout** — step exceeded time budget. Fix: increase timeout, + reduce work, or split the step. +- **Policy denial** — transition gate blocked the step. Fix: gate + conditions or upstream output. +- **Review rejection** — adversarial review found blocking issues. + Fix: the code or spec, not the review process. +- **Harness assertion** — fixture expectations did not match actual + output. Fix: skill logic or stale fixture expectations. + +## Agent-mediated suspension is not a failure + +A receipt with status `needs_agent` denotes a healthy +agent-mediated suspension, not a defect. The runtime yielded to the +caller for missing agent or human input. +This is a normal part of graph execution, not one of the failure +classes above. When the only evidence is `needs_agent` without +any exit code, scope denial, schema mismatch, or other concrete +failure signal, return `verdict: pass` with an empty +`improvement_proposals` array and note that the graph is paused as +designed. + +One failure, one fix. Propose the smallest change that addresses the root +cause. Do not bundle unrelated improvements. + + +## Output + +The output shape is formalised as JSON Schema at +[review-receipt-output.schema.json](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/schemas/review-receipt-output.schema.json). +Agents should self-validate before returning, and downstream +consumers (notably `write-harness`) may validate on receipt. + +- `verdict`: `pass`, `needs_update`, or `blocked`. +- `failure_summary`: which step, which failure class, what root cause. + One to three sentences. +- `improvement_proposals`: array of bounded changes. Each: + - `target`: what to change (SKILL.md, execution profile, graph step, input, fixture) + - `change`: what specifically to change + - `rationale`: why this fixes the root cause + - `risk`: what could go wrong +- `next_harness_checks`: replayable checks that should pass after the fix. + +## Inputs + +All optional — supply whichever evidence is available: + +- `receipt_id`: receipt id to inspect. +- `receipt_summary`: sanitized receipt or harness summary. +- `harness_output`: failed harness output or assertion text. +- `skill_path`: path to the skill being improved. diff --git a/docs/sourcey-catalog/pages/run-history.md b/docs/sourcey-catalog/pages/run-history.md new file mode 100644 index 000000000..afbfc819e --- /dev/null +++ b/docs/sourcey-catalog/pages/run-history.md @@ -0,0 +1,112 @@ +# run-history + +- Group: Outbound and tooling +- Source: [skills/run-history/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/run-history/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/run-history/SKILL.md` + +# Run History Analyst + +Turn runx's own run ledger into a governed, read-only report. + +Every governed runx run leaves a receipt. Over time that ledger is data: which +skills run, how often they seal versus refuse, which never graduate past alpha, +and where authority is consistently broader than usage. This skill reads that +ledger (via `runx history` and `runx list`) and reports it. It never executes a +skill, sends, or mutates; every planned call is read-only. Its recommendations +route to the governance skills, `least-privilege`, `audit-receipt`, +and the maturity promoter, so the report turns into action through the right +governed lane. + +## What this skill does + +1. **Scope the question.** Account-wide, a single skill, or a period. +2. **Pull the ledger, read-only.** Plan `runx history` and `runx list` queries; + never an execution command. +3. **Grade the signals.** Seal rate, refusal rate, maturity distribution, and + scope-usage breadth, each with an assessment, not a bare number. +4. **Recommend through governed lanes.** A high refusal rate, a skill stuck at + alpha, or a consistently-unused scope routes to a named governance skill, not + a direct mutation. + +## Core principles + +- **Read-only.** Only `runx history` and `runx list`. No execution, send, or + config call. Every planned call is `requires_confirmation: false`. +- **Grade, do not dump.** Every metric carries an assessment against a norm. +- **Route, do not act.** Recommendations name the governed lane + (`least-privilege`, `audit-receipt`, maturity promoter); this skill + does not change a grant or a tier itself. +- **Refusals are signal, not failure.** A healthy refusal rate means bounds are + working; a spike means a skill or a policy needs review. +- **Absence is not health.** With no history, return `needs_more_evidence`. + +## When to use this skill + +- Periodic platform review: what is runx actually doing across skills. +- Spotting skills with anomalous refusal rates or stuck maturity. +- Finding consistently-unused scopes worth attenuating. + +## When not to use this skill + +- For a single run's authority audit (use `audit-receipt`). +- To narrow one skill's grant from its usage (use `least-privilege`). +- For email or product analytics. This reports on runx runs, not a domain + dataset; that is a separate, product-owned analytics skill. + +## Signals and norms + +- `seal_rate`: share of runs that sealed cleanly. good >0.9, warning 0.7-0.9, + critical <0.7. +- `refusal_rate`: share of runs that hit a governed refusal. info by default; a + sharp per-skill spike is a warning worth routing. +- `maturity_distribution`: counts at alpha / beta / stable. Many skills stuck at + alpha is a warning (no harness coverage). +- `scope_usage`: scopes granted but never exercised across runs, a candidate for + attenuation. + + +## Output schema (`history_report`) + +```yaml +decision: ready | needs_more_evidence +scope: workspace | skill | all +period: string +ordered_tool_calls: + - tool: runx history | runx list + purpose: string + requires_confirmation: boolean # always false; read-only +findings: + - metric: string + value: string + assessment: good | warning | critical | info +recommendations: + - finding: string + lane: least-privilege | audit-receipt | maturity-promoter | none + action: string +blockers: [string] +needs_input: [string] +success_checkpoint: + milestone: string + description: string +``` + +## Worked example + +Question: "How is the skill catalog behaving this month?" The report plans +`runx history --since 30d` and `runx list skills --json`, then reports a 0.94 +seal rate (good), a refusal rate of 0.06 (info, bounds working), a maturity +spread of 14 alpha / 5 beta / 2 stable (warning, most skills lack harness +coverage), and one skill granted `repo.write` but never exercising it across 40 +runs. It recommends routing the alpha-heavy spread to the maturity promoter and +the unused `repo.write` to `least-privilege` for attenuation. It changes +nothing itself. + +## Inputs + +- `objective` (required): the history question. +- `scope` (optional): `workspace`, a specific `skill`, or `all`. +- `period` (optional): e.g. `30d` or `90d`. +- `history_summary` (optional): a sanitized `runx history` summary when already + fetched. +- `objective` guides which signals to lead with. diff --git a/docs/sourcey-catalog/pages/sandbox-harden.md b/docs/sourcey-catalog/pages/sandbox-harden.md new file mode 100644 index 000000000..7beac1649 --- /dev/null +++ b/docs/sourcey-catalog/pages/sandbox-harden.md @@ -0,0 +1,194 @@ +# sandbox-harden + +- Group: Safety and review +- Source: [skills/sandbox-harden/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/sandbox-harden/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/sandbox-harden/SKILL.md` + +# Sandbox Harden + +Decide the narrowest sandbox a workload can run inside without breaking it. + +## What this skill does + +Most workloads ship with the default sandbox their runtime hands them: the full +seccomp default, a broad capability set, unrestricted egress, a writable root. +That default is sized for the worst case, not for this workload. This skill reads +what a named workload actually needs and emits the tightest posture that still +lets it run: an allowed-syscall list, the capabilities to drop, an egress +allowlist, and a filesystem stance, with the residual risk named in plain terms. + +The output is a posture recommendation, not an enforced change. A runtime, an +orchestrator, or an operator applies it. This skill never executes the workload +and never widens a posture below the supplied baseline without saying why. + +How it differs from its neighbors: `least-privilege` audits API scopes, +not syscalls; `audit-receipt` reads a sealed run after the fact. This skill is +the only one that reasons about the seccomp, capability, egress, and filesystem +posture a workload should run inside before it starts. The recommendation reads +input only and writes nothing; applying it is a separate runtime act that +exercises `sandbox:configure` on the named workload and nothing wider. + +## When to use this skill + +- Before running an untrusted or third-party workload, to decide its sandbox. +- During a security review of an existing deployment whose sandbox is the broad + default. +- When promoting a workload toward production and the runtime posture must be + reviewable, not implicit. +- When an operator needs the egress allowlist and dropped capabilities written + down before a runtime applies them. + +## When not to use this skill + +- To run, build, or schedule the workload. This skill recommends a posture; a + runtime, orchestrator, or operator executes the workload under it. +- To audit which API scopes or grants a subject used. That is + `least-privilege`; it reasons about authority, this one reasons about + syscalls, capabilities, egress, and the filesystem. +- To audit a sealed receipt for over-reach after the fact. That is + `audit-receipt`. +- To handle, store, or surface the secret material a workload reads. A hardening + profile names a mount path or a secret handle, never a secret value. +- To produce a posture for a workload whose identity is unknown. Return + `needs_agent` instead of hardening an unnamed target. + +## Procedure + +1. **Resolve the workload.** + - Accept an image digest (`sha256:...`) or a skill ref. Record which form was + supplied as `hardening_profile.workload`. + - Gate: if no workload is supplied, stop with `needs_agent`. There is nothing + to harden. + +2. **Build the behavior model.** + - Combine the workload class (web service, batch job, CLI, language runtime), + the supplied `threat_context`, and the `baseline` posture. + - Distinguish known behavior from assumed behavior. A profile built on assumed + syscall need is weaker evidence than one built on an observed or documented + call set. + - Gate: if the behavior is unknown enough that the syscall set, egress, or + write paths would be a guess, stop with `needs_more_evidence` and name what + observation would resolve it (a trace, a manifest, a dry run under audit + seccomp). + +3. **Recommend the seccomp profile.** + - Default to `deny`. Add only syscalls the behavior model supports. + - Prefer a named runtime default profile plus an explicit allow delta over a + hand-rolled full list when the workload class has a known good baseline. + - Never add a syscall family with no behavioral basis. Unknown need is a stop + condition, not a blanket allow. + +4. **Drop capabilities.** + - Start from "drop all", then justify each capability kept. + - A capability is kept only when the behavior model needs it. Name the reason + per kept capability in the rationale. + +5. **Set the egress posture.** + - Default to `mode: none`. Move to `mode: allowlist` only when the workload + has a named, justified destination set. + - List hosts, not raw allow-everything. An empty allowlist means no egress. + - Never recommend open egress as a convenience. + +6. **Set the filesystem posture.** + - Default to `readonly: true` with an explicit `writable_paths` list. + - Each writable path is justified by the behavior model (scratch, cache, a + declared output dir). A writable root is a finding, not a default. + +7. **State residual risk.** + - After the controls above, name what an attacker who fully controls the + workload could still do, the `level`, and the `reason`. + - Residual risk is never "none". If the profile is built on assumed behavior, + say so here. + +8. **Honor the baseline.** + - The recommended posture must be at least as strict as the supplied baseline + on every axis. If the model would relax any control below the baseline, do + not relax it silently; either keep the baseline or, where a relaxation is + genuinely warranted, record the reason in the rationale and raise the + residual-risk level. + +The narrowness gate and the evidence gate are the two that hold authority: no +control weaker than the baseline without a stated reason and a raised +residual-risk level, and no syscall, host, or write path with no behavioral +basis. A posture no tighter than the baseline with no new evidence is not worth +emitting. + +## Edge cases and stop conditions + +- **Missing workload:** return `needs_agent`; an unnamed target cannot be + hardened. +- **Unknown behavior:** return `needs_more_evidence` with the observation that + would resolve it; do not pad the syscall set with plausible families. +- **Workload needs a privileged capability** (for example `CAP_SYS_ADMIN`): keep + it only with a stated reason and raise the residual-risk level; never drop a + capability the workload provably needs just to look tighter. +- **Egress to a dynamic or unbounded host set:** keep `mode: allowlist` with the + known hosts and flag the unbounded remainder as residual risk; do not fall back + to open egress. +- **Baseline is already tighter than the model:** keep the baseline; the + recommendation never loosens a control the operator already set. +- **Secret material in the input:** reference it by mount path or handle in the + profile and rationale; never copy a secret value into the output. +- **Conflicting threat context and baseline:** prefer the stricter control and + name the conflict in the rationale. + +## Output schema + +```yaml +hardening_profile: + decision: ready | needs_more_evidence | needs_agent + workload: + ref_form: image_digest | skill_ref + image_digest: string + skill_ref: string + class: string + seccomp: + default: deny | allow + allowed_syscalls: array + dropped_caps: array + egress: + mode: none | allowlist + hosts: array + filesystem: + readonly: boolean + writable_paths: array + residual_risk: + level: low | medium | high + reason: string + rationale: string +``` + +The single `hardening_profile` object is packet `runx.hardening.v1`. Secrets, +tokens, key material, and raw fetched content never appear in the profile; +secret-bearing inputs are referenced by mount path or handle only. The receipt +carries the workload ref form and digest, the four posture axes, the +residual-risk level, the stop status, and the quality and voice profile hashes. +It carries no secret values and no syscall trace payloads. + +## Worked example + +Input: `workload` is `{ image_digest: "sha256:1f4c...", class: "batch job" }`; +`threat_context` is "processes untrusted user uploads, no inbound network"; +`baseline` is "docker default seccomp, all caps, open egress, writable root". + +Output: `decision: ready`. `seccomp.default: deny` with an allowed set covering +file I/O, memory, and process control but not `ptrace`, `mount`, or raw socket +families. `dropped_caps` is the full default set (the job needs none). +`egress.mode: none` (no inbound or outbound network in the threat context). +`filesystem.readonly: true` with `writable_paths: ["/tmp/work"]` for upload +scratch. `residual_risk.level: low`, reason: a compromised job can still consume +CPU and fill `/tmp/work` to its quota; it cannot reach the network or escalate. +The rationale records that the syscall set is assumed from the batch-job class, +not from an observed trace, so a trace would raise confidence without widening +the posture. + +## Inputs + +- `workload` (required, json): the target to harden, as `{ image_digest }` or + `{ skill_ref }`, optionally with `class`. Without it the skill returns + `needs_agent`. +- `threat_context` (optional, string): the trust assumptions and exposure, for + example "processes untrusted uploads, no inbound network". +- `baseline` (optional, string): the current or floor posture. The + recommendation is never weaker than this without a stated reason. diff --git a/docs/sourcey-catalog/pages/sourcey.md b/docs/sourcey-catalog/pages/sourcey.md new file mode 100644 index 000000000..53c452014 --- /dev/null +++ b/docs/sourcey-catalog/pages/sourcey.md @@ -0,0 +1,383 @@ +# sourcey + +- Group: Outbound and tooling +- Source: [skills/sourcey/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/sourcey/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/sourcey/SKILL.md` + +# Sourcey + +Generate a documentation site for a project using Sourcey. Sourcey is a static +documentation generator that produces HTML sites from markdown pages, OpenAPI +specs, Doxygen XML, and MCP server snapshots. + +## What this skill does + +By default, runx executes Sourcey as a governed mixed-runner skill: + +1. discover the bounded documentation scope, evidence, and plan +2. request approval +3. author the bounded docs/config bundle +4. write the source bundle deterministically +5. build docs deterministically +6. critique the built output in one bounded pass +7. apply at most one bounded revision pass +8. rebuild and verify the output deterministically + +For already-configured projects, the same `sourcey` runner stays narrow: the +discover step can confirm existing config, the author/revise passes can return +empty bundles, and the deterministic tool steps still perform the build and +verification work. + +For repository-backed projects, Sourcey owns two separate surfaces: committed +docs source and generated site output. Keep those separate. Do not mix emitted +HTML, search indexes, or OG assets back into the authored docs tree. + +## When to use this skill + +- A project needs a maintainer-grade documentation site generated from real + repository evidence, existing docs, API specs, Doxygen XML, or MCP snapshots. +- A branded package or product needs Sourcey output with governed discovery, + approval, authoring, deterministic build, critique, revision, and receipt + proof. +- A workflow needs to separate authored docs source from generated site output + while preserving a reviewable receipt trail. +- A maintainer wants CI or deploy to rebuild docs without inventing scope, + prose, or information architecture at deploy time. + +## When not to use this skill + +- To manufacture documentation when the repository evidence is too thin. Return + `needs_more_evidence` or `needs_review` instead of confident filler. +- To write generated HTML, search indexes, or Open Graph assets back into the + source docs tree. +- To bypass approval for a new docs plan or to run open-ended critique/revision + loops. +- To document APIs by hand when an OpenAPI, Doxygen, or MCP source can be used + directly by Sourcey. + +## Documentation rules + +Sourcey output should read like native project documentation that a maintainer +would stand behind: + +- build from project evidence, but do not expose the evidence-gathering process + as page prose +- preserve the project's own terms, priorities, and level of ambition +- make fewer pages with real substance rather than many generic pages +- make a real developer action easier—install, evaluate, integrate, operate, or + contribute; a polished site with thin content is a failed run +- never use "generated by Sourcey", preview, adoption, migration, scaffold, or + demo framing unless the project itself uses that framing +- never describe pages as machine output, agent output, or AI-generated docs; + the site should read like the project maintainer wrote and stands behind it +- when publishing public docs, use a credible durable project, maintainer, + organization, product, or documentation home. Random personal domains, + placeholder parent sites, sandbox hosts, preview deploys, throwaway + subdomains, and unrelated novelty domains are not publication-quality homes +- if the repo evidence is too thin for a strong docs page, surface that as an + evidence gap instead of manufacturing confident filler + +## Canonical semantics + +Complex runx skills share a reusable phase language: + +- `scope` +- `ingest` +- `model` +- `materialize` +- `evaluate` +- `revise` +- `verify` +- `ratify` + +The current Sourcey runner deliberately uses a bounded subset: + +- `discover` folds `scope + ingest + model` +- `approve` is `ratify` +- `author + write-docs + build` form `materialize` +- `critique` is `evaluate` +- `revise + write-revisions + rebuild` form `revise` +- `verify` is `verify` + +The current slice uses exactly one bounded revision window. It never loops +until good and it never critiques indefinitely. + +When `docs_inputs` is supplied explicitly, treat that as a bounded instruction +to use the existing config target. Do not overwrite the referenced config or +invent replacement docs files merely because repository inspection evidence is +thin. Missing evidence is not the same as missing files. + +## Procedure + +1. Inspect the project and discover a bounded documentation plan from real project evidence. +2. Approve the discovered plan before authoring. +3. Author the bounded Sourcey source bundle. +4. Persist that bundle deterministically. +5. Run `sourcey build` deterministically with the discovered or authored config. +6. Critique the built output in one bounded evaluation pass. +7. Apply at most one bounded revision pass from that critique. +8. Rebuild deterministically after the revision bundle is written. +9. Verify the output directory contains `index.html`. +10. Inspect the receipt and generated site. + +The deterministic build report should carry enough rendered evidence for an +external reviewer to reason about the site without hidden file access. At +minimum that means the generated file list plus index-page title, headings, and +an excerpt when `index.html` exists. + +## Discovery contract + +`discovery_report` may include additional planning metadata, but the canonical +resolved docs inputs must live under: + +- `discovery_report.discovered.brand_name` +- `discovery_report.discovered.homepage_url` +- `discovery_report.discovered.docs_inputs` + +Downstream deterministic build steps consume that nested `discovered` object. + +## Output schema + +Sourcey build produces: HTML pages, `sourcey.css`, `sourcey.js`, +`search-index.json`, `sitemap.xml`, `llms.txt`, `llms-full.txt`, and +`_og/` directory with generated Open Graph images. + +The sealed package includes: + +```yaml +discovery_report: + discovered: + brand_name: string | null + homepage_url: string | null + docs_inputs: object | null +doc_bundle: + files: array + summary: string +sourcey_build_report: + generated_files: array + index_title: string + index_headings: array + index_excerpt: string +evaluation_report: object +revision_bundle: + files: array + summary: string +sourcey_verification_proof: + verified: boolean + index_path: string +receipt_notes: + authority: governed docs plan approval + mutation: authored docs source writes only +``` + +## Worked example + +Input: a project contains `README.md`, `package.json`, and a partial `docs/` +tree, but no Sourcey config. + +Output: `decision: ready` after approval; Sourcey discovers the project name, +homepage, and docs inputs, writes a bounded `docs/sourcey.config.ts` plus only +the highest-value missing docs pages, builds to `.sourcey/runx-docs`, critiques +the rendered `index.html`, applies at most one revision bundle, verifies the +output, and seals a receipt with the build report and verification proof. + +If the project evidence does not support a maintainer-grade site, the run stops +with `needs_more_evidence` or `needs_review` instead of producing filler. + +## Inputs + +- `project` (required): project root directory. +- `repo_root`: optional alias for the project root when Sourcey is composed inside a parent graph that already uses `repo_root`. +- `brand_name`: project name (discovered from package evidence if omitted). +- `homepage_url`: project homepage (discovered from project evidence if omitted). +- `docs_inputs`: structured docs inputs, e.g. `{"mode":"config","config":"docs/sourcey.config.ts"}` or `{"mode":"openapi","spec":"openapi.yaml"}`. Discovered if omitted and may point at authored config produced by the skill. +- `project_brief`: optional grounded brief carrying brand cues, docs audit, + IA direction, and writing constraints. When present, the authored docs should + feel like native project docs rather than generic generated scaffolding. +- `output_dir`: generated site output path (default: `/.sourcey/runx-docs`). +- `sourcey_bin`: explicit sourcey executable path (default: `SOURCEY_BIN` env or `sourcey` on PATH). + +## Repository Contract + +- Keep authored docs source in the repository, usually under `docs/` when using + `docs/sourcey.config.ts`. +- Keep generated site output in `output_dir`, separate from the source tree. +- The default generated output path is `/.sourcey/runx-docs`. +- Generated output should be gitignored unless the project explicitly chooses to + version release artifacts. +- CI or deploy may run deterministic `sourcey build` from committed source. +- Deploy must not be the step where docs scope, prose, or IA is invented. Do + discovery, authoring, and review before deploy. +- For Astro host apps, prefer the first-class `sourcey/astro` integration over + a separate prebuild script that writes into `public/docs`. Keep + `docs/sourcey.config.ts` and markdown/spec inputs as source; let `astro dev` + serve Sourcey through Vite and `astro build` write generated docs into the + final output under the configured route. +- For public publication, include enough proof for an external reviewer to + inspect the target project, source commit, Sourcey config or input source, + generated page list, deployment URL, parent domain, and durability of the + hosting choice. + +## Astro host pattern + +Use this shape when the target already uses Astro and docs should live at a +path such as `/docs`: + +```typescript +import { defineConfig } from "astro/config"; +import sourcey from "sourcey/astro"; + +export default defineConfig({ + site: "https://example.com", + integrations: [ + sourcey({ + config: "./docs/sourcey.config.ts", + routeBase: "/docs", + }), + ], +}); +``` + +Do not add `prebuild`, `build:docs`, or committed `public/docs` artifacts for +this path unless the project explicitly cannot use Astro integrations. The +generated output remains reproducible build output, not authored source. + +## Config reference + +```typescript +import { defineConfig } from "sourcey"; + +export default defineConfig({ + name: "Project Name", + theme: { + preset: "default", // "default" | "minimal" | "api-first" + colors: { + primary: "#hex", // required + light: "#hex", // optional, derived from primary + dark: "#hex", // optional, derived from primary + }, + fonts: { + sans: "Inter", // optional + mono: "monospace", // optional + }, + layout: { + sidebar: "18rem", // optional + toc: "19rem", // optional + content: "44rem", // optional + }, + css: ["path/to/custom.css"], // optional + }, + logo: "path/to/logo.png", // or { light, dark, href } + favicon: "path/to/favicon.ico", + repo: "https://github.com/org/repo", + editBranch: "main", + editBasePath: "docs", // path from repo root to docs source + codeSamples: ["curl", "javascript", "python"], // for OpenAPI tabs + navigation: { + tabs: [ + // Markdown pages tab + { + tab: "Documentation", + slug: "", // empty = default tab + groups: [ + { group: "Getting Started", pages: ["introduction", "quickstart"] }, + { group: "Guides", pages: ["configuration", "deployment"] }, + ], + }, + // OpenAPI tab + { + tab: "API Reference", + openapi: "path/to/openapi.yaml", + }, + // Doxygen tab + { + tab: "C++ API", + doxygen: { + xml: "path/to/doxygen/xml", + language: "cpp", // "cpp" | "java" + groups: true, // use doxygen groups for nav + index: "auto", // "auto"|"rich"|"structured"|"flat"|"none" + }, + }, + // MCP tab + { + tab: "Tools", + mcp: "path/to/mcp.json", + }, + ], + }, + navbar: { + links: [ + { type: "github", href: "https://github.com/org/repo" }, + // types: github, twitter, discord, linkedin, youtube, slack, + // mastodon, bluesky, reddit, npm, link + ], + primary: { type: "button", label: "Demo", href: "/demo" }, + }, + footer: { + links: [{ type: "github", href: "https://github.com/org/repo" }], + }, + search: { + featured: ["introduction", "quickstart"], // top results when empty query + }, +}); +``` + +## Page format + +Pages are markdown files resolved relative to the config file directory. +If config is at `docs/sourcey.config.ts`, then page `"quickstart"` resolves +to `docs/quickstart.md`. + +```markdown +--- +title: Page Title +description: One-line description for search and meta tags +--- + +Content here. Standard markdown with code blocks, tables, links. +``` + +## Card Icon Contract + +Sourcey card icons are Heroicons v2 outline names in kebab-case. The renderer +returns an empty icon for unknown names, so authoring must use exact names. + +Known-good names for documentation cards include: `academic-cap`, `arrow-path`, +`bell`, `bolt`, `book-open`, `chart-bar`, `check-circle`, `cloud-arrow-up`, +`code-bracket`, `command-line`, `cpu-chip`, `cube`, `document`, +`document-text`, `exclamation-triangle`, `globe-alt`, `key`, `lifebuoy`, +`light-bulb`, `lock-closed`, `magnifying-glass`, `map`, `rocket-launch`, +`server-stack`, `shield-check`, `sparkles`, and `wrench-screwdriver`. + +Invalid card icon names are a blocking quality issue. The build report includes +`icon_validation`; critique and revision must fix any +`icon_validation.status: "invalid"` result before the run is accepted. + +## Edge cases and stop conditions + +- Only create tabs for content types the project actually has. Do not add an + OpenAPI tab if there is no spec file. Do not add a Doxygen tab without XML. +- Do not document APIs by hand when a spec file exists — use the spec tab. +- Keep navigation shallow: 1-2 tabs, 2-4 groups for most projects. +- Use project brand colors if identifiable. Otherwise use a neutral palette. +- Use only exact Heroicons v2 outline names for Sourcey card `icon` + attributes; never invent icon names. +- When a grounded brief provides logo, favicon, color, or IA guidance, prefer + that over generic defaults. +- Match the project's existing voice and terminology. +- Never write docs that describe themselves as a preview, adoption, migration, + or tool-generated scaffold unless the repo's own evidence explicitly uses that + framing. +- Do not write generated HTML, search indexes, or OG assets into the authored + docs source tree. +- If `output_dir` lives under the repo root, gitignore it or call out the + missing ignore rule as an operational gap. +- Build output may be regenerated in CI or deploy, but deploy must not author + or revise docs content. +- Public deployments must be durable and socially credible. Do not treat a + throwaway preview URL, unrelated personal domain, placeholder parent site, or + sandbox subdomain as a completed public docs home. +- Do not encode open-ended critique or revision behavior. Critique is one + bounded evaluation pass. Revision is at most one explicit bounded pass. diff --git a/docs/sourcey-catalog/pages/web-fetch.md b/docs/sourcey-catalog/pages/web-fetch.md new file mode 100644 index 000000000..0f749e676 --- /dev/null +++ b/docs/sourcey-catalog/pages/web-fetch.md @@ -0,0 +1,134 @@ +# web-fetch + +- Group: Research and data +- Source: [skills/web-fetch/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/web-fetch/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/web-fetch/SKILL.md` + +# Web Fetch + +Fetch one URL, prove it was allowed, extract the part the caller asked for, and +return that slice by digest with the provenance needed to trust it later. + +## What this skill does + +`web-fetch` resolves a single URL against a host allowlist, retrieves it, +extracts text, metadata, or links, and seals the result so a downstream step can +cite the fetch without re-fetching. It checks the final host against the +allowlist before and after redirects, retrieves up to `max_bytes`, and returns +the final URL, the HTTP status, a `content_digest` over the retrieved body, the +extracted slice, and a provenance block recording when it ran, every redirect +hop, and how many bytes it read. The body is referenced by digest; only the +extracted slice is inlined. + +This is the primitive an agent reaches for when it has already decided which page +to read. The decision it makes easier is "can I read this page, and what did it +actually say", with the answer backed by a digest instead of a remembered +paraphrase. It differs from the research family: `research` and +`deep-research` decide *which* sources matter and synthesize across them, +while `web-fetch` retrieves exactly one source and refuses anything off the +allowlist. + +## When to use this skill + +- An agent has chosen a specific page and needs its content bound to a + `content_digest` so a later step can cite it without re-fetching. +- A research pass needs each source retrieved through a single bounded + `net:allowlist` fetch with a complete redirect chain and byte count. +- A review must later prove what a page said at fetch time. +- A follow-on skill (prior-art, vuln-triage, brief) needs one source extracted as + `text`, `metadata`, or `links`. + +## When not to use this skill + +- To judge, rank, or synthesize across sources. That is the research family's + job; `web-fetch` retrieves exactly one source and refuses to reason over many. +- To reach a host the caller did not declare in `allowlist`, including a host + reached only through a redirect. +- To write anything. The only scope is `net:allowlist`; there is no repo, file, + wallet, or send authority here. +- To inline a large raw body. The extracted slice is the payload; the full body + lives behind `content_digest`. +- To carry secrets. Request headers may reference a credential by `${secret}` + handle, but no header value, cookie, token, or auth string appears in the + output or the receipt. + +## Procedure + +1. Require `url` and `allowlist`. Either missing returns `needs_agent`; the + fetch cannot run without a target and a declared scope. +2. Match the URL host against `allowlist`. On a miss, return `policy_denied` + before any network call, recording the attempted host and the allowlist it + was checked against. +3. Fetch, following redirects, re-checking each redirect target's host against + the same `allowlist`. A redirect that lands off-allowlist halts the fetch, + returns `policy_denied` with the hop that failed, and discards partial + bodies. Cap the read at `max_bytes` when set. +4. Compute `content_digest` over the retrieved body. +5. Extract per `extract`: `text` (readable body text, default), `metadata` + (title, description, canonical, declared language, content type), or `links` + (absolute hrefs found in the document). +6. Return `fetch_result` with the final URL, status, digest, extracted slice, + and provenance. Flag truncated reads in provenance; never return a clipped + read as if whole. + +## Edge cases and stop conditions + +- **Missing `url` or `allowlist`:** return `needs_agent`; the fetch has no target + or no scope to check against. +- **Host off the allowlist:** stop with `policy_denied` before any network call; + record the attempted host, not a response body (there is none). +- **Redirect off the allowlist:** halt the fetch, return `policy_denied` naming + the hop that failed, and discard the partial body. +- **Read clipped by `max_bytes`:** flag `truncated: true` in provenance; the + digest is over the bytes actually retrieved. +- **Large raw body:** never inline beyond the extracted slice; anything bigger + than the requested view is reachable only through `content_digest`. +- **Credential in a header:** reference it by `${secret}` handle only; no header + value, cookie, or token reaches the output or the receipt. + +## Output schema + +```yaml +fetch_result: + decision: ready | needs_agent | policy_denied + final_url: string # URL after redirects, the one the digest is over + status: number # HTTP status of the final response + content_digest: string # digest of the retrieved body, algorithm prefix included + extract_mode: text | metadata | links + extracted: string | object | array # string for text, object for metadata, array of hrefs for links + provenance: + fetched_at: string # timestamp of the fetch + redirects: array # ordered host hops, each re-checked against the allowlist + bytes: number # bytes read + truncated: boolean # true when max_bytes clipped the read + policy: + allowlist_decision: allowed | denied + attempted_host: string # set on policy_denied + allowlist_checked: array # the hosts the request was checked against +``` + +The sealed `runx.receipt.v1` carries the final URL, status, `content_digest`, +byte count, the redirect chain, and the allowlist decision. It carries no header +values, no cookies, and no raw body beyond the digest. + +## Worked example + +Input: `url` of the HTTP Semantics RFC, an `allowlist` of `www.rfc-editor.org` +and `rfc-editor.org`, `extract: text`, and `max_bytes: 200000`. + +Output: `decision: ready`; the host matched the allowlist before the request +left; no redirects; status `200`; `content_digest` is taken over the retrieved +body; `extracted` holds the readable text slice; provenance records +`fetched_at`, an empty redirect chain, `184302` bytes, and `truncated: false`. +The receipt seals with the final URL, status, digest, byte count, and the +allowlist decision; no header value reaches it. + +## Inputs + +- `url` (required): the single URL to fetch; its host must match the allowlist. +- `allowlist` (required): permitted hosts or host patterns; the URL and every + redirect target must match an entry. +- `extract` (optional): `text`, `metadata`, or `links`. Defaults to `text`. +- `max_bytes` (optional): cap on bytes read; a clipped read is flagged + `truncated` in provenance. diff --git a/docs/sourcey-catalog/pages/work-plan.md b/docs/sourcey-catalog/pages/work-plan.md new file mode 100644 index 000000000..1115cd627 --- /dev/null +++ b/docs/sourcey-catalog/pages/work-plan.md @@ -0,0 +1,107 @@ +# work-plan + +- Group: Operate +- Source: [skills/work-plan/SKILL.md](https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/work-plan/SKILL.md) +- Commit: `5afc25a83edf1c1320df7ac0d78c36f1523b5677` +- Path: `skills/work-plan/SKILL.md` + +# Work Plan + +Turn a build or automation objective into a bounded governed work plan. + +For cross-repo or cross-surface work, the output must be a phased +`workspace_change_plan`, not just a loose list of steps. The shared plan is the +thing that keeps repo-local workers aligned when one issue fans out into +multiple mutation surfaces. + +When the objective originates from an existing thread, treat that thread +as provider-backed thread. GitHub issues, chat threads, support +tickets, and local agent sessions are adapter examples, not core nouns. The +plan should preserve the generic `thread_locator` and any supplied +`thread`. + +The central insight: split at governance boundaries, not cognitive boundaries. +A skill keeps its full context window. If two actions need the same context +but different scopes, they are two invocations of the same skill with +different scopes — not two separate skills. The graph defines where authority +changes, where mutation happens, and where a gate needs to approve. That is +where steps break. + +Work backward from the deliverable. Name the concrete artifact the objective +produces (spec, patch, PR, docs site, report). Then identify where authority +narrows: read-only analysis, write-access mutation, approval gates, review +boundaries. Each narrowing is a step boundary. Each step gets only the scopes +it needs — no step inherits from a prior step, each derives from the graph +grant independently. + +Determine data dependencies between steps. A step that consumes output from +a prior step must come after it. Steps with no data dependency are candidates +for fanout. Do not parallelize steps that share mutation targets. + +If the objective is ambiguous or required context is missing, surface open +questions explicitly rather than guessing. Open questions should name what +is missing, why it matters, and who can answer it. + +Prefer fewer steps with clear scope boundaries. Three well-scoped steps +beat seven single-purpose fragments. Every step should have a clear entry +condition, action, and exit artifact. + + +## Output + +- `change_set`: the parent change artifact inherited from intake or constructed + for the objective when intake did not already produce one. It should preserve + the shared objective, target surfaces, invariants, and success criteria. +- `harness_context`: when supplied, the same `runx.receipt.v1` packet with state + advanced to `planning_ready` or `blocked`. Preserve source events, dedupe, + and triage fields rather than reconstructing them from prose. +- `objective_summary`: one sentence capturing the deliverable. +- `workspace_change_plan`: phased plan for the whole change set. It must + contain: + - `plan_id` + - `change_set_id` + - `objective_summary` + - `shared_invariants` + - `success_criteria` + - `phases`: ordered array. Each phase: + - `id` + - `name` + - `depends_on`: prior phase ids + - `parallelizable`: boolean + - `repo_change_requests`: ordered array. Each request: + - `repo` + - `task_id` + - `objective` + - `depends_on`: sibling repo change request ids this request waits on + - `shared_context_refs`: references into the parent change set or prior + phase outputs + - `validation_commands` + - `mutating` + - `integration_checks`: cross-repo checks that must pass before the overall + change set is considered done + - `open_questions` +- `orchestration_steps`: canonical execution view of the plan as an ordered array. + Each step: + - `id`: kebab-case identifier + - `skill`: skill name or path + - `scopes`: scope strings this step requires + - `mutating`: boolean + - `inputs`: static input map + - `context_from`: `step_id.output_field` data dependency references + - `description`: what this step does and produces +- `required_skills`: skill names needed. Flag which exist vs need creation. +- `open_questions`: missing context that must be answered before mutation. + +## Inputs + +- `objective` (required): the build or skill objective to decompose. +- `project_context` (optional): repo, product, or user context that + constrains the decomposition. +- `change_set` (optional): parent change artifact from `issue-intake` or a + workspace supervisor. Prefer this when present. +- `harness_context` (optional): portable issue control-plane packet from intake. + Preserve it as state, not as a prose handoff. +- `thread_locator` (optional): canonical locator for the bounded thread the + plan is serving. +- `thread` (optional): portable thread when the objective is + grounded in an existing issue, chat, ticket, or other adapter surface. diff --git a/docs/sourcey-catalog/site/_og/pages/agency.png b/docs/sourcey-catalog/site/_og/pages/agency.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4c2ddc717928431212bc33d80e2440f1a1d8d8 GIT binary patch literal 67800 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 z

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 C#S$U_ literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/audit-receipt.png b/docs/sourcey-catalog/site/_og/pages/audit-receipt.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac5a6f01c06b7d1da025db23c046567f8f0246e GIT binary patch literal 68896 zcmeGEWl&UM{|AikvUCel(kk6ZcPS#JGy<}8OLr|GAd*UV2qGm*H!Omzq=0lI-QD#Z z;Qrk+{}=za&&)G(?+a$wbFOn;-~N2#Y}jiRc|7b#*dP!HPvNDU8VH062Z2!BFwuc; zRHeN2L15e!1vzOAkF?DzPq?_5FW33Wk9yaQw7J6u%{R}!KRBg!4wSkUVtuTo!T5w3 z6CaWIW|`|voB|=5^ygA$x<@Ta*uNJElc|WLrR+PimNl*(uPQkC;WKrR^Jt#18gCcq z)mYE|xmfcX@j73#*nZdKwRPn;?7lVJaFOh-vvKC*UD9;ivvS$#^<3^hAHFxZ&VFIV$EE+N#{b*)z|sFK^DJWhV-3|)MNQWWvh4!D zs|_Zzu#a~iCvF(O^dJ8jS`GQes*K%pvBTf9U4II_E-`L?W0jeeiW{nJ)pye>&dsgu z>uv4r+{hmFf4zw}smeK?ILO;SZEer%s%Y2{$h8X&3#I!h!{D~b|S2iV7-!2rRmpacd_brri)|Oy(Gfa zZ-0pPr>OYPHT`4YlQY~38bLKGzm6BRkIUmTyh_C=EZOlXbw_E|h5j^DHNTPa+xU6v zb7VuHwPLVqRHan3Fjb)vi`3FBq))2Y`kD!>`t7|QCa(Zmq1aEI93Gw4w`;gu?;+-nlM{R`&A3%#h)SO=VmNxfoPMTLB@cyHUeBt%(&iQEP;o%GzQ z9>LTb@dJvZbk!EWeZgUz>%TPR8aQYLGLyzm7m?RFv#U2Tn^z&C@&sawW7aQyj|uLa zXbC<#obmfp7+P)6zxazr1?3llI7&k;t~X?wS#%g3mJf*C-r|Z9etDFO@ceMVf+6AO zHb;-_R4cKEp-MlUx9p!!yHu=fY6?XDxg*;J~JL*F;z-Vg~WybFkh%f~58dwZF-)Td1?7=Bzi?R=U;57&nrp zQe#LxeYkl#Olf`Fld^7Bi|_(s4BS0Gv-i@M(6CWX{E*Z_Z}$D#{ah4ehe*^|82?2h z-^BH%4_xY7WqSdMr){NZz%%!LlesN;4549pEin;Z4)*Oj+xHm?$C&ew@q# z-RYD`P6KH%mxu=-P5-){1f}<-fhHy$EU>rdYPULyG^QDqMt05imlw&1bq_>g2ok=Z zxsu;8B(OzV+62tLb$4vr!!<+3| z)`QBMo9xT{Hr94DkLsbb>E6pD>oCb#J-`zPeQgqYq2I4sIY~t<<*OGZYOsZ4JL*C! zvst!FeFM8rF$t*rPPyq=zVTvq&sW{c2YfY*)MO^qtnWp-s?0^P&ejG^OIB>b{L;Pt zecpG-B!DeUU84ASZyIbmwwDE&%t)Z~Z4yw)9`o4O%yN?TzmKzvio`O@u^pNZy3EgT zsbsIp<{Yxx;Yw4@-oIlnGXX@0C$xq2YMX7V;6_)|UF<228F%tATApooBm6-bEN!myG9$p=^a9) zsJ(u_tHoIB{laW9)F(1mf4QxYx!Mhfkd;D(<`Aa`V(@HR)J>&Y8~g>7F~7-3TKlTM zXbYipDwf52>5B4=OLW6r$~%VM|Dr|h2|vhONvsl_o5^@ZBBKL)K1WvM91n10y=4e%XcAG0iis<{4i)IaV#9LK#a7){6TMi1NT4l z{7}AmeFoLvqkcQ~=h$)8ILc&`oO@n~KM0w91+nz*Izw%?!R*tHTL==_x}F%7zH>_J zq2S^qljF~{XcEpXm&`#}d0fn9&dQfAZ@r1EREzmVsTobYP%Q1+ro~Pzbuk&sF&`#5 zkR>Fmjs{@uo6I(8i`%deODZw)6!108J?GMnU6J4(_?1q_c(o_t{G~WKc5O&tJb=Wz zB?~t$Z|!_9f`@NsUuL|a$;JN&_xSp!m$R*Obd&g=ylBs?!S3e*4rH@If;IExj6bH- zKcQ9w_f?Dx{=+sg0XX$lRdy+6ZdMD->=`Kgg76<3B^Z0NVklZ*V!?DIa{oWal&a0ZbENaW>PTYtDcu+ZP0hJ&Ei-u8Lpq6t!z;{IComtC2a?mD*SPZ)R(-iKg zm!S*Tu1QG34$_r)(g{fzPwQAxKYm2GM6=SE|MC%1BA>7Fft}!_d3pDJg!Cgvd`flz z;jHbxkx<&_dxn6jHgd1=K^Ri*Z5HIZ%Js9Ooe<3D{rDpt8e`U@3F~78Rhg}Qp6p)+ zggoi{rZVS&Hu2l%8B&(5v=R+6?u%`w*d$qqYBRloQ0xjEp(nksz&=n|k4 z%KCLo)`5P3V+L++z_{qkIE73E?8B)8#Ny13G5QUsX+#kLm#fhsJZ(uSW=YbL4P4MD zVHDJw>BBuOKPgJrOj-Q}BN<7@cUj^>KLEoTbe*(A3N2jnMtfu4F|0OfRwsk}K=fGu zsv=rDf+^5EMf{rFCeBEPLMX%~3&$PrpU1EREr>RgQd4X8_C5~FOPdppQi zo3igKAUfGRh&DB}`tzL?o|}N!%pZfYp+uU-Wt@*A!Qm0xF(o%Ah zY!y?zqyD=jI^39%2=U5jwhpRV=o2dskltBQliZ4-Zb?)?|2iNnhvJeaIUtMNJA!+> zJ@>D9&Fpj4+AZiOdlYMoe?5-w$|1d?37a4?#`&ZO$odOPK5h8x3Z&ji>vpMqW{^RM zO=iH=(xI3Brth4n00OrI%FfOBV=k0U2vlHq)aobAjY3et#W_Yh#+70q7{y;XZMwpf z?2FM9xujlHl9_CGMIUhrUwx8>gRff4K3Zr?X+|@RUDX%?R7xB>njM$9q$>7#EKAL; z!bY3lQlFfDr}iV@*{D28_5G35fBj^}E2gkbOkTg|%6^Bo32!McDs)+6Uv*yd) z`kec>DLOUZP-tj~V_U9z_af5ETu`j}t6d%5)N&preg|Qz0CeGeT2#31 ze`Q$6-g1?xdGssPG+W8`-_pc(3i}zOnSj#F-W$5!wA^vCq)DX$V)07KE%!ZNpC073 zWoom{V^r6#cqzh+1;no}Okm~|6Ovaa_J2?wpFeTNj7tL3HZ-|S63*?TJ-2-sTBbN{ z7}NY`V(qZ@(28rl>>$W9Ema2jJ$l?6;kRFg#Irh*r~>Hnz3lRxd1|uDwXc`ztDo%4 zKE15&q;h&5h4^ws#`s|OmmBJ*J+oyUfuM3|H9$}2ObyJ1nHKplir?o${}jgZb&ee+>2Yu_`_B0g$FC=ITM(G+dze7x{%1;8`KRKmA zncXw1p+yozJ)!);Qd^y*e?@m2&~uys%M{y^)B@mpf*;w)&DD*@aAJ$Prs|d9zG8A5 zD1i+Rg$MJuZDOU>^)9B$Stlu_xI53O;8&u>N<7P)4kfId z#(xZT@}0{@3Nsa~Vw{`sGF7@s;l`>e$tYX4j1x#b%HI(t+elfn|l(VhiJt;A&{|3i@g5S+9ykb!YPel1i0$;=_?;spsYR*#mC5 zxqj1VhSLe_^2se$N;uaZkMJ{?5&GLrCzt6TS!mbg->wW?++ZDIiHbF6bEiLf;+#~n zW^1NB;txxF<)8K`Zhnn3>EuT@7v19RaYP%k+t%}L2(fv1{w>*VZ;KY8le9wogQK=1 zX;T130~rddS3Z{L5Sl;|B&}fG+079Wq=k)I_U=3rFr8S1dHfq`EuqU}f34x0z0|_< zZT}sTMwHPHU1<-kYfVtyqb!pgjQ-`-F&e%M>ZIQ0mYxIA_O_z-n5uxbu)f#zK1`8A zVXRBqwDxM4)>f)^_g=eR7Y_DK{1^g73zUO(imi8eBspM^H>bX8bMtQGp8xfMWUJNf zur2MoG1XDJh`=+UAV+yWyjaUPyNZh-uNo?MFPp~^R{>W!*_k5bAxC3B)*Ri!?%1i) zvvp4RR5}Lp3XMu{HQF-`NN**_q-7Cqm1t&jKdQ!f)`LVGqmo`P1KD^^2QJ)SMSO2{ zL;|gnU<=f6V?NDHdz7?E_wE*!bF@o@@ExQf%09xZE%mp2!!O5b9(BS0U~o^aiL~s! zQACA1zWX=csE9qebwKMYovCClDtm!(fqwD(L$t=@EL=<4K#ygiF=@UAA0Qv!Ly)I= z4Zc|)H_u?YGuI(nhz{`wg?QmLh_l*vqd`*)eL`EF9efAnX4@oqvQ-aOmUtL{P4cE! zj|(P^QBIN3;3uinjNA$TDuP&9R6;eQz)xY;_)3dBtwVPGo7WvgHh3>lpi9Mk>5Ss+aT_<{GA?|+AhFOS_f z>4bv4_-!jDlSI$js2|m;KS5(mwG5(pk}Cdp`o|OM6XSvdFxxWX!M&(0%U|I69qKA=s)$3w!6BLsp`iqh3pWzFzU-P zCI`TDS}5XLP4Q^+Wa?k{KdHQRLK8skLypI)YW!#pA9E@%9&*)=^z2u47UNSIw7FDMz_9Us>Ri0}_VZ=tzcRHX4D3n;-RC3si?f z!FOEv)rYl77Qr*I7I^i^vF0H4f^kG8E}%?Ww1<~4Ziu$!*LCZ4O*Hi;SsK^xXgAAc ziI?M&Fo`*#@(n3N2Z_g-JEy3J5VI`KX@UsaC<@f;O~?L=%sY%20#w=YT3Z11 zL~SR9;VxY8-t`DP$7mrPNaE7w>yhzkqtnxcTZl0|o=5*Xc*pz6-Hr3yx3%=efSq36 z7JoK$cdK##&Y1th`9R%>nU4Qs@DACO)6^u!#XFAMHIGwFZYxU6D6>JqbfnjWA!nau zP)l}$4^G3wv<=-WitkO~IrKkuC*Wy}|5q%#UCoCMzuN%#V>w8UxO*hbMkI$UKJQ{@(+($ zk#l7CchUjn!f|FWJ9^GXEewd^y|r)vo5w@g2-vn z97o$z9QGjnyS?~O(BVEV4(qE;OQG}27>metD=%3&HfWnc9L3`O>I?x3kRnFDni9}Q z8-P5Xm=kD!o+izCcM*Fm30#~8((D0t2kR-zEmoG3`JmU{xkQ1gVLT`vMJ_f49gJU1 zG3+CHg&G$w?)y8!?L7YCK_f}BK82ye83$iI&KXcX_|+BwzI$v=e9aVSL?cjx#&Wuz z1o5^41sGgdtZ5`mlKao{k`KQy;EYtcudFB_I+Vl41m0coP6C53_|~3%ZoLB-Ii2L3 zF#cAlVL}dLkWF%kFrQTg<-b=_-MpPeAc)=_@n5@fpvvqo`Cr(OBUt18bRHN6)Gmj5dW`13@nP9sO(mLs<%hB&{{$%$qwmy&te#iKs?uloa4c&vYnyQ{& zHI67cinG0PakgFBzaouzwdK&O?|AVgf)w#~cx|i_qVsiAdY&=wN9vuJs)| zTybd-6PD@)dk~$VZT!cN+g>!tMBA)sTima=Bxb{h+9g=^!@jHc^oR8d+YZ4LtgK@;TEP7h1x6!}*QHc+-SB;2QvqxTI8Oqv-sl z(0aT--nf^DHkk$yT{p`F-_i6oivb;;pkeo|69cYgLLO%MK)^!D94s&@6?II&taJK z;7M1av;m=ec^;eG5o9U*b_+Cu$zcH?XUm@gTDDAW9qXquhJ6(Mx3o+UexpUab=n|D zD1nOnv0|%|0h9KqA&N9Vl7%c* zX1i}%yT8vaHMr*xhw?iRoA^>l*#L@8sskA(p?pR4MC>%n{LA+sN;jq-?~$Z#dFI@= zqP5hx1|@iJeXC#vvu|_Sg*_>&KWGqBr25zU?6(nBFi8cy``EghwNWDXJ<+6v_|QG^ z#L{;;_@gui&d+j zkq*ks4Dq+q!h|J(8KEmLM5P3^>;+(WHL_ZzvQ1nMIC0Hy)dVjPT>KI6(!;bf=cQ>q*F z*x|!rp=<50@sz*22u{~s={72r?auZD_3aF%ryP_@x>R9?I@Nyg}-9% z`QwFn#(5a-u8%T(u$Q6ts%e4_N8jqF0~dcFRbFm7Gkqje31-m8>4+JMurk2;Hk@+1 z#FhV1rc2?H@f|$^1@ZXM$idx3kXA0gqJL@AAv)ok^4~|M13AO0D_*?m3AP|M(WIik zyQ>B9;jOpTgb6vV$FQm)bTdIRtYX9aBw0>j= zQ~E1m@}64@$9t~^F1F%pxBkU*(M8bK8vq)SDejihIU_HTKT+a_jYpe@@ z=8%#`+|}ux3zYqXfXgp%VN`24dv~(>90T6d_3>lJ!#YxYmbb(EKZ3i9Jb#reB9vPO z2GkkIf^-4Bsg!0HgH`qa{EAYQ-yFI{jd)c8D62KfXg@t#k?st?izk2S_jpS9nxK$} z^`bG|tuAX#Wr2%ZvAamW*X>;V%>`-Az5>2fo~sv)gOYUDZFA<2kW@JZ@o%AHsD|p_ zDcb-xD?XIOY@OrvM$U{oz>Ve>nU`{MRfsAt%+`NoN5*r4evxd}dFa*?k$4#>b@z-Q z`TP*^iBShrwFJjkb&dJba-)=x7eH=9K`RpysP+R>Um|_j@}wb2D^{2|PTS?f+~QrtAF; zi0sNbS^l6;ZjHC@LS_o z>P!hEE#`vy^``!DJqj;10+zwXOQ=#sz)YLqe^fzA3)HQ{hj;F0)Blq+8iy4h`YDLlVJ2enjtlkai-4()3i;oM|hclY~Fuq z@c0s$Gl1)I_Gl0_RZf=DlF2(%w^D41r~;i01Nq@%JNjFaz!PZI)n-S5Z&qHn}BxE$l;7!r1>y_ z8^&D~3*szWi8$kB^4jV<)++4BuN4%yRu@{9QA-o8DXVS9T18+x$+g&9}fL%N9HRcTp7BtyE zI7TFa8u4h!cbz$2iApudaW9E-DTy*0d))*^y~u9txH9_hRR+A%&Fd|mGtDQ4J6m{6 za0|9Ep&Wu-yfpQwVjbb^a7$Kxgo-0+S(39UPoBz@si=5Kh%iCh{eGWsYXbmk z!SS}Qg9pmD%f=)GtVE3le#+B_Y+_nG2p2vkQ(ym}T;BHAI__Y%`+A`?>E2VYFFAB*E(RHNZ6u0I*a=hyhUJXhoI zVuhtTkdSncARb+c&(EQ8ViLqlQ?%7>{c|o-R}p)aP|qzbxf^3bM%Ml|zRljOxC{0O zV~!A=vu{c7WR?d{U)2Pw0diQYq&bvPc1>9C?jYK*se?j*iN9XPbFWvuZ`nB+hId= z2)!f|sS(&D)$EimWU9G(D;cgS=Q`@Y+oG@SToLq0EzX+R)39~dQr}4SU|=%E8$bue zngYMn-xI2Dj=`7=%-^(}kJA4B!|k)_R+G5Rq^QwNWg7czV;8x&%b+s!R8%DLg)l+Y zy}<3TQ@LRA7k<5zh%OGx&ssiYKRgaD(BU-oH+}2B8X8|F{KOYK99z$pzt&2yBvcm( z4p%CGK+@YYjCaeVeSEloRruMHohcY(v??$4NNn;5*;)ZqMcq-wj&bK*C?`7bp?G^4 z#l#3NDL?kMPg~zeY~IuQLUat94!*6Ee2%6=*=BF0W|UwtyFB>gN5dW@7E+rKVa`b_x)S$)}>citce&x9YM z(=@AX_K@2HWb?C4eEu6l=U7SACawzRyZHx1*w9wlli4>-r>d8ZBUWVQySpFqDEI69L zz;~Eoc;ndKKUs9UQRFCng-KaQTM#y^{jW7W$(HDwqa|g+aMrPkY|P4fwC{JX8QSaS zOM%en)eP^}>h(R^%b-hhON>Lpu>LyLz;=i#heS&Z8f>VJR9I`2*xD^zq@hjxi^m zzXYVUb0Xh_v-%0}$=ow<$0K?0DppoF(}*b|2Z2dF?Bh zDhShjJa4M-vixDJh-Sh-k}JvPxNG7K`$|Xby6AK{iU{#^>FQrTh)(rSu!}k6_9?~v z=83c9EAw&x*}P&3q*Zz%)x?{>feJq~q}LBz+G44h}5(lxQ+@}3JzN75t!n6rmsNESJ21N!qX?qa&N@m!9%`8Qm6@=`(9W?Z~T#QxiO(>vAwGdmd8a~K8!C1d= z1%a7qZwZn1Lx+Hrbn1fW{Mu3d^vs-jqi`2SAe~U%5XfyU*d*@>xQd*QTx$T z8Hb%A;%GIKV1-&76uP_F@FGc98z#$uIT9NB>}q;08lFGrS7hCP-gbE`@^%}NMnGuj zF%k1dGBlgAn~Hj!dm%08bxS1}ni!2E=lEhcQQ@IaUmwSpitAieiS1tGP;nwx0!n?A zE0tl_64ya3r9XhC)IVq8mz>XPe^Bi$2NglCee73iQ~NW{C-$L^-pyV}iyWj_6pom_ zS|7#YwA&eznHB!%2X$2;wMfwf1Ndxd^R_v~j^2>dC&Q}^g2fdF!k40RF(yS;Y(CkW zrm+wQy0&;ep4hc9C(1!#msi}k2#Akj4P5;1gzgu`vs~Bgk8H3i#JWgY+lsz$P}sI7 zZ}y3DwHowi-PWhAbzvkc8k~Er`7pr9}H_#Nhh>iim_Jjt91g z`mHhEDMBOOF-cdJFj1FuG`DYMw&)q?IYD%fcy5Sv_uCu;LKV{`efsFQXeR0`GFXxA z1BJ5%{VfNaW2EBfKv}O_<5Xs%lhjYV=T^IUlT|os=+oQ2-FrI46#^(p%P4bS((mc1 zU@1*`J#cX<1FQJ_JY}Y4Q&OvG-e@ZS zpzvO7mB^ZM|K9@>^dz;8CyBb(Wf|y?YNSzQu(lE9ECl#`Mw0hD+bN&%6{2 z_@`O*hZag2g7))1!?+X(C;WJ4v+8W721cdZs4c|L6RjHzB4wPDMP>VOHdHcPNA_MF zoap=q6T?7ba>m7W>B|?|j3bN#&|mEqa@uHp^RuSYzC2WG_QeN*AP7oPwC_oCt}nUh z3}LPm+}P5RiH3n2-2)eI0fy+h)OXutN3y#1O?j#hdaOv%or(#EE^qA>m4dlGGe|}V zqPRLAY}njNaOkY2s0{g);Lxgja^^=zqijbKn4Oj)O}~%*z;_nOou~BMRHSk$M2H}n z>Ml{@_%-p&zZ46~ptqPB)$=W`tKb_SY?$I(-=|hOkKl$dQY`6W?d=OjUF=kSQ1>IZ zsptD87tKOraz5RA`Q3}x&j&zp)|2K~(4!b$QcUj4Lkme&e39TNL7xu~X({y|R+2o;Wo>Qp;AmLZ%9~0{~2u0IQ0+VTcXm8%K|4S5U!?S;p z`;*-7>UOfNd+b`y&u;BaKn2uY$r-Jb&i)y~HUJRP^Hij2>V*q_;yt{IWTl5y{T3wq zTo~G4^GOHPEiBd-kCTnUYe>sUN1U@QR1b{YpK*x8mavGdl9IMblG~RN^1<(KioA2A z6JJlN1qwjXlLTBr8=tm@AK0ths4&m&h0r|+d>$SWo$^oR>%+pEeH}g$KCj8O@`oWj zGz;fWy+<{*r5qi3mCfiM{urQUouk7Yd=X?r1Zb^nsAaae&?Qz6o*h#j{O>e?OO;_9 z$X*i2asK`vm-;XYH1c>>PDhjDXTRncnB6DrqUSM^H4^)`sZurJOR!SmZW-NWr}yRB zg+@b@tv^ZSUMDux4A<}#0^RojEezy7p?`ku-aU9KV<(GvOj-&4ubW^nV|Q42ts?cD z+Mc&gkp9MGR^b9OC&c&rQiS+KcmtX23f`QL9Ndz9#o*NF=uHn{CC1jPqpO?a=;2cT zt6cWsE6*1lr~f$FQAd25y;hWYx94rBQC|C^=!C1);JE+mHOvAk;rz61rhV)bTv9Yw zib+WdE|ztX4m7O7cTx21cScy%cR^gW!^a%u9^y~aTVz%VVrz|lfsfUahaMSYmCk)UaP!QM44^q$HBmPzRyQ&@mj{Q61BDvtA_->VV zQM88m!kTLA!?pElY9>Vk*ZySQm<{nryj;Kr_GE4`i;8KmNz z^A(1*`M02~`wQhUL!a5yUYtyoVxKJPFTx0PDq_9GF|mIfPCgP({CpmBp$tk`8~%QR zZW2{J$N4Ocsmcq^{X%bM|HV<_8xsxhclDXtuL@EGIghj zol^o{DoM^FVe(_2(U+h*FBSY5G{OmK9>mv)>(2SK)2Pa;MP;V!#Pkp$)6XIhCbNq@ zi$jt+21U8*zjBug(n*4CRfqZyUKIJCHDBU7qdhbR)R((J^{OwI$^SsZwcT-NxB7ue z)z&|E?a&rsvEy&`cECGIWPzx4VD?1AtL}yUXSS0h+TEzM?tw}JUe8GPvclF%cYI%? z;GPUgGvXYR^g!5%gktE>xAh~W;am@028TS89N5RexUuUsVruOYUp`8W3~L*x0T}$< z)0W_~uAjA6eTzr~L8Rwy?T+^Dn-%qoSjb)b)JSNZa*=>dy@U4lBd&E~p;i zy|c2O?RtVbS_mN!uXa+vhx#7ImYeFthW^Ha-fmBil)DIVyk1YwRKPZ#PYI0vaz6Jq zgGeVG4X(7YpY@^@>Qc^!p{&{##|w^K{k{KaKv>M_t|Y^k6bRBX-=_*^u0P7iKT=G= z!hq{@XaAJXC+tC4xjFR?p+D-2BfDHl^k#CqLea?x35$b%25gb%EWgEHF5w@(&)-Qg zyA7GTX#W$5Bc3X9!%0x=d0ZAAM8}Rb>1&|&8vG9-`_Bpj6cg_)@9ztJl#-~KG#AHB z<%^;F`tDr+^nV$4M7%-9Fx4)6@f!VG;dk?EzXFfeLasq($kP@>4TXD|#oe=cF8UwXEZMZD{a@YB_Ptl>%m1Y{f<}A0JJw8@<_b{Y$M+OD zTP{KgZz&>E1$CEMW6F|EdJ_EA9hi*+T0HJ##NIyI8WAZk|De3ydXbCz2B-q$p+B#t ziViynDvz@^n9lp+a}uE>X0U!7Ecq5KJNmuMt6hgl65iHC1;4^LUgzLre{s@1UlP_Q zx%j+IZxb%}qk_(!JO9;|-kSFJlf@L(=@jZk@Nhz@|C@x%-MqCQJ2XW>ayQQtE*)%7@Ssgjv$9`J zOxtKtYn7u)$Y6VRzw^w{^$n;4Oyd~XFWX<;@^PwOS-H8jh+zk;UbS+)y9YiEl z4j;V?D2$gYfHqV^ywRwCgp>ky||@ zs{H93_8Me;1}+B9&_!mupqRSXB+sx8(mnlZ(p(LO=m19_nATonQt8^OdwJyOkj6fI z{AGcc!7>}=#Yno|uaTt(F+|L7pH4A^?0hQEtHePH(3GeMgtLIzNuVN&W2~0SH24J5 z{uYPbQ<`U?Gxm5|M>AiK zy7$>xfvjhnKFMj$#_;R*kDn%%*&vNqFhu68KX)E#_WB&6EWSi_<{=A!!OmFD0>H&@ zE!j;-2QsN#C!=HY-gX)25k9JrCeNp7zA5CZ6@NHN*1duTx7|>_b^vXZwuD5VHW?%k zm2`gntR^A0apL|t(*VG5-&kKz;|zcjI>+i*0F7c#PTzSdi2qRr04lINH)GFucYL7x zaoZ_)4%Bh>)k3RgEGqqyqkxv%=lWpL5*6`z=A)IJvc{L!pob`^08^4-p8FSvSTcD& z$QUmB*A?~;99o|&&f8yf%fAyd&NvF4R%lw&mb?IBsXCb5GxrtCGi}QoE?$@>MmXTC zmI@~Q01>D)YtT%rOx25#T8v9ekW0YgKhGXKXiswfBce>*!m|LB5h#!Y zZT465{jrGQLn`d0`+f5<_kljE5~L;eJf-gnO+isV2^bu#ZMzfa$so|83DM!p_&yaDH{C`bKvK5sJ{Q8~*kE?< zmX@OJor3a*$ALGE7C%oaO1i(c#2uIokR$fhNB{f-ssjrioiFS6Ox>E}8?W9Py?u`j6lyd{Ea2(^m@M#vI7``Rxv z7wDe6j3fH6w{(=cLy4+yEd82BKjX_dugJ30q0Du^qj%O6rTc3)S<}>CRa^sS_ zDG@|RIv;{SM>;fmy-(j2X$ixI@gA+{0Ny#y*<&E#5u$zy6M)Fm9)Mw_f<{urLcR

X@Kw)H*7F-AUiuoyan{_}s$3xl>mPYVl~^R?AoEkCP7RrwEX^J$OIpF z`NunreMuI7hQKJyE0!UKfNWQf~^;k3cobr)?1y_SV|0#d7Pw@D>h+^dwGL;K3W z+-5%}D;T>l&j&**6O{0$UaVfNZ~nQS7HFfw(BY~|-XtyJ`Q( zVRd@;3oU|I7@M7RHJ9VbTF2+{HI;q8i$cR~EFEi%1Z~e1?%%DqO@o0RVDe-V6@G5n z#AJC@p3=ifCF}y~W^c?yHb-*lUHj^Ox>(7)(pQGHFc8yT#+PPx?RW?b$F5PDv9Ldc zy-L0e*+%TG5r0tgZ{_|%25!{ezA@MBazBcvEynjhkS6|77pEU1>=b^*++21b^AK09*|tzsEK8iDvO`wE2J$_7+j_KTwP zMQ&bYnY;Yd`S7pBsg{vofD2}3jZO7oSRu3B6ptpxLLC0GDRa4B7u4kPIHhe}@Q zf{KnNX3x#|gX{a*U?i-ynO^_Ag8;1N;JO`5o6u?BIPID&*rk@_yg%W>&miS6b0Mj3 za8;mZ+L_1l`wP*Bb#wu17Ehy^#2qea@so6E`r0BU(wB!-ctBE!0BLdXCGfDA#65%> zBqBk(O|GX;AUvZ!*s}x2M!IjsT$|-k#Pw#6X4a3nrZ^PEO{0wdOVomQ$Gcr5S7M&V zfy(9j3h*NZMtvYHSu}WVB+niw!AhA%HtFOUDDw6|5VuMDorP7Ne6-)&U^8M0c!V__Ic(p)|&{8b?H&EYJ~o7gKtL+BF* zW)!_Yh}=sW-B+Oq5)>Vt=4xr{3vxtZa0l-TG>gZrJseDP@0n&jGoV1+Roi~6;f}d| z!l>({8yiY_&ARr(e?MoPr!$(j`6kFe;vIq74-R0gBb6PGnfE;lm>DQbIw*7!lun%} zTNgWhpNpl^yY*juH#}eL4QQ~4V(qAsskfi*)I^^zy(`ZX@Dq-Ack{n9I!j_44EWp9 z4Zz|QGrxI5bbPUUho_&j&>nO)DgJ|vZW~M=uN9fH^Z*kmir6`e=ybc#i3qFA{#bO+wr;t0j*qtG_irA()M~_-PO#c{SehoemR4?{qAUVn}VJ zJAVEE%`8jYIV$SNj3k)|1|(1fiE)>(OOM6cbCX1k(C*q_xA|F7QE7{ALOm%Z5F9&A zFh}sQ0XNBG>QWn9IeWd9=-rtxak`{2Gk$fK80RQkmJlPXn?h>*bg5+p8h}R4Yd>~1 zZ}-z&RJa2&eT8Y4dJ3R9J!S5e`7ge$cr0ibkSuvowbc0zK15@utK^$ z_v-Us&baU$`Zni?Qo9(UN-#RyI=d`FntMg>7<{lB&_N7u4 z4^Y|=7GgmZqS&N!k)NphHtmF$KQzDAltb)Yp1SXZXCU{u65I{DRfOkXx*EvLvCDVy z69g~;77EcB+W}s=mOM(6xpIWR zO7^-7YAZIJxjzEM(A1t3Y-rWH3cZ%%kk(Y&haQVIi=jsSAgwdXXk?4C;ZdU`uK&&; z+sO$koQm7ZcXRTjU?u5w4Aat+x3EiQrsW~xs6tNP8{zVYp;-Z3@VywNMZ-%bt}l7q z5o8nbyq?ed!R|%5m{lAMmJnR%u#8FaKSwN)jy`H1BN2&LNp07>{#1(5H*>VZ(<-M6 zShF|wr>8Tq<#`(bgSRXZn2pj_7(Tfiq^HjbJNXk>fUb||ySmv_GnV1{^Op;GJN`B7 zql7)u!sPk(;^))rnf}M6*6H0kVD?&|C0Qh@W8%ZHBkjZHelh7NaY735!5jmBn=iDm>xP z*uZvo86BI79mdcmmKE2j-iRf_5?tD>V2se@8GbhC`W zwqOM>O2Ov?8Pam~OJFqUU*8XM*T~vt@5q-|LOjjSw#6uzD%sGbX)fon(kAIKsp=%o z)0}!`Z;c@hMA{yxvx>|k>*QZA!RWSkB+ozAp%i^h$|Esbe}jL9sKUioqF-I2r4^o`%CGe4j5}mAf%+6y)qQBVhwe}N`3>|9$RXJLT-Ncxi(J3 z^g9=Kv7az7Ume{tyc{ex9J6S-K8hVy^*?q#vjd6a`}33H0JQ>1371)F1$Qxesfw+x zEt2MgPP7$*iSR5PrSH>Y7`5I!dCIVcRXD92A6(Nl>LJJd zqdPA}G90MV-RI5L#g1E%=zm0=iyoE6yiWasqQlFHxywA_m_&&{nZk1`hzk`RhU1?8 zrt2Da+p8P6PIB`ezpmh|U+?&K$silin+MDQZj_1(u@Q{s?R5Jg1g;+OM9^awU695n z*_!-bwPmwvxf=MdC00$|TO#F@3ot#}Y_a-AM-5~HmL<31W$dYyWkDx?q~y{og$pI} z|A2~!@;GR<7M5p*p|Q{obOrC+grRN9fKi0B8T(lRa-P4o(*y9gHI`gQ$M2QWor@Q) z?Rz^hc}uS-aQG7fuF_DzlW~%`S@Tn8>rGqE{-cs-CP!tZLv$}TOZ7)q4u#9(@WHs$ z9&-JxRUG};$3j_+aXbBkgo|y4_U-)gvTzJq6Q!n(@6ok=6GP2E%mG}irlA0`VYVcu z;W^zd8?<5S+L=nOVvLr?)r{Hv_%N(fOV6B14?qaf|JAD!gN!?1I*|p84?Wrx{|QC& zMA3l|=(;(N4$1K!g?EOM;y?@N+9~q82Dz_w8COq>98P&p2ua3vQNt>S8sgOEqaL6N z8qZ#kSf@TJec6u={B#ZKQ%6AqEL3SX@3ZUjN_`;BdelvmZ@i8?4uOH#qvpw{f=NUZ zLSQ>4B6IyFdaaCP7otU^1@Hel&IlBgg`s9Og4sV4f!eB;lmB?UIEt_kQ}&}o@0vQw zyXaKYUpIW_(n_r>Pj%v^yRQ?AqzhqY-fLG@s-EB#9e*`rZ+O_H+<@{u7iSQh`w*6{VB(diCB~XuhA=L5Yr@bS?}HPIsjESDorKp{Das;dvL? zIR@N8@MUot)#U%f)?0^F*#+&RGy(!5(k&$&(v2wH-5}k)=`N)<-7P3x8R$G| zX8NLHdq&vv3fT)wK+gmMO_>~gc8}ix_o$;=kgDcvnObD>T>aold*(g2USVs-^%8@r zVJQ^hKyO*|eeLVAK~_4D1XAQQl1sY;?K^jw3#>R`PWkp)W!vL(Bc)iVjJ50<19x?h zVDc{mH-}?Naf8)Gn%&pfVt;?KGTf}E$HU><#RFSv{vbk<+hNjxPDp}pD%=;FA=qz#T$fNt=;8>zf8$g&&0BCOA~=JeT^Zut~<#a z7$*2T{I-Fr4T;esjs7CNfIz2RLmdh46EcjJv_ z|Fr7i?tz5@0kj%INFT^Ow|{Sptb-sCN75ndVB*q6i4@6RvyU6Cf-9YFW{MC2F-g3! zf-Cz=9IW^PE9sYl-@#rqY)I8WQx|TSj0RHTd{;&ixftHjvtP(6k3TN=LQMFLm7c7> zG@3Dd8^-=u-gfbnGfHjGzd#vRHDHt~j)gW&>v(6w%$jd;<>|jf>ihcIb*~X;4~MGB zt|0TN$}eiLs6qCQL6EI6VgR)Ig1S_MFZNZ7ED<%xJ`yQ;?|1^zhFTg=+Ts1XhSBN^ zrKa_((?R;&Qn2UZV&ZWNB>zZT&)}Kq0uh+qx(^H6oxV8S(At~6&8^J7`ZwjBQ2?zu#M7d@ov1ru>PrRt6nHg>`$}T zMWLp`Yc&MzRmDu2^{Pv%ugULmK8hVKVbp8X%faRS`Z45nFj+MSF(R9DLXF^Z9jE?U zclfZQ?(^x^R)QTp2u}E~BAOUgY?VF34Hb7FvYrwjr0Jr|)r?_T3rf(K%PKdV$cfKz z*JyEc*noHy5HsD*y{`=t&)c11`i0tFEsWP@=l_+bqyzkuLCNEOn%{M@ankluHsTB$vfK|4m?Hq&TxLJ#>GwVIYWetkrn&AVarwQ<3?i_59OO zV^=fPPuK%=C-Hdg;B4b&PsGt{E_S~G z7uZpBV}6!z*v@GO4qoS-oa^3o_xRyxn^#K9rF3xuuMlk#2-CCv2$lqU81t`TG5WR~ z0vY#V>pq%&lR~hjmR$1)k9GU)PXA_+(L3ok!7?{98?n(Vb)m)-N6NR6m$SR7!K^@j zvH1mv|CGD+m!SovEROsGg4;h9pZ4Tx1y@pl_R~lWu=PT8*)~Lk{6l{!rnpuXuF=f` zA}3gKtyIq!2TF%#vAGlZ=j&M~cUwdrgh1C4gE7^usduo-4Z9?*;{yGk(t+QS7H`TtrNNb-$SM-+)7H>OcIq!lyoSq?3#{4CQYu03lcgva_x&OCB(scvejncdv?y9kiN5el8-#i>SL`lxXGqyk z1m=z&tnz;-w2S9?SfePbl69)m&u!Ia!Zfzt#l5vLB01Um8ynEx_KWp(AA$WGDAkJ+ z6J(NA^K`nTaZLT7UidT-_5UZ9DL^cT2iv4CO@LYfI^#3gh=rx8!tWjU=0_L)pc~Ie zXbybH$T8X#^C^?}ceQ>gC-iOzD*~Cz6aEvJKK~R=W@_`e1}L2sci#SbA-NIVYj@Lq zG*KVdgGEE9r$Cf#OUpuWca|mh^QUC2k+UuD&c9l=ro8vF;ckeda};t5zndvkge!YE ztr?8GER#0OM?A=O^HM0#;QiB?9AL$g=Zx{r<@7aib{q|>JvNI_pgD1&QPdPyr59rY z&nAu^hRlH&pzg%U8bIAOY~zg|<*YBRlil528UF>zuuvd!v^-*|e(hXcGMl6$Li^Ps z=}-8Bu!A#0F!}-kb&lloUj?c?-4pl>4^OP6w4f-x7U>Y`%-`2AX>YiFKAkBPt7*7T z%;A&lrW`;E&U;@^+GGPau_7lLT$hj%>*F;>t1Da3U-h#t>c2dTsf(;*?;&Hc8BU_! zYd#@kLx!skE~O~ld);>H5hp|dj^29_ajq|y%3Q#Y;v{N2G zh%)6G(H;R>8!NZ?2@}_$G-XT$t`&t_8-_WqGAUDQr%d*TEB~sPlRcvV*UiY(hrqZv zb6V~v|0GhKIcoLmOrliH2{`K2WX(&IY8`>5xB@e8{E5*EYO}l{R7Q)_x0o?@il{eqEX2{uZH~*DT*BH#8R(S{wg49yC3l z?PFf}^0yLglrSq48g5z!l|^98D|oxH7h{iq!QhmU-T{p)Z78#+j`qUun%YSpkyq3n z`=$C{v0i4y4~V!4bK#iA>FC4-mjg}O3f&n+c0k3m!jTFsMoAiy!6`5!t1Gg-#h+@% zfJxpyHFGq|kqmp@|B%uJH>1qfg{+bJZS*VMS3NU0+raJbZ>C(67XLsM2E<~vNE$gq zkoz>P?osV*7Ira}*8$CG76!!w_KcvdYa-$6ZDADsLuFL$7q{2NOnqEvA3cqZFj2M* zV5!G|r9zTWVvVeAVcTmy6aXbGFB)zpj;$#|qv>NNjzXN}06?ev(TlOm0kJYjH%i(OuZRC@%-dw2@q_)n2CnGcS*dLm0xU_`7(UVevo9`LKbTP@WU5 z_-r{IfaMUib{1&Ot<>>f=KwoC>42S2#Aly)lojNE5=|m)-6Bts*`8S7{mK=qVQV!qP!6JY6REFLKb<4z%N-MsGFvQ%f&zwp=3yO zuUW`T+uRS&2r|1gb1O~$>03VR$~ve@EadRL!XVR>@wf_TLxciZ$8=O_!LIrw-ACM) z)bxSSW|?&a?`R7a{rj(+B%IrsMI%2{e&BeR`^VXi^dVo^Nw&-iGwr7PalDO581({v zuJ6a+($unmPXGIE>zAL7@MtlL(h%?0f>0SvkrhCt#tboJ^;2V&3f$Xw>_8NQV+!Q% z!6;GDue7?HMCy(LD0tiqS&jYDGhMy0lr`{CzNSfYp*8a5{A3tQxaRotd7E&vZ%N|w zEH6(DuZr`eW_q1@Ws$3|-T^f3KLtcP4n_&&It1NTaW!e>FsCaP%KS;dnB^qDJR5Tp zV9d-Ok)8+S=p!MmD2 zpIT03%A2aNtNWMnRVJrH^n^=eVC7QlfPy9S#Df%^PgUf97vKm(u*R*T|NAxr zWqv2{Z6%W;fx)4^Cg$1KF)M4%Oa})u>QSC-QXfAiTO&Y9rCa6a(0zi#tmUc<`(wFKS;#D)DHng zX9GFrZam0S!4v>f>lcX9e}dQL6qp9EH1;g`i$1X4XWP_m!ZSZ|92}J&!0?bb{?|4h zDcoo&-mR}$a4BP(ntV1jCIpoEUHK~=H0sGV4d23HgZ&6aQ|$y72I%YP5;-MDE+|Dq1!eYnc}xU0&pJW@;EL9w{N!` zE?CTL#4EZ=yIS8d|72f0LBK?_i^Pc4&FDgTW1$!Qg9AXbVfP%p>xU2kTq!+RpoHWY zSDi`#Tr~i=mMcnb+eB%AF@dC49g%idXl;)uykPq8L}PF%qNbBpH&J?l(&m0E(H|qh z48w*gwr)&QBkAN{IvdVNGIG18iUO^a%aqpB(M!?m+w#QTjqtRHNg!l)by27Ms6Okm zi<;#6;Waen^WyGJ+{7C2%c%?AR}`9?>ZjNO&U(%naMn}mek<>RUyk027OA0SyqzdQa?#plZQFw#s$_u-?ZMD5(2ITA+Muo!i zG(Y35rx3i+jWhQQl0@PO3zK40_`DT1A8yIjqb)yU`{K?_(aP>a0yJSRUlVf1!8*&v0)=vJ(6nkNn%#6qCG?HNz<3OPgf;jQqSv<)|oh<^fJ2C2FCvjjn>Ee^ThS zC7u#8-{%hXny2l7lhH`ggUr1Pr80?)1{qx3?U?%DF_0%@OQk&M(rNc!WK zk)%)nf+Q<^xtZ;mcCi>Tts@;mZ&;zFoRW@RD5F&bI@Z3gb#mc%mv@5=BY~RYr};A$ z1ZnBM90)Nl?9ee{RrNpj0y3E8Dg=~ZyLm0}hag#_oE^%g@8Mm2R zVe(Hq-(eS)!QB|Ls;-&J5tTE;B*5QD7{U$TE&N?(2OsP`5FK=WMX8?ItYHu8a$TiC zigb}t%E{rJM~KwV(KwdhcIGk1_$#ZMZ(Z`Tkw}v!56{Nj{d4-@mmTXsOOU>&+aGi$ z))5}&0-QdRgtl%?eX$P`00zK4V?O~5*#C!t4UM^lWPX>`+-K}bV;FlGv9*%)#T&E= zN?5^V!IyLEXcH=}H#)u$>b)+cRgz0K>-dK6_?=jgD!u=J6LVqO^YiJOl%o%*RRgTidX zmuNRlm*UkD`+0({7bB{O-HaCB6!j-()MXv(zeAv_lh1ALP$Y99C*zwDP%KnE$R@<-{O=TozrSuX$W>A8C-P6t4QxZ>=i&idtYI0hLn`2PYXNML zQ)BE-7qCU7b2!Zt5PO5OGo%b;SuB{=`Oc!@xqV6MVz?yyY3|S9ABJxz@4hXmG8GLD z@ui0INJG~@bm?IZqV=YAmXEykV;N?B_x{ES0S}eu=0=J}LHs+i4giL4Ua~W`4Yy`s zE-r`{h{nAzvE0rMFviYeOtL!2QKfwHxkxHtj3$Ta0TW2oS$%%aS%alB*?bcWydE3? zS<3dTdb1@?5ONoq7+x=VIb!Hwjh6}(wJZnue2YwFVvY}Xoe%%bl?MRRvLW(4Jr@_%ppEo_G?UJJL&}zJunLKQ zjrrkn8ubn^0E?p%2&5oK7=Pq7>yCQBW7myQR)g5afJr2rcO4EKy;j0kT8C2GrcW}- zzn`?I$cpX`(5L1t*8;7NtXG6@hMEL-GHXTI5QUl1kZI=q>7e6%k}e#qtbR9K9gRX5 zCF6~$l{*q2F3D2`?g2l;!xn%CVO@TK=FCb=iOUKqE)EW|Hhj6W5mNF2<1$gSVozg~ zlPt!6M=*Ilf+GG3@iet<&Lksxru6%P1m_{<8EMSF8Zn}^0a3L4`GnMI$tqc8+;!0( zDBs_(3nhDNez}o)`=3&v&w@}D((fhuRG1F{gt~?r0LX@JiY=O?{cdq`orh^@7OWQl z2)P2B?Gk|qZJDfxiM6MI2ad|)vrRDbvyFidemNza%;b^l{EktLSbSaf19^zAHJtau zR%_{r<&`4`4Xuq`kFloY)Ve3*WjWS)><4}EFu)|txjMAvr!0#j-%Ak_&9?~r0|w6z z^F~P?Z|Y}YV7P9!DAB!r>km>J?QNRq93!VZvJYv3^&7D2A(F^>z^yx-7QA7IwbB<>z$j(@% zJ(~k3)!+rK`?utBJNaRk7`qEeu-0c=f^BKPad}{!13NIsz0VEJ=4;G9I{4HAUp`H+ z_Ww9Q?L^m(WT}NSr$Ai1+pCB#jx0>47tu5K$eQZqEQ z2cM#2$eRpAujr5`=#$@64Y&%8^clye@cZcET9hzAC<1t9GPTvgi;|^3%kptJy_Kj@4=NF^yd+?#;XR7ahH9--86UGUaLQiY=g<@5DTT$@jW{71Nep{X0-Oftn@Ic*B2tFLSTgf({AA zG&Hss@9opU(`%nXsbP&x8H;pgE?)@3U}YT39&DXSNU)+tg1k<|?Ej~YcGzd+WIVI~ zPVn9BYvg;$XUG7tWKvd>C+8V5HUMPG>+W2%kDGyO+lO#~N8c{egiFWUk=+_tKskIRTF~{H*^+l2 zc!3QQa_w-MXSUx2KfClE9i)?n(X?3o_!rBzSN|lX3)xL{*0&Y=NVaq*(c<#0M zPHz%`-Q8w-g7?rfS4Gt482f+Dg~B#ATHK>eI@=`V!d#J$TmN=r&cDb>@`nP2D)11u^;xwa! zk(B2xbo7FV@Cc)#>R4mn6mVN5X3jlYaTi?5U>eh`VV~h=B$86m(x0?$BaDqgR0>RvU&NV=Wz2+8pU}*kcx~a!06mE^McMyq#O=7XNH%+JDnB3WuMN6GPB_6rDn{9~{pOyg zrd2A-$Ko#J!=F0IwPBwzH4ns)&GCLKEE$+a(7nnQ)0F-3wdd_YhHXSTZX#y4O1h~= zT64WMC)2RJNY;-(&sIH=^q*DVz80L2O%YAG;ZHIC&)v)ddc#%%^p+wBxSNF;g*ldy z0>Fqg0KMfT_iipFk#qoeC`y!fR)KGuqCdp+eh$4_T}!TGY4C)Ex?fU$zFb~HKPNt#%Jjr9#cM^l9Y~Pq{@G;Q(StW`+w?JtGmlR(mZTitc3c(mW>|%5VXf}!&iu;#F*+- zHWmp#SVKv$`HOE)fr)P6`w41@g|Qz=n)$Q!vPvEJJ)l&dj|pn{w3)>2`K;+3TD@l6uVpNTxg}?QF3VTRZ$)%f5>EyO|y7O+Krqa)LbQ7q_E zx^s?~CNh)Zm1P_2dnX7*CJ2yD>Cn>37mp;#iz|QI6ydSxSHBmDJ!|?CW{aJao8pkd zv*U#`{N}USD%oLkxx;FAtbcRU+QYfuL1|<1JU!K*6KOKPW>}*S@&8M{vwJ)%$%-`^S{6(Q9DS z%?wgCICaYb4#Uem;FJ}L+kRiaw{k}T7*0qX$apN`lFtIZeEjX#3x1vVfpa%Az%2SO zZG}#RZ&)vEtAbZwOBlvKUgCeZxT={O-?kBOn3J$|EPT~qXFn2|%kt7R?vFSApFuFk zyyL1svHy9+t!Em&WZ>?ZGMrqdrSpE4W6evn!mrsL3nfkNcN%AM8q0T=sHMXq-rt#_ z6IY_i=Pw=FF5PcRWcmPN!tJ^Grp}>7tYc}pEF=-TsH6diQUc6D(ZDz{{2?6vM`FTx zAzIIImrSH;_qZL32kDinte+Y)bU-Ck6fAPXzs<@?SLY6A`}6>-$az?@91aBq3R>TC zaW3*D*SYI~dtl^cd%wn4)PzVj)u7^zp0(vfCa`?yJwO1peNpPA;cgU<%1#Gq`Qt&kdTvGU>t%I$a{P!9f!#iy{m$=1D$pv2@ zVDrrachSGg`pKW#ZeRSy5-$Gmr?eD9)U%{XjowD{!Y;pEJaSLxYck*%w(cDf)bCn;Jr0~?AvMsx;9B+1D@S|b z@Mg^QeG0<|NLlQwp`MGCJM!WaoDYX-1>j<^$k_`3oyP%r_djK}(?V&wPoDL#O}zR> zC)tdiLQ%~bNG#p7g@|xkx)6C>;4ofMuDDjEYI&?Ud$>B#y5%MJ2#0f+H`45e$KuK4 z?MZQ_*M+F38r^&bN&RJc&D?PFzJ4f!T$V)J?0?bm7+Hp>aHk$CbZ_MzM}tH$-g+O2 zJ)EE~Wq7`GmgutU`Ve6xq;i4t0oX5t&qNgn^>dCgD+bk?yS#bjL*;5Vd7pW&mjv7? z>fWGMzrF1F2r=^Qyn*KUw3Ij9{2Cv^_~SY)g?8L@CkLgkx=XUF;|}9idbqxlG4Leo zxXoi8j4Hvdd`;#rm1x*3bS)hqYZCQJdWjF{BR&Q;ROl8-Cr9!2Xy< zV9ly-xinna-8Xz`q1n-tK}O1}KjyUcjl9jX?xc^UrL;g))s9vA;O;BGGec69`dxMz zbeXjy)ZDb|cN`ya;aC>3>e5gi_9Jf_%?aZP%m$2}ykb5RXGikCPkf>>7on9~emGs) z5vupTstwS}$u)TR6Jazq^qwAO0XM7x8xuU#ei*}QS8LS_cDy^Rt-mGQq_2AVX;)He z^mw*fxI}NpkX?yr-=&@R5+s%38k~u>QE_`~_jjLd$1f(mu4s^#Vw~?FqzL#Ys(o0D zj>TisaQH{0U7q__p+i6OeY3GQN?{6Ifm?a~=d0!vB@fifk7I&u)whR^Pk!!S$Y+9d zaur~MiUs@1`&$9iaMm?g)rPa#7Jf72Nwt@SxMn3b%N$=hM|slXVAg`u6tG??OiNQy z!8!{J$oT#SikrZ6;|4gO@HQ;3ZnhILti2*{_t?JU^9_=4%E6q5lwb2h0@j(sSBqZGEu2u0+VK8Vub^PT*6Q2e%kFA-TCt!gC|xEi;z7fIV?Q$(K1Z}wNWP2ou2<5j8kocto zWM--58M5!uw{zt%?lbrI!1@i;T{ukx*zu63sKQnZnVS2e+B8V0xed#suP`M6<<-F7 ztGcok0zqx-8Cpk!*hX^eQygJs)2FJ-TU`%QZeJOmA%x^AhT|uu{QxPjQ7xEonYE+m z&4kvR_ks*mQFYr7=HJ=`vxN;4XAvAhK>Xg(ZaQR-4xsDU8rEpqKEF1KMLei^t8&U7 zM>l9(GnHz#p~xvlf~d*JljXQlBE3Dy{oyI|QfFohR7|u(F>DLO+W7tIq$r+0z88KU zv8)sN<~zsA_7#FmvHJ1POzuB;X#VwnG+04R`>VfSgXM<;s_?i#wT{EyfL#7eG>>T! zA%cISl|vXUY-s8s!@07*Kin;ltIZYOO;8+$>0x~M z?zmR0%5~CflHApZ!cQKc6ph4keDJ2oo)Mv|#=053HFbN6!@dLvfMzohE%`jSEV7h= z03(lI>071yFM06DSr^{sz_&);###4WvoEcsHaAPWWn4{xABg6mFquIl;($xL;Trk@ zjM3kv&FxOj00uEcCwvPBRmkZqD%TPYAFEcVMa%X^&d0P8V;Z?NW+%V2Yt(gy5~S3Q z`8d{vwCpzSSwa1bTOT9k*i>+R2#_RHMH9k#?1k6u8DCg*f4rpDdN99i?H~0o6rWfF z7{q1nt93a`*1P-JMz;|3g@)-v{>lZ%V+WrjpS2*HyCR1q&Ly_JFD>hroNZrZh%P^> zU_gm5jKgk&gx<~W;Q1WnpP2+(HJ#_M$%%>>yy@s#cHgBAe!nORlDK??wfJa?%=~RW zQEfAlqmXdVD2OdS-s|?hIQ|C9Dg%q-f)6p+=IJ)pRtR|f46pN81sg6RQ-`m!uYc)0 zagnCNmY?#53PxCc_Di!<9h*OdKA0-^fR0lfn^m6k$xczkyx2ih`kkc z>FtLS&K*5vvJEQnKdnBH@3=QSIkqv2ejlGQ@}+olB;S>tBy#Ie?hYphzN9u6l`+I! za9{7G$WZvITWC~$xrs}g_cQjQ#xG}$O>iAs_x?o6BCvAIEqXenX=3FI#e*Vf68Sj& zkf8i7T4)W}sPV~vhz9QAskvX*!*HHm}xCU5RZq*hCdfW}@&VOQwd5OmhiNcjGw;B0Z}kyFGn_mUNe_tdfenT2;@%tU*i zBtfamtdZo4F{zW#KKSD%_>6VIeyuS@ucJb-6 z9Qt3cOKtL2lxXL$lNUJ%*J%6--&o%}oEe_?!Mk7e)w6h@KMqR`4Zbwz5^MSE$&>C#7ZoWgC8&$YWx<+4QK zvP)t<54<^*MXaT-vRW7V;0W-jB337*C>Zt~H7M9xcE7;}{TB^>jrbiOw`m!8uA^q4 z)o`C6h=;xG+6BLOI_X~1X+eyONt)4Za=`UNR(`ppRjTP3Un)CQV>K(T*{$q~s?ZagMT2p=1 z{R}=y_p1wvS(7BkE-CN&VQ28ha$&pC%Ydy5h<)lXG4F$)mePPv49gb^J@~87yI4G= z^nAy0W1+u%Hz7<=kFC$5yAPHU{xx=;XUdwnD9v+OzEa9;`BR35^bXxg;U(Un@(!PZR)1Z3ZFFP zx=*a1QHqUcxA)C=3S|%?f>lE%{Hu>*Vw-#Wq7`&Yd59W$dnsZVyO%}Tp210%AG|uf z+%K~%MVq?_OrCc8MdMjCKvfqKs}UP@nyAyP?VBbHmMcFf9tv4aVFc~ke!PTPH#snK zN6jf_QS)!oiN3E zQEG5iqcotp_~>(Nkj-L0bTqB zCaWyl?a}tvRs2|KVgnT>lQUd--@rV2*jARsw7BPryz?H6mQ7(Vx;y%1IE5WVDoeD> zYwU|79k}fAek{skgET-tWqTW*+0I8krRe}}=JD=``oT}3uKPC!4=8)vK=jsu`F&s* zo0k+E#tz~bj_>ibYt94d{9DJkO<1Cm&lhxy`O3RZ4XC2vA&uM=+dR1W7u+nN*b0V- zQv{Oc_T@&?4@B*2#Mdv}H?lncq$U_WO5vEUy)+&q>7SKdy;}5eCam4akU3Ebw3yXhqZ9dz6PunV( zQt6=q$Oqu;86fb$NP7qZICw8PFX zcw5W@nVx2PBEc3Me7Y*oFAgzmYUc*Xp-O%556B0WVtJVGFWIaUG3c-a0>jYI=_vUe z*zpNbYY)@na{aEF&14pq3*ig9Z!kQTy_7BoE#4aHX^B_G8a{rW&jk^0b|c=AcVc&( zf`$eIsQO3QHo2uWxtw0=``_@C6o~LluC6|AGw{4v_{;Dhl#7yWti+#aY4) zhnbi*cyJ=j$g?I|Ll`A+HQ9V%qbp*w*~hS0-|NVE=WzFfrv*Rt>|zq-aElon7x2X=)I7HUr zy!RE(geW9PLkK07$ycwxq#eo-p^C-1mLa9TGFF+DwatZJ@PP>j(8?vF2UB&R@VWZ| zGY%7#jaO{6$5>~Xq_~_sgw(>@e3DLB#<}@VS7}A0mX#bXWVlTZ@7ZnzeH1wJs`j{L z_E596>Ph0XTIpmcAnHz9CWcfrUgdN9u>}O9Rre(xs&BnS7*)Yf9wU#Ve?5xhfrRdgNumf_|HPsHa|V0>699{JvP2(_e!@JM^3dX zYlA%;4=*enJs0z?g?CCLR$+xzmN`!%I(myn!EY>c4O6{VfjXcET{Kz<}FF+~96hd>S)(5%+<>o+RYnHvIPS0;e zt)|&V&fq=Xr0?iPJ{LO~DK?rP7L;Vfw%~R2BpwLbkA>Rf^1)YWi{ zQ3hGZl=@;O98@IW(ffuW`oQyjd3}LBfxaC|#>`g0f{~$to46mQSl}ZYEuYzx_`5m( z!%HX`=lZM@X4CbZ%YF&{ zSnx*z!_dL40*Jcc;dEjtZ`&!Qm+4(-6UMN{WCibP-bx;|=h3TWYAjluX9i%0X98x z=f?3I*2f*Y8booS284Gi|&q>BB!^V-K3f=E!cr)mcQrF;fa-7!V7AKh#~ts zv}vRWk#1}k&`GJX(b2g($)11jEW9~z9gCv{3W3*wq^_|8s+gVN;i|bGbTSpruWR7& z!L;(4<3byxIy_hN*7U<7W%RWKhE6r;($G!OnjF?DjrtXu@iSdoTrPQ=(ZRHwX`8XU zc+>@eA4PF^a^sTe3of7G%8 zr0e;Wunoe*4craS=@io~FT;11 zaAChOb*WekvA4{g6mcItLc5Yecn`NI7$O|&{ZAJpQEjkI!^zVzDWdiSmu4ZnT zP?+dX^P3|HTzD(Q%o1Gsm+rUhB91;L=Y^2viTn7$rx7CQIr||riyDJB;%826Rz}^n zo5$?!-!F!qcJuvUKi`T*>@!3yaw2PhtyB%GW;VIYIK6aY-fywUzPkP_{Hq^~TMc8{ z-C%|ha>t@+EpPjG^P8X&C?#&Z5@)N9m2f4UBtOtnv(Ajb?|lK#MG7kBU(JlBbjCNP ze-+?Qusu>Zsw2z)KR4k@Wq5!l+GS0jt=xLL#;e{?U^47XKa@edvbp?lvuGy6x}@db z(zQ&l{P)N=WIc2ITnrFuz| zE6~wU$j2#m9TzraB!C5^!pYZGHi$Wa7b5}T*Tm>>?EZ(U)$Solw=-|+8|h<;^x%05WW325xEt(Te0 zfYC|_`ahu`*#5*+jCU`gEDu>h&4*Z0Km;qz7sr-h8ii5 z4cDF*`!UbXltry-J;jIJ3JHtP0Mf-2rzsRSJ{hQoI-+zi8`T|ZF7qgbkWPD@x}X&f z6@CM;SVby>e6L^YB#7L5-RS~MFKY#hc)X4&nr5Po+pkD*+a8Rg*{&%_t2C5V2;xQA zthVZ!An?+8?=7EL_AQv9t|o}9e)ZlOl(XbDn_8-5=+jzW0fjH_HZLi~^2QC$TsB3J z1=7F$FaiV5Hs-<1`+``lJ5VLsn8CH7PTy6%&SKak_V3=~0HeB{9G_yrg|WCmfHg@t zI9J9Ycu5BN5pLYYtp(($oBD~DmzyqzDy}hnqq6<}ct_hlZ$rn|O#F1{KoZw<;>0h7z?7!E9?&x$_oU@43{NNF?pf;<2z+@H^h21o;Ma<3m;* zo9<9}Yxc=*vr6)PZoGz0#82o$ZpMF2B zn60jI!u-Hqw*srvhQq)T*;S|zTClGVkVH0)!;W3hwdD+xA-sxFNDh!U5TVnrA36I% zWn>K}7chPD0I4#-^+<|ojv6su90B-Ee5Z`*RCg!GObkehI5X&v1pG|? z7{*G`;^L1nDKtrAm-bI%Qe@HWpR*EG7Vwh2fj7yJ`Nz*Th$ zsk*5O4B@QIWC=<35>_opUfNvQG+e}ybDt|KO&RyA&4@C`0$AVxAhJ=@ z`8i{r+UjReYTSB{%Qn;L=qu+_o_xzEa%+XwMhXg*KiM2T zXE=`I2JUsGAx2G##rp~tG+IE~LU2N+z03nWYHM!G>>+rGaEbD8;4zp`R{mpZdoc94 zw@I4ryn1{kfK}A?n*1G-3OmjmWNU5+^{&=HOE56(xWlEBjQy6iTp*^v`Nx2TGVZGq zErkZ5AY>!rR&tM9Qicb6*dQBzN9jJl)Qp>fbFVq0qwr~q^vrZ+>rtW&WIyu)k*?)- z?4^7p@H!3EM4+H9qlfW*TE|=A#{wje+J;@OJ!0pnMRNsWvJS{GDF@YB;C`@UFxGY( z@9-4v)2(Nd_Dlm+yKqqZT@KrjcVnL?0&!j?$7`fOzi3m`jTjD<{wAE=iTzFjWkf%% z7_#aPK4YPda>sXVc?noA<_{UZ8~V@`Bk=t=sF}Uso7?yrnBFG2cryw)^xGj3^~)-@ zy<6|s6nO^u$^4;s`nyGPUR*H8EQbv_u0^K21>CB9!R(h{<-n#x`=-&79gSU2TH;8c zrE8G7lQM?>JorMf?$sPW@!HBSx>2H05Zx^x zuEudY^h-B3;4-}-MMw%0IcV9SkXhRc!xPDP!Kh6GPogkuTh;y~=K)NQHyxD5$~8YJ zq%6fzj0iTn8Mb>?^jreXJVx@4 zj3V(&IUvNo_8WyahHfRSCE-o(ca(VXnVhE>JXe%%rp0lv`hN>I%Ib~#{G3n)r))FT+& z-qpUckr;Y#~qJ^pDQZWAL^EY zPUeEw4w?DQyv?_8nODHLTohX+y))xim-#IS9a&q;JwVz39M0drTJ^`EyOy_^;tJqG zL+9JX2eG|CbFXqvDe;yR00j3CcfGk%iI zYlW*{i4byWpmn{%?Z=x^iP*m)#a0#D%1b_tb!FlbvzC;;^5b`h$cz-OgernI?70xF zcGZgX;&k@RcgzdcJk3!C6TU{^6<4pb{mMQ+dT%bXf=U?lhE$CZ_dx1> zyCJp(WtRnt)ri}i(hH%$#-l%bo9ji!N*Q?Mv(IUBPnLp#6=03hW^QsIBXx5Q{Nh|68p0NZ!DvR!AY%^vJkX$ht?<~#s0noAQTz|(1e3m+@cTi!6@_##I@kiZ$86~H zGcg6$J{^k3T4Fgm#(IHb-inF+L( zIp${1;bvN%T%6wQB=-d_?h9Mn(}`4761Rik zaf2G@@Tv@`a;<*)P7l4ULi?r!g2UK@C=9|gS3{@+O=ekAl`d&vKpRK#GQKH9SG*98 zfyBtlZ!+xilmytTkry8wi%z`kl38A|-t?y_YM7ZMsA9fHeeV;ycz~Br=>;7AKtS<8 zp%|*UuR0t?p~7B_cVZjXAGdUCRp7TL1yRxVVQ;BV7H`5PiXsV2v~}YPhi2$#q4H#Fg+s1lBZd zKese!pLyCBQ*S1OtUUrA-P5BFDCL}A2$0_V!Zk944e8FDn#wOW8tR{pbj#V>y>;Ev5`xkx-5}i!(%k~mB_Syx9fFATLxXf94I(8VAV@a|5|Yx5 zG~E55o^#&#zI(^G|LPdJp0($ibFRJjZ*3bzx1rVPcV*zC0yM3w7af{|r6VnvHlEx>rOXlngOd4-7fGJ)0+s4|S=zLE;!?ks znWpQ0_vd?5V_jIGi)@#h#9c@R!BdnSS^q9@f5f8IEmy-DuB%2V4eX)xMLOkdZ;;%DNc53Cr@09eeDc)dp!Ecz?_%O}nSfLw<`;$6jBs5Q zrO#lyEGjurc0+0UaR*hGGX%VZP-p+WoGg#6B}3u8)XyB7Fa)NVkxsFg+>MBaIJ84@ z<^&d){7uY7AH5 z<#&3xtQX&#xL@j?e)*dG^exlUN!+EjZA2{l!urIh-HSBvictVHm?$8AHSp!0D+rNm zrt)RxaJtt={n>8Q^THoqc9!8trjR%1;G5*V%G&CIPwoO&vWPj3`U|WP!Uubojiq~) zya=;%ez1YFQC!D6)81znvk+5^SX+bw$1;;k0~aE(Xhk<&2$&ubXj}J=c6F|NR+QKQ z+(p57z{?X(*oolCoDW`uukVy)LyQ!Wjx;00Ugm~>(0t5O?aOJr@FWASi#`(Gn;C1* ziT`q3RR8c=YmQflcBvX%by()J$`GYR@Nf*@1xHJo0@xzO1ySV$!WdsOzLqm=?MwI_ z891MN?GK3{F+MqMiEFpMeg2VEY#%I(g; z0e^1adgi!^KKbq`LK#cb>7$*)#qt(v(UsF7*pkj?KH4y76M5Ss?hm{r{CgH>=V~6X zVW#ILBUVr&KVLZ8pb9!Ah`dJ5im{XS3EB(v^s5z>(7BU2Q~;`eW26dRNA;Ry5={U?|bV*U%+X#0tLeoqzzt1^8a zPf%5Hg)~OFoWGnuwbaGdFp7Qu30_AcA~+6hn|y$TcK4hrsF_Q|hH@w_iX0a1iHh(s z@tG2rl9si3_8lM>$Cwfb_|xr}L79ESG7d2`45Oo#S`MSNZYlXDA_4s}WEzvueTz`{ zPcoVJ`;hb4O)l9(g^!|NE`R(oy1Fzhd(T+Bao?554~B_HZFK&Ld4AY7?bsBrzeSq? z3t!|t{v+~u{5^cskFYp70p~jmM`YsoWN#arqwX&X$6iyu@D|0}sTFtZzNbd?Rx@qJ{a#;u!H=7CPOR5WAw78wHJC&hv?OlRMKdJ)6}3eiB^(;PgTrib;gm~rlFS$E!<;W-L_JPdR1R!=$u zzdS{L>cZXaaRP!xAM5hukYPA{(o(@i#Nk4f-Jxyr!=IRK5HqfoBrr+;b=3WYnq(`r ziF67uuomM9p=IM?NLrgTF)O6j!ZenF0}ujM@zQdMtyn-LjS_amV(k z>r{WI`AXXZp3$K-Lf{jAtMhyI_yOYcbQXj|7SF-@D(cvfaDj?)F!pCd$8!NKZzg~1 zrwPjh(|p(6r7lf!rR9{oK(=O>gjVW>ox$-~w|OH3#6$0rmeC!VsgMyXo%@~LM`nLSrAKTc zCo^hfVRR0{2Iq&S$18`7r+yoP=A}j5%K=q8%}a;iJcyQ6B6D3$cSGWP>j}*c*g~7h zY&OT6|AYv=E^{op{Up*e^>V^KEt6;WEwai(_Zh8D}NJq zpCk)F^$Bf6gQI^@$R5*ur9Ud|(S~omB&gYX*LeNdW+b@DwrT`67JX(sGs-|r73nyz z+~~`X-9|3vj_Tj$>HvYvrIjJBQ!23(F0<39aAaj6sWn%9bp6|L4Y6TCC7jOUVi>C? zHuuGn1TD9(I`0}v>FSgg>IMmie;!42-i@9ym*1!u0*m7bPOf*TVB`{26klzX!AsVU ziJ`*R0@)b36iIpIgmtSku7mjI**8=u&kT$fF3LBmB4bPKlJu$g;;~x;f2O-Cpn!qq z`1&rb3z+r!uV_z^b=DgTxUL>3&|rK2WvD)qO01m2v9Ge*BXOv&`6I$5oXlOg>TWnA z`fIF-L1vA}j;FEfG#GIQ@Da|V$yPEID$VV8M=i6ZLZM$QsrB`2z4&BZ2~=PlZ0Uz~H>8AzfDilFI&Qxu zfc6Z|pNLVf9{1N8-K=j6G`3JHRIuFBF!%yC`^g;~4Otx=m)l&M^jpJu1+Hl2!!?5_!A0Z;-3f!Ek7WSNzF9oAj6Zy@q zP%RyM@LMJP5d-jK(T%q++aA1oH0S7#5bRc@>@lf3;A}va_DJMvSa3c~fuJjF!0Use zrJwrj$#>p&WY^1dRoXv$6L;b=4v-d$TU?MTe$HQTk53g$It*+Ih_WiY7w~@{rWX7PZHCL^5HTan9aq* z!P1}JQ@vwp%%?1639cRi31;4#C=RhksyF_y%ytHhPO9Qb_k2{rfu0*e#rMUN3D~FO zKR={V+cr4L&hC&yF_*J}B*A%+W4qd*-h!u`IGe476idqgrc4yn#sdYEG zczyKJH@PxmLZ->z!ZKTx8BN0*T~u9eAyr^-U!!Jof=V^`A?s*$<8z{I*P7}c&V9|X z@W6d;>1(PI?Y-lD(e9|)x7M}a{8>F^{ACckl|33u)&*`4ALYsRV#Hg!?ilzbt2X{j zY0`3wFTvg;COqKw@jc^R8NYYCk)#3@p-1-HTl2{|Bo@UfHnm11lX)u zKzDz-R}VW2w!_sVWt2z*26(KXC+65SZ=yye{k}^pHF6&e-h>Hpp&`u=a?XhWC#xxh>Q>m zF}#OtNb%a@5gYmi($*3|*ITCO7)mfoscWhP-^}ZXUFM5Ng{|uZ;Sc^Uqj?nb6JE(X zAHA1gkeL@m8A*LlzcHqv{}65-M6d8W{+eV|=x`8`!M|FziI%ivb}~AX;Pn?Z&|`}W zvYjM%E52kO`5`8s%Fa?3`TZ(j%ChzAF8%HUHay8k;9ZT4$ubFT%dRk`uz3CFXO7kbwth5@-K~mUm|=J4 zPd_(B!FNb1!n*BU`u8cePkKka*1>H)=_x@?SNu!(%4fj+7ZijoBqV$gy(2Y%)_l6}M2{2O^Qkq;`;s;9;c?yfas_+g z>(h-7H`h*p?u?WU{KNB3S>f!nbL4g-7! z3CpL6m*2{-j!L%cs;xJ>=`>G$dAN6g6Ye@K-K(x0G3${1{K^+88aGayilmpY!ABF;+&&!@OFp%6jn>CIX=>D9QJVlj(T-z6ReKE zv(#u=tO}^+wquiL^Kv3rQw}^^!hN-^k8jwg=~se!I@;{0Q2;I=rX^)bn;?<_ymDx)HovST!i}!(c^0yC0 z=?}N6=V=N)r!?5!!^Y&S$Q9)%G9)(tIB;ieQ^rCfm|bJ(VxiZ<&JGindC1)amezz% zWpA>2FR^Ejo&N}a2!GPNY;HPOzz4RZI+YxWcCaqBJE%MDnzZ<0=c*yx&L`YDiDbhJ zWhsQ`4mY~yHh+Wt;5c9B82{t;x{TwUGeA_yn>ww&Ei1Le7T+AkMI^}4x@=3!kYg>! zaz?+i;xtSbj;HyUF3aUHi3XPT}lLKLzy7((?m#@D2CGwOa6c!hBwXbBIdlIRxgB zRQ<^;)1*F1(poFbKzA5RgIIhhSDk{U1AL9#9V*ZfIwi~BN!Isa-$cB)9Cpv4VEq|C zmH%kj^L0xn%32uH=~AG8t7<3d9odKOcvf-b420^BS}R)lM_^WSXziHUjVI zQ`#!-1ll+5dvbs3Fh|EWNB8?l5^JVtZ{YY8cc%?b&>xWz=4Vx6w|d^(%=abd)9Onr zvOq#)8|b~ODlL|L=}emw0}J)@taGLGdeZH#Tzq$~WV?plPY$xWWQlofuJ{A{$2SR7 ze1{#Z;0&S|6{sdLD+14bW>~?mI8`l}LPZy6*t!tj*1>Coal^uIrzqh1T+qRR0*m_b z%PCrfaIOpGcWE>qo4tCq$lw&eqiUYP>G(Ud-VA-Nu9T{$H%dhN>Oj|W$ULr%4fpiN z+iU!^rnOYkZ=$oV_(hEu`=9S4L{zANDZoQyR4$*oh~206qZ*FO6&}cNxe7%Jtah~& zDaR7Djx0~-!!d)IvV~$pg7bi(eOMOsKb?wSME0aG8V#r=-KnVI_UI@Q8x8I1Reye0 zWM4ryWip~Q7Q+nD0l4 z`#_*yu>+RBcm|sjJjvi`B-3+s^m8izHCsA=L|fZ~cCyyMP3q_%_A$17QMo|f2hMlr zd=Cr8g9t&5AYh3?KUdsHc?Rh=171gs>}=Gfap>vMgIc5K9}(Dg5@{6 zIenqvP~%&n)-A5z@Budp-l4Hv`ZHVG0xf~PzC#F0hfoRQkh{P?=u?}r27B({*9}I9 zqwRHq@7*o|GutOqw;FIXJH)ZWg7Zb&o6qVdnHE(C;qjJ)}m7q!R*EM`(p&sqf^t7Kr{HE$1|`YPD2M^ zvjNzaB`}?PYmom(A8M>4@pQoMF~2lzV6nX|9L6kWd6qIbb-q9d5QsfzDYE2#hQNWajAM|w>X1EjnFp@nk#2NNVSRvB(kf3_j^FpcGc2xK2 zG%Q%PjMp&WBQe62?&FJ0Uhot(?W9c6740sk;6*7o7@>sINm4ZO{aia$`C1Is@VTSU zv|KH0C&G`0D>X5au0*4HJ03g%hfM*BAF$_^$~)o)X3Fi{`DKqkuqWVm;dDwq=#tKC z*S~T1JE_x4-!^*3nrPsb$0?QvuSP3axL_KUHH&`)f7~!YhOp_Fm}2<@arr|R1(JKk zg0jk9nrPIQV}_%Bl}5X)R?>l|M&!uigwGy{-PyVdycWKU)@QQFFu6&-z}?y(?@AuH zM_{C1aC91Q%L;h5?jyF4r5Rbf>NNb7ji3IrwAt!AFbVsMNrRx<3Ha0PfIY7nA;NnX zoM$E#&>02v6Xy2m>f~Rbdr9381mUu#p1M><{nz{fTJCmN2jFabn;DznS$m?9Ewb`= z47{0#&Nq+2leq_-;5&N3HQv6D+R~1it%YL-VYlO_XTA-#X>l=2XpNU3ak@ z$?E6oc9MebkblqP3YJ6qPVF=TvZRl6;KMRENdl!A z>%cI%Hl0N<%k9OK!c#N;@|)*MS6H%@8yVviOG4#fTEcU_$e1!HDPWbFowdGPE+7kJ z?~;A6T93qMwDw3N-G$Q@kPUX;YeexF!|7Z!vn1#%we9aG2wTi3CPmLv1klgV$|L8Jcz*eG&^gQJKs{(d zR-f&;@j*q7ScKU&7hM}hp*`0OeBhj{^oAROi48AFG70oDX{vWBGJRYMIOTkfb4?NezOMhlFUq%V@ahl5E{2EP=&5JyuMCn-g;;6SX_oo z*3!oB&#^7|g-fvv^R1pG3>ur7OzR%5*A9i9eH8b!-=Weq`~J%3uQTquSL08Yb&e4Y z*}7$JwlXmf7VFym=)ZbY?ncYpR=;7?ypv&yT^r9KE79~2KEgu(Pve%pPF5Hnr?f%7 zeAdRTH@f5tiP450LpkB-TsDHG>)R( zd?EZEDh?yt+q-M62=DO9sSC@PGNLbE_|X!hmbeWdsERoV+BQYXGHZf`P~ewN;Q zKh89qBNJ-~T?flq2?><~p4H`OW*E6ubf@+=W)0V`)^l#LI25yEmR?K*XWnb(M00o> z#drQfchq81^Z8`Kc-Kf|Rgl>_iU<7ER-(A;x4oJNxrT%es*|5q{W@l6gu^x`Hsg~t zBPIu28!0R}?j#Xd9SSMs^=lx*2?+`rL@E)!@wnE6Fbo5mmAT_m*iv(CqPv7?&DqmB zJGO8&ttHUxK^YOE4cR%3N2pLQs*K%?7KR9rPtRSF1)a`Wjp!!@ z$sb%u^!uC$s%Ee(pE!5Pv^NhsM-7YgZK~RTthbXk=$%oi*}qHB>TG`ZV+9}NrPq5e zI|T`>53-%@*NVObF1JfdU47a60c>SSQxM9f3B=Z^OY?UwIxFQ+yhL}BT&p3Olq4Fl zk={&n_PN8))RRfFV3YjS6{37K^-d#2bhxHbd3wrn|1%pvKkSy6gmzyi_9ojoEwql<0)7bnM zbus%!I;t5*T*=ty+g^Sr!e{6WW(7C$1Us|`vu9)d+!Q%H_HTRIyvB2OZMP-CEgDHl zP1`%*b$4mq$R_P_-03_-}J^m_%cjBy`@EEGKThLhG}lXj!b`UUUn0XY)+nY`wX ztH48WSG1O7`}%cOciF?D<{;{;7mRx)I~zY4m7EcE<-nKp(?T>1L~mZu&IG(a?KC%BzUgJWswDN6;}j9dTWHL_ zKLdC9`Qz=!FV1LDKM}$wT89}Aw#LB^Eyw;0{h>x+wD$3|xdq0@XdOAFS*2O-2f&wb zaA078t(6d~^pVou_Bb^$>5<3*$^&39(rC#D#wD33u02*r7J-k8 zA6I_s(K=8yhQfr5-`aN-nj}@fg)7!ZqgUGl6Q+}KaSRl4qLHZ3I{WzMU+Rp$ z2gh2+{Lm$sI8w0men(s4@Z>}>o$tP6u&CiM#@<>$V#~3tvCu zXR=->^n||7x7sEgjD^t#E$hQ0N>iHgnRm0cPp}{^xaJ$U|5zFwF;k9$f!q>F4e3L! zbQ2~LbNWIm7Y};Q7Xc>K8CpIV32|?8Mh=gHKS9`x-qX7sQ7MiT$>R590 z3daF)SQxLO#m7dYVhx9gDTza3Xj@(Az01(O9+ zPh3)IYGGsk!YsJ}euV1cYgz5ad@Ceb*^#ImxGu&P`|`yq#xKfqMj9rEak=IMaggwU zSBN}HPfXjNbRTrFh<3fc1ZtHK6Ja`Q!R_)k&@;MqS=mMHXiVL? z^QQ;x(a>$hKiCHeu8JI>{*~a!>v;5$W1Lb?y%xnJClaEtFr0>p~TTL9ybmWTXQIV5>l|`?Ss|Kn$erQh{a#`6s z$X+!}#HTD(IvZbnP(GrV#<2AnBkEi#SpSiX5nYrAO68#hL{9NW) z$ysjnU8Ldqq#!IA$*SpJb$an!^SjQ5#a)kJR#Ib0|{_n6eg1 zsn5(3GtA6$xEo(+t+mM&s{t@yY z9t~5VcM_vcHBfj6LBWC?Efuy__Vmxbt6N5`f?(tnRRC%cxGO~nkB;^%rMBbM2gpj4 zfo~*c#6+DFqs?|PNnUvt6c!0sts7-Kzu_?42O(~S_;~>GkY^@m*OhtN7XPk$Ug)8A zi@c}%I1iIUt=Pl<${8Va8kbPH(MJC|UEJzmj=VIb0ZY0*p#&|rV=5!H+HA$psp-(^ z7Q!ZC$sd&1@+6quHj_C0Feq~8PSDIwZfogFBZ8r~zZ8t{RkmV`v=ooZV~O@Ba=+1Q zJ7b0W-u-d$$fOD-r5-~vEc51PrXy36fAT_AH8nU>8*B02JQ#x3+r)74vlScgVrZC_ zq1>*0ils$AUMHt!{3-=c3b?;)jhxl1q+i}=ZK>6V*AwT)#h;p7@ts^_YCOtYY6_Ku z#$x@C1|!nN@sUIN%kuEL5m4lMJWx+ccAQTbnd|rTEPtsIHBGx}9K%TAm(_K7s~1di z*I!qD5DXVa5EoQU?8s}KPs;(Cuz-Ut*-426ags;`>DpR?zuzt}e8?{NYWV zi>7gphu($pXeFFi@}aSaBzq9B1Zk4ryuxbO>NxHpnPhA}R!ARFrhUqZZAtpNx&(NJ zsi`W?F-X;W?Du}0P}2|$0;YtFmocQk{sBYzw|8~7I`az*90>Aqoww%T;Vpod68;6i zn_#YXXIyr1qbf`H0>+}AbTDu@$PKR0BUh*w#v+8{n>nL8Fr5J&JjG5z+4 z$=iRK3- zy^j?7-a`4IvS)bNE*-C+B+$@cRFiN+#!u?A3um%SS9AlnxVRmn?o2NE+2rFjXB_Rf z?ENLDQxeT112h024N>=5fk^2Fu{)*Bl^C-Hf%y+qW zAR#RauYW>m=+^e9g{l9=b_`YZqQ7L@@Rw{8KwUlrLP6h44R_0SL4fU+f3e*(U_0CG zGEJKD#9Ou_0Bi@O59FL7&LRu8q@ypiTTdXih(y}Z%;|+i@W}>I;pK)*{qojf&}w={ zl}8vw<#=fKWiHIwq|90sG}~obE}Mx$G-(P0rnJv?ujv0R+elD3VGG8(Lk*-)z9%j^ z_ic_NRI;NMIT*jl3WVpkfiaQYY&aIET+9{L(^y1v@(@w`Gk$3vJ@~Go!uO5p@lD!T zn8Wg5c6G2JNw|6KPW~;47$7D~=z=N6xAON7h->htH1&^~#^H)ceh3ft?$+H5`blcU z?aE4CNf+8Z18u28hgKL$_{?TX)&Ni-ku*;$u?J2($Cx*tQ5c9PWP_T7^0lr6@e}+) z)i&TZsuT36;i>-@kc;JjHsilBNw+Nxlu3dBlStrtI{ju6&X|7RWJ0s6M$86D z0F}G8xZj{q>4H=zq5SX?4DBiYFHq6^4HYi%1J=9L0?gu{e2}q*Fny8#m3+Bjwm9=Q zT#Qv7DOg0az=7N6)k|~eEp`4*zA`lVQ^w#q8pTTHRBr!qp@-7G3y)m7b-u*Ll`5O> zEHJyeg*~@`m3c?G1OwW zYUXcKSFF0|FU!*i(yU?r-0#*+&wNDfEhMK}XM=V<)HIKN>x;GgGZ!Y^U;1JN^d)hN&)e5I@uz{R0|mMd99^ixoYnEIU|*O&c=JxzAiFz3$13Pu)$! zMKgUrcFt`%*Ao;DIw0ztOD5a~#lNy_0FD1E$TGi8f@^Jb8M%TQFicSQad!?q`+3&? zLfwA^M=F^z;?1-4{0`}VcORf0W1;m((E7$=AMv-i{AO&`TTQGuK--z80g}P>O(>w= zJ!f@_C=HjYQqS&+XvE%$+RVHmas+vCv`I!+&Iz_61hI)Pw^$JO_p!S)o7fvG7jDoSUw`Mf+Kg?+Mt=5zp#1}7f zLx9%wIKnbBB^NaoHRe-M$UU~qk6TV<{|%7O1}Q7450^tN-(e?t@e~h?fETkRrSFA* zPV(5K0^Q$LN_f8p%X}VV3B5*&?r?RmH%*#6;E=bwv($|5&SO{wpSZp1xXmzgb3|HL zJgbSM1W#jrt|D+C{HX3F2b(|XS#koybHQ}pTSqGXACB}dtu-^T(IpjuLHO0zl zChv??ffQ%t=;SW8q9uBOSUpbMFHEHM6zu%CFovDSi0jea9B?P66yO{tAaWq`1j|XE zJ!W+221J50$q2R@8Xy=nPuT%q+h9SZCNb@y;G>5rrGGI=>2D^1wukBiYISDuMjvFH z2yww92GYOUL*yQg(0@2TXzTLtK*2$(FePXuQuY1xc@{SQ@zodnK5YlC6D!R$sXn}s zBIXSlBgnY_?c_Yd%{y z{f&Gui>|L!@}l17T3@-xBU#JLmTf=NBh+<4KLGXD)Ruqxfe9(5f7+-2p&E5*F>m*7 z{@ymQs_Bf-P_uoU$LJA3O_?2EwFiUe!s|Ne0)(ljFAm~8icpc+{Y?m+wdMQuteWV7 zRP{JY-$#HBYta5J^`?vyq{d9?geUXTKp3i~R5*HC)Uy;4jMVb$bSt3*^57SNO#KIe zWJUbHq58jCK0e&{Zd%2VNm*#;1@3n3edN>WR{XtH1~!@UsKIo6H2`(*JhjQnBAj?M0|g@B@) zx1LQAVpT&ay84vIjYYdT2=i}yO+QoFQx5F)zw|J_C8g{i7VqBx@(Rs3AYOCxS5FJ| zc?lMrNENL*B-*~8t{QWFm%}Vm>DW%}$Aq5bRGU(3zbiF*H2pBrJp2#csYB_mOzYXL z$%E$i+3v!v$GLaxb+zg*YiJj=)R>HG@_jz>kX|)gy9>* zEn6VCKoS)xSy6J}vGn@LJ))5A2Cxt1eAYX{(CVs+x_%~ik)f%6cA+~d`c2DA;feax zO3r`zM^>}nq8OO zw3f$e(7r*D*8IHXCdMpJ_~ilaj%U8q8~B&z@sPCi~AYco3_PDX7mN(7I6<=?ZJ?_Xl&9*`0bs0G@Oc#(#8+DVs(~%|M zsc9F8fsiF45wZ{}#fey)tE`qbYHNy@7S#Q(!HPhGt+#^TlqB=ne4Ebz@nl#=npoez z%IKTie_=w)*^c#@Obv^IS15wQVa7~$7>!VSnv>qpB<88-E1^O$O(~Ma)1ueIFjPT! zSnaXWAZF$GjzjzND+y&zdN+BJ)9N1P`J(xoFGV9baUoDIKtzmx>?UL(9(VbqYx3sW_vm$XG1nm>+G2&CvJQana2l{iZ4_#e>pe$J~` zfrDw)CLq=+ShE~&;FmP1KhX5ZZAE5afao!lqL*mASUeLTWw+$uWLCSRpuu!*A0=q$ z6n=&KG1{y^1pW|rzW+H6-KuPoNli3KI+vc2irq#>v-{{SzH>@IrN%*PhSsiUL9@{w z19(EaB#w*TC($}hu{l#O;6d70U1EW9TPSAsW9ug8I?c$!sM*t4wi%Y&WR7Oa+u)4z zz2}i$kbCVtw@etT#N-H)=?sz?50Z&{hBQ&+`tpl}QBV6y3>;N%uB=U-CU1pu)b5RW zb7U79XEI@e>~%EcjdM=owM#_mE4TB3n`@b<&B;Zi0kW|A4B`-6b5 zT(?0_{Lewhqk#aAhCd9f3z(QPd9NW&gigUgGb>JmxgyPawNAu~zI~K-a}^a)7|O-h zf>j35cE!@9MJ^R2;=iu8@}YTOgna?YkLBe^`2@}GfsNIZ)ufZY~;touEb<| zE~AgxqNBA4KM`m8_{BF3HujBGLr$; zR;=@O-Zy3iHu;Kg$}vNl#l`O;)00^TxY$hwxImwU;vyE{VyzvTY3mfqqJ*}o zR)Ju;^ztQ4GblZDlW7rAhzdpIY_ zPBAxmQu?~pxuRWsj$$q;b>6(Y^ic@o*ddExIeY_FFo4ZFkO#2(D!N@72( zSKop$+Ofkdi8STXvIPnzJD3GfVh7WN%(AUN_pj6IGNSYgW5dAIR$T)OV5+NAt1-;} zomxs+yr5=WKYh92%RR2hX86PVD!V*$te1DKoC{A6T(F7IRq#s7Gek6;=Nr#X&>r-Y zOEEZA?7>|rUjZz{=gXSr#fkrh0_^_?1yPxTE4$=gJ(7w-uD15*UC90PJw;1jk zayKS2-Dxb{_3I>@5qjcHh~eboc=;pm`2FZp`5lE66~Jb9x|PG=gYg%EGDt{6p=+9# z_eUBQtr6W_)DP1eQ0SyzqYuM66_$}`Wn{vO|01(t#ZSCSra2XzMeo^BRV0=VX$O;@ z=>@5ub->Y4cP>7MpiJ7m zIG8xMSzzZKN_2^7iW$X7N=vwdTK>)b{31A}EXQ+F(p_)wza@=cNnf-b3xj)F3ODJOKoN?i~buQ~Vtp`=X z13tlr_izkzc8^Zb2(?luL*vzv;(zI^#R%%oTJEZ_uq#BMVEZ!#|8gzp zzg)|v=^u+VRRi|}SSmeX@^fEwY5mhu!0K22 zUj6tEMW&ZMRN_!0IAZnRs=W~2sm@@H4I1u3DsAPhP$dP^nf!}TS=47hh3YO4sx8Zj zh5+*{)+3X1t3W857D0``KNnw`@tS-T*)FKS!&}fL8I``Knbc*5_?egciEq}^0r&DcwC10xj!>5+Evgs-9>@~w+w}>=b%W-$|adYsp-%1CuPElTV=<3Xo=UzP$Nwj;Ew=#_>eK4Xhz@aO^JFJJk68a|;b~uZJp6%h!tu$7-GOu$hj{jwkj{%w&7g+r0g9E$BZHndoAL19eT73&1yDLw)l@d*!FV>gn#3 zg7DIQAWd|;IP^fC@WwK8Y5%St%j{m@`kjO@7UWhpUo;{Aig2tZ+buisFk*Ygu7PLx z{PhLFoVdY=>w)wjhe`GrpN^B-e~IwmuLuE|f4%?Ue#pjJ%==J*`ysa~o@&VmRJ;wS z_+J!RWsRr|D3XJv_X-zK8UBw>lqSu}AcM?Jfj=KorcaTpFe34FpHj zqtkp8_3fw{5S#=rW*|5WpzA2w)sQsZ?34(~fVv|Ds-OwE+*_W^a-$}@=>}q+l!+-$ zUvvtu%w$97=~2p!>Xf<|Inm`@CWR{3BRjXIOQ#!`eus%AcbB&LW>~F&5nI>VLe+!1 zFr5z!<}pg#C9dexRpeneoY{W!M`OjJ6X_fg8G*vn(I$^ zJp>VUIl*tn(VW;b>z<JaK5~KML6=P#GcX zS0Qub7Uw>K`if)rH&9;zga-JEQ33hH@LtbBAT--?#5#1NSBwffv-(wgf4ET#>j@yB zu6ps-M{9qpixMXYP}wAHbkh_s9rVO1>Fj^0%W*RrV47?|dih@32{Vn|<_mwgFp=hj zr^1l5>(REX$n_}HRhT?#+mqP8ldd&pc;syG1P6>Yx_U^@!0ur-d11eaS?~j;XLGkP zdDqWntY|~h(&kSF8%zHgpqnHev}t#-%f{$f5cx%gxDEf2K^x%A6cRuNZ$Jhgjzc57 zfJQj{JHh}$?KfEUe`jz9nn83FXa>DVvw3n7y{2mS$Xm*IV&c-8_J=P-eh0WQ+jkNC zRzNHHi!u{@FVGT6Rqu>rEFys-4;9e#0PTzX#WZCqL!p1PuRtRHD??9cKtdYK#=Db1oezx#Y<$H!*3q(k&#VFBx zx~Ws&ypp&JF9qrYOl3dAHqM>khZKhj$vLGprM_qxQY&D>p0c(uhE@mio859lP#xU6 z5%GUl#}cM1M!(55kW_w>RYnMxc3Vs8v;OLs$ z#brZ552CC0j>JW0P?!Bo_A0%qw)%r3_SuR)>E7tMFGQ6)mX3jS&7E@>Utq(dHL_op%CHPtUj;AFkKUyhNkK?$vHBu|Z(iXr zXf2b48NRL!eN+)}S#>2%dNh140#WCV2cgZ}hL-PQ!68_Bm-$y{IsYZJB}^Aejla_vB1Clo21(4-CY}#CIfnH-TscRK3B1QI)t-aafnej)V z$PhUza-nXu=cQJPG3rv+`)d(vFZmGgvsskRGs`DVqT-4f809>ino~VnhS>9nAyY+A ztc?I0cvBNdNU-h^Rg#O%+4l-s36CQqWyV7JW@K(%V8Nqbm0%aX2wdQ8CFp&BI{=}H z-D`4yhiP?#pqC^riVb)>^b)PjhF9$o{8~+KCZ3AxQ#8?JW7#WAA`}&Yv$sq{8o6A! zeu|NjM^Yq#um=je#9#u-+(|@SalKHt5ccb!4YuXqgsN46MIr4}+S1`hRfo#Wgx`()=Kftvcd3 z-jXF_qh#7>P_pv6FK*L!)b<4gZ|MAz;#kItT4;Uwu=DQ%?uh{0IHdt@kdp3HbQm3AnCSPLy?<9HycNv;+W9CJ z=tuUNx-Uw6i+yP^LqdUHajFVrzhdCRN`H3X%Eo0QYr$|WW-wmtx@!BeaL)Z@e9@WE zlu7BlQnS%oaw;2Ft8yOvdX6|WF#G>&U>hCMP7xYj#&^k4hWoQv{?6O*i4VvdQf0s~ zWUh}`@05&Q`F&D<0A^N*&)p--}dUf!nE=}9I$x2kYNe+#m!pvZRYR2w}_xe#Tizm`!g z-6_CY3Tljb%5+;mnHr;|fo{^nY?E3j-daKu{$naZ%z?V7mgr%BQ^4`adO=rGI%-5P zUFviSAJ@)Mkj}mgYu$#=D;dZ2s)^U_#|L0jzHMM8t`gQw;DIa|dJ5gW<)?LtW1nOT zJS}KAB)l~Rib?W^bGER7jGkZ%V5mHswpOEYgC>j23`Xv?CB}PQ&`mgkZlX#~f4>nH z1}5S2*H(dHUS4U_hg$wtneLoa>V|6?N5c;G#5$}I&2=Oxr`liashoB3V%*C$*Sq=itXuji96XfrtS@`1VphB1&!)C$T-ip73^NG20ovmufqEXt z)P@RRhFqXL2%+QIt|`P4gz7*PyFaxgXUO#53#fgn1Y%O~xIA}=LTCPY_3p0utX>aS za7oOZ(nGYt;eyZ{u+c4gxu56|wPa#y-ZsU5{F!Z0x3IR?>7@F#pq?w(s`<|yJ)0))-HjwA39 z5YYS9>ghppk26G?Bt43LW9!LWh$ew z@ClU_A<<%+T&dJi7No1Ueb-zZd{T6+gfR(SV6*3|=C{cq5V!(pCpXUYC=vuT)pA&F zMIAV}J&}(T^QGPdB@8T|i3;}|y3cRmhcJnk^Sf@Z*r=Ay6nN+*3{iUgfKN@L46^-| ze)m5Hkrz9=oAEt9?2;GdZrWg_(IOb>%iJXLV8Ht?wU|6`HvUn|fz};OEo1BUez^m` z5m51ESkVUQQ|Jn4tL3m-L^(Nl=*dTl9-d9p{C#pc8(qiu@a-GiHzCwX%u-R(T)t() zJ+-BSGfQ^|^q-S`B}gHAu*&*kzA0M{Asy8HzF{#|QE*1p&e-{#NP^PBLvil7L{kqG zz1COyj<6rx4*4&=h#p+`_(w0n=&AzH0ttf_Xq7>zZW#kIbFU9jd*jT2Lf4T`v!nCosdxMl(n2Pn&jo=Dlv*Xj(@Z5<*G|rky@C(edf2`|PT( zzf8SX>0>jS$*QaNtJ_%~F4K^lv+4)}+@^A37ARCsX(o^+((F-*TmY?3VZYjxK)GAvOT#g?8fCqYy(rh$y$%#vFb7HXnmj4C$;>MRwg(eF zQ-~ypQLe(MIVUPa)M`sXjKo+|QQWz=MdXaA(ii z*{=x2oq15Ek=wqObk&(WS^>|3T+O@sPeI(G=kLR48mVZJXwoWx=&4^>&~Lj z4tW_&y^?Lsx4Qc>l)(VVm*!?zCyvns<9@>X#2SjGTHH2Ri&7u1?xCfxD!V%mk6#SyXM(|FMKl*JXaK84RhH zGW+#Vv>5cA`=!a^C$S7@@la|UO$)HlXWWSG$rYWyrV)`cu2&gE9XUM@fk2pk!-jFs zrev{7a6b)@godyRs{BH47<$*N^NCsPx9|yUN;uZw-jz8;^Uh2WDqcL3?a8|#Zp#y& z^Mysi(9w{#*H2C8RwWTdO-ujex#fCveh7Qc<{gwL>-r;3osn;Il9@kSp0sAVI z7p>QG$b^fUEdErm*42TffmsZdyDu4NesTsW>(EhlIApcJhNu6|3VGG6e10?7qsgK^ zK0)O}IcWEE*!hUmVQ$@vAsp(8w?15Hs^#i-+n28iyRr3yM0Qih?6=dE-^8gb>gPef zn&Lt|!Uw}r>Hq1@Nmel$wg3=}=#}`~9@};ReFf<>*blE5%VCw`W}qNw#Q!i+AO7&I zjO3Zy8M|C;zhG8hZh+Fh#dQluQ*Lk~phlfw`|KD>sl%_QlAnfMh0#C*G87y-ejs3b zv%Z$OP2`y)ze^-?Q^hWxMV-krd?RHF>Us+#gxLQjgj~?{IKbcV5;&f5#z@n}8L6xz zPxbQrlFKiQ1pLv4GLNQTOhG;C0N;j>KOI*rgM99m(1{4`^}QMX9B^Jwq!o9Vb((mC z>DfZgP}mr;Rtr&SKpfqm3<`s))0G!NG&oHc!PgpzlD(4#!`>*zrVhL`A)p84A&=9x zBu`3tlif&y)6N(J;@?;Sszcwy_XJjCvbk&zsmwuL_?V}(8FQrfjy~90w<%9GMd`D5Pd7m7h7ZuPAn9$!I^cfcZ|nROB-5^Y@aIae;#YlV1B zxE5=P?j3wG1uSmK#tStBarYM*m%vDoIcmDzn{ZNL)x;y+t*T@GxbDH_#qQzFSLcgV z$4h5Iv^2niF;+{;p5E41ifdNX4G_$9&IH7E9JANMfsQ+)u~nu6&tj=q>11kJD^{7Phd~S zJQn1GKpt65!G~y%k%h z+_k0kutQ!#?cRWiG7)DglUsaRU!(^^!4xKY0L4M}DAL;OoduusducQ5Fn1B(s>6X$Lv-c62+z@3_8to(-)r5 zP74;3dJ|6kR1Kp~fwWUIFYbYqhw^rya14W@U@mG6Mdu;*eTKR?kcT%wCA6IC-d38p zpLz>FBiiA$<}^ANq+Q||`&l-TM`MhV`CVmi$4ObBJg=j>bmMTi-8EDS)7p{Ho1Op( z>?U7Lk+0MaUwSa3Gc=^ai&P(Z-BwdUi0t;Vl(~A}=?Y*lt$HzJX=L&|UE_fQB35Cq z8gx0I=s}N_`0}0)k-GvGQD9zXvh0ok(kyyDHg=*c%uQar;EtN5>`>y=-JT3fdl{!c zJ^Yn$4bRPmqp=$gcHrg%YYflc<*&%~f&l1b&bPAY`!aep)8woBNL_!zrKdPxDYr#D zE?j$a=@B4e%~}a3yu3FrHM{fY{XaB#5J<1;7)rkeTE8GnDl=Kl4z)DiyH^=Tw93EP zdo;#rUNvP&vu>|j5;_Ckdm$y2T>Vv0Ra`O#ldHnUJtN=yHXk6~&`O1KexVqZZ$810 zjUS45%{)eH7SidFF%RKb?*Q?%5bgna!Kmbu#%_0f3Mx=YThU)eI}`rxfbO{Y(CTcW zk5J;!q+)yY+DuoOr<3&au<4Z0h(Kw@Xk3_GVMlLoso%Xi7VY~Z2i;VLC^&Xrc7bE(n%#aIJoPP zB^a;N5JY4zygM(v4t7t>f+*cBKzFmz0QSKrh3L9Jle^nD)9?#M=e=%a30}za5*ssf zg|`&5h%1mDHUy2F;T7ILq*|AG@}%KSu;5qa^0j6#P4(p$aZJho(u0F0Uft)=mHWxw z;KmEq|AD`(ohCeXAc4yI?4Scra9{wD^o6o%*Q#i%blu(hsQgUn5!m`3zY-##+@}`5elZUS;b3PJofl zu1YJrg4?vBP9Eb!lkeu(s)k2_;ywupVXZ~6a&i?0%5`5jRvh4+Ho`r2wdL13Tu&Z* zbz1|tjxh!sR@lEB6BYhgapv79%ndGQOw4=X4Lmd44@~c)4!-j%nwV;oZ^D1hyuQsg zg^YxdiCSO`DN@c#BFKz)Ji`3RIsfZJN#BmQA8alq?gFm!xyM^b7Xz-}fV~S^ThjR- zo!yRVKxY7`bUkmYyLZ#1_l?Izh2K7ypf}05bs-xfzy<=tm@$g#M3(fmMS>Ti!VGdQ`myDk0Hq0d2 zycr=K$5FzkS2nh=06#=hPLK? zJ5tceLJn zHKovI$~Bp3dG^#kV9*q7t15^vRNt6T zj=R5Da&CnQfvB2*5ih)nx%;Kl{(@*Z513i%a`eH?4;isc+^jAF8doyfrh;m(C$xKX zkCi}e?@e~+$CVRdSn6!5F;i*f{IMnO7aAJ*$WLpD(NV@N!96S2#TRvjcP$)C6VO@@ zO)=$dq@gzF`nDtrZ*a#`G1g^mDy|x1zeau)Eab*=e2WE#Ni_a_=_Apk(mIBIN`J~R zxzlW0b3fF7DIOB|qTI1{dQXk7K$ap`Lvh*7=+)BcU~01ZMKJI)!G=|-9ZR||G6v{; zAGErxm-Zq6q|zo_Po1S`IsoXr1}+qkNj~4FofH)wnU)tox@83?8Slxx{2b3g5#bEDh2lWy^&--FK5FEjwi#iYPw2WX7ij^3* zGCvhUouB_cE$y&oZjKR=)>J)s*KMiK5d{wiIU)o9%%CYga@qxQWC!F(_6Oa?W3UF) zrpunh1ctWPBtqtPB<<|;qw)~JBg1)oQyb(DcypqMz)Zd> zO0ZfqL;^2wJ}3i_v~y6O%9Ob0##pq8s@!M4ABTx#iN-qz1OwS0>Kz#&5Zy=rdXI4`288^jbwc@Cy>0-^P4Pm#H-ez6Yw(ZP| zchZ`@IYCUCnN>8bQt@j!q4aKK%*74ZhoH4(gR~d13OFC9ZAxlxpKJmEan&7A0EXgQ zrs!rPU#s5}M7o6UJ-Y~rEHzs5tgOI=Av>Zazeh2KNwpR(8j3kyPZ4o{ZbdB}5E&yd z6}e9y&Yks^1P52ejB~)&K1faUo`uTmfcxpE!Xwtk3-4YpdnU0LHM7>K0B-O^KmE&K zXOg)6WeG;#^G>m9(GB|1%E3e}!SZOA(k0=~?V@$6llK7xmGZ;9CJE3|nslL#W2Yn}6cQo8HXi0RoNtHa0;=lztb6aI{C z=EU7MR^y6PlO@#%lp=}3aaCA3H5}}NgdtX=ewa`;i9^?-o|@kKQa#&cx>o4TWWDqW zl`c2ptVH1+;UBo{3q7!t7pMKZ@R*81y{bkncc?!Wfy-;?rMAKuhH?GoGZ$Jwrdza= z;X}g2OTEoPYR-KM+z6ZR0*%xVUON>uSd}PON`NaV?4_7!uz0J`u8e2LM%wFw_bl3* zEJ_cG_x0`_Mm_lYiR;2itm$=xl|e}WlydZdIuZje;br$l)|L5JdRVbUz^q)0<=R6^ zQ-aqN-aK!6fOV$BLs&~&oeO;W|?3ZnYKN*H;J2aDX^7t@+ zBfw+B6*Q^#Rt_xs)X?42LXF2;(DS3}{+l`KByu)ZxHroZ&joE19IFBEcbtin)Mr2Z zgG92bf|WlsWC|Ps-E81|<^48Fw((Z~jmPi>Fq9IvrqV6At@rq4q6kCXFHE+ZWIG0{ z1IK3pH~8`~NFaoV|L z@b+lMHHd$A)bIN6%E{l8lpTCIpS}ltFh~3(nCP*Tq#ALa$H8c<_#k9dMoH%W0L#^> z3;t0}Crl$&xjT}Cgrb(%)c_|tgdA!bw4nn3$uRg0_H84=Q2XHgZCrLdIuj=9QvmkA zFQ&exD+z^N|S0pN6Afm0Fo2k>X)tj^Y4{Bny6+{o+4XUD15 z^q9G@<2|s)p;@RZx*4m~K^-XUWtGtNx#x{}F~~R)5=xZqx1&Q6pr#?4O7NfbgWpK6 zZ085a{|b%*$X6uVf@~Y-yEKSX9yD3w=pHn z7XVM{iNh60nS5v!`)FZ4DO)l^a*a+O`|dEeWzZy3aH$&t%ySW~+Yr3;6F=3go$eDqCt813*LkVyGF(Fw@m*i;E`3TcJ*FeK zBYbW^hW7kC>1~81q8>HC@$qjfsspFg@6O!ztZr`Im%*>HH&KKA9Ssd>$d$haA#JfX zj-}^a=iL^)wY&u2d~2Lv$&qRxiM3S!U#V0msT}7?zap~#Nex|wX|q>4GC3a2>K#pA z4DG5kyF(-1akkxB`=iEm&F9vlwQeFK?>_H_C>;kLftCv*&Dv`pz9_vT_h$$s zLzWs>O}48!ZAK-AKXzmqn|aj)N!k~TKxQji}H{Vw8=0f*-!oPUgBYQ_d$9Zc0{6u?!C$^83v^2nz!67YTy zUZln?9|3xaKli=6l&X{n&Z|uGPP(_#TyxdPcBrcbye)45j^%n10rU7 zRgW0;>`!NGN;{v`;@b3MDz906w0ksWP<|Kj#yazL0FK1AjL-?g#1G>mQc|Z?y25qQ zO5!Z!3oyiZGzX?77Jc^Z+u;k{A`AfCyr!h_#F*va($EjNFLS6kH^(C$I5#qR@aym) zSF*=qI$MF2Ccw&j)INj`PkCSB;#Rob8gVx^BtVyN$g_8jCX04sc?-wVdrKn2_ytLM zP08bl0n06zs)0R{re-=Lp)m4VJ}MWM7lN$RNcg#NP#{<1rmeN3DG2>s)vt)o$LL}L zF**X}>8XNB`*zGiw`isSk{N-w`%XF4>!}lx$*_r@%uVAWm@N!3t2w(wnU&nhL6N|!$_M83LgAESm# zekXXnyF1vZhYVl9d(~|8{^}&sX{K@KOil4otl3jZl%GDgMo3f*Z(sR&3zte)crFHO z+bUw39o#M>5kNkN;psSp(R0rEKHkO|sm}&`;zGOnF@sW5#C~Wxie9$A5*5?UcFkUD*xD zCptp8D6t~q`JeI;_9+NT)>%pObEe!dJ@I8>q?g;(Q%Tb%b^7zDkb|z0j}J{GlN>M? zpimc<=6ia6$wJ`s%|6FGS;91&@F^+OPJKyqEXcyq2=8w`d0&7NebDT2PC_Joi?x!k zzFz%pfJ5lqUQA;vYOq8Fc89-;Svo#1MNCVzV0cxw3{IHc669NhiuK`#z?B7r#|#9U z#HTVvZYhVt&o7CI)U!rMhNl`O;>o+*rHB!4h*2#gWP*lD_m%gAsm#SAp(I)xi~W}O z#8{t}=5yBOVbqc55YCmR5ZgE+1s@^gvoUkQR28 zdLh_Uy2Y{LlqH4IG_mE%+vDY z7s$2JX8%Ht*EO09Xo%p%#Q`6v{+MSBl)vdSiW!ik#l%%)k&V2Zc*S6*9wrH7Y{__J zB+yB9SgR^3#?F-vi+yFc2*WTkc;cKVYl^C{COEBNpShiv|t$!3p8{2Nt{-GY-4%16K`c) z;-`Z2H7c;!Ll7rp^&NSy3_cSjuDHBO7$tdVzwj6W!I+DP6yoa|EGq6xWnofIJQ99S zq?z@npiYG?LeENdgjC&-M;+DfK`J!C5Ht6(J6)N02EU=ZYwPFgy_?tSW$yh*2$gJ7 z{HveTm+o@ygH4*0u$)xVwEN6RzeGI6V0kbxA_|6Try-ne(RQPMwR!%kNZAuB!x(4u+gh8%Fc(FkOVEUlMhV;hNs18LzSlQ@biEOQ;VeO!`YF3 zvwtFD{)ymsfU;Si8kx&$C-C0aBJ=$FRd}&G4ss`dx4}LoX=yKdbK@FboP+FzVTatk zf%8I=x_HvEu9-rvpqj`mq%$bx$eI^ay2JyHv>GLi?gIzk9$|+q-R4udW|y-&YnxKl zeEUxAm=rl_LkvzwJ4yltO2QzJ5K{C0pM)q>kGV80u>>O?PWkw0C&Fw&n9PdP)`5`%bug~PYvbn0+B6v9qxM|En+S%28i&&TF|!UMgk;wu%F^=J(Dzvk9@1IR>m2ukn4|D2k zxgr9rPq?z)VR;IK;QO?-1HSO654IrJ9f9(G8C}b43?bjp)Fg~>XP0)jY1`iK<-r_+ zz3w>lT)fzJ`k*>bj4y-s(-6G0RbXi$N5N;nG@v*9jxZS;LD#P2@+k2jIb)*YVIAXz zf#Kjgs8J^Ko_gF>F3Z%zv?JCXAB?oZPI^0MB;V9V4vCXC6^J>t-3&3;=rvEVI#N|De%`;nGC}P`&XlTn zT;~TAPP~H}=Q8h={6}FUEI#*c-OV?ABIKMb7598d>+ql5u853N$%(EkY%8lm-p8s@ zR$Iu5c~o?@KzV<;hiTHn6o%18=CmfNwcU)U)z~=m5b*L1#<|`l!w!EiL;=g zc;t^?K!SHsD_pi4G20(ZROtL6Kq)Z3DI-QH@=s)>jk|Lvf%n(OpPi~#e#A7uhSze= z8B_b)=XSUga7QNI+d4>)nam;|SrE;OJq5qbJX#WH`~|+JK3I=hVIZ2+RJwn~&a#oi zH|bXrz8MaPymlOG>&IIcL>!-LDXzh4gxJZ)nk#yaE8@w%AJmVqzO7-%M%sWJgWxs8 zNG-qKQJ`~b?>FjasW*u%l6NF?!!}MKjkdFz@Z6|~7epS+puWP+k0vDKS{FE+&==3D zU)fu%sezoxh8Kycka^ymN+Er3XSLzEFggsh%#5(Ttr7kA6`T%y_6~3Hvih-i3N;pL z@Th?iMDBHkYmUkhhW1t)$K#{JKnrGpj^QEChsGR~Q{GOpfZU8Hd( zRPNR z`cN2hu|zcthd>n7DjjvTl2bjW6GjF?z9pu(<9;=sQy(n@Ym>i}=%wYifDbi^8GZA} z>EI?x7zFa6wYENEY-8eO!^D(8Y4<{b(X)LQ1UeNV;MJ7%8E(*!&j%t0-{*Tx$ocW&4guJWXY3knrjMPU zZ?A!mKmQV@Up=}c^9Uzd8+;szeFzHU*Sp2iJsN(2%Bz?VlemHsL$76>ic6Ptp4eEBbWMrXgkvYX0x?aS}=y12rk8Q8bf=7%`ezV8{X(oFDs3rxFPKiD(B^8EN<5oDgh z@|i`M!|}RLT7gD8zTJbwGvcX>XL480iv1i0t^7KEs9GOST^)i2b0&m*`Z_PNLwCK} zvvs-2Os`=Xr7LT8(j6)Tv`V)gC4S)e^U}9H1Hx$P=V5JzC|k1j?9K-tZ=cNd zI+9VnhK3%JRvs`^a>)Q^o0t>4B$aAxGxcjNZ02;{>=_*&nruFbs~Lfe-cjPT(*>m* zLW~S(LH1x`vreu%26hd%G{Il5zv9p6Kd!hu{=6ssEp6ulMt3^uVuFs-C(u|*zf}H+ zT)Vg|R6PlO%=yF%e@j-h`J%Alg7rt(Z^d(CDB-It;VWS3K{ahSN;6!%adcXZ`AO*y z_vl3+((_Qz`HR%3BYZ8|4;M{zh$eW-y7)}#hx3!O3t#91ZsU)h)sMFMlc*{tUvCJ~ z?dxD(r$X@x!b$sgPp}O}>Sw^Q$s2E7&wPCL8=D!*8KqJov?boyJ?Ri|MAI8nM2@b` zkcyXJM!k}WWM&`f4CXD~o_6FRQ{G)xbfK~`<^67m^u^-eV8gq@O%gm%#C$HROB~-z zWVLTIEpDL`m{=3=n{)05lF5wrqgIG)|CsL@bM?opzgoit1T5OZ2 zwk@sM>E#{I^eO9l$vTZmKP9W9S|42W=s!@>|cbQ5!Ji z(xZj}@%i|2bBKAu_FBmF$Ez{y?ZO83IL$N000zcEDYo? z$`T&B03iDII~hrJ*QD(mHyE3i7t{IL*Y)*vc8R}E0g~t#*zGLFIPXpvdLbCCkmBdo zJ#XKFCA8}3Bu1kpi4zDdq@;)+V-*tlN)Ve3qy5+^0M7a{!hOi!sZX5%_`zzBXO~=9 zF0yiRNoQBZ{gr3E(VqrqYaLUMZrbO}5k0y`y`qH+1C2w|gF|=zC!rz#T^1SSaEAY` zjCaO>u>Tog3M4WC>Zx9dFtO%|(#MuQjCcdR;{mE~eEJ?}xi%hFG)=4@YBW4E|` zy)!v#3{1V&f*&}giHQm#4(Pb_a+zb*vE04e3NF}T^69PzEU>~BOUTMOelFB;ik;mJ z{3$3OYJ6`qx+$=Q%G7I9Z#_=fUwdr)r(2U^MRX}H^EsqE>Uzz2F1%VjR^LqzFH^{QR;m2VeYrYuPQct79?6e@lan{BaCj3E>1z*O3=1`rVPqhS7 zv*}be0Ux7%w?84%J=@UHLFm4GOCm)2I=d@C)D9Q?K*0xQ44A6Ol}}N=_%&4Hq*+w1 z>W*w`X}|w2H~;R4U*jbCj&bHLcKc;8IzQ<=qvJtnAhRtKmB-IZCE8Ilod!LRla9@2 zs*J2Z4oY)r?^bfg)fTQWPv*qWmAHhdNjJ|0$P`nlvEB&|5eZzbNxSq;Bwb={1am|? zX5Q9N`H5n&$D5*}fUrzj7*L<5(`l@OLXfiWLYe+{#YIbe+OSmG10a3aX*3wXg3(eS z?&YL$Gjtbq{bTX&)+c}S)50c6dnh{WeYMZ7S`i&7>6*v&60j^ARgWXGh(fF>06l*| zDOi@h7kCwSk$r$gxLyB;R-SNCFkcr9)7se^&M*;^Fc@&T13*X7no$;#tEz*6y8g}w zRCF)<2Xc{Ktv~BTyOA@n!3x-Jn%V1_p!&U8T9&?ZX>7WfNU6s@4YWXQ%Az=9KNZ-l zl@Y{jJUDUK4tyo<$L&nnf0`jSXV;Hv%d8?c9aaYP>b*Gh91Ejd^px_3q0%!;Vha;= z8bQTp4XWzw^%t*)`w!Jnp08I6?xuB(_T#L9g8bCejm5}a{usBOHQKFnU)oN)A7721 zZPuo7)L5>E?dH6LV)k|^wt1#_?Piy03}Fr`QeLK|Y609-f?3$I`k_Hxz(M6?8q>S; z)EBu-XUvg43yrtsR?8*cCzMVRo6Z}rc`K%9$R4!pRTn_BpYpUYpX?^W+T^^aS#$hP zGYh4u0}3d;;uM7@O!3b+fwPb!(1Nxtnz_br`82Ua(-T19!nzK(__hIh^)86Q}60)n0h?KE4PmZr=RW8d1sug z=k|2g=Tpk4I>JK3=9Pn(GFN2VFpV@v+mOjPxX zRnsbDn-vHgXpV}T%>DH<7+4tR(!hSR$+8oF_d&x&jDgY=7I%uCZH?qE!{acAKPdA` z!5!qJreNB(3|t&R)@iTEPTiU*Q#x`ZZ!I#?z?W)m8N#F?ezZ5s%T|W@h9lt}E?A^p zHI_(cQZoKmL)s1NO~7T2;YfsRiF1$KplX;W-YSDDSb7R;GTwfisuSJ*`ZQ5|$|?t^ zlb|Je7_=-L8*yGPt=`Nd+I-qdt2IxD6?o}2OnclHa7@l!j!#xWc2sb+q%uZ89wG9cir^0rr0p<6nf6747Y{-mJXLb$46fWFAH4mg zA%JBqS!YGgcS!uXcrRFT14n*J7e_pKLSJSY=M&PPJL2>K(_Qww1Y+8xeu1ng=#097 zrfZ{4VBhPNYL{FOHq)ixj_0J&zhbZF^{ozOF-hxc9=B(S&zrOV;C19mo@Nw=84cm| zN_A6EVc z)$(&r6J_M))NaM^MHwWXtwRtHhdCRGq4hk0GvaOV5w=qt zg0Pbm%EHDY4&iEtceAT9c?h9j03@;t)HwSWpJaC6uoAUu#B#o|8fT6ft{O8lTk!oyx4X;@iXRWlKvJD2-J_UIoN_E*Tq*v+VaZ_@E( zNX&pM1uMbw^xU}cL(n7BMXKMv?7F-mM;dK{0f5-2FI$bJFoQjhP+!hi)3y(C)DxU) z*tk;Ni%vtxejI2<`So74a>X%VMvRZ)Wn@wy*CjJHvtadD~me6Tav z*YfpD`cw-(>+>O@oq(yogg7RwR8IEK(R@+S2rI^#YS(4OdZlXC$01V8pigUlU(|HAqc5*trf_&9sqkM~4RW7%3jWg?M=}JAIfjX34PcOOdp6|c z9p^M{yeHK4UO;R60Mi41zovbec-uIR*2{LWL2`!oC@yIEt@&@q4GOiSWdW`C&f+be zNrd-7^n(vBxa0kENOWtHLyNxp1t}Ei&cB<}a{Ckf8fH+HPD8lBckwY8KSb1aAoMqy~r zw(xqb-*02~Q%?z2W#(^8okUPn-8}QxTm6ExdYrqth#xpZs!)P~Bp(m&W3Gx3Z`Qwp zC`aZ;(ch=Nwe&7OOFbAs8xkOxp`(CmD9~`&Z%WD8oDNKLq(6chB-i75ssR;-rD1#V zWf#+H%M{NXmkOtLTt+UoA-;CNP`VH|ji5Q_BV#Qv20tN;%b(Vax>zjxH;!X{bCVln zOt5@(gYV3eqjNTz_Dav;lEfd3dg<>-bXE+>r%{Go*|mYd?>)DVdbf=?xMGtI`hDRe zl6IbrLVE`vgs*9gCM<^%Z$Mn>H*yU-gc`vY3~va(+Du);rU_yx&6CRO0`_z?73H%ty`(rsRBJW zykKxy&TbP7YM!y+#Gub@8S2ve%04bJjerw2=bekvE)pF5a(pk-$E3IEEQQ++j^NwR zG+BdWS%dM(N`FkxxG_5?#tpVzdN#D!k5RS8<9%7tsEAzA>hIX!hKaDJALSp%;S4%n zm1ZOIpU{|}vjhmZsKxJ8AO^e(0liJ9#AJC8qgRf%I~OBemq`Y7$xUT?+ZUU{rw_!8 zbt0jKu)dbY-O-)8>BSBbU6zO-KKv68$7zWteM9k#%*3;)K zn#1;%jm1voW{x$8>2oP{5Sp1(fVzu}=9IJ_Z_4$)%ASm_^udzr-;U_A*V}u0_w1z7WWY#-Rrst2WN+g8vLKCxQ6GUIUeRM$M^br#h_qwYau%PH8T!}$4F4%W77A( zeoEj>nr?JZPU5H>#WAY~nPJ-7oBp`?Ago0zwcYWernvR>(sI~ZG|igd7_N}-o^b6j z=CQ2f$+(ig_tNr*H8Ejuu!QeZTnQC4-x8|4BXnj*3}>NZbjQE~$Nqvv&Rz05^TL967%rC}tE!?el%7*QZ2@u&q*K2}ER_q*&oKTsZ5j%ld6;G+w`TX|c3T&E6 z_md5ruRh-{ij*x0q7Sh#YKcF@@?0uZ5ZBNxk_E~J$=)OrcQ<$H!g!1@dS258i2- z_&Gk^fCgV$@;z9}PVz~rq#YJNRx3xeJW1ppP%^LTY5LnmrA#~>aAQ&8b~|-J#3{2l zYyy38K5bPtv-66QGxj_#=_#BOmCaeO&Q@y}#pmPbExVAggt1tR0`y|>x>fM!VVp#> zUGs(2hR#*!TM>3HIcCI< zHSm}`O=--g3_-qZktz-rQ~Jj{WVBMH3pvTZ18LkPvSO#6GK7r0}%9E%p-O;jptd@cj9UV+pHiBVoj%TFev#LE`(-(;5N1(0Hk^w{Qls zFg-=u>Z{O>Q<@SXmAM>P$>R~iLWxK$Se)D(IRSAopv^_iQot5UM%n;^Wrzwyc*o&r ze9LT7?J~nK=iKcsF(e8vvvKxO*_+5zwqgt5qKzZNyBTZY-0u3U2rXBz9=wMfoYh;> zk!X?($7J@l>Edf{p~&18jEM*A8X^7ZTQFgS$R*fpH*ODjT~dFb$!i9=5L}A0DH24l zAlL!a-w5qvPqN?s zusLt`f3TSmE9{ly21BjG{xiH3XXByNLHq*Y3* zErZ0Dukmf=ofR!)QM zj?F2F0JBOgK9=8{Pq}RcEv>jT-FxYUVL7&YXh5oV7zaOsJgsS&HMCV+r|iVM>G(`m zo{VK{=&5@wkl?EiUq-P3u5=wGDIx-guOVI{XhVu|9!d2S(~DdFLExGTDvY(|fCpW> zGzNU~gK<`nMXY5En{cR?o^zLg;eQFjTn!+A76x6}6&&|044G}&3?(g&{h5VQ|HUVp zW3=W0Z+~jts`OOn$O+pVj>s@N5)`vIpZ@OzYiO28q$wCOpu8yv z>Edac=@+Ty?LXK_y~;YGlD)DYjMMr7Jgx10$agbdBdaQeqzb2gllo7ruzpOo(0Txa zc|g~Rl22JD_CLJJ!a*06>U!TKo7L#rA@w9oGf|JA7y{SO793XgOv1e3>5^_^xQXDH zXR$f2x+V>h<(;-UeJ3rrPCHHRUt5YQyhfr%fA63Wm}pC!KF$W)pJjx(2-uqh%cnMU zaU9Vese73A_ZL|5RFDCw7vku#f}q$5Cs`?(%$%tfsT}0~M~{y}69;yi3v91MFh!Np zCDb=c)l0k3*3gZ=IoE;pxptks9c_(vWS){!RM zQGZjT`~fGZ2R(ER2(FCb=dOR9Qk!g?oyf&*U3Zw+RkfTgu^g7J<{zG7A@ESZa$EE$ z@84SpZPCy^HF*8}UaT3n4-E$Fw|GWNSLoF=H%%=~TK~$NYY!u#@G~%dNT7Itp?4Oc zB#Y;g$gR;|C;oW`kAF`l`rih{|28Q8-)T^=n8n^{Y3!6IT8GFrYiWpI-SuER6gQC{ z;ep8dP}^BizWE(T8GXtHt%eigS=ql_0BIY>|CL07myQT}2p;?w@`C~g39kMtHXEBfq&IB;`}6AY3V;Xyg5VQP6@ASp>5F2_QxNAXDJ)%kkh#GDwki zv0oH$BMB>df&8!zrbKi@_`m!41dv0WxL~fAtL-1sAA1@dfnonfGzpRJ#tRjcDDbk< z%|nT@=a;vi$$w*ven@ww0{G;QnZxJ27t&d}lnQ>j@^397PRMGezuL@c6m5_WO$=>8 z&ITS)5d`lntDlbSVdEzif~X)NfoP))VBt3!!V!#W`jqznnGOkm3h#ZS((#QPP5~R2 zkx^o~3K#-BOdR=DRR=7j_gAM!MT5PuVkQ~^Yie~b-MB~*>1w%p;SBgz;`$~!>`RoIKw6RAO{+~DF=2H%7(}bu zr{$Atym{uF|2@S0M7$5%~VWHg& zgE)d5uKnSb`4_X%wlVSI^O=}Ko{qE!?iPh8K7qg5VnhWgsPJjX7=DW_BvgvAJkF89 zsJv&bg&!YM;kf3&fC9MDFF%V~ats41J1Oj}z{$;xfm^g1!tT^DD zcwIIiyqGC&%ANb51J4pH0H1^ur&WN38@Mb)7uNIVeSS8BzSJj{slW%GXs5lvfW@fW z{OZAkX&RG%wIJd%e{Tll`y&x?S=RDzpLiw#fC;}a16VdXOw(gB#6q4=%hOCE(R}fZ zM~|VzgKV(zkjk4I_x0mjz$asT5~8BA0pfzE@HO(n5&eAfu?KZULkAZ2uduKSLn>>7 zfi2^mIzbPFXDAvjW56&rkpM$RMxpA!NGP6f0)TsbxZMT07tTmf#Wb*xNP7@K zN;DE+Q#h#<6h3|s*p$SbcF)-g`uF0H%9RN&h%9rAXF`OnFQv&CZQ|sZ_P6 z5Bt!5H~I*ym`Q@{b{GBnnxdp`vCP_M`Iv9~Q6-m9{V?JSM#a6HHCxYtg`Yodg#!x@ z3Mca4*KCVplekP> zoqJ26Gxo$4b=2D3YPkL%@9o83$7A>C1w>Xq3?FRM(6Tp`Ij)B~@@n19-L``Gi}8sW z>ZCn!nLG97&6A~8@PlmV$l;;ulyL2v7Pjq{%_5zUYiwGKf?EmD&V(HyrPX8267CLy z8^V92h9dh&L^$B0wMEk^_mc@KbUs-orsqdgy0TMxx{Z$ZC)y2?)^WZDMG+?AS!$ed z_u~Ee4OoaJ4AJ-qEVS&2>mAqT2Wi$FRB%2;+>M#=dhrh4ja#f@lpUfrxl?z$PyPaP z-W$Qo5MW`D3n3#h{ICjU^I`(PGV*r%%VS#OzMr%0mg1ei=IZc_Rx#Zwg(9zq-*-IF z@}cV&Hkice%TIu&Q6J-lxA%{528wroja}aNC?>2KyCf7%(`mZfYvmmD5VTPJvjCfZ zz(g7~1+wiioYB+3pZZ=pgfA@s;m7ry*I0W9ebj0Iqx83b9YwgZd+w^y!`ArnqVd7u zzxP)FnpwOGJ|&IE7=$0nx{rD?WD8OUk9xjnmjMg6!Np2#nFK|;xMuejz*zPeSeVTR zBZj-Hc)POhh#vob#h8)(@i(`zYGt2~lD0PvA0(Q(ecZzJw=^^6gET8z6kkDj!-GIY zu87;iHhTp+NF`yx!JDLzU)}CvIu#a9eLiA3-Z+|*z4-ITlr&!JEB|dU4e4BBR5#vd zIUhCdR>@+*`g=n{I-j_)Q>j+uuZohfm#mRg|3Kxxc_T;rs+Rm-H8YSIF|aU@l!hc% z^hDHp51?s<6rLKfD?YUs+X%S-~G2H6rb*Mx*j>k~k2hMv3^$e?l^q7d1 zZ@Cf-Se~dd(loRGH8;GtkrLK&pV%eDRVEh!CXC$jwI{DyfY@fpP;c>7q=eGTEsT26 z>Dh=YZxM2tqz%3?k5GgW-Mz9h8uN@_w7#PI~M?a;V zRSa}U-1`zX2pY`0`G(zi_)N{8w2BHB9R0B;&!Fc`N!qE}pggFBaa08($kSs8-~OBfoo>p1{xcGZ3Fr9^qy;CgQNrfQ;R%T=Pn63(@Fe)AGzIarFpdmkB$(K7 zg?Z`gASZ)=qjEMPCy(mlnjqKypo~nBHyT^C;|2(ki02D?Bd~&*MC1g|vS)l0IZ?$N zIWa=ldV`pMV^F!|^WbPX+Jlv;({Vv~8~HzEemnt8sQ$8Lj(*GrYE@euj!}7mXPVaI zNLpTlnCysdKw+G_u;d+d(~bc@2>rDH3TV_ls^W_p0XUpbFH=J%^aQpYe#Bp#ju(oTf8^@oX)9ow+-Hf<8MQJWtkFI4^&wo=|z3pLQhu31fC@Wt>{t;OTYS zjDE053pHZ^OD74O;#zcR5uF`NIa-pp?P4H!HwnGi+QsuA#pH-gIb|3q&ij|&c5yqW)?3E0wn1SXL*Y-@`a z=7NgcCU1W4YI>$apLomza;WBL+%McbH;(whCXNOp?4FJ!J%WLNYJ2Apf^WdEjJOp4 zoqn1cAv9X14O2DjT%{M%yq45PNzzfi1*3^;H`BHeXGy3ICVf^e@#2#Km!yI$AiY{ZJ+ zq+H|b$OHQ3bjz}IeNT?hZcC?K`V7lt6}a0SdvbsMUIeCKVZ8Lyb;m8_-hv@!VcCk4 zSwcd|odU|G|18r+fbtoHx7&kVnO<&(NgNjk54@_}u?{S}W-O)|${U8(4`1zF>sAiw z-+ipQZracGC?HnS-zTeeVFhQ9sjRHjC}MFll3Xqi6YbOn5xT%zHD@LG>{#&Q)^ZsYp5bzu>;Pg~}g_u1)* zUm#L7uWSVykOx(Lo;BO3$1~}h9rk>@wIqY}cb+6orcCvW8FLDM3>M7^VzbF$9PhE@ z`Q@k`{b0NntBT@~@vBC)Arxd9vyA)60kDNU209V?Hl=JOAgXF_-Up<2_BE`4>}D5d zrMgy*_DOI!4C(#3>>?M>@4 zAAOJN`_1&SZ=J_UaVb-I_JHK6AYq^Xp1aE5=_d5wb5~jUA>&)3Dkc3JLO|9VEv#5L zmm0GHN)rsAX^-uP`Bn4Va!U?6K3m6g8h2yi?@SC>Em_My6 z?X0`bjRZe|d&VBoYyU!V*hHxMI!Hh{^Pfp7&i_RLHO>zm_a@P&Z-rrlU#KT%2tZb; zjrM>Hn*&Givu&CIRoYWyjd|lp50kkhY|Q?6o0=oznjeg2uc>vsrIT`0*fGi;ka`V3 z^WZAx@3(mD`YC>h2FNCV1u(H)LRi)1fk;kKYjmhyh$_l=KM2#$ZSvUo)9n4rebeKP z&ch-Vd7AOMaOoQN?5lvcm<-mSc4->8$0H=7OTOeNt?P8d-oOL14a7(ckivEu2Z zZi=;lmh+FQzt@2VH=F$9nNaAJp7YiAN$_F$>0h!&iO%($G7ZXlHr^p{hd_DdP?&1l z&)1Ss8S`4m329hO$2kf=I~GXq>L9EEXZQ&yZVlsF6-9-dc2-yQaAtWQ|B-ew+j8uv z7TUY2)N6Vt_TxZVK0jjQ86A}iHd@lTKfM=m+=F6qXA0~BYL$8FJq;N%-!u~!{Ew0m=z{SrN7%+Q$1BaH6R=28# z5&NE@Rj27RU9xh zsVX3ft%WoDJyO&UG{@`W8r|c|aSq!p8zyOdO-DNl2*h*tXgv_@Nhr|j8aR6w?Fzuw8awZN`9gg9pnG{C@BW0V z2B3i8c&ie#;RO}By+{n_M9uF!9@jPhQ){oYt8o+&lIgN;w;@Y{&dj}}^F?`Dw9;Wl z@h%fVXS_kz={6BM*T5_K^aVjjU&NDHseOTVn_RaU??XYW6jj4-yY*X+n^ZIuDFs!j zUn1%Ziv5U(<2wX;+{u6ad=&paIA(?r!5roP5d5-1GZzc|z(SKS&(ZHwKUD?Ce`3Id z+Qz21LdNKb+DXmxU~spcTf6T?u(7J87}Og$+Z%M4NLvJSZuU05VBF9C0}K*@?t#=} zX*AekQ^_o=_?0y0``CDtFq^T)?$XYSkfYacDorI@Sk&Y_g0TGp7W3cfe*I~uXN$4* zCw;NEYsT*OXF{y(ly@lgbL}V{vJ^FYoR;PN2#&deTW)YJpPlICja7<~{UG}**X*U* z%}O17ts%Wp75l$VWi<%lKld_wj+EJ(FG{ihB0=~odPrqAKiT*E;Nj{}5TH*`WH1@$ z`{U=WE=P-3szCvPRJQcYHquXPWS>fh%C3FP2_j3_pCv;AmgPESUERjzqPB>y3apb+ zk0BHckidde7=WgC3Ssa|>{kqmZ)>_3#hO3*8BK|p#2iaXSEG>2N|gncK7GilKV5s& zg15vR2L%d<8Tdn>D^18bTWTTodeDE>@B&6RC4|N2Ft-<#h} zleHcT$*F3QLuIPMQiL{k@xekek6E? zT9t;2E8a~v>XYD6S>B%kY5yp?axf2wHyziQfFv z?1qeR8<$DbZU}^W$+bT+{PC26>DO)&39<|X{o#Ao^Vw`1w|ensjogSvr`4e(q2Se+ zzf5=6qnpmmm_U4y`O~>Af&#>DL)7KlbtPd@9n}E(1qJ=mSZlV>ldMlSo7|cb81_w7 zelqyx$<7(Gzt>DG{w#d?DA`-++~$? z0a=e=(%;3lg%@tk&vewraOLsMV|Z&%Mw*fT9t)B8?+rydklkPhnj?r~CJ8O{7byR9^>n*y2hhe1#X?tFnql7nFsZc`c)oQZ{ zn|Pa4%Trp`*H>sT_Qu6RYy(Cbe>eeYbdxLx$|INA>pZI*gouv!5iI zH9I(d>E~$N6xt)tUU6|dK4?}u3YOiaLFO}ScjzBm7~oycJ_HdA=8Zv!I<-@y7*{&v zcB-1saiIL{Op;@17U-dpvgyXcC~M{VR93U$d!$+tk+Ul1+KI ztkAAjTuin5s!)9ZY&lWFL{(l?x6;aO%7PDknna1!NmujLt%YjwTI$Z_$LF_8c#nDI zQ9)Q==5ua0mr4rmvBWFT7Z{qYT8i;|%;pYSp4KDWTPb7QX@`kmj_*|Rr=NJJh>30K95iW>UP#;?oe5B<|YiqL);!Zi-i?A1`f+NXNn5=rjKx_2vV z7lBc#e|Y5~Ocu=y%%w*KIoWsKbj)LQ-vi|zD6;l9iq#tC?;stBh#_xP(z%jYHgVn0 zfoUjBS}%_Qaxe^^&s?M?()-wwtg%1cd@h@>jVt$VgZnf=qI;=fgI7osR`F}!*^`i7 zT>om?BSr(Qcx%VDP8&WmfxQQb5Rl3Tr8{tZo{-f0dh zfO!sS)dE?QSdb&$b~BtqNcs1y3l;>TSc_i>ifm(9*V($kD%YrCW~9upN3-rh#c|LOMySWM-KL{_E{e?zo-M~vmieiK_Dwy$(oH$R3aq}=9$8bsvjus z8JftaEr-ObRpn+T@wWX&jXbR>J(m+Xb4hXCr69+ZM5vcsB@n^xZJ@VPs_?t#Z|W!& z62$_e*1HcWMg&FwL$Psw08O()s<4-JCn-563JG|R;i@e`Z3`OAkJ=!CN%~2_;B@~2 znC>Ae=n)>V)66F1LkI`tq|e7q-a9B8&4Y(km5BVJ6pft_*8Baz-;-RDXX0rY&7DOL z^=gt|ZeGz8J~R1Dg`>Js@lF`|#$LX{pty9^wWn54cE87!CvM``na&8ccmA$#~8SzbzWX ztThW1a|lJK6R+{TSgh5cQ78vY)Xky{Gol3$73TZfQ)-yd>1uzhJNjr8r^*Q4p#Er! zs-5%Z(L=W4u7CxW#XsZvGLn48mrQ-Z_ZHCSq7e$!CiK=J4ftN52av>N#kH{nvijI} zVutmL0So15uH}zIu~-?9@T;DzsYc*a2MFl~7kJcM(xSW=lX^+rIJe_puV-7{25DJt})F}tky4V=$$XM4Wb{We_ zq_EfRKshYP>%bX;Oi{+dm>{c@yaDN9I}O1b+v|3{K-LXg`A95U=IJ@damf(vFE6f7 zgbe5yc0$SiZ{mI~V$%`c!$V9IpBv@%pL?cO=&xCsFBI0AX_n88nr>4{d21`P`y1`N zja2=di}$D~ZRZtD5fZ)2r2BtZ4rF(o4YYd`IQ{nyL&MG4lS*o)#z?-9B{Az5E^#DR z3(a2V`xzsnd{yh1TpqQ7N(u#F#=BSW-GZW7Yqa}<=f2Vu_9x8UwSH(w5M4;%Y3;4F zq-Cd-V;@z3(&2wm3FIyp^9M3$`Tbu-hCvaaaEpxR9aZxM72Y3{n9*P;dWs*hmc!~Z z7ra&@FF!CD5Wad5veZZECu`;g_|(`#YmjRN!ex*M-m7pw{@Se8Oz`3bV4NS4P1<4S zrWO6n>DwkiQ>T~Y%`G3g(rIV*W5Cy&Kz?0ObIi0&v1B?OOM70@UbqYDk}#BTvbUPO zx;UpPnly5F7$1$P>EgV4+(jB4RXd@6GlB~hWQD&%dh|nUJ9?rkzOKB+iifXw6Fa|c zUSkR=-g7LY9!EIzZt3f~9M$-8D-j&&sIr3`Nqj0lq}C6fPDodMCBciG zG3;20wFH=~#(?RMERD-d-S_(18vXFKREthhvQGM3k-dGAFI+DmB-oIESBe)kr00Gr zeFR`9e-;P}uWA$SEGEvDyYG3jQ0@yHqiq(X)nX4A$lv||n8_1j>l!B|xO~?IvU(zv zQ{6Cse%-^n{5AW>*Eh9y-ZKvYBS3j9fH{Ic`)vQawVrJdk~n53L*27EhZ^fug-6HW z?NirrVA*&K(v4_wH(B{i^}2Koq=r`E=`MK1T#ACkT)kV}u0qfx4pwiI5rs~*HdgVd z!|!%|s1?VX10I3gneGM4{QV!?Fu6em-8fWN&U+xmnj(vi>{#j}VP<8Va`fW>)rA>{ zc~j(CKdPzW^1|`3Zq`Pjw`#PeLU-?{C@}o6YUHiCOj;^azG5sAVTf*V;ENnJGL1(~~3W zu$cqhZ6kI19q(>z56jtJKmy^)Tbo7S5C>y>lMd)G39l^SC65YKdVtTuf=J;Y8QO{2 z#A=nLsdH15$a28`x zrGe^~W{@V?32IkO|3(4r2HIkg`XUK{g#-$NxoU342wsHOTD5&@wNWvC&L7)!;iV4P z>f`UzoOJZj>U7oP!_7M?f4g3?*Pv=#73p@Dhn%Q1m#w+6K^JMzR<8JMC zSMc`d@+F+v&*&ythfA7L$sP`2Zo4?nQK{i;*KF9}sfm@f?-X$N9u|G$0Uf=U#UUMX z&t0ZBrVeLdgr0NAglW_J*VEVm=JKQDm6N2Ck$VAJF~w-PA-;4!;Fu38+5nam21Ue; zjCt2F(rLfh8f?h;N%tWYiB-tV{s0SIG^&0sYQG#_^p^$8L)t0fRzUva4+^#)Z z7jo3)(TSc%j_ZG`%3G9#0@N3-#XbUAan>-ZO{ILi5aZVK&lWN@u(eFGF`$I)b-To5 zc+M|k9-SCCtnzMR_YgYa%hD{@a-P;qsoo~g+!HCv-_7>sMq{Gu*zs@OY$QJoxbAke zTIfzbP3=e|Gy5mOxq{zORpm~@sM5HTmO;|-hxW&@y%!G2$3zGv1yPwqbu)xcPf=8w z1hUHv&PxXAuNJA%|EtI;-2!4f?3yM#f+si%TFBrO*(?Y0q||Wt!$-PYL|3XSUol`* zEhJ=UpNg-}J4QHs*nI;RX-WiD=IV0+hCBeLM2h0cPW8aX}aHy2yf3LJ?`gfls$83ns6H=ijk2NfO*RD8qjX!;&z*DEU)8 zE1m>BV>;%DsBSiBGr=d^|PYyb<(8}za7QMT{q$yFKc{SC&ux(z) zC+|Kth|;O`u4Mw}Q6t5bJW7Z8&?DgfB)s<<4R&eK$YgO-me9{mCHMu<$J)^R6EJ~H zSBu3+8TR~EV(@V`X>a~?nX=&eqOiJJ_W)UIS94LHKf;levwuM%HtiINR(=|JHRp2G zIPV+ozp#l-*X`G24#>CjrbTl?W(dq~cUE2e`OoInNVC>^g-fKTk8VTfk0S2>n!s&h z%$T5sbuI!l%!IKp6vzTx4x;SCXBK(^$u3@Jy?%VAz#+nNIWlZ;cNxFgQQ{hIT}fXP zpo7))Y_sx;mR(2cGD`Y}L@ItXE(s9xND_&rOXjXLHk<4uwkofhWiPJ`Oj#t?K-ReT zeAqkFPczs>8YyOsnj7NDKO_BKruhVJ)p%O%{ZTQUovJqVn$rXwCWTJ$>;+`CUg{MF zPR5M5W2JQaGY>yu!PzCVcm7M})#)3d@Q@fY?5vO?y) zZ|k^BoNJ;y6>V29S5qL_&S1f47bRb+`{LvXV=N7l8G}e>hzbrUo<=1QumG zGdvfIt|;J`RwYe@oiy$iy!XB~NDa9~Z~MXWS=Enk5xW={9cP4i-b20eCN49>3(Ww| zn9Y&?;IyzN+x=7)DU8twn`)Q)%1G9Fh4F54Wcr209D+G~mE+HTcj;rJy+o$O{VQn{ zO`uz3{f0$HdLQ}$3q^)mOS!7qL=Z)zXov~skl?Ba z`m(skhVw+ji>doaL!P$f?t@Z+quAFTzKDK&mmg<|``)#&)_LIuN~_5mLl5rR#^@8W zGr8r|c+zLJG5W<0P@tS%d#(2KF&w3m?q|mb^-(rf=M>MsKquPrF8xcK?}`24KNmwU z-wyiPMHlf{3_)-EjLS&)-$2lC)Q-7d#4TA79CmiTd;-}_T*y%d;H0=4$sJ>-3+-Px zO=};j75A4iA$8JYVWrBSKKyk!2hgOd&GgvL8hKr6#Ik!Q`y3(L}-K+TqpSdmsFJ;BP^^i2>6tSt>Hn?1~%^ z`;8A~b8neTiHI8mkoswr%l=82Ww4L#snqHq^WS{Nf!QEiRj2C50=rTFsKTiK)USYF zwV7^~Om_qp*V$#If0#j*3mFLWISV9d>c4#913MF0j09-4P~D}RM_U!2W_|nc5(zMo zzCBYJz+(D-Oz>jDrB9Q_)6-UOzGiv0%|&>X!eidRgRV(oofb)F3#bBh$E_!9|8vP@ zX6P%|sEh9lw0F|I;}HfW5w2(N%6Li79H-P4-03K017fe6h|W=6K65L3-xL zPmo0nZ4^b!?vXDiF5hp`tpjVDw&&Si3u+scg+I$|OU`=4F$TPG;F$VN(VP@2td=UR zkAr*>n=eWTGVVTLds9Y%VOREH@w;6lZIC1qyDhk8VZhSxpE#9>Sm;CrjU85SyYc?>^8owFU#wUFtW=dfI=N~*4^pH=hi0QY#9sif@|<-Ia7ITh*| zIyUFW~~ zzR%;!^%dQ2xcb6{BK{kqJ}_VShkFNkN`ZalPc6M9KRB^1*Q*f3HAvU}Da3Ib`L8dU z2m{<=?6z@3u7`#tvgmkQHtvk9FGkgR`OaP+)t}7m#ddvf5)x4IO7~pJ%xQvZcRnR1 z{t;(w+`VqiWZB$h-aM;NF&4y;b2vDLc<5g8eXUHsYea*^92@Cb@2_ECQ?Wu`v^4;b znSC5)>8w|0D}`^^@ZaeG=$#=K!f!96ZsnTWgau!cwE|CTb#j>0(^A-vP_Q5F8}!;p zl9yHfvuR|B0Uw$br!9TrhA^z+o-q+8JN$Y@#c=EozJM){oEY9ctlTNBm$&E5Vl<7~ z*ie7}g=tX(?Sz~syjl)4?JGC3?Yy;Y7=Bz>_gbRC8S-LmJmc|m`K7zt{00E&A~q{p zg#G+^njUit%f6TA{%!qVErlgyBVgYJeI{e+f@d`prUK&_sGEKKoNF~ zj+`a@QX{=SP^XN|b-yk|-W8{e~K_ zK!Yz!7yZ2Fm=J)$4sy?U&)h!1?ir)*_W+i~{p(06Q3D%6 z-Ktr_hE_IAWFC;bubbaRx-)HFa;KZjW@;!r-eTt#iygYr1$A!an#osS7g4KfC2XJe z{w+AJcGp1*>2UL7sk5JNPhx}iY(3ANNFAsDzZiSVxG1BpUwG&e5Rh&uY3Xih>F!oK zrMp$SyQCSqJC*J(>F&+}&V~1LpZ7W6-tY69wXe1REB4B)-=>6O5?^(s=eE?#4Njwm%qVi2DX3QQ_@rhSwV><&u_(oW)(#>3@oDf&#wdW9-Tg-es`LXuM~rmLhn8QRpYnsW4ye<^E&7 z$rOPKFxI@tAYP~oc-=sr~Lg6zb~mJ(@bPwNAaqFG|~64`MR6zV+r?L=D7yr&*3S{yocr<j;RCm81gr)=OheB{}= zjwuDMc$J@_sb*oTY9?x`&mu@^I7NgwsNja@Kt~~dygc-UzGB4a@<2+yvw01eyWb(-~jqLy@VT< z^7gZ;{6JHPw~2EHtg7*)^6fqE!U3RoCE;+}ukaU;QGm~-p9y(m{7~c<151~l`n4(k zw3{Fx^|s-zV@n6_rkz9Hu;N)NpBc}{yw_aQ%JEX=@_gmbD1zXM>$uK}nmfmn#2IqK zTOe7UFekNk{N>&T?=F(rx6=INnU6}7F=|L0Tmk=>ZT%-`m-9a=MaKp|%A9HLzcjuII#CVGIc950X^6Os+kw2NKE5rbnfJ@OWLBZVrgw}B)~{?d+gkBi&6 zDCX0f)5<64Y2dP#z)Z*ixI+aBbrWCHDccA&q&sx{_7jxRm+Eo<|j zL&hz{8uj!cjk3snCBGUwbPfBt+7uC5^X|h&K5iz5)EeWiXTe!|F!MLk2a1J)tF?q; zzCtrhAZO%5)k4uzF5^^4ax24oV;%jUUJSA;b_)3tG&6%jcr!Es7x( z7YmP(q9t&##8a+a>CGQqol%`B>=m2ul$|@A^<9AnH;Hc36@(4Exmu%EAL9J?tL?1; zswwc5*Qkc~7ms9X-+Y1Mxtav47JEAb6=pOF(P#ye;BBjK?yy(!6Ut zK`KmV<5Ms>+rDZPb=YI+>VwB<+=s95f*$iP_-$&j^A%~dfzS5Y^xP>V@Q< zQ4WaTmOuXfGsB13-oHw7JxH&!>fv49G4Q1E_HuZ)R<~O^G1~On>|1q0?JCjLP#dMJ z)zuw#Ljf=DYdEVG=r91vmJT1tg1Jq<@!)jISQ;z;dJmXMVKO9_&dmkOYl z3zFp%eMTS+yHzAZ>7vl>@&m;RNkyY;Y>@f+ckJxw6#cUG!sjYCc4Yjm0JI zFJpgPSN-8lL>MZ{q}^aQj&I$GVAJ;AKSv9}q^by%=yK+77wxnbeUJ^K&)kvUrMXH2 zh3qX~KG5znt7gD*+BlZs%3uC*H`%i=ypRO8`Yf6IF2b%Kt%Te!q(j-QFX=Q!__ux3 zO#SasO6p6c&9i#38K+MNUWQDzFOzKt_jJp?zMC@8ntm_uxF2Dbz(O&XJh1NPPg-~M z{$e6zR^W6ty1jF^XTDVeP#SHpspgZ%PT#!o6Wxq zxEm9j8p|mM|9QdvJRt2P*y8Yv7G-#9=7@XOsr~7(&;JiDj)*3^Wg{y{go0u85hV)s zK%5Y?^ra1E#1I2^L7yH9)$2EkKBR?NbqO(bj~=`7NzQ`)q*&>r1>PZU$6oM^li9QD zYT5G#;s9yHPmsH;w5r78$ttuge;ad@gI?Vp*)7*vRHx_M0$b}%B1Q{YS<}*SwB_2l z!OeGXizdg>p4^BH@?fH)DPhM@-Sp?55;`hQ4BlS`(AQ;JKR~9ZuGK!{g?b(LQXy2X zT$Ee(etbehm6z|qd8QW%#xy0FJ8I3Y{E)f(Ohlee-&tlkx z+T!>`-fI|2Nv$J?pK(aZm=$=DE?XNf5oKWUHT6G^0(}t!AYE2hWWjhBE$gOSR$!oN zm`0l%#lpiU2WCV)1+p`Vm*}P(pMi;Deg^%MNI`THD>jcdjiuwd8kA^J+0Ga+!EM5} zMAoy?5d9nNKeVi<7)c*rY1IO>9IXCJi(24SlFtEJlc^-{tdxOd#C_5D^zR2X%8GHQ zFEo1kQ|2=fZjReo+9>AB&_8usgCuAue+*@jC-M4WKO4Uof`-_oI&ktWbe%LzqsdQo zq>K?Tso%Enm} zkKT}DNB$#1;d8wQEAOm~w&2M&Pm(!p1WCu_?7LmVw?GNGdJrE_CCJg>3Ke2|Sxv>! z7iVq>l$5g#<>7L6GBoCM`J20;@K#;QA3_nb7%GJ&jE@IVI_$GmRe};ZrF?O^%#*89 zsJxS59&lpE?*KbMpX*eXx4o&K=_H*vxpq!(BWL%op3Zz@2dZ?XqN)w$7b3A93_C?5~dq4~nW zLU!f?ZlQ&yQ<9CGZQC^?WzIR0G$2HM+R{UPt*=6qKe4I4n7Z<>aAzW@>=+V2?Wbni zkGn-O;+I!INo7gM=BGB!-{2-9AlX8%zx|sr2S&v`uCYF-9o-i`(rRs|aHLZ>0Znyy zgOdFtxwNM1?@MUS0+NXR80V_g5Dr%$o;<6wDvC*v6>Z94_N_Fb)@yjkiD^KYfZr#- zY=49$;g$x-Xe4$6zAJM#oLbtik?+*sbxc84emnW^CY|D!HfH4dg(J2Jn^*(kdezM# z2-cR1d#H-*AaMruJpY&;hij=Mgv#1X)cq81mQ;!Vm*lnSw-SJ4>;ER%bt?#z@`>OB zO@;>Fu)yDba8jg_jYR|emJ7ojH!)q>P-9ez>ODtYsJ%w^kaM#|u+(1MyDBXON~M3Y zGdXf^l}^bY;dioLn@dHNhE1`TG!4~LH>~{kPHA#gUhh;7xKjzcvpwwkLQaHLHXzLO z`xCULSbINw$&Xi(*}6bL{PasO${x!vr**o-ylf?avufj439Kn^{zv>>?D!r4sQ(Z*c_j`2$^ihB zO=NLv2T)s%nfc1%lE_~w;%RT?K8B|Q)Tv*or`Fk@Qw&=7C);JRrb(noqz^*K=8_{& z_7=k3Dm>N4*&dBQ5n%JY2}3coK#Dj6Zk8n+9zSgWxLMg%XiS0(z_wGml*E<(V{?}> z0iSJtMzI{n&f`bmAqb-PT@X%F-rOm)-Y>DM?b5W2&wU!2RCL<)p3f$jZXyIJgs-2#2pLapCnqiJ?7C>Db@g> zuNcX4CICRoN`$@wx)}g8Lw?mOpl6A~yecGsrY0$9%?hGD>|#lluDO%7u0J&}ny#8q zr3~xsS9o2T6DaYT=kHhUDAoVYNzGVuqa-^th^w++uc=2_ZVDVKxd9x;Fjrht)b)Bd zb!Gl3sNl7!t+ zBX)fOdtdbF{VTB zG5#R7q@pL?1@!+%50k#KN{;-d5D!u*fZ^mo=~MDB)tv_sKR1a1+b<{vgI*Gf9cD); zOuEBIYO0){$KR8r|E}DEfWpV#c*}VVC36hmE+ykJt*vy_8*w|EiI4<6_agP zQhV857d%i+vWAgR<)x~%G5MyY)j3Dani5T~dL#9XT(woMy?tNl(vtgO^BiG$J)x2i zDaf#;1Nn*GUlSL&4WO98hgSR_?}$|r+Zg8d)bmo<1mpu9wz=4aLh}`%CbHGDy4kQ* zv2DFY`~i|~{vohv!NHOYaz@+13plwJpPiEOZ{Oa~lI3&(P?MDS3P7#5kzp?Of1oz0 z>b=5-iGhKQ2(HaO~)TFi}S7`B=hE@A*J^`@Lc}X zrFq>`R+{b+{jxT+BmBYH>PFb>iMa2yqs`p>CH@_N?%x4IzOw(G|2%7j_-HC`ZVliq zc0NbF`htaNjHf!E{oAsPj!J6DRU0MHSpy{r8hYSJxaFAjG~^eTGiN0}_qaET2B}XV zmJQgfLnp+ycOkyRk4<7^cDAF?koq;^zn(jvR>l~;SC)L*k-GV7t1nJSH&Xg_%38h|MLr#&_w5Y@lle6&!bly?Y zz%>*j84h${cFj$%bvc-Fb;Wcc8VkR#*3 zUIcMN_h@{<2lv%i^3p)iX}eZj=jT)f{9D@Q)Q(lj}*-voj`;bM^d$traaBW@2EwKjTL| zJBmb!lGio*6TA>&#@;>udD3QRZ^Fv?A-Mq)^;G(EqaHQ&aGC$BL#K&e3){4B_?0K?z1389E9sN4Xg(vo0e*=(P~+M899fRLvZ z5W^`Mb|pG_ODd$-^*;F8^Rfo0?emxv2=xZEo=c=T$sJYe9$c9Y|)yS zpEHehCu0lpWmpZBdQwbtIje>*z25|K(&}sS2b0rR;qhfBXq8qtFTj~mld5N5bdn3b z6y?zt)shXJg-hV24g3r(NO~Qvrj?LV8LW4ps5@N9w7!1ggE8CNc09 z60Om0$YSyvNC-7vj9{~O@iE`r{0Ct|A>Fx{8j2PoiR&B@<|oxx1l58m6cG_b`ouqo z_bKTKmjEn$^biBEz?M+#xH1P|fhrlHGN2-`D=;ihuZ&OZZ`T_MmL9lDAiW-axp6|< zjiZ30fWaY*v7M;RBd6YLVqqSrO3Xy*H65L<7>++Y$S^rqeH6eNhfbsDuoj)=`)Tr> z>Z^K?qeyKrZ3_V_>_~}Gglb3{OY#m3_SQ4ZVTLb`E72dyo0X*BHUTabh815&C6Xae z#N!5coLU*5L$-?TiLnPfaD*=d?&Pkfw@5Uoq!9-xZOfB%Obr2Yqp=PT@_n%ce_OPD zp`Izwcz$F+m8C;tn&IqQsxjtfhv)Sms}gZb#g_#ea8#9nqE_n%+_ ztXQ9+uu7Sr|I9Y=r7S&s%2$_yt5m~zeRw@LWGl!xpo>8x%o0D?l#*CId!v(_>qRPW zpuFUHX*`FtDFk2E+1GQaL0eDS=Tm>w`i6-Ak; z*`{`)6_SL_UQt3_A&c7RqcPxwMNz*pA}dxcpRbCYKcnUQ2j5ril$ehDRnkR=Tl&si zF{*T5qWHJX549<1Gyc{PF466_lC!Tjq%43pZvER(U1DQQlP_x&GuB&w)SSMuN?Dw zpQ>#^hj!q|Y1}Q2Ch?%SpePUQFR~41$jv}krJUx5n7t-Sd2OScufz+6nDYDeH>M(% zP)MvlFY2hl(EuFIRSy=3cSwU91CUXw-+*7?P&)SU6%MANvHP+|pXjv~k`uQH7WN{D zD!OOi?MQi#eg5=m>!Uu1{*YrPgS#o`qU4JMD{pknx3@nE z?HK9Lufk^`aO$eMwL-Zs-^poX?BQ#a*=S@KMrUHRjiG?wac9a1v^+s5qN!`ThqnNi zWqjF;mZW4d94X?n6sz}-409@a!l`Oq3c|LSO||*dZldDT8~_&#Vd#ctZIR7bG+g5u zZHjvHi@=Q2l-bj}5J-4Y4SX=b6kcpo>6*%bC5e)P&)E+CVrkvY%dG(jNmjK5j77hG z89${!B;QE?`28zT>xX!gwvsFZh&2|iMy69?I-i|=hfE>QkFbQV=^#;LU86^pXZgrfzpqF zK}m&YcLg+OF?a5Fc2-9>4oa6_38mJbha4lUrzIk_wLFnkSYB%f;X+$<#l;cceqWA$oIaA$RINm+=)^#xx*9w_ZU0J3&Wc&07(4pZ(`l$c8 zo3YossRQn2Hnp8-#M1_NJE#I7uvi27zesU}8>9N2O3~NG2f$p30f``?A1~iEL=r2z zP)Zq#=DESfhZ>7yv)i+i3oMbrYJB!x;(wahnr^j~F>Qi`)s3qGk+}jy=2oyYyE=fO z$AZr8q&gl=$)Q(@0#Kr2#x&Z160KpF>zA2`VXH1aTQO9{)F4Pb@#76) zc1H%&Hy4Ip(GvX1@uOeM_{*NC6R;8Da5b1=_A~mj3}h?|fF5&qdA#=|PSVp-N?d18 z;Ccm05xdFj!x~JUgOx#fznPL{0;sXAq6Fu{kK)~r4uBf_fC2yo#|4Wo!Hz#c& z=Fltyz%700ms-p!WF4~=a;=y$RZmRu(v;gC(W~BAryaqwFx)z`l-m15FTJ4os#1yo zl~O%>wJqgtCl9p#>idA`?>Q>dJ~sWborR7RRn{jevvvW2f!+l@E61Velx4fh081F$ zIWtv5YbKylSUG$)Th7+_a>7#nFlilCA0iC*1$T3FZN=(4^;Xd>Qwse`oOk&f;8=_OT3l;y>&O`$a+c z8wN;_$i~O8TUQ3aGY*y&XE*5pwUB?pC*RU>#_*(bnABI{1>y)P8fpD$#A>-E_=N-u zqxIw84K;ZZCFv9yh9Qn>B|;v3v$B2JgbSYxAUR*> z2ArX8G~=VLTTcc@TyAtcuBaqu959E5y5UXAz!N;3dA9L#YIj=8AI&74eo=Y_Hh=0j zbevnc-#Lu^0|mhz^(?JjKS_$RkBpn~n>`sOV2ywHGiZ#|1r0|hmkKF}ziJqgP%{nH zcr!e?KfpCj=FpD*yQV8Dmux`6FaQe1d>TGdL(A&GF|XB?2FME26Lre?WE@go;acv0 zVKl^!z1a9_RyBg=3a#m@L!}kBME37s&8Y!tE$hKMjz$U15xRc|k>wUdgXna}^F~V2 zZQfW_8Y9qs04LjSoRG+}`|rV4E3=AI;uy{8$_}R|TjNCz618+Mx5>q6X??j^|HrbQ zp#}c|^?z6fsTv-u0-O}b)X^m_za%9{Tk%#e(} zTP5aeLsmW0z4jmZzN)KDq6z6|51FZv#HHQw5Pj2zMHE6 zWh$`-Q_V@qB9@<2U!qa~#r>$%vjI`2Oa(+dpnay(?Lhz2t~n%DJ_RK%C@H!MHHIm=Gf7B>-w*p3o zdBJ^&bnY+xxe$UIps^I?T><=}j%!8ruk)CO*${=kZU7WA(z~kTeu}Ldw1tuqMmvbg z{eqnJDGy{MRCOtePokb~=EbVKMX4S-Jqo2|`ty$kJq{W(c_~&RNwY{jqm#^D>m}+- z-|5+dfm1=Xj0b-Sx>n&9+uZUZ}d? z&*`k>^hyG5S(aAZ^OnzAFHM~fXul4U069~0prZZ4N|VcIa!8g-2MQcLkCK+Kyd!ut ze+bM68YoM;fX2b?v|OBCzTQpC?V`i0EfV3uoi#%DJ|?-RMaf6^X?!?QQ3qKq5JfeB znVK3GO@JmB{tJOVb)m=mF*7UEzhAD`=ox&OGQRv7KNOT%n<9PdNpWG$$n8*7C$&G8v=`0!qS-UGm2z%j)j8LT$YtBJe^mzvBy3`d??#KC=o`` z(qTRgt(?SjW9brHVH`EW@@5uRLj-2zrF3s0B!CQuWN83s`D`f?6+mIBeuU9XjcN23 zKr|M3xgP_cw6?UrcYsF_OOG1ioyzn)$$@^UTqQ(L%=&R~BvP(zg_MF7`=;krGSfN= znZ%(O`YorTQ-7xMG2(RwbXJmm*g!KBATFMj)vX z`S8AlzXKRte8v8qQNdeTN)@o+_(xIm`1)TRcug1pq zM86rR`XvL)iCNOwo{$lALXTAj!Dy}x;F+?IQaQRkVDgU3#0rM+`Z=e7O*LEKTtFC1^$|NC2M!fhsM? z-T^vhTaWTzasp_wJhXjW?x#w@9>S-q+xIO+wamT?vS6K)yCLMWs*GKMQ`ZvT$K#HX z^6`nsGpdn}yFVSHH}rB#j{7br7m!_GM(jPa_I1-y^$=4DYLS6KOo&U{kq{&l+2_1M zy#+cN-R$^+zxWZiqsZq@;U)AXtdIhj4^nD?WOi7az56>c7GD3k8o=FS#%fI2ndV;m z(&llAWZ{hW#G?*Tl#^a!=F&LcysA*1e5dZ%;(XZ`iMi0ryGJ1iO@cxeg-y9A5UJ-l z^b{q%aWi{rd{`HHisOo~&1F)E%3neE$g(YX?mv%Hn0-`ROu{!~e{4yGCcvBWy*>Im z;4L616rWa+LFZS;fzvs;bA43R2Q<=^_!uU%6}A~v8h747iZo!gv3Xy2%pTF>jHug_(R zRhv)?CeecJkZt95{%41mr_&e3(OuHPbeA#Ia46mD^P#P;YI>d{s59u40?F>*c%8CP zCi5frOARiFuAfflo+ckZGI3{JKSw@XC9@np1p_(vLcx!{V{w;g!>os#&+@yv(~mE5 zJD&>wiaiIeZ8Q67u_>SrW^zuSpJqOts;0hFg!4TddA?~G?7IvkshD@)LN;872m`Iw zUwnb;p=(%Z&0`IDgNS4?kGKZIPjjixh2sf zu3YtTG)05Tqc49(sgrW*O7qYVY)$zi$!&K(#5`F4h?)vaI26s^4Z3aDIY_xhF?rSImjiAVZ?tC5>WMV`7?QRnK~zxAqnORqYm$K=K8BE@bDY!Vkwa7~6fnX0&RPuj-7ecJCjpY~kK0e{vhhORNUa;1fjetUOPgZpr9s~{w(BkeC>R6dk5h+ZM`FCPi1 z-MpwTdUiFDs+w3gUzU4bt)k9`PEdH4KG$7YE`Hg12}VRY$qH2yl+-oc#R%es`pmKebU6-=ky+d z1r&@WZ5sO2I+H6;&zg(WPIsde+YLNh9oIN1m&E9UcD9I`>6K5KYMDs8ONVKVg z1uk?54;Jdn(D-$I?$u`Y3$xze-^Nooe>|R683Wc9-q;DP&s%CBeV+f~WRyPkFi4Mk zxfz7cxj*bp?e+W2Z7f+oiUnvOE7+S;IxT$!Y?f+egg5n8$J%mOvw!K%4_IH~^CBCa zjBB5xpHX~E1c5xfD=d;94k4FJv3(EZC8IiaO>NEFmkmQP1Oa06QGM6WbIY0;uIoHC zE=Hu~wo{6nqg{IWOiM6)9~H6^os0z){4NeJg)_PGN{=UdPcG%1&^&ty%?w-5?>g23 z(7`Ur<9(N-k5Y$3W*=M!Iuh4Vc_#K`@%F%@yPFY zo#Yq?QqL}Ru|Ifwzc3?zNqvvxoa2$>eOxG%3$5ZO3}3E2?{UR)k=7a${f8cBc|K|l z3g<#7+7A;aOX}7OX%ZAk>^oVU!Ntmgo9wV zp9F?yeNHP}oPe>|mkBu7uE;o-g-Y}1`9HWNp5yK#g5;+byXo{c_SeNEVoPEMEjm8x zljY1Zk1Og=>d=^tC9uQQ7-TIFtgP6wCV~91%j}7??XMaiM*JV!a(JJ%fOTd9iF;UU zd^6wL5KGA`3-=vyc#b2h zz`1E=xBof|5)`kOC5uM^n>_CO7XfyI>E({b%t~IUT%K>qJojDkqT7CJ#2(=yVspgZ zhU=5Y8*ix6OTmkYg8+2j%2DQ*xTn(H;l6kBe3$9&ZK$xVS4l%XagIb96UWVmvQ&0| zNw!2f2ZBIwnJ|V!q%Xw>l0QSAcdRb3Y>EN@63v=ixX$Jfqp?#aK=2x}*(4+Oapw|K z)t~F6Lp*@y=9qHs>LC44_u@;7IW&=uq+fOC@%*(v_&Fo2WH3hs|#>(_c6UB!jg_5P9KFYP9IGyh2P_!y=Tp0(Pi)eh1 z5xP#8j)a@N_LFAta7sAbvh(g=OyNeQ`W;ozG|(&~X5)Ol+|F_w>1LIQq(D2hbGx2% z3IUCM1a<&!lB`c0GQTw#20a;lSWSRhC@J?s(*{}-fy7PN`2oLhP#tyuoFL%JoD{P5 zC{z^5cQa-NE~sc-G#L}vDkMsJ&NlEP3r8aghSn_1;>n`l636%By-xNzsy<21HbB%a zc9AhqgunRp#_6*?#~M=KQ&Zl33WT%a=@ZXs8VIcyCQ2y0OzRYZveB}E3-;2h9pk(B z(pmU5MDJi1Ha>VaHn;vBMsu&HCiD7q+63)*a30YvjPXg7JK$kzU9Ecu-((Z0w zq7NCK*)%9@(yVW`xDqAwx;8rhNrtczWCEh5&V2i@C#XF0EznD`li%Z`pcFI&SB4NmJRK13A0IEWLJiyox13?>6h1>r@f! zY0usPU;X2!0}Zeb$^FWv8FT4aFGd%>0SEx=h;gW0K& z610k);Fbd5gS#TBrbJ<15o%DZd(C+PvpgsQztMyhP1-ozEhU$0J-GVIC4~1vjwd{p;gzHs z{#pwevs*4pj9E&@VokgHevTdVo>ud|Jc=S7qZxL=pbM(%dFtI- z!Z#`hXqXG_;E0ej{HlXNpI6R!_E#~L&8)CZ2rgOv_P0M5M$?a%sRKf{P_n+9 z75z4n|KM*~b%RY@a1n)H{%ud)q`{>nQM@~#8dN<`+mhm`{OM>_VmQe^IzFLh#Tsns z@>L+&YT4(*LvtaH6Fctdm?<2Gvr*oWdH;E~s%WXI+Y`^g)ju=R!W(kp#hLDFQ@F7_ ztO4N|PWY@ekt*3tsa8t$LcP7}!j>R_hHD4ml(#MdUdP)R8xN_Q*|+Z+*SgV*FY%r4 zpx0Wo{&h5>a{ z6Mx~AmB%A0lk>m>w_+~1i@zR^yIbufVz7UApe8v|a>c$L`#0;m>zk8t2LY{1=Rx!- z!_UHceIt%hhNmj5bEI||2;5_WF59nODP`ZVyXgH=y-h+H!D!Bc6RiHO*=MG^{?P3v z?aV{7&r$prdX5HTaE7f)@Y%k}R^CKTW|OZqBIO7GT^n7c_%zCM(^CD z*%sl37$k5Kh+x(t`Qvsb7<@UCY0-lwZ#3SmvhxP>-u{v`RnU78tZ=VGZZ~A{Se7mv zFn->B7=JU^i><0DMe6Z8rkW-K&2ar7x$IOxzP`EqVNY`UmNI9BB8o@ z>1CWEGS+3z?uI>l8|tx5|5@_JbLRHNLQuUq%ko4JxLOsJZE3zPY!EClh&Nq=RphMb)608Fd&S;8BLx(~A;@h>x^;EDKxI|t6#yu;( zY%$Zb8F*+lH!Gu%p2NTv4!5S#i9I0i>bW^w_nSmfSWUm^EC!!@f7f)|lnNP&oHKOl zAwM9~i%<-FhPlP!m-S`UR5pTJWf$}1OS(xwggj?iC^3tJzre2L*vavQ0UKCh95cJ6 zE|zvZV~S`$f^$yH`VoFQ)WczBptvx@f>a&Q$zvp*GKwnDxH}0l{e>`^bR7)OdbS;# zPS@!s=@FnL5(HQ@z(@JCFy-8vQdkTM&}$e)LF}CtNwD3-$m=$sdx9_mvkWBY2eh4g zwVdxuo(gN1PLU1$Nt^*=Cqg-lF!;L)*MBXYP6h$7Sk6lZVf${=Xb3n65 zeeD$~g-o^Hq$xD8&NKX4Z_PiA-<|ML+1q(h;%(bm4OWa*+;3`DpuhdztOsq{n2IdY zVHKWD3cQp2JQ$t}bZ(CgipC7ChTb4!VoX>9dl|075~W>woomc0S-F@$>jRG@AZlzU z$)E*{avmZA%2#z&q?}x5@|{0QF*@441RS0BKpT^!d&EJeQ@cO$jgVhBmDh}CeodPI z_QYnQxi4W<7s?iP{km$r&3f-iU=;~Xh;Tv^cDzGZD7Na5cR7NwNAIp$*@uXjBM56? z@BA4opNr+}2e|9J+*3r|YW(xQKzIsV-n7qFU5H{wciOb6z7TuPgCLSzXhtuOP$_B# z1}!2S{#iT66rO^j!e(#2qo}5GGJ`Gr+|J%Oxc30Ah-cJF_I(GHV>h5q)T;uS3QXcF-QU9P~myMXh}1mSlIe42iRioX}?(ADL{$ z-n(Td=J+xuj*wd)t$IpxUw5p$Xz9N9Bv4eqZ2UX7*JwkDAVHn;VM__mfa$nKATC?|^F-2*OE^Vma5XGSSb!{z73N-~(v3 zXS+L-`vo)oV6%d*q$mR#5uN_04j%o6SLfmpC)9|g(OKFYLAMIT9rbqo;keo-kD^ROi5J60L>PG zu$3+q2B>c`i0gqFP{!Eftz_<619B%~CvA*K((w%)Kqhpkqim9m@2a17?%m|Fg~voX zPG>Ax4;AiEVr!M)p4`P0-DgT*`lg1uKbm|o+4#b4eQ`_`T#I z*VC5;-VVz-1R(}bf?mKF&~rNl!g`#w2{m3Eo@PB{9y#!B<_T$N{3(jUkXd{Ow5p(Z z?0@@GIq-%crHfYO!w4$o-2|yfPv0qt`^FN`bN`shpqLpWVB5}uJd@ksqnDpDf;!nR z@30;^s!pomwYDA#?r^^&tnNFG0E}z^$0LW+9XW6(>v5!959jvR{hN_Kr4>U_JlJ=! zUVdaa?H^vGQK&btkMbPKenL;Rj@}e4ZhJKsNAEgm zs}+-W>7_#n4TsBHH2$_VXb@=^_-3)UM~T`T1jKRh$S8rV&EN6 z)Hw}Dng}HKM%Hnjwy(Zq%hWX>F|Erkdw*0%REH|Zn{+B4YK2_TQ&pa!EI9UH8~QQ# z&Y6@!qq9=eof*Qir$=y+-F@!>^vIUiAA{m0&r|P`uR;iCP3 zn7bYx67k-mcO?jCXWyMwXb)uvX_q6L$f;dPa1>^~dNr$GLH6jvxUy`nPX@;4ILQeS3Wc_fBB5W9F~} z$;Yd>7cU&hgwL6RQ2hOqzVn>-t?S|zVXmTpHjSKIS1}n2>?lIccFx?iNg#T}BJV;I`Mr+wZi9uw&Epei~4W#y6EcE0kR!ZCfml3=5kD z0n&2r1nm{b_ebE^GY39cbuZEeu?$HY&(JHYF}Do4GpKK%!&-E95hN=Tc38778qVw* zmdE!mF)ZJJ!K$rix-+4w2Xt7cw}uvntUJ{olN=Cg1pipN(yURdDw2`=!SQP52P)#N z9;ShVmGvC%Au^2Es`In3*x`N>Wq;jZh0uf`iWV>B7inp9eaQ0hu$ALXu-W!z^XGl( zA3P!7d@f}eGf0ot;zJy6;VSL1XAwsE)gB&L?`_b!#t>Zi^K5y#N)giBQ4A*P3IfD{ z;bl?{W9^rIwJ3uuyM)_wyCR;xLl4aaxZdr>WCyptWIFxKyD|SCI_DVt@_l}&MrpV_o-1ADdX8>*mXEtGj|;LT2Rjkn$KoQ7h@ol3AGOVa!QT0w`8nnO zc8E6G0y_GWhjzVbIu&A2-wzKWY0x0T>Ws5LKd0eP7SVg5G>Pw8_A(c_%uE^Vv3hW@ z%q`|PjomyzvJ?{cKp%vNXhNvr^ee&{bQlD6bAV zKlAUEF5aZAs{6id#bH0k;`d4#OsFNzouoAn77h6B zIxKI194D|O8w=47(AAprx5$P$dc0(&u<^io4b&r>TXrf;wC|8hQwf}!{IyoYCtR+* zjayEdqk#chFtjdGXJ&no2xhX2k=fn#)J5Y+y2FI}2rDiLjP8P#z35R?5GeoC=O-1% zm6P&8PuJ?J*&}Z%)@jDu@ z!P6>!A$ege1so~_BmKk^gCC`!(-iBMf?MbAST3ivgqIrpYMif zD<9GfWKIcl8ie{=U7?s0`QODPEPDg9?3-#DOL&swD$VWX|hUIK6?&a zVnJskoZN;isHq;H<9Iz#FAN%TV2BjJG_;C%Tkz|W12D>p<$OUj!uo`{R4+re_x+*b z3(3Jf6OV8u;=Zsz!B=Nl!=s9Jx?AOPG_h8@_7!DKx{8TQNtF zEdSMx(f^>J6(n?ArEg{|A-67qLNOwth3P?!nnGfjNYwi8t?>X1?o)70EpBT@G z`@YARbB>=+%P57kV7?Z^srnN9Fe=|a{*>3^JqFiBSkhc>DD_NW zn5_~uDmBz+5ren*BV)tzp$yAbS~2!lm`~;l$JkvvA&-2TXpjcu&a|Iu+In*ia$&pq zeK&fSX-1G6&Kcz0I9~$GQ$0(e@p^s?$2k*4#XZj^rDT+tfe{%22PVsGMjxiJNbQ9L zQL9u6@s^_Hf#<_s<@zR^j5$uo+9g8T1?=v+W@R1++lPDoc-u_2vNXO()SHY}cj+d` zQ61ecdf$V0`D}_0cO6RSgtt6cHL~zUG7^fLaWWK7Z5}y&l=(=mSA* zVnf!^51#a4!(9-mLQ{I?JwOyY#%%($4fv9oM?H&qK~tu4R9Nu+H+{{nF!1IMqCzWpmfDq5BANmr`{y zx_5(KAAA>ZAy2^399^5%)354O384?VKs!Bc(5NK5M%d<#vazcm3dOuc_NCkA4!6rY zQiYWeD$Jg9J<3sHc(A}`cdn$;oBWmA-Mec%qKtfn9_Hf?-wERM$mQI(rX>YJl~yEU zp6skW-=FzZr-hD|Jz!r1@#cpOjFU-ZiyE;XHhC=X8{Q$p&`NPmwP31l)06akcO()Y zU_<{$;9oByzqp4FWc4;zg5Y!e|h1G#J0TAP`5W57BZthkTvHknkq5smUN(wSy7|$BXiUs zKh^WmP^?A?&>9U$I#*gcYjz&HJDgUR-?w`kl{l0w1@7gdIxudij&}7!Fh1K1>nsOb z$sp;r#?L;9711&}^Utpx9W4AMPC8(8hfwQ)eO!k?2WTV}i&x2(1htziPrDK=B14WK zsHQ)XK2VCg-#-f6m?+wJP|3P&4=W>Cz${klJ0$x1>$t%l&BqPz_U-n+iAqk4>pNc( zc0YVc3%%d09S<8{k2eR2Zbq$){k0oZMs88lU+^N3b{qNAi6=Xyd!;gV`UizKOY~cs zHct@lm2NY^1bEL_)M;yB>bnLGc(GK^IW*4NkEZeh{kkflcQ@3T@T7f8`=FIMUnJ$s z&USKg?;)-9R~v}Lvp2y!{CoB1#SLcym{+YL8^IA5&&M2Ra!Mke#SIqxYIC$zy@o%g z2VK}(Qe!V({2w`Jo0pSrws+UI%fRmSxP5r=-M_lx>pr7``n~ITQ(NNwhu|6*n&{Px z6Usz_Ys1#!cJ;3x8eJk131y&>w#lI0{_FWJSlU5z*x!?w%$p+)t27AD7wTgR;yL^ z1x`|Lep(cjn9K8*^_GM;R+d4q4!dK;Ufc(L-7wo7OiOa?MS7HFdW2;?aYKmIOUoDc za=@e)neHq!aD2XOe9YtyED#8?lc#P6F4JhARf!&F9wn&I<<%v)hvKxf)htmnY4T(g zPt~olPR~HkYkLMSwt32>h_S^r4!#R!c6AYOWzHF+fAw+yc18cQa;9Ki(^G@B;<{>v z58SBPc=#nz$Ic)tucf7`h?@Shc*qAtTU}SesICx4gW!PzPbA?N?U}qzR2wX?q{Wcv zH{ejYM7*g3|JaJz9sVLu$b8R&#xig#ipLH^DJ?Ev#zp%EZjh#)C+` z0k)nlN66-&NzV8nKEQs$lUef?TZV9(`vKtCtA$x%kX>(hMZ zg=9>m`>u05MbYh$ur!u)sc}D=O@v+{!0;n@I#~B$68YC5Bw8-}6XJz9e$9{UK}CC) z6W;0kv}**Sr4sn%pam<+6bct-;ovb@LfHFui=7za8O=F}D~4|Lk!sa-Bun@r-SaFD zT~6rE)$*Lrg42$8oodz3VCPHC+y?9O;eNb-35MmzOo&y^5>@Lq?nvM2mLuF4xq?}f z4wCJapm#4fj?S~&SB;7YdNT|PaIe~MCGlQ18c!1Mv&;XOaMoKzmW~rJ8N-yZXcK7S zsy<;K`v$|D>JxIAq zZ;0osbN{gi7ioqF!cIto+b%X#RuHD zx>O=UX@emH=g6QptXwqu!Y1LMq%7o_gq8WBo7cg=rY8R<(9a3S#We0{*HWh-?3 z{pIn=Y=|bUM?{Xkh1o)*jzW^_b~jV?pu8F9Nnp8w1s+x`n%(s~I<7tJ@UW_uQFkmDC^oT+Gnq!W7csF495nF`*ZCqE zD|t>Mb$tR67atdU$r5^8Nx9JJrP;Th+iJ5P=Gqsuc>4%Fg~hyKt#9-1n=%P-LwfKM z?SBfD8SRy}qvTbkSQeU&gSs{@+48|9(^Py~jJH=@zZX{YJZ#&YZvXwQHWOYwH#l0V@(~BwO2u& zjVtsZ%9wWpZINjMZ*8T%(h?J^_@EV&W!);$trdPlobwJHnZpp0rl>6cdh5JJo5*OD z1)p@4&CHIYdz~3!a-~$1bq`J%;Fzxuq==AI)0NA~;EQU(~bV5IAR>1Gt=& z^x_sz^x*5G=~G6S3#BJ5oZz4{*#%=?FQ&g__hrn`!cjtPizcyU{I(|rD#9jZv3|#C zE3vUli-$)3#usj0(h$c!JuwLKk(b>H$HuY3V0h}jGqtbJoQayjnhc2vCaKobM zM@#U%HN40T{4LVd1#C@KzWvmNvw#dII><^8)AqT2^|q;#&Lq(<(Bu@8wK6(1*dwl1#nLOgrxi`r%Z|hMKOC%P8*$JilfX zz{R4SbiH66-=b{RagAVGmbUQs?rO75=lNI&zODJs1K%>GZqG%>?JJneZJJp4_(BL)YTvi6CZh>y^q#NZ zhbE0ej4U7$F$M8Ou6;GIsTDOSo0@KKeG@;(B-d}jsZIt(@w!1 zex_eBz1FGRB}?q)sc!`>kp~^0tgnT(Lle2L*L$P4P4oi3h7;Z-xw+SQfFUF&`8)qK zIJSntPCg|*nKN=1;_10_=Og4>hmtzOLtPK^S`E-S!siXdc<&YJ*y4`ifxAY#c`1Yg zJk9vC0+)as7t(Am?n%p?hZ0(9z6{mxf_vCAfrphg6Wm7f3BQH&!2Ma&PXXI={4Vv2#Be!xDbU$ty^tYZk8> zS?a;JHnn-*|L#$2SxHl?)tvSn2UOI<%HFHoOhg!envy!j&tSp4hIP|*wj)K%Sb3i7u~q z-|+6;o9B10rPkN!2J2=e-vaGRNGu61TH3z;?s`GBuL6Vi0EY5T$${{7Plz_z`&I9& z#h0rav#()QEs`r~FpCX2u4Eo2KP!EH<=qC}AIMWWz~>HPIxyOfR^a-u8Sgt^rYPOp zJ-v{Au>@`fXl(yXAG?-0)ZoN#5wJv58DI1#F4w7vzfWjg{(&_+rujGvjs5)ShcoXr zPu$?(#L@Jf8d+b&Ykn6_B4dG{gKkR!OoKAL7S`Z#GAL^KA8PeO|7ME1|y4TZ;n?L<<`R+UwWgY2gEaiE2Cqd=#|1kMIP3 zec(s#I>PhBI#W%VbL}Jbl&X<`m)$*&$fAZSI_x%%deFRD^A2r|m^}io#WP#FaS2Hm zW}ACuEP_+-L)S^=~!Ekf^-o=}@c)Bub4cm~3Xtm+C6_sBi6;KXq%{-?zo5E^iB6`&~_{lr>6Bh zc$Y}+xaK(w3fCeC#FiS1ytl#(?>DE%I^HZn5%%D;D5)Lh*Z|isd>hwfZJXj4 zl+SXvD<@}%9P#o}+gKCn(G)}7eICO4%*b#{_sr{n`_C=s{=LP82Qe21-<6bt!T)r= zk{w*~C1lz`_hfe319$=xMHyuMqFqTDL3qnO+^24@Zj>iG_n~78inPgNdvIFcT8pme zR{h1oEQIHxhTCr6Bnf=ofWG+ijL=U#_ycU%{cvkI52iavR(oKi3~B8d9b^~kiRDv< zoEJwN8ST61j8cp6ji!N@O)ltOFkA8 zD)`b8W{`>j7w+Ei!hKznsfRUacaY~;_L4hi(DtTy?A_D|$_MjHAT!@ncm3MawP>`? z3hemqebX-KMPMuM=fQZ>8d4CM%2kytDRFYM3Z!Dm>nM#2_9p=>69jXPpuJ7 zm4m^c7@{n@FsTj}d2)OMUnj%vkX|1O@Q+gbLkZEL!$%Y zMSTL;t-dn6Z#%(km8wrUk&#M+P0n7X{rw9Yf{wI~M~G_QzJ@cAlXZt-fTweN#pWd= zH8eF#7cxp`y!g&{4i7;`&eN7;(;6?HP){ZVey!M@Cx-ayN#NWd2>jM=!saVHQW|5T z;*WL9JrZM$`}O4q*Q#g6#JTiYzdRh_x0iM6ppWd*V;vy{i{6$4J$O$1pTgsz14T}> z@EUT%3OH4rtA#ZYzvs1nH$S=}5SA(2&IZdgEAU-l|MzEAhpj$ug}exs+f^OlU5oN> zeza~lrp{t9AHm0vy`>V=H)lV?;a1rfSIoN__w}QM2gGX)!t36Y2XT8(`-33ArF`?t z5D|Zu`^!r|QWCXq@o&N;!T!zhp4La|+kcr4`E6%34X ziK?8C_kqhRhs2li5af%7CU7OF2i&V~)J`buOT$K^$;*46Tc1M;z)1KrKlC{>dcRhk zZEYMA64-Pwtd<+a(8IvmRT=Al4=4G-)8nCiqgU|0mHB4Z^4WtBv59sR7lo4n()sxd zG_!~c`4e0|1(#pGKkV)GlS}1Q%&Nk27&NRtXPSN!{I)=w_95w>+fyq+vH~rIXW>-u z*nPR&;e*BT>aS*bkPB#r798ObCYI^9zBw%NpZCjB;;Si`SjS}QKki}jd(j^F5|_>$ zzDWOkB_>5r&^zcQYVT?1f%^4u>x{kxO(88h^qnlmD6_kPL15!Y)$Zq~=BM+~USwKv zaZdL@<3JH#Z*v2$pGd!wHw7{Sg^zaR9rbu2khprNH@Aiq$z1 z)yU5BJY2V&~R;T+*$C}oagIBkUMh*XYgAlWk_H8wYTKwxZ>jPV+W8?9{mIk|zj zXgF+urc0FYB|Qu$wdL;N&JXJ1VhBHIRA;rm9x0wl6z;5&zM(eV3y-=lB$qAP9^d|E zKxe+saq%)NJHy05lt%35)Y`^lwUE2Z;xydJKyn|gRev3H`(b@@_C{+w_c-@y`%#wE zg~UR{VC%@FBB))lw_J^2hhS$RcEwP@$G@s~L@6{6ydjh_Pp_4zrejlh4dd6H$Qe+E zCWX^K=ipOh8Jdb`?0c44Ks2<+TbQx%5C5%V2Y{5lJO#wT4eOjrm-Mn#}qL+r4N zj<4&B@Y_XW%*q^ErIZ_6sd!*jCj!(qJKM$cfA@7(G+$Kl0Lmm7?~N4o_D8C|c+HeE z;7J=3wlJmH@QQk8?pi*{iHi%XgR`qprwh%g=L@qczZGuN8N8GG5R5YES~(Pq^S%)-F^8M8iUCDALPRshe})0 zOe9PlXw+_8Kb#wcn^QJnleK;1BrYgOlf~d}(D>0?o4qhIdoOJ-IoONL93CfZ&CHFA z@4gsJ;SEmA0jcZ<5B3gh(zc1S7_iu{Z0bxCX~_)d=bZF<;cTRRsufMk3AOov5pJkF zZknNKvJp`}jmSLMe&g$OQ=vGt@=Ekdw{kBOyJSHDKRA-&*=O5zV}Crb+a1z}Ea30$2mm6$L`+REdTPc7JOVEEw}>l z@9u4QhjSj(-?^nCw!e4L*OO#s%GB>TGyCA#@mP4aJ&aWmHOLE^ZIGSXmc+AgM6~eZmE4w3z5R0qHLFNv;V2nUe3j?C zFN6d402wd7s>27o*ALNh4Sp0fQDa5@MoKAoWKtGX9ToTho2|Y5sSOz!$Y5i`?gwD2 zAXL7QV}ZQ@8Rd&TRXofeGfQR)Y66kK;-;Lu3ScJFeLw?2V68y0 z7cg`6kD0^NZ)8;RMNmD4b`onkV+Ck4EJmS4Mzqbv@wa?;H<4qS!1Gb6q$kbPL)oe2=0r zQ$nk(?A>EWkOognQdO|c@@Y@>tgtklnT}XA5%OOAd_aC&fj&uNtyyq3LGK7Y!I#)C z8S6+gP&UANsBhFeAS=-`AwBl9f02iXQ-&Mpj<7;Isp0#fp}%WwPP_A_)*efFLu-v# zR-EbX6D)QXGsFiLKx0$`je%R_v7$H@U#yr_k^t7j%QHc7O?lJ1?Jr#0qW-el6aJ(n z+|6-fE!#kUK$LS-P50Kz3flbpbZv!!)1NJ|WLE{^ayE411rq9c1!VZF8kxHK{ZoLO zxAc{orpL=OF=%{i)@YC`@NmL?R$(EO^0X9j&8SJ{)1>NLEQCRaA8J`E_%0A{XFE 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/cve-audit.png b/docs/sourcey-catalog/site/_og/pages/cve-audit.png new file mode 100644 index 0000000000000000000000000000000000000000..8719bf89202f546621ad19d21df474aeacebc33a GIT binary patch literal 81606 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 E0I}e>&;S4c literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/data-store.png b/docs/sourcey-catalog/site/_og/pages/data-store.png new file mode 100644 index 0000000000000000000000000000000000000000..ed79ba9cad47bece8026442c5e6f4393ecd7e45c GIT binary patch literal 83760 zcmeFZWmHsc7dJk1w+vkdAl;o(1}Ui^42^UM(hS{oBi*1dgfP<0020zjgS3P+44wZ2 z-p~82_sjp|`{|jr9M(E#&b9Zouf2aekKyX7N(8vnxF8US;Kg(K*B}r&90Wpj!^Q-z zsL6O4fKU`qU&za9xo2!&d%$VOGr2F;V(Oe$XkXFKM^EOM*3M!c#9Rt6UOk)x?-66Lff<`>k|y$UOw2iQxjuX}nWPj2LHZ6zN5 z=d;O*2@m`C0~@78{O5X}swpV)KR3jpQ8@l{V^iRN5ByI`|5J_s*Y@!C=;pMQTWsr9 z;SZe$J7@E|8>g*)N;Q8?locIKkM4+t;YR(#MDhxTL)NBW1 z$cWNS5jx>K`)x$?#mrFty5W_>b_t2=@aTy)S@YUl-XP zUvEy{l1d&QEvybkSGGv#4*nqO)#3PTi(c-#e4!W_Ob~rJpyR1ynwPBBjogXV<)H6}NOG$>bD=`vK(AQ*=y0v~h%9!p8T%@V9mUIZvsjukT1nUWdX0q5 zC?b-(Pc$JWTnzRSgy)FSS!n4i%c;nM$1&ztb<0c6itR6DZQ7=~14m;&}b~7pC)yDG`Uf$I^-;EH^F> zt{wIgcWxQQX$fz<9$Yi{h2{C3WmjDL^~P+%7rWYL&A1G|@pPIV(?t<&_TrV&%K zeP)03*_Jc*31gkv8UZ$hDGtL9^La#omckIZQzn@Rg}UVx{clm@SeikVe?0{Z7Zcvg z=zd(UrZ94Q(b^*|ab z;8SMWNC6KxPnQXUoqTrAwN(j$e_Vd-Rf_HLlHQ!I(AYb_ulR>uitCY{piOAH)=F*U zT&yQY{E(&E`74iIIX1}vemA=Qi#&-r`zSPesW|D)$R-p!+^S;unJ~4u zcGbX^l!Nd$08tPB^W4<)OZ4Z%_LU2=r-iBD{uU10*W{APSl7E^EQh<7Awu~(1?TJU z@^(ws18Np?b2%F_ndcaK7>Ec~JjRP%E68K9)(QyhhRfNZ0<0ab9A{CnAxIEXlOeXr z?|6uGEMY+^?&kZ-jluZAY3prZT7H9}m>Pj=&1LYtc@>+2O8Q@P%a4TKJ{Lm0x~SDS z+U~2+P}LJ{Nw z?Rhkj&jw26=sB7OI(fn0Jy38547c;>VX*{uU5TQ4@EJHnK?Y&V(sW34`MLR;5i_PO zy6v6ed1$lqcBmPhZeA7v<)}=DG43nSNl3gstVW+!Y!-`@e3xuJ!;u6&~vc|3f zsW_cYufJ{N{HMCufFf$H*Zfu9knft=xi0vE>bR5ENmg9Lp;8UBIv~CGS`h4RIBLgg za;h+Yg;h1VjYk_<(YDLdXj?^hn*Q?|&#F92SHT}vJhTd^UtJzs`9hn0_M49~jbJ0V z4E-(=g=c7hW^vYM&*b#c8sS=#B$hxF)>@q8`p(7dIqGI~(?AO^liKfSzC*_AWd%HQ zb^`NUWv?bjDe_gNdz>()M6kK68J!vVe4)EKW%axgorYmX{%Okj^c4^;Nw`A24T=Lp zXeTAu93ma6Km~Tzt6Fd4U27j0L~A2P8otwe@KB8)a<@X}!PO|Yp%$JdL8LuLOC-c8 zD)i*?PL8KdpXLY)RUJ>}5`cPpX5z<5g=U*xoJ;GZ&-yxbyEH1>m zAZp9ZYw40q9=!PZzW7}ly^+^aEV~17(6e)oVfw1Rpp_9z3o0%cch|dGO*wTG|6~a( zhB9jY*)Ox|-?MZVi~Xn?v->MXEUM^ya;Dc)>86I)S+sn(VtrI0z9w1VHk+_%si;_~ z*tq1m7KshrUvhXWwnK6NME9*hagby9^c2xVIlEHpWWSq37QGduJk$&33@=^d?iF#< z7*Iq}{#7LmqP=8>afoax#ixpTubbJfqMJNI9Ck>{qC;;41LhGQ-l@c9Ny< zc{RGaB78C2)QjgaboQI}m}dK+-M7*~_O!WqUrDmxuW^xG6FGDpV%r&4E9r|ZW0JL4 zEMA4yDp=K#LE}!pQ=R)2`*Th+)Q%sNJFEVf+X0=G$D+l^uIlm!2hDjtEx}ILl^~K6 zS6Ev&4PM#T zmf|=R;735Xo8TJ)Xiw67GU`E9*=V0~9fG2RnNY1xo)OF9a>xjdjoT&|2F;wC%0`wj z_L?0gVEj?KL4K>y&dg*<(S_$^kLVz?OdIIZ=wNdC!^{cIIYP1D0`>JCn=(Z?3yh(( zp?tM%8WyJH{*6)hk*I6X@C!y#` zc0tFk@w+V3@|2--O^>X*=m>IKZj$lgDSx-^`_p{ZRY`i~if>)=0Y+Z2)cSH-tNHuh zl+!7f>Y=Ri4K?%ufyUdB$)1iN37*goIe5ARCN0(}a@dZk{tq+A#6&&`OF^3kE@Y># zDrO-@;~_|^oBCwf3PKw*#r5%Btd(~GnBizVD5;say&aDzz255ZjYPm-0d-7XJ{NmJynBUNfM;eHhPhIKBV?;yTZN(4Bb8kJm+HLZ;yfeM?=^ppgg zuJ>VP`=W6Jqn1wjhdy-1U!-#3U8FHG;)ysSSV0850A`JKK@cp7}5r9DEnV+=%ergNZeEGoZ8$W1_F(?{eok2W`(?| zc36@+>c^rKUJ^MRD%u-rM~?>442mrI`tVa@xi&t2azV}{Ze9)dAJld$Nr#HftUok- z#N%7jB;mca$M!1w@8-tv0RxDV0paNeLfXExg7eS0TDDi>D8LTtM;T8YP^>ykC{9x= zR>wJGOJe(jD=j7$6bdWRFg@_p(PjHf__iC;jT%w;>-?e7R98HGj@3Vs4O3=!257MM z>G&^2-mQxrD`YqRG;MwLys?*Y3VH(JTCQc!DZV7zKA9b+*hr8#Y2usJI~GljyTSKI zjNAnRf_n$r;#ZAfZwe&sPwGvcT@PIxzAwf{(mL^WFVHhw(;gysh#IrRSfi1&I};z~ zxlY`TRU!7ocLARU|6f%FgMF#Ni*;p1b%=;>euMUF@0J1_5T-_C$Z4mqRLpkTidavir8 zCZ3xVtdYwnZApeptUGyWx;{W4(G7;K4vIbRAO7UEJs7H_(6 zrL3RSf9Wn}%dk9S4@zll>GzyjvB+kJHVMx;<>Rtm@ZImrAoKjoR%&u>q@}S$^+SHSfIs8_#W!m4Ruax=!x1b@{6I2yq`ItKPmsB>EvV?4XS~MED24F z+`@Sb#aZl|3z0c)*Ud=hZNSc4G)HI$Oed&#R6VwRJHB};@0>J3qJYc;?xt7{fd4OYR{dQ~=l|rATlwK)}ATBSV6`t=rcr3)nghQ!8JF$nKLmYfQk_RK=Jhq^^`INERnsqw_3{lA^7>!Go`irnG>|=^zkH^CM*X{?LBJLp2U$ytmEj*_uIB?e zWWVPU@a$yt1$6ayOozF=C3}BaVr>(%@&uw_M=QL$-fK1?owQ<_If6!dp z@`jWxYjd$T?XgJUbyCMs$c#v>DzqKmRJ^z1j3J#Y;9Tah1zW5|N?MzWOM2aQM!irm zv;dTBDN&kjSuaN-#(_lPoUB&Ab-Ewx6wMcCGofzQCn71mUCNcQ{99&52c{>5IIiu! zW0M(vZl37)Bq9RSJ~$q(g44%ts|1v{kA*rSBIa2MLE$)}6=K z4N!zG$I_f% zY~Jk(k;YNN?HhJ?j53VGde$+=PV6$;5%^+z`zsgD7Ds&W$GUcOe>87FEIghBAO!fU zW(toX@sXWn1=+Q;5uGPdYJ(cBK2y5kR@gd>&(Zbz^KFkpade?e^IFtdwU>B!h8%ht z3=*+!DR|mP`7N)zEif&I_nwyfUDJckc#@cwcyOC+TmdO>o zquVR}!S(Ox10G|O<~Bp?gHKYB4}jdZjgT5OOX*!4R@qzj^n4F>=0Os&!(ZNekBWyt zE0t#f!9~0nV?@WG#%qh|9){JFZAL>4MgVyfwnaauuA{F#L@idhwvOfeX=*F@+c=vD zGBN7vyHb*b4OwaW?to-_D&dfQYlSys#<%rGK#GzkDjvtENM43YT^jwM-xnTe<#q$D z_rH;0;4u79b79B-uelb-0%?4EUa!HCKOjlCRRtOsc1?;dRvp+#h-0eXv>zjYLbZK}R>-M~pvSGoc~YLYPo*U!<=777f`Ih@YdKi&7ZwHKp51d`h*;% zbYNRNXmd|B|2;l#VdTGpX8s4tIJG0(r+9sE%#YqKP(@%j7J;gvoz1Sfnt|AYQq{Fh z8QZE@(Oh8dbRxMdBuRcfyRF;s6+ml-B2isYK6h_rs1ye09iUvEKXkWipEBLGhRGSy z2%vWiO!DyjUs7lvHWW#Ve3sCx-nl%~6o3*b&9RI`MaKp&vE?=8ggVH4H+;OgvW($- zK`)N2nrlEXH0_H2?rI5_z@TUeEmCDn_B4KASCfL{gVU4HX+oNr;Ke9{_v*g%M^vc3 z7Jh58Qax%&I_@4C{&b%VNg=(({2^~t1veiQ6xGkd-3vi0k!x1*ae&AyhoxNXr*>-l z+%n7S+Od#m_d7hKgdE zudIk;IjXMATde(>;OUxe^+|S#$@5L&UrRKD`jj>Ojhm@~x(asW6E9g?Zd^h17u$=m z&Cm{By{mLtDvpVLZ8lon2S==bJuOAKUYN;a%4`Xg`bt)=e@IC z`=SoD-$tEqm}2vQ(EA>&9XYx_i0w8a#-me<1c0b-qi6w+l+ulyZqj*Klvv44yp_}4 z_24yZQrN}I>{Q)RD;PJbn1@dYBV`MlRnm&Mk`F{eqqPZwzxJeyoG5+HS9khE0&7m~ zJ}f+E6KCP!+Atj(#aM~(tsPA_)zne@?cX9R*)Ku-Y0Rj#^9*veQy=Kmb{=p93$=*x zA36igKt0To{c9GzR+f`i$L1n=uF56;;8Urv;fOVZGk*>{B1UpTD zSBvfd>D^5YL3{}CXBFOx8CA|=-{PRZx5?vu?KDa!T+H4mfL`y|D*V^U5~Aq=Jc~Lm za3F8=%^eeyu9NY@@6Ht_bze5ZJ;VIw=+}0>?vwxR()w;~5)B{-2A+B1$iRXAZ9kN! zzx=^Nt6-YJ6>etxmX9UdO!s+$5D!%0UK+qxW)}#2|0wX~N`3$I{jIV0_iWzZ(kSHp z-vj@X(tlLu|4%h^Qs3W}vx+S}pC%r<<%pQSxb4IIk9rZ{0#W0j2yaBe4c0U<)~#d& zy`QSkJx~E(R_b>_^q}&&vAcWg72~}L06DEJP%gp$uUg7=f^?|<+g=NaKq=+>uc8u= z0~G$-p`&I4vZnv)x_}lwB=O!f?`c}W0D>L=NBc+AfjBPY|8(*4a!vk6_78v;?D9JWEJ?k|o6{k>RhiU?;$#r*ykKtf^wBuJ2i zb}~NDaK-oi`?z2LaFOf@v{UB6$OdHbZ%dXn7`XV30K&^Sj(cL=cxEz6iupHOvI@9s z5-_6a;lC99rVGPufv-Z~e;-mL29RYF6VB|UZhcsj!TisQYt$bQihDAyKx@%F0#%Pp zLPYSJzLEeX*$qaLEZ04PQG+nyhZ~Dy?Fp-)##{V{rbmyzGUbu*EE#^H`hEY4yfkJ@ z&?~G$?+*e{@?q46X^YI?BSiuY?$K5YVuA^OhN@+bNr|wAPsq!wKDrDT0^QRc`7G3c zQpy~tr9h1hA%GRg%STfc31ec`-V21eX%`cYNuI-|Ns8Ef&KVwtS(ffVPl)e$&vJCr z5+=NX^mDKOOtd~qDKGn-e?Jd7#asz*Z1Ouh3c)KDBMi!^zq_x4gLJwBv;tuSXnNY` zYV3KtG~Y`Iv`6Z7ssCN&?Ghoxl~rAEJ56~Pq~m5ytN}A_jZiVn^u#cQ+{+%8^zBql z+<7CrxUs1zT?C~xmx!OlW9zVF`TKCHt~}=725%ES2UM`Q@0&dq9Fy;Z{Mh^ai_MvL za(?FK>i4U#<{yA2p4-gN1G~RZrpyiPTn*C~ zf>s;(l2*%SMsqHQtD<%MNGjYJm7oZGdv~A$?OjrF=y2xRD=tbS5l!C{K)88_p(zbv z-(p`t18r$~`yTxJ%ZJPwppv)zR0!$-YdHn2sDpn<+S~XDuAaop-ZQ+JgYy7kT}Xuw z(H5_;&%bM_>fCw>FC_$Yy^|Mc{yEf)A2V+ktiS&p^(7FhiiO zgr+xF^fL$-;##O5&N}ovy0yyI*=<|K=!9zcUJJkk0E3@R&|IaUg4A=*jKG!f{*D10gYGHuh#8;gvXG$i6(MzxJ}uh4 z^nR-oBYLMLf0&`_5hbGoLpjVP;S8-sR?BYvGEz@@a_-OJAr9n+--F5qlPlW0IDwki zX+?xw`PU$PUNOBJdbjbB&yP_`rPIB$(b3-agTN#sAmv}~syX44Bq$E`7>)it1Ztc>V6B>}8A=3o21z=#Kpu0KbJknlr_9~ot;}rpDDW-r zNV@8Hp_IBg(}`fh+m+*tS)9`-U-{t*En)c{(M-*F5&acm=7=(=#FsErFcnRY%v~=W z)8a@D?YBTKmRl9g%|6-wfdgqLT;32W zt=6^1th@snOg3rg>b&@$sF$F~jxPk?SQJ0{P*{Y$lkgC$r}Q%ZuH1t{GpAU6LfUmN zdySH15Lnt}b@Lg>#u;A??dy1p0gGXn% z-AGy*<~=sIOWG~B9p+*Tu;4GP`HzNXq>IH5qK=6GkPf@zN}vddYy7e2M9t6TkXuio zE9xkC{7%!ZZqv~iPUpSsRAc~fA^0+!_0P|Np$5EJLP%;b2?@dLA2!AbFC(evZI!q>+p8G$`@pR;>uOw!>oN2gl!$ojWf z$t*dS1l=><`&~VPIfF`G=gr{0wA*sAWQHc5>SBk7vFhx_dmYzNHKcAl1L@r;IyzObEH& zHS%MYj?DDzsvmLTz6u0Z8Q0i1R97;tLD|C~ptODe$ihslaF(1iV>kEjDlt@Et>g%6 zT~&>*KJ>PXrkHSCULY#i>GfEEu?x>)&I?NrlzqMDoRA}kDA0G z&#z|GK=?Ea!+_uX?qC2~1KkXtzIyL90dqj(+1Ca&Ru9gjcqML^H~RIRe|W?eJreE% zFPL%!vcC_CQZD>ZnO8sBfO`)rR$Ciua$ z$GW0Gns*na)P8o%r)+_P-%SkKiRp8Y`B+TN-Y}|g)jt+bTnb&t?}2dys*Mdv8@zXyPolyGKgyr7rHI?f@y6ZR4rd%_!taG&uhkJ!D?gP0m=+6m1}4VnJhKW&Ap<9mVZx610(Bhr7-Fg4I;=Bxzn4|W?`|- z9_i>ior>~3-dgC%V!b$)zE!NbRjBz@j0OMa8Cr(puk5~|sgc)1cjH;p5qTfyMW<%% zQBi5!AH3&>3c}pnv<)wpsjUR;a&#eMbUX>tE_j=+ljC!0yakd46aaEVBP;bw)X z*oA1gX7Y3M*$!uE52PU`TM8HpjQs~mc?vDr3Ib-Uq~rZ=kJsql*NV=Q8Oa5%_cLD! zPUw1x#zIwvTl5oMRQuQ{d+v}M6a&(!m3mC@ZW2uoqr)|i<0VD5pWD&2rfQO3y|HZl zbz@_m*RG%ZP2w5_LTrcx!4|sMX{jdqLK6NC)BI}jk7XXi?z#9I;&rS!Wo(nhko3ax??J;{hhxUcp0pUL%qL->Bo`=?NjQaK~9iap~mHve+-F_P4?YBQA zS23R9N+VRH#9HNWaE_;yNleKW@J&H{((c#ini9{=1BX`(e$Q$Sb2+!{8}(~Uuwk4n zi`!NQdBN7RNnSwD*wXh;)yCLR1_$yA7(S9h-@BVkH1qZ&z25(0Io`^W?Bp@_yFafP z+1Q*RUN%awr?Z-&$@c*5&QboBMb%p~V)`5fI7>Ef)y{{c{xlpgA7c{9+mhsBP{2v! zLKA>e!I&RztOs9=kiL;HjW;6i?PzCcjm#n1xBBNYqO!Cu6OYDfeQxs$0q)8iSMp1aCf+n|Funr@l{ z2+!0jsY;TYSO;)}1E==ULJOy1Gg%p3s~QRXk+=@DSu=h09b&T^_S*fTw&};P}EUCqwSAaWfEJg*`JK1J8eJX- zl)M&MrZ^jZxaN0EQ@^uKiq2OfefG7tjh3Rn``oBm9;3>Zbsa0#N8Flp?E$^{@C1Xz zjk>96wA=F4t5}zVzRHgvn~u5SEa|uvjlG9bC>%$ZC!sCcX~{%Yr(+)L#V48v?p{t7 zBa7)#xtRvyWtGvpI-MD#Jb#651{BPcHBm|@r1Vet=RaIVvq7~(-zxV$q>lVifU0Nx zja@dA8Qdr|#?M{Hy8+VqHE01o7OHajVLl04co*#UNG3q$#ptq!hke2I2GSTEKCFmd zKD@?kOh2pp4D9i8bCC@341SuJy^Sm`Pg@ykTo*C;&^A5NP|a>$@+M_LyruC~4XoV1 z*3uGueHzVNonRB{TG2LF{K@4a*o5)U^^pQ~I2;^E^Q+@ z=2QE#Tcu0-_ zb{98~Ux0azs!e-$3y(MF%!IUbQ(6TQK>oOVos)UO7#7S}K~?HBF<8 zk2T~7PkB_mM8--tM)%<0W1iofZcGBO+*@zyGLW1XFtwU}b{bsb5~pMH1iGqc;LyTf znpu9mO+lLD&fKn$-X)W%~N~D zSiD{0NR66^{kts(O%L19*q#uzi&D1qPWjL~h|P}4jkM3nrZ+n%^LLoeH;`1`-C*?v zs_c|6zM8N!hxNhV1FatgvrR)?%f8JO#kn;6J!q@f#vr^1sUaYxi{P`NZy6*zbS*Ht zMLOiEoJu~7T)8Cyrl(uuga2Ty9xxs2jy(gXzBL5ld9)m^9OiV1S3Fnnag3#(3?Oeq zMGuR)sEqy58Zr0iywsptwZ;U7He;D~yE^(RPz9UktAT5!tvS<%$po4C8Kwgre+SV0qH#F$-VWMoauHnbZ%4;ZOEGD#tyt(}G^TUq9?C3$U zJ(>z~qieUL5kEG4A7rbRR2Q^+KrYtZ1O`y z1C{8rK{_N&^f}Er$Z#~hKQ7dMe@Ip|F=g4SE{h7Yr{$P|KtUfes zW^|P8POdYKlW#q@+f?f(;4=^6&+faanO}6DGHvjzBvhKSFZ8naZUrlxS*~Z&obUf2 z+L1?ej;k>*xS3o@9ey)4FQLhrIp6u2gB}pTGMK@l-^r64Z!}FSe>pm)co5(Ic#50Jkb2FZi@Y`tB!rQtgZT5|6BB~y2;bd>ec~Gee3C!5DXn$N_ z6g_UxxYU4;H!ipmG@{aU(Nj7H*WzxrPI zk(Wk&R9}{+dn%1Q|4l}Uc-Ghp06?++7`cU%7JM-#-K<3KjW`yLZjLb*xJ_IB-m~?l zng%U0w7d*uTxUO|K_Qs*=1=_-8FaL?tl)d<=eg5*`)qAcvU;*)CX6$!tv<4?WSIPo{n8wn6+tEOLk6O$89o(PJXO>PTpHYkbhZ_nXG(s~Nw(() z^`0+X=E#b%!R^>?i%T@apwE~79G-m--ld{RwGogb{&5@kzsQTOYt{6Y{*rNSE-QwP z-&@zRHeTxFadtlE;Ctst(c#3uWO;~#s-p=fsp9TdzhuEX5Dbq?0{vc3{sn8p&^;zBIJ{ zV8vW?ON$(_wWk}eS9HsNmRh8Zaqr;Cx~wqa)_!HUJvj#;9hbT2bhb;5;(>HSikHP9 zp!SkmIJe7__*Yh-5;pQFkE>aY)F$?Jf$YU!K)_l%gHl@Tjfx4>8T%GoNPj(T{0Cc> z?pNF|y5G;4v&#SJNGF6W(aM2Jq8dy#ewLV*1RWf%T)Q@8AW|Gauf_><`4jorSinY( zZtvr+vMy^C)|%J7&->G3uiiV!h_i1p8=oq$<(K9B6WSLOx_j7=O;!eLn_N2FeD}`N`Erna0hHt*Q`&13dPLBlx3|K6 z{&V@;O^_{lN1}4BD_SSI?T4u*T)1Mwia(g*v&?BVLC49#amn`^t; zsO$>r6cW9k=D$mdR%g$I-*6C;7RelR$0UArY`vV!{xM`ygq#x5zTd{GrmGxrBWgC| zxzf#%$Zg4Ie38OhY4<|g)sBpgN1RkC#n#M)5p)~M7RqaB|88hWw@Wnh-wip3&>)JB zsbD%Len1v=!yY6DiP9QQq{%v^=UcJ~x;=_a2CVl+_oTNQ%beErcefU3{n6oBg7i(! zjPLE`g1+atQdS;wf9 zCAs)eYU!0^hpvmLt9l`|@Kvu!;p@MNj$+p$s$R9!`q)bY|B)xDK*kOQC24rm1BX6I z{+jFOs#N4;o=gN@i**Qlv}3|})3&&uVvl2IMo z)>9nZCI21byY%P`6Yi+ShyEub$HBnpVC$(!p-+H%owZ#Ti)Eiqn%Y}(#IyZZgMWxO z1q*&FZrPQ5;f;yrVkCX9;Ngb*RJ$INp`E2r?!d)qe2Jyb8N>&{~e*kaV&oVi3qKC z0{QnThrOnTcqj=XK&Tf3-66@q*UsMSKBEIz_B~CX{B6m5L_ohVlBVmn#;>EpfQ29)omNhgcHHFkusqSr$M# zfeIJ(>@=H>7BJPmr1AK}$ggTQLU!mE zCad~4s0>m&*ujhBfEQZuxJyB)>Oo1x4i~}9^jmJIdX!4pvnh zXrg5PkDxFGU`VE7qwpo2$Na9vkh>Tf#(#yTmna>mrAmn?$4RV1)#C&wFKxGcb9Xui zlD>DPtiu{zmP=X5eq_3jnc{*j8Lponc8?3YZss$oLzPHA%^C?%Y?+9YsCPs!rw7rL zt|umA0mG)JC>;iNd?~I&*Ry$vB@;iAXu2q3`J7~68AI+s1gb=ieFBWXj+(JAi0{#U zxOvhh0zF=@NL0h{XO;)`t$91yPSr`U!BT9Ui>6+rnhgvDt~qbU4GLJ-k^fLm|C<|A zH(cEblsb{j(^G@)JM5Pp}V*#;xu)U9K@Ru>){ z!73AbMqmD%7|TDy==wtV@QlKP`Kzjr0J_jVYXJ21O`a&{=S=Kpj52~@Zf*pqKG}(o ziKyQNC$4C36?VGMmNmMBp{rz%J%PM2zccyWBmE`s!=dy9-}iK~IZhs*5aY?^S7zn5 zdLUn3H4vDCdXh$M=82>14c%WYmxE&OuX4 zb>nH7;nrcqdp_vuHrx8(Yi!gjs|C{v?b6M5YTY4QzkStdwl&@;9MH-FZ-i*H!}5oYn(OiC77qvSB1+`BopJgl5j zl5(?M(iO`rbt#gxqcHoR6BhA1r~Co9&)+Gl_=6D?0uU*dalSDD(=%P3?Kqx)0A0 zs0?`5e5n_Db1|M@4c;0ES1;bS*K1H^HxW1C+OOa4+gj?P>5=Emoo%jY_i@F{pUxLm z6sAx=`lCxB$aToNLW4Mzq;Sky^2S@D2^+keF}nuoWSuD-er$aT7~Rd6QT2)XnJgi^ zh)d4r!H*M^f(L&*es9r~{^N_O*a&P%=OO>Qf1QmwJ)l(52A>|x1vMyq!hmPYt^As< z)Ag&E+$zyynA*o<+!) z3P;-FD5WWBD^J!BB~K-n@yi5F7`eaLf%&*%Wyt?gCL|YQPWYVq&7L`#@Q-|8h<xm&QmWJs(nx-Ee2nBzkOq+pTe-B=#2D9FhY2$fIUsi!3W1Vh8yC zZl$F-BCm9{xmt7G0VS#K9i-iPf(OleKAPt23^RHs6r?J3oA{?G?RyXF-j2AUecTtF z9P=&%UZ}*GUn;It8xqT3u#de#7c`2w(mR?N@?G)?UWOPt&vJaPbg4pgumIY%to+(9 zV{3hwH`8j^k$owHjp;tivDPLPn#~mmRZhP9=bSxgx`Z(V15YNqoT2TXzVc`{ z?~lp0>^C*&*v{Z_*gBL_h{(`PgUjG<(gSz0ar^Tw&F2GuZ-Z1ZN1unXj zjpIQ4)%Lmcm9{#kFIX12X&(+3ExDqvXI(tPD!(?^+!1X(wsEzYVMB~OHD`OAI>q+k zIr9ttm04vjx{>fM{94k~_oM-`cS-vM5N`KiF1)Ad@BQ+1n?E}tiq0~dLmHnB7vjG+ ziH(A1!vRM!Vv~?Iq3R;6x&uEZ&VLer49f*y7^Si6uNoZlo?{9FJ2k@LAgx7m1F2j? zbUNDX8~Vro_UQ1>J~m|>&2MpKACA>tv8A7(-;T_8j~Q^}1@IY(2s0ipH#1jsawSaBR5l~ z|7u+V^}Th+k?>wF8D>g-eB52*OGx(<*k3tm>K~H7MTxF)e8~9o&HQL!Z^3-xKgH+~ zuTiKx&f2vJ(|5h(!PU1psCdxMa}%6r5DmIsa-L^Cy#ey9H1Cn%HK+_VxW1*0T_)#y zS?trYS(9nD5YIUd|H8W>=Q+jA@*>vw*bJJneX1dlo-hl=e!#gQ&|r23Cp8HMY>2V#wwuj{X@;9o*S~gTlh`)5kUmG85A}or&(gd>{+Q)^+3*y|t|dYK3qzEa6@> zE)S_gqZr*bLYbT=rI~8XJ5jlIcGWI%hKY+IdslLo+5aHWTbK(jNn|tCUdgOi7G`{2 zbD{F~+22rGTd=|PxEj56m#rz5UHsu{4n`Fn+VT3eg^6UAR88?>a@;G)mlkEO&EyFK zff*Nr7W23z2Mh9_hybi)YptxTi~%?ydFuV^V|0X(#oM1cYyJ)~{-J6H-Vn3v3``1$Qk1`rhE6 zy7;UWN6J6b==!R&*R>K^o}f$TCK-a`pDHHXre4?1;&ZG$;c`i@soSqTGUR7K|9-Pz zjp)I`SkqHvtHsr7o2~XISqwO$u(UwpqIqs)xvwmq6He`LU0H)U&wN-N?*YL=rW3kL4q)`(S%*ZYD@-kfDm%dbz3dWK*Etns=Gnwbs9fiyf>zqPMie-O9ctS`VW zlIM6NxE)1kO-I(m?K!@>kns>nd3AXN>pqd~8FvyQ-;ci;;18>jx)8Piv1AWTQfqqw z!#PX6MS#;OKML7(E#l4kXx~Pu@9=m++J+`UiG8L=1bzU>TiHJ|PPFMpWMU}yQOJDU zk~Skh=U+Fb^@0@f&+W|chnk`xwj#f(LOc|X*a8!$di$MTMexK$Z|uT#pUq*pi3iG~ zvGt;E1~vkba~T-|S-f97O}5{%bhBHWw1umQ%N?VJh(B+Q*N_p6x_*A8eOiJ<+ zkEG?LF8INg4v2j>v|!DMo_s3KBaUI}d5I@E_^?}7AriusG}qKp94GC_(*pu8+I$kH zZzy@)dZBJ=K-tu5+B8j>9=-2={k7mv6dDb^``LHRTr|EHo3X~%v|^BrXi7s2KFx>d zfp>$+ZI7YHmIKX!LdlvO#{kU4wo#dZO8l9NTPbxOg%K~@TGrYskRm*_eZlOwluR&x z#(=%+_`?k`$>S-xFOjYb2ts>ao@#U?8tM|N|N0_I+~-Ym_lOv`{68bG``SDhSm$w4~StJ-X>hL0(tEF zo^jJS5oG*TX41uW{6+VE70^Td=7A06sD~I2w^K)2a?q2o{sbn+K(axuHsz%cv^pmL zz;h9l1#k;H z)HOQm^KwzH43|$P4cHL4SpC4jV~cLYF{1iz)OnYagA z7RdcgbzcT!!P{fFk}fjhFO)ux0lmtqH-Fk48FESn~ZuwE8yFD}XOD1dN z_7jSX9rEWgnL=~5+SjX6{OZ3e^~y=7+Kg1>=e)to*g{L}LBN!~&PR6a`NeWv%xdJ# z2XT_7_WYhABYX!-8)rkZVG3lcgzhz0TA~zP zVy#bfeO9N+WfVwIfd8-}k^0v8n($PVg_x0z0J8drB9WbNIrA&(+m_Srb|XFS-OlWu zE5FaH2yOa&<1P!kn8~1vw0?n{Zz!Rv68_Ocw1$5Do9n|Ua(3VMafg&ciSbQxgP8dH9BCXl5a21H<8C6e8Ceh5P%$ z-y=4KSN6@BbOBy0OktldR~{WYYq@@U zBUsT7Wi)DP$Bpk~Q)gpK$KAjX5FO8$B7XV)m=^YZ)ETb{RN|V24K^#~HW~7nxPgg~ z0{qX!L@FvFAq3T4A#dHW2%KW@zipVjOMQg4k%RJpS47b?YT)hLR9qDc>fvFi9H34i zfI0~q9>4wwSP4%CU?sBHnBRb&58nk!>6xWZ(GYf#Ulg-Aw3-tKB3O)fJvN38D>^Q- zY6ca5S@oE5KDlY&A=2ND0$0*Yc5Fp!H;)0VV*;%A z3t-=u^E8I0E(@Qal#0F1#sMZFR4mBA0(1yIeukl z7W5XSG%srQfz;<}!HKahzK70M8^5er(|J0?gx^}*zM3XX8o@TLtmq1@E5b*krT`>P zJhj-rble3q+$5y5Mhnq&x4`|IWHF200t@>{0SlA8_SpmJJTFi=plRqDvp3nn55vq^ z^U&t^s58#c>#Rt7G2yTGmVhISVJ^wU zfk?7T&wQef(b3w??!^gbj*nP(>@+jR^dJ=el@n4)Lz}PV6glklFLUaO_Fw}9N5== zNn-MfR}y+~sl51Spp_0+InQvAMc%DOR`oQx@d=mbr=XHlpXjGRGr zDK(eqUOiMuP4{lqNDNG zj&3{rY_@kx#|b9JTjom;r2_&<2Lw_F2t;14D6;r$XczdfeD z6Aw>~@Z#xRn(O2!mC#1C$QbC2E zU(sdpB$_~tjLJi(3ke?qPxS!s(Uk|VOZ~PJ%gE8XPLB7U-C@T&cEMHxl`YDkEvj>k zgpbcai1%DoCjwIpltv>1r)2gJ)iawR#P}W~p3QV-)DRHAB7ZeH<6nd;;_8WL- zq(f0(=F#0LMgpg3W|c^<+Lp?6dS7Z$;Q{6#1yAM|^c2A*;@}J*v&uy&&9TO$lV}hd z?H|;7oGeHa=-T@K(e;%9QEpwhq;v=Z(jeU}NF#zEokI^uHwZ|#h=-6Iy1NGlq!~b@ zkq+suA*C7WzMk{l`|tjIf4zIJXRWo@Uh(V*%|-~po|4Es#b1|nUoXN$U129bSI<{& zcUlQk{9Krz`suBuBq3!WYV0tLQ6P6kDGe-NFW>~z_Ok@W-@1md96oEv^zYjMOG-oB z76##vEmMVK^tYp988c>Gm_nau=BaU>PuSs?|L!_*%G$9An$KV%(1YbW&0FhE{KlX8 zttp(4@K*l6U#QX=x#A;==@Rqx{7x`SKZ`&68wm-c)>CvkYzDR`sM4Tim;jwI6$P_$ zh1Pj$4mGtQ38jp7E=3k0g;JdbPx=bA=pwHjKc3%Gm06)10{gJ~cOUuxs7g|=`~Kd= zwKGSI`B`cLZUDb}BAic5Wa>XR@O0J*s5)JpC<=a?vMZqNoOc0oAoF(J@%78eewb6w z4Kq*>zv%3IpM1}{H~$yj4;ODmD?n-j~l-(Lqu4sW0gB^ee$qXP*^o4W~1OUU|BW zAqWhk2^<9WyH4yv`WS-{u?5EH5J!gSk1S-WL3$HPv!V(A*fL2HQLCZG4gsj(1E>__ z>-wEU*nEEVuNxK)tH7+K@{Mz0CYARQ$~tiP<&9Z;5U!}irAIVcpFdu~+SVeBEuZyl zy5tQWnG4|8{*<)=zp98efIs1!ktIJA;Iwsm;#jn>Z?is!0;rmf?1pxv{_!n>Bhn5~ zwSca23&MY|4zbSx$INux2W;u2(k~yzX^mzuIvDpRr$v7Ww507$CE!)O&|*yukXCZ?=Q)YdD;Y4FtI3H0~fgyz2bby;9Vg7bhB@HlCwmAxHTU6H?$ zUCAT9ec8!pm_1loK_%yMW94?sLBGuA^pcrOB?!~8C>lUa%QsFQK&<;OVrPF5V~5Z= z<(ID!{OcUNe*eCeNyDh+v_BVT zQ~A@kZGMA{lt5q%wsY{2_uM+edHOV=7?=|)7hS_u$b46+bvVjG2sU$l`ocw;NE7GxCZfNjp^N_RLWMH!A&Tm#DHfl;~KBq`~0BRoV z=?v&6=dpV~pr5*kF~q&8)K)xx+YfX;eyMuK>vUk;RJ?>aWO_5xNlw7}-wk?s0Tr-H zy)3y{xj{y zdhAkpl#HlV^Lm^kd5W&RQFZirol*Fw-8$ye>|-dAf|C6r{exs>hOwvmv)p+$ryrAb zD>nDuZ%H9a6! zjs0uU4Aj~ZsOBO#dEn)w*a`6WY9^uKOG&JDz%gJ}h!OD!uUILd>_e8h()a+cRkVGW$VI$*)PZ*DCt>RjUO*N=17VEaNJ*D@1V~siqFDV&v0SxyI#z|IuKOXE z6*gIt2sG~nrUn_;k$?;t9yG0rR@picEa%{Dk&Q3Oc>owWww)?s%puT(XF49g7#7YW zEK&qV1lRxqsK{dofz-9CuH8DXC51mViU2~mh?5*piL;of=b6h6 zUKZIu=^z*X4+Uueh0f2~<6Yz#RN7!Y85LkSUT+oK-0<-na!Z$a`*T&d;&tL~RYx-Y z6C86rM81G;eNA3`1wB75jGH8d`(Stei3yEwg_uI+8Q<8WlFIa_2)XKt^e1JSZ?s~$ ztPL2I&pvP_)U}$p^WBsi`1Du-`jGfnAMpM!Cf#)c<=qumt{2JZFO#DP8^)&MkrhbF zBmfi5zbUs0_5cl@fDim(m8(kTn6>%oz?Mwy+LwzPEuWMlx zdB*kgm_3pcCz5ikB0f;dIa~-|vW*rK!tPUH;LZoBGyrZ!|1CkgavuSxMHQeHz!Ltd zh5P^1qM>s*9$9wU{C5e!nAlhR;69E3dY%ASU{}u$n`~c9#FN_I&GC$|;mQCv_WqHc zN4H0&@b76NYA9st=)pnhx3t#S>I|RBfF*cosr|bIUre%pmq7IYSps7oW4V0gh3o&8 zP}4c3`MK=WFd0~atN{wwRlCsDKV8_o(lVh-lt2#(07D7G*%%QHreX6n{ZVjHBRPyF zN6S@pRdOGupRt}=zM}Pc41EH;2c=J48FswQyi53ItQ{e zszKuXTtnall-$Cq#a*Gt%XI>|jUQngDcSJ}d^O&~Je0=I~art~W!9mdLa!tDk=3hdb z7EXSZi_Q>I+<)akB}ttqUgfuc`d3A8ZR`x}FbRd%Y>~ zPQ4>{Ds#JztRW(-M3M2Lw^`gKcZ3%b6`JUV!i7R)`HGlX^v(`NR9orE^cL8!n!3BH z+A@031aZaceK8{_Bq7iy(4ZcB{p-YS7Kl<1X8E+W7fGsa!{*-j+Fbmw#Wb?PsDkmi zj{+9R+=e|cBA|xl#f#H1B6Bi05xMkS&g%Omob@M9_+j?E|69UU7Pr$@B!ph8B9yy= z+F@Pe)?nxb5-EgI$nNj z;(PS3QHDp#$oTMV)arPANlcr)3O#Oy!VvjPJx#YRotsntLX%=NE;dJX?a)n7y!evd zt8Z@=fFOb(hd`NDzZzUwOcfTY@0k}-94YXo-xge9b(xhuK2@$$*zSMz7VFVX^HLRG zXGKCJL(1RA^JKNl?l|WjR+_n;Ezo%8#hk$oOkIQr${*lx&IHyL3fwFj7Jb43?A!v! zcjF_o_cx+Usr^m6wXizBF0R9i*_AJJD;HMv-YY_S9OtEqiLgT#$^=<#-P%jx*f zpwfIYk?iJ3qL~mb{mQ2GpFN{gZA8z$n$Nt#voaglA0C3XQSq3%Lk{d^WwT)-6KH}s zV!}TK`i8%}T=c7R8h9moTX#CC|99^$H&SbCO`Y$QGpuzxf1hhtwj!8$%k2gxeP6n? zv1BlwIq%OLj?Y9k4&+!wQ^Ow9OSf#9FXp#vKmi5?Mje1j{|A~1Q6T_Y7n9w_;h$HO z4*T8r9@lAcL;hc~7WmJKM*B5_&){x;^;QEffZ+``x)rjez$@}OL`uXCcYI&K9IoR^ z6l6#j1@EPEi|G8#Z&Dc9!sEfp;3&IM!};LuRxbR7u|WIE!OF|@d)L{7FB!I&wNGwY z%P=VR)XjwpvLx`>I{v2>Gha7(Yr4OtNlO{Q&lBxh?s&swXJA}Vtw(Q$ZiqYA6MfAn z!p*ijgrmcnRFMPzv-ub-VX{tfo8Iwpfw%N5#;5t_w}q#57O17Ftxt3ljCwZNMuL0S z#fase$NX8qTK<}|Yx8%Mz9QmsYN%yR!+JU}$G|bl!0kx`B~; z{;SsLt*cM}>3vlZ+5nUR(pvf9wU+jHVyS5hMQ7NbQxx)|dE;uZymodrciPpVFRR~v zb)%JI$ZJlc1#{fYm(E7Qj+XJ6QCV5NS%&hdXk0@G>D*Q;F>eaNamGGhGS%z{i2p#`ySP= zk@XnE_-Z$+?rGk;np&eE$bqtoRL8o*TpL%I)iKWg<_~rxthe87d-`GPi%P;l!byjq56C)1DX3)GD z0=VYVF7e*PZ#59?TdA1ss6TMsP_l1&e8BTG?s@A(nDkxjri7a?_e9podc z^EYGj%t?PJLVrYB#^OQf+cj<_vn<)OPC*ESgn^;*F7;E0DjMN;ppa9a_1fbj#n5rY z2Qu8M_##7P%tY`q!c%7ph{?{yFchT$aWw$q%GH%80QwXS6d zchBh8gFY_rm6qo{t1`R&wR=Nhmdq0lQKju*mwqUS=8Fxw=>;0@yVdB4WbXI@(+62u z;QFo9%M<;xEPnFQHP}g&?&ho5-N~+$&WdGGpxR~2T8?QX4f5@H2kl*>S$6!x$sRpK zySG4!#I3GeIPy;G{14^Zw=xjF_CMP);vH14Hg>P~U8r4eO73Eyn*QR=6b5Egvf`#! zjVlk;chU_0mAhA@^XEAn$Nzjy3osIEaObBg`YY&jn+l zeKOX0ykoV&xds8E0D_Dl=FU?XmF)WMDS1y<)1|kadrB$%g~i~D;8gss+3O9oFFH2rUEBVYXzkp6+7`OzJbjj) z>tPkMGn_%${(#&cUot)dVbR7*dYNjYRxx)*)JMLXb6Y)Zv<})ANcj0=inOo&wkB&o zQHJ60yjzBIGFWxw*FB644{X}g#3&I%J2(;^l*N0Gy*JApkB{+H4lI9}_K8N^Ipchv zaRPdJ%X1^sf&ATeUW1Y%Ju}j+hU@k1W8vrtGK$M>eAcypUpctVLX~b!v+qGNv4!^tevqsrt6=g(eT&B2nMa(2{8Tw$x3?lz+L*r3@r#h0IWhuLZGxxDq`yxnXyW{+y zeX%cR5+)5}XG24nk5D5gGVgMYjEdhBw^P=TJ^c04oYn z%6yOWd|$q#XJ=+%;-#q#DJu77>})yH*LdG^mEpofKT6F@;c^P(!T}R7udzrU`G!7K zGKdpzBnTPJvudW2ukMha=|=~IA5lE=~+|mfi$Zz;g(fbzO#WyTi&g5#?`&AKZ zhN<-iuv71dYtju~;uHZbo-M9p(&s~b!IT|On(}Da9f)e4$p>BIM?6e;G!hDp7KkG; zYCWlCXVu~ab^|jAbuD;bQg#a7E*+G%wKQF3-bVFej71(NjJ|qg&2>LTYS3HGmdDie zJ^c`5F_JpnlUfs}0dJA{b!m|sRNd)Yc}03-_wRY&dKBKywX1HXl{NP}J@{#QulHT{ z9rsf<9^C+?KXrLf_>V9pQyi@v=6RU%1kJ}L+|4wQg+*u+BhKmY-SE!(Y9zO|+O_O= zkJ+RM5WmG5{Q3v9{7zND-d%<^Ig+6t8SAYG_`RZ3y4zvde+GlKUIzO-^rRLTyLPAy zB078!Tu_sg>NeIoVnwO#>`UJZR;M5Cna6=+wA>tfSEOGhUK#~-fu^xUlMqQu6KoQ2 zrbpaJqJLDF!L*tawI^*4y#if@kw;@!On$JCk30mogPPsFLuDhRP9tFzIFXjr(KXkCLN`RULD4Z$psM+(gWx=mwQDi_fYd4UBGe?mLQ{py5n--L5jYC{ehcy_$2?f|D|*x!dgCvdNx?6!OCppm0pkyEfbzd zJ%!E4P1T*M&b{9_W_nQ14}_n+5S;ZrRt1W6<}JlL@GptLnoUuK%b)x&Gmo1=h-1Q; z{M;<7D;zc&dLFnE(sEvSZah-b`)HBOIgr`#`DJpO7>lkyg^Isz=|Xe>wCTO|;_|}G z0G<78)d3mB{dwIc*nU*z@%4HC%v=9Z3g?X{+=#FGcweox6?3Ak^8=7=lLg+zyrsYH z3l8@7ArfrHN6S*TQ-Mko9-6(_cyBnUZF24?y+#v#ZL@eEqkd)GP~LFtY`!+M@; zFYD|l$vJGbN@%9;XBLj)egCA~adAO|c4yoDF9&@N;}1RW>zN31dF8?sD&VZi&3+dI zI?cK(eK>hoj&BB$HCasEEd8mT_>W4ftZY06or z_VH4&N4f-ezqRJn0dJ;Z$?S z^*JyKqqerT_pAn4c*x#ir$t?w&2wXQ`%AqNor?G4Nue^3ob^4sN9u`|%$MxFY?%*l zONBN`dK|51wO-7`rbD-H`iDrpelFIXy#ZLyWpACXaf{$_v(=4G2icSCeFqdeW|$%blTR)}c5+^3)V9?sv3!dOss(&H4shl>pxjMH&GqlO(W;Rk#2dDuIz z2Kn>VuX8cQK&F~-B+dIaUVEQF*=!T2qqVx&_`P%p@?eqUm~mp~rPL*MOSO?#cwL-8 zP-9Jp=`Z>M!9&bi+~umeMIeG0&TcF4v{^>2@)RsxmygO7v5;##T)VYaG23L>t$Rye zDSfVIaGfW96%9_165uxRLczP?0sGm1g0jGQAK5TVR6fywWj?Vn6BpME*D`3jE%1mA zU{zd;1x`=rp9bR+N-;mk^cxhtU@(747VRxbT=j#DVUmSj?~?j7cwtMFyd^|-jLPuD z0orj>B5sqh8C&@U1#cl5?%rH~oOh=pEynCTF}i^uHc>;%EFy3>XQ&yDDo!oS!%OSi ztFJw%aMYs?_?2)+>^VNx+sN!{!YFuO+iexceZqVKL-zWN@8i)Mi7p0&Z<0Rd(ze2% zuTTWtZP;B7uno}p3f&*rpVqlXOer^#1;$o}p5e@e`}#^qLmM=@yE9Ji zT#kX>rNPm1CgI=Pq15sCkS)NLB))+zNnvmPrxB7gpOIOd+4fjmMb@)QST@#@-7iF=`7!u)OoiatcWeNXr#@EK&cNAa! zeES@Sqzv_(;^+@b(|eWfSN6FZJ_MaNpI1UYnkPW#Sr0$|kXbZ;sc#Z6{z94UzI zUQcENK_{E10j9Nnl3%hO08t=nKm}p!2?QBR7jZ*iYVPybPfiTl7*-31x_oMkJPK*Z zB&=tK?QUR0R$O!*H0akdab@&*8Z#>&BLUmgpzRcYg#+Y$x<6UIWbOloy+tCoUe)8d z$#g9@vsi|C;GvdnflPS)ncFccgdwgZo%5cfft=VSlbIW6Ln+{5Bs1!W?8FR?Ox37d()E1 zMBhTrLnLbq8nkcwqT zF^o)pxyga_W*yamZUC)&`yHNAWXl>~Zgvg^C-Ne3gtS79diHAm(}UveA7sQwlth6O5|vGUFl?KbLkBigi-D&q+d(6KIA+(CzN1Jf=+dyy^8BAphMzktsB?%}Y8T@b z@UUZ=@hr4mACU%jJ>SdF6D=N*lFePe`}zLH$M;e0dpun&*nj=c60ARVR3e5EsoS2y za!Yf98^q`m)|7rJy@ zyS3bL6q{bT694f6@f{I>ijgQQ69*du*X|v8)>bOBQ&_*(g6`PTO?wNz%o}Ah)fnbj zoFyN7nZ@-SoJ2VPyNd>cW~N^feKSJxPfH9JrdN(w$K`?Y=(iV$3)zvkfXjq3*$}H> z37FfEY>p4#9kis~zb_qftXn>wJfCPN0+Wf8UH*qELo${xek_XRt6P0qdM zk|Jg+{jH?Kmk1?Gmx&V3Fra+qBUl)PGb*|12My){W8`g53VAejOC`6(P!UPKLVCo^>B$cg<|4_PR-1Z1h6ZiaM_tGh~buim}OCh+SB+PQw49J(r^KIpOgY~Xn#jE>fu3v0r4Ip(sY;kj>*g8s=c(`) z6=m=Y%1&)d_pVth6{KaKcR_Y*M{dO|F3vN?lP!lz!cl7-2Yx zKuJ>ux7&_-=@_Em>CSE6n9K5G1wL_DmVP>_BYQ7e)uG(`$IU*e{!kJlXQKgi#Ikx{HRE~z*$t{9o^_?t6xS;j0>R`NN zj=waAJi`|&-~un;i}F=29(TR69$Ec{;n)-Byt{U|K(AxU-9UnOs^5tTSdc)RttCa`4B#h+YN5_gVV`cu`f@pYx zVO6i^{v@v%_hEKwJqS5>C)0c_KAs_>?_Z5Vjzo`kjoGP~7CrCNX?ccsAYx#y;>TUj z+p=>{rv%T@b1st5cDW%6V zHoF3oyX-y5H^iz%dBmau5pgI|?4gjG=UB>FUpfX@|2COR?3t-Ha5_w_mNxnJ83tH% z1+|VB2rtB{t+uo8QBKr(?sWDvG^nNi(0sA9ykUUGh_sPF7a2LZcg9fdB7wvN=L`19 zPdoN#&n5cS@9vjhzUMwp@LThG9!ur`f<7&-j508U`se%w5;|A;~9OmTPe>78Vgf0()&; z_<3YenI-00-X8@=i81znDTL07n<#wlp*7PO$qBBx`?^42FjWv#vHaB+#+uINQ{8Mg zE^6gUkJQDg7%RBJ5cyuMtHaHJVOY!ylZy_(Jb?)=gxohB@Fvly)4-W%7f|T@US)bY@f4K{V zOCr9r;Y6)||2Ucx2%EOOj7}#!ov#A2JgpzyPmNF%&fW>_CxYI343lShnIXPwOm4j} zfB87Atc#9q7{JTlLUHa2`+??WUQ|88( z*>^(hPG6;#u{6PFzDrmkJHrjc&BD~3R7sH(SE0*f?rhM`1TB)L37{4#Fvp${tn?t% zT*Zuh$Jq&b2v`drsOj(pN)$cI25G=^Jt)Mhobfk1KYbS(WCDUeahaL<{ON1wDl}i- zBYBp9WH^ifcW_@=ylpkekqJE7*=qJKYzB+#T>h*L=|eXG?@tmJ{m_$*JAMcX{D=;spW$2iCvc5Y>z8y%zpfwpC-u?J2LQ0I%Axd+nPC1ux#evZ*Urf`#&tT`$peMFdk0pj>(UZO;L7*2i%L2 z4ns{fm=7WDAByFP9T%7s{bNzc(TJ`V&v@n%|Fm6v#F;rv;t8M9psiz(?j_W%Hu$E? z^MU_!O=X(j=#a1d1HGZpXf$&+rQP`Ua00{8X)%mt=ke~LKrRp^H9{t@eT3*}LIICr zF!C_sY>S>M%zNv-4Q9Io8eCNO2j8el)&U zaZ_jv<=)Um_nSyL9t>ul%?3s+#HBlqY8t36y!DOO+Et(oWXZ1H^r&YcqxAJxY=Hxw)LHw z=(g$EYKT;zc>gA@xrG+8|7)bx(7j|HAvSZ@1&sLTG-k%gf}RUwI;YrUjuPDL6ZACw zzIg3LKhGF$ThQ1yu1Pn&9;zFQHF8s>?9=!R@R_g$uj={wbDoo5ARP_+7v@|) z3|}4+^&DsKidqi;n^&(dc0l2BeF_bi$1cl&M#s-KwB1vg>F`JX3VHn$L-xF_9-S=Y zq0b+9muqlb4xe^&d;{Ot`Q@!b>E!8r$=?KX-iY-Xt_OLS?5`>nE!vCyB(7a-@#l7_ zmA81Pxp;g{2A5V_zaqbj{)F~D57+xT%Zf4M=BgD?BOI=29k1RVDK?L4e5A50|6v~O z(!jnY_Y|RO0f%dPl-Rb5Z&q)21H-{2;iKmF3fag9~Gj(<@g z!52anY`RA|H<%$**|C~?+f%pMEq7N?iY5T_(FP?PM4dI3N36(S4WzWKQFfu#qZ6?| z4t;c|er8D;j}^w1kIFrLndz$A6*39;OgV6$1hKZCBw`#_ReCJ~EL2V#;y9i(fyq-U zXwUWAPs{R#wg#RD81{C4ix2reYg$pxyHLSqKcJKybE@_%$k z;RMJNuq(D8*{@OsH=c`PA2#OdfU*Z9HNBQU=eIwHoLD+6Tf)>+uO=`d*!o43^YLN`erAf zn&PKCG0r`aFDkcJ3{!}RYtCI~!t4`q@NJZsOJ0CYtYy!Z{qvKPzn>~tEnstt;r z(PvVBohT-|#*;%z3G?4@HejZug<#b(1pWCLXz$7Ie6)voXv%abC2bFV+S%gs4MU`8 zv=%$3V^wl)gTbr&KI24$MM5(|fE)MC;rxZDAbrWtE&)re!Y~eP7aFk^xyz=*RwXEMVd0<8O|uz@_@O{ClvCA2r#z+*hAnWD%fYqYnR);H zE$Q|RZ#jLHSu9G|87u;xs1SLsC$7PGUshi4m(OD9%u9k8Y<+e266cBepAvHOSI&aB zGwSq0R2Ki-`iJ7W@QCd%Ds|t(&I^b^Z_`7ulbW#`j-`sjRclblYP35+kF~OG?6#rU zO;06}n1_9OSVmgQ5xwi;U`7v2b(zEH<{kRpg&>z3$Up(v#YlRtn+8ez&uJ2DLc3j^ zHnTMF)A~Kj_0{>0bEMs3JD9cRpCzH_22H12$22PL0S}6=%FxqLQDZ1;xI>$F8?$;u z(MW1`Jk6P0pDxt{K||dy*1G#k0bl3I+r!GJiq|WM*}QnkY2TocfVrssuO70wjcK`m zi(A!I1wrG^zzs;FBYX}D#06NNJO5gzSL?=X~$FFb!AY~51dB|iw5r9Z@+N}%=4WvtZOx!Z>%{Iwp=z56_sLE0O8P7w3s{S;X85Bofi9cp`izl{LXlKj`?Et6iqEZ9&1^2S~BCK z-Em3FM>ul(V5lg2`^9)kT;1eVPps?-NigbDkbFUa7n92kfslr{LQpR-VLx6#68O1? z&YbZ!N~^DcVKT!?AgZ~3XYa0AcqchsyU);}>esC;*_NrzTJxV-tf4SX-X}Hu@L25PFZ4H`C>;7}ifp<7ZNGFyH zFhg3|P6J)TO+@FDZROoGy@bX*Z@HEHl`f~c^4+wyhCS(UAh)eBDs@%hmpdep8?gH^ z)HNq94*NaI0~Xr0z%xv{ym$X*Yq3llVZOz2=ykjbUOy#gpc;0KzIqw(utBfs1Q&Gp zleiA?G%QP08~U^hIbz3BjLJV|t|?0x!>C!%xBb4Eenj7prdP&Vk4PH%B0W6wJ&ijv z7?wXpnwn846KPy0ME&K*ZSdfzH0|FA9XK1+LnG1A@SCs*i_i^v(tGw?5_xX;?MyB# zj&g6(M~6l~F-f%Bfk0ku*NILSS2x-qUlzHDh%@VPu}7eeYMqKbr4tgMIxj~X8VG>w;d~F#AxztDqbQ!97ZN4iq#~B%9;(w?IR0J?+ z6Z%Hjg5z;o5CYy$1_3+lT$FE(r+`0H?7cGO2w~Y_MMMSqq;1(df=o%*_!QQIfG2G+ zF7m_2;F^)TC_`4$1fl7`Kn2n0TH5tZrIp6;Fe_Q-L|;E@Gb*@szGUpt?UX~AQlA|0oGGMuiMNXlZaFx9vVED6ecBmP{rWPkK%0ot-epJeMS>U-0ZJyxS)bP#_;DJ6aw~bc% zkqh+EMSI1h`#IMh#cp-yusKg&DA1F~lI6*a9h*1I>3XV~Ex7eOtHJLH5Lz<{l0(yw z@RlxbkY~_nQ!jL84S*0>x1Q=kD|d!dtA$PG(yk!FWfL~-E2S%PaXNEtgOw`FLBAj} zNVkOs*P&yMbcUQ85jF5fx@&qll_`3&G|tDUHLhm9j=K+^Do?MD28iZ&P9>pg5}10Vd){k^I+0l0rHmHdwU<%pnjF);N^V$V_79rkx`RYc3pS zAjorqbfaNkVQPa@Z-1o2*gh+m^My>e;tr|-OdZX9y<3RDCJT|HTP>SWxa|f?3c%os z)gzbi+y(aacHItJca0CZ1_iG|ce8yCN(&}g+`{f}P`M5Jhu$wgOARhTkluMo(0_d3 zHDF)#nC&$SQQC>?>v-4x=QgVjPJ$&~C9Cyx(T4_1pbL&o66gy8MH;FsZ_Vk7+-(lVL=6gymg zw08@ekTu@GvDRNf#w?HU%_%)IHD~eo;HsCvMRbDAqXi%z=NN$}0OhrqjwpSbxa81| z-yrsK3N%%0?H<&MN^1=xlW@cyhgF<_3I8{$*s)2J)ALj8y!-PlCrsg=OpsHQya>Xd6Y;L-Rn58{|9`4oJGf) zI`$aJ;oFHgS5W33cor<8Nj`S^5SkgWlP+XDpJ_q>0a}panRl!V(<{J0{DN$q9 zy6L#IE=dWJRRSET(CfhxGtbo^{WJ;aBgvVP*)2F&O58Son2C~42yDVrOrecHpuXbO z0QfDVZSRA(Q3F3e?w!mSV{Ov-=w)ABBe2U*$dx4aF>1|K=@jHxX*;8KCQ#>e@B^p& zLD)SRp;)!jOfut46E1r?Ah*F}Z~PHP+Pn(VPVKIJmS`)k&&^*1u8YqF8svh%57PL9 z7#Kb|=F}_CQUn?Z>xaPQfiTTRXI#MASzZ(43hU>rxR zMS4-(Z(5E{-d~Xrpt3EBUVI{rOS)Pw)al|rr&xB3s>u*yg#Nf9#xcub+K3kTejB*< z>d)^&9^WpGT+1)Qz_isJe239L4~+UEvmWg&>js^O8*}*S-=I(ulg0?hEyMQIzkeYz zL~(7Ffb(f`#!lfxcM|NoBnJ0CT1Y`xxjvD^a3FE>o1q%GA)BdcSj3%V&qA-^8mayI zMMvSEko%Q=!r2-$oh?R}=X?I*J*ZX3{rX_>B@tLDB{Ij*z^SI=zQ(L}vo;MOfRB$p|)O;RLV6piZ|kpmx1SKi5{ zH=s&=n|{6jPZOn7P2LZwD&n6lyNN^o9-vf@%JX*0->`Bhu{c_;c)P!P-+9|x`n7z< zkb+*l%eA!vq&D3HnDJn8M;Z=mJ^QDLP#_o1^%+ISgbyPZcA-6bg=XL*ZEO>u`W=Nl zj8?qq6GLlYPUaRQC}NDzoW-p;nYX(t68;(=??yp|H+GTFaHG6KSL_SQ3@#4c+8|d} zU6UaG?Jx^Zj@z*O3V-tPRSF=uB=Qf-q&5 z#0gDS{z(SXz%t0q)h?O-4&?fS8H4fjRGm%RgEUJd5JWxjzT_@D2YH^7!)pFUX5&%K z-i{IGO4%sn^8pRqGqtD9B#Z9@Ux|D)%zx5vktGTOQaE#=OwcpYVN<6{y z0xX8AQ+wn4z1&=s?uu)m&)Z<9q|yC;EH4xxhCFlvL|bKT|MXcGaPaJDqYQmA$3UY# zgY$!av9OEx1?);v zjj}~;r4(nl<=OPpG12QmNi-#d*LgFAp9kem2-ow<1@p#gLX2MiZ6Cf6SmlZ;a{p`l z6|sG|T3qSUaZ7OYh%sOp^`|H)8{wImx1H<5q(?=eH0jK)pCV`mfVXl0(?G+Z%Yo)5 zz%y`%ZwwuIh8*tcoxt&C$MnQEa0%}36ozKRmdE?l(J!dUK^M>q2K&QNbp+_X0Aa#h@CICeoM_GLL5KSkYT zI0ieE+nAU%uvg8qZc!_QF9JA2tfPivFr{%Kbbk5*0OdSpar2p>WSJ@Oca0(>Ka1#4_n9FQjck zoh(e$6LJN-FjI!HI)C+gOE;)Az;xpe27$!rUUg5Q8Ac0`G;|koS^tW8IS2D0(qjvW z5CHK7qg6}HdrGn-US925L=P-<2?(=0;+_Idn5B>|izK{b%-EX&QhR$mWC z57lv3zpCh?=+A!UBXgtsH)B?sc}mM+%a~q@|2v=b=0A77gHXdLv``0Wi3aprcoCAR zD44q~g#m3Z*Df%3^7lV)=>1!gkVrct*h%J!e_}^5k7Z*Tg(%xYAs%^aGEjai1(m!9 z-DFTvB-KRwJ)Yu|TV$1}ps2PJDczf%Znx6i7MuorWt;%ouq{td5~cWMbW~p2W9qY> zZi5Ejz2BDtm<{d&H?39aV*5vx!2g62J%E&mhscCcFbHQ%yuSyWWRvji&Mq_i-=4Gq zEVbbzH9uf$@^rAmA~Sor-O zX05m~J8rVl+0qUN@XUKQp2vNsbm9zaSe1TnN%FHF@68^{7J~W~?5O7p=jXJ@2-z^CIlCHZXW)&qPZ2aoXF z7u3Zb47{Y}%}%Ixeq`u@%7rDogFC$85V;VXjZdpOh(Z2xqOu(ibOQm&xQ%tonnWr0 z55T);-KaSCdeUuQ8RDmyJY?nRH$M27{L^HoOf!aA?|<7()SnVF)bIep1G+{iVJsJE zNi}^*5*?Mj7qTs31!l)KTc z=x{!u=JYZ3aIVxFqcOI$57jhr+CyEc>p>41bq^{LfU)Z~U;W&2Y1xqm_#sRU0)`u{ zRL~Ny9mD*AbS~p7lWF=6sp=%DBY7Rz&Y z%0lMHbRn5Zu9XsLB|cSYrJ)~Xr7I$*ZSFAuhhVe^&b-{CnZDxdP|UFmk=Zw+GJHEb zBTMbb9{Y{i%qC|(faaB#Vpvv-(#tvxBj{|REC_;$`@63!FMk-bt&cAaC@4y^`%ePT=T^(*KI-da%F+A(!-+5a7XbY_&sXOO~`o-^l>+$imU&Va9n@bvzHXy zB(6yj95utg8?Vx*Ue~Fk;9c~By?>HX#z}JDe-}C8BSmf}9Im9S=oIX;7*s-ox(%Gw zdvQV4O@qA#iz(;X>Eth+O!%UQo!kaL^)&6LiLH3S$P{cxM{^3d&#>KMhg>r=c34ok zljGVt@v-w(&LP}osX4Z+FwcmMPaGzVKEL{uh0iEC1)Kf*dX9p*oPPw5gTOP}{G`+xC@af$Y$@5fQU z0TLt40JHlj7A6eKMrbGjxb{K*Y1@Oq64SCY{+r7CavDP{{JZvn^*c%zmdawlb#tm& zV#J2yX;mA}s2HcX^~}KdK|0$|$BPTHXC_^rBJy$M&}ch<2w6D&f z2mz%-8tFzDN}8dhJ0zsLbLc!b&-1?LeBbZ<2lw76ItB< zMGfo;A6c3d32lkZFO9xlVf{ju$jSi9y=L{l2l;LbXwJ9c5yeXysxeJ}Uc6&@oAu(5 zPsjKbEgL-_XX{h`?N*8|>zO}O@^{z!zXzvC)4lR3n96s9n%qpD`YTi^m)|rxXR4hc zlm+_J#n+nG0uUCgmQiLjT9z(<5*mb^E-oxsgYnH3IWCJ+7L#fbEe$R(#GbwKmms|-QMA0)2i{;FX1U$lM{I>>|r0(%`V zqp&mO#WVjhx~g`}jclgb%+`~h_F-xTr!5xS6VC0_vdcFXXOI|ozH0{4wSI9Wyy6f% z1YgZ_KA)g91gVj<@ci7p0`UeGcc$D@Phj4hFH0N=lhvBT<07(R;rVn1aU z7RMcjlzghYKrAh2fG%e)ncLs)$otxS+*ss&hTY$$S8lv|Y(~$h+T)q(Fc)vpH+!9r zZ`(rdfMKd!aOyQ(GuIUzJ5COfmpwYQ+=p(ETLg?g^~HMMmDk;0^N++#)w>>l=Q#To z#LuAh7QUU@^T;nR=}|;vsytt1#M+qCi8P^r98n@b1*l*ox%r4JMKc zMz-uvRJ`xvLxS=Z!Akso=r`%#4*vw-zq!Fta|arM>~|qSY8$BV$lOlEc7RbvAT@#7 zW&zu0WSz<+x3>%4Dw&H%eCA@tZ#mmD5;L&_SoxdFF{i-Te}aIS2&1zzb|6a`d==rU zbMfm?=gFYx{=ERA`eusWfZ3+tpx9@ZjQOpStqd|PjT+#Ji{ zgKW=DR+?=g<`7djQ<7VotC!oG?UG^w!FEwLY>I5oW8cikL@z7&0ZN}iAi@CUS79Rg z=_sO%%~0-PtE7g&@7>azs6h0l%ay1f0)G#DHa&ax=Fx;%pn{G+vEk34j+3wVFqX8& z$m<^U#r$6L)jLnWB319pfzk>^^ybtYDGktRKLg+4;Yf;XA%O;f79Elf+pZ57if1QEmd~JO0%@tH2zXI*v@MsrQTmZ_;>612%yAvXj_CBHwC4c6$e}tHjY6 z0Hzl}o;yhK!ALkL>?wGH$R{%7enDvBXaU##(Aq_2{q+$`aD?gwCP|xLQ#4Z->IkEV znkEMA5y6C{UaJ(Pfc%tKj>P1mb0RiH0C}qvberz`jEa~_T?5|TlQQpZq@>_VQm}oD zT`wj98YC7bkm8l2Qb>s+UAIWIW{8|0-rtdV$b|74-yZ!3XWd5LaN2J{6O|qGvfeaT z{?ozkC~+1%&E6XF!ZBoxy^fr(*TR`O_GC=0pp`z}KRPlknfJEZ#`7f^Dq;6;Tl^Fn z`Q=kh&CMm@mp17Kyl;_I7kTlKU#C?$JMGxa#N|cCyj6cls%!Fm(516dK}*8O**tEzhm?Cczv{?E}a4Mvy>pZ|T5>@7#K!x}6zlP`9Y9^)%M zVk=A48sMzu04!2rco+fx{WbLYp(O&0!noJScm7_uWEX;dzYOnRq1Ow#uhM9NoVIS2 z>stP#iw(<-Fj*%O0~s=DN(XHVRJh95djR5lDs=ByL(Ww}?Ob=8G0VOfTbk6Mr%0mj z1rQ^kdpGNF;%&-?)xc`Y&A?4Sj4iPl@*xZ@Z_XsWKb}bHk;ssnxeQ3Hl3j5*wugAK zec8MI*fz3D>cy^?hoX7xY4c>sAsPv(Ob!(-yxc_ab4rtgJa9$y4xb|`wKA=CYn1K` zqe%o7Wc{!{*Egtu)R0NESd7h%k!}2w(X!tb$Yvs~Mg&cNW1=b{QFix+oRMywBXywy z;K~5*Xwug9h@ofIl6q^%!eVRlXn&u|SzR{Jb)l8Z{RU+%_}!7Qav@p((W^Ym`)Z+2Req1VyZ}H-py#%M`>6%_SI9wX=5v9bHI+JL>kV0 zpbLxPOrmhd9;3XKPfW*v9BN3SCNV)BO_S~kt_|0}o#`Yd7zwj>%9Cwj*Jpu=$U|+O zP^_E{eR)fQqL+zE>*t<|sKcg~JL<)8lWhqs8C3fmUe-uG(7Vf;b|LtXwPpK}L)`1{ zX0EqkJQDh}8z!%+t5R{b?%~C@$8)32y_UIxJK< zogu@XZ+J!4`z~jH_M25HxWRz^@f^fx63<)=?GwmqV!sexco!=gL%YP+d*C5x$2N0Zh zAoh)l5&n z`8TxRA&1-O#lYTHlO`Rx%w8(vw|?8pvMm~y#M0rYV>@)Dbbfi=#E`H2vtGMReem`q zOxLxiSiZ^j=xCW-oQM-Ch#>;Q_2hV7wOA;b_~I8U`v%H=G40qHik4OCt-j*^V*bTu zi^@lbmAPLxPut$3S$|&4mvb*%6hgER4yL=g?CO-0TUaZc$SR*FJ(_?(7p`CRI1TFN8#6}^?K9(N4E@t zQcwS++;k?d841NCGE?H2+^B%xFk1OrmY}x_X){b0ed1rQPJYL+c;-5u;{iY=gGJn4 z0JMt=GJQxdSSv_FO-E*X>yy9+r)!6lDQ%hEcD@Ji6AlAN`jj_a8`DAf`Q3^~%fDA6 z$1m6+ba=u?ZK#7@dJ9>?@5Pxip@k~-re5o-v zvH}I<2b3$WKT76H9N9jRTJHLj6vjbz=vC<{tM{Blt&Wta?6=emi`o|?60)=5KyZa% zN5J1N{EwCOO5EWhFs;f7U)`A5@t695Rm4G75FF%k9F%-cH(l?0CzEU@tLQ`0Lqnbz zrwXJjc>RLz>P!i)mO{~Rz3hNKyam&#U?k$Mwx_1`0qSJKGX(=m>$qE~KM0ka*B9R- z;glD4dN%egu-W&gGHp!-;aEft$`5mgW0ldg3Dyn0WUJ;@DO>tZLc5A*k~P=KgFkTm zTPNO$m~4n!#1Fk}`&(x* zqzK5j)7rD{dZcqAk|2SH;1fAjA%InlrY<*oH}K+ z>%YWbq=awID54LXy_9F`T@!f?W12*d_2U02=|+h~_T&8X@6w6PHbv3O?6XuSs$dbP zWnwYrzN8?6;LQFm`yl=SXdYMGf10Md6xey%fgi{2_1tS!*=v~{>fBCWO4}N1(w$`Y zWDnC|#vlLriVn%0e`Y(KSp z<++fMqZO`*1vjitf1QS~k%j%Wc;~0gDfsLOOB(CyF(`$r%ga@1{RjBVv#EY~ZA<{q=h=X3rOJ}D8d;u-EmwA*dtvi9(jJ<$ z`Ek;zRi~L)?!;sFNPlN|=d}#=^7aeHE^+DJ8X z-3(CLC*~wpoMy(h@9Ff>MR%j5iSF^mm-@an1^LqOLJT-t?)hhdKum2MC>5^*Tz&eG zj}l)dslzy%?n(2wXGv0^hRu~0MnR{nTS5u@Q#>C)xUY4Z1rko87-Y{mdUP9UG;{IZys$Pj(Kn~xt?t1ipVrkCwIbKc$@)t9c~rM|+f<3o%2*+N*% zPa8|Z@1j0V?onAs^2?$E{e%|F;-H-!4krd<=g#%fG+m~W)`hWk9pZr}vZkrsF9v&< z<=j_`NeqNyHdi`H&kt08orcC&GJPi^q(3^^U_fVTXIe_4`q2E&#OSvmKUcBnjF+Z1$mjpnj6WY>Y}-F1Qc;wY&ua=F!ON6 zVQeUJ?k>ncepMAG`+K-t_#ZTXYi9~VP;n>{=~wMg0Lw|L9HEDBV})3%;Zj{lgq?KE zHET%JUUX?v$%IimJx$1)m--_>vbY#&a-sPq`>b|>!)MINE$E&#;L>Jgvh?mexHrM@ z^?wgrkGc3R{>!U)R4#cP1qKBcos-YCo$-#me&_&Y?NO+8?H}H4+7e`-Ta8sY9yxaCU>;+l?A_!) z8#NI^0nG?-?;_RORle26uyE9#T+Y8OILVOb#>WBnTz_LNOcqTrkG*Bdaro(d`LU9i zb7*YOnJi9LnlIMdnM1p=u;i?|yCJ8~h;pYmzWGO;f5m~t%xqzqI|(1pk;;zvNV9fOYM= zQN+m--?=oS(JZ9pF0Cad78?Q^nk3h;(!U zyys2%=TBd@_KM%y3~H6n(;(H*0b3c}079DHeL}N;P86I&*IfoaAW6VsVYvK{snOhz zRlrhY(FR21r7i9T@}vzeAS?IRc5({J3m(+bKSTg@)(_!G+UF6hUfCdiT_o9+Y=PI^ z%PBX^7YpIp9Ze`8Y4Y!dG1Z*C3|CqaC5x<^@FU8!1=iPFU0$hrq{^;qglKNJ6c=GwnGpZ0F@L&lgr7Z&NCVnVAmgz= z)+>8aK;QZol74n59~8{_@b=-c0*h8(aj3ntHjb4)DWPZtK2@7rmt#|^${yW!%*F=xqwjN7lu!kB4R>+{S#ns>`_^ayW_gv|HyE{)Y7dHO*_xi?jip!>ROZMlKk zi?$Gfm&|Xj*7IyUG!;M}Dq;&72dhqsI@)izL_7U(e+Hnkz7{iwr}#cF(r3p2O(|#m zp%cE2RXne~c`Nbw9zEyak*HEHTKT=lmHKFssEs_2oNtipnOo2R3qxf> zwHyA&Ct!r6c=uXkS8On*ZcDkxxo*R^uUVi2QJ&6-0+hH4U-i;m5f2?~Vv}ph#j;je z*~Pwe?B<|AKCjkF6G>G+^(HF*pzWR=`n)z#*)bdY~(9}%PT>$=AiAD1Cy>87n1 z+HL;C-)VS^mEk(ipN;mYBeTJ31N06*MgEq~6ULi*G~fB2R4bZ~oxV|eu}@=-m-ocW zqSb>KREDHYHGVdgLdVcPs&4K@ZV)w#2Niyg_))m><-lTmwlLr2qz_9h&Jw@xfSX8c z8w_DlP-}l_UGqNb{gM~RO$dE$&%M8<%s>tKzcMdX0A#NDugr5!ir%%~a6ZbsIv|jl zjnDi=ig(nb%z4knu}pdoO@A$P|NL#?C=6KRJ&hSLmGlrHEnHv_Z5)F#ZPI;W-jRHa*C30c zTI01?@bA+kPYfxN zVkC|=Hz)B|E0wA?waB3%x)==7PZ` zL(bf2xQ~$NwY*It5vx2JO~}ONqdH|Yx~-#NV+mFZ{YRa$|D#TZ>BOqkB>$?@zZUfc zLhAyO^!2OE2Vghogp}Gl7*pg!QTn zJTQ9;EbQ+LzZ65`8BlTXiHRE|0z9L;KHwQ){O1`x>SID&Iom%cjs4vV z<61r8LboLJ^pvr5)(MG8te9c{Q3_&>6uK_7>QJ_|U=6kO^-aHhYB4+F*Doe;e2}kZAh{H@9%23_zdaQ~_p5!WNTT z<$o`umznNUZEB-iX8`tVQSie(?IY>Uy|WKP!ioupUU7vP=Bg(!qq{o;axYOo7g|w#nwaR~=x`rs8Gpihk z2xy;{wUA#~(@ApnN_yn(O)ytwmUQ&=PY+Zb4RH1kzy5o(wpG!rI1IfIsdT`SsyI$Lk$$Zk+|2U-!+MUl^ zZ@ijM>rClXM#HOylQ|`FtQONhW!ElvE7nlZ5&tG8sItspd-$3yn;SLz0v#9W?@7-& zrUffyYrAVzoVzJUUXKq)0L2rB)qB`F$?{l;Zs@f~+;$--gR?UGB9bTRl}spiixjBM?qFyuw2KrR)WQ+6-v*Z2DPj{ z`U!gv>$$2v?E~6erPI#_|L2{zdztoS%Zq#RQMU%zS=0PaliG()9PQ&-fC5s>V`X{8 zQUvN9cY9&-#sX0K&DCQc4_8r^bYX^r#u0Rlv|>0!K65#g5f%4?5SoL-tW((S%TUW7 zx8zqdB+Pb5mU2FkLK{}eoZB#h>>rf;KY^6agV+^ptw3_Y_7CDEMQic%FU4{0M4iSj z(pZtVbQq<58dcB}HU~73H(7K#g5WgIlgE&M>K&?Un|f*VT2L21dYDJkun{vt47}pS zcm}LEXWT`!A(e41|@2X$+M%(tMwQeX|&4plu331*vJOv~vuy z#&o|pTLa<_5!P82i3RjEn!iB9L#$Msu@Q@#bl&^yOjC4Kw~WUaIUJocsrbCE6j1il+gX8q&e$!S9BycnxdL5p{b z>$1dVCj|dkzL83DD(B1PQJ?%KSzlU`yORik9D#+~?#l-w3;e;>6_3AJA@3cjJw?24 z_80pOQ7d&$(!>qdtq)u!XF_gAX?wMan(t;86|Nk65{itms7g-0uYOLKrDEL1|2E!o z9Q80g3tPr04}qTMJhQvCq7!TE?_Sz3KW?Nn}lJd-K5q zHuy+uvqZ9;v_`CbdH}5*!yL~Lg&hNkrM5cG)e5piS#EGCzN_QkEGUDuFYD@bh7L!P z?fGr0Gtov%{K9MRoeAdACEd4fQFzH$CGOkb}KFw|54sSIM%*-c` z-I;Q1B1v(k;a0$C_;3nd_kq`vs&uSv_rnIKG1Rbz?Kq3MaO!gr;Oat(d5l%N2z9VE z0h(bB)pHq@77SW$L!+s@AC5g_Sq7x@oDc458){=56BkZJ0!{1){X>sYi)MD$v(nlX z-)?wEp51L@%c8n-cNzJZK;iQ)0*i~59d5>`H&i$qAX8c+relh$uHCDB{*P&Di$#aY zEZcYr4ZgninB|%?E)GhmjEE0Lln=^A{h`;C51ZEnLX)C+v};jGzI9EBO_cjHRjTK8 zr#JWzG)s{R{ME>coeLj#KTSv;o9C--{0ZwWZcj1MH#dBxXdAzM*7($GtL*GX7>|Th zHm_>Z%$%G1fA34_HK}yW#u{A|5YlExN-i3LkF%|=0i0#?Sc|Gev+=onO2El=^AEQ# zYk{tK7G_WPSP7hdJ=s9Biw>f&gZqS0T?E_7XDor;!Rr`q(&=QfRJ+0|n~>iRn@3j1 zu{ah{1NK;^Rpi`Lfd_#gLvGmZp=Fk`vzkc+8C{XxcRm zd7S6L4meV9<;Y5YY$&hDy~}I$*EF6y|t}T2GC)$^Z9{sGe@k3(NJa7xy+1f z$WL0-?j(tl9~h$RYfnQN@GuPFX;`3rxEvi-gXbV%|b!9`XOgdfBE?K?b}0yKOD2_uv~T1@jP%)i*cvG zs31c8SC+(Rcf->vySQZN0(Z*L_@2)MI>Z9dTc5LA-fmJ?+TkqfrzYx!z*-_-M{M&~ zG^*mz&sbHEUiM3=`rM%nLA`Tg^=;QT7BR2nUpBqQ>W#I_J85fb|X;o=b$o`yC zL+ye%!91e1cKj~>?d(2XZ0Q~u*u?Pmmut=p(+{F#wSyGLvZ#EeA1g|Zn?C0{m3P5j z?z6S`4LTRjJ`D-4DR2g|jNt%U6Q^r^G=!i1>aW-6UYu$yG;bfWp_|--FF(I>WyZ6) zh{JiupyxZ&IeOZG_sBRqxQFLL)oQ*Fh53%?7}Zbfm=!hjdU4;Z#jP7#KjE=&cxY3a z*EaAiqJqZmK?NGN#`<|(2_$oT4jK$=%+q`8zp|E|OZ?KmU*B-$OMtudTkM|KJ^h1> zb!$=hDs06h8Ov> z>%-}M8ux!ffN7su&UL74&G=n0fL;a1t8A8LWdQU(3Gag-(sg5uoO>M7G~yr5*VaYV zub*$waxgT&L8?@-;? znoOF@(2yD9%rOVJ>R9&PDR{2skok()%(qi(v~jF!7uF&pPF64*>DMkz~4g)4H!OGpLEb!aI2n1SUVw60^6 zp8UKxiWVw$R?&a|>0aAcfjUpD%vY9niS>2EK1Jj_+uh2J2sno>c5%4(9}RSvMP-85#!Ro5W(Gp*5^t3s8b% zKF~p$5Z|_*6%}YF)I#`3j3iVuJW?pkd?M+RLf}I_cYC`RziX)Ri+mQB;QCt)F(OL7MG$pjj@f1bWuwecI0gNaBf~7IoigQSn2mYAJHR1<7!i3rqax@|8+RV zj^b^(Y5jmRnvZ=Fr<^UO2p7{C*;4R=?W94$xiuLnS0ITeq$Ub=!uD*3lEs)gde zX7;7-HXzHNuXLW?D0!{s8^0UbWE{Xr>v!5^r^LDMmVXG|-@$j0Dida`TQ7GF|No+VPhf}l8u1U4wd_F(>?nVBZU9G&s{pM1g6|FUFGh>i6`V*sgb zfaT9BR!)%SJN>beDKs5=oM&|gH1}zzDER0Kvs1Cee4Zn?{>Ib-J84CkB5qB28HQL- zguJVvKZAxjOQU4&F%xEm=pSBcS8vXIvM5o-BuMu>!5nqYxc;J-xy@RrmaY}SI>L+kg7S2_yUzgRn|)`Vv5r5AARWYQ2?(%APQ(D7bXXIZtYsxd zOJ?c4OWfZ1{sOap47S>f=)g*2D1!Foi1kMVD!%;E(M@GM|7LDnHfydO*SLzrUQRRr zOX{&y0#WWjIS%RWrNNUL$|*UaklvO`dl{d@7#_Fzfm2I(;nWK32b1;csm9tvw9123 z8WS7bPPceiX?69ax|o==1Lr*gH@D4K#72Agc@@6vk?+hN9xKDq3KekhQkB5~29 zn!Rt?VmBG_-M%wCKyvDEMS2q;M5W2n?jS&Uix=T`lHi=nbw$qjee-)pfKTYRGzZXD z`?O6BXkL9r+Qq_3$q>IlRK9}T^p%WejpId3I@aX?oi@9_?Q7?9eLDbgJZom9?QsH- zoM%&c#;*u0FLp8H1t8v{G?)wGbluI&`eTkK&>(!}fZmd+1){tF(CP^RYgrvz%1eJv zK{{7#9b@DGug8Wb7C{VU^m3J$lLWBl0*sx1eN{jrA9CS3+5tv6}9!ntZ z=Zvx(PJi|A^=8-aHp93zK=WNWy1)qkHqvCi&w+-$+NOoetAJ$paj^@9a`QyHJj13- zsb7Mad=hchWF7!hRNpaCx?{bPiTR-b)}zfkDYvx!<#}Wx`}_uKWsvu9bVh~#)F)Dm zoxq3otKz7FrcJRORCuzugdh5tq!ea3L8e|Mz|QLh%U_cSu*mu$6O7a!wZrFrSkP-)6kS3A5`}bMmRj(4Cj>ZS2o3LZ@pCa?$hl$ z9pV7)UJK|nz1ay)fjJkh-(gC(bE`on;hc_Lk*3m%?Bdr zEu9!(Mt4M7CH8h0b|7l1Sq=41ICNXC_3J)aARSAA$7%BPCMwm@fGZ( zgWxd>6e8z)MVT1F`~#UpjnVlab=Hu+3hOuHh{ZYDz zVcrzTBTB%+-4}D_nZJ7=^g8)`7Yj9`@0&KhOYmg4e+% zkfTY>n6_Pb8)lV>z?PW~lYOk(S9p!(`Jf%-=dj$-hZViu1cof_9hFCC@O7h^I z!S5-o5wiGk(9TDjYekA;X!(|Kcokb1O?8B$O7$e1X`Eu!4|BjsB_PHKj%TZ>0_z{~H>7G_km^M$TED3K$s8RC79yklpC8{{%&1hF{0s{iz3 z9>A*A!U;#Gn5@-)suaQLdv03&2rg7*Xz_{p+}aKE|)5b z$TfKHN58xT3W_ev2-~LB4$JFKK{fI?S&B06oq1H-b-v1Ox?X38IYjB@*$R4cYGLgR zXR&YCP$D~dzt5qLj?=l^HNCJO`eh#-ij?!h_7_TrtNb0>@a-MGMa|8^V5B&_GW+@S zLQwz~{j@DQ2xsU!dr>L?n@v<=EsORGYtp7~0hnfxpUcH1uSkJu$ja7vrndT704zo( z?gTT0xN#Pu0{ccy-e}Eh*xm_PuyQ;{rUrxlY-E7AdMP8flML2yAMEGdxmkf{ zf{gO9L}xyU#cYAx)yKb7^X`it88A=swk3JkcB{jFwuQZAo$t);yK|sc*LHE#3p`=F zxKel%QUWeygZtelJF+J;334tlb)G-;~4 zloIC1TMGFT@7{d+>Y5VqROeUH`b)7gzczZ>8(6e+-_#-2n#bK=ARX=#6kmK8+OI`` zgrilBZ^4CiRL z#h!VtakWq`Q?u5wJ;%HDNqd3Y3h{iFCV|~R=)Bo#*8|R~uP55AnVM((NarjQ?eLub z?DsV6sfbge>>t}3?V0vDm(4JOZ}N@OE|BDN5kzG-+D`vi)_WjE`P@Uw76%W`(V4? zc7;BH#SzJj)U9FkP0mm!d^&2o1t7yXw4~+?Idq}=0hqUv)1V_lInf* z@h+B3kS@w~8VQk_y#Pw_($_2u0u5ypG@_vQVJS(rri6T4SfLbX>@vOfcVR4Q8RIBL zIwMaUe-i%X`x-=QczS$*XpVVy*hzIE^Ipahet19h&^$ouRZ#a#XdVi`p#Glz(6o8r z;Qeqjal8|1yO0&CEDow`^L_mQ^Tw@KTJkhq#u2)h4_T%bn(hL+Pp)vvF&^TgjCH?+ zadp%_?3J(_g5-XiMh>rL9DSKbHNJ0R*`oV{&bCGndwosUbxZylg?#T><7Sy^ktrU@ z&cR*Z-3ZS|(((!ZI^@$f(-Fvp@3TphmWEk&ry2C0`i?i32UG@YHwKr4Y?;l^Cru)a z-7f#)2e=JI#uDK=sybW3TwDRgzFhNIsU;t=N}u@DLY?qu7=&nj!a56r?V1 z+;~Ovf>~A#r{JV|Y@dw|TcFns&$CZUDVz0<$j(X~A-I!ti_x~=ed-dI%xt;&enDxiIF1X4*L$=bdLTKeqkP;Jg-}(V%UKt6HZ;fd zV`lnW>Rhr5vCCI{A;-2~+~))%>rp08wZvFAdPFt&9UjPj=2_sGFfzi=_Mtedh`RZR zDX5y5|EJc}k7=%#XHwuk?9ByfF3zWQ#z{=oV8bR|M|P8}^dB!f+_e3Vi8-OffUxU6 z8b^QU=u3i-XHan)XGu-mM$P@6T{BnmN5v7UsE>J>XPeH5FyouPJH838za>@sdC3zl z`7`O`$<_t>nbR%7uVEQ%_OHw)FLpeauUeAwxXkV z@0R^ZIg3g2CE=Un-8QNd^08o@-zDO1Di^$$>dZ!;g^R{13O`%=94$1LYrE;~Z{XR6 z<8kQKJv$N9&uZksT&b-T0pB}N^+5+6dOhew4CazD-nbadc-QH>Ap&kpHYo$tJ_lkrt} z+>cqigE&ROKTfh0ITpLuX{ES4EK`?-U*9iXnq&<_8*EH@T<`}B*%tD#3(s}XAmL9* zCY=r_%V9Stll>e#Wq#J{DYZ@39;5xflpA;hv-rMfdMk4eLBqu;r7Uu7;)NqWy2V$g z(49pNTvh#2A#7GfD`T|xl+i~>zg&=UkR?N&dn%hOGwHNmPwEt`qThE-G+#&{vA-a@ zsD<;}H!h>nY6Do0#pW)e^6x|VqSU3ip=O*7Zy|$6ycb|RJ*n>xP?0mkJNL;bD2lBR z<7`g{^osQ8fTa8=|1f_ET_2V@TgK zj*6Z>Fc-t-B#5gx8`mNTW@Wz{-guNbEw(XL`{tcvdE6dbHvjSq;x`i*P{06!p-OB5 zGJKMGz$TbF^i?4F2R#Y=n`lhC@UKni;FMDTx@~%(EEznOF|9M@l6xK72a94hxw__; z!PqRl`^6u6sF`6;E+US26D>@mYutdVNF%AA+cU z_Y@Yy-=Er+2VVuCsOHuYtu`)R3pbf%?UKCye8>KC^i+c^A=1SKgw$2-ehT+q-!4F@EMcPU~Tb-y~C`Q+Nc%DI3}!m2Bq3c zMRghX_U*Gaa6Ca@QGkI3HmErIZab=j!a(#c{r=k2 zxxQ!hh1{nSQ#G|4#_T4VT_ivk%uCxXWM$vTNMlc+0j$tRu$5<8_ z4|9vt%TpkNM!!7Y5NzyENjHgxw>DPa5S&Mr*Vh+qdS=Kt@`Wp4weGV530#iLr8>Nd z7t`G!WJR&g&wpk!(Z5b>x+FH^O`6cOtQmLQd|@_Oo;q^yH&w&dKBcD8rz#^o#O9Z1hY{4lH^*RD{(J$W{UIxM&j-Ub?0sUEid=N1wVdHK! zf#-Gjk_!jT7vfg_bITDi945_M(hnj{sKS=1AY_&tYb)AZ;+o-?- z3Dk=lrXo?gIY7^Ev)RMX=ITSTUg2#J*)QW37=~kWC;RQb`ih044jO4QB@RGPL(}Go z3XZx+9mBQS@aj_bLQR|n9=-eE?52EnJAzz>nyme;|@k6iSK+~Sp0C?`nu34yt;M9js z+;G+en5IalhXSL;cz4gg3SCst`1AsN!0RM-@`mqlP&_?!ru(vdQ}St?&n%|tP1_3F z5H)Je>NyB`Xzlm#k8hY4jvC=%$NPs%8fj4>pgB)8e<^9?T_+TcElSwy^g`u2W;-mp zuU|A@&#?Ube`=jtiQGiqc)8B0Wjx=OT0ykab?(0%Oz0RqFj#So{oDX8|0{9%(FNql z!&lJcMGp~VLiwII1B-ut#ZS4(k8i!>-qx>+5&d@m1>*ZN^jjQAV)Hr+D3z1}MSSX0e|qcec^l(tZfuA08o~K0 z@ahSmq><{xQ%j67p)6$0hfyYjQXbQ{T2gC6!_c<7olMMTzaXV^{4{eM(2i#o)b>#N z;d(vc+SdaAo==<@^S2*xM|$;sZqZo*@CpLcRiERP`*GY-BxnXBi>=S|t{7JhLiwl}mme9?bI92=|>zpH& z`{poholx%xFEc*AE_}i1?d+*hGIA%-nQnysGj$o`SxZAe^LhoN)HF$u&GjIR$h!HkqWA*}Nl(LqP{-2e_BFFmf2-hBY(8 zln34hjGn?UUZ74l^$0~3*%YwCXrEZcJN-J5t3L*+a+o~8uObfLBQ#k|vJ7wEp;fdL zTXnFTEMF$mi=hv&E}#{(u_-N8^nr;9a6r?JxAVVB%6v;2W;zQ*kG|DYI^Mr5_qnX_ z0Egm6bym=Nbf>Q083e&8$^px%wTY78Rf%DC?l@v!9vyh~UXz=mi%Q*<$K|@tgOWcrez;0}$W4HSNJTef z{eBFD(U=8C+Hh;GTyH~QNL|dt<>jsKmxqS$dhcOvd7-HM4#>OSRzfD&WD_Wp-&FFL zQwl}z_Gmqb%8x9kNy`@;Z*4kAY*|f`VHm|yqq5={?9P9&LGbYOe(z@;;X$Fh9kf9S zJOzK#$serm!Nij*b?86CmLWWElcCJyd$!endECbOzhOlwEw>4%Eg0LP{&{T$_D8#o zmWy4mRbcx=!4h$KG&5;%Kc~Ox;O<)bSYhfg3=6)N-8KS-5?UueVzf|cfWgo`}=-4=a=&b=qy%T>sr^k z@B4`n>;!;cb^8l2(AssOEp*;t({3L0+zRj<%*q*0xW!U+b~YRs1PdsPUaj*xEvU*O z*1Q8jv3VLA9g5jV0EusMqRu2jla`HE&}y26kH6z{Wi4+zXzv#~6TJ008=E#iYgM^2 z^5u<_84lJ@=t5sC(6A7vD+IO4$7|aH){(%DU6*n6El2AIsXoE_7$hF&m2_^`%PAvj zj-Eo*9}oD3v};rbA-l>N*AHtN?kQ=QY*sy+vUw3x+bTBm*s?mJpIo*B!Xn?%q*y!}y3H#p4?Jx1eTlTd-=B;*`zJNmMK{Q`C zS{d&zkDo^UFi5mXmo-H`hb`lnF3)Y!wCjI5x%1x4)D@3kWpK@r#w?f))P>OT`IHo( zdCKyo0+o>Cdq6S9FuS(2uYbydf7KAJhv&FW)BY~43XH98-2AJ43HVB0wp<6@W=f~t z&8`w7ED%T%w)k#x>wSr!GTzDf{=#6H1(^1ML-T1;Dc!tF!#OEGzu8QeMDedyg~+wQ zOlEPfY4XY`w~pjDiddj1LaMs;iH&jNgIQ4F+>w3G*l7go3HUyFCi>$kX*ofz)o&yo z7w{kG*B&q;$dV!z-pgYVN710XOxaIxFqvNXc3*+f?6A*umZpeIyh5z9&&@%v3l_=P z#@(>lF4disgL@w1Hw7^#?LPeOR~_+T;e}$(3{rVuGh)eo$vjwmZE;ayVkbm8|Hg^D zsqsOFvdpXCI9{`q7KKRvo>{_0j~uBcAt*KKDZr0z|1u<;s4{&n)ByW}fJ;r|vEV5A z(4g#4SCC!5KTbLkF}=yD>EQTcU|1LEE^LSv4r~U;;Justy|rxU&}Rs#$K!80H1L_M zt8wlP^PVMkjNJOEU|JuT{=~!CHhSjXswXP@lnD{ibgJ|`F0so?g$6Z}89g3$oLaTW zZgiSSvTH4STjOhI)b=1XNAdJmg)P2pLYb&g(_6c(EE%hJpsg~=`N|(uO0#CAu3Fkz z{8 zSxShABFJf%CUE6JCf@l531i~pF+*O*!cBx}bfv=nAyLS|@r6$E9yQ&A%XXgC4=P$l zUQ|RbL3Ge3f9M%{ci-ck---SZrOOOnMC)s?R4<vLu>HrY%6rLxM=ll-l$Cp^k(#hx${hAq7R6sh!UT;^VQhl;?^FS6%1xZ=tAg zAplPhZs@5=1&6vrMSXT6aW5m+g$JGx(;Z>NPkryS6BCKDYX}ioe%a}k)m`2k#pnq9k5Pf#E1P~tf8W*WjbN) zjP}sCl@0GhIL5*lVUw{lsnbu$Bl~pG!nuQ0%ZzfZIw^c+=E2)5PD#s+i+OC1v`G>tw4~|&@g-b ztK6MP;1%T;@Bn`oWokue(ItW6Jz%f*GuIM&7g=H29-Ans6}aPp09EJYzwQyHc{6xQ ze!pj>b0gY3&p$9zi~4!r!ON_wz|$Y4gQ`%0k}bj3B_z`RTumT!Vrkq697Y`r$cnED zmi3wxW`V~;6Q2?nq!QN#;hlQ{QX*Ohf7n;%l*m1_(gDiq1!gcF>1U)a1z)wCh%`O< zJvC`eD*mIlBIjUdeVj7^{T*whnbcuqOPm-yB8peee2^WWy(*p?d4;>~G_C=31Uqlq zhGVteZ~+(>ffjs=*mNA2Z#ti23!pZR*Nj(h8=dw_9wY<TFJ4WjRW1vOL zhyA(MW2pjGoESMoxz7&kxie57etkpCIHFE;}MDd0a~wa>TbGRSPt*HY`YYFKF^KMHd$=*G4}O~D98O&v#E31jYi z`pux`8o%A^G$79VRj$=B~_IwBV=hlqJ(SM5DNA5XpWJ#!7z_xJz(OuUKy zKCy=FE9@`Zd1E1aiF{Sw5lJ_3WUP>;G@Y#vBLlxtSa!ZWZoxgglFVZC^w_Lz>GvH| z&=a~2I9frlX~XZd%r@SF@l579wz!Q`)B5>uh?xX4_XOZvBC5l+tQ@^_q2R6(0mZy- z0!P}dC=uX$7O6L}=Dfb;1r=oHH`q&_@wxFVb!dhj9!+O?20HA=IWjr0X<~uuY1{^H z?Fg3F7b^^0Mbrt2%k_hE+lQV1Lcydl9KjGxB7Y{OqoObFa<= zw1Ptm5y)lG0P>ZND!!RC{_}*Vzir^0GtX>Iu*XI#`T5Sl99;UqCD?Le&Mc?p{0`f3 z-OA#E<+}}%)%J52{~2;|{%9&MAwgi}qRzv@)IEpR6hBQoD!m%uzPAbCxQWOAP`#qP zvt;l5&g7Ll;;oU1Z5&xgdSXBwtZVsH;=oQEbZdV4V|2y^_n*2Y+6nc zFzn*)t1^$C`Mheq_gFiylmW7xaZkqUjZ8xjQhaZJD&hF|oWZz904a~_l)q`n)wPZ6 z*u!)h%EsY$jw7RI4in3qg=llgjpA2snpjv%)8?$sZ3@&Zts`f6E|I)7Gl(u?au1dh zjDqpzEfDJf4W^uSpZ&&jvn7a7RVa4Rp(1f)RZd4NMTqi4zt`^xKsE@~4$I=x7hqSR zAE`~#pL1TA5cfP52TO&Jzfl7##_dV)A#xYPN_{j zOnlT-+(heO`zu58WP-sDAdb`ECZZmW=W*V|ptjcZy_Y#B@NYf?Z?a3)&Sqbn*GyG9 z%c33oZX#;r}wytP8>Ed$xjNqMz!=246T!Omz{JMw{QvsWN ztA&(~dKnHGwgI-W-W1yiP;C`_W^y8jC5<0*QU?mR-gq*fqk$HTqvz!hK zh8T?poV=a*ob#J{=r9Fp;XfyErfq}F@ZfPUKI|4>%f51m&L{aj8)JgEK>#Q&=ReMP z`Tej#G1p|zR zR@74~uisU-9(&FmSL$z*x2n4@Y?y+o&#~WXq)rXB`;G6d$W8*h`0RR(mYFm{u(KYL zAq&tE?L(5KsZK7coR^DLW|N0_sj|TLDK(rSmL067fy;>-ia&Xqa!paPCcBGM2HN+` zTPwYK8Z%GvbDG-i5xDL4*74J@xwGhP7W*UF<@he{6Jj=*LuBAR_=@HYBDonw2ujep zNUor*ZsTxgp4ESRvn@f(Ig~uJ)v$FpuJOfktCvp)feh2Bq$~AM5j6_DdwhQ|;9BP% z-{uy(3hi9SEDdddV3k1N=o4Vp1!)}6X!sqievy*FJBnzTAuq_VAen`rOuUCbdK#Jv z+4of4nDic8@?2CP@}KnUIEJ5Zb(3y^5ZVEhXI*Gs0doKSMBYbum5qB@jUe_HV}qWi z`!Y+nDPy#O4}BlqiBT;LLQ0^k8@AU6*ITfT41OaSbP%Zg%i*b$NJs0CVy(*==ivCNqWgIg{o7)Y^Hzbj)@CaxqR!{kz;1& z3pDo~4K2ZIe)OBXqWml~RPM)&_y~p(q%5H6A!Wz?pjy*iXkf~RA-~nlbd#?ghx;2! zL@-izo~E+{;+aQZfAfcpUDoj>h^|E45itUXb+sgYh3>H`FcbI%Gt%L@uQx*$W3pI# zNf!z0cWL(@V?BVh&V~iB`mVL2i+CsZjrMO`4K*9?kKb?DpCvttVSmoL;ZQdddMu$X zzo0RtF}a)O%jS@zy?GqgQ&to!I0c(Lc$jAYgSrHz6NKbq+@?`zI`ku-f8S!Rm?J*v zc55tWvC0&!py6!iQ~JJN*5z~mXMGwkqxzo%jqH!e6@TImoC6Q=57V<# zH;?8Fzyh77x2*3|@LAVRDI{XG*)Nva7X}3%h*jrYBafVd{3yyX%@CzUp`KdA^THCG zSr3O30Po&(u@=EDIw`c*B|R}U^7+21t@N7LW}QccyHSUI;b1CN^43zwEtWH}k=BhC zfi}uYwYF>P31Z2!X--TdG^lB%fD^|e}?}G<->m~>s%{Fh-1*$ScP4t=qD_?`eKC@^^?W5Y2!Oxs@ zI5Jl)O_K{_fIUb$dX}ce0*}zH=S9Ck>-qY`RHy(k-5XxonJ%X8NVAy^@Nt=cA*_H{ zL-tS#0TL2MJk-PEj{&t69j3EdM8mZMKj@qD7Ya4~j4}NV83j~2w8E!ftaZ*1#kkR9 z$MFgOo{CK(Ehk7b@ucz4zVD<5X*p7Q=d@K1kLsj?f4&RSOgYItw9x{ys^xPFN`2Q% z@-hfH{n41pcN%e9p|)>Uu8TN+g3OI{dZaM*QWV^Og7aPr2FMM{7&w6(qFxH>0#% z`Q=%B=6xF~?~X=-*Th5oyRj)~U9XYh z@t@eT?QL`Lz)BAHw@ue}DPoT&zMh#og+3-m*lZsTo@*}P9LJn?b1>6B1jl0S_GijE zH8if@+H4&GmdoXhhYC}4IQiLRjaHKH=vIjly&`&hrkqL|ld)5b4kyzCCu5DKXgzVe z`{KLQ`td(=5g}a!O1t+=`RC#YLLkdur<{2B=`p8Ej@nrrsA(cr6x#vpVv9tI_@%cW zcpu#?Y~ftx<>p>;k`6iG0p`q{-1^h_gpkvo4(?vZ4=VF&rEn}zTC|$^I*-R(!&ud} zxr8&{&LOZCGW&%-T*@K$Kcp*X=9w7!mdXtWH_4xL4W1KyVYBX~nABl^rwn8QFEhW> zx74C)l%Ui8BU$G8eKqYf(OS~|N4NsBvWbHl<7f@`&(lMx8SYorC_N z%Ut}N7QDte;|7bl5KU|NQm8UTlDMB9->%{oObj@?B3`)%&kT6<>mEuhc+SDkoa8zl zKbP2B7b_nevAGWhXRrsol?rN3+g-#P41WHNdwI))vnz%0L~-}|`rf?9S)A^XJ&S@y9{KYwd_{Ew+Uo$Gptj|-GhtvS zi$AB(DYbPh3hcHk>XjMb=f*$ObDg!B`3qUH#oIRS=lMM=A>^!$SHkA(WhoYu7|3xg zdt^N-n9ZUFl8ei%~RKuua# z5m+)e6rm(Y^@X^zubX8RUr6qXBGXYbaX&{Ly_1fPo{|R8EFS@v4ISQ|>)3Z>IJE{@ zp&6I9bNnaQ-=D921*&$Rlc(HoPAU+KAgyOlc8{eoQ3W-$dGxjA{>0jkY0^($+wf^E zhvGGxVACEXAoxKv4GKISE`TG0wHLQ>B2hk!=B~bR_A8JSFQH@*-;Z*Ik32y0*3|`I zFE@<+ob0@DD)S+5jsO>=@S^p|GxvO{tq5m%e^OSt^_)Vc%ez}Yr@?pdN7c79?gDV% zV3z60Gw9^4lYZGyT3DO$4%Caht;oydcl*@$TT4yv#n0Z3)Nh=oKwlZ3r305V*##zl zcEnxjY!uKs#N&_S?BF+JKj8Y(B|zGPeH^a+-h9ep8c(7-u1nSRO~UkeM^SbQ$>Git zi*SGIw%Pj3$xTZ);wqe^SXmVS&_*2tUjBZv83-b?0{);E>n4YFhs~3K3R-We+tnJR= z&+lh+)ZKv;29q*R&JwtqisH+Z^`Rm%Aa6zX0}lWm;|e;2+j}SNjYCx zPc|LlBp&92LCWQ2RbJaIj^U00puk6~u8k4rzXxZix}A8;*sbqQCn2humaTHnxei2v z&q0Bwnyh!b;#CGt@oMA}SKD8-S5M=9xdu?HeSaZReyFfa72U44K9U^Phl+dxr$N?QR%RFmcC1a=r-401E>^n4KXv z@tX5Lh-M}~nfhgDa^lh>9uk}N^)8^f>o*l%Zll`JY&}mJDzXKdJU=ie$m&S zd#*8_ZOG8F^v4;jU6a8hqllmAs`5KDnF>M@`w8=X(Z=1q5$Z+iAw=vbQx%f&pegN5 zTZ@?xPR?z#{o8n~9M!s$-*@)Jvj}AtklT|%J=&Q?2Q;d(4m-iFTr{3ceVte*_RRdb zv!ue4#m8pO)8Bs-f&HekbrsG=FruMK+eZgV#9${LIonZys{*2^Od=MCi<2m%p6t;45VC zbivcWAy#h(`&l~8?|5iJEXVOQsW{iT9P82I2LBfx^wW4;e@y%=J5%3# zPha^Os_&X;QMOP&u#+ngsVu;L-ZsG8RT)>&IOt1U=BOR;TQ=fMI^I3hlAL@pGp)Wm zihfSn;&)yD4$|^-kkG9?KA3>jP9Kvz%jxl_fUNd`PCrD)LXddf`!Q|(`)+~>)^@Jj zV)*gwo+kA7-CUpE&-l%<(4Zj@ zL(%4Ib|_UBQ+Wn2YZGBtzWiDgp3>>Jt-&eMCr-eI{~)EXHMDl})!fI#mAh%p>j6me zd+wAwDt;mdz@uf;?h`+@%KTajvVDBM9y`H;qRQ*c#zuk@Hkk_Kv^&P8L`dpe)^qnKQ0>g`H!(t*vYV=(Js^SSX`HrF=SKa~XD9PhfD=d`2YMgp0>^xbZZiO_Q8F!8 zI0I&u*LkAda+I#}HunpT!gM?#=QoCyZnJPaSa;%0Be?BAN_!f&Ay~f8P(xpvu>d$x zf-7$mp@aUd1+PyE<+hC!?|HCKEmmX>eclP|0uOrTs7>(mg?0Pnrp4dxHFeW(GjLj)lp?XsW3JU>1%*ih7Jl9c7#PDy#2vzf&cqi%Ehk27P zeojHtAqqnnXVJRf52d3Wr&Ael(k+qDCVs?l5`80Jf--RP?0EuGdv;bVS^lJ|G36=t zbGE*YL>d${Sski!7u{Y}IKKT}%45;<;bs;1>;%#pCdy+X&v-_o;OBBB>Xb}}_0v{C zuUkoo^W?_z z)f}#9X?ZN=ob&I#pxW|mbEy9{H-wNMAec@V+5;gXr}&6T2(ozs`lnltTk1NdmVTc< z(`BtuY-VdyZMzR(qOZye<1@(=)A7h{3 zCAAq1%X24*04vgS;=GxY?VO720fo(beE5M{7heavxy-87!XE8;rv&7P+@r{&utNrqJ1o2|pL zKTZ!e0!jm}II=8n(bE|d>o%;$Y3u%CGfQwt3{AggvrHUNK$KJ0&Ke{>P5yLl!$cx* zWrNy8No(3YHy1IMiBCOadcDY?!9d-L>CFHEi)a={*;vRrAw;)yHBRNrKqYCc|L(KUyeMefNFd z501xJukz>;mZBsGXz`tI+}NIL3qvzg+-?{3iwhI3GOJ8-}sccCH53-k$~g%a@=e;_i-sZj>k*WJ9kq_&ym(+3=K6lmGoPp~l%>pin8g4H@g@+f$rl;NM^@>+>?4>XX0m-lo zrik*d;km2J0R*DZUGaZ)FEJkf23Lxd(B&x`cWuCHg&co8T)9q`?>5SqQ~teXm}QtF zi5O*?_YywBh!aV6wl%EoBR>PacboSOFF8+p>wTAqa*;m;ASud>DS!ywzca!-znGRd z3}ZGM%w{3%CiRG)fb#zbt6v2fC|o4L|9?#c9NQ_WyP!q#JXQ10k#cjWZf8NzC`HT6 z>N=Y`a82WVDYMx3m+1?+*f3Tb9-7_TSMoyw{rImw5shHf{Xaar-b;&t7V-yi6>@MQ zWIL^<3(hoCjY|j~ap~I^Q6bn0;1X^N=}*bm)^zE^al&mb+Kg^eh~!l^Dungt26o)_ z$W7OtuXMer>28=yc(i)IgdP}IevJAJ1ohNOe~c110go{kbBAHL!DpDYWoB=^SX@TA zRt?QE%8?Y^eTe2P_(0s^ zRD!LvPGOxpVf^+|ZVDB@j!tc}1~oM}MD-TMTwXu031PuIE0NbBg7D`pvO(1-FI!A`YkS4Ng-98+L_nPJ>0RW;f`|Jl@E{0B0q+LMso3Zl zQFRa!QRa_9v1b?*lOh~@`CvY`kca_)M){Y2-^^_z9ez74oaoJ}=i_-$%@jTQOLA5O zcr;h4T{*ebXHGXyuRux989A;^`<_(J3H5>K5nJ(LwyHXAqR&MWX=h3KR}&HCE!KnL z8jLlW5C%(eoQ!XY;tTWF3B_mT!^;}Oc#Hu` z2=J&wPNRof6HXyznH5PDKBO5ALeFXnA@cQ z2!j_on${)HQP3KZWhvSe2B$<>khN)26I7Hzw$b8~FYkOICV%#w>tTXmjM@a}cZ57w zsVWsxQ3)3ZI7S8Jf^9Ez;U_rn@L0xV)#e3>p_PsmCMqbMJb;%N@X#121f!Ib#;@QK zlx8}Ghoo;<<>$i3#Wv+OSBaBR1JmFR#YtIBAf`r2{|6uyfztm zDy8%nzuGKbp}W@wm?m~%8ftWmm`b@;hs|yn;8$((0JX@=UG(LJvf(C*agcFnI=8b7 zvq_mnU9t#+$HlrA37|zNFU2A1T{giyoA5!5A1x`Jpu|Fqsm7xRg_~Gv$l6B&Bs5CIktQj zV9d?EChn~YMG6J#QLio-f(v674qOW*CqKF;tg9nO$g#^6%bl(Wq%AvRj#>1(m%yME zl`aD3wF>zFNZ}ViFnPcbN>4leXIL=21Oi|S=E6;=JpvYsz?_W3Xd3FTfm@K5x+)uH z-ppj=z45%V_Ir-xoTjm2a*Iz{M0o(XMkS!1iQ{&pE>+j3AgqJ03hSukqWjgcmfsK2 zFAH5C(mWVqKIKq1Xx=K(E7Rd9!N6Axri%#zT?{l=SU_3l0V-*PW8)3tHgksoHW}&EhQk7P3YEOsNDI zJPd4U{vOennV$Z$ojvBfuzbzn-`W|pKtTuD{}TzW<7^*fz8sPkdzo)QYnL?S!MNr( zf!*HIakX|T(N2Jt`4VT$!FdYcz&b=pzy@=tvsi=L)ybjMcIfER>c)sQ`!&PwkHtpq z&>cCh8VsYxHA2lc?4ERhvsEn}16uV|Gzs2ATi7fIei`iZN&nmQ7lNa!1;hD^?IsCk z+mI3Y!o%(SLU2eXz$GFJc-Y#CX&V@rYO}b2H0X<}Gn}Z}G{YpY zs%_=dT#u2+qGP^e*d^{m&WlNc>0(thP8>NJSN7TW{l4eTJCtgX0wE9hb-2 z)#f%uKEt8oGld#S!g0+pr|QhL%vS+BX_7R6YXq0snxeyV3BFj|m*AVm!@~}=-wXK& z=x6_dWB*BL7{=)yVMLExo|iaw53SIYWVjwS6UETJh`JiYMp>jVd>2@AKBd}C=;3X$ zyEM4}(%?^vuj&Cm`fH27D9N9jNEv>A-;sq|N#b}-dQLV zT;{1VAm;oH1>c~+fx>)<8%ALek)s9?IyBTFj=rq=)kr*EcZhDDIQ>AcIQXD>S#y0z z0kDw12e}=rZ6ER8wuQ}ga((nqC86$5t~UoJW~n)rbThIk3SCxY-4A7x)7R!8>#y6|VGZ%V{M(DnbQ`+xb<8W9B4J;t9* zP)yy&1E;C}__MP_M~TJ*3nYONZT{g>wC#}Cjs?lDfd;p%khz{iltsC>O~ruPI#{77 zhJwM@@HoZCR!aNsHeTAcQ&o%UjBdf*0wuUBKo42!)fr&!B z7OMPAorn6Z%`?WJ=_`p;H*|D%Z)s8|1E|e-$zroFS*)VeD2P(@@&6#*H~G=#@#E|- zKe=epU`Th@`@r*7Ijpjyrg`4yT5Q>M?2}B6?rf1^f+^|1!GOQ*495yDR&=tw8*0^Y zpIODU$XL%MoR^vMz)c*{?Y!bw{89|~Jc4PeMB@JHF%3(KtwA)`A9S(_2~|*I$NJNm z{)M4`d9rupRla%&7-7Ec^Y>u*F9?+|z+gUC9KZqe2eMS9bu%vK!>A4&yBh$KZes6* z3;@tXhfkM})kb=s^f~Dhcm8eI`m=0Ku6IA*31!Sk$3Iw7WWG*hQF7GYN7Q%`YIxaQ zu9EtTX|UUDY49HvNRxLkH^A1j$aibF5(`#Ah8hjcQ5Q*RtNiT#pQJS7 z9w36S6(3Dv=0Gt@GRl5-^D3LC%qXSfyexoEm%`z^SZQeCj4$NuUckUA`;S${{ef!C zzS{2|9LBo(SX21U1f()m^+T9X*~|O2dWo-SFU2di2FpciVep88BQC(7 zr6{;D)BoTH6ceiJ$1pHPX=p2>4?b3HK?Wp?SaTaNFu6*@0FL%{9{ep5_ zMA~__`D2F*n$}STkd1{!0UM#XcY%pNG8h=4Pk@OZ03TrDpUMB^GkM`ewI)o_ypdk` zq}EL(j$z4wcqx+YQW9hZ3pNzZB{^RO%7*kaSYMj0uI)+J>qixpFEnu_IL}TVuxmvQ zM0lw8yrr~rH_dZ7D*%!a zP0}QQj`vnl`ZlL0=ZjoF6}iUpxbzTX`%Q;r*c? zDW2Pb%7OSnKDaBtY4M#08L(2G!8OqYreDK|oH=4e8YsYs%><+yCsk%*r?t0HdE^C_ zv`8pbi{65gq4mgvTcfL^(If_jL%=F^f)KZ-{FwrNNa;r0DzhRMO$qF;4C1pxe5F=iFmit`KpP#wSKq1~K-t~Z) zkVDt@qEn|2;qQbbTpFhv!q}1R^|m>oJ#kul36;lMKSvb-y$Ki>HVH&`M7P4ELKRL5 zh@vs$-OF3NMLI#b3_e^u>`K)>7%+5hpG+~AFpJrj2l}(H=*piGarjTy%?MyQOZZa`EOImUi&We8eO+b9#78P6+3DtL?w`^@2nHMWuRok(yhEV)Syk?Gb z@cAx<{hH#sS7*V8SpSwtjAv9@Jp$*l=@lMD``U5XDTX8rGkvgGnd3IQ+ zl4~Z)Q-n^7F8_2$3qU~w$b@| zRgYiXPJhJa$?;psel}ya0!v9qIpH#{nB?Pr{*%~}2C9}Xp3oe15Gg_gqRdF&>Ta2j zmo+NY=t_oiFHMdF6vSWK#kYEG%R~1TF)xPSlanck71FSg_$mzC_5GqJ6ZxuyE`(j5 zBmf?&Q5`9Ksa}mC4S<@w5xKbysL6dpz})2;9;-OG{q~~WWnw>Px7mCw^UfPzotsm8 z{8|ey=5ZBWT)gtu@53paBE>92w|DZ%WS3~Vq43wZ;z_QQTQrX;tFNm2M#&oJnMcqoqDwpI8_CpUN9H-m?VKGMQoDH9lEI(-r0|II}F zjmRz6-iy&NLc%2?R()gp-Gzy{LAx3-#xQPv8-A)%q0Qtw+*dE{WYD3Ep+%8gT_7PX zC8(ijF76ogEvQznw}L1>1;B84IUFJ#qu=4rcLE}e;(%N*{wU7(NRttYkG=(M>b3lB zq)Rr!XE!tA)5ns(B~8F&>*rLjk6yEkCQY(-bhz;3HLGx+%TV7=;FLgOaQ zTMcQPf}~^sW~QheNh70x`;+0RSR8-6*fSUy+J-;MKg>9MmAzY$`T0ph(e@R-(6~Z`D`}zy)wAzHXz*3Pja&uzCAVAF%?AXi7D)24+p-eTq9 z#H$*U{j33`cgz%E{!)0~+Z4mENq~KI+pV;#VG2f~*C>E?%$IL*5n(zZ53G-7B=Aqg z0dkC=Vtg#-hHPqdvy`0Xpmx!p&Za`GAwoED+YXK{t)FhcNxO~na2Mzs)x8e5`Nx53 zyg0g|JL+(*=-Nc5XEyOvdrvR=2J81~fUm0GNuksstVDTFfI~c$R$UN9qEGX%;$0U> zm{TaeVqbK&Uf`znX4rEI8E~o47D=*}QFfiSpKFuobZu*`D;oqwq9n`9FiLKt=rerV zPFj*~-7G|Dr|>Q!^HacN%nb*N+md}{&EHPd8T+jnNS}@>0?7B03%s^;6-YSusX1JE z3iiKj+pwa4PW9GHw#KrVO+V#1^lC2H2!k$|(%tU;iU=~7$B=2p6y2}*7q;r!=|LPYx&|m?b)ANBtjh6J4xIb&YM?G)uoIzL>bIWBHGPk zls!1X6XJK&@d#Iis;F?SLR48PaO9jj3JY zy0JR_!$rxS$*zC`a^pUC!FFK^;)v@kSA&-WboHQe@C5H`yi`g@6wb7dKTvHvrZ40y z{F7)I&uzODf`AqqPS?bF_eGCnMerqXEEhA)xyJ%MVkj243e&svMrTMgnGIgXX7S1` zKc;xBQ(W=MB~89*9P4(|RSvK$;8k~d1ql^84=;4;SovFChMXd6O==+t5l5-vPkDj8D}Z{EY(wBDLF{q;H%T?S$% zaTlbpps&4q{FJeEeZa_COu%bCya6OZkVWvrdBJa45t3vaE7%_fB$|ru6~bsk>H=&f zs+J`p;PhE}R@h4=*K{w(kAloXUB`LMKk?GO*TDH`vH9&xWW&f{9PZxbpBegw*f2dm z9%sSF1V}VkQYQ$3|NHPdwFcuZp#k4!td5pncJyGt&36}U2_i|q`tX_(gzJZ{|S=!b52Yq>u4yr$L$$U`Ggr zXhssy@BO``f+0ACUg=ull4(&d<9>EYXSVb8ln*>EXA7%L){_a-1K+&nzv0vRDaWA@ zFeZbDrX6Dp7zkXn1r`vyC87}Fzk@e1CvB%<0QJW-A`N@nQW_8ztymSS1p!lagVC4A zqz`R^<}xJ|dxBkl-2hTO^WFzMew@Qh2=OPTD|xnf6r9OP=1Qbd5R{$Pv~n1GdQnDR zW#Oz1fsc?t(I!-g3!Imp5<4Rkd-_4zO?2u#-A4^0*rcs4^%YuvBX*&UhgSIrR>}d& zen8K=(cu9v_(X7tRfU%|cf{_2rYQSpmG#9e9A9D}?WP}`=j%@lf~JL=poO0f`scBI z(=EO)-$}U8xm=P0LWBc1fX$+dR;+FE-_(OY2G>dghU5$K=iVIn(A`1Qb2yZci zFe8eu^TG9K>>%pONUqGQ>7P4&H9}Wnc_$&ij0Ae&MMZZnivGVEuzX=a1hBb7ETMH$ z*974eY!+cI&qizmuztcJz-?9<-q6^ztg7N)Js={q^ zmWIY?+vG zb=}li?*@j9)V7CAgNggj^jb5c?NG_KX~H8$H+GxUhp3+ZXNSmX+Ar2f0lxv4Fsg+=GQt6Mmfo{1OsW z1AyVYtEJIXCOM<#kjT8w_esEOIhklaEuTBjh=GsHk`7o1CoBxzH|8$dl)QE~+lhN( zAmT8s%lOetgT-0(t-CS#R|E}*iP_Vmlm+DhQU0e&yLrBZX2X(I>OktOe|6@AGOkj6 z_+O5ZngN>Zd!WhA$j7@bldz_A?qc{cTj#Pq#xaS`@-A%7yTlyfO;nF{&_2`0Lxg;I zpEy>ot3lzv-Na!+N#BICEjL~|aRKrbyA553or4r(r7*-W`kjwX*efRkdCbpiH|%>u zGYyJ&6s5j`Xlr>(@ABi`8*3ts%yQ~n{e7=UG!^Iy0RLbm*l2iwX8a`fSp}Awm1P2>PN;7ea<^;j&};Si>|8zJhl) z(b(yhJeb4)+WEEg&#!z<{}qYHYPz*9?7f&stc3yKKPXuNutpbvH6Fm0pV$M5A)osR zxOZcgB|g_akDgsksq5Avr#SiTZh@` zGC32jR#CMAhPZoitaS6%GIY#lksiS?e{MwkPfNtXP03QRth*YH)oesqu8<0Fem#PV zN(qM$P%f>07J$?ss3P zxhsSVS1IN$;pi2t@DjKPKOhYTaAjUg-+uK*r?A}|sc!0a#YevIs^;j2Fg7BNpAr9x z!=*D^a!qc6fa+Ahj4sAx?uv`O%)jQC@sa*qMN zLgGyMNd9Ykte{8L8Hv;6JV!<5q=o$dQ`UC|G?_&03WgA>0i^dTO$-DOf*_%zfHY%7 zz=Vz<(u;~hsM3olB`Cc{q<54KLWmUUu7Y%f70^|8^-cu$`|iE@ote{~^URs@&Tvi| zuv`#24B=aMnlPg+qy9+u&Gn#UQuK0|*#ASri~?4c5QGM{7$e~a6ce$Pa1(U zYElZ3(Lx%t&uBaWM}rD{#p2eDIi(e5%(0Pva|6@g!wAsA)cA$->cHnq4XPEN`POBh zpXr64;_D!HvND%EGq=<18i-Pa2{}(N;}gD$FRM-vkL5E7a9b$YelI#a&cZXjRfT~t zNAjp&V{|eG<5=g6=ke}w-8fW0TsrecJC>H5oS_VgeREvPBKHok zLc@G57C83!T6OV)JSP-h?g_M{0lHN9U9-u-r z>mB-g_-#|aBcoUCHKr;x{E*y#RCvR&cQkC`pBahdw|k1~tq<5@$pq!_**-n=$qsWt zlWTXnIUMm5%y$gcdJz2w3giZ=kJxIGFw{79-4ocxl4`pgxGdU55U%wmetNCR!V54p z>P3!L5{SSPS_IOTSMU7FRKmGFkDO25=?NCRkc}GdR+++d*K0;zfKW`e@xA4Wn0vC5 zJqFr|C|(SU^X0eZyt84FzkMKPSF5LC6pt`3lW-PvO86?dqR}8{j*?WBCt@mgjTsAh zU2-RIwP9LtEl!|B^MMiI2y!pWnE z#|;=NNO21~v|4V|D?N>Y&&cPzZ9K0)AFazI0k{$1K&NFdH;P|m z6A+Z8|B~YnZIPHhGLUXmChUQk58vU%aC`Cl5uncN{#wX^ag)RoZ-}QMG6^yknGzEd zFaGhCpX2T!Hk_SQdr@CkAI*3HAK1f;&$TcdR_{Oh;haQ-K|oHRn};o`#+I7Mu6F{f zTKdSa4epHxi(0{hAQ7+T&*-rp2`1{h%WC>Qz6jR(A(6005w0c=kePym-N6qrA2T_Q z)7+-(^!MV!6D&ODm0ngdkhAc4Xi|zsQP8(X zQ+DyoJ+$gTIxg4C>bKZK3?%p7dFapSH0}FtCsQJY^$a2}(V#y|auIrAZ{R{+E2y53 zuI69T!=@#8j>WA<%WxMO`Bf6Qt?@d%#}~zHZi=X&UDVf}xmTK%uAFK5xv5J7-CMi6 zOg)?i&4=rdkywWmY9o(RXsxp_RR2ujdOPh<2RwU|{$BFe^fRAd=DtLvRKXiFE_5%T z>8j=R!H4$wNtp{QiAm3dPN_WzL`MC^WFTMep&b|(Xqsv_AkBg?iAl8YKMw_LmkE=Y zu$Or#Es#YyFkIbS&KnqR2A^l|r)W6seS0)3M3#t533|&am$l$UJ6VLramwNNIme{y zH|Dnom3{R?|6*Alqi4pdmw&7x2pV%U9BbkgVrbC(yXt20doZgox7O_X-pfKb_RgxB zcpM|%6w7bhK5XoWr-3|2OeOF0D$=lcGOX0@Hc6LsUS(ee;Cr5ac1@=}&6@v91yh;| z6=I+=178gdKL}_L96~cm%HqP0yqZinKYu1KFOtx3k0qV3#ToQA$gXeRB>RRySr7K_ z$j@r0>{v;KSl0^QtkfsHV%C*256#4K%)>tO7h7$0T3;0jL|pGF(u_F{h0$>V_ZK5m zJoeq6jvGP+#oj$Ls#Z)JgKc$XabVR|xqf45d(f|>Hy)H_)(LF>vk(WTWlPsk@@s`id?nYh{H+??^Sg<4jsA3^bT;im2m z^0?}CL(;FJw=Kmm_cu_FV)#V1edCsEtv$PRXs13QGD-CJ%ww3XPaWfB7{u#=i*LM> ztidOYS!Bwg9{l4(9)g1Wzh-+4QggdG$Z(R!b^c42>X<77FT6L6S!T}qCJO;a?#hU5 zD%0ROp&!Lj6D;cHmEP7+7#i5iP^X`Q4SzsY-!G5LNi5nZeZ`FtO(+HsM^Ujb(S%zt%_eOCPPaX zZo1Hqc+1;Ra5=Gu1P;WGReCGy!g9sxkMjxp8&G%bAGaL>c}*SXw`SLVyhAfK($tx5 zw5-SM3o#!o;+lh`zIjV_;FgOLZ)lAu?Ez_k2@v$moY1XX$ zmPvQCmeN2m(zYnLr>SK4)iCns-wdQ5UGx|mld!c|GmF)+BN2SvL|%h_xKUlbFTI=4 z9n?Cj$2&uL{o)_~Cj^C5D=5aa&pJ-6dEfJd6`+GeND%5UG@ z06HF~VA2%MqcW+JohI^k2~oIlM{T9dKsl*MR~u|voD0ALk^I_eA$4$W^rN*mRT8`A zbs4HVi8jM_gqBUXwI)}xg~0SiG1veJc;JuOQiV(wppIa4fs2(quPW=&!m7=e55h__ z6P^e;1ES1!R#}jR1sZpSAQhnbYjcc>qwvzHF7G>Na1x?PD0oj8R&8>mhG6?=AaF zSijWuaa13>%z7zUt_$F|D;rgXPFCm~LCJ#blx})t1nU85!dPsR;t~D?q={2{#E@1{ z?ENVFA2hoZO6ntAH^U@+V28zH^f>)<8Y0$gI2?)fg@fL4cO7bo45-?BiG4mXGVBUl zH;(7`l_%>SE6*pB8O3!8CL(r&o~n?k0@Mi;~(&7ek#-6hN$t`3_=8lEi zdO6$!k7T?41(^4uLPvC8-oXDS&n3Np#(MV?k3ObBg*!kNH?R88J&z3=y<8_AlL@zL zk66ouHL$nWu@}SRLg7N@!|`3k(ln*EL$4HPu-yq( zZ!d74Di$`1V?Uvar?L|5|EW~d_eEwCMfJuZ=_>zlj7*7F0Ep-_mh+wuG!3ifaAJ&i zT8x^g({0rG3hb#j8DGhV_L&{n6I%f0B<;le9ej05A(9EA7_fiLy)Yi)(I6YA*a&xoCcEB82!}wB%29OtI04b@|WNvJLuDOzw$(o zg-Swc$?Ki=1(4GHfDm3u5jF=Y?%JE{n|*rZS6S+eY?2B>bXOY~bHbow-nSI{De!@j z##A4Z{r(kny|T>j?|wz-Z9}ZQ^AITB_?c96*E&IwXE$`H$1))8_e8(e>N^o0e=KUct|>q#+PO)PYHyOE^)xtD%d(9>nf<4B+yyIwg=BJg|4&q#K3Fhcn> z%A~8JY!tBzWWcPvI}oVN_~vAE-WR>!GAKYsFKscQ)^8om4+6DXLXfNJrs&FuHGTGU z#a3+|>cY(wB+?)r@!CX;C3#TKXGnKj$SP^jzM;e>4diJecL|8aqUA2aU=xOR`GG)f z{XYWsS1WuWN#Gv)K&{t6z;bESrS8x8m}i`?l&ZJZuh5&m88cF+eh{Br7_}ftC4IvO z-W5ONT*E&vHx5$Mn6Zj?I*>m_$>@-tJ4|9RZsM74<1NLvYP@cB-9uXJv3XJZ*(iy> z3F1xt_O!b0@ck$7SBl_%aK2T`XM~|4xArGFy6#SGeT<38(V9p4DO>}g7IYyhNT>qVt0}>!Z>kSohcu|W+P7UI z`AVJV>H-7KYRb;={QH|hO;sG~Fx^{t?@B3MH)~FKDYm%I6v`!BO zZfzp(N!IxHxd_=sWgv{)bvTgyNkdy$9ia(Ry@@i@PU6rqII6|Ymmg%XI9P0c1JA>9 zi+_kxdjJ&QRd5Hy?6P+YnW;VZ{jwV?hP&2DH+MsV>sGG3G#c(!_~viRLOu8XPlW-D zsJuK;1)Nt?u8;lSWN?Q!1x+nDYI<(+}pX*SgPGX$};in$F1+t8$i4Xu!phBjp^`cn0DpkTXC>>;P2 zc&8z{;)Y0%#koe$6T?N3Cst1JT|b}!3e1LXbWrn}mT0s7^V$<#fYsW0YMom9lv$>~ zRbq}tBMsJc>?;SIS9M;t>F19n_c6b;dsIe+e^D{o=Cj%k#RY1>uL|a=zl*u3__wPN zqyBR=^KWA2msG^fYi#&$^fh}hY0KiY>93h2S}ARbzqPPw$-T>fmsH(OWvjYr^gb0C z=nc(WsU@^vs<%*gyONYqgK%wjK4Es?<#L*r*>3S~^n5%>d0!|vLF7#g=-9#E@a;VZ zP^V#Z0}X6d4XK-t5MwRydwRuoqoMznn*K4sk37|fXRfF@#5I*GJ8b}09B$}~3|-`F z@;pH<>Y=&f)&a*;5W8TK6!0WO$2-%WcNnCHW?w+B=%ibFP*a{bI)2>q^`=YgkoAv2 zv;6#L+gOqX7Wi27jU$vl-#K1{k<8Bc=Bo3HvMzd_cik$KD7kL*{t(4qUK6plVt-ge zwE50oF=g}^*2TX)7UJ6Pym$EEV>u_4zY*jfaPuB<78!iYXlkVvg@2?z5#D-3Kq@#x zHrO7aB^=+9Y?Jqe8QXYxRO3k5Ax1fS8Y&2H_Q&(Gufaqr{YIa98!3cNVNl@n3om+A zl^gPIA!4e^JEw^Ar}EXvef*iq#ao}S`E{7QO`U(V*;G)^;MyYD`Rx6RgH`4?7!(&G z*NBW$;MxM(=ncU?FN|2@x(4(<0rZZ%-2FX43CFfI0zU@1ZXQcf%za>(|2U0dW0+90 zLvl@FH5os|3siT0q^>+_yXkp%!YX#tuV*_{?3KFX)ddCc{H-FFE`m+NWcdtjLP|dg z@~<9}y!2h%11nldk4eJ+#lIeJ@|Z~_zNz$F_S~GR-D?AZyWMD?!R4UgAJ{R)sp4`g zBV+!eA;yNCl+YicO_#8AiNQ{q8x-3mi2((mGdf-m5cS8B9gSITO59$z9BzPb;ZY$a zdzYx8fFIiudB(y1uAMOi*UQ*0kT|XE)s%Cw%=}z&5=F%z^@!WX;ZI+by;^EP{QCVV zQCr>nNG7DkT<-qtITh?zbCP&ubi%ItjB?`*{d~3Y02L-Z=6O+iXuBP>I%?($vcatM zl~IncTY@MrnZo$yo%5^@9ys<6&9RaD)B`CrxdDjyVJXuFs{b1zrHvV@%(L}I!a{4} zMlaK%!8#(5!9Hc^ZAsHY%*C=x*NVv&$N``nJ^iOIpMER%q2HelVnc{JT0@IdBrBMJ zL?Ms;lNa^ME#Hf4qwi*tBCeG0#k58u>S5%oOzX`=a*L1R=Jit;_eax8WOeBqf^NY? zxm!1FrNk^fMf-wTKy)k=d36!ef1)!7mJ806R5EsrL1z`w`dVJHxYF#xj++>ce!blX zZ_6(>(xIo{e+7fPPt{1?5$p~hhN=i05Q*}Sc1#M)uBRL~ zx>Co;*F$srG>~*aK#2rXw zLuU;ogtBy2=7&a@v7M5m&?U2Ef&EGbHfDRY)?2_(6Z9z1H8lDFrM$%hE$X=91?_KC}rTxO$JCz9rAeS<#q!wIhbR zE`joY_jQb>6S@zH*)hp0q&0b!$OG<{eLT|ebU zWa@-m7wu44%~mewa`VrA;~tezVsL(8sO_)b5v*a{JvIr{c@2|KzjNG8+8Wf9J5EJQ z?Ti5(@ny#rWE;igxHZUKuOFI9m?o!Ryp@^aW0!`?VG^I8mgSzcvl5jLpL$h?9+7JThA63-{ixK6-sle zQb@~pTIJvEF3DBDT}2U?%FeSLB*Iw381U|WYPFJ)zr{}cbcu(Fzirbm;`TMaQc`^}6(*0G{^Ldp z#JYQAVsD|Qx{hC?cxovr_=XxOyd^uiDWr2HWn$v4Ws&l{)!xs5rl$kk4egYgV+EUm zD+hF>VPis99s7RvHaJ%hZI)F-lFq-Bb1M(8!1V4EomL)~tg4K5)vMb-zqGXaW9FCl zAl&)Ee{k&%mcsX3?osyE~Oe4=Ye=dHzL#Bq2YO>DJ6H$h>g|v1ganJzO4g0E$vp%u z$v{#=Q1{kJgSwR&a01cf5d`@Eksfhghfyo!2|o zHW}eJE^EU+2%ek({q>iJc=cF>p|V$;p8V^jGYW1e{@th&d%%Kd6R@fAYr4Z4JIj!6 ziJS9f3y_lS{Hvay|7qQ>$WutvOIX(?0%ygw^X~P|MMur*_kXt&5-m*s=ozV762a~4 zzLdjSMQwr z%#3w-oZl|M)!Z)=cPkTp4gNK)fk~aOempTH>LGY|ug=|(Du|yp#k%`G+Zy@f)IaV`H~{b6@wxV#8Ht_;LQ<{SP<>hP0N&4Vc7- zJe8sPSi(bxk8bO~NfU>yY@TAuTwg!!LH>Yu_LdN*vZ`n%x0y`*9;KtvpssO}G7Eg_ zMr#C4rO9({6x(I24-!)cL+APOOh!=PBiIdr18VNYp#YIdktzP>ClhHKTlgj^it=$O z^AxS2q@6}_^~}3L&|Kn-+MoUza_Sdp((FrJV`THzA(1GtCtadBwNk8Radb zNo7;j9QaS4EZ@(k!DjhJA6!Mmy+esORtpl|(s12=TyJK3E}#c{P0$(n>|#j4{1)Yp zlSxShfDL33EKH9Z9JMG{?13F7!izW3RJDK3>AYHj&YNY-2z&T1%!(QABM8G<30j<~ z%t@M^e|*9{1jz7}a!Hxi9?liLO%nOwSL`isMP*m-VDbGE62ZcD&?HY>o&ULh4LVMP z1A@kKf8I*)W%2(O#KA%(~sXODCB zKKHa@l{Uga6Fl{ZMu*q`G;#kzk4Z2jzLyIXy>71cA_r(@xQw04EUI2hi5U%hrIBa$ z@_Urhd-*@4(wkn31yWG-at6x(EQGY`qv0vBy`M-Y4MRpnpWjQx^?9p@QIB-CQvVZT zJY2<$m7C!Z6HgeZN#_kvgn`!zQ%nPN{X70q_WTA*i5Qdd6O7CZmS#U-l;z=h13HC) zcKQVFp*b_Q8!}W}#cHYJ3*vB_D1BMA0+U!(}D6a0%eWvaS zJBNhb*xuJG^c>NW(Y}g&baF{S!Ynh~W9hY9B|eg&lQo0?HL*&mkH~WB5|%b<9-;1? zhf2eu#NKyEipMol!b9?{gqiXz-UkzoeIN*xc>LZRAow;jV>M?ULY$)WS_fYnr1j=R zwWc0t((DiV;7m<Wg=GriEov->?W7fVa0pCNmnZp+f1n+d-owp#g;t@(+hx7K&b!;f|9(Nk6SKUhH_v(QL4?d#ah~x_y@>eTt86^K9X|z5%NocE97m<<;Av zDo1Nq7p_bblb3S}?=NDhf8>Fk+EaKqdsWGJ{PQ|wkU3P5H(msh7xX|;4HI(VQlTOjIlfKUJci< zJzM4QZH#LDD`hOW{ea92cEzu_rd*}VN`SP&;i^Co7C}Y>(XB_ZY zuhTA=hG!2|)%v^4#W=eyw(RMt8K3^R_+iO=L*$QDq}Xo&kAv5_)T7PV@Q}r)=Xu>$ z%*;|&HdnnjSpNIhy-z?OHC|7H(*-5WJLETdoD_>xD@-YFXb_nyJpe>4(~J#(-TO@l z+Ha<8%kL#8i}CZEyo#Zz<%_A6*0uWsr-@Xgt9QU<1Xf@0L=3Z+=QiOu&f!R~7!W~)*F zQct{PD7M53PEm3%f1-kPS4h`CC-}!_a8weV9EevY(aD@K@m-&ho literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/deep-research.png b/docs/sourcey-catalog/site/_og/pages/deep-research.png new file mode 100644 index 0000000000000000000000000000000000000000..c49beb6773163bdd48ff2eaae042c11a5a283b68 GIT binary patch literal 68402 zcmeFZWl)=8*De}df)>}%7A;=fwWSnmOM&3QCB;gyVnJGZ8qiFVXpk51fKt^1jAz|K4))KTi{ zqJi|xbFHRutvwYqZCKQ$)uqFhX^URGTX(doohVE=U$Q1sswsLjs&eSKJIr3uIq=iY z@Y#fbk5@XktDd=j7~%Z}ISDc0%-9hp?t9hRvg=K z&F8aci2=dC`>T`-M-GLLMwiT{7@Q?k${cnOX)j z!a}=sTRk6D>R*h%W^<}3GDC+Gb^03KZU!K?V^-|(`P9inM5PZVsE=ZJ5-JS zib(kLa;jMHj)BhH#c@1^mu~H;)Gh~<$?$vkA8y9-`E~Bg(3`U^N!v=tPxENute2zz z+kHNwf?;B;b0uq6W2T?#8s!l`uo`kvG1z!s$|+A;Q93g)3cm8$!k$pa^|=0kT>q>5 z-2?!~_f_Q;u&C}}d|G4;`0nELLU|(&9!`S>mcM)b3PvfQoVh7}aS(M2CcT|eGDUd* zz$f6o2~Rt3@X{r{J)bv2+(zMF@ce6UoiSB4;N@*AJ%}O9-#g|l{L?iPmCyYS^y9hF z&yesJi0!ooj-;D^Qn`CKO)lT2HhA84bW~YhZcD%Fbqi}8dP+FQ26fzgnvq=pzCZME z=_B?jL#1gHJ~rg>cMLhqR~|CY<|RQ$%|lUa+LvM`{5@ywZJxtk+;3EbvJqEif3wbx z{oCz@_fNwo*HX83Z?AXGL@`QaQ8-3+3~yvP1HS}agxO8$j(xBqpkFSBB9>w?1-XS>-YOQ=^@B*x_pD?C%+IS@PO#@wu^n&#Wjzy0S3G-IWZ2Wg} zw`quRNSEYgAg|2rkQNQoQoy`|5kLiZE?zA zy7|)R0)c*bwrXjQX6Y?`>^{E5vH5>4!QmOS? z0~nr7X{p@R$;=Y;tf1hpOK#&L(cL<3;`X-FgII`K)J{K9J*&s7=a!WO_FkLEtXCEd z-&2yr+of-i=U>YUZMf*O8xzT!$?O>&GpCjJsSi#noO?zJScRr)QR#usZk#q(&lM0dqU7%H3g?Ez4=2C*Y- zm2m}r-Za{7&8`V+8|W5Qzlp?|{93(T(pd6hzCzD4 z^+Pd8_rv_B=Ir-%T*A&4Nu{~21BSbg8w89Jh71y(a;>vW+l1ky)VG9*%g_P0Cq98Z zwo5FiQ=yRp~Wu2j=A?cQ%%1OsRv=cY? zD;P`V8nps(>#5ZrK8P0|Dc*ouzMEb4ownPzq%M-r*xh(yZGo?+JgjyU8JSm#aB33? zB6yX%8|MNPshB^;l>L#Rc3d=%_JIUm=VX*HvFgass#)f<$WyHU`jJ>1p85fOTe%WSu!K74ebtv-Tt0%a z6tECxS8$N16yRkqHO8$1GIU=I7qcVsmqpkNf{uIqk16?n6Ht^wuSt#+;CCzCY>W0k8?LN=n%gL7!mnw(=9*xtSjDyEpdH zJ6VCI)V)m4yZsKI5;Fg?kztF6E@qERN4#=3E<~C%)d-2SJ7{;cNukGs=f{hbM*kXk zuSYe3^7rJ+8_koPHsx!c*w&2U<7uh67b;0Ljq(&OzA?ugSG|g*=BimHGp1OY+e^OB z-$Z3?bv$h!tnC4s?VXQ%jy|320M7K4U`U*vwt{weyj_|UvIxW$mr6Bdr%n�FTyi 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

X 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/github-sync.png b/docs/sourcey-catalog/site/_og/pages/github-sync.png new file mode 100644 index 0000000000000000000000000000000000000000..b77c9ecbc94d17dccca33e55a2107f75fa3def3e GIT binary patch literal 82550 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�)5c@A|*-+_Ar*Oha9eVz4`F5+2k88bmoLU-^{Bl&i=94IUCBorjZlvH<%`3S7 z?1IAg*)F1!oA65AqVwXMwYEuROy#v5{m;3~nqT8>#a#gm`hTLp430v};XnGW!~9`C zIJ*o)9ulr36Pq%DL9`T6Zk6bTHyA1E084siKVAU&&thm}ye-k(<4h8p!DnbS!>`Br z;4r;;V}sJ;J1GD6;nzO{PnH^K)`TyS&;t=4#N5K{p(O(|B$7(yf^Ip`7vb4{pV>Yx z*P(>;x@7|#;%z5d=yi-&SYyX;QbLIhs<&IH&~^h+4>j!e{$7`f*299~6tAigH|jKI z?KWV3t!J!J4f_HeIoxjgJ@RwWr~IR7&)TFWH7P%Pp% zdI&A;TA98)W!3*vRKM=^azA_dhBDF0i`*%C9NVJn;#{$IC!qn|W`hQ9^Kf^iY~=N1 z&(r@?hO3`iST)}CDXYyd1W3)@3#mHz(oN{!CVEnuk+*dJW{Uk&dtEw~Y~Nw|q3Mz+ zbJm2wS=%Q{qU`!R7ljnWc{dEq;tmsEMVv6_g}2=lo2bF8BC1AKY7-25?1^;d1Y~$# zE=ns;jrY9}k?qi5EI+6;xr^ea+~$B_aIr+eyYt)Z#vXKrlEgwSU%ho24-&I-;xO5e zJQu6=Suh*-oe^Y!qK3lR3F%^PojwQqS54lydUteLy4N%x^3so0-Xps#P!9Y%dE=+bagN5bhSZ;VM~H7sLp}TO^Q9F7lbk9Eh<@F9 z!0=ot6G|mJs+P@~UL+J4T3;>nFMmwV!$~6V`YToqpe)ac2~0J(f1O6eTb-4$vV^`k|qQjrN^;6XT@=6Zcb0#QM*4m2o$6m8)RWg+A*yx*M za`!eo9es?oOnRSxd;q~5fzXh!HDPFqZi6d3B$M|m5 zM&j{(R7iQ=<@;-PLK}fq1meSTDBdS!;&E}UgNI-Y`AEdT2jp~AXC<-fcS9d4#rety zTe86P1k5+vCQ`^ycxS$UW)11eTSPbhN$(D8lhZv(V$z#$`F<|5(jQni#2AD*~U9-rCyB*gp67*ym94gUt>y z))4>Bi{E&f*Nmfr$=BN&DkF|xve`b(4+#R)a#Dx z@IqR*jFP?!QDC?NoVunphnMYF>JFb@gOGoxS&Jtwl{q@LX|JmsR~nCBaJB0;^kW_SJAK>Rsp1H~yJtL0((^KJ;Bo zfZjxOcOt`H>&)k7{b}OELgGriJ;-H&IH(Gs&r;#Z)c55I&~Oo^v5Crx-JWuGAeZ9HU!8jM1I z0HpW*b`EFu$-3{y{%oTCPc>1A11j)qADEx)8h*K!t_V;XgpcE&i__vl$vJd`Os~wu z69Y<&Mp6}XvFS_M4c_d{8Pzhah5PblJCfSn`1a~-`L+eXwU@>x3VMsX7OL9h8@GA7 zovA^9r1GnmyQg+y^YF}al+J_Ly zfDUri0Yl-ny#hn=(JlZ@<}|9UZ*WXE>nL3-9}$b>pPxfmrwGfRGo5 z1@%NcXcKkQNPmQ*tM#m#LD|R8LND1XqPR~*IDV~wChe#@sKkWnA!QSGFMbB*_)vj@DDswG7>tkE8Qi@Qcjn07FxfdE*924$tl15d z8%dxq1Ap{)SfEJKb>OI94>M0gC@ynGv24d&9_}T`%z*c$ zN=>8Z6~P6ufkOF?qxH>^xFDnn0W!PkpMiY%10+tcJ?{Y953y8j7{?GtcIQdE>?Xg= zK@onB#`mz(`+8HMnXhS;MV~6^oa+zDd@tdt+$SNMSX+{FSz))fd473zf1N;!dqRbtp9B2&##vuan8sH586l1W%AhDwsD7wHmvs8b(6DQ&nbpZ=ghlp ztcIxKBOG9J&j?o^@Rt&iG-tJt4RD3Qlh26ZvFdbH=#ILh#N^BFGIe)x3*ZP)ma3qN zWpG_68bzGLsqd98emKAO_Rc&0mT^E{ypx@}@G6n8uccGx`;95LZr6$Bb%e{Y#D3jH z|9Xdu!yc8_(WkCN_t!?@z~T8fbbhCe*=sY%rv!SL#{Syu$?Dn~?JinvZj@?{V^2l)^OHUuhICdF!O(0nIRiugiXMeD z3mv?9&6#n^O*raqJkFte!Qhq)O6uVTPOxWE=iY9^6iXihM4;o6E|L+>x@{*|h?mpn zGd>9!dj||8hj8}LzC(6h6g-z_F32guhiCoo{5E`(&ZlZxlV(vv}1SFJ?83$ zOd9a!RRNjQ*v8ReX`nA2{3_!2ZQpyd=doLA%Cm&W-JWkK`!Sq|k`J?cDB7isqK+=# zP)--IpA(n&Q$*PV*-!AaUAh)0?dqmdMU`asiMv>4XJdEI%#GW?9zNUZ5B#^}ZYZjv6_|o<**G#7wqdg?Hp4VA}eFQ$0JR%FYe&H!j#Atgtscp(RgpH z>x{c!pV#FPxS;N_zR`J!8^nO&{f^4G@#RiIWz6|<^&TXnNtbaKuOAdAj*`4P?Q_K_VsmV+55ZXeyJN&HZMtnJz(4S0oeAv=k5_sO;5j4yKaI$1KK#U zp$DaqJh$OQW69{yXT$=RJ?oetoyt~5(a-Y(Vhj(L4y{`d+joJX|Aw^$2D5JLY6aZR zRsmUo_D%UoYy@s7 z@;5F+JrO7+qx%J$63Eac6!$j26OaCxMGriy(;aevXE65tFj{Q7J3nP%ExnEVsSU7> zVQmV%iYQz|i}8FuR_tKVd~OajsQr$8xdM8ie)lhh+{H%i#8y5EnV&Zr_%e6KjT>E4 zZwYQ|KYm?!(Zq%;F0OL;niSnvQU5}1&h9S?&{14xnH>V!QP%fKlt-pwrl`Y&#NR8 zyN#a9VnH^ARgxpR>*|1dEHz8NAX&hZGsh%!p8dR6^f(r2@I324nkX;-zg2+A1wOoA5VP)6CP zEdnh1v}_4zxlB6={$+ROdlIs}>^GSSThR*m)vn_*;&9NL>t2iDoys93+qm7k{Jm}G z;jLp@70S{r(7}+%AAX9#F5=KB!euork#i?f{aLT!+;%B(0eaIkY!+pYa9H+i^Ia5{ zLo7wwbrm9Ir1GGhmt=EREY?mA-c)F4svhgte89g)Uy9qinHGpmQptc+<4CQ$(4Uzu zyISdS1b<`&88P9R-+8~wC=muVs#)pU579Oxo|Li$VzO)y4PI$ovzMHYq3Pp%`E@`u zQ=tV?3>ZuPF@o&*7Z^!6TESTy_m{?PEE7>nGTrlhum@XfcFu_6H^l-7&X)9WSaq)4 zCda=19M!j(zdC%MOK5uS5-8sABpX#O zO1_;1gCi`A+$^RgnS>o)U$`Bkq)rYbW7eR!5P}BMz4F;{GEG03idWB{Dc-1I*Pv`Q z|BbzG=cU03{Zcd8HZKHvH=kzUo?yS9CUR4mST8tBSkdX9^g@~F$7voyU8v$_M;64<2T#drd(hzZkaDEP%%v+5D32Ih)Y{Sd*uh& zP*%!I$JRqTfZn_o^ChPPp1c-)TyIOplBEd=w#Oh7KRV zzrB+G{=e;MpPP$+fp$ln`s)GIKSpFT2KDPEp7=zsAftj>$1k&|PoD&y9|?vE7Ubm# z@6~neS^L(LKW4pWS3%uG&P>qmgoO5t%xu)kCrf8<#fxt<)MM#&-uGkFXiiE_2e!P) z^YbOcfCXFLzuvpJ%(_^(JNxB%Vx^KI%A7+?oabS3J`J7z(?tz@FIba0+u8bD`H6Q6@e%PWysTVW&9X6~A2OO@!B8#+3zsejU;-xz5_D7Gn)aWlZE zB66oeB=KV(j^@`XG0vRC(nJC~hy&TGQ+;OPVhys?VcUDY8~ene&-1sPNylF8Q3aY# z;N~TE$tRE1h)c_er~3Q>hG<`Jb zr+qLDdy_hj4kbKDM`=Nsw*U=NnIs1Qjo5N$nCZO%^NNUvE56gy&dbW(G3LB9Q5h_) zZ7xcfI>@Q2L#y%JUF4RM&uZ?l4ui!Wr+qZr%ly~%()lmd07~b-iJVq3*Uu8G4?xGC=~D#SS6n9B$Ikz*8+3*oLb>fA(N& zf>7|Lp*55`o<{7G^kreJ&@(=%Tkswx-Z<}hYG@orbIqn)$Y;V4s&rNANUP!NuMm9> zjwf8jh)kNj3br@qK|!s-_sfNP$(c4Yr9^&a$kLjBIzRL-i)Vw~e)%pXcJ`o6Oo8+p z*Grd8OA(SNe?!#4Hx-;!mDKQP865aMs4iAm?S5>VV8*H<N^(yvPmo2}vlx(?~a zf{`+`tU4Hyz;#Jl3XJ7_)=dK6+N7VR4PK)uD)hHl7m~nw7PIg?U-n-w&w)mIt{mJt z3&iblBC{L0@RM`tqr{XEF2pc(7x40Ft;J!7ErF?|4Oa7bQXmfTrH<=FUch&kcjddy z$%OClKCxxb-KJnxj(l&cyJmG6pdhRh@o}zn@H!Klqq=~+ehPb^g4xf@6VPT)okQ$0 zNdjXzWHt0?vp2ko{{bVC!jTAP!Q=lUp|0yAk+Shz zpG_zfZ@x?D?OW0Bj{s?xT}k^KNgb4;8@n$vy5<}Umh9n)p^u9rqJM_@Py59zd<22j zni^ihaPPB!iE%Zf{kNa0MFZ*41R^$pHd@mYujUkSjo~DWs7_#f<^E=9$a`b0mVpVm z11b-tt~7Gi;)a(2y@oOk9SX;X6YZtpQlK8IqT#Uot3`S*ZG~N22IHV&i)fzxEDKm7 z;wi7!nBMF$tYzR#*50(7pcCE(ms|DCX|a^KPo-HX8o|VYrWRtxMiVB5W@o{X1e1oU zbbjeL8q)WRxoE;zR249|cG;KKJv(Fbs2P{tD@8hAr_?ev?Az&zpEx1RaJSIhTWkVZ zs(?+euikxV{V9##z0gt*{QAB(MX^j}`JUWdg&K_wC%vGYeH%o?NmEQCdd|I^aI@23h3eCu7mnXURV|8kOFcpJ=_@00dvu-5$W3i?k<08?D65Fr5ujzxnQ?3?YI1QGLbGVOu_FYbOgVLq)+?ZrN6 zu)9IUoQr$$_G@31c{lw&pC7pL;-KO_+$Kp+X^6DDQkOa{z=V6L^UlY1ywG3`TXbm> zQlDnXroYs~>vOD)HyjEtVXu|Y0DUFeht$lPDv2F6Nn_6qBU?D_zRDf8Ni-G{KIRKP z^YC9l>1j56X1(0PLrFLpMZ}g3=!csYP-6qTsbIVAcAi9Tpnjthx+7VTc2Uh06O4Bgpe_K z-;^62<#LWvIo$<##Enl@MWqXCM-L^Wvk=Rr`>E3(>CTP~^Tq*=71@O1wNw4B1f?s=fuTFIntu43<+n3dSda00RgKaP={)ee1M8d+A z>**+R#nlHky24h+rb^N?IxtFo@vrRaFp;%*^e^|J$*%sq7@V~2sMR%ROc2xCAJp;v z=-<7^9Fe=0OHL~UxUlQO`s+kZYEUEWMK8<9AjzsB_jn=ud1vCiG(~JE9kHA(Dm~sz zp|2&&A162hh*yq&A{`uC8k|5VJ)(NmNx~RwpggomL;^eOOql8&Aj~R-X%vk-y`H+- z0ejK$KpTeyq^CeT>8NaT{cJU+Mr!809^ITtu;-(9?YH3KO3sSS{$sqooC@O6jn&N5 zy)T6r%AexHZPT8sPRGEoVeBtFCD;Da5a6X&7-tpXVaj)j#982iNr!F|w5p1_q ze?5P9^Me|8pqQt!mw4BXOO|p`)w%pMNEpr+!n3x1S3E{T*)R zmD|bUIeg=NC}C>JjGH=0DuvwxyXS zE01L=jGznAJ_DyYGBn+PQK^mb{tBl-P{K}Yy5wzprgN$x81PB0RdlOwz0Q5;m<;vxts-YCJF~}U?*}%mv?JTP>3a2m)f;?} zZO}E}hX!NAbatJckaoqvcQj7xMFF#iIrW%+7!`RPQ7ATFRsG(gDge`i<;dY)>4t8d z^uxYLqi@Bhjr-}q9a8)rz(HvTruS|`cr0G|quLXSHyYarsk*k?iD=owLrb9y!4zAz-LrwL3eYZD!8Pw z%K`bG3tp|kn1A1@oPGuHgGw%ga^g-DH@wQ?c+iJv5O{)&snt<}OmDVVaRtL#Ax0>Q z0YW(HBJZ1Frqg5;85kJVuC-b`GTy>XKQHol+ zVy-CGoEu<5%$9;mm`}X3u}-TWai9SNU#8*}b*F8_O;E;N&E1MV1N(uApP^bs1bGzX zn$88Aki;!Eg(5`kz1MiDW{Z}k-|b9=i1LmuYhcPHdbNy{_sf&s5LQUz@xP!0a($XW zi^NtM@NJ5OZ_X#|bpzFnF~Z_4l<*Pqu6w;&K!SIH60C(+s9KhVjH(b+mkbBy>kmTx zv9vfnh=-94Ht}PWFf@Crw_L}HX@~c z%b6(cmUmDMx zMtQJyIgCjD)i+Sc&r5g7&`21%yS+@_F>Ktx955ZHd#}?s&Q#Cora$^aHlq_6 zO7Rj>IbJQa{2{jBB$Ckhmxg5g@1Sl>qNMrFL3&!J5 z;zenYTLsmZ!kdBXMB3gW7etnSSTR~=KfvMe+Q6l%MDBzQI4D?>1BE3hqf_3icvdjX ztWj=LhAPu`qjJlfHMDa8jQ%r)mGtEw%&6xu?#eFt^JJ7)=Obz41P)n#w?EGNg{2S? zVU3Q-*U_xGfD{bd1^NA-AOeGO!PJJW4X}@)e`jJg#~zE3ohlf^TRo{3IH%A}%W~lb z(Y|9QJg&xXg0$Q$A3_xea8Ei{w`Gdhlm6?C6qPiEae^bs6J1=<|q%V$PMa&U1aH~G6|6Y zbfo&JkigxtWNKQgZ0xMm1~%jf;(yTVMGWgHe0FybLjLPFOERy6keH2L7rsZajU+po z#q+Rwi|+DxGy4OCBwB>`uQ;Eg{5-J#e#!+xa#-B(Tr&z~f2&3sRy=$f#D2w4^QG^= zK>U()tN2Ep^Svf{v~<(DBj-o4w|C3?D8$2xS>K7>t)<9F6Ym%_uc!Aae3_X(Dxu(Q z-88nR{X1G_hN234jA#p8jiC^4hfQz+$~3{C6gX&D$guy#-RB9)3m!DqKUOZ)8N;zt zQMNpjzYAB)(vCH>t9N~Ds>yLVhW6cXN$m5Za*O19C;M;8%&?cIPq?C=q^+Ov-6bgq+NP zRt{qNZtGB%gzXRHk;wMkc&eMuuP?b1tfedbIE9dWxw5psfZFv%ic_5DeMyLVv!vKK z{zcsyXQtSEwz!}={(_cX#c?9B6N04E8#1ymYK9945j9!ns(*UV6XKgf8^W zyy=r?g%b@GD5=O0oVr+zAXbB+?2fnezJhX}grY@kH1}|mHabHh# zfrDx4?OVh}A)Q}SFs@)dv>KR_+o*jgniL+$ z%FQF}&jvA=xM&)9yLn4(4=G-5Nd#YhiRtM4`+X16Sscr_(e-L1gcD3Wo_Uf2x<#Yx zZI+=x3(S%OHumSiu#v?au`o;PWYUO}OnA;gGq8B!S2t<2da*%djoXEtYNL*pOuoG; ztQs8Nrgb*Syf7Z|(XRuZ<0CJ4T{}!nyBoa!FA-CNCVxA~-<~fJlUrF;r5?3=w%afC z83O3XN1nOqMGvrZj|+R8q>BEUoDd3h%lu1%<s)lE~uUXe#mG zu+_T$(|HloaoAkp+YoPNy5E}ag7#s&>e1hCfy*E>{4KE>A$YW~4RDshM+0RF1MKQJ zoP_YSL#txqo?1CVK=;=wt zS~x{NK{#U?U8L|^NK(Rr{pRLuvIHDcq!Fpu7OW**o!U%J8qxvBgs8!o;GfEJa7R~6 znHxR~gOl5Xsu!+{thzoc$3u0~?za|FI_?&K70M9;-%(%9k$AM-e4s8u{*Ck(Ke*Gf zLGAv2Ph`!EK{>zXlw&`XHOjO%*k!6t^%~(Tje_@h4~|>*#yAw>b@A5{#*B3kkxz;Y z_?yO=j55Dwla&T$p7{PLS6CLaN|iAR4DGiVg2%(0}nq?*PX& z!gQ!yR5;-6gF>Fd5+Dv#;rM&K^fUz+BIdv7)}C0kNNE8hw8k98%w=*pyMoA z(q1-tUchCx8ar++ZtA;S?Wm$q_)K4!Z@kA7!T#^n!AXDLLFMY^fC-_)Vz%iEznbYl zKt66KzJaHs_KmR70d((4GW*BbMfp2pfa_D+UV{^$vrE1mo4_3GU5M`)Cp^?_Qhy9c z&s2m~oGP#bXK6f;#hb;DmY7hRrx$eu#u=zJ_J6!<0>RBrofyf$g|C@@<9Ae#RSBc9 zI(cD>We=giAms6CMyi@La2f$xim140wZPNKGJfyIEdvKMfkQ~P7AEWH|Id~zz?e$Y zZ?1{}RD|=Su8-#e6y$@7Hf}E9o28XMkC1ae7HWJqy=E#+HTxXmptZ+GMIA z@LCF?V5TC-Na7j%XTEuRA)#CR-@#A2q z#+fb{_5BcLu{NE2rNw!hd=CDITyBw7CS8JWf&E83vy5{4Kd>g)-*61Ko6a?HgvUw> zxS7#M6OG}A(kv4FnjKcs_GZRSpdC#sR7;Zr!_S^g5Bmr31cCnsWOSj#QPGB{s(6gA ztDK$dy=yx=*zFTh6$TXVRwV)@iD|h#XYC4el|_1H*`;&qcxJ2b*M+g2O@~42F{eL+ zOl`|_jZ**;A+`%t&!sNj!5mjaqE;s=*A6e&z5@+%N=cmjBKl{obvbG>?a>dbuqJ;v}`Ae%aN!*A#to36XgY37ruk0z~jLz`f_4m5Vk zjVQ<qdjrR4BpDnroqX><=}c(aDjHy7 z@Xnals%vkszN{*dq5B2yy-jE!ffQ&Dh5Uw6&)jzQi4JTRoy1?3!Gt@38K;Obq1u`8 z9+v7)m?(8>pgtdenV-$07OKQ^Q?dAEM3BCq!KDbqmt#usD+j zg2yYESYTQ;z`LYRU4iKHdg4@~PEQp4m@BV+1mOj#(EGpmwqz@OaW8(fy{9Ra6fbW( z#HweTOc*Vq2r@7!$|sk~&1Us`p()?quV-5Y3^Xz5rU#q1=MHI zr6*fFW@|CR{FDG=)-z^CP0-tD#=Te=cN^Ia*u?Ei@5Geya|z-Sk7_9gigA0pM8UQDTR9=Z-%88n@=S8qRAtA!}|N%b=TGF z55`g#>trqTTA57gVP&%kftv)^HJxjL(UaJS;NS!*23dMt6RPi_PXT9Zz7=BjY&W_g z|Fd$(j}H@_YO$=R>gZVrNmPtxmQ4?o(Xz6_5pko-ITqiuzd0b5Y5r|5V_dAJps!!i z4U8sfgd0KFK6fLr%ld{;3A8L8&Q+!U1)$!}P@ZBHf_dR?r-H}zPUJwYlJ$Ss2Pg7JLT z>5RQ;rKC`TB1q1#w1bqIf5zuBLzSE{It8yaXk?(O=ji$*Py85_M#1t7WV95ze$n2<0_C%n!wl{6D3hlFWuT+NoMabJsl;=?v6?dNC)mNdzM&L+;O``k&XL_qnu4|}myt>$jo{I_27 z0TGfq5!1jVk-9%OU-R|3>3bjZ$$;$>TGkq$l@rCNU z&tsaejxZt>n?@mvm`ejRoi9xvM_DWHJe69&gIx59a$W|czMlrhT zwozLyVge+=>mj1CL>;Gj{Z4$0obRmH4I;pwMxT&Joku^+z&{thlI}CgD@HFNnVxpV z6cDg#u&xJ~&LUAEchcei zn)%bf2WQJr^*$XMCDp@XtD_%5nH%C)MA1M~@l*U!Im~RPV6rZc%@o|2b{)=2?HJ>Z zP;7d$V`(btiy`(z4E2_`cbu(>_qdrOpMWPBG`H2cFBU{0^CEuxP$xa1Z1= znnh!vPJX1`Cys9bzQQW_X=0rW{Cx~2QD4JKT=FkmcP`pWkm zmW|I*qgE8pXSBH}+)&-nCfoO886Ic(Ct|3NN*FcVoKNYeV_$vB%XvP7?Hkv2SLPl_ zQ8_-?a@y7dQ#3krcv;okMPu5y<*TF65xAi7gfNYWaBj|{kvaZw>A6t`7gFG=8t5z7 z@kKveZG4S}H5W~iXUK6e(YM`!Oa8V6y8ja5YA!=}jY57p%<7I+%^+6J5gY+JfH)p} z7Qnh4aB__s3?+oo2llxIyZOvA>-FC^ZV06fyySBmkgv@)tUl&4cmm-ta^y&7h|yRC zw-}$3-8^z$;x_V>=Sf&ieWeXpRlTtPmHd)z&}N@BH`m|tv2N#~Euj z{EDxfF~|)S&D(UD(u5OhU>s>%8*uAoB^JRcr4fg#2g$n+#*Dn4CUj^DMFqe3)%D~& zY8P>t=BB*GU2>8n6)O>lsPh|e(y`?oEi!4+ApiCd`-sDU27w$4dp6P_f^kQD@-Rw} zF#)Fj{$E_Pkgr|>y)Cf<`dk*$sex0(*5=?TnO|+ivF}YkPXX;kG2&dGTq;}gV!J`Y zvQuR9?|lG}t-^Yy|4C8@md7>dw$2+6XI3C`FPV?ZmF#k`Tc$IcH#EIYfTOX>S&Q%= zcLQ#8l_~PPryX|Kl`m1ns~8z--K_78Bksi&VGy2q`&QrVel%jn1i}!0iAMMAla?@) zM>iy6rT}te4WWq}PVwU;6douIy$0v0yZaG`|N312Wr=4VduP})WL8M$V*J4}^#V4( zE{Xs3m_}gXxR&dG0rG4>B`aT*WLJ~L9ix!f#+}zN?Rj5|krT(H9$e6@{B0#+Y{>l$ z3gNUk55H%Bgkw9JW!9Pj23&JXw%Uk9_DGiE!|MRQ7 zTo2j{;nlmoJro8aiRqUcM`hqCeqYH@gfW?kb!f=&Ke@`^aYJ7nnaY`SQ5-j$<|{Dnjy94yCg& z4A-g?6Xv4*QSps(P8;0h)jUI^1JBfMD8wT>Pw6;4SL$(apHYxXY^5C zQKZbQRw25DH@b;`r+hoVEHNrrMb1cVyO99yFFWTYS9?6kMeMyfb*joD#ydHabta$E zs02qx6XsEjavi>((2L9Gwjq7kisG*+$KXJAPR{g~wtZd=r6Q3cv#q`(d4p|i+@v8Q zveCCptv8^3(Xm&1>n%Zrr&Pw69~si$ zl=Z$rQ)bi#ULzM(%FG=dn$B{@FV{XW7fy}QVd$a2@G2E$I(oua@G8Il(z`p(%6Q!! zQ0NTec=55`RS?p3RcBwsmo_QlrdhL8awOC!K7;?^$$4wViu3h~%QZ8_<%n$7iyg53 z0c%$Qj)OvO=5g9%p=G3*q|Nt>q%_}h;*Rn0Uqz@~39=6*V3OTaNY7U7|x^}28+h&^dQ?6(GuBh;uxi+6Nf3`Q^%sUo8RIZ1|IPgW#p%ui| z)~`VYGMFD~jBgW%x_DBpq z?nZo%j9Bj#dqvi}+y^Ah0_i^pFO&0R$T@O&Ghf|~2 zr$;+{z8yy3wNOzx!V%W&d1}4&WbSjF7=6lgu9GAKv`3nc#pd2{z2?|m1YGOVfG+;^ zh%z|<_!;?Jn9DDDMI5)Te%p%AYFq6m0WMjuTIjobN`(@c#0jrJ2p5!fGAE1$Fjug;kq*TF2~%rPPx zQc2d7O^Z09rK({D76zi&FuTgg$*Nt-fO@9hIYIiNbdT3aTb(0Z!-v2D;6s*a04_;c z$x(Xz1_Zh+vuN$f9!?xjJjV5p>|%E7k?5;9ZUh5 zMwDsViZC9V@8+QsB~&D~sP=yg&5*1}62sBM4pnK=#3bhXMJ+q}EBtPPPDi&vLm^l| zPdBgI+S1~AOmBLilqgp)e!x*k$47_)#bJ$3@rY?oT8OY!MoN59&QY+LYLV&X4p#4z zpmE{%TrbZnBo$7AW@K*3tz=HF&h65Q&Sn+9hEEgt6PGDRS-7`9<{EQTPSh(Cmdako zre_Ob`iVTlo#fYiwSre&Dtfu`)7f=2HaMKvn-a|<&lFl7VUeB~s_bdkV%!gRh<(SX zU-*ttcwS3fT%lCyP}3- z#MI#DZ%OsOAmZ9C8ktccF4bX_)JR0|_36=p%4PHm&zOTl!P%>eCc3-|dATN$-h??|LNqiREIheZR*zl7{~#(&NLa zGH-|Ppvoo=Px_CE6SoFZhv(1z%JIDSrLI#;J{O zaBh`h1^VjtSxqIQFPAlsY zyogpd6>nBCHBbV13B*YyYkY*o}!cPOwL7z?(@A4uflHrt3wHoj8-?3Vpx2bdi z_Js51P;#tYNb6xw-T&?hi}{goAuTgz%D$&t<2Y|=!glw35?K}kN4L@F1M~R<6&@V( zC4-k@wq$wchmVnlo$n(E0QP`yR|`^;0t+3qs9d*LdrvDpyClxdp6EUM48(Y4IE_bF zj-gd-BiHBFRzzQNS%Y=_waSE>s?xaWL-%|<&EI*RA32LpH`ff!{|-1Q{5 z>YL)~UPfk{Zc#mO3;$1#DGix3$(}sz2wkX-c>32Gy#RGwPY)H+^~ul8_6nW*hWCy! z;YHAW#vgFD{ReGSuC~CHCHmAC6;8LS=j=__kVvR0A}dSm8;-Fpj+|^ZHH?%XlML8g2$gy&CrgZ_ z)r#M@T0)`bT-PIRXIgTA1=fnVM0y;;m9(!A;E5FKua+KHj=Ygc3Zi`+ z(!J_8TvGP7!E-G#Y+>1YR`V|=R z8(=7`l?t)-t$w{_hcAVec88+r>ri>WRGdq*N<@_OO&tloD9SJ38?(TZ5PK=7uDasI!jD&Yy8{$2jQR&yj`D^Dlc;N*$O%mha< zK;CuS4*6A@ot<6X`D@o|YQCiEEja-RHY+!s{(?oxgOY&#aXB!U>Qz)QnZi4|zq&kG zo6#9rl!2DW6c9Nn=-OO9*RSCDk)r6$0rP2TMdQr*{~v4V0o)asOeRLs@%62@5ZivW zU|`TsK))FQ{a#RShHqie6aWRo`O&mbnGS{o1_CE7;69&!e_;Bdt*=d(_>HTN=P8Qc zF8fG!*s5Q9v<|13*xRsy>7mm9r~nh8vY~j%zbdczuK(Y2t<`XV29ZAgGc$l$?Mtom6xwJ&rQJ?t5cTz8q2w5J-vK5< zWYnG3Lt11&pg-`J+l9x&QrUI%I6dipWUn{1r(SMo&`dIwmDOJEOMUTD zd5OWrdHi1mz^?-7U}NJbI;K%3$L1^`6QERn!y8<5e`0%{v!!T!!LlK2?DimjVsCwQ z>W75&%S5XL#7Aqm+vnJS7WuMa;7g+g#b;E%IgXL+gA!kfPdc2OVsD3|=ZC&GzE%IW zAxMhN%K4A*eaEkTwNpBtGuYPr3YG&t8NiI0yzj}`z@sY12vCu+a=yHMT(0Xismvsv zat2g}gpiHWk}pS{ut(b4kkJ@QUo+xQZTSg4e*Br1tOL)N)8;%7Sfx(sy7ND<{icKQ zjT#!jgJHuo#Blp~^l<$t)s*7ehA~q^&*1z`%6A+;Q3|iR;@u1O*A@2ra)PYxyqQa{ zCF+x=-%zI4d26`D=kF@P_Ox`+;)4r&NYF{7SIjR`o&fxQ6*HpH614x(&ul>C{r?g9 z15TeHC>}&^*tz;7mAaPFp?)b8LFy^&Gx z0bHh@Sd#F^-BY=>AeMQWwTf7gB9soGR5Ko z+>zfJxLhuuFBOWbegVh`O*Qn->pS}=W@vaVj80-Ds(R%r=bFKDt9}w^(Qh1COGK)C zXU|`)O}#OEVeVY}U`ZL{tO60!FMy-XDfCogSAT}{-?c6PXUoR4Hg@@+vpx7^h$}(% zzmzoS|4`ENfPa?i11$A66<8|Eze@#>NpnP*=IO(!Iwb1fmsxAleeaKbM#S4s?t6RG z2zKqNp;yZZSnb)Eg#k@a9!1yez3{-jw}TCU$|t_Rt6%*Z{hR=sbY#X2cz}+{ROXSu zUm3|!>;j~Ht9wpuk|OrK`2!DJGksyT#i8|0^Y<&{xWW6(0AC+`5_5N0JnKtZP4j(Z z6;l)~$A!=F{OMKdK2>EzaiBC^ZdwIX#>Gz3=JMo#n`8#Ur*Xc4Deuv#;)e9=?MyjTrn3y)*iE`dA@Q3rypVJ z-dE-?5+uQo%rq`zK3<>8W>``TZ@bK; z;@eX;0g@D4;lhkWw0|O3J?_%r?e0v`o9%CjI%Sn#DwuqB2a1!(ICY0~gGEi=a(*e6 z{jXUTAsUa*F;CNT#o_yI13eTbJbs$Kpx>gG7N=Ej{+OeeuN?N>|3efg_*?=qzga)-wq_cYy!Aib2T8E{ef(HLz>QT+gIl(wPZJgPU!~3o2VYTN_vJkx zd5IdyP|yj>runCSrj@aAdBG>-Et_uoD#W~jor{kPe{W$`!C40XQ9i!l`q=@$p8kgR9N?tbI{f)!*5;P3Myx^X$NUeD1_p)veApWD5Iv(uF8GW8u_WCgG zrquLSZnGI{YJmH)(}mO)p=Myh^f6q4+mj5f5VaJb+}Qd?l{Z*83aD=!EbPCBDYFL6biSIWZxBvq7@f?1uXZ#A6&eVoV2Ov?X}BX3}3vzhUV&`=jik&f;-C3hqnO@X_w0i z!X4pDS;4XkXe2EU-uq`Nm-*%M|EMMg-LA2=7=@DuI8u`~Q-9v?HBK3^W5K=2fy1W>W_?AZrBP%zo$y>^$f z@kQi2+7BF(ItyCF&L54;WPl{c0aEttwD01C-cZ2wE}R7?A-53f zD3(zPWavJ->*g0DZEMu$cMv4xmZb`E?|Z19$#Vu;x+mJhVPJ! z-!uDcf(OssF{=qBS2{L2(3f)oX3e9d=^&)v_4U_%0>+3m#l3Urkh(3*u8MWE{kUL1 zg@~S{tqUF4yrXB}3b+m2P#E;n;^OAAT9)Wb5UK5Sl}_vBvKJKi+EVTVm(2h`TPl51 zqYtL}c?3cF<=+u|8k$rp(YsYonh(qZOezNDCMip;nC?E6p3N&w=u60Z(~K(QJ(3p` zb1?3X{Mwh#lg=9~x`zlzI<+C%8Wy|sRTyhixm6k6OtXsLPkKdjMG^D`Wy>TmE=}yJ z1HI_L24)E`2qN5@-72_(i>ypS*7NtpQW_J>NvxwdycdA%lc9@UdaMQNr=rUSbRPjS>{Cl>i^d=zA(zCaRX%`VRM*A_6G?`l& zDbFuDCC_p5mOemH*L_x`vHMehBRzzMpjS7eEbPGj&-{$Tfwk?~&XVuMBJB1E3N0PF zza0W{YHpVzvz#m&kGa(f_n^r8@xJl+_6DPKm%QEWuN33pygl4@QNyvSqZvP5k-r~e z!bXljOTI=og0!G^BKVNM$@m`PqL6GFAoDZJC{9Pd7n_h30ET)unZrX)TOw|t%m-Zy z?iXS-{?(Iqya1IBzbLO%fU!Fr@}%K>RV5CRh_`!bp=#>0qxUwzcV;!}hdZUp&m5ro zrH=5lMaWOrwQGNUYHul0>@d;V`Mw3lvhD6mx862HV8Gz-@YwVVoO;@)1V)>DA$WuK zTihMF2l-=h*-3N>B`<-8j2IP*o&2f;c^)iei{EV1`CuWwY;6`ym;?XNpm$twOHMAi z5Vd?4&O*d_V%akv?@{s)gsV#fVaa1$qlcJL))LgEHrSo~9-x11waWkL)Uu+jr@G;A zGgmPnJxjg2!23Im$Z#jK2FUAYH!gD+Db-#LQCyH`w9D6H#2o8%sPJBC^3oH){pOrU zr>!`hR>c>N@9;mY`k$oe4dv8TezJdO-ny~>VoFDf#UE$kVrG3{%PB~q;q2lix_(JK zrvzlT;qns7S*WJeNp`#%xI;0j_(u3}=2y7NybgU=fF zmA@~FH2}=St^-q?i5Uw1Y$DeaxxnlA47~h2KJqlp|Lq{?68M1R>}41|3p{9V{xp*s zO$r}!+`O^<9K;3Pbhy1I0;q=(CIG$AwOa4%Ip;YFNnRtz7J}{hT2EUQi1+tWUdfKk zvC7Zzh0M0|GVp+t4;wvE?0N&ecw%|Wnt)C!?vCD4(|0{so089D*u8XiP5P^%fID;@ zR_ZPO-I(UKwaCn*B7viQkx*z|^JQ63@zy8&ks5c%NW$_Bakairx7xsNS*7BrU{*H- z0AC8ZYo6if*{H|^08-hTy&eIY=YPKyc z>sB83cw;{1e%5<>I*B#c_jRDkDrLZCN(`ZHQQrl+K0Yk>YnHgz8^=R)8X?CP*4bvi z_`9tJXK8*~an6{}1e%Rqq3Sm`HQAtK0^D*F&!V~mUZ(i#_H&#D^OMBHFoM15g_7Na z+Ut;t0ijJ)fFGczbT4U&vr^T0nTvF{(e;90ycc->t^m`Sf>L=TSw*DLtXR$m8h`|I z=8^i)r--T^ZUgr?t^yiZ?4Vc7-TQ%3fSTz=5_8OGYTfOSQ@}jkT#kLyS*0a{TWCne zC32%iaF#2^B9p^t&NA&Y=5nvtky4KTDf=~dRW2;ma=w9fpfp9V%x^Tkdd%48z+*hJ zj`ySu5|lFZPmeI-M$gHla&QcR!e+5*dp4z>v^l<}gt~ZB|+1X#2>ecbhp-FJDpTQ-sBwVGImB=b5HO1%PQ&ow-eJefS zt%Q_b8NzkZFvQ4JviJErua=uv9bwG{tKueYPhbX+qcJD8GRh9L^YHnWiye{e#H||n zh8qnSv*x|DK$Ysw%z#~NVRQ|^Trd!Ldr&;MGu`MkVG@)^!-T+egZVd5#2?>d5f$LpVe_(iKa@3F9P9IoKcGgRn z)`yUQlhZOw_1v3|n}hpIy}{O*e+g_ zX-ft}ybmsxhf?b<#$*fWoLJQn`_?4o*CqP{*zUys?D*$EU#=DiVIXkUtNu#|q*_iWn=U+MO=Dv;TB;yx>2zlJ3E+NO4T z=}3|ACI)?DHt^|~o`p_5KEh+jV-tb7{nO5=#bC-PGb_2-rAIcO$x4OwHDIBJBwPaApqVZPghPHhEW0Sz%}HJ2uLE4fcjE)4gVu7av1z@f zsvx}3Q{~$2&=@ODqRuR%O5~?=17DgE+!>WXg=QQ>Rn=H zgRJvg<)X#p@AAl%!Ls(Hj7w~Bxbd8V;zyLn48(=#`ZzhSw^DV?0j`^uNL0}Qz0!Le5$VgF#9#Z`50Jz(7&++!-Ko1HSrf1k_8*?gV|aPUU>KMwyjWi46~9dR$)a@UshT(xmm zb@C3;bfg585YYu+!b7=2cv{cbOo=xIsnVAGN9Ka3S5#8D(?sC4cd0G=0!q&VV$A*& z$b%Cl`%%E2W1>$w zmXtg7N_96;Qc%&d)siuX+iPsel?M*}=}O4!1`?k|9xS!LRMK%#%r-w)+J$_SN;sfVOY#=TzW>I z0N0X6x$_Y7ADbkmk%H*w?fc&K4Sbz<1nOLY>bR)W=|E%)p5wN_m!t8Yqq~^t+edn)|qm-ZPf=QX9(&tiSUp!j8?)~10h99JH#CPd4 z9@S8u#6V(3^J?MjvuTDIRwFsMn#)HCt>h^XBRxt7Q17<&{JOm9Y~%~%>KrIFk$kj# zS#Jrmh#$~h{$5q72czhfi#LfIh z21E_qsy3yP4fnEwwT}VW1ySRa!qe2tcmBHIBvWoIH;}dIEVBhKY%n{Km%NeV;Jcsi z=uvxG>_Nd#zaU%Z*-gER(3c5VC6#I1*DJ^x^&#ljCtTw&rvz>ThQWndHjh_TbzNs= zdd5XJr%1aawF1ZHQuN{5Djh*I3WKnhBc)Fn%rtRr#o4XV>Qf135_H~3kvL-b`kF~G zgxgM;i7KhP%gCTT*O0aTh82=sf@<9y-r-5mvGVpQtn@8f4%KlU7N)7-t=-W_Qh3h& ze*0)N>0|ivvaieYLy=Z7HTT<|&-A=E%U4^C(mNq4ygt_}^nI%_MB*3&B?|fO80!${ zb-$>4srfYMmPa++`fJEV(7lL%ocR5(Mo+KBvsqch0IvT`?8)2=Zs`iGeus9v+1f_- zbi1_^{Vh#yx$l4z1P9V7>9Q)@>J$WXGP7HA_c}7k4X4hse$;Yh`6Xb#yV$KVa6P3O z^9-L<{ugUN4!V#{nNS}Tg#YxSZe~bY8zqSYB%hFkTzc>$GyLEk=d)p<{T%omjPQ(P8S`a5CY7VU z8rteY^Rm}m;`*IW(|}}<$il`wP4Cu=5jDO`WJKn&&~NKHufqj9;KXtpnw?hzs#7k# zsu4dIhZtuCLJ;tdupqQORs!|+t6+nl7bnpi`{0cRqs3nx*Lv}1e3W-J2E1~V7G3E17MFhC56VL~{+)F0M znQ`gIM`QVq<0VB+EXdL!=5h%tdw zR`izxj*2_5XxyMD!;6ciw^e@AR~r-pSM^(ByGu?aDZ)ZEOLXc+6!|RGEY(C+!Tfy~ z0waF(=RxrHbr&?)ghN7MtwrBDhU89UtlOIN?-BmrF6qdR$ndFZX!~BaEa)BBB6rbu z=s?5G%vWYe{fQbb7Y6Ki1wEo^0*o_)3JMYAA1<5G(!;szllZGo=r;Q+&J6?B@se&P z_i{n&iM+^=HdA$5(yVQ7EUV~a-ncYTV!1V(C%m_USJe!x)o;vDe}5Wb=X&LW9*@{b zi==L(23>twY(#Fg`qk_$pES_kFW@@G^8W~@h^GKwa+FYY;*Tpp#g~K^uJV<w8B*Wt7;(0`r05g{0`^`uM6N;J8pWWn+rB- zssfP1|h2 zx!tcf+h(pzDccz&`d1jKNXt;p(;}?1FXGT$=}08?j4xX?;Ae}>uo2mT zeihTJ(8YQuT3+|%^Ef-kn$zbqt{Ikr$3)2L*4=|?seyiCI5tlQ`LBQ)GB`U|hX%5< z+QbuV1~$*VHp`Vf&S;Gix$d7v`YTeZt+aJukh>0S!t&KD{0?M$!*W}#DHZBI;}Z=f zVBY&5>*XN!7mGn~pDS_!rms9LHpfw*%i{`_4dRH8aNefS&myf@$cB+GQl&A>5)vSTa78 zXKn8dZn-(MG3WPFlnZkxa(%ReVhqs{MZ36H<#W5@rDzP@lh9a0z44MF*-Z<&p6wnb zb!xhn)esKFW&40;=O4QFvwBm2>BrKs?+h9>^1kTUXXOv_%E|_w6j?ae9WRc>+;2nO z>1qB9=k|=J8Zp)Wn=wR?Des*+e}=_YNSKMGvIfCT1jgSXaLD?_iy7DJ@qk=<$EM@r zsPy9uZ(ODZzAxc@@k67~SEVr^AMv1`vOL1A&LSv2^UGsv11K8e-c~W;R}(x(EQ)C$ z0NzbN#YO5ANV;I(t^bH$I+2Nd;+QExNygl7ALH*Z#S+wS>Fj>-P;B}7@Gz1Zgu={7 zBzYVG^z?Ol>{WOH0!;3Z;elYpXY@8wk!0P%yVPFn7N{HBFECBQ&12%qZoR58gO{BG z_jt|FFDVp>XK=%DRhL#s-(DrtVA^-16Wsylxg2$Wec6b_QZ_k$e}%gJ9D~&Oau^ww zP}gw@I^|o)TlU~hZW2H4peMTNCTP-m z-uikq45xKokHqrkcRWqK_36 zj**I(sEwD;S&-J)a(o^Jg8mHJ^;$)@ct)B;+PLT{mKzbPRcP;CEU0FYbH6b%aSnl2u>EGMBzfJulOqi^U|Cr zBqF*n4B04$P#0MD7iH2?5x<B7&;6MgF`aqe#YEB@r9L!!_JmY^g4FOI8}(lP zh_Fgjc_oNj&i;x<#ZPihmEWxEC=wn&ZT+c$&6?I6ZAdJ7)~i4=r$kMkEEVG)fO)$K z4G?M~~CTX(ZJHeBlcu8vBeE&6PysLPivguS!Lm>1F4Y2v2(yBN; z9mPe?G&LqylZlUTQagpcoFVHA*8+evU2!ewNJOiGo+pR5U0+nqo1E4n`B)qyy&#_# z?jT;>S=Wuy%>;47--td_{M;70lq`E91Rb3_0-cGlQTeRkzlR2K@539@5rN2@vI!Sx z)W&7?GV-u2Z@&Y;RfNb>eD^(zpjRv-)pTjm3dnOt8=?hmzi94E*d4X1TmVi3L+7zr zx;7PTG(GR>&?10qA9g{H=AF^+D&da?80d|*N`;^fLI~rd>rubM!!Cj&s(F0eXB0LG ztGpx;i)DMgD(dg3!ZA67>>3PMo^CO%w^cCa#4 z(FZcrMFc%QIE7S%YF;w<3t|yr#U%u ztVVClYC8B4l)rr}udbiPq6%zx1&T7wL3|bKX3boWSrjW7D*$Diq`IL$_#ST(FC~E2 zd=hyaJ@7a9{#SvSw3~}*2o0APk2oW z!Wre(@N0+flRorblK98BHRtJTvi`RZ_MOs0qJOgH{R3T^NiOf@55S$VR-?R^hdm+B zYzsMwJg?{`RZB0I$-zawh~u@Ucbp46(zz|JIWF3}B6)Agah6LX&4ybZ_GsZ;U4VGk zed35U6LMXD@(efkbpi6Fy`?fAO(J-uA3b1A;1{|IZW~PQT2lryV}n@itss-{J6x`6 z#IJ8e-I1B@r#@?cs=8S3oDN{n>f0*NO_a%}y`>v$u{-<(&jS3QxM+2PSu5?xCOB@X zUPrM?DP2(F$LO|v=n^(!Q(XsL^2D9A|CuLL6(PLMdNZF|1B;LK4i-+!xhrJt3_PvN z2fKizoR?OzautWIGTR@;p0K^R`NjH#|4aDg<*h<^ccA5lYoA7pIW!96JP?XqZw`e{ z?8Bk>x9vVp_bNvXZ`;{#N4x;1+!2+xfsy*<9UA`3kdy>Z{|a0yH@L#&Zif@!9}mAK z==H~e40kmAyRCmGS@Ag!Iyb~66qXuRPGw` z=EdFZvj3lBZQ@=_)~_ur)z$ZTEwCv)8cRN0!4tK!Kpubgo8;;k7lhzZFtt#63^9l$ zmdUIZ&q?^C-B`HlU$nsZUOl{DbD=Ks2A^(ipV=9Jo2)oNMJF z_ZUMWX4DPUaLa8@f1mI9H2vtsbSg){jUtrTMDq`~oxOn()+9Ko>wc{eq!-dk(Gufo zg01VE6jXO1zuo!-N!N?LEV$W7>as7;CrGOo>ba;65f-;9rjIuHMi0wW z%+zonseYPKm%cVjL?zYfcQU-WawlSOAXYU~TaO=Lry=F)#vo^jJ+>|1VXqjVW6|Mh zNaVPjFl`Jt_pF9%&7eJVvr#TJw);GA?&{gf)ypKr@-+{6DMw>qM*p2eU-*?*(AJxo zuEMNaQp?=cofpDeD-((7clmrwP5GnM@%#o6WERPm$K zfUY_7|BAq^(66A{6DpY}ugRTkc-yb6TFb!5mQ|CNS4(9(*&^L)m#xeAiN_#G@IA@4 zB>T-_&dPVuE@>>so438;Ezo?p<4rNJcOFgL>?c}icE^}1kItj<|E`mCLr1f6E<3%R zFJ3Bm$tYzp=94OEi)?l$DPv=6xqeFQD0s(O##tpHGD{>+T61I_hWcXty#su~d z!MR`QT&mD_i5L`ZH4UUP;u{`wAd91Vuc1bTsL^ z8A=bU?zwT@3kX9DsdOpbAl(Ympo9`4A>A`{3xbqLql6+TN~eT?C@38w zpoAbGdG`$J`J8jl_xHQ6d;b7^uUYY|XFYrE%`8izp_wZZU*6T1XIq8tdtUW}AWPBL zpPj*<_4%c+pSPMvvC(=iH*yW0nAFtgdUi6I=h zuWNjIurOJV)_WGNVg6UzcShxp8qdixWU%=b_Kf=vHvf_sR;EzY5Y!glPbkl8A5Uvh z{=87lntFRMD8?wvnawy)$GTB^yRhW@`pN$H%S9?UE^IzXjnF%%xrsCNx)yVz8vBa7 zEJvFx-lzMza*;n1y`SReMMGBZD>!qA-M@vyK(!#zEIa74$Ls+gM)M_72le$mmS?+% zPcx5C_WFZ@m%A0HcK!F)*Y~)h7pXho+SWF;m4u>XGiqWdmBU|yz23V$Xu%n@O6biq zO;|VyAGSjIShMxMlL?KCD+kjK?Mc7;4^htQO^21Vh3*CS?Wik6ITCx5KQ$U!>vtKx zUbZ;d;;J5MIcL{aQVWKoq^}K!I^)yv0zMLQ11R8bz0(d2>$!LVynyb}G^}f;I3z+k zHj#nbO{YH_l^BIkHsLkvZq6mG+JfLC8Zf5lQW){xEeWj)o0_JC?0+tf4%G)Pc-z2IxwB?4|?cr}Wh*Kl? z&sW}1^z?kNP*ak9kF&be&W|pEv!4PDvg9J6OAnhoCCqcbDmO`5uF6A+D7k;}E*(YEYL9tEi62?Ehu}x*xD)X42&#o3ib#C{{U?4&Ys1rpn z8A8rh(ca0OWOJXHlj%KczE&ds^LqhDyHg^$yU(VMt)!&WjXShzEGE^# zzmk#~SEfF;)2><(=V9&V9(cS9-mtknu4nHV&6u|~bCNOF%hyEI{4-G&@6N_6y;b2s zfdh+rRG)mnUeJ#Ocw@xw{NX!wZ!11g(Z(6`;4F7d$vOY(sN)mOx)};x`-xo}Igwg= zHKEW*VTycGj*EgqjzNmP>w8a`a&38S8@;KFwmGWbP|VEu9sB2VMA5|A@Or?^s=x8s zLI`q3eZ%_Lu5J8ku^+ZXq_n*JZkIPMbJ9UoZQN3qjT4+3t!qhk*xxPtCiXS=WFWzZ za6RF3dEmcah@=Rc_9?a{(2|xu=*erN-QoK>KfvQPy$|`=EsOJ65Y(*s=G8W_T%dKZ zCTPGcHoHFQe(Olp6P{b7MMW3 zh=JY@`O|&2qdAq2?Xk1Xb-Hmj!VbQ?Z)5!qh~{K<@Y@Ftsq60dXJ*<%opDHlbs}}S zZ01)#n0w^51#II`Oov8>^vqIZz!8c#E}GWr!HP)h6#Ih-mJiw+Z);NxO`H9WdRLB< zzP2dezu;!~xh;=n-cS{{qfC&qxVWU&c2>HTt1U?|G_vTS4VpY;LLZ+-Z0e{h%iwlV z9INfFK=w^Zw@`fFl#ZlkcTV^&ONqtvydhY-4@X7(I0*n|2}M=2sD4vUlkrJ%vh3XP z;4fLsdRoFAQ@D6l0f&#Dh!xpk!`s!N@pp)R3(=o|G2UjCLj_0eFTbjo-c6WO^={Az z-19H+wtqR%St6GEYbSQL_$0F3`qhwSIsRgFHdhGxEZ8^CpKtP4JD&Evrv;ZH*Aj5&LslQycN0s%Ml&h-bpZzU>Kw z9iOk?LRC?+6Ha=(jqW}^KcCN4oisXS7rgs!({u0hdUfyvvz7*s>H^`qbT81QqR&a4Thi(6(eaZcX z8DAU@R`?09o zvsEy&(JPZe`VmBrs0|H>skrvj(uZ&<;*WhV?6g1sxbSKv$VsBfVv569kSI*o#KvOg zWY;H}>zP44M(@7U9kg=TLd1`EUT^^w7`-7D8+zyawM;Jcw-DMeT{)SR-W?EfE8c$2 zmjRpC12d`HxGFcVy8(_M`@H*HUPyZpjqKx}{WoL-$64GN^TvNL<$(_#;ItLNtYFKyjXINk%$^6?{Xnre&E_& zx^evT0o=jo00s0-ho?x$Lfm+Z~lp{tymf1fHvfhyx;MTv2gOcUH` z&pp6rQUX7`mpKR!%t*V~*ta|!`_|1^43IURI}-@baJkE!d8KS+d)D#6HQU1DiZdr~ z9Fv{wJ)0$X+k=9+zU|FK9-kDJ#2+5Jbo)3m(??Da@ux8u>H2)M+TMjrMR{*IJ#~6A zF&n#_w>KF~61Zj61^JXuvP}kq8-}e;x;$ZW9UuQW38DQlOD89{OSylvBa;`Ik_2RA z#(;J2nUm~|?{AJDHiuRTHL-?9TB{HXpnk62c`D73_YIO>fC&AWGIJC^b@$^N=KB1Z z!DjM<@7>i)VGDtCU3-ezZ(jNDCqGr`?p&VsUuR0uyY0D(C9B{;!O;jc{o>`b@|bSp z$(vQO>UiC#z{%G&_cM$|8w){t_=)#VQOZ4eiqTPuog~Xrt$PJE}xaA zw`@n4VT8%{_`(9m$Cla7J|B+0hB{8EvqveD7hslDdYV>m-bt=MZ8l2m86 zdkf~?hOquz;{E#&fySLBrNSRJn^GQAuT-xy4e`MiP;w$2LMmO#qXnm`{A%aNqfK+V zg%Y`{H#ye`PMay#-koYoG`k^#Gw){=*-%T~kllX=*N6`M&Xwri1B3!h{;Wg2eT~PHQlh*de(zFMHT(Qb8EWRH029~ zX$HKVkPk%sAyf@P;7v$#GKY_qrd@sz2)OLbm*M0?}q`B%4nUqWiAE}5}h*3R~i=aS8;?tS*-`144pRl@4Hw`*ri$BVj2Ang+YI5qZOqcXlYsuj4qZYNO zOoSlO-MPRGhA#`7Y4jXf_;DvdJ#yJ>{5EE1=ez?JP*cGtubNq0kBQ^hPaK-^j&`^X@4fGYboBH>w`KMMVD<1ULWvBY zcHiUu?r6UV2|v^36*9rw)kFCkhv!2^&;L1#&8y0pVpOg1xuEnuohvq(MV94yK2!&jnMBSqi!Mqu- zrPe1ji4?NOkrMk2&GWw2*(@ik?0Rsig~l%>ei1P=SZtTml}0`x=6kuiUo}ZAiZOA!NZ&Wv86c5{4TL zyVB29Nqhx|kPVLWIE|Py6z|kGr%hPFNC!zK;g{sAxLLfv)V#+#UK_$#u{IMb=W-7o zFrkq0b?udI@a}ds4Gd8oXIQ7$RRrsM=XQ|iH#`dO%8t&qSR{};fLn|oZLgOlrL|jr(gS2D^sdj~?rdZ?Ue{N}P02U3%WU+W-0UMcVB=AOvrFZ=z36Uw-` zDDz1OO_;9o)Jbc$x9;)%<_0Ci^?*;1HE4jsk=RCa@5&IB*+qH(+`WosVsnCvjq_vS z7U1-ZbfZo9Wl%7je&hMZt6>dVxD5{2#MqD4T9EAVC8|7>^OtzGR`%-sl|9{fGR7R! zy`Xu!!;^<8#fDAeHwbSpG!+akp>nhYXXaErwZ;Ho2Sc#->-sKxcC}iX}5~yekHb($aAJEx4~?q(oNF9o9Lat$4S2-7Q&i zbM~*C4_Xwfg*(CONu0IqhKNs~=L{F&Nr&f;R4r?Gmm2uN8Yv_aZwL}Q!5Z-l(39nlJ-q>K=+aJ2PkV(CA^^|r>f>AC{{3M?Jys>%9)#w%u z$y<+_*6aZxp%lQ;6{E7hUJ;18AhI$0h1#!6BoF&oba%sD>0tP?&D#)M^I4!Qa}d~m z?#%v*YF)4LX)$36NV%mM0bd^U)6I*UdP%VS>ATOQ@T5I^yG6KizhN-Zu3H1P+Ge29 z$EIzHhq8>frwgovP$R;jk+K`iDXezVhRqAwCxW^Iva*2AhTO3e0IEuCvyejQF7#VP z-qCo@p|v!nR@mgu2?YcNV+?3>j$sH+Kzh4I<*kFQjcTzs?+?%M$+Dycj%LqPzmWJD zDu<9vd=$irx+Jt>YhJC*65c2>c8ALBtG}k6_G~~$$w$OHIYb|VVMb1P#n&(ya{jYN z6ZBj7{pN2z)^8o|{UB=PdM^9WxA`h?&Y>OnN7kReDO2xuk44sWNX4VnFJn6nUCj~L z4KM*KAKpkJ{*8$AhO%>;%3SlETO%@&tD;(+IlkhdcZH7@Jcwh-hUHbi)jSPwYFME^ zi96{&CDbJS61B=HaBq11#77tJ=Iw*6FJD$a zHq*kK1VY>hHoLx5SRLM}cK9U{_hz1mfAn{yR!-#y3v-xW3|w&|JC+F5NP8uhDEBcW zwvngc&K9UqAXHuV;{ z)i05T)?W;14O;gEf?A($Ai7FwPCjr{-~I#-dWEQNwmfRHn&BEkYzA8H$?cRV*}f&X zJ5N-JGGq_mCa`aUe4t8{A9j*3s-c_VEc>Y{0Zx}r#FQCx60HJvT-q=1h5aIY*&YzE zumZ4+KHw9lfe#j?pm79l2SSb3;cu#C_C4=ax+J$K3Zf$AQakB3 zKQBlxk2ho{$u3^(H++onO__ zkb?YNf3VYRWwxN(c1J+o$;_hx-Z4AHqMs<&B`oTX213jH@Nm@xE*SH zXoG?&^=S}IqJJX(Hp%ztfbGL*Z`)e8RS~o_*%C%nSH+hNkl91>~PLz-H)nsm5bcFY(VA z%I`m8`H`A;GMc3BuE8xn+pBx;$2tR@%&q8IL-io5R1L9<1Xnw0z0{g}@-GE^YwZ|? zAgodvoRwgtc}67N-Cc%-)<#i&Sf>^7vsBbiSlI2|o3C>4h0L~y65ACLxlxyJ#l*xp zUk%XB6nxNfT9r5`5;jE?Fz@tot}R>ha5=z(t&3g75NECav+NuHBgS2_`=1NThLYwo zr8(!B*vJi_DqCImGQ-_duSRs z&vKu9JO0oJAJp~=($*uc z_9}eeU?+R}_@cV>v6s(!UqwEL?)qk$TBVtz+r8#iwGqME7y)1UpKShP$N0>lG3uzI zdE&+yY0vaQY+f$2{CsDB1|Du!2&L45E}@XdSB{(fdA@Z=EyoL~a_v-CbQA?#^%>qu z;uZVKbQN4pPVx#@=bwfM{w1Mtcu${jAM14bt*<0+#x7 z<~Bv8w8RmdQTBLHrXtTa24d$o_X}|pp~+!#$FJNM4y|2YyxP6Ac3r)T3-RLO(fq%hf8Pak#{!!{YSOjw*`p$zYEa^&(gADiVI8Oy0>hs-T(*TU+R1xX7Eb zT~x>&Q_GXUAIho6Tb45h$+$XzJL4ORxXLK4?hJlK8^7w^#G3^n>PE?I#L-AXd_p#l zIJU|s{-4dg_s^GQ%l;UideM9+!(EhoS?e(+&+vHmwA*H~XiTLo$$8bR4p14Jlx0L| zF}wxxX13}kSgoPFTsZ~#U(kV~DR*hfWBMcz(%r1MzmRw2wTTMO#5t`U-wFG&^QwHl zst=dER8aY|HPZtcA`LoZ8nFUR`9~t5n`&`0J^}FwUL;Qv*>9AVst=}urHj5|Gwx8# zDisjOIMZ*UHL8}%n>lT^N=AqnDTsu=5x5zkh!9~P~D zvDS3T?Hy$)GEJTLNz&l}+f{4`L3xgQRM>+JhoXF=(kFPSW*@B%6XrNKgf@FCp2{BG zWb=#cFi(#j=8n3_7^hUn24BHRHh`BZ{=5Xo|Bl=`On5q+e7p6h$08{WO|PE;Pyi>W zAGGk66~W9l6T8vpF%E^9O76Iwts~FHKetI(%oNRq>*{}JwNAX99R2{#{WXH_`JPxb zqlZF`-a~xqxxBQ=0^WG_vN*dBzuJ^WxNBoBd`)mqR=B%A3)iFMNj9>8?`5mh;t-OX zNX?N##Ac{8P^@e>L=yxqbT<!y1 zdsyns!%YyA^$u&)uLxtzNo+)!GUZ2ziPC=5TDC~QCQo@h&Tc6!gE8qK-FY5k6G7RG z+UHm2p_&S1e_Rab11|2L{uUITSfpT2W4O7fxXwUnOtk5jp90zEN{IKb?wS zPw)BbIBIHW7%~UBrLO;=TE&5$oWAguAo)N{L=lOyW@J9`*jgmCfxT_x@*7pPmv|q$ zlSPb-IF{8_^r;;T`*T}j=(?{kgQ-%BGiE z6VC<|2$hnuKv;SAySoi)#qTswI;063`^i(DX!J7Ijv&+e&eEBTtztZEy@!^;D4Ign zRjeLIpOc#S3TZEKi`2~}2nn^(Edh2sya-md|LWWM%K4Vit@oyE++9{ zXSE0$uSNZje!huQ5rL>a*CxS#n_T!SIZHsTv)yBvLXfJ~%?da47-Z??y*3jQ^@aI} zqkDukv&yCO2~Ud_$*(#oYdSF14bojo!A~}JZEY`2q5tjIHg)|A)P!iqvP#}uiV&fG zA0VLe|K!(5Gp_PUR4c3w^{LvjA$0#xu1iBmXC|Iwh6F%9}1#6*KL zy+yG_;157b%y30a&0QAVzK$wh$i*dPdUl;Vbnxy9%s1q zf76D!=2<~gm@bzlCHTXNM)25vvm(+@lnei!sJ~eet)?{`qXS6dJWkOR4UNnp{Vm{~ z(FvxwC;umGsqm^s4|6d<+kbClT9`(Ld=Jr7N!MfL7eY@4^66BAdV1TSKY$kaQ<+IQ zW&}+Z=0f0~@E6`ys;j@0FES!5*L$slRJd&WA7Gn{0o%@G&T43}t;SI$7z#0L=hlPg zGqXwt%#q)cX@wp*sX53;yAwtcvN-|14J<4CLu;ft$k;I{iujYFk;#SExS<*J=-?-T z;B%M$vWy`nR47V7hO6u60GioDZuYx#l`?Xib*>2LGj_HWi82$ev(9A!I+q5fb3ws| z+1=W{hfMrJdDXn=llln4G*8|}aC&Sas$)|FN6&X*j6CG3A1l8oI5w%&Rg%ftkLkZ- z*{Tw%$AQ;JaMN~kXQxL@&haFg)$~vApu4S&J&o0-;Ht`Q`61aQ9GYa9MkkGDv)>}` zLtG=BYI%jRU10+~bQ^$mQFX!rS|!CN3U;muVcIRDvSwEP-!>reM)k%^ym8QO(MD@x zjNSzI0M;RMD4mG2B`xLrG(!zUbyDgadQIy$|5rWZ|7wm+I~Em#uu&`6Gc_zAj79@xXB^HHG#b=l2r>^>PADMA zY&?|8i^_3oF(VNdc-!4u&RCZ{#}unUA0(sfngoV*H3QZ)dZ7idt~tQEOfjs>wiQAP z``u^zQA0qmMB*cD$y>>22(EnmdG z_fhX-H{oB%^nSCMB$`k;PZCuJf159R)(cc)oc|Dc1z_i2BEN=`L{dLSz2K$zCvIsG z_590H3_lcWkR8NWYK5^h3~U2bQkkqnZ2odD;9!H^e{*n6$ZT;;_^?>TuOz8b=T9Bh zcKfAj_6Vce8){b+b&)OE@|@)KVZqNA$<_QiVnlbp0JtrRXRnwD+hRzuN7F@gm2sTW z#R@NSb*WYyJmb%A)fKSe$oG^UP&D9{|NjB*ODWIj*qEIh4B+Bl1*gytIi!bCz8+0p zx&@aKD*fLqdFfQDjHaXgq+fW`F96qC`RJQN@g*2Kqo?jY9&kDOre{CdS4~_KY zdNSGD_P3KU729g%fb_*&w?j`pX7cXgn8{~ZVLiVbB^zEfXD90@uG^IxRfk1BYsKdo z{ZQDr54?>InEHrn%9yLd7v;%{bqQbe#K6uW21W+QWWW${b#)p5HtZRp8RA_G(neJM ztIEJ^Bgm@X|F7izw=$D)J1a9hB7Tm)8*@cqy%7k-cZlCYhOzYdSsRAuZ9(`g7j??B zo$6jZpZTiBcYl|9Ey}~$b)@n)2f)pk9C$Qm% zu@@t3W9*$cvv)PeNMh`Un_F{%WM-qQNmUQC?M)*_?mC|ukfgWxuMW`J4=yPL?$5Ft zQ1MWX{hc0#rRG3Y%^2$cZ$-u2Rd%Me{O>I0cTpXku^1JYnflpfC@{g-6HA0fX3{*w z?7|{#v0Jt2=&sCs%1OM$H8!AK^WxQvq+O<;i%C^4^EI@A3*gTWZYGOoR(>H7UjA+w z*xagAgwSIvYfxO5NVITpckexGV5-ELe><3OMPCwg^>2Z}NdieN66#R?flSE#-vtIq z^`Qa`e}QsTLpL}wE<5=aQvLIK2T+tThyGIF(Enx#H!XD1*P~{qYQV3|$7t#slmF+# zc=q;w{kjL?lLZkvRN(D?i9tHqk*L(M0EI71QxzK$z8Hu~*W*4T0@f*17xnah%EbRW z5m*YjV3~*+y+ITBkJ0;Y6Of6q69BrfM?vq_c&!Tv)ieF*< zaI|)W%yAD5E8lP`%8!65uOiP{DnF*B{!c{&1j|>TGsS5RNEu_qBCgY^QwS0NmS3+S zKQMC(-J#HCwi%TJKKthy5@Qs0RH>4?9ip|?=GN|`s!_ys&nO;d*uJQQS(nF3Kr;M0 zb;bjM{+u5FpU3zV1rOAdi(tf&K#q)rOLC`C!=Ud2bU8S~)R{3@Z&T4%%~XBHs^W_H zfQZrZPZ8rUt14PHLSs^@5g@0!Qa)^3%C~+C#?b|45C0KyQe4vEkXd}~Fo*U}-`+|m zWP1%!rhNXnmO0>lzPoB$MOB-i#wgI{O9ZBP2*)~NFxdVjxq{UDQa?zJF zwYpU&_iuee|M+k#W64I!I`*R-P&*kkOu;Y}3e?WO!_=S`Np&{6PfzLl94i`dJTl;+ zZVfkH<_2z5+`=4L8W4o3GldoAwSeawR19M6s0U(zU?@(?j&^0Sc8o*!CyS^z*rID~ zgNxpCeqYz$b$VHa11Xp$uK#+@YwpB^F#!Zc3{nb><5hPHfKsQXJi3mXZ zsW!%t{xeUOf=FXLc>srO0BH?)GV3<>E)Xw4#oVbxdr|`|%dyGos!-qI%0NoOeqW}i zrnV#E2OUT#pY(JeD75W@ZP0kwWDCZZZ)+3eAKdi_oxDA9KOHh3F$Zk?+{=F#*qDq@ z)gDb+Q?8d>M2pErJm{3r9byJT=K_f^m_ku5G8HYUIXIY+kI(-^%ipRaGysLHBUdpf zl)Up0$luq)*B1I2gn6GYUqff(9Z_&{pX<5OF^|&ih+TM04iJ-}(+Gz|DpVy7==SGJ zs>cQ61eG5tyL~A#tFIhbx@s(_79rARW~4s zM02+`DATqkF#~b=o05M=Nnuhh(&00dd{4v1$x3Bb?0gIjLmxtb@&0d3f0r^v*EEw2 z4oTT1E5E+Ssj*zLe;y>@puThFL)D2&uvcQ+F4{&-L3n%Bx!Uz=_L}YU&?@TSpeGP6 z{^cvoj~6V6>R&!(&CK(sIwX^|H7;P&_>GH7?m2us_S~fhxxYJOM7Xj?j_=x!|5niS z4eVVTa{m~UoQGbaJ0k)GAh7&SMv29xUf=mYy)nMTLepA1r-cnaZ7wekH1f=-%z5lq zGRq4YGA?&syR!8#Y%R|adnkf;d<-wur(0JX61V-5$YhYUM;dp=D36`BL(kHWjD&s<-W)EwpaofKLIs1~}&NDvcm@`!TrxOQ~FWVbA54B^Q*o$`J_I=>Qi8CiU0bo@oZ&IvtziEGyut$zX#@IjC z6GT%A($=ktqNGsZLv}D$uA(GS)Q^eGRl}De&KQNg@)XN8p^r!F*0dm9wEtcQuS0Umuwu<(&AEj_Fh0+9%-+WdCUDqSQ@ZlFC( zJT2iWwK5`rb55D1pOnS3W7SqAs+{j@&~}drPOH#Ajnk0SpzbCzH;n>xXBvOuJzDp$ zl`k|StkipLi3|n8#|coGi_Jr(m>QK-A9wm)MHdMNmu@J8c12Y0?!{Q{@N8R^8;{-_XrD(kGJ)~ z|Am2100w>`Wr#LezKH=CQX+n{Q5`npPp)OHDPs_Dy|TXFu42zy%#oAhZwMwt<5ikI z`!SGmH9f}o-QaIzVTZlkNG^(ib^7k)#l!%I4|ebatcC^Mb1Vno%>$ICePc z{H+6vIm!VlF=-5&CDZcH+|O%vGhSr7^Twca@pJYkx1KU#{Q@lmG62r8uAERNH%($Z z;?*}VlEX$I`jrWo=HW~7wmPS}^RsmhICOOKK~j^T+c24sFPI6U(XjHn4L_3&#uNoE z%xoyCPQkY=tWCJ!94>$tgC8BYK<5+>J{8;p%>y~2x=yYCmKtENZgm{ z+3z>vp*(V0N~+3<9@&bF9nX1cCRDRq3>ad$mJxTVu@XAM=0uS0`zea}fE3<}$VdKh zBkDyp>02W6CNlJ7MR^ycPQ(o{1?O-bEzCkeEI)uEB-Ro%m}B#3OhQIHRtu5HdEL7|WW+31 z!&Ap)E+yBvfTXVJ&9v<-n#lf)@#EuuJqo;bSgeJ^j%11 zneZB)Df!9tWRQ|hI*QjJ>K-?JhM7HI=xnCG0Wfe+CIJd`6V<~s zV;3e@Arl;unshv)@&{tDXq!*IE?#~40{!i~+jzMW7RuzG1zHvC zV2t|G!z|8wCvOi!1)&<&+6`QF5qijqE{;NrOHL|A2uucQ#64_zkV#5dW+Z1#nw6e2 zE@^bG%7}|{vVk|d@Y(5${7)+V@=HyhvnSo&>)$FK!MZ9#O?rjDHeKH9RDj2UwLHoa z6{B2p38n+<^k}0Uv6ixl1(yQE`GgB^Q}SR(&H|Pn1#MzyTT{w1QG1C$K9nWmWpvMi z1SB1IHY+;osIIB*%a?X_i0EDN@SB(2TJ?2m;R_C2me;Y?h8`D{Vk|ReuGzY2-4IFy z8_vGw;Gucw$M>KC#o#3Pbk}i@@vc#JnW(%8I^7aeWUY1(>#JjX{OW|yZ^5d7WLXIYPi@J(Jx9}0;5Q*2ChMI?)OrjoH!Xwsi z&}Y(UJbI50t@KqhO5Ye8PyfYD^JWwUx@KAoRG8)i&QtIJQ))qhkIs?f~c$3|2u;A|p~m%}cIie6jf($Po}o+AyHZu_)p)QEISgKEE`AL63q*wNWm_=-fBX zkzNAN?a=-@q9IPvxlr%`Ye;>i=nLwwqk{c$5Y8HSEP^bj#X#kGC<0*-r%+eUC8j#S zBq}zR_H|$H{rMxb=wRHC|*u4=Yg;BGdr4e@s+xq$MI&=%&dn^>|}Lu7QE7uvz@q@=nd;Yy;V8 z!ad*CnEdGuK~L?yu)Gq2)wKdY*@0*?7gboVhP> zRwHz*%ZgFSj*jH?;f`Yo?=!`GM1@nYJ{Br-(%0^DUqIFP)B$&i+#w^a(TV`^RMW6d z=%7&)q}x~hH# zWC=Rcva zP29EYTRrhscWzu1$u^btRGNy&3GWL3-r)J>SpljSp_=KaI9J{Ah#L#i%NJvST}U*u zO{ky6ZKB(zUnr^F^!&g1D*7Fkn(~K4;VMATYXL$3DyjEm8I58h8q%R+3bM_SVNQ?E z7nEZS5iWHsm+gP6XapUA%Iv|r9zAvucvtn+=UfsQbyD%86H|`8WE1?0OoO5~{qG;f z*NcjL?t#A5LPw7p4@=vE5-Ax=y@Yy^fj`P%*n}xUN}qV68mKk82pMMqG^7A%0NJ$M z&v1!1&BYgF`%-@jIG|qKwy+R%n}nJ=z=RZ~h*aOZ>V!c)ShaQ&@snoGJDp>2wnrog z-8R{FC%%$!_2H#edekIPtq$o# zXc}dqnGCuRMOSE-Z7##gp0%P8b>s;pA1w|)C`4OaCZVfVeb4?B;(~mmw<*Z;LH;Gk z2gt7+I^q!~tb+0oB#510VN?f|nK*dvzy|rn$+5JoOtLHV>cCqbe$JPWLgdw6`t|m4 zw|*tV?fAHw{*K6n$FwTg)~y{hux%X^M9g#e9KU`JVtQWKRgEoOoW2`O%%8+;I~7B~ z#H{2R0@C_QmdTBm_!9ux1B|#oV%l|9RBp=y*1SVSh1y4Y#_}B?QeVr`snA?j&^o5X z$?;}UO(XPe=yNH7l4`xLwC@;hI4sOXECe{|-r0^PtsUr~nMd0pPi3kM8-#T_&0i>P z_3EN_i}ko|V&5^vZp;rcE47sCz?ZbGeUs*Nx7a1=I7g~oEz&a{&1Z7__CXTgB`1yS zC08=Wrese`Ez$?K%S#a8#gHpGUfR^fzPZI+53*zJq-w+uJ&8%8J8`Z{F|Md_X)V8% z7WEl^$NCv8K3O{JQ)AWVG$_&+{^ZEP6q9!NN*vEL?ZRYb5Au~-Ii{G%2;)I91@erp zYJFryvw}q2rB4>#Z3-Ubg!)k=kO>byh{8%paM z+Odmd#w|$wcyqCxhhMC+kdibZ|Fr^DSeRdCr?%1~S3{3T-!c{bmg+uG-=gx=E=p}z zK?S`Wa~K~~=KU@>2)bHBY!L=+K8L(R%16xP1;pchJ!fxvV-9M-YLSTMqQnOG(P3d+ z2wTLOU&UdIf^q3;g3A_=49S%T960IH17w4?!ih`oK3Q;;R5MZWZMc`bdML0h68ox4 zRpraP=9WQhA(o)&2r>KtN<|Q3h+3Ns+K?rO%)!k0TQxc6*&H3$IWX~=#_v#-1jE>( z3%~px@QYVeqUQVonz!rQJ_C#-X(-u4!IRbFE;gmoG)h$6I&kG_K2)5zNM%G!1H$X~ zfRQPy*Og(YX3tm(reotlNPHle{kbdZ%o2*2B*YU42NNP@yU09GZB{FPgd9Z0O#PKQ zfVf({*JQ|e_YV8xe?%qRXQ~QKJfuDWdGSM|@I@_h?k5*nZF_R`9ue_pQ<(`bR%}1l zhwwT$3SAO@_V!7-7duO1PT_&VB}PtP9s$U z?cN9jr)YF`I=@t}wD=#s-}nJsCD5nl{SHc@a@)}&lgZ5DI@0CaVtVtNIfSl6XsxZ?Ossy85ZN6u^6(zTpW>|IZIr1$%d{#)0G6%xGb{2wXfgnn zK>9&KSU*%+Xj{ZuSXETD0}m_>ls@1TNO>C1rdJ@8ZF67ew!MAWTcd|WIyM?9RTdey z3kDX|?ZvCop46}sVLxanXGMRQYYNu^LXOA#y&97MQyeA`Vg=gr7uYqF37M6;4%Z&8 zoVS;Y9)ubUFQx<8kInuBAk~`1IXVQvIa4~1AANK!%b}yuC-)@eWq#$h7_b5pwAqXv z2~}+2KAh|)c!W(ljDVJG5MJ>O^dbpXRkIy+>I81kAk4h%6bT*ZWMhDzlLuOgx}-LB ziN+olS+P>FufGL@m+X-TdnZ0T>m+XZ#GyZGY`dhG6uJ6c-WB;Devtgwi}nMom7^MQ@bGB2`g#{lrD_@~8wpgg ziJX@CRw)g&_jZe&Kb~LZHS+VilXipChWmWnbw|rfcm_*|s+=cVtRy(yna>mf3ZP@K ztg#0n3pEVYG(U^Mbz7Bu=*@zAm!XXFzzxR5&#|uKeh0az%A2!h3yMNTV-`@JgIvPB z>dCH1_IM2{i8=Wzzd!B-KAzUu2h-p+a`5s|w|i`Ji@a-Ruv&uz(S@N*E^MZ|2qP9viqq|q*J>lbuKfPJSIiRUOtF&COUlM#8 zvJp%(lKl7_oq~$2fUDaN#iBp|DuJ(qk=gS{IT{?qF$m4(u6sZvB6PD*lm|wp{oF2H z;h|0D_G_Bl7oM~eI-qgu-3AIq3PKOh)9UZ7~O z74spl(0Q}`It3Uu;3+|ai85hn10G$f|zWk0slYG*}1RVglB6yOGV<@XPMz(sYgyv`v z3E)V_Ix9ZTW4%+M%ZT))ho%1T8IHG>Q0USfoVTv_aaS(V3xBbF*SV77>L^;pgdH{&LOvj= z-4|Ac<;r0bxya_gXdm-}i%PzjSNBbHA0acz*e5$2AwF8;>!y#i2s1$H)0259I~?vYt(pZDRImq_2V#9_`eY(Y1?T(Pdjgb?%-z0np{$y(_#15qTtLiQ+xOG^M zx3y>&W%|z=Ef+W~QTrt6*JH>fj`%wC%nF74j1J$a?wR3X&Gk)JROGOvl?X+ zP{m#SUrk+iJk{U-&)!*=aBX$7%DQ&Sx=1K9GP>4vxkg+oO71ng;X_f^xZ)axYhEK- zl$CKavQr@|sZUAL`1Cv1_&$Cf_YaSUdtUSTdY;!g?{nVjD?W6Cl(&NtHwrulQtr2# z@`ukaIaj>$kfQ756f|S(H!H$JUcNx!;;f1x0BE=D#64?s251L5JgaVi4G+b2t0rpc zWMi&I5JlvIsH^mTX#`iW$ zYxVNq+M>E)0k_Re6l;{aU2tdHQOg9bHj|AtV>5uai(xj5{YT$s5Z)-|7INT6Zy$m) zN4cR?SJj@T`1=%!3M zMERyO7!LtwJJ6YOil6;jml)~zHu1C2ZG1!nFDti&z;Xa}a%xOrBb&qGDg~TRZZ|u8 zL%#Ty#wYPIw8JFa{mfBq^B!(FNxy^UrKUpaDOg6K;QnJ(svgC9yt(n}j=p`5ElOll zImf;`cR1(!R6eBcCic6umLg#BCM%3l8{6v%PgRP;(u3POI$1N@V{S)i1%xs-4TLJR zsc<&-oJAU}9I2}`?o&Gd?Y+gDD{QF@1DB0Vxr+}eaUDf=XJxAS8Dh@bSv$0;v@|?3 zO8RgGf>(4{R@g%25)Oc0Iyid)q-RM@tn5aDrp+uRMj7`X)h_07)mhYCCFwoy^Q2)k z=|v?o4;qOJBrCb{3W$k3XJau~YgHUn2q_|Kn}1!>f5u(9j1bg-C!OvoE{0Ta&$H}Z+)g9?EIFJH8Qd%1e1<>qBoqgDunWhtZR(7t5FSpCwEVT;N`@l9^xT4&&) z&ZlR};0Nz&F{T%2scT3j9^jC@j5e?-ktK4DT~@=<)y?jy%U2a!0)ce)@={Q*=3^fy;`2|0sfq=RyVAXFh?6;z35i- zS4+BkYAMXOtv4?>PsbxfB%yXX9K~fIn%7l*htf4gl61cDLCOp?tOMUP28)=2eHmlW zGukC<3tU!Ys&u%^tE7s#g}4=5qiM`uDBa*Ll8!Z9{BwN5EfvA|>GLa5kK?;bJ0}~k zTQ>au(M)G5LeEXTD^nTQbfnJ9d9E23T-SkqUz|dgm(e(T?#;JAaVu}^hCTa(bJhvk zvc6)>W9^+MoN+Gs%6Z{Y)%;%nn$`nc5CJZtT9@$30^!&0(fF`Ko%D5F1OHcm3)u1; z%uE?w?5B_vzJ24}bFXv`ibz@H^>?B{s(Rtk#R{(X7T(XFtro@Scf9}2hlizR&;4_* zkkv?2RZR+}Llqb3^K@A}@l4;2-4q3R5-0gBB zB#+fVicmq*i}KSg6Jj!2@$${qJ8`?JGU1llh5z(&2db?B#-1ked&#AG%_I&#FmyP{ z8aBw{qP+57MndsY(F-NOfxab;*2pQi?j3D40o<_9DcolKop#wI3xR22_xx8hQSbLT zENJZ!i=N?6E0t1-X8firjS_#Dc<_NpuQ;nr)RFQRs*S3~f$X+{4^_ohQpeMcNZ*Z> zg~PA)(9Z4WK6D8z&*1tk+8Xb(R`GU>{VC$IE|+4J#~ZiB{ZOd_o=>t2g~ig7UVq0; z>X1d!TT!P=q@lUFhm%1S-AUGl;7uZQJvrYkzjj1Xmsm5KviGX&?%7aZ@=HZn#5sM z5_!3T8I@Rd9U9(!sn0DBfeqz4gUe@La-KA%`Y)zxlGt@Ao`fKDfCt48lGHqqp6E3VkC$2Vyq z;83ztaw?B3Aqa|+llap1<^HHgW*6hd?s|>)Zt%x5~ zm4!*s$b)$g=-W&g;ugq17@e78SiJD)iPvdHwjjvi8*V<&&dS-@L41Xod)RQCB*~tX zZXR@Ca2zGR+FETenUW*pRkAA=hn{@^H&9j!e2qQHpj1*W}8?PpXn9L)+1T(igO~ zBBr?-(C_+nc#{hgcEhXjjM&}~N}HkGSszmWh*iP!-Y5s0_UY09{=v0Q0wFA!@6&T* zO-X~Txo)0-z#1v1cjM*6a+AqEk$O+l`UTwZJAj8kfCp6lJ31Z=*mm*Ym!^vIT`1@$ zsmzdJ-=uMy$9@On*#T>bA>}0x_ssHl_^*&3>*cpA7eM|5NroJy%Ts*3=W{ z^g69BxYWE8t7y7+swCS0E8Bd8x5K^1jKV?f>a+xf_I-QJZ?}I9tzjronduBRc4Sma z4tk`$Y2uF9DA(4$A9%BSqpe=||-T(-8gR#PoxmYuyz# zu`J5d@gNTN@d>aRdbjKQ?!Cg_zQc9hFJlVU7y&L?$q@h)Vm~X!nD6_1uOZIj?79Xv zE}=HU$5na#KBkFUZ}kMEHMt-*=0f~4hb@v0HWTIXO_e+}kPKq7;7E^2NV_@%^XR_qN2I~lgTk31_8KWXelyDw*|joW z5S)?Pm?uqgcHL5tgXWv9Tc!7Me}@pLdf-vX@vKos51ej z-B|=L?2QcSZzn_5HZ27^dul++DIx^V*bi%j~g)Z20WDiUOL)fE<1>fC3Z0$|K+VYG9CC# zd9=F87FCiv4~%1C{POe5j<}G{Fa~CO{2mIDxDVGAviRBj&}OS1)SH0O?rg8*wp$KY zRD=pgoMfs#S~em~3K?`BinvDUzL0NC46*RPv^)fdT77o`CjSmQRl6Sfcl{a@ zwEgAZr?a2tLY{ZCqKCdkQWQlHGGUzkmd>{Ff4+!)2J*+BkBWEaO0+{x*)Ws%?!WrS z_i<8AU9`z<9%-W3UiHd5f=hKLtwIlCiIFwf0u^}N>eILDgx@fVk# zF1M0=lA@)$c%QgnI2xamJSJ5oM;Sy7#1M1)b*OU0`JNj^a^g8!3sc>FoX(GA`dQyu z@o?;NaCQJQeRb)`i6!#ZT*Kq3gQzxd4V~)ZBAOlH| z(#F%+9j4R#p-M_fAs(0GsmPd1!#mw18D64}TO1v7NNXKnn?M-h)I%ZeSV+2#@zQjM zei*Ygk+&B6sCJNeb*r$SfocK_`=`i+G3RG}bxWPB(=c%n&tA@UXqRa%v4CA`=eYGJ zSQv?gw{!>D+yx-=3N*L#q*hkw(rbqEy`q?42@k)^7xUGBebTfZ!mJq7 z-IAV@Q%C4lhMKBc>!9c9eY-8{`Qf_2rAO$0-3B`fj^k@MI3Wk8ul9)%H;AFIfAxlb zO=lnPNz)~%>Zd5gY4L?yI+Vo~tR17IIl|FX(q#Lj-N^;w>m&{g{k;=mxc==LppkSdRgN93Si%)MjXb z+#a}`)xnLh-1EwjzYv)~m330^!+)iyx&|3Jl8zqg(15 z)SZU!`zElLbL~g!yiMWPGceqdC&_$D0;13JNs_^2ccEhrOc zIk3%U^xjZdAuqiqrM{KKp>K0PGLkRyT+uk{_l&cPXqEq~1{||}@{K(bw;cg%zAu_7 z&RGoA9D^&X$EU9j)8C{C&tkGKMQgQ5-Hy?LL>8S}50v>>YFIsc0`2FIpp@J8vkF*2 z_o3NUe6;RL=Y*^mg0%tWSRdaXecp^q2%*a<%a&&`{82fKxH{)BnQPocO{ptkY>LDd zlge`H^OBE2EmR{8?*-W@;RJ3`?ui+{lDhw>l@?d4brhz-*fzWCw79B37nM3WN513j z*~2+TgFT}WDw}c-1yLxOWAMOjL-J_KzCRI-XOPG?B4-1DIWPY6YNg~US z9gh5M8mcWkyB@1syYilMjC#H9IXPf`$z1=8lD8(0>&eU&$UJ$Ma$SyXfVQl%22+{M z@@@6zVXlW#y^)uj?QCiCxf0s;W9eN{GjA9i!ef#?Od%%yZGlT=q%xs~yzXOC7U5!{ zdu2u`j05!QIB~+UkMZ_exq%XUhm1b+lqF(HB$uRO-^5-uxf#P|tHv%=NvPYP8)F5G z@o`LdJxN?~*f(a1yB`LOsZFZnVRt^eRjmMF8>!1ogp~0ol9Hqw*sG=;Z?l(&Ar;4j zJlV{~rU&mv-gfG%6nk(*b$GQCAxQ7P!4;qJoOXikRgy!HVQ*hsgzub>46mrmIo*KN zTlw;dJp8HL{(wr8P@ZbY z<%t&rb~`3{^XH+5>+ImI{{cA+P-uC2QkA^Rc$kPZ^>#c|oL!7~&I>%CaA;aD0HeDo zmBniuFukt*qRz-zut9dABd?ARoMX~DnF!^*I3%~07QIV7lKh(6oQ z1y{8y%t{O+!A9d?UL(EJ&MsN{2v+&<$B~!-3ctBtr}?yU(hISuRv4w;lP9VzxjY*p zL=txlI(2l$)lH!)a77PKu+coe+oxx1;9zxO@W;)VfIwE-3S6gT(1Qo__87{0ohRgh zHymD;egEUf`!T;-r{ByIT-?1U1kZ)H?W3wd0ggLTyuEo5o1jr_U#5UrrBz!!9jwba z7<7UGnr|=f5E8CsL>)BvF!GpBnksd^b<#^Z6LXdD*5t$B zamL?|?h2GOyoJJ0(1SKzJJv_D4Pp{cpEOE7WhT9ruSTmPZ3Q>h-)^{g=vD>)Xv5#I zIemOLjgTb6!#E*t_d{nm6A;P4{Pzgz8i^*p7~xA5jpX5Xh{1uVG}6njtj-Y&6GCp` z7cBQ06nXAcFtbFsTPWlxpDeh+R#b4BIpxW1<&Pfz)+G$-dAVC6y0x1*)DPXYDi2n^ zW$yvsmYE&&_2W^+WpGrE$)moa>|nUwl_qeNOQG5y-g{bOLvmuN=?R0=EW;Ytab4@y zy=Z1zf{DXH1vmC>x}rkO_e@~eini!C)=*yEd}M-*QZ-uV$7%Zw$yhL!-)WX(jr+K+ zd+Q#pW}6u@_W!4pI9_f&im58^&h|FGmpqct>1kt|XOmG{vCSL45j)9V^*MEug;>z+ z2KV3D^X%gW=WOqqI&NTUmRNJB$u`AQ#QadHe7M+Ia%t-}uMHT)SM@n9f|XeC#BHx2 z`_do+&T0blgS9X6pbij8J(ihF9UpniQ(|YI(FcivK_dApnGvkH1>O6aERTXSLbb zYFeYZYX{-_v;PZn4*%ggF9-`tW-ekJ)8mp(KLu3b9m{pI{Fl_suh`ep`KzT7YUHbO>qW7~8-jp_gtBx$HOsDf@jUXw#ee+z z&Feh1W-hPsK6!ZMBQ(93;tVE?Qk1v9+dKNI7~_4oM}olG<-P z6h5?<`LN{4a7LxBpJJw|Xw8YYRUD?a8GO&`i`Yt4$0L-T&%@21mFq`9J8ne+V&0*3 z$YNSpHU|Z=79_9M;OJ3Xt1gdNWe$D2&Y@cx@#*1O+6Rlt@a5p6(O-}E8r^cD!wdYA zIVD_<_aBmB+9kn>ANlNdx>&xg`Xe$a4?bNDoE?_n$p8F4NHhKs#%?%q*Lll$SRH%d zy#$f0;I%jH-lH8#)DGfbOoGr)t);(O=5NDyG9rTR*WxJ2Y4aq4@}W7(w@wzywB1?#U%IQAkurg{;G zx){=zJXBHq4f(6(LtkLQ^%tSy=>_XoivRbmkyD^JBy8o)@izAs=5>NwbH*-}!(N5L zBgehlVAZ=J(&~tzqg#SR<}PURj}dR_>>I`|!9IL}M~{0~?gvuq1$Y^RZZotMplAfY z@M20;w>O*fA-qgD=eYB6B{3swg>D1IF|QorrZ8kK-;OLITMG=#)M{08F0#`e|Zb^`7? zOn9j`eGH&EG(-ES{fjS=R(I^l`<6n$1p>C4SJ=Vz&NAZE?|SlVxxA$k&FqOUE6t`S zLVpq6uy7>|_n{~A>6n9L4_?rE9Ej!`YVevmx{0G3#X@rewjWH7ce>BWOmjD0& literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/governed-outbound.png b/docs/sourcey-catalog/site/_og/pages/governed-outbound.png new file mode 100644 index 0000000000000000000000000000000000000000..9aca5f48266cd46ccc6f3ed392f2a8d884c58a52 GIT binary patch literal 87559 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/introduction.png b/docs/sourcey-catalog/site/_og/pages/introduction.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c5f1648b8773458ee34b158d784cc7ff875244 GIT binary patch literal 66554 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

j1uc>N0=r~)`T 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/issue-intake.png b/docs/sourcey-catalog/site/_og/pages/issue-intake.png new file mode 100644 index 0000000000000000000000000000000000000000..0f937c9ad1ec85104f04ba717c1a7d820a1ccaf6 GIT binary patch literal 83408 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

mls8e6 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 D#_g*w literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/issue-triage.png b/docs/sourcey-catalog/site/_og/pages/issue-triage.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2ba9ce583224bb3bf017d71549b1fb7b90898d GIT binary patch literal 66867 zcmeEuWn5I>*Y6B7(-*14UWul?cFN@|u$*d2BcR1txn9sf5dYrivmiwNd%y1okGJf<4?>&&)8Ic^`VTbzAKOD8*4nQX-b{|y!ZIb9 z%Mn}?>Sz01cz2|cHb)%yv({=T!_=4}B?M#pJ?9rVj zFJ>RV^p4lXEuM!5Lk&~sJ#<-=dzl`34@xhXw2K27k9r(V60GNi7x(hA_TAeOTZhMc zJkL9p6Y{(o+-$8~R=#gXxtCZEIV?ZfTwWiujT#Et*&I5d=hQCdove}e?ACQZ8rm*| zKZ@wsi;}46qZ-dE5ZjTy(o~ioI2*s-@N9kT^_LvJgVS`}Ec%U;q_^PeSI9bjF4M%@ zHBJWZ>qp1ZL(yjX$t4y}aa-pUe@moGEb$g}+>h>=un}$Bitn@HPm4%U%f zTwRT$eLHpj%0=Nk`cf`u(Fn3yDJGcb&I)5&Pr2Fpx#7_(7`?o|XCMQGT?f@h*tt$s zflv1TCY1w+s}Xup>~J&13^vyVmBin95E<1aqLG!!=N;~5I~`YB?&B!4Lct_Cy%O%y)L^r0O}x6G0gJV9imjrdkpcZnHTV%vp=@G3hs&AGLFMsC2r+!;!i` zdJgU4YA`wUtKA;e>ggax8>7SejPeouVQR~J(bxaD=a=_!&?>9jHR?l&XJeViQ;D2o z7jn)*B1c^6dtPVNnbj9l#wQmM^z-QH=K3*XPQ85YCYzHAl*-hS(WrHBX;$7ZWe=J5 z_p%Sg;CqFM7nhjv%Bw!Xow{$D-XKNKh)G^5gxtE15ypBt#VoQ!FG@_ zQW}k0cel`50tEA6M;LqGx$%R59%e7fvWbw0wHIG7s!tFU5x7}<1<_=3LSz%uyFE>= ztjvo&udn*#r{Wi{)jifKs(caopopb~9?xXT#`=2qJn_d8C2x{eMhes$S|ZUB#Uo4T zR#{;rBX12K1K3xyYPRPN-sT&1PG5+?V{s&zmHZ1csWWG9ET1g;dkJ^7brIP{_OGS1 z{%+OPQwMwOk{S7)r{oDhrS{#o7(0gP`j_(yzONk{nM}vh>T-^P%^}r4Xbw2{g_g@@ zgmJ6Riyc;lABg+%I@5OUCyPzI?u6LhR~8!$E&zM9A8or22GdTvOL?LJrAQJyCTTXz z6Ccwr`DLd!ecIc(t%`MLu~c|Hsb!!OwtxumRr_uvM*a4;QT;*H>qXvU+fmnDx1odO z@+7V@i^bse^yett_Ldh7?g=jYO$F*bxZN*kkCPHLK`zRHY#cv2Q2{OBZl!nzlZ#a< z^1;xP8?6_any0u!%~R+52g`IrYyBpc=7pl1S2m{h8Jr#Udreop=j3<6*BQ)(jylPi zgh2aWC|b&54O;{ro14YB`ep&ES1f={)egI*OHe0uS->DafGbpxss_;-GX;j`CXvA> z5H~DMY2DGA0#q#s(i5y3F;#zLANMlQ9*3|wqLIZ0bsxRGN0i>}o*c+~VI&EE)KU3W zh#a4t+*xxp&N4lq+S7Y;zLawwP3kRmv|m4#z!esJ^y}D&>gPl7iE^YUJW6|aZ8?kc z%h_6a(>eV;PvxN%-}1+EVe~_iUio>a!~XV9-0VM>B_*1d3bS}0moRuF$H3@*zhRVG z&EJf_@IH?*@+taByJ}ys@?>huL)FzCd^UtpXC+m4?QGeLs-;w~w#TjTG93e-je4$r zb#N4C0Ab3Hun+hDRQ#Fy;E0Q<^dL5mB8ijU7k*tj#Yxp`8)ozQ6TV5Z_27)(>DW}& zi;_`gs^uaK43)0za;4p{KtQ{tRV-)AY-?>^8JS}Y5uY9+6i$3qN|d$S$bw|ct-!C- z8w?49AEHqPF9ZDP;A>*fj5xe4-W0nS)27RBJ-r~Vq z$}DQmCN>6V)umnVp1eO!H|YB;o9EmY*rOcmPBhQ_4ka5{( zv4yO?-~{7m-}KhpAYpB%w~4Ohk1(>{#S#Z4y#q0KYoEh+@45A^GMSEX(Bj~?C&Qgf zV^8*^uKnn8;<=qti(&Y}Xo61K#ZI-(^-ol^;$mL&F9tk|p#m3Z&8RE}myrWjCk6Mx zqR6d(xU=*KE#bNAc97}DVKNigbO#=uhPl{c8=NgCVSi(P_rr6q${w9NRttuYieES* zn-ZwPdPU}gFcRE5^`t)g!KS~fB!~O_BNCDkc7my{@#-(}|^)cKlv<*YK^6k=M z@?P0qK?{3L!cD;xS@fPh3_I>#nSp{G?^1r<4!Lbq;qcLeosW(nZj!QFM7huS4CuZR zVK z_8$#TkI=0Hoglxe&HCg4!Z35^M~+}~M#$jz8a!H5PKJ$kdg%ak)l1&%_d^HO>5^XTXrc~z3E z)nW}8mq-`-(IcKE*thSG%#y;4+3B3@?m&GYP|~8o>heWdv3BY582S)!5v2z|)qtr) zvtB1NYck{`5*0pS_PERh7Yl4to2=C!MPuTfRg?R$R`0N)nbbxyR$*a0ncke_k4N9? z&Ila^uXq$D!4!3~tpBL2xe9YElyeR*s`1Vuvz%VhX8pewFqN1*+;;f?DhH7xPzYr%yW_7O;M%meiQmraelf1R^7Gd z4z8k{`*erhMBIKn)Uc2sw!;|$VhKxa4{k2JC)1|;P1rj=E`6)N>~p`bu{=h#tv+5X z_w6_0+;^8?SGpf^ubB)5(aA7-xY8-isLQ?n6O+8tql_Zyit}>w+~q0i^JJeD#@aF4 z3I96ksi}KxFLmW$8<2njU}GW5XrM68vwUg}r!A9o=~swK$;GI)Qc#gWe(*+g!O`f# z9L;UVne36Zw|z&e-afCvADKS5s0U0q?-*$!aRf=xJbsL(^tocG{V>OhnravCLE*xI zC4mDAuIBM@#uHtKV@f|H>$@WlR*i6^11h!7Ylg#tV zd9<=}aR`xaw+_mHxvo!31mv4CxrmIm8&V!1i{&z@Gltf}0p z?G&fSnXY`G0k=0L?^h5U?nwimE_)!^z>FV!H@1pZ`etrZN_@A@5C6~6?!nJ!M{V^p zK-Ifqh-qeO#uM?K@S^%5%MjV?0)$3v zO!?WLen)iz6z?geR9r9=+QY zd$TkGu`Sr-Wn5CXi~^B8fL(?MnxrUL&&)qs*J3|{n+UK^ZoOpc()lrB64j!R0TV5v zU3M1e-lh!M|Y*ccSTS;uc>{d>KYQ+U-)STwV0n1H4 z{r1;3`z|K?`MXg{ZASIK-$El+Yq*2Fxjx@k4&mZ$DY+SjT^L_o@M3=)tN*)uoT||8 zO)@D*;?AQ|%u`0%+0%l9xzi`;{-y-3Gof4mHFrC|sC$=Qfpj56sO(|e>CgBqAi&O&>u4H8Z*Ix%$dNco zTH?gl9>nV`LXMNmk1f+BYc{u79TVx%(n+<1I83a*wVIy?k9@;~A&=>geaq{IgcsE9 zsNaToJ@`#2-HLLs{)xM1QC$+V>g_8!$pX+y1?g!SeR{J4Mjy&k%15V7&v)GGqL9|s z&W}4=9F}+(Pk2bGd9dRg0lv;=$;l^L;{0k+@HlWsMcQ*G4p7DZ(V{DH!AZ~~?g$n) z;y1K)Z##zsrVxkSToq?RUUm#4n{mDvcxV>mf3r&6^U}=YtjJV-|GkUT8uh*64UM7D zi_%jSmb>2ba()toSPx^^h~WB&_ZEnj<-SOip<~*}Qm4R(=4sTNg;Xq>agD!6 z{INJz03Kb;YCcq7`-O9bt_fs;oH3LaLT#GV#QF618iCd{m(}Q$tQoHPwbtVFg#uL= zC>9R@R(#jPN}nvKspAp3hLPs62Q>>#EWq;`t@R;&WLVp2e-2Y|0?g>YXNBxK=bvEUuP|QMas?$oQJR4y<67LT)sH= zQ1{rV*(1>Nv63|5B;eQK@nw6;$6kis?AHnA`cXGatQo~*=Z#uGf=wR+(G6=*#FT)8 z862#`?#%BozRm_8bF12wa7wJNmXnc2V@WdC8ZtN;i71p|5l+2GohcL5Lu?w>ecYcG zIyT@` ze@x4fz?^Xu?0nJn>!sK-&xmBDGE?R*;)4gV#R5PqnXxjz+ZSWtM?9r8?Px|4WXZtZ zVe?ZCvfAc3@`D9+6(L*k^FFHGHscarKJh5p&ae2488Q+#d&Qtzo%U!ybLS&(N64HH z&!6-4l)=JZok|iXJt?%}!gRu1T+A~-A}XNzJ4)-49b07UjhIW^FWR=IMPKrv?A?ghMT_3Oe&llXi6J#gpCU46C?tGF6 zhf{T}pqaqqcu_&bv{9!DmaMZI7_9hL5Ht0D_q!wC9W!=t-Ob$|5y92-F{cWKys~;+ z4DNfZm#Hl(e??fhoAEqj&u|`>SxbwrG35YphKWk@0ko6*BI-6{Cw@ObG#yD}69*kZ zC=2(}Xct?nsJU426MKyC$NiZ&p1eDdRmbq_YP1P;Z4488#42`v73(1BoqRv>eJo-N z^r4{NLqzsWirO@i{O+_LxJzQhsz( z^oWBn*s^GBH8jAXSGl4%G#=+cOpcIUq@Y0;vcOiC-lk)l5 zZtg)dr+RwpgM0N3MK4L1&#yP)+@3;aq=$tql0D*A-i8RMvAw|Y!D6S&pB`;R z{~7dQ+%v(5XNwnTV1Z>9wH5Cda(T0frHOdq#Z0Hov(I)_b7m&GiWSH0=R9<@zEwK4 zP&U6X^oG{mF?a_@a5HsDz7!nbt}q5>hfYg_d9Ij1d&6b@|0T%Rvdoo4(`x1;8?CQf zhGy3_JHLs822vT3RTOw`F6gni)4=L7xBKbVGDLmsPY{WBlwY-ke=6Hr)6^(^!81vlTrS_4CNPUZUu_e&VxHCq)YL!fQBvcFR}e zu-@ggsWJZd1gqOs8f8v))$^6C${oYzKQVk)a$Yy+|4)PeXzBk7 z8f>Nq7y9Z|+f4_HL;f`<_K0v93|<_qS%4pl@zd6^mq-Oe*DLkor&UcV_1Ubmskiw88Tp9sruTNXaN=1XiHEqIKzMXCnr478vY)9{r>1Q@aQJ5cT-Xr#Z!N| z&7dy7I?k(}v?Kv{vrB}unN1p8SQECn6MKyR?Vo2ccsOW7DR4FsL)_?}s@pUz0baf) zU#^4clUh&&idfNROw*Iv)?L{%J0VR_rU*-5JoKTT&XwSU0}F)6rD?T~K{)7#t`ah| z;{or;&HibQC146-yC*@(YY4Kc)u12~&RL}pgIqU^9bLvj2N0_G6Oz`_WTeW-_`S-Y z!oexM8l*tw5)QhVK)Fc<3qfIVm#l9w?PzwU7DRPPDf-&AZ9!HKBp;9z*-j83b6#CW z`)%z>m;&=Z%{A(0AqWa$mDHjTaP}w5{B+TIITybECwxm!nf6>Q`Mb9CHE#HRjpr8F8{J&={5WG0VR14tudci^M>ar3*9@8qFwX$E#z z`Z2#X4y<)zXGTnX>!Pn+PN0zqvl{6!jQ#y1q3)kfmQ8GaPv}?fz8zB4o3x1o4fm%< zfB5#|=#{-uR3|SpCbYiN2#W???I?Rkk^uxEEB!)-FS%=bRV*%5ypR`tMWACP zxV@W9Lb74sAc#qWJItfV!{slQ7I}o%{rBPU!jSgDv%^G4AY=u>WkhMHK9IbjAyN`Z zloju+q8_|dNHS%~ekY4}arsdo(qqhX+YwlVqMT1OjA3pT696j~*xXlA{inZ=e`LVf z1-1{pi=if}vNxLFwGqr1M?dkBGgiJ*9E&*w8x0>I!a)7jX!0622~-%DDdSk zCBJx%h4A`yG>LDz8wJ2Vnaq0ponqQ2LDHLC=1@rX_mHr7lM$trH3HG4BOI| z76pd;qXn{GyiK-^Bj(x_4!@QooG%_U%%{}{>_)JRSzMCw7w9gCV=+*TSEfxVgn1~M zNnFme`P~r4TAI?5N$Ogfo{#Y~Macrq4he8W)i^rZlu(#k6_WevwE{R*t(HPY3Q&6N z!HITePXCm@n{G|(IjdRY2Xk99xbEy>06ub$%b-BO5o85XV(T;45a*Lnq;)matZ;;R ztQlUvWwDKgSh_D5@(Er$`d+n6g05@SlFK>${q1tF^`GZD6Q4O&qhsnWNnrBJBM4%> zDz-ZliWbrxC4Xw@^!u$#givFw*_Q?(0ya}=#Xrl=mIg`&*NWp%qpzKH=|%OiBF=<5~QsSi2X9OqP&rgM}<>(2{xQMkcP|@Xn2{#)__Fg^@P-4%|mX) z9&Wv5si)r`oFS>B4z)8v)c)fFXWrma)*D_74&~f_iq!rNN34f%CbMt zd%`C8C7f|{XhmYUK>*wD)up)s;e)@@k2@L^QR;8QmXCu7deWa3dPuFE_LoKRghya) z*oKr%yftgc=Wn3tgX^(85>N+a{Y*)LqRF)d+75O?t#9-_BWJ8IlC$mSW2_jk9>U4* z_p5mHNy!s$0eL-nMmT7kwO%H0_Ivn?g{mWC8mS`iT@k8~TNyV8TsfmOtOP!UGYk%y zyZ1|TP+f^u^gIX9ZdkxQTr_jet7EsdR6*|#-((Y%;2c_KZxWQ!2EGv?O>iBZXc#=q z=MAs$Ch#>JF#BR30K#Y64Mr9l-y=16$T+&bCEN_n)IE3X-_}NhvsamNpEQIr$O%(- zUV??lRt21G!PjWnGJbY)9|kB*hwnvj?7 z!iE$^g5)UL{3)@Pv0>nbi&kL+QrVbV$HgzcL+l&EZ-6#G!)eh=fM)<6R5DQ995eGzG@g*OzSr)+0Oe>UrpHvm0f?R@?j|@hLbor>;>Q?1{L+i3EVD2lD z$K&xXSZCTQ#H2DtqqUu|osV`|G)Mm0Q04iQK^>}%(;M?RT-={8-74j*i|B)S4%@ij zDfX7Hc-VMY2dsY_yy2|7nw?MCOy2X)#SYzy>tO5+py37nuc~(QE(s4mH1lpgU*xde zQlbgYGib_g^j0YRIyoTpk6_=PfjS(`HxCT`sD$Wn&>9Wzm2PQ)dQ>T1{_;^`er+G@ z<)GzG#Adwh$J2%5sxH0Gc#^|*1H6j;`7<>DXkw8 znbfu&z>EK25}G2anOQ{f2CU-_-gI3lE;%5Le2Z%E$|rDk`E$jsJG8PXHy4+z zo>5qn6WJs^--j3e!4w0Hu~{KO8KdnTpN}cM| zmk1qEpdr4~Wy98{2r>K6_0wG%jELwzQ-MtmK@7N2@W-eF_%~UOP`TgddsjrA*aly{ zUl}Jx#Ed7{?X#{<8ym7eK2c*XF5LwGYP76=x4rpu1fRkkScj0+YAw3;`opV@ zMV#>8eWrSa>{GM!er^xXk7{W(l#4HGb9U7ta!d#)r*6IECNLl?kOpAAKj~nAjrx$z z!~tP^tOt7#;XuSq*3AreT<1y~#E&%&Odn#!EJX(UT!t%4AQ=dysMTscX@2*;LTqkn z=w|xrPh!`zl}vHhNk?NP^@*K5+^qQDQ);58tq1d^`CDPhpIFZk3aN~FZq(@N zLXQbcW2*9k?ZJong1H|g8l~=AiX${wO5u_(OoTd=#2pAoSQ+vj*_kvLQKCld3Ei=X zb?8zTg%`V5XLd>(H}5Kr-+3$&|3p}+;#%uAa)e0#>9fg~8laUOl2#NstM$9LUh@IV z>L;hs)<;#Y7lIjVBJ~1G7U<^{qBnzG5DLRhn8cU#UY#!s<^w@+tXCcU(-5QDWY#nc z@^K-_1rvRBBYv!oS^5AIW+~!IYsoMC!R&Zdi5N-UQvsb7H2294^NF}-MNC7F3N?H+60B)T)g z6_Lnu`z@1s67H5n(---kIww=ceLA|5B0%P+moi&K_+8F)GLelDE;`_y(l9WP4R^O7=zBxbO8Q39p1aKR1lf$|6R0fB zwYO2$dpyd1ZnV=uNN?uW)Rx*ug~V>%MB1b8Uu32XScL4{=(sZUzJNj=EQDVrX8VT2 zVD)wbx)-Ezu6DY*QKKp<4d1!-Sn-in*~Vbo>)GY4ID#|wAHCRGwK61#9|V(=`y&q) zqP-3ckA#z3`KE5$c+Rt(E0mnV8SOsvIoyE65khWArZGT9+a9e73s_rF@Rutprbx!C zW=z4{0&K1lDuql5N7Zb7`XpZE`DPAQkB8|S6a3|3k z#D>LqyAreC}cXW#Y5f%Hl*3L`r!t_ZBIcOAFsOmWV%E$mQUMj)azzE zQAvQ?6>U@IXj1l##r$Eswx@Jl`pfGG#q!$zQa&?RlkP9Qd$QPQ@=QI}4N^A}(ihEq z5XAlA`Gx5b(U?@R)t1c47N&#NU&55cQM_Yzm=-|EoyLz!P6LFLzF#Z(#jqVXd-i~% z=_W6wbKz@H7J78DvSC@2boXhGo8n$2=KQ<$%t=YYOJH;Lz|g^d?S|*U-=9;Zd+op` z%cEBf2cFSR7n@JTa|a`bLwz@%xU~geAlAnm_jmM9Q6u{gVhlm@;!pIddgQZSi*1XJ zs5*${c68MhK8B)*&I0N8-Gf9FJ%zmDreSlTVWPTk1~D^z3XWURb{As;OV6j$0PkJGEN18 zfM`T31Z)e|9DlWb5BTn(KV`WOJCUDGlN{W zAq+KA6XxPo9A|de@q=gY)GP1TeDK?hHTLas3cvk0`|Zz`9oi(}Q{$T=_C3ED)y|q6 zKP-i)Dt^&EcmG>!e!`#?6?c{xA$7M0`3_5Sp$^bz$sPxNK zIh5rM>|OSraw)@RRDNDCFP-G*|C0BV9}sVy4mf9j;O$>fT6y$k)> zLjtCDe8yA?4J{@8TSr97RC&a!iQUsP13~CUxj_w7d^N=0#l^Yo-+d6JmhGZdU#9bB z@@A%P1}W*Iow(qkoq&>`Ab7&up&?RI z>yhK`1C~z%Q7YX#bWxAT74Raa;l3hex1Kp3*a-e~1PJmEsE zA?zVf=+dAAZNIRI1J4H_TP;%C0cmWxeVh#mT3+CY%Zs@ML3Dq2SXYQBK<81p%wY4t z>&iwg$k4UYOl;WjYCJ;1{MsUex*#UF@2gwSB?H*zj4a)T*Z_Xm^BjgW$mTY~qanoC z47c|99n@#Ptra;|`+tn-Y+%Yu`;%8^G8W>UJ0azV{EU`1gN@b%uRXf$e3(fVBYooo z7;m0gTi)1a2JRLDSYpi z`7`zOcy6Mu&T&^_|@2X&@QRVYnx5iDE`oiK`d#qsS-`!Owd3A*c)91l3XcIo*3 ze20t}IizN{mO|A&Y{)dNfxC1YGOzN*WQUbHPBFqj&n@u2i6Kj0#=JnX(H(;BauUyKCJgs6eAqYv0PmJ`KBt&vJWcLH*?wODG zbVR?-26`RLEw5kfCjG*iFReMNVkf*PbFGHfs`x1aMJ`G4LYC41f*&6DM87z%L~dlB zFJWrJWcN`+^+%|LgVp7symuCSLP;4-3z4f$rZ&r9cJ}41-xDfl>jz32s53M%onc(U z!MIt622IG${z3d*?GFBTppLj2r*eG$TnAVk<#QoT)fx8|m%Kedri$*(D$R_|s3s%I zI##HI^TgiLko@^BYW^9`p3oB1WYi%+Iv~KF02{qIZdV#2e4HSMy4kqUZrbx!)3G2G zs51)RApFQ1yoIIq(+i)1_evYxs&{d(I2CLN(8gYX@Mnhkitk zPzdEY)*Nu4hz(#%!LCrLP0c@sbI?4o>8@^J?Ntbx$jEGT=dPEE?i*W?FMi&>Fkdv@ zlW5Y)c6`E7&)oLx7Mh*i5VO_fWkE(k4+x@6iyT!-eLD1FY7V+nvy%x6Wyo8$cPKis z$HLRO~vhLO2-sr$lQ zpX?Stkc-9JcQ+LbMUe9y50_pzI`zg*z61`(cuPpK3+g4&j7*7?l)?+$&&zU4N%o+nl&58)1Q2sSeA z&@@|~1TjWMnuJhJA3eiPjJ22dvHx|rt<)az-Q{!rQT%pa-Rrias=G5>TxmEBT0N1k zvcW-Z3e{VbgwO8DJ8tjx*1X4$mNAR?{h@p5>vgJCw?~NFYmG4^YkE5gb8;@SnFd8@ zp*uLBnk=hF1rTF4V$FakMo8mRd%N(C6!K?vzTHkk!2#~AjLGnYLe!Z*hUo0k+~2hV zb=)_bWRIY4df_@pK1m@xYL^hep1a|PRQ>72QrxOkmfYb*IqdKQHE)Q85K6c6A2@Ya z2qpj7{;%7QvX1qE|d+P!Mj4X%Qo@Qt6!fO}Azr1Xx}^CE=5M z@`rnOhqzM}YVSNMsC@E95p~T#iPD(7!=pu7m_OQ9VJyzRncl`h#~3_&g`UfNkGZJO zY}KHF!oS=T{PT62{;64ln?>=CYGP!L5PL3J+|dY^X9kvra2ic*eakuLqXWK??W{bz z3Yn7rAxxd~$acrg6P{gK`2&gm59PzRPiJ7r zRGivPvcIDGzq}kO^oo1DzLcL?hhxqCg&}9S_?Z`}d~2Mec69tP;Vso~y|`-wJZCeD z4a$37<#qn0)vS{!D&XUa5G7J=hq71Q?y!+q8DzbRcrRZA5u$ZQEP(UZ&SYBQ?I~d8 zq_{fIBA56>9H+KHYVcn9p@@k4g=R9NS-lj6CY6Ct*)vtZ-O1gD&P&PVhSi6Q4Lbuy`8GJ*Gv7l6)Uo%D{-MRA8dQdix-j*8NO>2#l-O&8HwVh$y4S8xDRw*9MV>FTeTjBAdO-bNG2+~D zq~?7P!u4syn0I%^S3k+itXfY5%-)iFi%{1ZBdTEb)Jv5Z`TVVFu8sre2U&V(nPf>l zDR(`VGiEP0>+ugV$j=(_mEr=*fa%U?j84ocSvmONPhE~8sR_?>(v)$SHi z8ZDcAA1R1>^hTNV+QA>jNbd=%X#nARz| zcxOW#btWJ6A@!}X3(;a6{JIM9pdX606R^ls)$xZCfih#%YUr-Q@Av4RGke^NOYsz z3t{8Y@%`#pmn-oHNo~8rRGlhyua?1?f^gh58EG-ba(?*-gLuv z4+m}@6*Zr* z&HF+QB#&*p?-gnt{=DKB*Twk5@9ysRhV{74DayTEi!t&sZbwznQQugOyWXkQp=+zb zCT#k0N9I(v0?-;#b1k^YMI!`}#$Qfkp=*2dVd!g-Xh`q#Nw4$cNN%wFM&mY3ukc+5 z?k@mA4$JleW$CY%47;I*xjG7ef`%m~8Q-pOZi8TBfVt}1Pqzjnk>&RPI$0rU zXI>Z2no_k9-*5e~@mJ2@8$RmLQ$>=orlv}W9I6X1;-c0M%h`DJvboUhJUz~@JOGAt zYUw|i&T4sAVSO|cx4xr`v;ec8z0-}NHih102(xZDp&VtN{N9fJR58S#YWiOAw z*_DF^IR`g$^wUyagRJT%1zp4 zTV-JOM5l7~p|LyWPH9Cq>wd^eY1{GMLPR_~*PdD;c1=UfgWw`p6*y@`=$P{Gd<5(5 zrRLC)BgO4=$6+9pAuR7jXu4qDwAL{J>DNnTEf8A*^9#(Gj9JSraH#UhN_S=Q)af?Q z(M`BM>2JyG;GV}-K+!dkqlSp>-n;i~_1z-#@0SmaK8H;O1UBt{4i#qw7f*G(wte8e zw+)=R_Qd-;9U+aaO90e0Y_#}xsRYLsV92VJ%r3^ji~v03%v=ec5ZA0F8&#)EmgvgE z^B{mLqfmz!o*%%`4fJ&jl!Pc0d zw|^34btMC8sM_=30WAYS+9eoA2&M`S4f-`f>&wUEs?-X~>Kec|N znY(7l&{wpX+{|HzC44H$JPwtybiS z3M4eu-C2sw`A{i~)I3olrI$b54 zf~d;GoSaxuzPKPT6nf^qtQ>M zHBdXK9|TvJz5U)4)L|;xvnOcmgsKbX# zGdxMeHop%=*}3hBd8J|Dm;3y{Tr9B-`i^pVbdu^wKkmhW7N2j|{%)UqQ|ft?YkBgV zF)XJf3^ZI??I+RPR}fBI_Z2}(paW*#<$!pau~ZW@ z6&pQ{($wMbcNByAWCh>Z=vMO3^9)|uIsHmrTd)4ct?E=_!~rkl7Q^q$#S0(+JI|QP zm%C>595{B}jOP{z&S|qzmZpsAD-ZcWD{UGG__MB;HRBZML1Omw?e6u!1ZgOKmwu(BC36f<8WGWz;RfqhGQf__tJxBd>t{Vrc%G_1 z{w(@nslsC!+1PiP1JoXm^mwVS?Gg0Uk4x)H?&RJ!Vauj{lhGmsM@uSi9(nyjS=+eZ zp9AOS?@DeyfFrYeqTi}X`j`#&gCdsm;v#u2bEsFEl)$icG~efFk^mKs{-?nDlN1vh zP^kX2woP6AjDd>>2tb#r1enV=xVKfRmSo*rw$J`6ugKp zmjulzfc<4!c{6}jwS4JXhoTw2F$NDNe2z*6MevIuSj9Gky%1HdiIEy!yW?hAQ)Em+ zJLB@1@xQ(FRLnJ=z<`e+R33B`P^JMRWdTkfXFW=|s5HwGIPG&xyuIe)?2P`|Go*-j zqY>*S>2e^EW`ORSb&CQ@j3vd7)4NiX>~`+#4*}vwoN>NnR+9~UTti>I?3eYjoh>_; zw^Na|{~=?;GC}q;yBip_m8}OVScqJAT`PyI44zXtcfui;byh)s@oAJG6EciBHIHT# zNNjox?t2B<_C#~Hpa*S@n_~iN)&HTRS_k%G#Vesy9lFw+E-}yWmzhv(QFDbmMmIGTT-!Yqd}Z!W`2;!=ObJsyMgfQ4dzUTo z2h*e~>>QsTQQxYDz}DKoFG$(a9KUD!V{}Pmf%>=Rneuv{zF@RM*A?O=2{pbvTSWk_ z>sCr({ExGRH2w9vT9yrwsxD^Bj#s=ZwsADqixr%Gw+cZ;TUqXdg$qNradSynfaG<* zBcUAbwnzQCL!Uzja)Gr>;BzUq)#ndJ2nziO@Q_Wp5%s>LM`(nC4_h6n5WyDqZIu(S zIaRJ&gHU;rzFE7WApbk;YJhs|$G@uu`8;(G<95m>#gmd?Z4}h#@ZC?I;BiLtLBYw- zanLdoB`&><*r<#_q=I4+>y26!)I?)V$cL8po4{96a>=v15-GOa-{(KAa6rbH+Qd?& zTf10kF}^;UjUW2lm<87_M#a5-7|5eN6@=PeM#Y|FcjOpY!?i=lm;xTK=Bom@2ngwR z25=Dx;KJO3=n@we|KI|Pyw-JVSAPq~i}CAAoTh7;8$VD>6KfiZI@_atg>2aR~YDPqoA-swNxUWD)P63@Gm-VGl z=ejceH{BL}5{yht&Zw|(W1sYz0D;@jZu(Ux+AF%zkxDptsHuF)fxeV#23GDdCZbWe zRi0Bnk{)33l)5h|j%-WUF3s+A1D~HUm#4p@6{<~}JJ}FfjuFw|CV5whJpIauBI`5@ zavA&O>~TDh706h|L9>ZnWY%&b_H*51uq@sy04S54Qq^ScyDxzY!c!8=n*Ol&$EPs_ zu(Ib%U#qeNP$lZWOf2VLRoVezm*_a*`%?p83l27+fnn$g6s-bZrGdvIsON5*xPC2N z$yLhR|K^X8#I5FZ0WVw0w};EpEI;L*e_4L9_If1=nmhfj7;0>{cLUzY^We+=wlh;# z(N6o}!HfC&@O$@70ddaE$?!uI%Y1f-_iX>mKdGr5qdtXPe4MpQH6s#_E^PVnH zq1t-5fBPcjs|c*{9+(^JdZcFfo7Sr%q{|Oe&UwJ@(H`wj*&U}(8X2m&Jd5Snz5Pp4 z!+68|ruxrYF>2%6ODIh*ms%?mwkdw{>ALV&Y4>r_Om{b!lQ_OJk^SUKN4Za_eZDN5 z?e&czqVL-@9H<-Ews>80i)i zF}%6OX8YnT=VbxV9HOOd39{-v!199&0IR7@)xYmZI;hU!pWvYF_@69?(|eTXy7Hu+ zhF9I1mTx0*-RbL=h`|q@3`4D?mhE-u=ak4_Y z79p9st#kTf0Mv(xP-rDGkyc(h|~0 zw{&+6trA0bNyE_H3@Y8--Q8XH#dE%Uzxy9%?{~$sdTkEke-@?-r=}qWz=#YRwW9DHtN%JZD-{W$`t6L_oJ>I3l-F|d^ zO*5lDH3C|%AD3C1C9N{n`Bscy3la>xOMh3EIq|LKm?M|#cat->PFX4N)V;1p712`i z|KxVR%1pGH{WEtQ=kvgIQN_;}<;KM-bHBH+W`mE)2rc%l+`?>yP8cp;|Fvg-us-}* z(o<3=g7W%RnzU5qEgSEQ^jAT=4IaSep_8?(4mxf9^RPL;+XL+lErXb9k<=`Rz^AR# z(9oh0z5_NiVWXmU{tBR|r!xp;h;_tud1<&(c7=YBtguwvI?a!a+gj%ZK-_RUGU{BL zmA^U|GzooYa$td2ZpdOgrG2xqD8l&$KB69ebCY?Ax-E`ibN@0)NS9UUTE0B`vF-N4 z)+R0C<@(>!dMy_aYVh@RSu3H^1rK($n3kRLrr1#s^Y<=2P`@|Rh`O%1MKR!D()d#D z9qsYz)CLE1U5kXY7+vC%C5)&WeVj|4f5G}m>Vje%+^SZs!z?q`r%6y5c`4kVV6b`N_yw1P1n^FFC8u}G8BrYkko_H zK7{T~8ww%$W8n4RFMFo4nYJS7?Y3?V0IR#4>b!2Cbo!=DRzO4ow~204bHNyLp3YT$ z^De0>LwebsK!)_gwvd0iZC@%G&Rb`aRGLWhSEwk`usv0D(cgx4nKK-( z`*&>+Y-tz!t7qO4e?YcwALtpgt$yvx^LmK7LZ9eSbbTV@wwYh>sp_6Hzq9B)*u;_x zTSO0W#?YjToZB~QeBlUnE@b??s(~Jm>c!yqR27szdeqbfy?a_IpqxQh| z@J`}F?$z5B=3hyEL~X|!6p=xY-WD0$ltSNJtn&K%JcjQlQz%FAb6Ce4J1?<+3AEOd z3)@{yk)6Kq!+i~7`(>?_6JEjlx!xbqClxG2c{Y;2=MR_1#SxRWqyc<~At^=;@;lhW44(3WHIEith#3NyWO9c}D+g(LZJKnnbAukvR^^RM&GA6gybRBdLfldve*+MA;!p&?? zq$`Sy9evF}12#$K!q`IHzriNpi^ zdX?N39El(wYNfd^QUjsf)KF5?3!)I^r?1Pp%tDIZR8CB`602bnafF%QJ6H%!txO4w z>+f)*r?3ASLus>(N^&;VbkiMw#E)*D&|Ayd|EsBe6R$_mXwh@@#M9sAWY$u0);E?}#m^?^@`Z3EICrh3HL2A!tyBEb!|6tBV+q$(T# z!<9pTE5;wt0rE_qZ~iNT)7X&0b{`1mnm}R;Il5T`KWGXV`M`10{q@!UFYs?ltBbh6 z1EV8BsnlatV4J)Q3ItU_MOMKNzN)W9ih*2f#jY2ehwOr)R}yb&vnUpQ-s2-QwGA;* z@YdehGxVarm0Rvla+6g6n*EX}Hep7jF^7p$aa^@mf1e}Mh!UZIO>W7~z(1=jH$7WA zWCO1u9_%G@ID#f+A)}O4%Zi|ZG~gJDH||*7w5lpUkIl;x$MwTfcKhzwY`Ol0jn6C^ zn#zuF2LSfRU)siif*V|MQ`=)?BjKLbQej&iin^`95zkQk-Ij{hlEZft{amT0TRJN1 zzhme4!=##cP;(8(1nbC^11%}hwKvhld0`PX(eV&>05>#c0=mkoIa+w~P9FomfA3ZT zCOUS->oYBss|iLB?L*P@(TAI3MLi-Mw3-`V5foH-QL3Ak!=_QfpTKf*L@jW1`(F?R zH?O8$kD%!%=Q`_kC;Qwp^|wWmcb4XqBvVxs0#(csV+ET`bL3)kb&-Lcv{ae`1Zfu3 zjATcrsj`)^FCcp6mL87BEx?{dIYkMOWjEf!Upk$vf$uckAB{m!*RfS3V5LE=o2u-1 zw!N1ar*(_J?wj;EzvOsMUIF^P{s_pO_t_$I-z2xq!>P{1vopgO(qCJb8*YC_E_p@SJv-bN2^2T}prqYP+|kxsg! zbo}VDJ)k|-5rxfdKyDN}9W<%PTojR|ES`cT#}bwbQahpvLfvLfuCY6z?6vAnv`uGA zkw}tA?Y$?TN(@Kco(Xd+^Hf{zi8v~oy%|9*+7h^$Ih`wiPTE4DLKio?K<`uhk~V+% z=(~_VtCY!kl9V3CI%wGyX7z5Un_Xz!ClF*{_9e!h{E73|#-J~gKS!y8NaE_k!7{&z&N#LHie zDY4Is1sD5BaWphf(lqcgTs@qJ_pV6xJu85gC2{Qf=cE~RTW&d_NhmQ!D8y77^5VR^ z5nm!8Y{0lBq{%Vje*w^Q%fw6j5{I4!PQN)wueVYA^sT((f{|^yv=#613I;fVl(;w;RYiC$+M1Z z0Xo9sVboPp&XLO#?3M9+bRi2^H4-VSY+wX&ZA5M+`VDL}X&yzAQEeZdN`-rzC^4`| z30-~MjylRb(a|(fiBJrOvje7P;Czz)_N{iLiT%6qAHGIam8M#0Cu%+0|fs)8M{fi>rD=nPlCfhYKCkH%X{|6%Whr+-(Qq_ z5qO3rwsj*(6%-$(#0JtC-r|k4ArdOLIhN`jN-T-y;f~W4)6Iwe7DcT>XC97({i;7M z$o*g?Y*5?rjc{z%my=5iBP4-~+;d4V9c z^>T&d3obW1{tp9oFUs!;LM8h2=HWll?VXuYDLH-CysXsD)`~J6Jm*I5j9VJMCyp0H z`V{ch8)ZmEQMLX82}#tTb_IzLoBJ&;X$5;w9GW&{Beg*~eqS32pVE6@z7>;3YN@a0MW!MyKfpj$*6Xh^bH9=3K6nSbe$Ph5tfjlVC{Y@Ljgy|WF-reg!TiGjKAJ@wZt}0p zpNgTOC=A_f{0fx(O>4iiWAn;Se_Q>rBpiKaL*Reeuq(CynO^heI)00IMv0IYFkK(y zRBuUR02oky1B>>h_Ae`J4_NEA@uv*HfqhK?sa0|`FsfwwM{~XLTNNFx%FSos6ve6j zgp}{xS}ilG#1m_*Z7K}SyjHZVLhb+Diti_Zh!GSd`JuFY^?#1v;c$9Bo)Z9P;CMg^ z@c%0XHb5vN_vN(p`S=*ba^2LYpKrWK&`GtM_jex%SXeB9zz;b7bLMe07lz-e_GnCg zet#`2%N*go8-9)~JwIa{1z&)M8gTx$BGA;@|5>nE7y&-y_ixI#>KgWdNN}K=A6A|d zHVP)aAxr@*x3N=BT(y-~p95nLApK>(Csj7zyEDrGdPl(w-tay+C&ia^xp+jo)c=H_ zVduU~)wNE(^}0?=8@FclrPIDJBAC1(;bf0Yji z00GcDzBna&g%%5ma$D!UyL!7H!|n)i$;Q4^FGbZ8ZJ%1dqXG<^=> z>OkKjIAXIr;ZbKr5lhse1ROj*p0>lz(?QOK(;bzMNg^9%oDVw`49naK>22@RQi<|>Rr z=;?dThk|PIzT;#GcGn&cboGq>s9*_aeGQesx_H&Yz#}I7fTFLiCyFVfW!1c|t+LiI1KQxvJVWNGYk*Yv*YZ z)EtejHIMN3lEeucS;Ri|Di6h=fG#Tt`ObYc@ z&|K64H9(5rfT?85R!=m|8u-dXkpEOKVWUyD`#b56Bzn)Q4q%F~6nBCRrALalSh&Ma z%;qslDn`fPOS}OAIv^G2gr$N>l<48ax+FhH%&F;#rT~0qu@I9iDHaGXbXY`w^ZGTC z23)bd9%9@+-2y?F{NIL9JDGpnh(0qs=sv`j#}yRbX4NlO&R^=1W{ckdh`L6fqb-W)w1 z-p;gx7UfOfjTb^ZYY=xz-YO6a0B{!(W1@+&2C7xc3DZN`kGtD)XkJU(pQrG;22ma2EKhDGD?naVa z&NL{gCuE8}v!PFkUnQ5|4PjEG@hvvrh>RL%o=JlQrw3&hw45V|M`=k6kPA&*GFYz% zi8HOdO(vh`ug3D4x|Te)lBHAh8-g!p=qLbDoawrwO%0Ih!d2vwgxBChID>#;7bHxk zsc&*xisIrOw;yjH_|e!u#F4A8Lmg_e;x$0VR3yRqqCr=r6>V?6*HuL*4HYAscs4Db+@>hJm!##))c^=87G3&PWQ6;3>*;V zXHdCOPMg6l@EUbKVm^%kj1Ktzg_6roFC#JKbhBiO8aXCUZq!D7_JV2s0Sc`rxJnDK zAY7cS!SzMU?=)Cw#yJ0_gS)n=2_T~;DmGR$A4s!C!=hdQP#*kOzB+mXV&)S;jsG8! zXjMtSS^`jm=>cA&r|idJU=L1Hm6^la=;N#;>}UK;dHSwwdRi`m3T4cc;)1^0o7&Jw z&?1Z3{uGQpyd;mu%ZF=3F@dJ>&E?A>+F?uZH~-Eof6X7_^%iB+xRHrg`02g;&w>)s zS6ckO&n~$)rOCKMOeL9h6xO{m5jp%rKKlNof2aa6o6}*uw^2Fq-O2+uFg6?eETgDR zKVsZ9{%4pGG^s=n*XWq; z1p`add)F6Nx?=2piN@sgtRIc34u+JI%<3|lrp(#s`v4ap?-YQPljB&^Fm@IPHx4SN zthgL2hG%FS2cS*U^41}znTr-!j=?Mhj=LwEmP^$B!et33N%4U>LXDFTtjYmbT*}d4 z(*606OGBi_FLaNMj)fD?Qpe_lgyk>|SH;aYj{J+h;}^_6nebJi_GWfR9G~8NSH&=< zrXdQ>XB)B+a)pc;tHmdIX~=C1=v1z*0N%2>{`&DbwM!-dv;X@pO1aIF|L!6H+@*0! zE>X>I`#66Avb{&S`{+gpw7M z7aPw1Snxz2LG<@4{`8MS^8x^e3f}jzB>x0Blq;s3`j109virh-CTsjxlglb6&vRwm z+vGoeO8LqU+~Mn%JU&zN%3yNO7pY#JF1 zm!Bm3<^>MX>6gER6)=$uRe?GDMSXEh6-5`;1+)c$_;2tPe}&_rn_opur9Mw)v`y*F^hZ6(pgJ=R$NE~X>bKCo~s>ex^&vmjAwV-l2SMInmA z^lj8sb&xZdL!$x#Csy?{m%S^5I$78WUh_lJJM7SM%Tj7n`Olnak|q&428WAzJ;e+k zZ|we&tV2xsKSKQ`0j!cqNg>cZO`87wJ13(ni2kOgB&A#{Q4)|LXk;v& z0DWkW`+F{M&2u?TaTp}-L=Z%n^5^Bi(sEo4W4&8tV4eroFO(PQ`)aBsdcmwxQ2}qG zHUH;gERi@Xh22$iLkn~D{Xf}aF!KxR8)VgZ89E3k(Zh(-TLUqwqhrI3G)tqxXS?m` zEah|}Vz17CiK!3H2!O(yF9aU=^Eb|*aHITandYfXoDVTMn$uOTnZK=z8%v(|Aj*ks z|CwZoVs#k2mQvMDUxco>&(yT9L{ffa38l^OC~7?N3o#yIZ#l(bF1vJVZ!5HU+Fh84 zQ4rKDdAnpjl2Wz|CyzE(oIKOX@`Bz5>|gnFo96H^Y0kTDp$Oq}uI{$oNT}H7I6%?_ z@+aAHP&AiD=KXI~MD*~>zYi#s@v!41N5h#CahQ?)g)N)mHxoA1G+j>V@49qI( z^`)!6Im{T9QR0mF-$G${v`1@^kl%Or7vWO*sO7Nf3T_5?Nk+^9xjb5TsPV@p(kG`X zQ-`-$o_>zTtPPk%o<`3~bP=!K9hcyhGizCv(5;qEWZSB`Fv@OiaTvUk0u`YrXyzWf zA-fl@8S2xc(Nc9D48l`gy1jHYwnQ96YMKkxz5czM3@wcb%>*BRg>##Dy4|vNZOra_6^v3l{WkN^qCJXUr#`BMLuSgb%gA>l|SLisz3|-U* zTKh5QJt6nSMGqMK-3i7b#Bn?>K@FaS32Gy833^HgHCO2q;arQwHbx%Her-`1s?NQ4 z3S~aWz8?O$g1LW`Qbz>Rn~qvNoyX+3y49#5ars4JnC>xF8}7^PPgFuC#PU)0*UU+4 zEZ?0QsGnViu1am2DMG()V`^ABDGyWD_iny+tq9mp!YIKDAf8CqGMT- zQh@^-ZS2AQs~lxkm(rAPezc_-gW1Gup`t2SJTi00Z zg3B;(6WK*|zVxcvmItW@>o~?6$Y7O_w)ftOq%lxY39hW&bEF32Z20)ec5nA3w|^1d zM;eF{cO-K-QeC`EF4{o#)w+07KtB?C>GrEx(>vL!=79S!(E@_kEQ~visd}~el(}#2 zd4EDnjCzzOFredG+CWfn?DuoWC?Q`+2VSEruHt@cS8M4eVm~QQz4d-$!lvoLk_WH# z3o@v)@-X=+3VkxrMFeyHO!ekNX!Az|zdn_!EHk19bS0Jl(ANkPcRhscHW>JkN1F>w zp_?E3=F9rs$$PI1(|3AhnU%<@8c*`HiiUa^d-$6Ypp&!wRUg4fXH=-0&&V~fG*)g$ zT>`=_g`v=rjq`(@gBdn`$+h0qJ&qcD=-sxN551hup52NoE3j!h7|hzbGe<0kEwsg} zMMtwT3`}%@)Y2!%HPt?Vb7ws^s4Jf&rNna=!0U2|n~>h0wG#ac=X912`)p|-Tq>u` zxEy0NS;rbi1~8Hs`|vN|2ar@v&E->=kW zlS-8DEpD1U)`x!%TS!_EG=5xM8yjOHmnZut^J#A!|HivdK_T_t4>_&s%P`fMK=61v zY&s|%ZQTxHF0g6dK*d?^OU$?^_SJb9%6~Ki`1eq_pL8_0VXgp8cU#RcyNk=S{^0Z= z^w9Mrct>Wo4*<8BYMamfkI6?2OTSRBru+6WV`x$OeTKro?fNQN3};n8?c>a@83NhG zT|oYWh^3cyKX1STTc!^T-?gj}y3;WIpvh*c@Ts#OTxsNupyN~ETf)9M!HJv3WbR`W zmj9+7t`{jRZb9C0zpVLM^hQ%vUC;G_AQkEW8lc>LAue%l`vT}~T8b{Fr+ zBIg1syIfT*&~I1-!9ugg0c3x>GD}Bj+7;-*xtj`usIibr;AG$8^!tYx2P&JZ1rx7z zV5dx2SuefgZUB!T?Ko&OPDiydSa)8z&s>7#oq%jj}88#iYE1M}>fxCL3JO*I8l zDRF1BXj&Q55CIH6N$*W5n<&x9QO4sRq1r88_zg<3+1s&<{w^pWBhNN5$>?U?;BM(e(yr4*q97s9&^hPw_t96C~6P~ zChF}G_9deUqSGDXvKri61o;u33Q^E0>)m^e3Uth6-PG5uum)|heosTC@fyDf@@y8~ zE!{$1?9pXo+b(i+0yz zC2YP2NxpBAaKFDn$BaEDnj=e-l|W4Y$Z zt~0+P+6Zl?S+GJ4zWA<{)D^Y;-U@)sSPN}#s|mvVfl)6mZlQPeb%-BIue(D`WN&ZO zLwbiey@V!f>slr>Hyg+rawdkx4pdG94pK&LRg=b}dI zfEVlb{mK?T2+2Hs4m7QDSw&lyzITCt6NaJ}?y;CmsD0A!i-D(O|9Nl`x zy#(>zxFXfGW!7aK*I8_Me|>B)R-mS?PjFu{X&Pd^|Iq+#kmra}Nv|p~ntU=q?&T^`#pN=#p^)3&CMAq7vJM7FG*qEMo;P2G(-EuR!+2;TaG_Lw?>*c`py zhItiYxl>A0!zr)^lKZN;iuygPuQtM_Xa2YuvRL&W3?Y@x&2ITtT3=@G=7)&gGd3T= z#Dp~x@4q(zURMiu;QPr<4E^?G-ZrMT(|0)AT~~!IPwO9zi{}nX_hPpsq4KGyd}WWZ zs-|;a=4y)`XNSD;$@tqm5H!klGu|+9m$`JiS9XP7MlQ`BHmQ@^Dz)0)zXts_Lf8sL z*K3W~l1rPqx1q=L=D?kO(8j@k-AF!mJ01)uzJ+ZKjOPeG0r8XqqCpl5@3 zkwtxh_gkrFE1D@kzH`2l1VQhjZK&<`O#6&+u-qz?fUdnKil->tkN*&(^|($oF{wcq zvVR7OM`W~V<qx zZ)k-cByW~l@(YjP#s(XX4b8}R*3a`|aqS?e168(H023mv+)`;7Rha%YPc;lr{2QtJjI;OX>);dOZrNHxgC!ULFNRWh3rxF zmj@?VH;LrmfdFpHF_&UGI5Q#d?6B5z!R*}i%Itu~FT!TQZW-Qr5_k6fc>T#(rzF&_VoO_z;QfXyCoF3aaU_UKBO0+io%A%VG zEbizCynDsebl$tW=y{Y-0_5Qu*J}Bo54q^vt``&UO?45;PsFD<8TyCBgr!dX2Ak#% z>vt=Cn#u8lIH!gf*{;ziOf|Oy>IM?Vt<$%9^AR)>WHq~vxaE;3y$-yDHnnOT568z8 z;>kN7D>-awOLZ5tNHKYt;lG>-FA#5DJovdIA=(1x%giL7A(gw#Z0w9I<8+=ESbJzU zK|a*qk3x#wv2g(6wgWqAzEuv@KD@`;Q%9W00!cM%Tv#+12{)VKV0oP4bW8=}o3<%B zvzs>(>U=x_P)S3vRQd_)Eeis1y{JhS>rr$GjfT^fx(R(a&^lX+FG|FY_;QeM4-E$m z_HMGZ@s+yn3itfguo!mWU08L6Pj>K=-@N@k-$dLO@NzdMspscf3*d_cMcv0Prn+%& zPm|P^QB8DDqRvz^LB4PYu~mXpo|asCz9kl0Bzi4Px9b-f@dDN_7w69l8@1QP9^Ybm zU0~e&sE7i^he2E(HJw?|;C?C(@_J6%a@#FUsph9&lg?NmkE;-smd$1MDjVr!P;SrN zka3Hpx#H7?B?LEIA>~&q5{7;3B(fGK$961CQqTS6TY5Gmez7q&)f3A^uRt2gUnTY3fXw6iO={5iAs^A(lU zPmVra>QDt;$26+}pbvPfn#i`XreU{e0ZUsma7z(ZPbrm4Mz-A-u?A6XSKyZ1^|{ts ziZ5X?&&xv40B43ntw<30x0+FnzbrA`&8CqhAoY@391aOy`Kz^!9G+221?pp;QndAu z!TdeYfLYYAn>7V~UFP+Emm{~U=7mwF@v@a`xs0cQ50(#qYGP_RN14&$Gw3>*Aj0JPl-s4M!8E0N_sW@c+`TMT z!1+%q9K$c&1e;co+GP9d^_l~FZtusfN4R!!N8(}Kb7Yp_`dw*dMsvEhhVVl_?VLvi~)gp*wu!* zjG}n2xR7=`ec0ZHx;BGWT%+hqUl!q%tpxkHt)JP(f&=$OW!NzP#+E77HroiwBXb8d z-#}r<7v-?8MEZiZjXPBiOR2Pz*ObD}av$Y+_01dAA`U3bu|WJ$xI&72!{iVn=5R z^fzd(-@FX;ZsAJI}^`+UURBCxd1j(#9jw|L2ZYN|*<*R{opV0Tl>P87FOD*}k9 ze#I{bT8{YUB6bg(;=s7i7-rTgCg08ulSL`t2=t|z?cmh1dB@zQxb9>im z`BAqKBtgLX`rBlLYm4$?G5;6q8hCq(XOuSh7TTgG=3QUZg%<06H<`-zzHF|}nd53( z?^~+3xl`n8RF|-)=6RkpJljMF|0Q>WuhJ#wWJ;&zxI42WY6vNXE#d$_ylo!l^pP_* z|Bb<3DjW$rFnrnw`QfgG_5Sx7ya*3pcg~J5&aLydR$X^`GU1kb^JiRbg+frMCeyM} z6z_2Ll3uHb&)^Oy9%Xh%7@J*O+w(#d`&;xf-fYd7e@_XwU1A zg2<9gh1~1EK7N%!rFE)Z`_MA6zZMnTauvU2u|qa({u@X$*&>&((=^3e&+US6iEkye zPtJ0zY8Jf4(0476R9g`ht9gZ;i>;)=s|BvTzekgO3qK)6UoI)sjtCacb(cX_ib`UZ ze0if?$Nf?Spn$g3eg#|5m4&4c+G>7o+HPh662xR>yb8E28dzkm_ntXJZSgJE8vPj_ zyMW%VIjr;B1$6AmvBiV+$x1)7O>_xSYF*kV2~8x}fcC1#c0qB3A&f@_+Wo>YBrqk^ zdx1+u^)EN2C`~uY3!&`{bejG+X4w-ycT_4 zOmg40zSx$LiP2$Q+%+

!QDM530ThqAUOQ=Y;R@w$iF5K+bOQ#taI^+`Q<1zM;Ip z!`lx}8#scup@J5`gie{e^KlPZv%h62G$7w~-X)=bs-`j@eM4W+oMJCnvV(A)iju*0ZN>2tvhT@Q4fR*vgR?sLdN2EFeRuSCZDFK-#sRM#O^n zUg^1(y1=KsSaX=KpzTg4+&xDsfVmPI*#YaAy44&9eNB7@EfcRi7>plF9PziXfdRh) zd!{6t)*2sv!}|euAd4cE3{tz=&~oVnGK%GFe7cEWftcuu;%YHMqmmLR2YId7LK`$T z!K9j7$)d@8UOnvoOgC`FKrmGD;dAvE@jIcdb3^ai#0;~Pc2N?M7l;%X?t8d1W4U7m z!Xusv(E{l7`X&H~d-+bbU<$t1vUU@5+A87diLX9EsCST_eP1pt4nnn4Rk&LVI^)&5 zIZY@8p%Ag!9S)Zg(5mengoJ%eFG$ z*XV2#yKaq+^0$#^It+9P(P?!%e%YhTOVk9(&hFfb9t|4(UdbEM&fh$%gy>En{@UD1 z1zy!f?rHzjbW$wOr5Uj9mdVWg3*IPG=l z%-P^grd3b#Q6lm$`Iu!KcpeDg813#m?sfg@tC{MCS041^JFJJ^uFLC$^n0^|sf`@n zN%;TR&%ZTK$Iu_}m%^aCruHMBXm#8?Xu3?kEn?NSciG7$ixbef)@9JnMJm99!#^10 zYh{3(C871@1r{HHs3eZl zmE!g%4NiZ96KQ|N1R36ZZsUICr7Fdg?v*r0i1Q=8$xtfFOB>%hl&|FE#*L>aNo_4n zaK(H__c8()8Vp2m?_vm%Up4v>z?4F*HKhW+GH@AL^6ejU6+u@3+YqOcjG^JsT@<-o zMSoLlt4|FN9-9}-xfIdXq4ej-#*{k$#94^X-swIR`dNyLh%A5rcH1L#KaQfC#^jzJ zoo$V;j`(XiJfxq@td@lC*zJ4l#hX_sEs~erd(p8i%Kmy_$d}zS)MRtz-OLS&O6s8_ zz)rE3Z4^2UcVX!7z;HJYt%l~|HirZuUT|~+uEgr=D-}w}rql(NanPMJWq~{@mZF3nRKo=66}DG;qZNd}S}vNNRyXr6CTMr$}XV%6!PYrxtefd&%ZJi<{p|YCB0J z9>!^wDCURN%|IH1nyFE-b{*+56Hr+wi(iK>J2;J7w2J7IY3kX$gngACYN3A{!73+KB)vu78 za9=!zrfS=lp9?|pIhIJ}VIh2*y17xcz_umJvPLDwbvvdfyq+V+->gT)W71?%oE*%s!hik$(w+M6#!72uN=ub+ipu+X&r{}gtvXe-XL?~8S=%uNH~piT}n8fZN$Ma3Ng@r zwX#AyBY{>SQK(UkTkIo9@Mnm4Cge$W-dZkqAPs`iJ@0z-Ffm2_a>LP|!Eho~#&-a$ zOcMF$N<@&_IsvKlBsCCPh9#xwXn+)`4Oi?z%oN4AlYvMt`rzpOqY1;x;NA;P%55Z6 z_kHN;nz1Zt!rf!geeq6(qV=uz0!<3DT$6xMWCaAq=y}G$%{%V+qMTB{=(eWDV~uo?su511#=D z9EBA90Eau>_DXamb&`y1{Ej`Tl3?6EeH_jk zUgLV2{1JPl?dj@5k95H-!<*`*sxMa(!TE^#Zk%>uAdekV0sGR)nUJ;~4<0Jh#FqU- zdQX1_HcUoZ>{IpbSGeLC38||ZAUYS`?&y}W_!pc@ea<63d9JHIh1|cdrm53ShEL`r z!fmm5O^52v@TqCjC_HE$C{ljE-!B@|Cf8CUEL>_zzjD?uKa|A-=;`yuTJL1y8=r$e8(J;`VX_ zOOq$M)LHUOTY^zFJkh7b2&68 z;8DE&G|7v2reEocy!l(y*4)D689%hfix_K6s>0)7X}(*z1EduMztex4-Ar-oqG0_UgnLQRy^Ia`s(lM$2Wrko3*!spe(vKU z1uDERb8#VZiw~Em41wYvAk<`ci$m@4EZ_m%!eKpdNx$=3F1Pk%%`sc3HbWbc8*SK2iSyF*xJhtU%Fj%M~Lqv z7hS;F#~6ZvwVWi3oa2SHKC*_u+tRY+BJQXfhVqHy0TGc3SdcVtFekZTxryVK?wGRN z`Pk`}4%mm@=ZOBvP{mNnhE2is#kr_NtIg-24ajZ)CSdgK@chj+g2p9x zSz%D>M{bjExjgl0rnMSZ44dslFbmvp@Y+j57zFSKCEST%ZkE8{)`s#_0SIQIzCsy=*|S*Gcov_s zuHmUyqzE`{8)&U{yQ<8dg^jm;f%L_tkLPB_P}GOtjJdWSj1FY8=ODtAkF#IU{J)h# zqJx($n$=rZb4L>roNgTkC7E_prz#v=dip+f#G={f#b;eU7r=yzX}58q=~`= z5TVCUL2VX4ju`*Q`JUUgwef%Q86>*`-YjYOaJElZzlN$0H@E^+b_P-12Vnw(Cg|<3 zs|=s`Mo2WTb0!@v7%5s6NpKkN8&cMKCeU?o>NSp`{}6W{i$*%-eM*Ouqqxys@+V3a zxjbUdKI`_|^1Y@E^y7{`POpS8^10wW(w|{bR1qp1*zJzO#1*so+KcjX{UT2;AdK0_ zgLSR5)LNWOuagLYRrSmR$a5e23<00{3dSInyK__`>N(7$2t+&kksdZCB9@^@zZq((p$_SWy{=1Nam`~~7Ctia!vYP{puw=6|~U4!8!3?f5(k0>i;Pa$Es{71_Th}Pu@yw6R+B}~9uXKim0 ztM!K1c-TUKSDmK*>rrr%0C-4E``n=R42DgKHlRMzHFpt>?g4*gWP^&i37Ii2F!heM z9kB@7drbWY#ac8uE@!O2K(EX-&=@}$$yhk_20ZHY7z@F=C07j8ABr$qEX2Lg_`9|S z=DfdXLeRaM-Hkf(spGx-9cp&)_bS9X?))O9*QxQK6%>ztK~jHYIidGHFg8=O*fvpJ z-L7|CHoMG6j2s<~qeC#QiSOrxx4U#uoA8fTAa%a|T5G*qdq35cv@W?oNOZeN25M?j zG^ql9=_~LWPHsw%dEDt{msNn?w1okjE6wxrFc4mY6LIfyX3GT7(pHgh+FgEX3bF#> zxFT8jcZ;A&y&eVgM5IuJbEL08-l`2u(*8>gB-^|jcZW|#@o8q5k*t}Ff?ZS78HD=K zo`sT}Ur5k@kXGmYr8Z~(j7d?wyuF5R@2FO^>GgU=-(>L3ON!BXDo=}-pI3stUb5Ab zcl)uwWCyB28YxKS<8hy`3rYa9~AUD?+`v zw^IzGBnN71!(RE(1TfJ|L^30#p`egv>C5$#h@kd_P8>x?&PAoVn|&1D+>)FDg0Y-! z&?EzF{p3b#_voB$Ooz$4OPg}rpP4h`%CS_rl^x4H`1&P9tJy)NZ0R?_RoBY>C~pTF z9haTBN+cysgta0eQMd6)*WPp|Ugm9RF(}sL_)ejN;)K@yIZis&k{0 z*%~-aGxu?1V02qTT0Ao_<9VR4lsCw?b3@))>0Jx2d zQ4}KwU(k;#oWk2B5kbI*^ur@O;!ogXXC(D+;o~13$j_sXiNGMECyajxSb#|~OEPbe zVjB{09#WyF4fIR8Y1b}sURHzG{xULaP*y29STZ}y1v*N#iPy_&v!aEZ+v&l7%qJe5VSk3~}#uD?}t<>Fxo}%2f%+Uf4->eG>77u*-UR);3?=Sqs z07?SCYmIKG4i#D}f+@ZS_f^bSwv1#~e7kVVR=)Wt^h>?rxP0JgA{z6`&^H#zXBU_b zHwAkaOLX9W;XT?&zUX}Wq9_%yI#5S{TW)~`*Dog?Y&3qSI`pXgL2SltZ=}EJMX8*0 zi|K|?z0WE(+_shV)ZhK)KEZ>O`KubWPP>A8)v9o!SE%C$eu}%vO>0)P-iQgCsLGZd zYgcj$7={AJ{cio<=QR&nMw;mD_r5NvSkiqcNnjTjFMCD;*ftoanso?OF(y&Z>B#ly z033LoHsN3Wyb(f%3pqp0qyRheA_}mr0n*aNPBh{B4)ebLcOCn>xTG=Qo5wQL@ed_N zaM~`ZUl{#N5#()n-x?QZDiE1WI3CzJ1EHw4e!u`2|4>s|=qH*A!MgKk#;)54r z^7w#iZqOgatJ0`&KYH}CpK7|~=*HUp&29ZA)8pGbqLGs>E&Jr`TG}=o*m9;p+%Mk) zcB{FF)DO<$@U;4}PkpvTrG0HC9vCM69QoCK(egwnv4Y11jq`&zpWg;*SZd7gwnrJ% zBK=1ijlO3jWkP$e_C)r@C552F?O%UL#YnA zrT&I5dSWq%{z9jhKdY9WTKZJ|?19tX^8P+7>&vCd;74_us3Ug2+O_Q(ANg^6e#^~h z)t@7dd=9_8&3y|T9AO!Yw_4f#5NF9?C{LoJebcVo&dpyKOfiZki8{S+@gA&z;~nY; zb)Sb!$1j^uBIeQf_Q$OHe)J6{@f-9v0i~#|gi~uWdSX{wW(=w&63ixjGb`!NFV?== zPK@%MzbQS)*-a7-u3TqFE+usci6%*X63R~ey6bkLF?k?`UvtsN(>v<>huX!2{K_P|0r_{Ha){sNSyc6(SdZy2*V%`Z~SV=_Bgxg|0QM z=dqLcsvf+($=X+~pFg|y9j!UJWoE-~1!W){k!#L&=1J%$K_VxS=Rb%XmfIgS1YmW1 zOBhI&eA>Oyrh2gSrT%#;SBIigencL>{!+Wx&#B7x!`;FWp<+dz%Lnt5K`^jz8Ov8Q zZf3Al6{&@kyj=)isr*du^TIqi|A@m;-H9FrZ{pF7k)KNBJ z$;-6+(SW?3tUt_rLEiX!L9N9Ou+3&yBO|bw^jf)1p@2LQvKkC~A zl&`0GHhS7iy{vskv4-LMOz1%_WS=CABQ?F%YY!86=iEj^j4Q->Jl6x?UnvL-`lR+~ z*`?1~ch{yH*L^Qw{rwO6+SHaJI+YRCNgsFV?r{>Kx*!w{!fQ*W_EKL2s8Jg{Wjo&H_n`oXNKkN=NHOWVT-be4zX@#KH zZby6d&ez!5#$aP!;h?hW%8uJ$9esp$&~746AAbI#@WRySezov#7s-t5Ej{NSj7&K; z2JM3_3uc?0#T`T^;3$ir&py^f-+j}v;2%6k@I^yJM>@&wpET$Bz)rN5!Ea0CIWLWd zFTByn_ow{3m`Svd)WI%dPaT6T3~bWLD6iUtKtpMj#D`^>Tkg_1)-4;bB(XKW`=36z3o=FzPTUy&D$38+XgnI3~OrIEW; z?mV4fFtvZ^j*$bGc%I>|UvJ&_)7W(3XKavDyI}*ocE4{I?DZgS2hBF$$jhav2ck~q zyq(C;iUqTsZrk+SABr_^WuA-Z3?HeiVd$%1G10o7@Trd^W0CwBKZz> z3&M`CNLx`>jR^AUt>X?Vvz~1>xl8G~?&r7Xo`kj?N?(4J=zN1!*GD#ly>hzNI*h5{ zOf9A4MG9)xGcYI{<=7jrQvgsSpLXa)8VJ4CCyHKI1=kC<3LyajJ&NZ-=xwfE@G-Ma>ZK>)cxl7 zbCnO>Rkui3HNieR@!0sXOc0F5UJX4M&>0}~5EXAFhgZe4b0k#2t6W?Z5hL_ygKORW zzR^`y29yc8+gfMD98FCss&1_D5G=cyXW^x&892zE6o{nqG6(y-Yy;OLC4vvgu22q5 zO!eKgSd6J=7g`q~Bijp|)aVPROCxZd_RPAbJnK*=>)xv}F#EsatM0DWo_WGkYoy|M zRwVdTB=~&L{+N9Kp&?n0KcZu@uDYCq>{Aa@m7{l)!hrhkb9szs=kCeresukt=fr!j(qn~>q@F29V-*j1i8hQS3v8H=pxJ#u?pv+m zx=jQ-H}v!guqS_jfSXR9bap5kz|Vox zD3<$DvTJ4YmHzq-EMuye&Zl%(#xai7-4tsfcM!t7mT|j}uMT?qZ|_=-kBI_)uilqc z-Ke{KC3YLo~2a5fT4{!DO6| zPpI5=+0j$2F`^1e0WENPMnRC0{kQh_sLLo zBe(?9ile`NAY-KbQ6uo(H(GO1(!0orEUJg$3K8kvH+p(T@DAk{)8zN?sGK-R)&XhS z!**wSmhj+c*wjNXAv2jT-SHXiT>;E8?ge@_$LfH`ehlTz_tOL`Pd-v$;@f(gr~>f< zNOC#UquYv#pxO3t`|2%t?$W+Bp!s}pbIqiz@Z{w$mPa|qyp>=4IhqT=7}tv(-T!|5 zv<6-PauNOq1m-u&NIBnXU|W3q;qjmF`32p3sek6C^`Ts!PU|x&9Mk5s78uCG_Ubhv z_r*wR%m{yfB*OF1va1|xEi5PMp+7Z3IqYXxqy<R=IggPuHKG2^c ze}>IDw?wkZ^1Th2YU|#=%(Z08S$wTnSG9ctB{XgWkb=c$z$C1KYB8un(N5h!r0$ok zY<6osZ=j@fJh?OIAD|XOJHEMjsO}lpWEw*CsT2|xoVG%yw)`4X`VJ|qVQknpoLjdm z6rKH#++d@0^a~CailSu=d(+_VcP^sx%3~I?lviK1j*`9&x@~Y(*x|!*YU#c1u#xdx zc1Zb^@v$46^pXO{T;@qG56?~XJG6TQ(O%!`n5$p6?HANieTX$~EEASMHh@7Lv#-a} zf=xy5Z$7X-=YC^W(_z&1#klQRPFK1RbsDJ( z42c_lGW<{P%wL=#hL1-1^h9>ju0NuAi=F*^DplVL=PpPS?XHJY2(K{?gWIn?MOjQE z^5kx>WgcC*`{A1Ly+q0~l*$a(<4{Z(OQEQ59rsD%NXILpI;15Zfrl06AMt?le80k1 zuE@9HUH9Xoc81q(YAr_ydk8q~O5bHKsvE&lIXVbV@LZF;uBP_|E_@hQ!4IYexyC2VzZ=1*6UVT&xb17S#*=}`VXp%w$L!=cT?t?ws4&@J zEB2T%#e{L$w`Je*<2!sUce1XRsxC6$M5mwjogO*4Aoh3KeofM0mMZ(|TXeOZgQ7n@ z@Z4deuc6W267lH!3)Ks|63?Ud7xM;C_sgx+&YB*$N%CJsL=gNQ^+W6U>Fd&0%D;`nvW#zXeVvQVeU#0XXE#M?$~Q zON^Po8&_Kg?dO7|H_b9W)~Mjzoc8148zXyOXWWZ1@QU7poXrhiWn z*1vAH-=Y!H5MZ?R{`TSOM+#P#s4$Y&RP$)8li;Zlj!Ad3{e5Tl%-@OEZEa`TJqx)) z+3_sZZ?ycpE{a(PXVJI2Q(o$O!7|!@{Tf}4=5^y!Q3Er46PewvgVF_F{G zwe0m~mtwc+bd|w`31i#}T)e(6QIi4eyWU^+T}~9UQMi}lR?i22_;35pzxRsG6nj-B zjBCNO?K`4XEN=ZKUCvvTq#7R1>2t_uQ9j4fzhB^rDGg`}Avs&Rq%Lv^KPzfK5}>aR z$cZ^08oD3Q1z*_)*LE3&I9or_anSL#4m{xg%~DlKvTMLEnt1h^gS1G$2)wE1YT#h1 zqnnB(yrPup2FF&j#ebhoIpFtGMU}0Ry)+>+R1$F)jF%0uRRg6YQpZH^Zq|!xe%P>X z$_~ybm>hm+j{aFn8sOgLw`OJ3OznLcI*+Fmj4i3jIQkhT`X(n7R?y4E8x|K__;zz8sN{Ke_Z^L90+Agax+mzvR;6SV_g<)hi zp2Cxr`;Ppfu#Q+OewYJ{3!mX1fvx-1U+Yiumsx*aE|^Q|wHj48UI?wN8LBybf9HXg zb>;1J7@70@NT^>^eA0z+!I1;IxG&sABV1|c?b;wcen#%+zLzUnyjzj}2A z9;=stzgJB}kdB8-BlXGw3_@&Wq*rkVUVq9Sdi3V5RWnKQy`0%F8>FSAD48_$XUHQm zc4{shk0}}=tp04!sqkgiP6o7M!lDg!w#ccNai?3wpFkqN)-{!*)W%4i*h84;SIc?T~v{3)9_~B9D6D? zkhOs#5Qt}dit<%=y3vPj)*QXA_Dd+167OXB+j+^XZkry0_*xe%mvi>E`{G+7M6yJ& zG1HY#>C{ByeE4x*ySlk}CQ>&Cl;@LOz`fSPaROhE$Ty`Gl+-uNsj_2Bq>ASl`HM{^ zk6mbjix-AIv(%11=2n!b*pZ#y;z$B6b%Nh-dhcvtkjO)%CN2#!ZRN#`Yoao%hu1dv zCA2OT%F!IU`RsGcLVW}rYn-byu1!J2tB8>wPaBRWR=TC;qCEDVPibgfdG@>dfUiP- zR{1D26f&HmKk4me_-?JScvYa64LdYwMXewIyin)o-#_U+)_dQ&Kr~m9_1sSwvE{A` z@1?211I5vKaDC5&+&*{L()TMK1|0QvyKM({aC=vlR5#0k+j?!NQpq2N6J=Ef1~Xa9^ERhzLnN&E!3q{TmQ~Xl*sLR z+3bm%q#`1zil^u90@^lNn7vSNnEu9>s=5NYK&%f;|140_+;`1d=mNb{A>>jtg)Y#0 zZ~>O4;%AtoM3$fAFaPc!oK4Mkp_gJ<98OdWjU=cDOHL$>u9gR?1lRCn88Hx>NWVHOT$-tDQoCV-|VARA}9WEZWKSh>lL18^Z z0dpAzcDEf+CbEpAEU9YdDw^-;@|p=hSL2|uVozasc+j%F_BX2AH6z@(dLa2qlh0@~ zRNy~C_1oqb3B;5Vul>R?O`b|hCL&5A7;=qInrwP2CDlh|5Nq* Hz0 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/knowledge-router.png b/docs/sourcey-catalog/site/_og/pages/knowledge-router.png new file mode 100644 index 0000000000000000000000000000000000000000..375633d3a66f75d406d4048b972df04e953f9938 GIT binary patch literal 76714 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/operator-inbox.png b/docs/sourcey-catalog/site/_og/pages/operator-inbox.png new file mode 100644 index 0000000000000000000000000000000000000000..41acbd85dae0ebece4a7bc7bb408ffd2d3409475 GIT binary patch literal 72932 zcmeFZS5%W-)CNfJC5ZGAKn)5=k=~^!q98~|S|CWTB1k9nA`%sW(3{ew_YyjxgVK8k zL69CGp-jNO?t=Rrb*{fow9A7dO`)I!)854v!X{sVvix3$o|MwBGp(u^`?_)E}2>zeve`W}^{Lk}Q3J~a%{}~Y6 zh4bNm1`vJ3rT?D+l+6G8g8wl3Ux@xkDgIZB{$CneQpQeAfOYluh)TCs{M^-!O8LSi zO5O0E1!mo*C?)z0TR04#Dj!;wyx2NBJdYrG;}MOl}B^+8Wv@zgN9c`#re&JN$H+Q7WA-PXT45}1N4TuJZN zm2C^F^g<5i%D=vt5^pP10XF(nYNUh%4Sg&5*7zmf$DOk_pzDthg!SK>@k~JQE}ok0 z`NUUA%H62Eh%_UZ5&-%GbE-3nUzS1DXuK&zct*a*L;Pq7kx%cx%sek7TREIO3HW4E zi!QWFv_cYYr1972mVZ@(yB)jN^lGtwHSs!dy|vh=eYsY>gz~8g(p$46kemptLmC6Ao18ezX#4&PD3Um@I+fIsG&L+C`x@@ZD!4QxqlSk$^j zHz`}cVfL~$7}cX|?vdQMfl!-W6ad-7DFgtbA-cRtAH zgR*DH)J6kpkEMC;KMNE}>Ig{%wNoitD3Qs;?0G&9gr&0~jtC5Ut0N=e9zvTa5Ae!RwgL4;Ip7)sY-0J8~>eE4iQ3HFfdOQYdngN@>@^ny2Ek07mkVpEV31t zhTw}e$bfIzf0!E#xtPHv3@X&MHsyPv3onAab#AM^zY-iN1j78j(?xKhV&+Jqh?-vU zD;EiKJT{mb_P8i}w8zF`A~20>gOB*e+-$P#I*Pn?%gY6lqndU;_Mi62#CsUw49VE-12Nb779=46? z_i6ddxHwG@6JIpq-4FJwtqz5+WG}fw54D|P^#R92x3+qA8Sh^$QC}q5tvCl@q}^k- zJT|37E2r2QZgkl$23M~;5Mw#z<8MZP>wKi7Vw+e#KGaGJuc+Q}hg1fXTwDm;-svaJ z@B3VK3&f$V z6>&n*JCQYhjhX^66KIwa9e2EOb2F5|;$#+9@#?k46JQU=OQa5ORhcocHjob*#<8Ii zh0LZ0q0jDUZj^dTG8zv$HVb7B44%T!bu&A0@Fo+bZdt zj?WxJJjjVjshM$}Ah!|U5<_-{NWBtAEd?L&Y8Z09cr(d>vIPprq-|~8xdu2(grZb2 z=Iq01VM%4p<()ou-`Dg>t(Maa&!@JktGGYIzczsOP#*ATb1fp2AN;F1SGZ~eb+r(; zlLs4#QvdE&+c$u_9sFH*(EZc3p)_q;ZOT|DHN+qA+vsG}jQE01tUl#2XLR15^e|Ov zP}8)ozHtWVjCt#cCs=8YWLvG)j%o$3HsEkhJYjk>XkV#TTYUU<@cWx|ImP1_Bgl!g z)0JM95Y5SEYILxFVySFb|7&%7ARE5>x!CoOEnFg9gK@8wcKkxVp>B2LXdIjoA?n-3&GiU2B3a(6+99MiiPVW z&0`SM`8{qd@ZZbN0kM~!>5{7B{XOp-lDEN~a{PJt?zY}nryqqxN)8m~d;-9cXiC(6 zo41>T0<1}PUq!kbO>87-XQI) zAgDI+XmZhuRGhWq*BK9zZUbjgVlm9o4Zw<^3 zrr=DU;G!~{Nmyu=2y9Tw08TxK~2Q8G@sSDtYLt84M=dT*m`9!TJNZ0B3 z7_E=S&Ig6&s0XOFh8d1}EH&~59JgJ_V=dJ}up4uHERhi!!_Y;9BzMO}G!P>P(@ycH z1JN$>K{BInP{hM#bL`TKkG+mm+TrGE15*9NLx0KPkQgZVP*yyl7k@erV~iAK2OZJE z$Sa9Asy@iR^j`3o5gPRLP27+jy*5WT*VN|BN1W^Lx9iZ>=_QOBAy!GUmyGtK=89|* z;qQh+3yEA2b`s$LmqY~`c3LUc12*8}IV%juJO3%a(h|G&6`QktGtHSmdmy;_^FNdz zSd>2D^rexQFNY=%q=hz+7IflDsOhN@|~kTt}Cl zu@MlH04gUDb-z{Rwv?KZ*t&40qYz24w!)vvxGPAWyvra#8BF9zu~s5tIUarPk&2QD$HKZSTLq|_pBUA zig{`_utI@wEhf)On%@X=W7sHtpaY_h!A0oI{Z0RKE_h-KYx=_~ykuO41a3p1$b0PR z;Dzv&>>1m}%up|GY!aknMP+^i0)QQ#Y^ z;v?<$#d^Uyj5?=Y^;=j59_62ud)5a5?!m*7uoa!#?gY3SjHJi<_+4HQN&#@j2nnUB=XWrSipSr?zn z#?}peJ^V?y5_4f(g~B^N9qwOo1_J$n(>C(-`>cU0)`w#>GyW5Zqm_^w+19t>@LCe# z@flMFktSRkMAJ*3mDeblz#A3j{6Gr?!(l!A2U)8l@QLb_1}Q@AhHuHUzs3tuA50pzL<4i#(~_{a4cG4KZ~ZnA#~A9qn{8 zHVn@5gTrVT4o_#0DhuIg3uL=fF4gya36*A1lbR2HjV>=2XE|8Was`K<$?y>1a*efau=4YUh87OUwVL2d=;lIZ&PoH`~LMV-oQof3^f} z_D6>fEZpknAP>9~q*9964RUoW%sg1FXQ=#^TK|)l72a{rlH&(NZZ7Ff)^+=xbor$49)G8 zzWy?YuySzqh<;6vTs3q@Q-1J4iv1}`rWeIOl{916NN8f;5N~_VfbrZ!lHR1J?!o`h zF_i_#6!ndg_MRGCO-O-!(tWdsWs+9&P)^$f>va|vd+#1*dlbu!mT@O6)|2&xzyy-? zz2UT4!td}F-oMSH{{3NntFVa@9ST!P{IlIcr4YzO#Bp0;FOCZ<%6=hyAL%1PB$@sO zT))+PR_L@RGpGqz&>e z0tlpH##}Bwd42;TzuqdI19kfwZq%F|6Pkk@FDAcudgWqjci%a!0*i$l&}2x#L%xhU z`g@NYQT@lohM_UB1%uN;frbl-02lVDy_BF0`q)C?jqpcV@ryp~Tqf{gPKj4a+R)9H zyL_0x@&(()k8Zf zbn@$- zNyDHb6`z5_A%0j3pf$6H{l#9@m}Sk3uK1$CGUTll)ST#{hphKP@i1P1;m9Swlyrs= zun!vnwVs8#-Cq|9^mj&JK$}KqQO{)fU85}q?@chmcPjq~BI!z<4=1Nj>^)-?7ep!^ zB3AGj$q)BKHt1!L@NF?DJN`B;Mr;bnxMGto50-m*L^&(P6r~P+WX0>)}ppfFq{TW zI!W9DeTJ&?gBp?$3x9b*GdE!mTRY;pvXVjIClbL#BtnQCWQ-fOoAb-1S=JQ3XVDgg zTJ%3^Psy`jJ&uzS6HaNZ&29`+71^qux@h%JNO!Ta<%(VjT*=Bzm!fF*o-NsQ^&n*v zz79O#GZ>|3L7zx22vdxH!@Sb67Jkc5W^yk2R}#7}7E}#OZUy@-3t1?pvN$zsd}LZY zEt2tivI)nV4)=i01-LEb0Wm^ToTes#u_J^OO7dGGj5Or~iO!#{F}dpdFi2r06=omD zO4^pi3SByR3)Y0@_C}syKj}DSc?DrUF1G2KP-l3J#ihRs8EEnRrE-}fOWFo&f z+u{kP&`W!pf_4-Ja{tp&cKjmTwr{;DM}d+LMg?ul@fkuMu8-js_aso#in+14;n`?d z3}Dny{{1@ucJr)4^IuUJ>Ka-*&C}sMoOmGy@C=KrBs^L#H9>b4k%neY4+HbJp~B2^ z%r?75706qF#>KEg)&3qa4xJWD=516mvejxAS@WZbtxH{_|0jJ)p-lp*V<+WC`2ef% zSEOXLU^Z1uLLIf4kt2#uLa0=LjU?zA6B~Is|1b_UrG;UYAN&z^-e%8YkpyYP{fk6M zD&%+w!rXV*Y` zh#_GuL#!IW(O`7tHQ8~oWwb8_wNg0To?rwe7;8!Lm1 zsV4i*a6bg#=8NOk;$^vu@7KCQv*x?OodL|l$NaizIbBLo*t3QO%U%961xg}=8Abv^ zxP(Pp)hF}v{9xemn~joHprJipAXnv&+y@l`P+qw(-*Z6HV$OH9FCG?dik-$h9AueosZlqoryO2`OjDHtS|$iBZeH>=?3&$wMHymO>rJh1 zzZAvG($+LtXcc+w_41f*Y6$EoBy@kjgYvxtvk6-mOuo2z|GE2{gs@NK3nx!+W|=d; zt{tof?hZU^4&Wuwx19>;`E=tqr*C*JojYP3Z71aX@=MW!2>pMhg|3@A1mU7jDZpZh z+8hpipllN=kb*Q*n{~l7m51F72L=9b@!>iS#j+RwTc5en2<(sluO+OaPpOw?h8`{K zrnS5#ax-#c6lq@P_=KO8rwu=zoXafcw8N{ikF9 zs}lbKLG%BsO3W13NuDYE7&v_J?<9)2=Jwif>?IiQzoH#_{>WG?fR0&i^@M)akz9kqtrjoL>dP&o6W=Hbj-I*iWyY2ip zqnJss6&iQkaXji=dXL=*blGA$nCb1!nqE;eg3o@t*mWu#w7cwTA3#vIn>e$WN*B|< z{?8LHW~`v!+w&RmDNAp8KUOB64f4EY-Tf~%6Q#F;#@*5kJz@mAPug*DsG50YV96uO%S{YnBUn#fO2nw+{*#NyU}SV4Uv;LQKaJGpHPIPg3;5=dy!W=a<1LB> zanTf_DMe{s!K&k|PyVW1B&N3B^j|pQ+u`%Qgjkva*uY-lpCfDnmkO1N@|zwBj$VVE zMQC*!>?*aahgFVVjV#hvurAVN{8aDu*a7Qb)NTS{udfwIqLRB&_F`e5 zBS7Xe{gxo`40E@snHZzpHEgd`yh%zy#up*#4_lIU%Wu_CLQ1`T@-6;JhlZKJAToKVb`{5dhMApfI^Kb$ zPMw@Q0P5`(3Hi4gDpA~c>tnH;TVTIC0BjG9Vtk_POte1SVths@q(v0JMHYbcW*9&%xz1xD0b=*w_E5ewtvmAq$)+Hn9=O5o~ zTor47e66%L$)zs%MKRu;*d`pCUV77o7`qI}_p1~apf^)6B}KR0xUZWKY-Rswfi z@b#-!EV7hG@3O+^2P;#E%#)=u>7QD2qf-X|tps!g1Rpolj5C6dt-D@QCcPquNNLcP zsi&}#XUEd|G=bsQf)X)^B`*bO+wU@hzZ-Idr*_+#t6e;p3XgS#wQ%>b1evgv z0(7Jo4G~^UVe03S~WP8O>rgvi!BwL>xN$rhmIu^f?L@>P5sgQlS{%7W_WF1 zsbDDGuvkmdMXTdv@KkaQ;7rt)u^)|ZUTxI;m@h9_&?nXQe7NMFobzai3~)2C0w5MB z8>&jp#6)> zeQW!9aN=gyNXOljE2Y@cqbZ3i>+Cr4?tbdiZFi1MbCzK9YioY>kjQ{=mxBV-a!_6B z09wZp{`qWrU0JRx=RtjByMHuggFAUgKlOowI|n+G>BGMaNqT*WDSwyi8LVyxRRf_i`5$&^+FAj~!B23c& zJ*>qn$)r={-Xm}6r&`|@kvScH-gzUJYEEGquzFQs9L^urvn8RblVR-{AsY38uW3x# z9?};Z-!^N&xbP{3l#gL5vR}0X`>}?ZMd+l7Rd{BLs%1CgKI--+QQUFm{w@|*E@rMj zXAZxD8j>#$r;dyS+pRqI!WQ-xmAL8Jubb&!Lv!fC>Th!I1U4n_y6dY+wLE(NRCzSF z#mzh+s3B?IZRrRlvtspjF>K-YqSC$p262Gc!RnO<8A(k@M7SdxxbrV|t2TCNN)0*< z$(yp_FP(>k?beALPAQB1Y`$51y0#+W;t`y}il{GR+jTpbkvyEj9W3=|rGDAia3Q_$ z`3IJhtHxF?tOCx{Wu793E&a7eNanm!OzWO zGLyLH%fgZhFkSXy8)m6`C{y#k)u?Kvu8FAlt`REnj%EJ**u;;7bSGP%*{1{j9Fz^2 z^CJk-8>JQj$Kezn!AwWDT`hK*XnCxlPn2~63rqaZDmLEa&z~T!f*qzvt-H0J4cIHN zRE^b}kz<>l5L>Eri4)Ki-4NLnS^QaAN4=Yk>#-y?7p_0Gy*)nA(PZ* z2J9053brIs;>(40?}}fcY0nHb2o3%?#oY_u$d5#a1MJ(?&GL;SLj|18yw;ygIWL^2 zp4&&9bH92AJtlq%UHjp5pz$(xp`C*1986IWI6or(&tQ@`cv~LPtEVCswkpeeAkeXN zCTY>UrY>APmb6?+JF0-sE+w)HB|$)6v#Gw4a}l32ZuvMLD|P?38NeRg_=hFE<_8+@ zuoFi!ompPjpE*q@|ZH&P<->?&eDUaFAjIiwehv`-50ygS#{&wMk2p7{wE- zacc{T+@WjBvM>;4R(NXKx+8k zZ(=csIxk8fHu&?V=X-W;2|s12>Q^fZ-1q^XVl|YPV|mpORDrr>k9k8@U0dh|%y?!Z zgLa=_QK1<{sOWLKl@A_^?m&^MPHB^{gj5PNq@%gOR0egmu zB|MTy7V;}L*mq;Ut4*JU{~8SFnfE>Xk?&VBhzmpupC!Ulo!UiaAW9g)m%|=KnnPGk zqqZbPE~QSPW}218NKXsjn)p9Bd52#l6b;PS{axsD&XvZ~ptt=fK&H{mZ|L^)$;`qf z|FtRTSE-$?9LOH{5-}$0uTEA;Y9tdHyz%rOGjk{zDtwA8k|6H=l@6gk9Y!3`I`*WW zES%5nj=qnZ`ekqWm}u_ITy)UuwOA|1_2GU?0Q6S17F%$9lpfnpc)OC)eULpb2 zgaf@Z3dm!3q!0uC2S4YubgH z{=RqKT~2<%uUJc$eSUn8V8|TSJ8+!xy10%EI(R{0Pj{4N_g>kRPfH>qJk zIQZfY@x!?9RH0IGy6tu;hhNn?Z}8@N27Pl$r&s{@fR63?@ywqJ#P;kyA~i2fA&Zq) zvlE-GQw^odx4>f(ZfOg7ckxkwoJe1+(zTuKBtH`Db7+?$XvM2xnmHZI<2=;#wn5`z zZp7ImH{q6gyMY89X+LB02ueR?5~z3SECHHnW<#cBT0g!%_7>Qjt9e`d0RG7(lT@v7 zH-Xe&&CGG~BzpndWP08Y30o;UD>l-R1g4y{3e==0%n+#GX;I93e@w?vAQTnqcC__p zTm>i|?PCWGZLzyhH`8l|ETz=D9FJjpUIU(Aj(u{Cb`51`9|>oxHz0hG?{duCwdGIh z@KcOo;>9oX058qz&A-WS^4U$bV`P`e%WrQq82x>PvFOyCa1<#C*J3nM| z=klAxFoFF0G|m;Z_7ZM^e>5-kwF0^*l#Dgm^_|^+nzc-tc}|Tz+V?ZKToX&gA&1=Z z$5{(pa4jEYM|+?Ciu#?Ubc1Y;u&s@7gX@;tB;m9};yfZRWC5_XC>76N zxWmFm@(vPb@UFv*EJtQ6Q>70bJM(En(JdFS&VnfQ)i^!LB1tV>o-h;>ZGB1NlWwC; zm@G`3R?G`?`O)UN+DU+0D}}G0*@2Cmf2|191{F>oI4-fa)>&*xx1g6|=LpH&UD#Ld zfFWbZ3NmFbY}XHG$gXG9=k!0BIE90av(u4YDcK(#@rq6m&hm7(I6rNZ;V}^y%58bd zdTP*rIeEG*zqdyd41O+YD?EG?aoVSUi-FCj-_Rz+ z0go-t_N}{r;pnF05rHK>+FkYExe=dZEF*ZV71Oj*g!4y^w3J!lO>Cg5lw8;ceKwz`DXvsLv1yK&%F#-Uh5@Z47nol(Ub}y*Fqh4 zVX!v`iZLJj%qf=Uq#ST4p~B*~goGHiZ4mUn_v3Rd+CCil7Nf5W6(#ljt2lFXwipb< zHLF6sC?AEjubtfm8E8XlutDf*VVb7H#ef-USgof&x?5ps<4gfQ`yxQ8-Bxq9LJjBI zEVCTR@cHt5F@!n~zHi^yR~Ms*nLadZ}-XwJ@XbF&VRrW>2aLWGAsc?~jD5 zO{m9G7?Nbmz`ZwW@znl)Zjk7ves@>|fb4ktA~3i@e61#|IqUQ)&Og++^7SQm@6Ji@ zFN(6X+%R*-k6&_wQ2(@zwz>(2_xK`7yyf{1n@51>i}ZKit=$GWo-DY(7}XV9@Hr=* zDyJR%bgu>;`Gb^GaqfNdBIFT^6Z);rOor22W|p=PZ2Jf4YFIMji{JJz{+gLTJY>Qo zG>#d(L>5w5Y*Zpgw6?_!%3Vh%m{J71rw7$Z5Fy0u%2vXg3-sP26x5m_F~Ov?K5D~C zf?=m=f@~CZd5EX}{Z)T4gL{+DDN6yrP4Bf*BUX^^YL}<70XkA$BY;CB^XPu8f9*H_ zqT2zkRDtF8GFs_(wgxra8^1Z0x$rNYX%ZGtd8XB(qsW6ZW5QOVHU!f#yNG+IDfnw1 zb!J;*lKke56f#t>f-TTo#d#+V+1?>^WV?i{S^`!usz1R>v!cp7Ou-JVWhL=D?@uRO_Z_L##4Js7xJH) z^atsTTOr{@BroKmo7d?KvB+ieJ|A6ucRW_U$}qC~6%x1-wZakrNM0gh9O*vY zgY40g9bIc6Bac1!ietZ$x>Qy;(HU!IfMwkg&byMH!^iPM zD6ib%r#$wyzmouRed(o?@=RFs`P5)3o-ac|DB7VXq}pL*siWvkO$vHkH6R@MF7o0&E65*?GYvp3*?p7Z={IBru0xZ2 z3Gv8$Rcm%7ItXx~FsMbN*7SOC*<<*zIVm75enm6w_jvjTq1IrjYO4S?-L4dF9-K&u zQtbKvRf-do5z-_N*XVK-+6d3Vn-eg-`yzJPtJt1ny-^qPu%`UnGC~s8A_?-MqbpOW zk&<64Tg{3|sC-C-j(^K9TYay12!SKfY{A1ypE-BqRcCfqnEQ?b#runS6nPfvp zgz_pJs6QDZcNwS}&3iWp4#wLm0pvwFvedQ_(7B|%OW`|P16DO^#Q&0MI&O6slFz4> zoX1>JOSb32IdD*yi(j6n=a>f*5M;WQ@RyEQpnrgt*Xd+By|#i}ZnYY-8T(b~4DOHI++%Nso^X%HTI;lK`Kmc9vGLiN5@~?au*OkgjJE@8W#v(-A-UdkyGvWx zPsWu>yO^78_p|sz$IwmMePqnU2C=|#v&$ndy5FO%bkcA@t{68en;(v2!DaJ-v{aC@ z^==`TOZRec11-JgqumPrwwx4s{Ll8*>X$TtX#=lNY z+)*i>vp^#6a@eQgq_zbqe%8;uh`pwgWOlKA26l-$B#L!4a*%-f7x1d#!EhO>VBLj{ zTB`w@Kj$*4kpiF=X4&w2nhP{^`zjCSkBNU9#WBCIH6lTXQ!NO^@t~sQ8vH!_Iloc9 z(ieT=%Qr(m!XIL>>$gDs=0T8*$e3=$+rnUhcgPc~G1m(^5TMvZ_{xjc=Igq_(Xe{{rK)*PUct7xqRmvYyZY1 zuH7GkG1;Bh_RlfGUL2N2^T_QhKh|t46rYo_FRUVt_l`OXy7C?q#)r@Th~EgaCX?yS^mwCxQi1787_tp z+VOpN6Kd7ac7BIo%cDDSt7l)XKZOmFKod&d~EEeZ#!W z1-rWuXSGv94!oNaI#C!~7aQ}*&W_lW?@AyiOtPag`INXEtX$~*=HSuc6x&oaxHBix%4j_ssv;x7QA=7dU-C|z{5u66wtw`$RrVGWcb$8E&<*~Jt?+Z#7l%%PvJ%- zr92@3#9G#$He>MZbp7N{}ttU#Y;_6#qsNM1>7Fh5MNJ zE<#$-ZL1la!X+mq3+_kPr|CHI`!Z5G-FTcB5Alf$1h+xGDmIR-&L7qYO13SZ`PLbo zz{{u_y8FBBz58+Ngub>~GmYsY{jb%OXMv;=mn4rP{$!W<z%2$^<^|Ka7|Tk5-sy zbi74TI=iOiQnexwfNJC$Q)(VdKr^t<++r87ndZknyzMd8r(t?@_8sV`+YB)W)_&}4 z_8;5KiN|GDL*^`eIxn*SPZT25rOeIpw#I@A75tK&LePQzR5(45c%AW5ib!FHO3V!os-W6!6*Nu-#ecIx7$BA=n ze~?)F;~O>Tcl^>u0}(O;tS9kTXms4AW=*-k-mm0(k#p+C z`K=*|=vo*~O1FSXPXB~)N3O;0oc)_?D}k$tO$QxV-Q_*q;8JoQ_hTAbiwR39y<`{8 zob7KjR^j$#5HVGRCU=g!W7i9Hb`2@L_@q{qUBG4IQLjb?5=(Y(mnuCHo!**}K3widlP_MmZB%VLvxvPb{MTVB7xwkL(-IS6~zD2P4=VQ&i{T*9ib~XR+*RCCe5XD!;hb{)4(#OSZv;v+TkhOQ z&d(!N=pg75O^l(VLsHg%#$7J#q~1a+%Ji4xRU7x?l0_Wm>`_;Wz0i>VWlJO90ls%B#c z=<)o?6p#&;jedx{+u@{7q9`OoE$Y6sRk-GEb#4N_GhVy3vY;nkMbQtI5}gavd6}p~ zQHFJMIoE{~e~q8D;BSpyv>P+(3ApiYc`3ZXNnsLYqXfJb<$uX_ErLifB?MjAXaxN+ z`9Y2eLe;TdiEd5&>XuUi^Pi0Z2;1A^q}sxgYf`YB{O+gd#7~f0eyvl-w42!7`PMKX zR(O>^X0N1BMm9waxL@XhIk*6>aj8XKb%v~kzFGKu7@p$gvQa;1T*G2YZ3a?&z6@zU zW|%1;{9YTTDru%9SAJ?k`Xzwph2$7NQ^lt>Zr{wGSFCX5$Mo78$y)kz2@Mc4pWOz7 z3y-7(qbIIksz%ix;y;2@sn>80YJ&)GPO5zP%q4Xc4)65cg?D$wzUP0P6QL~SY1c9Q z`MQ5q9;ECNnOcNtgTkxLEyhTnXQ zZE;K%(A->ToTV6-ufmf4OJxr$*uYajZ4}kld!Sl;Og6N@L`%#vJ7q!ra-#)elvLG6 z3}Z0%(>*y4hH;zS+feykvc>hu$iI!L{I;ef!CWKCL%XkqA`7d>%4_dbZ#d38eJuZS zcfpvzV=lD1frQXtaLKiJd-me}LW-Y5PhhzYH8Ao8rKJVv58QM6I8ezlp9j=}N7pNX zR~lvUOo+yNGn9LD7oZPtzcN`8($)_%iI+RGzXR%i1sUULiOR<`U42KF)ktk&a^!Tc z{IpXE4JPiikPsV4aGUz?_iU%`PQJWc3qPcUB;o-BqRtqtM2EZc7dg2A`-D90f&w+= zzXeA^dk@*Asq^gfMy@F}A-{QVh6Q>Qncrk!pE5#IiDCtyRK>m1B# z_bmH;-xpxo$#C)Q0uuo_&KJjslMA3_pGDB!z*0(xp>>>$sSBNvTJr&nA94T1XP$O5 z*>UxE+I>)pETwCFbpFGKAqL0(i!)b|iMrxM12$#D^kaXA(A|_B|2Wrb#c!Q~#^lP5 z3o?+00cQ|=K7vON%<(|qGkF7W7FLdyf?@IBANlsU=Q+dA{Z>C|jH^AL1H1*}g++1~ z^S_{>T?MBInm!o)c65f`y-@TyL4&6)8Qin}N@3#|0Bw6!#G@9!(IQFKOKkcXEYXTdUe&$NbQpFGPoeZT6ery?sZV48G3%h&!F;Pq(C#;hHy zC0GL-P?k?xH@fH2Ui*L=ySBqM&a3#&F1FGybxnTIllv)~ zDGe`R-G!*_rS~c3r;7~0qEjv8@N)j)i{nwtS+}tl4jgSbg$2cpU*yl9PZJuTJ?COO zTO{9M$>TgX9_3JxKpYcH1i@aM)W!$o(KzuM@OZem=^ks_E@1TRcf8N&A%x9We+<~{ zERT&ry|EX;W4GS39Zp&p8Hehgm>6hYdVZsLR`8q#Njmx%>nS@pq=e_5>b#7-ed8%X zPw|RmrF_5dl=38~>Y90_TNX(SqUG1{$xAItC|d7=M0(l?ma(+BUTh*@f$rsNH9>Q- zPy-uUJe*1)qT-B$*Y@lW^g4h$SoK z$Z;YtASqWAygc=M;2*w(^}TjVUC*|E#(7C`;%r+LQl2uG&AkCLKzBKgZNo2zi@BnPyjm7Z&*P-CIaMG7|=r%kvc->y6d7)cS5)c~*{_TL%k_q}OXZ zvv#aC36Iz-uN^)6=WW~`;uq0Bfv9Dndwnu{qsjw`4dA|u9GZ+^y^!Qh`^=ggN0=7a|vAuVXxTj-X0vnFY7-PQi)vf7| zhLmvNMURD*I3I*b!;h8(79Pg#llL^=zqn;s5JmbH!~`~f6oEdj#qz^O0qt~K@1x;3 ze>S#jVEEH}*xTx?7c;))Ep>0l)|ONS7w@PtnEI=)8F#swc>QvH#YwWd^zF(n z;XI|mD1PhVHcsJ|5NW?Ob*XZ{86vnCkB<`gV}?&bW)ORkq4K)6xG_GWn_8xmZjU&5 zVPfm4e}Oy{Nm)7l@-9RJR7nYoi_0z2?BlFOZ;1QoG&kJ3i6msA9 z^c|@TW3J>pbcwM>K69gwaI|;3-?3;)i6()sTSP`*D?{mO8$K2n7B|-97d;cl$EEL3 zBWTC~=@ZYy78by9$Z?g`O1~)jMgJ);>D4mW9+SrwfY6k7ZEM0kIOMI`+bRk5w`svu zwk&w!zDGX^Gne}Wu zqG16qO@?0<*cPmDkB4V^LTUl`vhcuZYndF6|tl3KY2B4e7e_s-ss3K(sa_iy(>E(&gKmsWvH*ALI2Jemue{x z7N~iEB?}()8L?Ggl9nk%k(D~Qy=~;e#}+ICr`j@B{&qOXGauUmHa39?C(W#2DY@+BTZ+z|Z~c#g08=ME-kA zZ_2zB`urRESX2w!Be-z)or&XS)ALPWtZ)bpZ+RhH0<0(zSr{ewN}g};UT4lE&L91& zbAi;5XCx)@sh(EKm|pICpy#Jt=c>_6936%p%S^3M$S+(y2k0$)KSd4(yNY>!%c&4c;ax0uTX%f67IeAPTZo283)D2S39T&LZ#hUzmsf`nn=3CY49Unt6^21A zL1GG@tzz8s1|*!ZtdNcO;PUfQ>^~0rbWi^OVC$`;s_dHoVUQ9K5J5odNUEeDodP1# z-Ely=yHi@~2#1pH?(T*oAl)5@?(XYq^6C2! z`Oj@gzUl%|rE%0S`;t7{TWTolSrNK34jzUFU+F*=nJT+wtoRFBvV7nz_;WCDPUNKV z{)Ky&#qHWlvD_Y?UDF=8yiwp-8*xKGg^wyUhk*Gq>n(%XsF-6wuvEplTF`8m zE!Q3tW?ViFq6)s-{XsnIZ^MoZ)f;c!S$iGsr|>y-a>*5Z0d!h=`xp{r3&AYAh)UIn zlPy8Sas~jiTI3Xy6Xs0MQJHA9BK=#NG;ShF37E0BPVG#^ps?D&!jdCZ%-z-?^B0if zIBJuQLmn6Y8A;z9e4?@Q6OY%vHB7QsTiM`Mr1T2cQ~liPQayy6*`M3{O?Ev0BGvGt z$#t_WwM)+gGS46@CIG~Hws>do<%?pT>*=gQ&7<|5E5)OHsDq-Gk203QII@&)Rs%Yb zz+f;W?CrPU>-Q3L{#fzIl*nONydSwmz#pxyl6N>C?*Jf;^HpvEd}17ca45n_@oWT6 zo3JhWHofu&p1T7IZM)nmimK6DCH{2r{3C8b_Gh`DEkV9`Seqm_Ee{dWxFC7QPVN|T zzyhwRNncJ+`~|XOX{4TE*kwfs7PtGh?3)26^R~K{zXCQf{pTU~`-+*Lr%P{|$bC0U z)>FADw=p+tyC*iR1+!XIC2Ye&F-vs9uk%1Hg=R|5zVXZsK{@A*qE0%67AanTEda;% z$#?qh##@?%{ekE^@Q6GSf?3v~*_GdvnpZ@W5{*z;dysYb{Lz_IkAPO~3JVk|j!3)K z8i|hY1s^Je^X4B-EsQG3{u-X(UdAY6tHOnTtI~YJH9eb z1xFn}lM)yq4_jgo)^&)NvKyIt$_7q={e4@b=SmHt!dq6Bn#*LUs!;YjTy;CBU&9xj z{*GJ<#-=IVKY@arn?D^s;-tFE9}HX~P2*gszILTN?;&mz-!|pEFXu71ugu2*m6h^Y zdwh=VNr|<`9IE8XO%UhZJgaYR=BZucbPIbtnzEphQ{Rq{@Q6S1- zOXVWQjJ^Fg%7obZ#5`J*o{^`YL1qll)DlAw3Kd0&a!X`jANFOM0-@s4{<>%giv7C==#7BetMR_K(CrdvP;h(Mn!gz=9E zRQ7X+O2}%K(TjM|4=jm)nMmgxeGF9=YcGO$RFr`9J#TUjcPtwzS?Uy-YMfQV<~cI2 zV0*!>zC(waMfPduf?+^pa@f3up7@@F;i(fWUwa!d-V80L^0e>6FJB7aXcIZg&_>sM z5eNKzr(u|`t)S2)Y81!RTt!s`e1vs?&|eUor%1-n!BapxP(@CHx3lM8upc*qu3uh0 zh-0e?NWcV0KvCZLBthnX5)1+oeEvs*s_;;pGKtdDZ12A*(HmlDY9C^pXby%QY12b( z5hs5}AcUICY6z5Q5Xi%fsT~MBVaRWQkU81*_y4NI709u*f z4KEiRae%|%Ytm`@czG3qU*X~1Jv{u;+RCxR<^Ixyf&SR49G1==voR?Z`5az6yrrZM z_)nQN6A~pXK!6oMfC#2UZS*p)w}Q0!9$d5;$5&m120o&5C4rEY!0yp5!N9rQIuSC} zDNyE0&v*S~@{SU^&^@&^BTO;jAo|1_UXFbU*_m--!DKR3Y)_0pple@McrQ}XsJRnh zpXsNxB(KTc)9yY3dx-Q^c+g0=OE?DbGC^r)dK7OhM=i|>xh{*~9kq45|43}fz%euZ1ZtFB%5hu;+8h}gPAWrCI@)nt$g!K@IhC4U~Hx#_D z5Q$72sOgf4<*@$e-x>MrfNGe?PL%#x*dN3yJ`*$U{)2QU$ZBLb>UQ=}Oa?8|5KB!M zPWMbK7tzneAnBX-X?Z{1f*jDlJoEBtE8)-l{xe{t`Td<_Vl6Mhze-trjF1fCef@Oy z007%0x{fzGX=8mobcmCRCz;t>IbW^oj{Ztb8Rw+qu{P&Is6UPV?G4`ZSTi!EJ-^y2 zD<@N7SN|#!-ffUf7R3ap{o9&RC1W}?MtY7c)G0gHz$`pvFoHgakKi8)x;HpwJns94 zMUyfL{Fm>IjRFMTj6~xGXEqa2!g$y6%Fca z@)rJ4_=F5lalp&uOyXDEon3R%vJd>#xfX#ewQVA0T6-V7r?qBeOY0cxF#ac^;5S2N zWY71CL2OaN*P;&8|I!%E*^dxv993kk{tD0-O_%9@@?ioW0E(5|RN}1gQ$#pU1W`o^ zFOwsIvDqoVF`0(cHNp2Fg6+(u%6(qho08{sxpf6Og;2%ouG?We>|c1OYG6#siD~ZbP{?DVg{CYOJMvkdMg3jp5maxg?|aDjI^z)QYF9eB#imuL}^z!6Fpr2 zv@k-z!mz~vN*n9blldp`8Oc>56hf!AWawD3oI881Chb&x46WHjXh+Y^BzSo=2C_Kg zZa#KHGiE-p{6LjW>wEaZCh#4~H4qUGM#I_#bjLz$%s{(qFg>U8YUT%E(2ByF5{Vq3 z+YOpr6SMFGZ&-F`(my-IK>XDcDL6o?i@jMTPaLRwKs(V#^}m_;rjboXn(SgKovA(r z?~U;?lTNe6%d((}5NcpG?}`;V5aFpTbhwCDg@xiOuj zp-;Qfz^|JpT1x<}t3(pUX=;7Hb+kU5&X-6Gne_|7rDcAZ^2{wCz9{1f2#v`MMUafy zIzkCeY?cqWOvR{+{JuKMbsG?2eIkH5u+Cf3|Fi&HtnyvDeztTX#Qp!2I7;!K68(7r z&}PD1!!wa;*WQc-_>74OVr=g3fiBg_c6pmn>u2(pv<}~MlPAeIGCB)r=`+%C6aBNv ze!4M|j8|N({YU68K*+?Si?)(J-Tr@sSYuFu)f!!q{wEiMYDKDB?GSV#G2&H${*wf94UMCR>+>Go01_h8_nj>J)W-x!Ke7|8_w zrOAerk?^WoUOg32#c!iNfZmLIR(VAmdmf+XV>IVad&MpHOJm(u9xJbT+%1z_AU<&8 zVuej->C6YiOh@7gMBf#fs2$S-=08^x72G3c!J7DrM`gC^I-Zl6n?}*p=8>0?Y!P3? z)f?y?VqglCXr5Ef>rUn9e)1*pmu79-Npoe1sUlskI66Sh%IrA_*ZP!WpVv4{$J*v>!hjJ6FH*6d8(W5Tu4>$aj|-B)_nnlb|F9mG|z6Zz-9MZNL|r)}p1d z+wTvn99$HSnsIP(vE+n(Ce}l()|j+?2cBE~%IQZabR6q=T}3ogaa59%Cknp`w3yZi z&_NQYA!BE>a?m&^GCc0ZU}LgzZmt^%AIqR%43Uu;$y-&ekO{1@q`?h`OdDKKI}}uz zo*rB2*h#oq+Z^&TfM)SMhJYg_65jK&29L<%8R>6jZ`!dE%z<2nm5L_{<5!0wFG9u9 zGSd<)Hh>aqP%3!CgM ztI4O%7{N{ao8m7M!(k~fIUp(1t3*71C?grf(Ji+K2F~{AvOW_Np#_;cYVEYhoLgTd zd?p&i&jB$9v^>xGB`m(BTBp29{QA?4FM69oH8s3&q~gtrPVKx<|0)#ML}~fJZ3Pz) z78ejUaOAB%i^eX6rKZrAOe&7w{E^887Ly)LiE&B3`D`^y$tu{EMFLAfPdAFPXGKgp z-@>5)I!dojlK8l7nAy1 z8)nVDG|`b>bT&Fb)kh|Q)h3_+Pi8l+IhB_qTfx#slEOhxQD+y3I=Xb>`_8%9oeAHg z4kv&oFiLTsYGbj|Z;S=`p8F-u_9uG?yI%Bd5(-Ok1XM%?ZoZVxd_Oq_A{(s=a~Bx6 z@VHj3pwlD6oy7!=SeHej>wv6ZrTxqfFfbwClL*31W6ik6bDsGqu^pi0PFn4 zsh~o=vfN6=ECg8RR^B4gNj0bov)Gp}(P@T06B#D^=8pTx_hzqkCoVI)w*m@Meg!8x zU2o8Sch0Ak%Qif5k1xT7ly-hGJFFPZ(=F^L`)XF+Zv!D#SuC4g8)wVgC@DL7{;%i@ z^u&sH5|eK4=al|GqHhACr(O13GCgfP!S7U^1t3RNC*VR_}l{!1MG|PL7H}=BVXPtT4r0Q-$`m?UFAcKC!`11*CeBp2}<;zwPf@0xSQ` zQkbUghWDClQk4?j)o*zFZ|kSPQKyCQZOkGD@3ByJ?uDRgJH^HW+8i z*eG#3&%~d!f&GsK@xpX-z$nTAqX1Y?0*s>PKcjFCiV-2s?7fwFV&RqUe&j=l;w_Jc z`{o+W;UX9T=~EoB?m(~QcQZQclb-Y(p17+4c&!vidx0sU$4ZRBCPKJ4#mf9B`&ol6T#D>EG@!mQs| zK2w$%DsrYh<|C>2=|EF5T37rcAH|4zxWL@d&hTfV^UxT=(<+Rho7ceuyBiGII@H2O zou-LZUycj|kx~WX>o%CkqG%wVk8sQjs?g(ZRv*g|vLuJ)6%KM<8npjhN$D zKA+kWpaDORl~Qg3+Z4lP=QnIMMYqcedK2?|u)nQx^GYXkuxqKiU`m=HTBpTm$oqB` zcrr?ryth3)a3x+=C))u11{`C)OszKLD}HNK6>$wm08%*CJU)MCaT>;C6%L{Z6ov?Hy;(IH9*JJCkihjP=2+xUegAX;A38wY1tUyD#lOB zm~@#YCd9|Z3ZFLM_~MjRrG8p&sZ(Lx%vtq6KFR?;a0>uF%)dYJQDy$vvp$IWjolvR zp+wNrfL^w-w(;xa`(b_ujn!CPv6-WsC@1RJ%N?Z-xPBCm>DRibBZ9!_a5Pe*YmHdR zy!U!z2mdhAdLxf+{tqLnY#CQESrfmiKaiSOEFa9^&P4VZ4fNEg=YQC0PQTwTvwN?f z-Be0LNg47HyUYxXW`3BIw6@TIxke_Xt2Cw!7zSrhG@-NX>zX5@6-Hm4yo~z%gCtb? zmGbdw87FP9_2m+Jjxm2KM8j}q7@z8O{;>CY97o}|MN0%!sZUV6y<*(&qkf_i4_+cpg+o;t7$&^Fi zfVOl$g1L-UY&4;rm~HBf^zI>+#QT=BKe7ha&G$|hT~OKH)>(;ZTM@LqR&dQ6Q=@?< z`L)%>q^5OmLM-jl+O`CjXOO-`xK*>JH_C%MX-IhOoE7i+mB;x6*g#hBHmS(g23128 zMO&h1bfQ2@SQI_csn7_&k-s(YvW zxC>9Svet{UcT*^1#=b4+atNDy?d>@cViVY9W82v9XC60jK03r){YMA9Jn+qu3~GMB zM-pk)1LoxC*8|N<`YvLBA~jvy?9P;@-ZnA(zI)Bc?PBY+$Zg!GaFE2T9esZV1Jd;E z;Ht^d%!oe#gg=VGaOP(2@NW&@SujJlNnK~`$77Al3E-nx{@Z!XnVstElRpj#>@4)L zpiHZ>EB(}8sr=$x_u3_oJF071OP?B@PmyMt6Ul$Eo7Oz+Fa42C+9WLeIi=Pgm~B?w zc++uyx$!aLcCWG)Ae3J?`1fIDQ!p-@80kf&7GoccQdF5~?LU^0=uN#!eORVoaJk^r z&#~wf%FuhdSvh1_s0yZ#w0-GO+<0K79<`a#4T7e!grO3J%4=Y$CU*P?L_Hu+aNKPv zh#*UH>I1(SqWJ$&vr6CX@*CgY>xAmKz9>E%0jeRtxRRLc0L$*ph?u#Py=+ixbh77U zoB>wk+%=d-^Vy;wFx6qUR40}H;R;&uWjyJ%?)fcc9`)gYOB}}TM4mk4VeB-v)wR+7(g=7ViKvn9K z26H8S&T#+*e)IHKN1v$IfJ){ezv4U$G|o+#IKQL9&25(nrR3eOQmio@)2^T%N*(I! z8hBo21A2ha&$}NQU8@Ja1gvKCA7f=BFR^WZO&{Ao#NfXAGq++&$6Y#BxCcwL_1FzC zBI~fFHpn4)Q?-oZKacRk(o}=wm;`lH?vN-|C;(y%;laP?%LOe5c++urSVR-WUiG~ z@;8qvxyMnYMWbkFh4I?`vr?t38X(QQL?}RG8g~$$y>dLSj11u8xa-vwbdt!rEgci5 z5hw99Q~OHlnQ-)X_Nw3!Gdb4tznkwb=4L2eDSrUZ=bwYmFEp)>hBq$Zap<$O`=(KsH+Nn%+m0yDUx30PnWeQ%P}u3{%YMB zhdf0jmfX|eVsC8djVkyzC9eXoOCg%76ac$J#nbMf7ZQEhE6lHok2tc5^r+y4jZ@Mw zYnw|}$++bD?O`I^^nw>(F5uwZGtZPJ#zU;w{>LL-6H)Cb1oNRPRcK9=4tRm&9s9Jl zXqB1I`K7w(9_C5X{Iea-H%spK?5z25KRYXj_*3_pDPE9X_v%YPgClKO*xN;ef3)rX z>b`zlFa_zp;f+Ty_Fdcc!h18P*?_K{34Kj+dRA7n{7C^ zUeD!ArAASEOHs+(HmY#T@+~s?z2)Sd4;%eN)zK^_(yCuBFN28LZe}-5*kYDI{o`b|FNGA8G9Ww>&n`@vzpIS1ftNXoSKOEu! zOJhmRm8GQzXVam=3Z#o9$TUUzsnn74N9Wf($Dr}IzKE0>i+#+&9*w<3|p zVIBMC)Xld_GcT5dvjxUv*rQaxDuJ~b_8C-fC6I#Se48s&SH71Y+j0#5#S zf45nXnl076N_NZL&I#8!W_KMuz3DdJl~~w^Pzyz*}k-_ly6; z>T|?c0nmi&soT9PJQf0#CWG%2^d7Df^<%;D^_86Bn)W0kE(+m{`vPanNR=YkIt=D( zwstLENlp9>3c}WCd9a094_>X9;BuG!YR++3@=g!oQb5(WSrel@k`F z#5HcK+~gAgRUT|_$@xZgcz0th@Vt>=cVtSd8s>r>(8t2UG2ys!y;VJ>6L%_oL)Gf( zknA{DU(4d8(KdbX_8yh*az|g?TE@!I{SbP1IFYJ(&yZ%FX)m&9(NMSZ`S$280EQ_b z69{SEdkgafc98*(=a7?Otjn}=U9r%G%FXCq?aqhksGw<22?l&zs zYnuw2#kOo84 z_;CT>0eF9{z-NDv;y!NEtm;iEhzlg4uQv8=fjL^#d$$K$&MBO{ zJ@$tk+-<`UZoA>6@cA{W{ELSHf!}9N%RG?JwLkO1fqrE6cA*=KTn#@CR+r`#B&5yYuxMPVDeX^uyc=i)=G(+&KuV(NfY#x<9pxv{LxrC4M@8lG?%Qm3mqw%_~L|R*Bf0FT<8|ey8_V4mH2u=a)Yp@~>IE zZL7^#s``C2(jD_IRqYK@)Ahnh@VNUU=Q`N*BWhum4B3V0*5kUWPV)X^I!*zLZ+B2Q z62qDKg0gC#f@`zou0G_CEO#KG4l8-TtNLT}_j{DMZ}DZ7dvGFC$>Za3%)WHo7Ama$ zu}gCkc;H-X3jgW+=}BqDNx2I}s(ct$H%?#*6jy%P<^h!#@A5&` z3suSBK_L12V+sy&9h#o9YYRGKb9(Jza(z)n(&-X5W8>hs02ZVveIIJ5ag?q^i!4-lqXN85D z;|+`21t(}W1Mf-R&>!1}WQK6P(I#6sV@0%KZn9HP-qIBKQrR_=0j6`~!`V%*!l23t zB2$?`BfNpdIi%98+)!X2^l@~X+btE-yomL*QURf8 z)$c@)IL*eQfue2?<4)7=TsSY&cafrDgiW2mSQ!ONpiMhhN}OaP9gJFVeWGi#>2y#9 z1Y=!aFHu@*Hk3_Zhfy#HCFd6N)StMx?K+=$G_0rZ32-|n^2p3qIc&?1KJ0MU;cli$ zE#enOx>$8i!|$s3kFTIRchxYEjWTw`l4tiZ@1>-1IC&#+#8Tk7^B;vbJ%@F#`;})H zaRexD1?wxkt8N?2t(D*hQMHX4*rn34d=FWtO(SwnF_{c$dv0g-@zI6$5;r^g;28f? z;}~PURM#8z?bCa>zFyr!pa}HP20o3G3ogug0y5hBO>EhNJ18dVg5Py;i0kDO2NK$jEWk^=vT+ zIt^AdN!(@m`F4HQ+$t{&HY!V=J^Sq9>RF258R2=Rwi~Hb?ZN}QqXo$ANDtlI3d(K* zb4fZ%3NS4Cv|<~$$=N7P+=K3YJuv|^QP&^cq`vWMNrwruhaOSs81@`{NC^L9Bt+C5gg-P(P_N- zj?QwS2=(+3d)@MvtPgQADS;3CPAEDB|L%^k^%vm<*nqe9@lB61oew8HEXAhcj$F|8 z`zsQRvSA&6h36w)4?D~T;diON%_lr774$8v7%Z{hhRfHM{R~#C{Tgnbz0^WnG?{n1 zO$O?(j^-@miW_ev&}C1?AI~`#i6+9CtI0j5;@;@uJJi`8ZdmsfKSx=U)ABx#Q*I=8 zTWg$YM>`D5V@y6*^c0mm)M<*0@(8R#3Lj zo@~!3Y`uDF@fZI?7qkMO^<6CkueNVW=9=`!5;Gpn4g$QM>y@Au8p-;mgW?M0>mMpV zx@`LmU+4_Qg4}(JdSjk3{KjYIUem2-93G^)XQ(X~r26rQ^Y@YbCtNWX8^*Dsphl45V6!B%04lPs>T90GDG#v+& zIUdT3f$}dx?+Z6+wm+qj3-r*~xUtFaSCVEV_- zTrTf(we5#zJtkPRHQlZmdUnA##{nz1{g2T}Pa-4JUs|az5Y0$5wOdeG z>Yh2LGQlR*Md*}bTfOV-2cVDH8{a+i(pHU#xJ4%B!Xfj|GxmcmauJT#jzor~h0%vkjPp+ zrW|=nq|fkcm1zgHWy~_U%Lh=DKKmxG3Vb*dh;vC^4Scfu5u5pU@o7xs=n(HEmz0|% zKAb=G{!T0G=(jM|v;h-dU51ae9B0Qou1&k2zr;=4qJU>!B1@;kvhG!nhRN>@;nVLf zEIaC!>(Pc)PKgjAIy)giwL-7Enk#wxDSABIzYrgH5*Qv-Vg$Agli@utH6Yn_mEUnB z1BWs9yzwwR=lMb*x_ z6b19N*bM?TbHz11^|G+wnWZHf-mocUwX~J^;z*WZA)I)jm>F98W@$(abK5i3)U*=M zG+%1&Kq8pFESKn{$?0{yP8fRx%b=>gmeTFI3*v=!3N&qqpSMkT+L!)Sd&`Y%`0per z(WfLNu6O$a*LfHC5G1~@HZlo@aYQQw4hCO^+Ax>4?*QS-U^RQ~9>QvSuj=$GpGl_xPwSp{BIZ`l3z=xdp%FJJv~eIGmj zyAU&%ZHXg(&2rwRlA*Vr>b9%Jae+wEu{$yeDXrv&WmXGK)ggW07g#T53jKM~Anzf= z`3AlkW=+|dyD<76wO1#g~WFXfuejb5-NZb zFNI&!P(f(RtKB5~fu9lbb*MXCSm`=CrAcyueO~>}^eq>==RWA2JNB-k~O$?C)Q~j!UQ4$6AdVvFqpHh>7A|&c0EigH8^gVZ(ms z9vB{8hT|&_-BDDtr4;mEp7_HhyIHM1rzU>>$Qu(FMs?LE(XAl~Yvx3lTAnC%8W^gh zCh;!cTjLGB`?}7T+hOnAOHi@6ip_mgsgp3|Q*lkS6~(*>-JBcC(gtde+w)`fB+njd68KMgU%8;blLjj- z7P|uW6dr?TXS)@WrSH$_1FVdH9qT zMJZ;t{wTI5hoB9_?Ot(6)-FjZ@t{>R2BwcXHx0uWqH@_=<{~}*DchTnWQB7PbTlgP z)d;M88_wUN2GQ3A4s2NwnK^Sf`Ec}xrb9kTv&=aJNu79j9cP$TaH9)SM95nA_}YuI z4Fig{)}N2$%wo9g`ElauDP7+)f_mu}<4N5+#82Gs)-bMieXgzuN?6;eU*Spc_kMk= zE3=3Do{{^iZEt&1=Y8>1EcrRQGH@M)k$YDZ^{(iP@O&%tqa~wU?jt?T^iD97mA|NJ zz4>mc0P$Kub!sjfivW&y3pZ(ey{*YXs*^7H4g84V*kBJt0@^a59Yi*3O8jT*hFvH1 zsCQ0cZxzviURDwdM#07n`{u9S9#lwXOAEM+-5k|&^ea?@5@vKh!qTlgq}+-;5Mz02 zUcIW=Hxtuo>_-WGP719=6MUE zseuYC-$aEr_QhgC0RiA_WtpPi^pJB$)b9lYp(PE;2%a09+v++ll7T%*{k)3cI9zWn zM$g>T?&3gVjx;-7Vm<+dS!b`4cFd$)EA=`PE%-Lu3@e6mfumWh-BoBFSJ3c=A-w?D z^iz+^X)`#E#p0oVk^4 z4m?Pvr5q~v?j0{%-tf1cTXj=HTHkVV*Q?TrdXJg)(OlymPaZIB^7HQD*w-*dDEzX< zUn@1%-Hwak2BWwM$bm>1IYqo*_b2o(yMv z8grsc&(J7 zA3ef8Izd*%JjdU(RSs z=RmZbJd8TKPFe6-cb zWLr=Hf;5qw5qSG^+V9(C2o%0EoZ6fbF}nqXr1W8&)BCJ*d_TRW#<6{ASbjpwO?}>{CkG?IABDcy^1ntzwDAr5*?%KK}*~l=19Wy8K7ZCu5c}R#p%0 zP0vI>{_ditO+{ELrM18Eb!sE5f|L-wUly={T0iwhtsf+IJecuo0H?VtN53HESuI*)uS4UZN3CCI~`?;;CV0%60&Vu z?p4&g*0bB+PuN)~H`^7_ovW;?S|)#xJTY4R6z>CE7nIGJo4Mw^TXFiL!r*#vcxJ?$ za<}cL$+&^=o<2^X@f3?H*K5fs{i#ye8xRSfa)gZuGu#X=f0jL z2{MA~)UV&?+sJf~y_<0^xI3nYsYNi8LuPZ_PvoSvvt8!MDsnLJq^4L@5M#WO-nOxd zlT6&h2rfwwC%1Fg(|{rzLw4s&=P^vNIY!y}= zX`N%CORRZ|^=Zu2EvLWAOLCU+DuP_C87JSPRH6U)NSY-`@L}TZ=VKH#VhuU$GM%XG z)obY;WoX3fcYVa1_qd&Q)6|Xv$MHah6@UAkFB#z!2UiJ>^>r*mZ{kP{*hY#eTmKno zYz)Mr8 zAg<$zc}Yx$IpXS)xf)#4;SS9A6p2XtWbrT4W9Ifh&Ip)oNA5gg=yw$V=lZNHHXkgh zDExXsy6s8xcYy1!BVeBRZM`Ua+p77YdcdSr2j_~M4g}Q6uS>g;kSf}*W?bsUDZ>h$ zYmNI)+DgUtt;uCzO{+?zFM?>UIL*tbHR4sinQ*J;u8o<+quhNxGR2}NL&kDs2iz>EcW-nY3V;8~Kf>hUE?oe2e@5HT+p2j|~Lwnjdd zzl9qGAwv&Cdi!jO1^JYY!Jb6B#wx6x5dUVdSFK@5HzG*7 zc8pwh_%h(;^Z1uW1bT1ju;s;%Zm@&ZpQJJP%n6R)p8>CY_1A~C64QLC2>o3`(mscA z>?gw28qY#-_Tyx~$PT^pPJ5Q5X&s%-(D_=ijt2$WJB@&eXLeWpMl1ivVSC4fj2ha; z8hBzG9Yu@6*Rn~PyR9ut)BCRI0D}U{I>Twf(0KcjX~yZ532DVuo4orz;Iy<(&$C6K z$2YF^G1(~64}PIM!!lKb-r~D2(X(`$4&9zJeiWcHh&(X>E`V%1fn`4+#E-=lUbn>)CFbkl-rEW@!#HI&X{@BDvbmj$Nh!O<@N|$ zxfETML_NEs5w$?O;NDl>oANKC6YOa$5CGX7300^>l%K&~l$|+uuQZmYMCuy+mCqMN zQEDi5@}ZFc{FT6${9KE2e|U(-@VZ6WwLYKzy^LU`TIk7FE}B~0<{x>;YP4eU=iGc7 zhF~ro<5chTBHK@bMqC(W$j|Wk#C)0Cd~-<=2}*>8lecmo9zMp2;HWdeObm>8dt>KAz`9XT$lyQbOCZyHL|4sD-! zyK*jS`75Rlo=vFj6jY#rVi^ri)Qc2_k{eddn=11Vc9$W)Me*6yhc8K1qI+uxLSDDL z%zL34wgsVJ(qX{!%fQ-^uBKzQE?6IEmNX?X2c07lC=D57Ij(M4-8Ri{E|ty~N6#8n zflGtp5hSHM_=NlyQDNgr_}iY-w<>@$mU-MVS=;B`{nhrqXEy`8CT~J+xMLx?vzMD8 zo@lfp!0hQgOx3NGMlYZpqS(?~nl@ogn`+!=zsJG~1HLa8ge*8M4LpyV9~UqvI_5J7 zl#VyZ#Bp3NoLi#;hKMI~J$@{AJhrSXzk2?bw(q8X6h&1-k2N)wH_+Tk73ru6n>&P+_ z7+?B@^5qHlqhzIU4o(G{zSyeFZg0e`VG`(Nu zmwW&Dj1a^MuP%b(Dxy-LMfMwS%j11MVMtakE2wAOzj=8 zu#B`PNLn;EknP;2mb8jb*5$($(F^W&ErFA=z8WwwW>}RJc7NI5x-|zY0beq+k>9vi z?Y*_0Z^>A^UQN(ikXtEz{Oym2_FuUw) ze*)wJ86{5yStEGmo6*5;Rd-8EV>0BPhcRZI>v4b7zO^a%o4ogfnP2xW=m`k4JEv%%dY&uQVtLdIs*94+mbV!=ujr8uu&-U9lss|aQC?J&eCflH_wT9oWMeVAD*QEd z01^XHYCrAx&qQKyp-!7;UHwJjIN&L0;9%qyo4&QVuZNwBwLB`BHapDg#>%dVBJ0L7 zXlk;2#|BOVs#Cqh6!)b4Fok_yJ=W;BsM80sIm0U?)F1}+BHAv24~UZq-xWd&C7C{z zF#S9>U@2F+ZJcTqL@tZ#ug69s(GTfm>M5* zkW^Ov-hF20MC=zm>EXbHE7d)sy>IFEp<+i%k7x18M5dpw+%-?jQ|E~#j+P5E%UkVt zXHT0?i{+VGH^#Z_m=NBRQ-GNofRXj1AQYuiM%B$BQ5?Y&GFNPMHjLb}*Rs#c#?80h zt+P8!d>Bj2UcWWIuh z>IW$Q#V)I$Y%55BYWj8!SjH#ii)XSR1`aIMDSEzfd%&gkc*E9$e}jG9oadm7MjJGU zAUT`u>$6Jt_VZhx)-<4(>5o=3)F)T*>ccBx$yarhm`2!eBSKRX4MwP7R-`d`uR9vP zjHHDq`GDKN{6_&B#NK(ycE@STIU8DN!Li^NH1F3C-h$zIE=R89sTga=k}m$2gM$g4~B2WZ~xf)LXAnC0oNHRrdpKukxC&hh~b*x!0 zvEce=c7d%2fnL^4G&t5hu=j#O-(l(yq`|3K1j#LX35fTLL$T+KJ48!%BIiW?B&3dE z-b^sH3rJzbFzEg&9H&g`)UKbxL8w(1U+#^^<>nHM-3LJu`W6#B9AS^@9cgz?%$FN> zYkE_L{Ki~m6E;htyL}!(_ZLADO(>QA8H3~eT6{N`rZ2VV#R^8QMTw=73sBuzS3r;2 z(x!#-iPqF_$g;LKOKh<6oaA`nD-J|JCEmMs!hUDI`%*jqu#9_W%=LNIvC)SQkIpkU zC(d;`&vLd9FhgqcIrne8sFGN(YfK4rS8lx?gkslh%Y+w|O5ZOk^^;f;p7&^4>!XO< zA`+|(fdP*o=|F7!&m*p9OXps+yhQhS+JC|qgPN@!i@vUmgZqXGPB?=4hLV8BNncFQ ziPaU~55|yo5Y9Yp9AYwoixevpsN84{HUW?it1RL4ACBUl+bU!1bUi4i8JtxQ66@Pd z(Y19vY^;H>7tqwMkL`hbZCH>w37M|m-O()B$rW64{UVE@S3l>yxmVG!X^X?~YsbZJ z-fc1my+5Nr(L_1!Dlqo)nxxLVbG?vRH|)`t9w+&ulZy*8Y@@Q#nJHKmU4 z;r`fFDL1qYWhpL*S!N0pG^QU^vtuI>q_uO4*m^p=b+zrCsN%r{LOKd>UPOzZ+j2X` zmA{XB+*#%>?x!znAd+41z9oITBkbX`?iyKKU`14mB>$f$d=JPZ@_&L@iAqdYEhZ%- z&EVA(U*j$1%-8 z3G7Ke<=K@E@$NS^^sQkKBisv3BRI7Iy$W+mmzY`!^W~5!$Zo90gkrR77jwxXy8LNb z=BAanT;v`I@k;AgjDTBB_GBRpO(^+Zl|b5!_ajW6td_Ek=j2mAJ&fdK&sB?oHYB}y z(Z3=O3AP15cANq~!QFZ`skRDN$lbmO&&(Z0vtM%?j=_!4T;Xo8{W1L&vP#$b519cb zJ0W78VWq9To?*vVF*U1K2@vq3*z?Xaeb8SY36b~k25`0L;EyK8OZUd2zJ7u6_+lQ# z$+jkpTqV~Jp(NAFx+F=)b>IN43seF!%9U{VhumFHp?clFV$bQ9(v_8doZ8wSub-3v z&sC!{o7(Tqr9@YVH9_7|UVZi?D!XiXia# zP?$`e)FFnu6wA1#CT`*{hq2^WeVKYdGndL>{n?NqguX(`P4f&1wS8(s7P zXU7MqoBrXnQ8xzJ$+tv43Y@nHz!(L&xLSdncR;RpoW$Cm1peXO)9#Y?Il1n7HsaPs z@z!x3XEQZbHf@~4L{q5tjR(c6E8s`gB+WSPOFL@e9r>-%smkk?PZyeMb7n=n?54p} z!|-;lprO{~dD~X1cOq^TKYyN7PtD8StQr>gI_v6@j*C5~LFj}TDR8y2wRj}FHv_Rw zx?r=l(qlrkCv$lgcUdhQ+tN+WF~JN z|K}NQ8P?wZeSs~R)VXC*J& zH|9|H0Y7kU1_Eoor%ueF{T<52sE|m@Kum>FvF70zcBli<_fpOYD@Ci0KbD+JX(c{# zU~F$OTRw&qnq;yK@zIN>#?6j^t`2R?I3%4rQr)`)JDG`(u1f)~CQ;_anbV$b{r5gzW0i_$I zSs>jlEeJ?=mvncm?_TKMzrCOLd7k$;-tP|phPh_uJkPnWYvvWQNcNp<7_h=URo&jP z3*S^;UH{HUtC!vvcX&+bIF;wDLpAk_`S)M3L@(V6TFB|VHKKTNYt;+7_w^k=aQCf% zY{S%=rs@NRk-R(4gQv(|kZijZ`8`vzL^0Jp-)`~B@0xfNo-IhNiyO2*=_%@6v@f9* z)82i%11CG8u7Fxt5v z7}d4d5W>e_IZho9L{sq!Ns_xc5tH(kfYKmBe8JFn5iKq`Up0*a#Q=Uq1r2u>*UYQ| zzOhQ7mwu+DEj5@OP2@+QpAFIRX~A8`DNevb!Jbf=2~1{`(mDu|T11D@w-ccq??Pj$ zU4(^ZKtRv{mtsRqHqv~n8NWLn9<4CMys`<7g14PM!MJRqU2t7BkwT(j`_}dVXQ6Io zn6kBvm*ALcFL8FMspBF=Ih28gh}xnu4z?9bTW0Q?gbTVaCh zLe#vH-)``V$LBeXIMn0n3W?zJJdqs9&48rMOmw z(dU-BW%zJV{35_zH^+I()Ow6nrG&NndB)U9bF1^CZ?375r1G)1<496M%}#6@_$vkb z6|h_zy}#e3GWXMppqpy2I@b~P;DL@si7Jr8CMfpVJS)wnl(wJ5tg8NU7b+jiod*Jos)}7TDlV_(s zqCQqmIo?;rB%;1=;WUap8x?W!zPnlSanOBD5K2~gM_s#%hsy0TC0^~Cplqc0g!;0& ztRQrso4YT%ic#{y;e?&pI7%$J{_GZVeb2;3<6C z_-c-IxEo>T+VNN%7}6s=BrtL7E9g*>+Km!!pF>t0>-f!pOtbuJ!nVm;elN1LRHSqaIzI)i>W@V z-+)H_hfg*oLM}WYAGl?T2se_^A8_dDS9e)Q6|~IUL_!|#qh16&GyHaY?xW{D*cl%} zDK+cnsWI=gcjMGTE6n~Zd}ED^B&sUGfPS#$dM&0(-5~!2yg4lJ0)f31LEQzKxg$fj z?RRv&Qn~Ia+xl> z7+}0jBqT!C9L7|aY_3pwHRj+K$0Svf~ur8sLdX%=Jij={+R@D188jdVc%=#qWI zqxPf5J(6~V+lr`>gOgYllfo>0g@zU=Tub)c9!WE&nmC*l%B@AH3U271@bBFf1x&=#q)!Z01Ib z(R)tB4tjFke?5|nWg-y3NydiL$s1cz;7cs`{v#B7{D zy2&hsX6WDf`|LyQ6%tRBeeQ5wLkUv$2P-H~4s{H^m<}7mnemviMSZHn=z=pKz-%@Sxhv9gDnP4CcUvw{ z?s*90G~SjiKcKA6cwdbo-6JLK7)D{7yIMGxq53det>ZkfYoY)9SL{<<;AI+m>1c+3 z%L%zwZ^8b9=+FYx7-^7S6+d-_L4$Jqs`%km%4hk;zNqR>HstM-7)AKE8du;iwda>}M7CoQlWm0A~J)Z|IZVQplPYQY0kH z3Er2G;af9zXVaAWEom;s55hu_L5622{;w1a)PotS_q-Q%hM^7(Ea_LXbs7T<$7M=v z^Kpr!-ho)g?!^Mt^xYRl%=w28PA}q8f{&kp?2U@-#Yas+x>R-t`U#$n^gjeS_ZfPV zqP$1H3gdZAZ=ShYNcXrF@wWyDoXjg$T}~6((j&3uyY}bc%g*4fkru|3b_3H~Di2#1 z(Tco?ToXCinAompNf-H3NMc!}KVd&x8k^3PPbN0}+O+f3`NL42CpUP2B-Z#5foGuK zMMN|F6+mWCs>gL*${6F$BiNCx*Q$ z4)-jRHMpE2;mzqL!y0r});=f{ah@{6McbJz%nv1sGZ194?TD(X3xUU5WTxs(*}vY4 zHg#{*k1YJ29+y+b1&>#x`3YIXPk1v*Ix^V1M9Zn{0e(Y4b%w{*v&##7duXn_`wSM2 z{`DA<#BH~bgEKz$OShHcdAGg?t=Xba+|$G|u&O&!RKZ;s8>?mA=`UKkcLQXAh1AN^ zXP8GNnP5l#{_mGjPLfp^WQosdlwyzyh`QjFg}5L|l(zcS!_ci1@oT=CPy z%N4p9o0AzK*S7>qDcRjWciY{PZo>*1Y>D*tDS?GS8>j<_qnV#q;&x zQKx)?_`}3jNzZ=P*DN6|CZXMr(_8dFT$cc)D2#_Q4rLv)_aVo5-Q*^>4AE^c@KbsS z()KLV~NE`~z?T+FkV{b5c=vno5QlE>H3!zG(fY*3eH=;06)g+gJ7>e39=q@TZXl5qn4gDl8ax^;?p(f z1{(ryZzTM9=LV5`jr&4mpJ)R+lJqm!f}%J;^cUjU;RHNhB*lRH$&)qZ!ASnS&s{hy zE*BK=XW8~%dvSwKt+=o&oTyrkHRwD0qi9o>$h=(!;R0Q5H@*GYkwFiX>jkC*tCPGr zp_%z~P|>rS=Wwxtrzgz4(TzzTe|F&;794LRGs{lttr?6RBm3N;qmGVyiO-n}y}gBx z*SJk*%&JYX@#E6--33Wpcl#Wg=0fBXDZlgHUc@LCbPG?y%!o#DwTGEfJd8_f%7C*4$Ce>9IshLCcnwV1{GAZz zeYU~QRUrVGMlrH?5>W~`z&bDFo@aw+Su^URE9VGChr7AQRqt}$+`iShkzT#(pPuz{82wxo$jJ%aN2M|0OtQsf76 zY?6adhC!_zw(VbQK*f>YC@=Y*8SmhqTsEvI96e_SKdjt68Uy8D%O&nCPfo(xS{Pl- zn0d)anieT&>tQZgEx&4RYui^uqBwiLsG5!i*5oo?eQ=3Lp9niY<;!O!dohA-27IC@ z+U`m;5;%2uIO;u>Gj>>n{_)LaTR>v{c6E|T%l4vXQWTNWpsM)CcgH9|s#7c&m)Q~p zs#zD;sx{@p7r$uRem7++;G)rYX%}h!h*%qOfH~FNP>A~V>6RacE~v)H>tswhf3R6p zcElLYg(v5W9#62L-Mf`=VeNopMEge$Uhr!iAR_M#69^#3ulM| zyNw$4Ve8{k7KfYJa$^$&Cqv7lko`_=-|LBrnrwwYV#9~(5QT1!eDo*4w6vL6#7C_i zw>K5dp93EC-|Uggy*Zq?{&AMMk12Gdhl_A2iq|y%IQ&gpK_XZeOX-FEYc1^JSe@Io z!tyG7gZw>)F$U;_;KO1NvK$lL)(?Q)~&u-ubTvLT> z`558|`&4_4QF-uC+7Ixt9Wp$CYz{uUkox@ilw*wA5>se;J(GmSJfk3;h~tJ8SwI1} zr%tnKKJP0pxVLuqnzE90kd(98@kY=0C%pO#N)@9Y)SG>|*QTapZbYbjtGUvL9_8@G z9eh{$6f)p82VG#L$Rkinrh)y>FQf?>FM`le%IrG{(^EJC;ViaC28Fn<5|?OO0~{Qj zsql)chwUmkN6Sq67Nq>D)$dGu(Ty1oSw)Bu;P33%5V!*o05-r?u-J`OYDntd9_C|A zgdN%W?kVk3*1I_4rP!K0F%7|^1B1fD4%{~rx=u|+j5>}z-?n5ZUny}B5`}Mt1gb$u zhncadDK=z@FT(wko2RWayjSHLVv%qS{VV$dxqGs}z~{^&;2Et>xrxKtg<-k#eiM+% zH$oS+^Fy*xv~l9RUZAIYujlTCgAIy~P|cepfjnCpX!Hc;W&@fQ`Jxs1hwypk>Gx6S z$)&#LGvl%|@r2+J;8MJS0_K>X#SeUiB(Ir#)X<&RyE6p%&P9z&YQ;V&H;cw^+$vA( zYUW(ye7{dFvL0V(Bt5^aove9WI*6 zSUX_A4ot63pXu5q5vD;L7z$}Ve(&*N#y(IPuNwh0mSp~keK6LJwfNbGR?Rc(Et`J#(gjk$Ll zDsA*IIJX~jHfu{#$GOz}cfuQ`9=ahdaOInS|1vhg`(c+mTX>x}?{eTfH4BM+7xu0M zbVy+WkPs3ifLKt8-3q?!lYLdCiKs!BRoCxbWBfO816i-34f-jKYbqYp$@~*r zxbYjUFC|^@KEX473pnuAWnoLt!Y@trB_WKM*@94%R4lGvEXdy;%on+uW;7i+v<7nD z)~>BR(Jx>Pc3&uy3$d4IaVIA37PH!Mi7ksUb9PR3jlNP#%k*jviOLzwPeXuiFba1K z|9Wth%2e}xvEcFAa(9hxsQZV^t{Po|&-D(@5#n60e!*Kk4?}$_N^;BE?%;={(i(7d z(K6()LiT}v)Pb?sr%m1P(%~fSnS_Wx7RL3csYGuIuTfhbRIzkwpCg^vU8AASlQ4dt z(qreiKgQ?-ep42Y0ro->1;>=_(EgfnN-Z?)4$c&R%{1o6TDL|(a{bvln0*_QgT?;5 zbc|bHK3F3W7*d^)Kp?BT6!>(jPLq07Z}{{b-vn`tK53whTeEtUgWSWRo_UUiq|4g& zjKdO7uNg^vY}c=QtcES;t(r?#Y4s~1V3u?xo%2T`8M#At59Hl2wje_I$GTG9JENAz ziO`do{zR&+0s37JCh|*0{jh%Jl{F-O(Ke z4P^BXxN*2G(@w-Gk@Wld$r|JV1z_!8Wm6#o$%~NutQBF1N99j_8uh9o$^tj%l`X<| zD+<1TIlO2&?`ijhDag?zZH6%hBLxcQZUnz3RK~3KH>mE^Uf_P+Eajjlu+UxHBWst; zN&gD0dALg;!;A+XY-~^T5GKax)SKmaj9MdJ&uC?hIHBy*0Yfg8$PtRR!gW5sD%NHM zK;C~;PQ$?%?OZ~kXfwc)H5aKHLFlW@>6s|}77d1kG3i82xe*JiM}Wcrxxo_;XZ zE~WeN9u7Z~kGM4-V+7hmLi}3K_Xk6wxD~e_lx)loJv1`7awpGCE{;COGVBo+l zjfu21Td=(BY5v5+vxfQ%n)oJmkr@6r*@>%>p96kg%oDv}deO8d;a!md5{AQ6t zJ_eb+@dQqk&eAe6pGxW%Kcm;aaNsmWE4I&;fY92o{Y)~uW^ag zU!kmCr%5ik^b@F-kd+?He~;*j{bYDSVAw$PlU zrye)1Urw2HaVrJ(CDbGFrY(W-A8483Anu~#XVQa zErSYH8x4qL6IW?VTHIs3BB6P7!0&RvprSE+R%^r>t1>YSq%Zgk)=n`{Ca56Qx>?3; zco8LmVNwv0g_ZzFO$G42(Bqf%U}cUlr*b~A*Wf(wB4qlL*`FGPTf1$<&$pH1vVzvN zK|`4VzcTkQ^sFTfikV!m?o`rM+-*N1fW>fX&J)9F3Cg6opYuBw9XXw|Fj~@lPjStg zbU0*?86mUOEzNb{bj84Jo+L52h+?jpAa2D6wVW*Ivo-h3f3#Dv;0o@SInA$m_}lxO zn-kuE_n&F_se8k-@0}Fl$(pERd3-77;;!3wEct2=j>j>qqklh|`Abt-`mm7K^F~K) zGSlK~Z{XW$@)_*9snN-hc?OSmpTKnXWGnTrdbMlcNY%NuEsE7~zoOCLl-O$O8Rs{t zs-?4wA|a56&3OJ0#{ov`5k(U7YFyTN68s~IayCE0(pGbE&nVo+%d+BxRgQV6LZ4`I zVL&G2<#@LKM(BHsTmpEF)1boIEd44?1j(g(eA@2y9G3#OoXC(Gz4uNVg`CT zAI=rR^I%*qMvX$Y%N?EmJL^5|pSpQJq=2b8pmTv?wH10jB%M@_tSt%j{wheO`cmM1 z&_8l^<;#%VLVF;Fm8hHFU?M)w40B3lh;{dAs>>h{O#2Wf-9zu z*otfl$Fr7PprYs?dd?_cmUbq0Z1Vw=98-ad1I-rSdrPg#9%ukD9aB~J-8;b(EN)RT z4acBXD-oV)EKb!~Vz%R8r>WKcMt>l5J$r1YVx7scRIxC6nxBT^Es6=I>xQ*YtizD4+YH!bt%<|(}rMP`0ejjou;``IGmZiVNCH?x9|WT&N%*5_zl zw1F`?7E*+`PyM@)_DG6*f)lu8N!w4J3T{{V-|iN@oqXebtF0g=#x99a)I?wMFb=nR zyu=O`#*{!9!~7ckULMEX4_9aMi}+AkX7nE|=;-wtgBk8uXq^D_(zI}=I1r?uT@g;c;!etC}N&Le5oN5@k^il)8c#&!09Q7pVg=59K0RI83s4*$DDFA~<6v{^K zi`vkiqGm77)mW)@MUV?vX@{``mRx&{SJ*dU1+$XAHOzy~;?x7MvIg`gpMY~uoqhmF zE$f{8&lhn6Br6YbIcb+yQz>0KAv0GrFR{)xb@hhQ>NoOmA|PexoC04Y$3EaCTk1AC zeCx>^i-1_)=TgRfE&)^`6XwZOb7TPf#^!^lc3-$3+v4!Q1h9|oc?22~Fc{KvlAO?B zn$r7bSoWmo9^Hn?WQWGAIbgX|=PKhz)v{gXL0o|rqW`w2Uw*6sVx0=i>9e|TB;yvm zy0h;3ZKcXmDvrxH$ix*5m||z7u|AXN%SI7F1f&$Oa!8$XOVTMKoSP|8sj|`N(jb1C zUwn<1LG81In6jsxau7L}VY2{LJiMW(^O zBGXL|7MVDYOSPMVwSrzV^Ng=2dsYF-zG|i}{%!EC?uI20cGIp(MNR2OhMk#P^_>hM zPC>pLLWAL$<*k#^uR_%`_i{M3dSLCB{;x|0i7fgZQH+5YW!$VFGeUejO_q91An%g{ z&Lc(FF8^(B8Fn{)i`C#VC5%y=g%JbxauP;L1c}M7SnUxuzwb)mk|u5WllD7BZ+qT2 zA9~0EXB%sZVn#eLi~shMKEHwMs!PbuopkW^u&a%$i(`Q)S|q|lXRcJwpQ$22n$ zI1`3fn3@skmkt&_Q?>%ecF&;*W&}~<*PwFzbD%QOsdq0^i_`5_kq03H6x8=^!!AjKdTiQRl^e0O1bLsCW-Q8vZB7oA@Z*0rC zkN&yGr!uaI*}^$%S#qw!3bgKruppH~>+|jZ(bpfVsSIqFjSJP+k?`(Xw(l3Cpy?5U zKFlBO7#5yJ7p(bXDpU=K0``b-E+zu4%6esI`EQ<*Uyf$+fNH8VI1)}Mk^(O+{nShA>oZpnE`x#5jW;pUbvG(T2WT!=r)^~CF z8DWWq^Cz)t$%*u*8Gk1hfc+I&!%JafXU+-0GEo&yAOf^u5m5Ul0;ry()Q;f*7dY2f z$2FB}FXGJfZF2)pm1M^;P!XLrDU>sG1MiP#c!9I-mm`z~| zUjU!{CJYjCY~Qk*vF;qZgvrPQ`$y7#I_XQPIC!o++}OXY;uyei zH~Zg7INiMd^vTeVO_o+ioFY#n2b;&Rh=%Jo|ud~SfjI-?(MOMi6R zd}TEH5#Kx5tcj5nufi?^wHP2-1va?tMj+BeheJefEpi=(f|0Vq)VU$WbZ+}t1IT8; zPP8YT5YKR0oHA+8$TS{}OLb4Y_{w*y{WAbyqm@;c^2u%}L zaR$IOwTh}ss>H-NoO*%9uM@O|_H*H3RR!z%yZSm$%R+U;L_ok*lold7G`!z&r37Ra z?!b2)Yze`xHxoxJ)HsInrSOmSFpNO(@fgM~b8+r|&IeCc;0pK11fDhRmljoC4+|$- zv%i-X-;E$jeG7{?OF}$r-M=I5v9deX1o%0Y^60#d+L!n8(}z2)74?wmLY^Uhsp>=rSnT zz0PtBt$N0`!Dd3wWx!?HAq0r3g`T_HUEjgGr7@6R3jIaT%jR6d%RxDIXSLf` zBFIiedyUqWbA`~0zMZc%^U*owP3N-|q!q+2N;CD0>9di4LkL6WQjYv^H&c_?pog`g9X~y3xh7cO z0HE0Gz#^Z*32Gq9&_k;V3Oqp0^5PxTwx~$L*BeLeKWSl81!;Xc0bD51{uXAM(H~E8 zh>D7P1SfrcSy*B=G4B@sK*%gHR;O%-pw64iQ@SmF%%GWG$7u*@O2~7c>ik2&5w~~0 zmOj5>%Pr*vk4V4=;xz+f6c?^pch|EY$ILw~fkQjnEsjBf44#mE?W;>>pHFG$LF^LX z?s`wsi(JOF$CLZ-rg{fK+rHahYk&b~x5YNsFE2rlK~FaQx;yVIo{J``X9x@NuYN{k zCz|$NKwQxH7WL8&N;2iWAa)I95?z0EW}G&a%V)7)XTYO}kn6ah56tlbX7KGR zgW+uQN+KQ0O1jz-)6One7*5xX&+@IZ@E|jdgy<}0lEglm)h8<}MUAJ|Dlf z9Ft59>Kv66_xFL(WEx)HW+h$XIaA_RadVOQvHmwl^;ob2ZFUah4`VM(D18?w5A-i8 zFK~0dvv4p_S`lhEO_cs-Z7@7kE{WI%xMe$TVZSv4j1k4d$E&lPkiP*J*MS-);>B!K z;xvC%_%aDU`VNB`u|tOW##y;Bv~gWWBbU~YGhi}~=WPTqr_8|jbv&E1c&y8A1h;vV zowrPU*AKXD*QY$6AA{TjNhapsh6mCO_OfYQwZzPq zy&7OPnpSkP?5$sOhUekd&IUBGM*g)_Fj!`nx!PT$%J(_eB_l7eH)WO`Dii;9;f~c) z)@Q%EZy>8#&u0u|Dxm+-C!!>>%?JM4^ZKiALe9~crdgBUT?=)$bB&(sfXj?KzScWd zAK=<|{hs*D?ffsF*r6YVWh`bBdX^uwh8|Whb{)>jGR2e;g=iihA7!bgfe19FO*cvV zIf!Gk-<)+hIm)uo3u#M@lxk)LD2qdg)F*HnU2)cT${yh!yr(tWr-LZ{m5iWWbmRRC_^F&5hR!r`e+U%M~+^dk@> z*{tZK-;4E1_CXbpxFuif@c07V8tG**qUS*P(N+bDT47Bd5T) zB+T1>*9to+i*~;S4x%oqREYS zv%?fZ>0htBNVZl_H@*?AnojhpoI)7D{o)2HAbK(Z?U&cwC5EDxRruc0NJbWdKy;=6)?Abs&B#^pJ`J*=rxq~G@VF9j7# z-To7(n9BcS#Z-kgB`Q%$i|{Mz@iDDc`Dx@ z?0Y-0&s2qBB%=qs=#J!?uT+S)51O19#eH+;g)?JQ%et`6XG3v23cOoBBlVQwH4HNv zZ#pV+{22JH-9g9W!f2|3xzS>d1|GQ5)~kqG%G4x>BwmfUnz)Eob!yNed#7Htd4^&2 zHL;odLE%9r_;4QE*kgLA{|C8fZYpP%x|2TpZ|kcaMHdf&$x8DG^93P2VWVw|A|zzip8P5Cj9^cP!Qs+>)@?J0cy9u411E3J_Z zUFAWNr_Is?6x5u$FGJc znbM8NVKOo+(a36;;HzLp^QqtlO0Vk_NmDun+Ez3z*EQ|2v+L%|T}QvFgg`}5(I+a@ z(ntYqA7F3&i||4gGg9G3HoR(iSDWX^CS9zdtjyPzB{4F~A6#Hf8Ox2V@F}8!?=QdQ zUs#aIXT6C)6USq)Q@cyZ*&E>Xe7?<9`~)alRR3n-r%zozmRh?0k;1_eK?o6Ovx2%$ zFklkM1tx)X012eLY2Rse#U}$uAag7Dc$of`?x0r3K-(n$CnnvYopd7~KB-Y1yvQta zP$fNWxCGuumu{k)OHZCa7^N@CTUFLfn=q@j9OOvezP!8mbcAixtv|(w8r6EEPnU8z z0f!Hx=}CR>@@`~j^*}zCpC8>p=Jx<(+O2Hgk7_1mC^3H?|KdXddg;+^2x2~qnmCGImWrnH!kpOx~npnTJ4Nh%?VE1EKo306x@E-v%Y(fAN0Q7$efU8MZKMByl z=8`bX-?XNMVg5t-_)`Rp^GqYK6=YsrPxVQewE8{H<&oNkn$KH2wojPnTo+rj(-Yq*A$Cqjd%* zMIM}h`;j&ZJ>*bud~c2v%R@-K8QT*|W<=rfwgk5hqSlP5{o@p^{HhLvw?`8@+wi}o z7{D#4&8fe-FTK!2v5zn=y_$99F#|IL}c zqrWItnKXYSF^@)FohL3{)4Oc>2IZYnfHiHhaL{XxlqNR>zbs$M>A&Z;Q6AR1!u<5a z5FB}f*RV=0N7V``E-o&3KiTnBM5IE>3YhMnlLWLlbVUl`WT|zpdLh;DZzoh{mN~R7l-%-pP7j$c8}Awhhdgn@+;6GTk1$au-}4So+}F zyJ=;6PD1v&rn7DC(S6*E%gTyfNQpB%o@h&&s|IO<*KLGBU$O_vazPrq!HETuNSs zPG&H`f=vn$pYNtWif&?(pdSR%;#gPT}e0wQnFY>cqKgGF1-&VMj?*V)`PzX zct3>e@{)ol`MG%(t8t+DYafind8AWS(Tl;bI0ceVhw7+|2TF16O z-F*p3OD8cQ<)Dh#SOeeivUiLDXfthz&W*@x7PdJ^G!VSx7^%z}>ihvqS1DYO@GvL+ z_-Cbm@B%Cbr62RMzxzM~s&(ehaSfo;Ool-!+uus+zvTr{9$+Ba7>J8CIkgUgX z$QR7gqQcM;X4T+olOX5?^)9FUGMRK??NrjM(kS2t0eUp$Gq&1!Lgn#x$1k-&Rhy9* zTQVAYcOxb$RuuH9__Z9#zmM_*yTp`=7T0(GJp;#jnsb_R266Y2d@$D8lnab1i4z9Hnj|%PvR?$D# zfHa>(ame#O)B7=NuV9NRAr7d~=x{3h9&y}zIQixo(u%Dp{l5fY7K{eV#E>Z^;}ltH z_UpCd-Sgm;_Z^ghA=64>M`XMf>c6>oQLHw7)Z;qVY_!{n;wqFc)U|$H zOmTzT=6yE#dJEbxjH?E$R&0I;42=0GV_+I|?J(jbHJgXX_&^N>B6l%4A51g>%>UDK z9hoTa&Vf>h6F2OaTURdyZv)JLsbwp9cua1)*oMFm*O`K`?Od&2`dz=_kL-7lz7nQ= zof6lFn%q5!yNym%sl%lP#41xWiRZ+w^j$jkS5) zIBo&({YCX)o^16{SEI%u;uWhWbKR>it#iA)zZ(SVO@YL)>DyBUHwoE*^rXkR{{|Ok zb7E0Jy)s^@rg&dO31LN4pB)J6^+&?3XtTTHpFfsJvHa-ZUyEUVZCqt;M5(C@Y2^ci6sSbm?}o%-!~xGz?d>1p z5C8~CHJFfmpN_y-dXA$``zB^xAkI?*D!e-n(eUOdEg@<5ehlv05 zrJGbMt?nza_d%?|1Y%Fs#K>vk8G&(vgb|o8aL(}TOOWv126xE#tGqE1KfmpDZ81Mj9W-BOcN*B6+Fx~rawkN+@3Os7AebL?{l(3gY^g-`MEps} zLvycC06Q@>w_+lUOUtfINEWaZ0NNJAHDV+5p0;b z;~ZaSXj$$%N2=@}Kf{F1k-AoS4>i>@FdKHho4M;89E6@I?uA>YRPKJAWA@%W*X5rP z9UfO`BskXmjOKlP?zN!YU9EKDBn<3P07F^N`>Q998d|oy_VC=QgW~(4H)#u(C)mQb z?AK*VPVn37B#+KJa|i3qo9)ggZBA`CZK|P>>Q|%=&`3LH^moDsw;7_sH|M@@pc9%i zmj<=Im0PWMCNGl*U&ZBx@yFWx}hV67S|wU;kyyx z<4qdh9m#X!9Hb&}*;)y7(O?crHPWtlvyw3dt(t5i1YY>{gIQ ztSJ;RR9x`=9y-#2>T04*@^SwVf}CmrZ#{x$`(k)lfA2lzvVDsva*&?$nsOB?A6DS> z0r3?^xEb18X@#uPt}j)rXi=i8PBepw7FG^UeBlcC3F|(naBvBZ%Lp3HH0>zg>7upi zUgMW0e*aLqYe4P22J#8=T*njf*{%`xK9n_Z9PAxND(bK1ak$yeTDVKwAaCy%L^+=o zzOy{eVZPHpG_Z*qir8Pd3S)L1tPU!JHbG^}cJ@1h!O9!q23JjrL%!(NgA2a9)rri< z(4&G%IMow58Ue(1c4+DOF8;gfpq5<&E(aSZ#7Z@6AyN>Jg9t3J1p|-VCe}qCP z|1#C#)(tHh;(~5$A@MN!-&Q~U`fdnWjp5^~?BJ%^C#Xac@AY#Id-rsO$O#(``HkF! z7rrc%TI7nvjnYCKEWjVyval{2zq3=PXe_2iW{z~`)PWG-T60+NN~4L?x7R-g3dOo6 zoRhq7cWx7-Z>;iL^Dz;cUGY!)@hDu(S8Qz>T~oyNU^Kqi=#3^=a_>+qGR^}NZLqSp z=^1|-l3~~!D1Y%HRD}H&`R$T5SCb08Z>g@*gs@u=*P9l)lv})>;orgv5hu|o(f6!b- zNNgKJ6yiFZIJ^ZujXVlVd-_mlkgX4RUKXvILl@l>EAV1rMIDo83R#_@)?Z52vyLMA zefupMF^bDr!udQaBfGS&5>8a!qEPY=2s@nKt_V6mznidtsrza}wPv@dE z0K4VWCh<6lnigSpN5kyiloCuopi@zkE{f%$^})?2u`kDjXxJluia&Fdq~nA+;Rm(r|FKIE;qM zbX7=<=M+HHV*WN3k=_-GndRGg2d%Avwmc#Um|ZM*>E8ZWAX{qEmHAV!^iu-Tk430GThJLwl_jN2Ri?81`9l4( zN9%W?BJFP&A1W(pG@eq3mHc!w0_h2nCx1p1$;bE|#;@YUaKxYM<7XYviV3+MeF)9P z<<86crRHF{_X!Tpp3VhbQ(BW&IClR#i>PB8rNRX|li}EXp3T>KNJ-8giUrFxAP1Vq zzg0ZU#HT@%z!Jz2D5L=n*I8)DF58M!9SosN&)QrGO}#hsz}-dbZ1grEl}A3cRW9`1 zGAMNV+fF+KPwIaz65{Mg5Xwy2<%4>HAW5>Lx)^ggj<2=6#Nv5jvQAMC;QVAiy#!XA zJ`&NS|Bs+{s4XTNrn5AzPK2GHbyLUN;%{cv0Xew{ zBrCeHdHek)>5LYSfBddx4#_?By~H>~kOP#6nqRjV4axb_ zhth`eG%`snDZlsHTYZKt&tR({IaIJbJWBx&w+M_MFpL9=fdl~=uhCPQ8!%pJK;!+9 zZ!OuJ&E6*HvhTXH2o%Z>;?Q_}tH|4FA<$LdlVp-YORw(0<%}i_nf`~l$`wQCLigqx zdYMUkZr#Z$q*5yw=B|odl9YI~h6+_``#&J(+*ym1nq(0@L5sk58C#>s{NDje8vv*< z1>A&n5*R>)bia zVDs3wiVl%9UY@;ovaRYHKC52Q3-$sG)|8x&tLntgv&OD^AgWYDnPyq|Udixfs%-!+ zm`=ec+A@bj8*x%R@~UU!7Cg=MPb(yDEK5sfleXX|nIMbC(n2QEC;ut~vW|p7oR7ao zD7)d1|Cc%-1*-#Z;H|M|^R>ByUofi8>&+7x1+E54{~tb0M{ci}K9O_C#1{Z;4*#aU z=Cc}*y=W<`t4vYgkl#;LPx^ISQX`E%^iSz}50u<4^Z3d?fbhUfh9vf$sQh|eh%5C% zr5)fY03iJLMId371I_xmHqrl71={gTx&BB7Y-)$L1v7Z-6{p*-^v0#TrJa`5o=VSG zZW_|(ILsbosD#GX3T4*bVb7Y_j>Tr5pMo zJ_6wI|3QF%;Sw_MK>8%bu;0EwsaoPcA;Rm&$&Y@Y`M!Po%{^IANM{|YTwVvr0zFf| z;5}KW_NywGdmde?Q~a2Jyde{vQ0L^iSqzm!BZr`q_dGc@4I14X*Qtx$lz zr74~e6--O2r_hIPSX{Z0=RL#Wr+Va-t``rhsWb}MG%TvHnwsgta$O2RdP-nvsaQk_ zP=o)6BCvy3$^{VgX8wB%airCH`I!vC0Aj6ToMT!-sU&j+5!)(cJ#yWrBBi4tF$pgn zI>pHU_N4lsGygbr53^n7iLf&_!J>YREjtX+cv1U^WB>vjALm$h-;se{m!dx~7^8 z7&v8a0n)uEZ>ZVZ$)`w_bw%{=nab%$F3&xnuEx1w$_%n>rsMUvJc?FJZp;=aG@)b@ z?fqS(t{U*_W*C?TT5N%4tr7~S7z>~qyPnY&l$iJE46RIVrTeC;*D|oNb(tApW_e7SS;nn5Qgz@8| zspGmh2r#_iXhoqr4uz4!M4$*9K9>h{8ppdg_YCXDJ;PG745MVD`io%w|2FyP4Z0?g z5jpN%F}h|7Q2+JXx!U>Cd&*SyMV68@>bQ;bDn6U@eh4NYa~7Ji<*CqwUDr=eTh^k*(C7T8B#G&Vg>_MH z+MlDc7yY2Q2H4)5_MWRIJyci8%KuA39a9e`+GzX35DJh``moa{H)x%%ycfKG z=hN5NErjv)YG{vFZ8su&(lfl!yN}Umj_>l$-bT1$fGalkTTUi72U`z*l{uvlSKp5|`a}%1S=m1O> z&lHAmcs1Xf?CF-06|o}SvX@&=B$Yjps$}l*gL|D@P@D8McuOoj>vAPD(#&rsmP5(D zA6C7d!PKqX_rK^07C=}2#)AJ|Cf@UF?22Esa{uJl(iVG3Fn+zwYzV&hD_xLo>-6jy zX%gnS8x|$HDCQI?NJVJDu4~Bkr(j3_P}gC{fFE@T8nYsMvvSMk(AC8kXR49N^(Y#? zWRWnHHp3;PdKmV@N|nZ6*uMjOSDk&8odXD2>5e6zpvPzpTfJFU_lUZ}=PXQq-!Tlj z?-*X8jQmL9vW|vz41e+b)iI1Tgtv~Ft<~lZr#vBBNQ23M-oVft`#qRLFa8MGJ`-O< z=?8V+Mp#dX-(s*<)l@+V&FznEmP~m9w_9&DExmVs)<;_^9}l5F+kG)*Y4rI(R6r$) zhV7nQF}wsCU`RkqW#?TUuG|Zik@Wv4*Z;4suMUgy+u9yt5Gg6?P>}9!RJvQFOS-#3 zxF!XZQ>9~Q2~lYz1q4OEJ%hh<&U@bP{m<)i*n91@?t8_(pLyoLV&AKhvcUNN z=T@f^d~{{4hjS|)%qlU(yx}bfq`Jb9Y9B=Ua_IMD^2uc&&&#fq1Jj6v*9i=#Iv%7( zX0RVB*Y70uzC_HWjk>wJh)zx6q~;Q#F|#*{1^l7AVgE_K|BI($pUkNRYd)dTuzdqf z^%7{Rnd6^&ZUK)z69{C$I^04uDZKxyNtppn3K38=zI7776%D|Dc}JrfavA)q#KUno zuPkB)IKw;t;T4`4e-9S$slEKAe>Z7WUCKd0X~KB|1McyB;~H@0z>&MaBat@2ylv}S zBPxn0;qxc(1fW?`k(^-z@1@k>hH}@KASY#=OVNYW8h{wIH;QhW|KnV^Iz@Igq5k27l+Nm|{-pHgG#k-gV~!or~NA&ic0EkYAs61Osy2@4VTx zzVJS={N=GHFsDb&Cc1(>S;$^U?7D>11e<=e?%`KVt!jP)Owgc!%x_7}{-18VA_Vg^ zGs}yZcL$FMZ?w)OAZ7C-deWw&|7Ol%0h~E8&}wB@0=pI7}27f5N+T&DCf_k`p z#E&*Ekz4w+S3u{_yC!TV4vq)wKd{#j0y1ZROyk1=MC`r!b3N`Dv+N0c4gXyO9mewSAkz4JKuDI5=6~3mx<6s3)&Y=%KvXX8YaUKiF~xLi1YFn0A!Zl za?UuAPiNhn;GB62V%c_}EbqE!nH&~zA_u8?9jW!8%cqpN$RB)1iFayI3=9XIi!z(;0_{< z-(ZmCMYZxwuwch4pyw^{Y8EKaV9?^!#r`wLo5L`2=G6U%TYV4eK>iV$01%uPW0rSZ zQTrDNi{p|q*iEkA|LId;0TTsW>bw7#He^!iTsB*KQswA7g&QVkcHfYm(>hnF7fEc} z3#08br9$9FZ3A~%0?=MqWCRqvFNhn-}W~TDIRj4M? zrP*z&t{l!hWJ5S7*eot{3|^0R=-#D%s7!ajkG zm5ok389CA<9X-%%EK82jwNt+Z8T~dHUKo+Z^Bx=MH&oS$7Mc5&no8E4Y+HK8iRE$I z;YNoKVy9sygW=5r4S%N9%b0;5ebl<%S5Y~~IE`vcpwO}%#wQJ+?>yZuhU+1u|A!k3 zGeyA2p&6SE({%@KJZyoxF#@z}4>H>t9<1N_Yo0D`0~q5$hRjkuCkO4&jd^$fWPmth zJ3WuH-Q?)A>$CUX2z-!EN*K<8={D()ORhlllK4$uMov zZDG8yB?OOcnYC_iXwJA|zzxkQxS{zMkq^a)0g)NNc;UWMmu$Yf`EM3mqz%j=h++$- zGa%;EKCqV}$s77zzK7R*SJZH%F`SLLQ=Awt?QZ9`WWc!kz>ZDG=PS`H!MqO@nrYG1 z%{Ph0dvS{*ZSp@7jl!+86^o6jmS|zz$cs~Og_Lax43sh*Soh$0toe zz6wxFcG|4yhGvxMZ$F1?bfEXyO*Xeh+FReGvSnYq-u4H1W+9PN6i|7d#hSyrtyYmx zNX_?}jggtlck0EJeNhw)hPrX~MxY5E+)9GXiksj92lD@?0|UcV5bdKKJX60}7dZoh zjMjE?4*dFN?-?OAxV}*Z*EciZ`i3Z%yLR;_2N)tW0>C|)$C^TN1-UZ*Z#5uzWt&E9 zgh+w@5u`!51HU31CMB*r+P$Xc$eXZ%ADFfA~B z+3mc80tnIq3ZLOc9YEmXUj&j`>WnieAi9X{&*Vo41TvAS7n?Ue{LT8nfu6&-zxr{> z{1E1ch}3V}vH^iEWgEeWfqX=~yF3g{#&(IECHf!h#JQ=| z89pBc!u4WJ6ZrkK7owo=2*n*!{p_0vgKT5(T4f{R+316V9qwN5_> z3yA8e91o@j!Q|>bEu_s`EH`BS99>U-N!h3`TaM$@KN5SFCsuM+Dyz6-^1|}m*mu|6 zqwpRdPMk4a)~(!qo>&EIlj71&_`TdUb1wL;@QtD(IPyLoA=*P`&nziK0m%rLH9ffm znmZ^UHk5;9aU-9*u)yT){xeR$$7}_y?Z6`Zt9D)ZQRGPhybCLqYlpK}mUt~_?L&!M zwY6N5M(VYxHIt2q&utEx&YV+9PrX;F_?4E^4>q6yyl$dX>Sa|osAHHE*7@acONUER z;qxM{7@J3_Zu+r>m#(;QRym4GEB0E&TD?uFB)GGXp)evZ`T_1No}a`Gl@bY-HEpNL z>#P)k3DET%%KBzwMXK$?nQz`b^-Hfa{JZ3z;Jf&}fo%Hyt=6lrt@R?D#$Ek5jMJi8jnPCJ^ z$c_H)q9H1O`>fI|oF~bWgtFj11<|!e!fm@NSX1;P)kSx;3T_){T*i)zOMZ5}r?DQrs8ZM zN*RKwja|$2UKjTv+3kKW$)9%6NMt zmxbPw^Y`S&`jX~sgIslDRR*xj5SNWk2)-t{h=pOup37U2WA1Qkw*)9@QY ztZ?BAjMj_aBs<#TXkok?N@UwAXvyQKQ@D5=BAOP8VT21iK-2QhB7ox-aN#jv>#x#{ zJIxz5$N+j{6@Q^;6V69mPo;;A``19tEH8`D;pWo)JL8LF*8(`5&C_&l)>IUAXF`P~ zj*Y1cE>jd^l&as`vbGh7inoF<^B(P)9J>{#Ju)eN>1$5MEn!b6%nZMQOr+nHqHyf@ z+7+;0Vp6BW9|WWPJ4SJgsnJ*bc7--j74US3g8}Wq9=z1{f`P8v2YPGogtwp=X_r1N zEOIz<*pH`#6O=Q_3Z&A68HTl}we6DAwJ8%>Tg~G;Q#@RIrV+XHVrNhGdxXj-uxe^8 zVPD5np7VMkBFv(jn0IUQCc>GI0c`;Qz2c-~qT(fF;g3V$O-toQ^?&=30LCN{x=KVs zS;`m$2}LLsB$SpOpIqs(c)OVZDp1SlbbFS*3e-QyXH_LoAj@~ulJ_nTEDwBu9|54r zZ`vqfb(ISMcvZYrP&AdG^>Y8t%##{DE8kjT=>Y!kySC!W{DSkcDWJDMpcf`HDSL@B z;@7$PnBk{=K0bQf_vZH^GBmUUG6hBO0S?^;P7Uy`7%&~>;(M4CwZ1E`Gr_utF*R1e z{%_9}9sUHKBMpaENB*$XzCAo>BN1-CTlz%Khmo53a7?ss08{7A3$#>W*eid@z@n$Z zcXH!BOPkD}xAv8&9X`igF-#@f?l?%Gf58yYmc3&il>3jrj;~ee_&7CBjWVMF+R{{* z+ec3DPNLvwJEr`Joo%c47i|c_u2AeYf)@D`K%3@!zAx<%P+BFPfw6LJlB`$NCrb@* z_KQNF=0^WUXXZpee;K+T(q8bQsQzNemu96JFe1S4`r-Vmrll(MWyv5CI zvh^{6*&=nPNsRBE7bepdHF%+W8{h(Fx~{!q9BpA|qvyn^&S#RTE3)DNGHvG!3riB7 zS<$rmf7t|6i3QmsL9j#o9i$LUGfBxel){c#@ct5T=JrK@mV_>zrK**%=o#XHQ_5@lji;b7ufO- zQ%Z%&@k+LO0Ub~CHT|75KDr`7iIU)T zD<8|UwhcZ7kN;54W2`YjASO(2CVr{E2^#Erz7brlub5Yw$SbijlYFFg>1^uM7Ida) z{G+-3t!(-Mno?HOCE9hV@i&T050jWX2Y;K#&-WFO75dhj@l3YaxG}#ZY!=pO#_DIJfRGBkwDK`oR+G*vRkIFjo4TtZvC;3y(Sj(Uj`Z;ve5YT@zmto!xLK}Ft>jzw>U?Y5 z*0x*t(I?m@l()cXH=ciAoxsPri{UXePN#K=GmG(TRAHI3|LTcw<$f*8iBL)@J;ZuN4^b zv^m*^$@t7vSIbr_bv+yb>zc4JF(ndS^GPXoYhG{LB9GsrBC*(xRQNTT4u!M9$3qD~ zFInKUnJ&gNzxPH zwyW!_YDD#@Os)O~OH(zT9}z6^O-LcS)j+)-`R<$UAqngJ$AmA*ja-7agLB^T8=)%!Fj?%UGB;*(b=_+nZEM zA(Q+~5lY$2r<6a&bf^y=XKJ9Av$^8D;7(w8mcj2dlTn`O>g?kbgypPa(7KfBYsJ9R zZ?7d>1xHQ>{efJXSw8|f75^ZI;t^qKwxZ#jxn?XJIajTMYxAHPtT{$l(IuL=qMla? zknHwMX?h#MEp+t$y-~6@9!GX!cU)1*y?!yl(!1X`iA1Q?g{Cn5Hpj^M7#&M<)KvV9Iy#zKcG1!Nh9qf>F>boM;la5 zBN+BWF%NRv2(OC2*KAzUG<*QWQJ=8f+x-rgZ|td$~a%-hOS+>Rad6^%NftT65U7tixQIIsz`NRu0SFBcfq(Ml0QS#1DIS zfX1u)(ml09^nIk?cO5faWDd?%d-TNwt_b&M3+1g9t`hK&9K8e~;RFixV!6BaqTy3& zKIP?1=D`GnOEilSE-^-VhN~OpFTO#_kfHZ=X8c6+L+=l990;U-M<31^@{!^|u!)Uh)5x~X>D^Weu4(9ERlRvvrecpH+^v?&E8n_mAV49* zrst3`mdf1v3~0MenmhG?y5g=`^*pAnHTkEXm|}fnnxmzH2iEOOaA<(MStj}g6$XG| z3V^}9){O*#DA%I0w*EWfQg0C`JY$n&Aw^mdx!qo0mP*-RaH)jfX3zX~X zO}m`n8x2JINi|ZsVeQSenm%#cC_Y(5WkAP#ijjuH(*AL`$Vt<^RIcHR$OSpxH^K^n zXqxE$`5p=>07}(=gYrT0;R-0;Y_EZ2G}YNiG0I+^Q>$kEVNER-Q>P%?kGJ{Gn-@e( z8rG6zo#YF=sv3_@@QHxHm1O_kK(d{BvbA!^SK~TL7R|e^9{e_6*iyN>4m<#2{|l>)m#s<~T2Mn21FkWN(;wnr^t4v^IR)>RQ)i z1W}2C#Vp3OeI*`QnTh_6@d?WZj-&WZZYM5 zQu#Syu}22iwrJYa!pkt=yJ#Oy`1-j&Qeb~+9=%7Q~_6Npfyhd?EC=f0%`r3h0q{-NOje`w=BxWFdQ1>!a8k(MMQpIi(-YW1p z+Yc8Wh9|?kUF(!zRkrbo-uYuLku6uWUHY0`%LU#2N(gpdMk7I0o~^{=qd{-c+-YuX zuMx-Om5z)d)bE0Ho9<=OdvF)Y$$YrV2#xAIWK)n#*fj}MwgOO9u ziy_miUnHuH^;Ub|<*;%hD6%<%CyaA)*{!$wm?%PR+TpWs~;x_ zfuse}p6P+|@x9&G6w4%9x^GDb|JlDI(Flg)KuzaSx|ciGunJWq!ZYaF6Rg-iaNNV5 zc|j-_LTu2ylv>$F!21BbWp=yOrMy<09K4xemsbSDA8#j<9mHQv<^$jVIz4{!VHY?( zHfW6Tx`SprZt>qqpgnk<<4m3ZXi{knVF5Hb+qWc|kWxlA5i4sF^msZiKXsaq74Lb{ zek(%q%-1xiUy>s;#pl>45Xe1IP?@tX`Zs$Uqzvanzx3i8@PH>_K^7#Gb393- zSMVKK-QE*E0OuIGR{HpkqKIQ;x}2ROVK3om$7mC&yX z9UMNZG0(hE2NC*Y5PEG8`kio)14Pn5=z$^*!MX&)_-WUIsNl=iJy6sp-+uIZK6f41 zsM~|FvRw4Y7goos*@w9y-9W-`VKr2^nsMa&s<-(;8<#N6Jq%AGqvoZVN&NI%ItS-G#P~BBuMXr{0}hyNiPykzNtLe{)b`tEGWHey?!h(4u` zI}+AkOe{De+mMD9-=2k5#W!;ynZjzA2jlky90^iGdG6)NvEpOvHE(UyX%+iEgiBuqTjYHz{#E;8H4b86%F6 zaija?99X>2Q@RdiTt)Nmc;};z=N=Ve@J3s)={OLMy{Wt_z=%a%q%QSE zP2caO^>9L(&AI>mK-y_O53!**GZ5!q3MHb_>}Q5^@}T8HObeqIi0JbDPF($CP#y`VG3u_lJqpnUnN+ zZ%ta%-KQ#bX7gzVjY^`19rgTPdZ*^H!1gaCe#unZVfZDJLV5nW`C<3f=#UDNyJOiD z)5dh*dsN_NW>yn1Elh zDzrY>*sxI44r3KAPd6MO7uz&NC2N(+nPq_gxxzuOEfhs3bQwAsib_Y+z)cN$!Hqq`0 z?_JVJ@G4K0>@}9Q%VkC;jF_kab}mwCnrAF_DX$TGCOQm; z-)BF}e#sR3Vfc}m5RRh1#pyKx(WcmIRB=^ka1)7FVR|~@B?I<`!uRH>F7~(cqhc!YRCW9n!ZQGQB4C9FtRXjc-03ymDRwoY+?c{KC*IRd}PiMOLTG z{dmdd^Xg+pOtsSZ_1I(bhFY6_fHANu(PmI1=ZYxU6<}f+~p2qY-c1c{|s zZZYw~oZBQ%mgy^iSCUp~4qxRW5(%YVfQ_m9pv8Qup(1YMTT6Sr<7zT}hX&iC{RFD$ zLR0BsK`E|*bz$F4>)r8ojc=FWpw)KF?a7ofQ*nuQrZ|iku!$z|Q_#ZZel&GgD5>tc z1&0@SqJTGd4o%{BA_XeL$~# zDQ-Kbph(}>oHE|4IAMyh+$Bn8f<{#qkFw%C#0=!h71$ySQe-0Y;f(WE8c5Z8=^lkU z(1~xHA~goIT_Ye@qQf<5>;oAhfysO!rba*R9wQ*zP$xsHYm=9TD0zJ59Rraqk!ZVd zxfC-j8eF+iCc?%)glHQV`)=>&QCY~|qOACW3%;=VaeJ}YgK#oQSVm3lD7D5<*pK`_ zj%omo>U@Kvs(}xOwg5*;pg#zm9c!NCCDuhIH3`-0!SG0*am;_lf4DTJ`heAZGo9WP zydUpa>x8(R%93b)QWs5ZcN|9;_WmCDmdcwco?)1}lL z2p#VGep)jj+RHRJ{*70p#ek_jOL`~L3!p#EVG8%?ZFA80k&Q) z_|ocC{%1DRr#n*3dCn-q?bLX)>MxA%*A0w};Ok~6tjl|N;;dvO9DA)%-RPv%^n z42d+z5we`+j9L%puSQdHG>$;2)?{fIzJM2kNFDGRl~wCZ!lNBN$3L%@t)^W#VK zB5x2wbhNwSyIcCNe3Eyds)wB7E%-miK{ATPV>Jn{cI=9&l>`TajJYDQSg28zC5`JQ zOs%jDlQ;w4c!b|C~W!9XooYfUc7h^XbPv+9949VcX zPPBG&qF*XSFqYs$aWGom+W-;Uh;J>5!>%IKRY}t?vrtiDCC=Px zCq##spc99@!kze4{trR4BuI~RGnnt_FHBQpkUOTc z%agmdvX|?6z?aMDW?Hq(R;#dU3*JqS41FH89HTalC#-ZN(5Nu<0g;14at$|8AB zyd}U)uetgW-3>BYzlVp#ia9&cDSj$dMkv+|+vjyNJ;neR9AVu-ce&qkWb@)D-YH^a zV*yjnlM5E?w#54-BjkL-`obr!rV#`j7%OyK`Ja%K$NL%c@cN2Go_U~!lk#$@s2Ln- zjhZj{k(=TKk$NhJ^n$azg`cGvoP{FS@;0jxILqKR5&SGRDKhv0{lflEHb^Xdg}`S?oc=w)e$(2O+sH8er8hnlBhi|Lz2O6(2J+qtDw%fy%R= zg&H~{aklm7Cgy84o>_E=m=n(+4&s%~o4idzV+S@c!(t#6Pwm1H9%tZ-Eh`GG;U z{L5gpm$Tpc+DgDmE$1=8Gbj{Ibx^5vtq^bXUWV!X0}=zG%7?eEMhSAYzyC^T(qs#U z&)%(!AEDKWL!HaTNyxp4FlhDjSF9!t3g%G5k(v989`u5z&dBXNotfUR89e#!JX4Fq z75~`u$6T%WF~OHhnroS{ue>_Id~}}uHdK^2iJ#+-jnCy(SbPKDPgT6^=>tz^87zae zow(S!Qe7bR45J)cP1r8w`ROc&zuARSpca>r#EYJvAvZpyEjLt1(2``LylS9auE_Eo zMhsS7OlB@dYy=64X_&z)lSFmvHKFYh@gW=Oi9JO8tV!r^ID+MtDN&hRrEY(X=jbbIW1htQjsQywcbI24hL?G!JoDJUAh5{NRalA4 zg(UQ5eckfk2HQNUo_g!2BI7D=P>H~UN1voe!517eSN|xJ`(3R%xpyOjuLk3LR_yo8 zyJZ#_mrgz&|M>&=tz70a&RY{$DWqq=Ia%lGD;h#1Ld(o7%LWSXZ$1LvrzbHdTJmDQ zYE*UAo7!^E$#rE%P$5>x3uM6a&YtRmKIFN&x5n=@>Diy=9JO)YJskT{zkyV!6?ECZm})Or86uhd3clVG8FQH)BpU$ zQz_*%u>4Nm)9U?Y6NC;suQDT#KK5M(idjS_TCYjbBx21*SPXp4W<`^Az)+(cKuI#M zHzHeTHQ<%HMUQ8ZwWG5))yX#IE0Q55=!09KG~rI~wnC2~aoOY?jDp^kmY&1aWM()q zq~~O)p<@7UipJ;BDlETp5}IJ_2ta$IyqWM%)9;BnfKA2PadHS*Pue3@nIEOcn~?Zd zK7g30cWm8d;%-_!eTM=PSVI2xr;4n_3Ld);rZ{o`T2>jpEZeV~@g_}pEu7XvNmH|x-3U+N!fRM@aBV+I%U-&jWbR2T00%X zAqer*ap1mOTJ~ii1!p}-QUrw5qEC3l(zN4mqtT-WV22=C6$EURar`tdBYLi~wYZbs z^BIt?qu?CA?i;YKtVW;*V1>;L#^Frn4wab~3WUJDt4h%K@Z55d!8XOK7zmkW%@k| z(rZYC#PftW1$Mxv_WrMbYpx9XZ*OAv(UBU@zZ)CM^)b9d@vEnF>oyvm=r^;#Ha2o| zoMh5-y|B>nzMtco#^=Z?ls!VZR_Q^gM75xy@dPMn0n+-P1L6RVC?f-y@oS?VW?j>~ zYW5(N{xUP~Tay+?9)hhtU3Y8ygHyQbcP>MEQB~VBUImVzK|=|{x^UL>n~u8NX45-^ zG;cW@Z7o{dLm(ljAH4SA$tnwRfH7EC5_F)4K(|UQP}&LW-8JL%-2I-jbQz-3A)~V2 z=8$G*-iNBZZI)-k*$ZQrWQUH(KvC|7brG%ifW=SYi^Fa?t02J_hvOkg2`FAtvPb4? z)QyyT6>KJHO623s2^rPwiSpXn;;roq7R{^Syf(-T9z3et`Cm(x5=Z(Q!4CvL3+iMA ze=v6Z@jrW04-9rO+L|i4he!uOG(gLeBU&K}sEabHmTU}q!tJ4>DMHZL;Y`$U;y&>` zq|EbMiik@e$nZ}&>p$7Nxt|_yQ54dPAz}Q&`AFCMkIu z#4!&adR?=zewullGw(Oa4%t1Mk6r z_mCFp?js@s;pz@bW8QBB%bn-aeVlRv4<}?H^{43vwRMp6n{OXvu&}AJJz27*+ z48Jk;x7*@cAB_t2hqqAk^oSeWw}BTSX!JQp<0;Foxq)x98lOcz47h4C{*ov7=dAnr z)%Wh-FZ^6xVr(*=E%tpXiTjbyRd20(3MIf3<>UGO%u?%1Uo>t+H~XNJ6chgztTYV@ z%y+|#V#mftnD4F$8hBw1AsOCR0e^-(JKl^ay|=&!XOi*P!E#RG-jb((;A3OvZv=(EgTa$G}X- zz&)eMa)BRG9Gqb;$wTr+S){+usb+(nCBoM0RJrc!D*So-&B^q>BGzUHP2-3p1_Fwk z%gA%{ts?v79O$(>NizJel;vNe*seNOt~&Oteh~N+vTENNkUXSdltuRYoP0LeOoNcA zP8qBgGj`cxV}S=&TL!C1-2kZn2ef+f0|&PJQ`)$Fn(Qq5TXH5>CQ#akJgXAi!9$9g zn&Lb%o-{cWra%1DloYs1{)k?@sn4K8b9clWRFp=Jg|kEQE{Fncw-Tg*ok?n;&V`Sg!%mkK@^%&n)%Va_8xq~p{O)D1V>EbUB}@hZ+? zwO9gYQsElhT!x!t0nT)PP*LW_F=gIBo|{=?n~7H1aE;7Zc;d4ZBZ34$#h^A1H|$rs zCLv$Rbp4!ab0{hFST}3z@{NrJ*9g|`vP7ez%uS%mDmmaQ2+c$zcihj&Tr_mK0xNu~ zxhtN5(H@ccyMebzas!nawi@f2+{oL$*Hc>(&dO8nhB?GeeuKW81VBcO=fvs^7~2su z8)57tn!3xkAshuqk2M$gmYJw|c!Zy*lyZN&W@KPiY-%Uk*V7y2MiF_FxIaCG=tg_E zzhmk!op}*@6ef;w4yx?F7O$B_fjGAf-;%Moa4ril7zMvU*)ZIEQJhn4mNn*K3L6f2 zNxEb6tyIlb4DZQJ2O9$6}M z?I6+~lpud77hpUr&r-T*$l}SyW}VraYbH!)3b znge~n#YOP}S}IZY+~BZ{*(+|(dmX%+gJW3weXi-}x=@e2=5hB0cO^5f*#o^sI~#RH zZ0C5hnDkUaM5$)CyM|UL9~`Q$V7u#hw-K|)OZ)2$-sTKD>LZBYu-X|p82v1)YHuYR zCQQ$x*wR^QudhF&5o%DBvEMj-6VweuP?IfAu7``0REP!d5;Hb@OjIqyWq)4Daokwk2=G>m47bzyXl)CXf+Y+ z(6cli`=~U%Hyg)~w5ppeLO0-3gcDYOY0$LL;-LFayV%ZYY~$fFg5z7$7n5FagPeQ8(CS&`OBLagl)-fePU70P;04fO?D>(s zx0(654zBrXH^SLOwp%b*jAFrRI0`;@(|y$) zBfk=KHyeW_mh~hxSw&9^CwVNu^%llEJiPH_Jbe+8OXMVLt}F1JIu!y>F6aPb-+uN1FCA$ z+(|Q@XAf!LzwT-+xz%mtGB~1%f~aTt`39g4KYf8SB zpXc1o!G4dp{yS>*Q-d?^w7x=+3n1=o0h=r-P*&KXN@;v=n!(A8apN{-%tKf9^$@zy zyZtG~4z~MN6AN=3W;^maO|82d%!rsmI6o8B_x&O6`(*Rsdpi);j})A3da%-72ti=6 zMN2b3?zA0?84R2dG#CZXj%eS6iSrTAmn$i_|BPF#-s>PYkT@(knL_Qc^2d9UP5x({ zw<{7;H;{Xdwchtq!4y8|LC|Q3>J^yRH`j(n$x#z~>8y)Rl8`uG982psIR1)!_k)Uk z6Q7{bGHG^1=kFHLW=K`V(_xoh{HJK(*_{%t16jS<&CTT(o8Miz(lb)|VylhD|HgDE z4!-&r&ZUY#u{wD8P#qZYd>Ti5&u#dF!M(?1>e00F!mRL=oMAGo32PuyT@Z0IXzjeW*5nvXUg%n zlfUuK>W32IdfPd2+@eB@uIC(@=slQb{zRia%+G2jLRu<)@Y3^U>&QPby@&229RH7Q-e8?&Ymc_NaiMDt2 z;g57i{8gM&F;9BWXuIzBbF~N327$?Se2{bf6iiHbDua-+ns6Cdg`lPx?Ky=Gl*C4w zqR#)Zl`1j*a@8%9#_{!pAg~iDYV|b*!Z{G@K4k4OJC(fp-MwqWf+M0(gQz324w_@! zIxlRay3fSN+yu{Sf}_@^|9;-2A9>DX{*}Q7dhMCl?MK-s4$fx+eJxeb@i;v2YXwNo z^t+)5z(bgIdW0AElmoY-YA-IZ4dk~rE^Udo?cz6~9m}`ht_HO|q*16hfuq+1z`bjj z&1AiOc6#;8cPx^Pv)`T}$w=w%L<}hE9`?ohy(Ms8LBhU_>O~}-ptnCk?f2ne#VFfb zAINMySaafLP&xjo#A6R`n`% z1*MBc&r>ectJ<>afZhtCM5o_Vx#NUH6b8eXJZyV@E(ue7wP1J0ak~@q<~(H$x;@OK zFlJVqGD@SxmOs_ETGAgL&r^S@_q#(>4R`%ZF7Vz>OGhW?`>nht5qp0saQZt22am}@ zDLlJ-Lg4ALr*V@5#9kfRfo`Bux54-OYlKC|EcA>ll=3Pw0YT0nMI9@!%C}vJ=b>k2 z*Sl8(M<=TX5&^kLcdnHNZ&snJ0Z&c1t_%YmxNom|5xsM+CvtVX0pZLe{Myc-*^{gy zWQg~}x)$xCBRvAnU*~a9IP-(jzXLgq?NGoB64cT;N2VM(pB=US#^A;W9Z*oDS`M;b z{R|dSffZ3f);$=W{cs?>0hiMdc(aw3XSawFCgjoLUhR;(?@Dy0tKtB{E{I?} zw3^KHM|fty+C9U2(0~frA91KtNP)tFn7OYeI&!I{&k}4(r^A zKQo~(5B~iy$0BhAwopg|Urkm literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/ops-desk.png b/docs/sourcey-catalog/site/_og/pages/ops-desk.png new file mode 100644 index 0000000000000000000000000000000000000000..3fcaf4c15c5c202dfc05b68f31f5b1204cbd7475 GIT binary patch literal 67344 zcmeFZ z4MUv`JkPt<`v;u!;jCvq%vv*h-}}C=`dvBm{+Wgn5k3t*2m~The){+Y2!x3QfgtX< z*uXcMa^40YF!q@8WBHeF(>5*GG$8F;r&t<5BP5OW?bGx{KAv$o@V{ zCvFrou8(7zNdKcBEv=rs7wMY3u!EkwjXkKD?c?Y)nSAWahC6BwE?vt%g_YDtd_O;O z03PKvJLl0OF-qgwGuUt0dni4pxpi1{+9QD$)D`mcE;%gPD&KG{?hpI#i!B_?bN@fD z6k%-Sf4{f>O@;dJ_c_XDposroV2k?Sg8y;pf2#5Su|4E~x5~R!t@LNzlk9pekA1g4 zPH6h0g(hwVkwZraS0Cv1-?FISbu6W*m(_&sQ|`HndS8}aeIPLH-Z;A0n#d?ctK-qt zKlUq>zDjROm$}$9b}7;s2CmW9UWiS6lfLLN?%L|N;O=L3oOG;ODfHK>qVPK*xe`9> z(rsFn5v!`daPm~U47byES%30xy_;lKqV(>{!Ul=BN)^{iTCJfUpMmEV@#!l(`tBt! zwXC^Sf^FSbiKoohhs+si2908xlwB@`ZpRf18=nrbTTMZo8a=>`ui(wbyq3mnP2Wv? z8uv!>Emw@*#!u#rIQJ#*e4KKh_{Nmvy7WCWrdarw_xk$|70^oVUh0&3^{hzU-j7th zmG(qNbeuGszkU^$gj*d$H!hqx2I~s_xhWx&ps8l6@UIo?8y<2ry_XuwH`5n}t}wH} zcxAX8dLu#|91Pgqzj_Dl@Il|z=N-M2?WuTyWXsxof~lTGI@&fM?&E2cM1U*CO4ul? zTp((2EYruSs#~>?JJSzck=gHe0d0Cx#g)yZy$VxvXc{y=puO0Mm2s?bIT&D>6WP%E zzvzz#Jc91C`b$Lhx3*QwfME1k=36-|d>43R2n;zSuqpTSbqpk$MLNS}e$gtF!86TH z`v>+@(#I_$#!f@_9%6m9&tkaV@R+Ma<9W~i2cdIb5W;iEPyJJS{m!8MmRD!0=4a4f z#G#azzM^MMezK_-ZT^W{SNiU8t%0-zj9VprRC zM@^Ufd#Zs~D_7~gjR(aV@C@=b!RF&e+n9P=HCuh%}7 z2(4d>a@n-tf(8n?)Ak(Y$j&(SU^s9-lbwtx2m5xN?)eNy(9Zij@KN)FScZiJzRWh0rScdvYdLOkTopn)OnOb94Ii)9 zX7Sh9tVV3-D@WsWb*Q)cWOy&cmuvUp^r_RLvodu-p3g$LdB5~Thjf7ZG}9R@uKqEy zeq}%AjJa|`fc&rx;vh4nvhd2Z}v=l|SxJei9RxbZIukG9q3lKgr zbxH(22`ZmGocK0=q1d2nfNp+rrG_h)?c=>*-%r`q=CgIO8mgU)@cr7&K+waBu3Bs- z>AqZ^HoXF*R=V!iJe}^^el)?{)YNo78shxK+xbIHR;G2e1RDZf#c=E=LMdLdCi`yO zY(eS@d?C^Sv3V{wzGyxc)wp<;cW?qh7xouEWBPWG6b)z~_cxzKV)v__Dh#w6fE&Mh zFW!RER+cH}r_6Rtqgnds)Ao-fvP@*1h$mL+XZ-36k} z^&`WtLmB+i8IP83H266KHqvxP8Qzm!s{9;a~kRlKG0P_ijJ4dD- z4P{=a@fwN5g~A_y^{1iOf*ripHE{o+_t%z#vKfQ6>j|pwUE#6-A7b%%_O$GYl%aqh z?)JNOnz`D_CHv3GVjE#4uvXUc5W!2*Sz*xa7)v{zlLHjtzg2h!j1AnHSiav2{fH#QGI3MLF)hBq#EO zWX-VvtUXu%%dbDiUQqbK)J&h-pbzK9m3TAiP>(2e1CtIq&UzHfE&1}arp$44Ha+F3 zIaG%Z7a7c~jh2GTkJ0HtBQoRr!57QpfehZ>3(@XLO?C4uTKaQ`Mibw%?7S~Y5kEZx z3%3VIrfpY4Jssx7(Y6Z4cb>}ogQqM(kB*st>WV_{B~=VZi%u?@k4Ei1j}Gx$JQwLE z!pc#JuFayij_xFkOh5*eBla=HBJmv9WJKQ@wGg?EiW^%PITM4H!D3&U$=|a@vix4C ze?-45@vf|GQH7wF1g<6^%2tW7nA6XHce&r^vW!uSW-_cQ)m~^~iS(Lj&&3GgZEE6( z;5R26j1-p1D1kZ@AhMTp zl8XSm9`=54IcRPssJ4Rg65*aDO{c^}Vv&3SKG3c1Aa-JcqCcDT2;^B(TMqPZ6C{~^ z05vycqG2r1tf(LT%q6=5*_m$*vSh?d4L6;CyG_}5h%fG1WE_*?KaOW`bxv<8lNMa| z*sMicWtLKDV)hDqp9_w1w7z@jM7$MSAce+LaGZS=iRnt> z49?j%QRxp=jT^pP^fl|Cil`fu8>YvA3EstnPY^Kk)H_uqN94t|v5c?vU}gCd>W+;w z?kGqhQNqbv1DkLhicc$P&g(wTVOS3-K1hm_1){(ZT)o$G1_$>Um$D6diQ7Sw;f*N~ zHbP8h{FZm_4T2Ss9bMZM^wZ@S0SHm}^I{X`sE4Q#V_j-E|GA-ASXGufo2$bhaV5@X zqxI3L-G}$dj6JTJ6&-{IYd!{Me*&G~`1U8tXndvh6-fFySbSFm zzjpQ6iX^m0a;wZE-Ha`b`{*P{2IsB8pIy8o!JcSYF{jzAtrSnSR_8B5Yqf8pIQyK_ zxY_D5;j$VxG0Rse0EF1cP%0+IwQ&A#J`qY%>9xNqqLZ6(w5;zGFh2_j&Y?aROb*DR z@{UA~|I8V(te#Wkui1i!JAz;1{ONJ_;0@{JPS^xdQY^qCG1i~Z3hN@DRdnbdH*c3Z z_BHdhidez@B^nqgy@`ERu#=jpBC*WN{KY`xAJIs<(EZ5g!|H zk4^6|KcYV{kY5v|^p<5x$iLTqcQLF3Trw<_?6#a1%}3=i?An&Q^0gz>vad-7il&;h zhEnX(1)Nr#c0ILkD&)Hmzl{_91Q6sE5HODcQ6N_0B`h-G$4U86HV@A%)0>{Z`k+bV zc-yhsgpd8cbJWLLr_s%$x>X-{6sj7eNcyv$tJR_Iw2WIIh!%G|shOmLSU2;g*(U})r`0P;j0&Cwizd}tIJvvx zN=+h$RS`1A;_OZixAqLBLWL(k1rZQHi3pqw;e&3H) zU9IPmSq|Kv_On~7PW(M1FiZUm%}xa9;uLpBE)9m2t?_A7(NY*lfaOo zM+ernj7ThNJ5hN=`g4tuEBuOfvHOa1Xwz7gvWWr_V`9{_dz(xBqec5gMBT_ZY2NN$+H)d6_(zN;y_qvbjE zCj5=7Q-7-peqUQr?}e)bN0_B%f}|zRTKjCk01rC`3#4)jm~(4lu^nW_`ynh54A?dHv|D*AMiY zskoED+W;>JPCrSAi(T(`<&MO;X!Zcvl$3+F&e!_=*p|*`>MszN*_kOaBzfa$Htv!Y z>PO_z<+mvVY@15nz5D%r(FkTpD4RD=^O#QTjDzk3qV{LU-yTp1wRKtdpj%xa#YuO{ zk;mW!m}bAsz^eymg|aU@t^*V8yOS=aGMA$J_>c2@2^EP%12cHl5ML{uuH4M>^kj#K zv{JTX$^^ySIjFtGM|z7BUwag@L%5$fEro?(QBoMC*zN`k!=@MT z?_v`F8>HhwsVzeWj1VauYT1ep;2$H}O7fzoeA`UDOXnnDGx^9;vO&@!xfonzlF|$n z$=woAtB012xI;80MLi6eBP0I7FNr`q@^j;h4ohq+f$d+VCU>IB?cM#K?TjwY&cSfa zWCi$X&;>yz3w*rFKR^A*zi0p6#gnUMVj9SY&%7KMy2WjP zMGn932*b0OeX}w1x(BrHy8eEO#ueY1aT4r))%)YQ?7HBDeEoG;4h!=owpliVtlWou z%Xa?0LUAfsP1A*BBmp>kc+#%Kdk59NNOrue{X*OUdO1jW&}m*JBn(ZW?fHnuSnybm zdO#L)x5pV7WbJ;6aK%^*5EMWBVm8vy>yvhiwjMwogp@*iIfvw$lZvtQPV&gMdP&sx zlX8=0%RE6!#L@jxY0L5r!6D|i?}AH06uBYxULRjyjmYv4-;sM7jKxLqO#&Iy0nw_K zuQ;PM!{JsdnU4&K#-4PuJ%T|X{51=&$z02baJk@uMDAz3p2&&Ali!nT0uEj#AFAdJ z6zkNixgEq4?U$37p?xNpLXQNDE$JJpCO5gAUS#pnlVa9gSPkYCX&5~+Oz*{9&M zx40Rp0>|PWB9+Z!I7H1(`x1mb9eB54cgJ<1#l)JQu2(U;)99<|u9Zu3zc}wp5Ls0(6V1ct*pR ziBg^mvq#`6iG{HT?{|ttk}GLy=CCU$+Qz3k+0(%`Y0(>cD7YdKezcG#So#2C(=}f4 z#=I=3P$^7237c4D4IIOy56Xg|M-XBgb)Bt%t28s zTE}1j4k)a2$;vztCqdhM2n|t01I3}olmAxs^rIlhf>!amg=ZU@o2tCAmE`*a85!8c53W4N0{87Vlq7UtTnZAT-JUY`VFAemC&k8i{*N)7;bBR@N=g= zrhit^K^gx4$8n_+La<=srp@0!nv@k_K-atbnzVe)i!mYL1K-nLSQ>+LebhWJNrju$ zyI=iG^`-xo=_UI;?Wh>=l+4w0%QZ{OBX4MZTqE|e#s1~4sZ@i}K5A279?W?Ku;9%m zU9Hzuo#&vy*EL=wy0#19+_Zt-1-iXtH+c;8O)o)uGa9_O_+D(rz5je&z~|h#LkU_` zviY0zFHj4)(bnhwH)X6n)UjpqToZXvVdZ9%`P2V`CLrE>F*HA0jtLxOwi_CJOKGw>D_43ywL8;PZEoimy%)c@P5m*>cb4o^sCn%;``D=kpT0fHA| z>^KfA49gq0_n4L#NIMDP@n)#^q7dw#w|6F7*Y$fDP^P5eU+IF3Z|`gX`YD#5F_BbZ z_x0!reQp6r1Sp^gjesaHUIfj5C63S(#V|qLw(mv7f!*2(;es4XKc8ol`Izp*k+)ZL zNP#U4F<`0U9N#^?HE28Y`~uDYbB!$!*!daAHV7wQ)O{zcy=);9PW|^L1jxA~fLQt* zq&0Pv$QV+W5yx1VzfE+f7(sOWrH6^~<~VMZ5*RQ^@p#i5a8V?X=wnwiXZ-x{azqq0 zstfN~TO<`~y=>(1V-4=Jcm1H7g@bujKfpz@K`)tQFp*DQbKZIGsIwj%(9C&TP&eUV-XSc&CN4}sV}gQY*b&@KPwW#d9|SVZ1(QH z(su{S)%IQ?0&Wj6xCGon@rCBI2p}vKXmMDcW26-=mtd_G4R-a7)UX$b;p!aEzHcVj zZG&{qhM95e&tn+fg^6%yV|zy3M0+xlM%`dwULxn8*a#-p6rvUH##-t>zhb zsK;;ktnyF~WUHNMHbe}Mdg%68*rpJ@DQT$cZ)x%DMt)y&k3pkP^i`r5QR{A!VPS-{ zThv|#s{Zbl@SE$RWq&}Umani6X;EA>ukYvFu}`o%zT~+`PQN8(5;G9Y!)Io07(<8J zBWAfXh~26i`cl=~0)G2^(Iih$ME9L)chCmjsj@KXp*0;T1zi`GoN~qk@w#_%icp^7Bl7`TfDBkaE{2` zPvk9~52G&Qer4ToMSTDpA5JtxgpI@}6e54z-Imn#>P3|CImGn_$-lfh~%;Y2hH- z869$>Ldz09+RuU+FE~@>Z)8I=_!t8=Wb-=&AFgf%d;iO7zug$SN&?4yINuk$@>(|5 za;kt}3ntZKN#Mop0zl?0YNcigO0{KD@}2k(*Q6Fy)-!dPE(K8+_rQPm8WP%14u~vTo^Qe^l9eVSI)^<&eb~I1wxtK;Mj<1G= z+_k=0v#PTrM51&m1rXm;*t{g4XGc}=x%0*p4wiue+gVs7wVL1(2FH_w**Pups!K`but`znJ7ahdWwm%_& z+qZDikt$V`Pe#meEy^b9!L& zb(oxEP6$^V2Nxxiqf!zg3k-_gf-G`rHG?|EukzUn*9x64OP_Fy#l$oI8`+Q>Z592G zeB=q?BlST7$)JSlV0G>?Y}orJzw=^GsPyyxvT2+Nif)bClX63U6^;b_4YlODrA1Fv z8&vr9GvK<&^hG<5_haqu4L&7ftTR(__$|y>H)J=0UG_VuPBKc<4|f@UD`7Kiq}SFn zesIw{3iaiNQ*)X}m0(tB%1Gt{>LD+_BpqAPuy}^y5o@2{3cQpzs#B?43~)CtgdGQY zzxWl}dn;EA5%x(jLo@8)En8$AV}2R57+MuNcH>tnIzueKbr}@1=$X?e1?3_Zw%d{ zL#Y%47WW#`pY4mUQ&GP%uryMiqvL?eo133kV4=jgwxP;DUPSOioo7{Yy@qp{Y*@%2 zI*%S#0&D7g@pQ`4R%Vule*kNcc{B6#t<3*nUSK!|OfgxKU|4eatWO8jeXNW7KI|*m z+mdYs;dy(hvtseEoO)eZbEq8OjbN=6A7CMK@URyO+y;*0KD1Q7@(+%=Mj~SA z{w?2s6kBf{7{^aUO0wdqzu1Tkdrv09Zy3Q=M2>oW{xDoFDyYG#hvOE!FpUU);8LXS z>J0=r+v*E)3yBXoSpR#|-v+J^DkXw0aA1?3Ne z9`*tYHpp&yO?G$>STK0zT{}w^|B~e!I*2XVR?^< zln(Xs=O6VBxG({%R_)|o4)|?GO4#p1A2MLK%T60$*{{DiW+_Am8I846J=gXMeg)<+ z8yem?D>fpa1^m!0ipH(jeE2#R+p0hOPxDRd81g$tMFP41d;L~;<=RqiR@ z=dok028t?RbS(Z=XMu6&lhUkZtv(f4Gn6ZQ8N$ zfA)5J2?V>dv_;K!A)wLU`L1h3S?UGz1*Mv*B^l_^p?8uI)JGC7w*ka`l%I@5D-mY8W5gqAfxsUSk!l6qLPkOc7LlE<&xo7 zdrKeu%X%uR;h9p1+ta10d1?4^A#`qE)4=8KgeB#cbz!wos9HwO;xwVQ#4ZvTbwC z>he+5Yb}2mAzSGp|JC=z-m3a7feCzIaF2ekf<#7Ez>6o`RFb$#$a}UnCFhEa-OeRF zT_Y$hU!M=V{2C$2v5`y%etc30axS}9qO12D2ONsOl}aBJOxPZu+E45$AeOppq0IU+ zDSs47C?h^JILysu_?`wxS#WPs`Y(;_xjx-+*-(yF{HPf!?`~#fQsqLK95d@@(2tRA-6} zK-@}<{jBs~aF9lra z?D>O9qc+-sH?+r#U4V2}jy32BIDovz4#qy3mi3oYRpTiO2MOFQ{;dl;TPo(pFatkg z$xOsrn4Z1Z%sr4eXtif@u6Ed1`L0L-vBqb?J}s_Wuf=Vv2QKQ{iI$`spdbR`_>;Wh zxR5V4$|{fVR@H-a-oL|9ee|j9D<~n-vBwF_lW8ICAf=(!vH4OQ(Pwv&4!wvMejd9% zzel?$o$hi2w3RMEX1IR9@KtO1O))6plKY)1vOd{`Ktui?lf7IaIjW2N?LREyLskjI zAtNh7)qwX*UEz$o)$Y!9euVaUW3ISaUW}0nk^gPu6lW)a@SjL6wsRVsp{Q+x*ZqvG$xvi+< zO26Mx%jRj*rT&Bv@$i{#6PnS2V9RsOF452^XA*2yZ9z>M`KW0jAA0txvL6`1U2~;A zww!90&FtMLH`DPesmT;Ds_sXDc^G&0e+{&M8<&}V9y}qM-_q=2xv^5enjeRka(n8v z*#DfGlLSuQ1m)~Y$}UpXC;%5R6sj%LbshD2)NdgtvVj?8_g|?+JNqtg(aB9oGiSA- zR{p^B@B`~z*9om<UMe703_$c>N)x4CkeFeZQpCb$E!jeT1tW{{cU-uNr@e#e*75N%>;4^ps4uH0O z77IUMQkmV#IB}m~<^9ZPiGa@P#s(|$&99vuMtg$Qqw~(s##)O>7#Ej&7#>|ZFb$Au zJf~{{#O&?*8T5hv_oJa6-1e_;3>~oWE9_;1F-E!oO&9<)K`8kHZ#8qVRzBuUt8SEQSaM zp*}?WiBr{-XGa087ms`dF5IV2;^HNF4QFr_yuPIVGH-MKXZgZ9D`v0@I{Grhdr-UL zO!f?Uu0zd*2zFg0c>wa>rk)xxSbC&?mO@*(G<-KYJ)OmV4YHUp#6WJR0*qey2Rj)$ z5GU>PLk~DdGN~}Fs_Bl6Cc?v@yoYv?_%aw&T1ob%)uI^VpmC9+8u zy+t8CNqmB|l^8L4EqCQ>q zOfb*NGYJn01v%{MMw7wlVE6S$qU?yn!w$w(x-68oX()r6fy)`ZgNU*3$2vzSzM26Y zi5kyPLN$F!dlonOJ@j;IMXB_FBZxpg)qCe83BTrm^Vk48jomjgURA|gfMN+;gcZpO zN#KmG&Q$h3I^V(w+Tt4B88Si*kQa9s%b8U5X2YG*UZIoE{8W+wZd=z9IcGeSxQP?= z!oM3{n$e?FME|CK=*f%gD##N?jL_tbewbZQAva)s7?;NM{55FfnavI-I~_}tTj){4 zC91kBp;>4X_X!h1=)v`Xcgp?4+<83k$9v+8M*ai(R$?#gLN|zLZbs{S0@~1J1hx zoHt1s(2gkUbiUiThDIAGz5EiR{P^u`;CnbQ8ZIH-mmbujty@Dxq^rjK?_Mk!szsY! z*I-Y6VqH@O@uh!Woe(0m&xCqB&y`jRJ(Bya^y>vPXg{KE^S3I9Ko=+5S3yC_iJ%!K zbG#B=aF)%C2zGw6#)5EL%3XPY6ES1|DlxUKtWek1g?2h7{vP2o;C$I|`1ScVuKB49 z@Dn&6*MH6z%z_a4n~GcbjrqVZm>%`x4DU3XNJ3|AIPhv0$J~|i66)QZGLbE^rJpj!E7qwMUf`y^K<{T1HOGo+*@Y2{Ce zqlmitmxk&`zZ2W1-nqJ$&dI>4CVyZfokqw@8db7o$+#|_R`ZDk9om+T{uQlZ=I*3R z>-n3i(3~Y+@g{R+n^mpnfn??M6LHOWx|@uN=o>Md=rBY+oZ)v&+s3tbdvx~g-BL?D zGpB$FK3enn5^~SXeZZ(xjOyVLOr+THl)O_+4v(5pXNJ;9j?O{o@El>jXG^7mgPn%SvL71v95%`?V(y~Cu}Uk45tt`{$dA%p(FNs8 zp@rT@2R?D#AxwR)b3QMtxNy<)T~$qqStKRDnyVZm6TtS0sb&Mw3S^B)#(z`C=MBnB>hj~nh_+;r0Qbn=ZePKUkp#=~{NeK!ff~{LL z&mZ2a7?O>@_p@~U#a#S;ZKy>duLvS{@@Ukfm+NE5`)~FOpnFVI|Ik5~&#F>h?3vvG z#wjg~0kh_Ii@|ZzNR~8aIIFj7)7C}Sme!YNUllN_5@I1=1llGIr8z$#U9s_uJfAEL z>2||1D|BVO6n{zt2QSNgR}Qq~4OnTK22re|;&s3BV>1R!?|Ts29r}BYF6jt~df)X= zS%ZIV5xOBxTYxkQAkONVxZhIc)7ZiqQDiqp@0LJ{3a8u7*~!u0vDcH@Qx`|X?|poL z8e#3js=%RW>c2W&9E{#zjzRFNc_#-oXj`N5%lA+lrqWax4VGoqCkU;#Y5KyA>}wD| zADotbDc=GlaB4V6r`-FEH8R-E+?dt7u#6J7TIwQWsf`7T7RNAv4kkcIF9mRmd1hA1 zz47jr9em)a1{Z6w-~_>ds!IA>2<(HQ?`qxnsCUxnhix`G6#A^mR|o6Oqi>2=&&%VL zusX;fWF<^@&NrYk{Loex*>6@VLF<2h$m`v=GK|J`qb0cP`&y z;_9s7QQ~Tb-+A+DV(r=T10auk(DRua(Ba)yQiJrceGD+~^yiE`x7xN`*;%dA%gKfI zGQR4RvI)TW4@-6)2}z|V`z&_SA$0b(_s1IE;laGv6UGpuoF8vfeDfI$*o=#q$gH=p z->Zyl2#mfi@kds1AoWp>gt`i8ms|YZFMsWgpI7iz3v)J8&5c;$B658?bh*x##19s` zjeS+H5H4R1Sad~JmTPogtnXnZz4(He?X$!JOW7OS3kj6FD@$zKTKj2_^gQYcagxCa*1v0`>oF((gUqt47b7!rSli({~R-;uswfZA*TZp?m^F| z9G^^u6dF?aFCf=q#I`aIux40EzbIeGe(}HP*!k7(M~@EOa#mzo-nm+SHG!`%<=p)O z%Kioqo{KpaGJ0+s7=hzJF8xEH3LP4Kz94u{N*C>b(MKYEnX_Iy^EUDWb!vKXXR(Jb zMatkrS6{AMDOBJ+OMWGp~hJF zkJ|C!1)yImJ8{JVAoLj_Tz=PB(;#sw#MJE<`aA4GdZ<*Epm){!$?qukiv6g+Gb@Dv@*sybcuM!$ z3u10k*Zb_(y(2N>#Ri4N#F2Rdc+_ule^wxa<!_buNgI;3Tf?arlookU`|QTM8i zu*i+~=gg-_EEX+Oy+8y`C28L6-jcrTI$<>49V0dZk3j?hLeki~GY090hhBnsPpl$) zHO@7c=nr05KT#6;u*iniHt@u}h^a09)dtr7dZKxU`W#;%a)apcoU0(&MhV|TBL-i~7Q4W~L}?myz|rwrV>WdPkrUF$yfZSs?%KV?xZi5O8_l#vGnV(z|>)Cja%7M5O6 zR`!B)W?$w5*2k!z(y4El9tX{+A!FM*OPg-~L`B~-xuM-8IJK|cG$D}{%#9ovvrxq& z)0S`Ax8R-|W4x%RDJ7jt`-0hIe+mB6;0;?=2*x_SRO&a`*T;B{l9=f3oD|{Mv|vXtMRXoA9?)9 zNF4VUhs!S;rI>nH5_Efc7naAf434RKNvc<82oMBv5BIf+)Nx&m->&X)TxR#-ff>o; zAm~Cdx$00YbN3oeFP-3Lb9j>tsFL7Xi;))AG!e&U-4WXBo>rHgd`I`zA^i?>BQ|> zEwP^94M~^`Sb8}tiRB`2-Tp{5@B$U?O3s~F9R3xCN+9C3tf4P1e`g*?^so$5y0H6< zMQ;$aGP5Frv4l##bp{7}Zg#hTb!8UT^O>2loPavTXL-uv%z0HYPWk(&G`NF{o#&KE z1^rmZ6;~cV!flQnDhlKza~%49jrA9*-YN&>;at}^&rd04embHwW9H4-%%}TAB_+)s(6$qZn3;+_cS(!@u2J{N5K1Mw!2XB9W2|r5N$& zK|ta_sFPD2_}H|AEY_ZoI^CXiOH^#eg@5n`ZDU%OzENbG4~kqx%ArZ$cembwvGL9MvsWi9&*Hf58Fbe|)&TuYsa7a!_lt;prGmopC*NLb z`W|h^n~DF zce0HICIrwK*$O7g;39B{z~@ffZ3E`!cXTi&;BN=6lzG3F)%5MMNBh}VEuAcT9E<}A zwC}Fb)&sL|vKsD_1$(M=5Hi@$s|HN*H=b0b4d(U#WK3}Xei1+ZRKGJqGpSDYMwQ6? zV5^Jv9L)19ASDfyn$}_Ld7vz!OVgN-zw`y$%vb*VFn0^+kR|IZEsY&*0QPaDm<-g% zKlF7YlP+h5Lg0c;CxscH1Zl;E={93lH9XQB=t<$b1?VLc$ya&h&u72Qp0^6!&}<)$ z=Hj@fSx4WJowl>CSE+hhwX!mVKmSjA+{#T(CHmC{3+d$@J)ke20n+JLNSK*+4=I&) z%KxEfV_l<%r7LCLXd^@xdQ2|tl;J>olmqe|6zhQH_*SCK5d{%AVi*RB5{bIk6! z7^7SwE}ML@G63{HQ%uKm-;GEJnUqxTKFg zXPS5CQ}ljX87yhxgWoHBiC!j`(0cBBzWZ=uy(8PvyP9SUHqXh5z|w@G5$JAzg_iRZ z$P=29KVIlE92|cGaHA>#qtct^@jNW#QCw!#vetQgV%ld}qhyGy+mhSv>7J@Tare-s z7P}0E2+!y2cFU^Syf4v#WKy4!?7myPDUYw5GI-P7@Ick}z=g{}-IMFOfMy*;4MmJh z+4?(Ty((G|w**ROzlh)#B0}8G1c9&`Q}eK3D8*T5{m41l3Gxdl0aNDRom^Q6Ca#ga z#KJ}ARv|>(hLMCjyS*@UKHg2#k|6zgeuh)eW_UzjLb1d4)j6eAzREu=|22MIgj=j# z@?^u$+Q^-8n)S~gM$Ta?u65M-vZfIo+GD^^mG0FCI)IDv42^zNc=hBO1&2kGiMAKS z4p2`7TkW|VzU=w89y03D=9T=x2>%XVy7JR<^h3!B6+KzXB?-Wmh!~sxjJ{ccU+3zg zVa`C;wxRD>Cx%r36A;v2Ha7O2g#EPXve&LqXtAKGa*@PgQrsTgkaW7B{b9@g2!Q%_?J`j)dk9gZGEReNl^Z{AO4C z6SZw%o~Fh?yS%p3J=arSqCRpT57=C@3FdDNnJwwVi&xCPK>Pf=G|KZF9W=+KfB)ah zWX%i?>_IISZ!SyN6PBo6y9RYdMl9Ah512dGyI0LwY^o(z6TFoZMpt*a9n{?TZUluv z#fKQ_-tgiN7B_z*L4i_vZTcd|XhHL6u@v9^l@kl8>&^}X)oE@3k?tfDO1hP z5p8TK{-Dz#N#j132$e~{bjiU4pZupScDgBvm|!^OrRm&cBUeKU`Z*X{+nV)+YXm%3VX*n1T6A8Sf@ z2r6-c^M^qcUw3F?B~-H;^|y1lExJviS(47ZevDq$<|K-Qr4Hu4x~EziDLr+M){jZh)}3#t#E%xrZFT2+LKVj4p$~j`hGi`ON5N*b)Ai z)-EN#S`rKA&Q3!M3m@UvePTeNRVVaNfi${U!GWBx^TkCSDf8XvCem>nO!lhAEdgy0 zhk+gLXkT^oE+yA^B3Wb-7p5}lJ1@fr&)!|$#|`FoRr@t1f*=oULVsQ1c;h#I`FQfo zLLzY{pzwSJJB|B0}O@1y%);AE5n|Vq|AE|KZsz;9(**cp7}M=q&|7Z z|8}hDBM^bt1P%EDXiwLRwb{*Rl^*URM|rsN4K^cmsFguxz8#gjQtvGjbhaKEd{i!n zr!%glaX0knb^|<7^iI-LuPq&P0ANJK73+_QS%8OURkfuK;0rod)$(?S2MFk~A$}9q zs{{R|@$)1+qUQja zLA&ll30o}BqnwdQJ8ReHyOqNU;$z%}fRrFdwD;;H3;tRXt-B%eyJF%oT+1dCW&hbK z^x3Sdqz5tl|F%{0^Xs_!eE$DbcoWIO}-eg5L-)C^Gv`X}LtGWs|FkVf$GI!mrrLa_oWprW@2|NgYBi zqfnpBAuuQNRpbZL*p6dfDATo8R+AQ7l50Oy*7xlLV6_FQh^x3jqbVCLOT6_VjS zV~p2|eD>DC4I})M3|@k$gn=+uaqycU72fi8rpciwR~FhT zWZ+w-B-Qs-cBrpi2!h9wH?gU)ki4V%bXcFj#CWpf{b3&Nw~nTPY()+{t7Rph*ZHqI zIg%G6&yl=qPN#s|xIIN`3s_pF@PMGOr;WncpBHSCYyIn7?wojY62M)J;cKa$uo33A z=dN?&c%&JLRu{%jrO~xsOGA#V6JLNZ$pfe;{u3tXt_USCOB)E%^TQpmyhQ}V#590l zHi?&IV|FEsK?bdcp;Z0|`sHcJAm?lRAu@cos?dOri;G%Tdqv^9vz2n+K@U5LiIvG7 zII)E=X8ig)Z3$D3V|ecNrf#~UZ2aWfDU-E=?Z0~lvkgK322xR#hV@=m5lXv|Y8EgE zK&eAU!sM9>gQGQKkU+Ko7~%l4G%kjxx1^$?#(3k|t_hrYQe_)JX1B^n&;(EAM*3*? zJ#!uwNo_W`&;hL1Xi1F`t|U_pSZ@}v-p-Tt-i1>%O!l7d7(Q8#-pV>buLyuZ!o5Bm zjX#&Mko%II4|FI|M;t?mrtNDNOBsFPJ!)9`n&hv0R99%rS+b7rGyFH9O*iJ8<0^T; z(y8B{(bHnclb&*slT1J0_3I?M{w#D#eKL zSP8gVVg^RY+I7EU74t}@yi~;HHAW~2-pPA4Y5yx_W9Hoyx;`BbPmt}_;5p%It*q1I zsv`58If+2PIZI`bX@WN=r3A{2Bm_(-rIriftXgami*-@odl_gog^ANFXjv$a&r;>9 ze?5!TGdJ>ZJZZxL(3Hwj2qj}g%fA_QvPXW<_fMH3lsHappgO&t&v#S%(DSTPfGfhb zKfg?6+_KwoQDtgUs=x?LUW3Cl+1S5cSv#RPl|@Znja^`)>YY%QkahS~Mtl=LrZhe5 z6L(B}q^tWV9dTP%j>g~A1v0NOpgE5Zu(w>?ydf>5r(Xy&3vkdu0;Q!8ux9rBVEtb5 zc9z9YZM?9kb%4?#!iJmw3Y(V+VzD*&?Yb3e1v_= zlN&hde8lVYa8|02A^(Zd?t+GcJ%+8nY>HZ0{rz^*0L4fW=WW#n^~yD^`tpp-j1?d9 zaN{B_fueBZOxA+in82$QU@fEVA-5&&*LxU_2yy4GdyjHw@ZJ7I8cD2YRxH7T;X zM5~%$>Gy^OK&fgAk5=?hE? zLaMR~-WU3%gDGR?Bpx#pGm#}Vd1lW#)`XJ7>#~GNs*;>DcI6HzJP8wsR!u7S0-54_ zisfG{{D{nH17&v8hJUcBvbx(>I%!qoiaWC5Od$&Qshsz}zU-G&zI#@WSrU4co4FRi z45*vl;V+wrgZ-a4*TIF3W_BQRe3F=dSMxtB|IL!B{{OFBQgP)EtW3;-1PU3@4yfqs z`nGw>O+(Uo20nOi`0xfTN?CJ`_Z^1XZzr~FPYkYn8;EwpQeAnV0!yJ9NUf15Fp$t> zUoVr|U&4O%G<^(hCeSOsq&ya`zx$fgBqJ?}R)UuFE^BtS$^$ zb!jP664{~NM&`K~=Dey+^@YSqRh<=1VDOs&9RM=77zI=`02}YOemb0R-&9qyHoR#% ze2Z6c0Gk(|x6uL`K$J!pf^)}R zanE|{3rQ*#a$39R+`X4UC^7r~gm@66%d>rtBpI{?9+F?4@1Oac-K|oq?Gd>5jwO%y z+lR7Aan4t&FD>jp`=e^YA?DvrUA5hQO}W?|gp-q*C&bG;>-e z%GI+}8Z9}ArxcS{B)4h=C;?oI3_7d$c*4!?W=A%!XlGoB1lkAKn(FBrKA|phyb5h zj)Jqw7i8_n@Ml#$*}%~B>%ibY8-%U=wP&(YH2)cMmGSd&oA|XNi3ixp^$m9#EapdtvwlAP@upg7Clr0O&bsz z%eRUu&m~BXAB;*dkVN{LrEWqLpVaD`{>;s#FHoAHymF)4>Yjtdz>0oP!0Hc>WVwJO zD|4VgqdEUK{y!0*8yH?R9DV!n>nYoOMHssE*b{yqaR6N=7Drxtu3t9Lt1lD?X$L?< zo3ZgiENU?np(HDE+%DoAWAk8WUD0Xx#yjRF;#S16r2r0N!b3{~mk&t;w-9qbQ`b~q zW5E2{iDi1uG|(32w4gHi9T_8`2Qmkc&8JmNn!J^M((Mp+pMv&ls83%7rT)gpHo5t#KJfM}jrrq0DFUVG$}=Yen1KxZc@@0J zWvs&?O+w1wDu5?A3FQ8IAouH^2SsQYSTd??w^q=-c_UYeu8*pR_6;pKR;Nr*Vy5f4 z6gx0hIlHwJ1=~1!*G;HIsPuA1;^lVySAIqHUZW!0HdS&~TCeG-ROK+@;X&rfx$1)e zj@T;(W&5?L4BwBFuT-Cs!;>kD(}GF>QvkJ{hP0vdQz!tYzzbU#|IB2m1TId!Y67(I z(z2zs6kDG^{C0ycL9I;CK2yc!$WY)Z7EA`*sa=h)Fc@A?hC>tEmL?fl8v+zZW9;Fd z`eI0yo4)!YKG0zEhom8vr6S>h3HL12=yEc{a_=!!$@sP)l;Mrpn4vWn1vX+pY8UBrIBSx>ALe2Vt z$-{w>7+CjV{}CRbigf@?lQhAkz&T-3mKrwYt4+gOs^Yvpyq*)Z_1zGd(b5QIBn~vD zJ=DnD=%nU-l*t_^uY4=t5%%nLimbp3jfCOoASvvMh<{EIZmC&L_qr}CM}0Q6SC#+x zTgZ8}Y+&@)Rxfr`*Fkn%>fJSkTnGpmk<`NqZxb;7` z%nfoX?#-C@{T&0Cq*lswIpLO`JDTYHe@;F2T`7NqQnanZG+|5-f;S3}w0L%a|1i}yUSPQ=9< z!_iXzO9ked4!pcvx;E^=%cOhCE{ks+iQ|gB#<;!6htGEO{7{Gxnu9!&q{P4#oi&Or}yXNFHUnS!2K#g%ogtp+AvJB}^SII{;y zUVXw7fvQH)jp(EDhN~(jiESbU^8`9KxufE+&Y3Ba7G`G~-Y4BX8Rz$SSLyF;?Xp5z zLIh&j+x4RH8o^;vBzsf>LgT&2&rMZHxo(L+Ie*H~0AVX($ncawYnkWzrEIs{2zc_} z6CeY)9aXbN1oc_V0zrF+o~3y#ZY+6heeN3mz}WAR0tCh(q`BkyFN~bp43Udo(eCZ!wO31x=RxNO%x;uXeIrjc9Rh0hUm$u$2jN>kNPw)g8Qq6pP zS~?$C`Wvt`A7-&0Xs*8Xvkz-6Fh}lyg-(f0>CD)V$19T+hZy?Fh`SRWM{lBI^P-G= zlcW}oh{?t{nK9s-OQ@(!%8?ic3M)a4`;A0JV=gL0;Nfz6<4KvIqxm`hVLEQkb)fnA zXZxN1)4N#{%&3(`6}4U4yqF-(pF6sjPRWCk1P-$J9_VX z+=I!;)IXWgdLsK&@_TOfR0-LKNSbYYUw&en(^s* zJJZ_ya;V0z%$WR~ALq6T7L%8j?xb5WtG{39u2D$_5fhN4Ox3bBgd1-lue?42P)ek^ z&FNSyjH77-ZF9JaRImFP*8q=L99xAo4i5rpeW-Bhufi9hk9ov2FT%)lUpz(25ark% znf!YXn!b`scJCsg;|@RyZ2+DUqldqY5zFLaI=1zec3qN_?kQ>TKE5m%-ZE$-R42}q z;VpTyKer8FkceV;KL))RUsWgiDj38r!!1mhtn*9on`Z@eawd=Jd!{OMjYGgLc(E5f zDoLgd869)>^Kk^=JtZA??}SpfA99>hB(M2fN$>3hu;SX>S_q>Ud5bkn1O4M zK{WvE0jN8lCk@xZ3b!eBbig_1TrK z1eZT(TTI=s+Q*F%c5vx<#iwWj2I?U-4c%2bCW`dQu;^z}*h+eaXiwq$-?FF;dOAJH zGWjHn=izsAf*&rkND<;+bYGFrQ&Dt&jn&Ey%Qa{tn6~_EBdk>cOg6`^{_6#mhT0sYt;{HD}u(o7pGv607l^@5%VJq7I(?_*S*hn+p z(m035p>>dCDuHqPUI4hNwm3ylKeJ2|G-y0Y7PO?7rhdovJ;I9K6~R)`hL|Jv_Ci%z z=}+TK;GAm@;4uA}aRo_Y_#OnLXPieFpOcfZs^#*aLp!WcKr)-w1h!kUwSpAt39M)cJ3!%_cUJy*pkG z`C&GNi3a#FWC7zo@auvm76@>hYfVinSPyWQo-q;xX?OyBh}%-R9_HK{nMPm=C}%Q9d#-uI+c%xFI`6Beh-HXz}E|h ztC)tD7rBz+!1TvT|73GB`;SlmN46o#p{E$L0Aj3^-MQ$?N)J9T6u6BIM0$N4emxe< z%#=l+Am%LF6wJ<#^Y7>|8%lu*&HBNUqij?|nRT<@R-Nx3${=r6?D?`d6Ea|sM9V0oGTQ>f*BsV#h{6ewnWp+EOqjPrVcVV23x{`Ebel}jT# z&lkT4U0-F6;zT;U-mg# z=>@C*N@^8#{&S&IJ!$Z6bk}xmRPb16(d8h1{;1`cwPVCYG=A=$T+k-1?W7y)Y_a&{ z%C(jNR*Wt5Z{xCBg*?LQLi3I64bfDz9?0x#Y z?3a2{qmehRS}o4H4!bPYVd|Q%-acHJ;)vY+nKx1rqU+c$TvT1X=;769Q=jy-k6qKQ zMEgxage-7&(lA_~Vb=;g4IyarxOG6y|L8H{nc#(L65-t6`twFg)Z^_@h-lf)b{LM2 z+2tW5J)sOq^U&Dh`M}>?I$1#H$m~1A9Hx@fGAW+un0LeQlG$Ax-Yu>HFrKG%6EII zC(NKl(Dqoaw93@rX>2LfY}2CX{kr;q%=2-s&16o;Hx7^=T{>x3AeZ?)uVinyZ*;PIe+C< zXGluU3Zo38#bSKUHpJ@k@c7R8MqD_-(V(r{Fp{@NACWoXw@F?aa(lN&@{s!}EZpZ6 zVFS8;8iUbUs+DupOpwb45cA9*_D>0iqNuXaTW00NrDPOl(+b{<+3>n5ZB{c5d|Jt9 z-hi`e?p4b4F1svRyNrLh9ja$$K5o|V$v5LUnUrTsJ#0A^sUg~SzV8aANb2Qypt69dhFbcGHw>TH9yCSCv&I= zGo`j@Je^D}bGu)}N@P8NyB7uc^?DoXhbrU{m<)tvbr#L#Y-ihPxyjvNsnrzF1Ex_cw#nk2~$@c$GhX#QYf@)Wf9jHGr`=A%pj z91de%r%oM@gMoH0_@7pNm3sb5tLv2q_j*_9IbdE!r7yJ}u5+M+B}95& z_AcvSN_N65MKsFFN2}WbhGCZla|VK~W_U9xxWevN(iks;@T(Pxmr(?r4y*x1yj6WC zxVeMX2=TI*_Rw{&BqHI}UDm9(t_bq-Z>ebcTLiN_ZCRf5(DOffpa(0+OyWG{9GfHE zUa(qB+W+L70E5q=>6R5SESl%EXqEaCeB_-1n+isV4ScQHcmm@xU*2D5Gtd2yvetJ8 zc8&w!jKHn7{h1U)9N3ir$L;^NXMkp4fz87IHx{txQY1q*U3G_)+e%Mcc?g2Kp|D8$ zL1Q=gR+gcE*2*OsrK0`xfEPS;+~0!}d)_xRtDqBjv3%^SSI>Bj_gABRLv&=V3DQ9$ zN_6Y8c#&W#3O`laxn(N90dc+32)gh7)Uh_O`2F|*zODC=H{a2AZCi8vkZFN`)^Qg1 zC@ZJ!sN0nTyPFf%6TW47cY7;(O*yLuj%(ZE)As$d{q%N?!XO+9IBR9+#Wv#B;$cGG zq3F%P0fXob(Oyp^*p|0>#ItpSU~-JoiIM0Kc{%t-d&YY9R>$e+yE z7}b0_RgPpj3)b8SwVT*;N)nBBq;po-ao;BMTn{9gaZ85O=JyrbV+)=BvKmoMpN22Y z<{epl%7Q{R*faOw-p+M{iK4YTq_FlQX2e}0TF@br{FGzf>{(}<}mJbUN>wJ8*7JtL^5yDy#E^-h#Hmp-0@ zma>=;m9s8OoIUJHizeNJ;5W<1-bxXmE&G+)a_ExInVPelZd2CLtCo8QwPTwWS>2*5 z&j|J^%hGEP!&BNt%L?JVnf8cnUHhInd*v; z8i2g^x$<01ps^omWh-<9R)a^Ah4e@}oHTY)(suFR#Zo?oE){G``uZA}x|bKjd>%ay z-8l?SUxYec=uf*=&aHS3DCOSxq~(8^sf(?}fqb43$(@1xNTX0)HDZRkM`sQu@nW*18PU+v8$(_u$V_uXz1kg z&$0^W$oV=g_tN}4i57`}^NjRwhlJhf2J zdIhaWmnfdQ`P-UYEW+GN#q;1XJmSQsBz|+@{taex>j~{U14xaVNLOvy>lTm62Y8& z8|7&m`pM;-)Z|6RO^qgrj#!qAi}wWqVOxRki9~f@0jtcBYPv>ib~ENaoD^&dw$-H4 zas3kvmQVM>;aBk1!)?c1`A!rOOmVYO>W&)w%A(WoavFcNY><=X%ty+HQ|8iIYlXTY zM@_W+VYko3wC%ACcK6p6-UJy?myGijZ}AdCI8G)NWp!3#v&yV!b>QEWAnG@4Z&Lny z8IfZu-M&2n{WJL8iFetjfKv=lrS7J2e#NtXG0cGt-mezUQ{c8Ck25q@jD!B5uQ1G0 za{925klOXOcC$HBn_jDCe*KtFs`ob1q{4f|a;sqw(N;v;hn4Ey#awihTg8Ih#r>;U zX+_g%B$)l$=ti-$f%1`0FT!g`Yr!4dE^schW@Ra`HNqT%BbHu%+6CPhnnN>>}3U0q^}#fuqp|iGMuSUpqZu{F$X}q z3Xjv>&Xl$ba`|(bl$&)4SwLi22d3#hE-tfZN|rN^4~(VPiHor+Le5@@-egl&5*D1MpQ6JgnVF5|iNS-M|{3-ZFzX9_#j zajf4~(S)2x*KPhFMxIp}OW?((?}TJRv3(C&lJ)re1`R#$HY@YV>({aY4x<9MTt&9F z^Aq2J2bt_k9AB0bwWAFh;;*hd{Y1fg$vmlheG^)fLihH%u$GC4u(-fVRCb{@;coUj zkB-*__)9y4>~d@7CPD~$GGDb=T-BSs9CYfu-AA@2^jqx<&#<1_4y<@sg-#U8?yZzg zTG0m035WFeWt39zvKFFs;ZY_v7g|r!*Y=1Iu@myS+8+n_^||czeBh|4@1ux=;PNwQ zZ~ET9aMK4_E;*y?D>6{M3;S*EEiYa!JKl1OhJ(u zDbT*i@P3zO=c)%TXy!xjQ+GxUUEUjT6UWizZ zs@Oa3i;j$UK~YKlCn4RoB>uZYEn_7~7S@XEN-J4+UK!lI+N+{Sx(!U^P6Dj!Yih6c zXtog%`~Ab}nOwrwFF`&v{%iPaKLd5>`jJ4i8K+q=uq8nKbXYsZCZjVW{pK@oIZx9` z4`sCK8B)ubrAb1nYq^zL`_(tfLN4?*{VHq_LdKatXRa?>zwKGj7L8iQxjhPo-5=D0 z#`}ogjmHC=Rt+SK+aYz%v{5Yd*VLUca^VBp2_tojdz?qimBI3d=bPJbt~Q;C*{ zSS73x=-+jc*%B1q?e>8!4Qz`v&=M#-p_Vn@EsO`g59q2 z+(~bmFU?WcGSvxTA8RrlIqwDEV-)2HxqB5tynyZg+Kl6vEN;_FD!q(0msM|*1a0L* z7092f_KNb%9vFHr(ll&xQ>kAawa*Cw>w?BF57vFu((#4jab|NXd0%9qAIm~0S5biP zWHaN=?NVcsN9e(xE_BrM?DC42P;;RSm|u1;srt?DM}?cI<5$&sQaz;QPcS^BCbTMPEPUD(J`WiHUI6>5)KTZ$Bq@W3;#;5LkbPJE+DMGjN$=&ad3%_3bzNlx zb0@G5cH*9I*h2d0lqU#LBws;|e5!mC7KVUAxN?-u5c znEYd5;F5qpdixXdLU60a zigC1iSy%!E&B3D1B=qK{`&%e`v5WyC`mDC+@(k?HyTRWtH1-ebT)8hncIgghlmnah z(r1eSy4Skj{TB0xhHpdbvpYx@tVUg*BjL=+__0sZ1LPjDt4!7#$KmOC^E<`M?p-|u5m2xIP~89Qvx0Debti2O6u3i3ZXuq&sZr$ z`COm_$Fc4u3uQzHW{aP`m~scr7~NM%?>mmu2-WZrDXAR#NjB}n*ikg75Fl4{cvQRd| zKHQJu`lyHEw^7HH4R={&MO24$3EG8FG@W$*Nc7CLrMf*B3FO(%*Qwjj4L6BsLX>-J zKW*?cb#{pwdr3y)y*$#j-6y1k+BMUjpn-@cXZEcHU@+B(^)m4tym!J6ozAT?1YqE38r+nw<`hi;AA@*PS#WX)*o5=08GiKsb4%`$P z|HXh4etC>{wrK0N#JLfU_hS<)KJXTG&Tso}OfRL;l zZ$3F=A^{^0c0ew*w%fn{&^tGHr$?AYLb!yUsBe(>09~fhi)q7x|D@Aq`3|>kMB0mi zjYhMe1Sa21Fp%}cS-QOx-1!~5-AIpyrkm&-0N8B46iSj>dFNamgkT}{7><1 zSke@iCbntUZshQAQIMaz!1jGX5eJty9pTQZ&|^0A^u&EkmSH#|%7xm`tr;a&0S;w6 zCxC^)2sJP*cG-|X`jk`KZ;k^U6ol!a_4@2i1A&yuk@zBbR-@tA`u+l4NX zpGQk7?hCEdPTb~w1~C}f$Y7)Rxg(-6WteAg+yYJ;*CtIeG2AN>sPF?2U-w|K=?W!u z2}UlzL9Ah^rh|;IG>lQ)i956E1HLZL7LysWC7IIDzVFslvGDx0{B$TnS73rRtM%8g z%@k}teV5rJ$|x58ilZjm%e|K4*s^@?rn-SOw9NMX@^N|AzWNN07^?xHWjZXrrX*m-qp;WXK}V(f zns;g!flz z`eA?wMteli&{;3W?Id7q{38#&LiTrwWydj|-lZg-8Co{?-;4)drEcX1ZF(J!g zA<{S(b9SE2wi#XpD#e@FVp_Ag=eV1vIk1gl0vP)XP$Ny$*SJM5tH5g$qOLUSNs7YJ zKa$>VVKn2#qeMx9f_x$M`lauKX81oxW_3Quhr9oAH=6{ekoa>bhD0kyC5KtgpqqVG z{N!j*1e=7o@SPZ7GSGi`d9TeLIwdNIpA-ycv43?1Iu+hlO5 zbKC%1Oa1MRRxXkfd8?dZ(?V?NIyk zu-0;2?~99YBhw7WpyIhv(}+O+M-#!5rQ6+{$RWa)7hUK8vZ1U<1b22czAKvlRjUK- z+*0t8rB^Ckh=O{JQ@1F!d)Nc)(;jFw7-4}-nQntSIzOI=eea?xV zN0{IYF!wN6#RZz?X|A=os%xYO!A5LHPV!EZEyhCnN?NZIfB7KWdW?n41d!RrV2gT$ z9uxuOq1tJAi^e^VtQ4(}q^3ANr$gbAxh|LH=nDrLsCc<#D$IV)V}}iefu+ZM5z7vn z7mVosCF#SRA(LeJ{3u1LDIHrjFi+aoj=#0A(}b_cYnwc(J^|k*w)VGJNBBz7?ADQ2 zd5|>D#Vc1|jfep^TYjla)nNqnw{}7LxB>bWpTbKP6wp6fd-g4ECr+PYmqbLWIs;;* z`d%%$gf7Xyhnz8)u3qo(f^G48NnnUBQPB0Ne5PiWEn46m2MC0CZ$Fup#;NJ+_0 zWDtFyN^CR7$(ny?gm-E)gt@nr#xOiyOErfNircp(ZTH$Z@LC$TOO^2h!&jzk=cs_&i2te!6fvr zz$xX~*7tHnB5R)7|>?gbyNw1^a?8zm!_JI~Ogh}d0_iKLsEddH$@ zpV;&NeO!~+HbwRJ*y zySNJRdfuS|{|USmTX~T-vX-#p<5B5ZX}9->X!tS?CKn!yqNZKmaVdAP3}Q@lgx(q} zfscW+s}p(W7sOos6FJLzRNEEy*+%$4yBy~9%qOA@HZ6xy%4@W<8Yp!ye4Wipz23N# z&dvnwCxW?6(~VIz-C=BJDt1JXi+qL{YK*bJ&6N286+yX-z(#+M@dTrzodW0EeCx$} z&?`!x>qQcC!VgqMb08G8;;InTO5Dcz=53vtCJUKq(3{3*M6$}Cu85|y3tn~x2pDBc zE~Xq#4kHjEv76|3pP$g+^e^>0mM{}mv={_qE=Hp&f^5}j9x0N+L* zx9jLJ;Jg;xI2e0@i1fN)8iFN4cpF|&a%p$~fkf9|20bL#w& z&UWG|kzfoPKk`@XL)^%(likU@Iljr{Urj@TD_;2Bh)3aIiz)JnfZmGsU_QiPzkC{ib`E`vqnhkAt!+7H|(?GEC# zM9Tw`Tu6k~U6M$8DL28oU8bWI>Aphrr+3Jge_wufbw-faC1VORLJbvf>*blad_V_!|*H6*FD0bOPTrSnD9Khx+=J^t#yZibz#>YG$k$a)w zu9EHmUF-T3uzc_Bz3K2d(N@XY7ogeiHB<%TuNC%M6+Sch62Rt9mEck1zPemZXZuVv zz;C+2xJ0uL=!%K^r~_wA(TnJhD1YiHd}9vmOL{#zEJ{VSS$aoGws4tYb)@&bZVNjQ zKLC&;mqx6l5$Sa#La@YDk^KcRAJ`kxhdJ%XDhsXAo7mM`ME1asEF5Dj8ojH z?j1L6AWhD)J?mYau4h+17CAF20^_<9XE^J%?*$mMtO0knjTbJ1@bCiLrdI{Tf32SMcj0oQ<)h%o8(53_6WDy$goC_F!xagayN`RL`0!f zG=04pql~%a72EnnW`=2c?-`qu}s;gP#4h|nl%ci%DkCSNNG>T?0U=T z1|cbVt;3-IFan{t6{5-ZkwLH=b8fOVJFEn%3;YrU_YauWF)2@l1u0(4Tj>si*^?yE zlsr?H-6*xidbNi+U(342nhN+2O%#BmiB*h+bsu4t{WzY8(VYewu;$m!@e#EXdi-rt zqv4?O&;>)`UaWrU{OV%ihSdV-0hKSHQ2zkZf`<+4#KsGYoFImu& zu()}fp7~PyY&yhc#mnd-!17s#w%s3mkwKGZ&0fyCercYibKB}gy&jLf+UhW;TFmlP zX2fyraL2WkTX2bJLb@Jm%hrg%g|yL2ITJeu5?7bWWo_jxsw^r)W+`i==&J~i!836mHF)n(ZGq0 z5jqvQQ&d>p!8b_+d5RqL_JA{HdJ{GPNka&x0^fbhxZR0GTmz*lH4|&FD z;GhHB4rym?LOMfPL*f>WZlZQp~4!tKo(+?`WZL91)vQU zV-gkk;Q%ye?2hs*XFPdHpa`>*C^E1BIT7uv5GfQrJLNOt>IoGA^No!baPljSQMmE^dCQI$-b&Y>2(^ z7+&-3YEcQ*S=?c8+P{c%v?pQESGsyHL6G}N4F*la`u{J`RrpKfxdNDiwEs6!uisp5lL zuXm|LE<>ziEiB*qp*r7YTtgGK3Q|`o@5U8;iMiI?aaO+tu|?w~p;i9QBTB0f*}2)> zyq4K`QQcRqF8XqKCLCAE=VIuLQwJbHn&(b-&bCdENy!4rOi2z&RByX;wTOjp6$mNdd3ls2&)Eho4}z+pA7CVrldNffKhxX(sC0YITU{f8Dek5 zJCv^84mz$ZT3~qGWX1Yu{SxIXbFOtLSG6+yk#!OU8AKJE2Dtn{qW%PH?fqi)Os#ba z^A0UlCZTzCzvE}Db{P^ywB%`|mWM)3<_>5<7~(HLl5{()2lyIrLqsU5R2EpNJDzfT z_>v9aqonx`dY!XMZGy0WbX&}13$#sZL_j*+0l-a(&JtNcYa}whDxJk1)9t1WGlhG&e|@)AS74-&o}Jl-(%|GHhhMpvY)*bmO~SJ)bvN z+Zi&rkP6cZ&ynNd2)Ch>8K2wR+;hD{PGo)(s1yR0QNU$E<Z#*C2ysGBzO`a<4U?vmhU(8C{j#3S1AslbnI+YIsf{N%>jV zmBBhD%bl}=_VW8j?9x;O!rA~(r3j9G7OS>9F$_2#tDS4Yai_|w244YeYjFxq+w^x} zNzKX&vQB|(DowFe_hc)Lao;;s2JYF_l0JATln)tn5umt`WUlE*$O`4X(!B=f+z!?`@}=c$3DNnbkK?pF z5(wl*lMS%`L<^~$C_r1~u zhQl3rKW?;83Y=1gqs5ZXfcF&mYoP3mMyjtmi~De`(ZjO@DDy`2M?2W~z-M`LPMnc{|9+aLVq8UEEgy*FVnf=FZ`iZ8o9Ny-mhcwsB@JJ^u8frs6E{tiF) zt~&If8*_d;T?4fVzi|{60ui;?qA^+%)R6YyJ~%$zr0A z=(o)X`>ck`U-#*aYF+eAOuSZ%R8D9w_y+D-Ivj}zMTl>z_|qiwiztN!U4e{6>&)HtOPbDs&#$VV12p^}zZX3RkO!LwByDR+R9y7kkjg!`0PSXl-3 z@@h=gtb0|Wh~|Q-dHO1~EF$xihsS&-g;s^zpXVAxZ!#TVeKyJ;sPC868T&8hJ!g!t zBH77}9lT{*MAU^pi86XFMUp#j&zT>`vJgWguwyd_(jLn_^D3@Z*gTiKClHy{#+)h3 zkd_$Is60(-*kn>pCZzwQwISa35Tq|gxCfJ<@$Kj^6g~uaL;y41!H?^LUn5ape5gth zwa>8{Xu3*=(tL-y7d(Kd+n4UkTaGJ+bhs2yZJ=i(z_S4{&O&T;BI0HaLZZvf5=bGF z>6XS;s``w5+2*>3By%M`jlds^hmIa;zRv)(b#vqn9kH0_YoTk94_VE+YSR0Hm0Rr1 z*85hARa)SQleSqshOj2d0Oi;FTL^^HhvsPZOT|oC0zThQhCQ-W=a$hw&0tAr(I`3~ zU@e&bu%2LDzHBzA10rdMc=hx4H%B9WO6qCC@V+>W=HWgHPp|w3IpTB`LfK+2j!S*E z?-v0pD;@N_EC4Y)lk_=J6%B5nXr{jJ0lHD(aVHX|Ummi`^%2eaAL)V~kkLf>9zy)h zM5k)8B8M+9ztv^Pg^LTy)fC!6Gz#leqeNt${^lqv91L2mo2j%wzWLxC(uj z4f?^Z=dQf;*Ihdolq>-_2BZf3wO7nYU=+JM=d9k|u?!xKbnFqrIrri8wn)()Zk6!) zUYTnp+~F41h@?Vir$+eTxYyr6A%bH9bSZ^Q1Lg_ImnK)MP)%-s6jEBU#UaEm1+(b( zVS+} z>!wQnY!gt%vtZ!vq1NTtsP&>1b6|@$H&>&aEUSawmmJ?V9lFe`I5J~etF65w>zp*7 zo?(REMwU8k&yDMyPx+H^_Gc$`#rHH^cT5WrEtDX!n!#?B5`?VGjgv zIKmQ7x_>cq(|>emo|I3>RmEn{3*~FXhOS%08+~$ky!c32Gkha7U(j?QhOi|q zdL!$+6h+?2@h83JyNA#q{}26fSMX?6+vX*_3gydpY-WHt7J(=LuSt zzCc66ai9#iihy_1RMWwNA&CN=-;bBR=zTi!)5nKLmYkpD?fdaYBxqk#&&R;_6m8=( z>MsOF+^d(L>ld-vCx~snlyjbZ_*d9<@2A;dlp^1P}6Ju ze4QI^(zN|HOl~WW?sOJhVbN0d&$a7MjQ)uKsYG#soELQMe(2=?zAlL;X%2ZFnJNK|D!ksSTiW(1?E8dnko{G*4eqh zBQ#=mxCnOa&d1opT-|C=14p>~$~Lj*uT0^pz-LNI8OBAu*h9>GA!_T%-y^xZ#4EHhJY~xERf)%g zOp0f_9OsLCQ^Y6?wBHC`obZ{Zlk25ib5xeGY>yv>*M1H0n?e@!wRhb^q z_reYyYqa$>5modlR5Z9Yo_?U9dhwQ(=-TtJ1JoR#nvVPEcflxT5EK;Do`N0^hWPK| zWS62b5HWG@>AGVu{d#*dxb__9r7l8MRaIMewzU@2tk?3%meqart`I>oPkOBt(yAbr z^uwDmHK$UU11Zdd$e-vrUqZx7V7 zyEoL@Fbuq;d^Fy0AE>dLf7oVhRqMK%m@ug3UBaAJ{Uku}s#Kw_##G=y6NkB|#V`)_ zv4*o6GJNq?aR9g=v~kp2H%E|;+$PDiq>T6_g*ayXDDXhCt<0#I?$=tBhOx)U>iuGG zRa7;i^MPjPX7urxHiekBBb=?z6QRlBd%qTai`&qNB+vB5e5;`R=f4=>shQ5%zqRg7 zqrg(~5&Izbf=;POP@=3=Q}zXXmErvHc`$HI%uPQ^`*DWp9prv>Dzz=+E{Fzox8o7> zDgLb8Y*o<$2($qQ7vRhtLpQ@zbnbN4y>WIgzoNEX-N?cgEBzumKl-Q_uPydSZziG* zi9iXVisEhj`=gx}Mc?YwOHgDR^i-hYMz85hzw%HNyc9ip=a!+o*Sq&=!f+w3oN8dA zAa-rjyp{6kSRAhg$E5O8X@95BxPiyPd5!m}d*nsW2%dQsz30r!1ni5q6;f<40$+<@ zl|K=Xx{>hAmp^$+>- z<>w_5#${00L#%N52X1OnIFjyCj#2r_!=w%sTl5J}gDaxqQ=ZbLX~Y;0*$|p&yKeTvo;%A`!(ZKNA&uL>ucb+4e%RYUzkkPDI^J)%q<6G0&xixU2hs5x_vhlFP>XRQQqt-G1lW-R}4<$70 zcXm96t<%Ejh5@&?=np+9+bEEw;_%u;9(&a#oX2o7jP4VvoxMg#KWrI$9Io?)IHx^e zD>q7aq8K)OURJ>AO%u(I+LIYmqe>&;D8q-fpc`OVOz*lCg*LNrnLqP0r>5XXsZE7n z%uObh`J!l(MgWQh@gj2Z-o?)Pnl}Pmt`q)X)N)X=slMYfG3R0Spn3BiKMP}J;sPB) z)2h^YiUdN{Q_cI>`o}SE*Ow!4=6AbWU-)1RzEPYnxya8M5{K$Hpq_CHhkNzX)_V^j zdCZLP+x!g&Ru5DJZI{N|t$Mi+O5KkR9iiRP9>6&V#loSm$2VS|Ew9ubDrUEVYe57BDORMz1K~fa;~iPlPru^0Ghp>i*YHtmyf*!+Y4>N7K!&vxP9$ zZVWePpcIUH|FCBso=@L?6>BEw0=&NBD>rD=dT zB}Y)_<)AC$_hT#SQTv-TyA1xbs$+ZvxUJ@6vJ%(RIrYX5*1RoNV>77)3GbRN$V+#V z$B>yCb)Vd@CE(ap9JQ<#*Y(fC>s|-7h6Nix>f8? zft~HTK>aLX&Lxh!<*e!4jdZ`TlHk=AZ>>JLx3|5^;Cs%V_V0Mp&xBhU8_r-X7Zj@9 ze0^LlQi$W5v93(Tu(;xk>jMCzF(x_qQb^KiMQ_mCyUbFAqiT;QkGs+msznxA)yzT} z`?r?9UWDok7SAr`@h^>{>D7Ge!Lr zeD?;7qXa6j%`ehB$iVf~;mS4npG!<~smpJ%$G>gyC~$5Smvm-CU>sw$sYJy*18>@~ zxM&*h5XF@vt)Xa|B`-ud`@JiMYrg;f^abt#c;z8L7H7)XtsE|!$lHlI3%3Jsl6+*4 z*}WwE1u#2C^RC~g<@C?KjwNk<9&3#ke&uBcs%bXIN(_KO^@%lkSyAd1QFXFD@I19Q!kcE)IjCV?mPxRTocxZGE5c0@gTUzvz`|V?r`CfH=%A`;ToqKTr_T> zF-%6O*CM4FDia%c^WZ-E6^?( z4ExXqLvP-`uX^3~9qXlThwD|crsqZw5%z~E@0DtI-e?@+?oRZq0Bd`lQcPKESEzyDcr4$j*E)$Es>e%3Vfo*MnwY-Ori+^vJvOQE^MZ z8}!!aG=Z1CCU)|+w(5&J>eWFUzl0KyEm%pEs`vJ8-dIa7z<#1g0}s0R9S!9z6n5z% zoXqTA*IPfy{sG<*B6(SV9k{G^zF4_zT>V~Y!al`1=MDLad7NEYjG|)#GOhbF;jWVl z0oT!ej?oZ-BNVDdJ% ze{wg7ux@q|scX>OJ@uv*zLBBMS^j=E8_ zGxuUkO!aGEY)wEv#TgHITa}GR6Wdk~XEq*yeOuC8&WJ#l$ucFtpSE1~OtvqD zeA6_ZHt!A)1ZR!tS}Xyw=me=9ui71cBH%1c=dQ_PfAND)b{U)q@5~H_>iJ;fOjsRV zOX}+jPCXtQygwD1j-ArvCO&R|xZn+6e<6Yph+2i60P#OlPrrkq#$Ohc;c*2c$PFJr z3Dd%9wSgIv+Fhq>U(qnXIoIjoXu3-`%H7}6^W-OjG#T z%+oqT(a@h@;0}fOLwa7oXTt95LfwbaclunE4>=|}bb1Ti4wvD|S>}E6=-pot0 zpBi$2Lt-L{`oa0(l)WNjM?HA!lQ-;SS_~`Ml(|mY&V5}cp{B@d8CzE@PP}Y_jYT8GMyXL_wQZxbj-8x z%3u$B*q1GZ6(JCx$1?0^#&W`Rg-0nj33^+tyK2?alzd58H^)7;aBA9d^?f-s+;Q>l zD$|EjmV;(>+{TVK;MNIC?@{_Wm&&J-^;BU}uFKlfw~JAw>yS?XYz|)9ww($$5KV0% z)jqT1BpQ3+@D{u!{Tai+UCc-386mJVbM?@DpX57k@+h)R>X46Ir}$5YTMp!|`IJ?S zRl)U(v+Fu3KeJzWH>KGr#Ovd4p4lcf4fomE)Q9y|U@X@!uYCg_DfUJcT+#KIAyh$i zgwwx66|nH-wsT2Xz}`>)uuOHHWxm}Y9kb4T!X>aqSUPAn=hw7R*+4Q*q@;j zW>bUEN@5%-0moog6%eIB0U6tv@xUo^wry)>?N+PcmthM&NJh=Aw%yJwHD zJGFdu0yNJYwy23NF{a6#xnQ*Xel-Zn1Q^!GwgtW|dOBHg0K-11!c@WaZd=0l(V0&A zk^KGVHlFK=8bbGlnY_}KnI7v_DSd0X{w$%t0zRYTaHdS=RZ;_YxgHzmjx2x=?=qQ^ z7lCb2b>_fJdGN!<(jN*NcRezg{vEhANzvWJ&-v{j^jXGHA-4HPRBgZMaWeTX#ES=p z&|3mBL+Z_7SgmD6%Y_HGqJBCP>aKVJq~jsaBM%1oLSse*>ASt)N~(G}=egIc28E;x z?j5=j9v8w=y5002rt!_UUV0W(_Hp4;?e<|)En{D;zYv~Ju**~49- z2Y~^qIy5L-of9&V-PIA$6(sHH7enGWaPRhmmdv#Mjy5V3=eE5W$JQB!P>#|kF7cM2aXV;9~!^@D39Cv^(qxw;fS~UxSLX$<6;TloXpA!p=x$74qZEikcsgRqwtL6 zjsVR5B!Cp`phc8{AC+D~*1d7Nr}h(3Cnoh&oZ&jUlgM^(Rct#5S4?MK_SDE9F+KOR zSA*;X7xW1SEuJ1C;o$}H}UwI`d9Ua zXO3B#LHtKwl4q*}P>C&cNd8n!?mKy2I5iL7F~_tmRNK$jbxjSA#_6i(e;8vcy67&wJ`WPF>QzWTBVic~Pqs5r-Ytbi ziCjlS&Xfh$8VisvglQ_}*P$1%tZBX#o-WG3^C!BE;d*yi@U8EX+Ogrg^RE*SF-7t1 z<4vcsw+hN~wi_#t!2}q(y+W?P=;v05aga6oq^F(q&PU+~3ZgUF)7rN>uPfoZ`wLQw z45FV5)Tr0V&Jjgi|M1*6h&}4lsp>Xl4#*bPdA2RH-AGX(jlIECq2p3F6-P_=rK*jT z-LBDSeuYnwD4dxczq0aUfZeZ&y44~JieBQ@D+1*EW*gmQ9`Y49Z}s$4m;$_^88C*7 z2jAB#CJCT(*|{W6y*fYAE9{D&P%_)sebBTG1UcO5o;){~W>~}~x zS3k{rxp>&Z|;O7w-J2n)KM30mDT*ZW}6kQGPpM!@)-+bw) zehA#Q&0=tVtXXlCr%dBu6qd`Vb97Dhw@?g4ia0uvYZ{E+(oAD8jrz68v2@?0!uY)E z5fR!Df*H-LV@(*rDT9+o&Z|nxjqlp0<6UeJQ_y3b){8&C>#v-vsV_sSj&s%2)B*!s z@WOKCVuHm{6*WaV@TFzCD%do+;W9*!oxBVl2_S{gm+VC4p}t6uv5?a)t*CqthD1B0 zLYFC2Dr>BL2@gw9bKG;;vyqbeo)|rX1x`RO$(*|`7>7U3%Haix#g=v!fa!m_O$kr? zm^qS+XYU5h}xiMLJ@tUJu+RY>ui3Y zh@g7kuz|o6m=ptB8bs&$>apL5v5dsvbvl+8CAfJrMEBA>qvl1a z7>hXSX@_#CaZ*;Jxe*=~n3$)iXX%}kZ-U#$5-QXI6H@r(-BP5<`EpWL-h&oji*Fx( z;M!oDm8USvkJUMRXjOS=w5NAIr%)gAU3!s6CDzczWMIqZMmWT#j3tVcj;Qy_q*}; z5$Mwm$oO?&yGx3h^-5$6RKX@wmNy?yQTVA3cnBjmzt)mwKeaub4-TZTfluLq%nGF1 zYINFmV5P*4P97+EPeZSqq`VMWw1DJ^hh&Aw&mX_p+*al8d=%-RcaNO=ZN}51&zX?z zqaDzQXa4IK2-Rkih=h`pY44`e#mGfR=i^JlztQvgkr`yF77a$~-R5kp5d^1df8sR4 zy7t~14Q0nZ6=!#OO0wL9QBptC=HwuKzOww=t|Wwn10p*AKw>D!Mn|hBJq~#1k%LPo zs@m&6lB_1a%`l^F6V&(+%5Kn-E84+#vX@$2#a8x1QJBBSFv~PP+Bu5k6Q2%ap)`9z zZM9e8{_yo=oCJ-%7{yyXRW?`(ip?%%f8!*BMooKdEEDRzii)ZhSrwKCGSXdtpbNmy z7!1U*O$TGC0FP|b0v?HPhe|vl!}eIJicOsfneo&?kFCct5lgK5m3j3P*xi3w;Ie}E z_wN=s&(pNoiC;V~vx^DCEIp)aEm}m8bkl>DVz8<7T%uugh}ygc1RnBd;8a#OW{8B= z{Goy92x8UK@74Z|5{kiCI^QjbzEXB5#nX-!gNaNs7H;IyH(yuRai=X%2#Rt+7SMSU zLYBIw7Ao;h=VCtu$nnVD);zf_vJi=T4jtO7qZ3}KE8%18s5M8wHM<+_K7AC4QYav~ z-AEdkDKmPaBBh&`+QoD(!<(5tsF3XbW~gSE^AOXNz9&AuAfvdsXpNslN0BP$^P`wD z7x@IK!k(oc1Xx@y=MA1%iR!{Ghd;KE{@+7IfrP4x)>f_GCc^YsLq+vc$x~5Q1QN1Y zA{c&|IxFU#WUFUe2pRtNz7|`*A>yiQ?d3=H(S}BWBZqbTG&%42Nmp-V{`dKtxcKp@2&7v0Mp2gg%7#)g2hd@!x7Y%ew*RaE&u zVZm;j9`;x@A@7(SOs&=E120qU&h7F)L6n|FVoB8om&Xs8Aesun?+eQ(^$ru~+l@xf zZ}S~BZH^At!0Wu=;Wj-35k+Q89vn2z%I7W0g|#)k(>sAF>(zY~J}dNn8u7Hu&sdd@ zIA5LmS@8D;qDzWZ&#;TLg69)#Z&&ucCsvZOFc=#-o-pYuEfbtWqnfWA(=nFtWnUup z>RtaZbMDAvP95>VO&Rrz3u!=wl&m1%+=BEO{?0eZ%DN=3fR(*SveUEG`3;3~UFVw% zTdmauryqru`jcM9eBSDona}e|=*#ym&^$hdZpU*ELgrGXjJ}~VXT`uyH=%31h^eG` zCR~`$uq(F9&%Ose;?a&siTc{4=0%AZi?B$nLuNaFA@>Qh67KLBA1zc(ONcx0>d#EpEV=HN2;H1e9@k<_(K_npopmv}%kZY856UIG zlMU4jaUPnO_YWxnD+ZCHMF@WRe&cuK!QZU5tKWIcYQzxrjg2K$l3}^`7@LdD1`)*$ z_|>{A0&@Iv|7ErDsfeDiEnIDSE#PlLxx+iP-YDD zJ*OJt6IRzaAvaJ4nB{|-X%n}QL?UW={K zuyu7Z_p*;}W0pTTiFsk8!cjQ`x$5h>ZsD8hw5|57Mn(}uQKL@0v4QX`yLj47LkDbL zqb_dFVV;E^)%bD}RW?~(;XC`6`C23t7QK3!9b)%XhE(g#U7s~d+V=)&vi!EVw0Ob5 z;z|IEtNJ_-zxS}4QLy{9#EV%jEcQY=$=(-K5F!Q>95>+GrOaLsTkTm&OO0xPONEq_ zew4os%lhSI2hx)P`&RWSub1xyt7-@rRalljILT|weLj;iP?M*)o0^^dA%MYFCHiWc z?$`-aBb|A$>FivhWps!V;Q8Y)8dHM$b&n<_bd^N2+%>zzFQ2+FRA`KVhG@%D#zF&k zzFgb}ap!OABam2Pf9BnZ2%LBdS!5VNW<_8y#Hs4}ym=HkSwBK&rJz|lIweO&rh^v> z&9Dtme+*+pIWgNf=ebT6a?QdT9E$)ZPi`3i51N9G3`UiG(NbDvIeeUUO;6vXIwiEK zDfqFME;r??07hcLG+mE{wuFixt=Nt8BM%uQ`XSsYnvVyvnXw@JcNiargGmzfu6vR) zp74rNrj}=9|K?|zoX^lP)-F%}jh`Vb;xmqQ%OcqfarfC6URuojw|vxRg5)Cu7+(g- z$9%9jH2vAoWstFjk9ERJ2qg54YkW(o=XOSa-TG|eqvCh9 zO?F%hS?vmCr{yF*$_&||=Tz21KJk5}x11MEODp>~=P?JNBTxYPkm-w$&QH&K+0EGM z67`*hu19Jn3PK**5b{9!BUoEN9vpxBA$@vCuqy~vB21_fEYJRtk{pKl-%Btjfas!7+x*Y!Hw}o5q6hA4LQ=Vlsw9r5D@PMo|CzD4@Ol7`tul7!0 zxOP;kd4^p+eUD1~@6cs843`n<;-8YmPLvg(_d+2`_qijT?%2LKrD1H?mofWO3BMG# zT#gjp#W=#Z})Uj3S@ox317`YB^xDEZX)yX1o}k=e zN9LV{vIsQL&aH?Oz0faX@dnC;Y)854_~$Y_3F)13^~tLgbZ>v_i$$VKz|YK7h$t!p zfc&;bWFd`?YKy@6{7~1DfCsaS?}Ee&_@9~NuOPvzNw-F>7Rw~e6jZCX9*zxSlFbxA z8tRA@upHv0UDMIm*UM%fmV$0@wR-3d-kZ{DJRRP9&)<(-UpyVzkOX_@G#R;EH8-_^Qa#*Q%0JMAw=tXa5@(Y5*2Sj=_0qKx!0) z6LW#oq=u%p;x!?NZTHf}bCHmy>8Yv|22!jN1o66@zxTwvbs>NA$A5Jp3gVF^GU|tq zAugn#6)G`d;CKC*|AbXl=5P?Vt#mIq#=y-!Y3+Os-#vG_6mD%mLS5S`(jc*C!~Y## zjfFRb>PnSC#=DmORnJl+`o4HG{bMh31L>mJnq)+rnlv#}b-_bZpy<)b1rT@F=~{JS zvMP%k6Fpc#OREa}$D4M-#;Y0ruzrYj7QFMLqW@`~M=T=ofpu0ZpmUGB%|e_uq~@o% zz1F*;w+;`Kj|CLqc^%1fc-Or*7coq!tf6~@vz7@lFbLcghWn|NmbBp!MV8wR^?O&}^qW~~S!D69r`=wcuihbm&oXoLrCudQJceEn`bmJg_iQX5YZ6tJYvvi6-RfLP|1BF%IlML z_^Y+DdrzugcQIM2VV{uu*UH?iva;Z%kq%*8REm`*uC1#K^|E_6;*#18S9&d{79}JHw{|wT(`d3+3?|pI07*bIE9x-6Ke^;&z zJw~kq5wzge)RwZ(r_MR(1kLLnoB<6&HgmSpKC(6ZO-SsoY87r)-?C1)(qcbBHbEjl zii-kc`^+U+hV9wkmZTO~60+$Xom@Q7b>Ws= z0@ds;(ZBjWn*O^E)Q5l3b$dE1IrY-mDJh`qv=0nBpZZPYT?K?U!qQa&U?i9GSPWUH zC5R7jj+QWNN#3)}xa!w5FWpmN(82D(|SGiFpCwQHHxp>w&N~)gue7 z#V@sg_qHM|YP%v;m5obP5}G8?AC1W1@%h33nTQK);B@q8()GHZsov9d9DGb~tq$X; zkypy_9{7DP?V88NtStCx%;ANQw$kMvsJ7MLf$&GjEq}272Y-O>+(AB;4DO>|t4UBD z0vY`OOL&yvT1g8I0(}bPzH<>Jsq{0m!uXX3h9?ZI``;M{j|Mpp#cI?M2T~$StH&R= zGQ^C)Lg?cHLLaR>#@+3Nw%t&QOSF`kjUl&lJ9AxZT^A^px!X z06}AGNx%R3<7Z~#ZRhB@Hit13@-2VNHp>FHVDUj5#?d7Yd)lg;ko=vF&Gq9^YkLag zm8z^eOsM~biC)#wl3PqXkc40&Gk`%nCAJ#EcC2oYri?m`y^sh;V`07=uu1CzW_t)BeNI)VCg*)(`$iv*T^a z^;|n0e5tGYPvru_zpGq;A`po_0zUbZI_ zm{|zqr2sOfwny`B!8;kKm9+uSi%%o5h=U}oy-mXH|1-f`S3zN$m_<-7lmRCBztVUH zg7Z@*jT{^V@|5zwl1{i#DG`h>+G_m6+exiLxTAxHzA4HU5C1&2Mgwsd&wyQ>iR2x1 zXzwiKY9#QZs#^A4_3k4_kzSO9pkM*e@c4IVXp11=D=Os#g7%jgD6j5G{V%1hzr;Tp z_(ZU~N8-gIq_hRD`2{7!HD5tt2kMiQ5W-AEmhg z1)I4~ANG^r&l=QJM{zJK1~@rI1;Fy#N9NvIe%)Jd_w&}<{ca=t?d?Ko|95ZKd)r~k zHu4u8OT6tc*@F&K^~hr`;O#(%=}-sa?My*!`x4B}A^6!pfGZ*f0i~!cKtXRz4R1@* zRlKv7HN{*qYldA|*alvEHlO5tN_}IKri{xt71FiwDgf238I@BOss7)^%bodW$axh> zov+mXT1ulPQHJ7Q8q&AN9sg$j_3nC2zqK54rUU6Ur2s8w0gs}hdBjx3T0zb>?&!oz z8+0R;779S@w2%f_a93`rSVn6LzJfM-g?r)u1pkv!u4TYouc+|H;|^V`&TNM_bBRJCSSO_M`tY)vGk_ zgAh~Aat($3yDx?gZd-u%qd90lN~}fXJC=8w~Rh3VCq#9xT-dfC8TDpe$@AWhQ>WiQb7D9Dflz!>0rv<_L{>Kaq? zVhYn2kcR(05n4HQrqXwSjK)F>z#^lO5P@lRsr;w!@#ELRe6xvcjj=0qYXi1Z!=#1YYP^&DNVH?BlJ@9A#lGmwoj2g3`yjIkmSZm-Re&f5H$#f)UVP_*9 zgJ(b9z>rFNCXDfwrp(^TE}}h->d-w-QjVj%jhm3Nzq6p(4hE`Cnd57lM{X1quDncG zHecX-|C8ghgRI%9lcRRIHfs%W$D5 zvC7ychkCK7(#VXfw5kTZji*gj7KOrCetw@T>Lcgt&&i0%gGimk&s0bSnj%cMKl6>x@-AGW zP_(}%&~K`3dG0oVcrmZnw6I};(2v@Wk5suz4Bn=XQ4J~yNH(&}JFb&D`CM=oYsvm& zBXEu188#DF-ugA_Yf7X@AB{c8Rvf@1?yRsEuIx4{Cg6JbI+UD-bbH*TSqj#WUa}{Ukzyg6h`(;D4f)Nf(8QD{m3jX8zg@c6-zQTDKi}Vd@0K zn97iY9@E#)GLT@&6xGw5QFLAELfU6q%ZX6JPSVOdXupAC$=&tDC$ET*kC(xYrU`Xn zX^)eo^r<=;D}zn^O`>H6LyMSBBtDOkJJSM>uwn!ihZw@=93Br7n*dZe`RhQ14&-pN z$7;eExjaRuoiu!wWLdoKpH0S)(#Mpmb#-ShX`rA8Bpdus;^%sFIHSrok-d`zQVrR1 zXkmU`3|IP+m4WT=K5;~3@-moGj7agDj!?TIrNZizwCg_F9N_aR&t3T5Ml#Kwc+Dfb zO)uK@MA=|e9jvM;%-0+M0rsDF5P)FRH1AMKiQk^Kg-s`tmnX+van6rg0s|kis(Rd| z0)MP(Ffp5dWc%ZypIr=mmQ;|4#Z<%7#;?62a!~;5<(SJuwOB*l_k}PU_ z9bNydr6LQL6}kqm$in?J;uQit6C|Jyo)hT?z$O}aofwnJxL!_OS4J)iFm^1c2ZG4e) zJR@GxY9`otN%yO8UsoH$l08{%!@Ya4?7le<$0RW#s3?u1E&s#-1_c_MJf?55r5JZ^ z9SC!ag_5}JG=XG2vx;ex5nmo~Sm>D|7F4+Nex9cuo6!Sj9?Q;@z8JUPQ&DAs3- z=b}zR1f}$n6VzKmv$Kp&xcXn&RCAEFFeka2nIx8^G0tau$*Iyb7SrFvu6`e#SA~XJ zlKgO7q-5e- zc^}&ZQ`*XYl=m5VCl^h_X2;NEcni$Fr_Lnwe*shA>d)jM7Nh=8TsjFSNfe42~HvsE{J@=^6W6&n_b)SmX$MkYw=- zT1|DR!ymf8wU?x3+uOXQ_Rql^eq3sjQDySu{`GgvZdoV-n7!;zW(NvnNmwA;W!lgR znBCsT){sBthqCs|?ci8;@87%3CSlm(e`4^9mp%d;rXzd+Bs&JhBeo})zO|O(?zwd@ z2A;IpAW^^Y4(v{zH=^4VI2Rvg3C;b|^zM7EXOSBq&EOJP?Y}cd;4@gth%Zf?8fbZ; z@&&K@mcXDXA{T_*LLZT$r66&3tkP`RysEB}YvwQr4=Mh^L#sr{0FE-8Rhi?bv}9Gz z#-yo&BO#l4h!Pk&)X_7yn{B1Je*#g>+aM{ieB17V+*N-44b!z&AkooAMM_2DFg(*a zR(#3bxHIUOyfezzX*{P-NJHy)()2tuqtEt#r17)sKHzn79#Yha1oCYRXA)am9Kh?= zsU=GA&Pdzo^Ei3?`JrY%YL(;Up4cjw_r}_5@4W}SPSAaeMpxtB)YdP*10=5k{CQmO z13qSQi#h-3^E`keppfD)io2Xf^Vp@iJggz+>Z2YFXd-qNo@PvuBMsxzSA25~JH_V) zPdrCsX>ia*!A)QYA7o4+TR>#ddmE0QIrS?VAzH}RM$8E!&m*=I3?39FhEfoo-s2#4 zh21D+FCdJ*hp&4JvABRR_STo3>H=X@04!W8)ViH={ARAi82zt@Y!Un?e6d;AZ#?L?(RdzoCC_dXEWyAfqK-T366A4I+3Q6ubm@B}|WGGHq-`^m0GNxN*9yQ~9B<5s5x!2lynkyh)HVVbZ;88`MgT~SAdnhWj=?z}p4 z?hpGUtre&-@fla&^G>}d$x(-4w?%#IV2<)b(t+840gh0ezOtCrKb5NLUKIxH`|mHiefogVoq_r7nC>vlzj!EY@NmQp;*f0!+K&^ zsJ57k+db9-d%S5fXuMi-ct3PH;&{sUKsL9||KzaVN3H^H%9rPyfF7Mz1lY*{{pzOa z%6-zq{wBV~ywi-%9GMsdTBc)SOP{N}B2-NTB$2V;O}mt}UfF|;31kbyz_sRg0bqCO zGSpDV`bJJddC)jdA3;(iwFF|vZ^>|=JT zwkI-dzB!5`5Y?mD{b%`f1-iq;!q8L>LUM{2Tz}HfiurISAzanAWKpPD9+IrWUn?B> z3_tf?{c?w^OKIN^o)*=e6Rlr^lEbn>{vEL-A0SOId1kt{@f`Blp7{lI? z_}0Z_psE`dRSj)6|05gYz`iCjqy(;eDA zNgG6(jHLreSuB;Bsq<7GydZ^t)pfpeNEA^Jx?5yMl8>p*_M6qrG zXE*R20FFEUw*I>VocAvPxMf{@Enk;8ls^1P=c>vF7(F0u3(DLh1jLD-9H++MYcVx1 z-V@zWB$aj>>0Q@Lk;Btazq02R%^U8bC0R*Q&vkc*m_H4V=g}jwsIQtYnYTNZqkZsc z=S#JbJH;rUJ8g@B2Q&&$-a5O8Hfl3g{9Fu33D7Q}O#OXL0HVF}?3DkxyrSiQ)KmOosbRfbz)7<5o_k=(Arvk~!%?GGRLq zb`txy6|^i811nhJ=wTP}J&r2%d`v=~?bg5acd>tOK?M~`=xubGPSq6;F#6DsZB?|7 za3QIYo%)WWO1~IRF8E89NbG)Y(r_zj4ry)Zm8cV?8UKJ;|B9?Zr!AM{9{XQ_gz&Py*t;2xD1_2gK{RbX zxf5ubBMs0rEB_-N*~G{fte*lR}RL6pg}T_o@z^R@Ih;jTBW}^eWNK;Ny{O_d^vg z&SMxJ+$Hy@1zi6KDuLH;AX0Y!QY-^V86sf_4)$(*F)V&3yF!LPvtNFwEvmCJC_`WB zNN!f!N4D$%CT4z(QkHaVreUcj(-HW3ab7MTHNiv(FvwrC-!LruwB;fT}o2hQ* zJ0xqoiM~~b+r?6q52xE0{d+S%a*vD4v%PO~&!Cj;W?$BZ0;}}}5C)x{MP!#?f{}=J zz0@lHU@X^$3c(ml^S#dXCY&#y?hkujb=~)R&QVk1q{1ziCpmqar-~a~O;sg@ z;#f|bm{Z)%oMs2otmk}vPutjBT}Xl z)e~01WRL?q*T=XWs-)U(?@G!;MIAygpLY^BFP5I-5q&D?*Fg{2Ud_0;?ixz(OZFpF z;LMM@HyDR=$U2L>Wf-X1Tn&RK@1@35N>DhGw}atKX8VKMi9r8r?N~0-4kRSOE~r?l zRPJ$r{P%5;o($DH@I4|F)Q3(;@5s(JqD`k5DhALSxrjc5-iT)b?jL*GbLXGYQXn(A zjL&dUy2==f+}J;`YaU*EU`weKnm+mKHX_Od=1`g@Yh9vHHbwoOVKb)USC14@&tLjUSL$=B9|+jEez#G^Jhbq|3{v3I)}s zLDYKl?FDSO_b)p9YTGBK$s&pQuB!d1>l;l{2kzVOPoJu+H2WCC z2{5NktKY5|`R>2080rq@*MHeWofTj{Oyj;&VjA0_F!J z?}v^Q<>kExkncV*UW@)rdK;I3)r-}cP|uH`;>mVB7Qmr)AXa&j^RnU@q=R+#QhGgF zEIt>kTkrAX=&W#kB?Q*=trRSri7ho@TH zam1VLH^a5=@wZZ-Tz5L>JiTh1Sr2KwcCJRn0Byei{q6>Q!dT!R7c~wZ=JR_ z-h^It5c^t!3Y(DtojadKTsp5#Kxcb>Ufb%WM^A0yjQCsF^-hJ4GCl`Ov7?lsPvxiU z`C>OY>M_$a)3Z^{!kX6Y1`N$u8)YODI-HL!E&~Y>?!GF6(zCe107wBlGs( z5a(x~X;birKpd3>v~FbGKf|bo-$6Xx+zkrqOludVjQXed8{4l6L|*`g(1+xs?}zh; zp@3=9zkm^gHag-d5>v3WAa!@cTi(8~#GBzBzDHTVC4Y|DOmFRp`5MCs{swo&+o*c^*%-Rdk`RirERrDnN?YaV;X43LG3ex2 z@;8bU0*-co5E8#_^*?EESx-Q5C)Djzf+s^<+!v5qjYZOw^PpR~`xdgeTB4i^fc5OJgvzHXI$r`l$j zL;V{f=BO%gWy&DuXurKMlgP%fsBLKTni(OQZEUcB(W<&cd}y0NTYzzhl?MvSi|_p2 zWZVXk7KfRuRxlkJKu9lIqMf045K3A1iRjxbQpB{n1}aBI$#9;~`Jof%YbgeLC&!Qh zV->T*e%v2=TvV7vxv(2~F}APzd%;2k6uR6kg7VRQUJQ;?ES`r<)?1q+_gs*6(gk3R z(WEivbhmOrm9x?`6uTO?$d?ARwR_CQu(@h4#7Wep+o>KcCeXgd>uPYX!q?Zs#;}uU z>S4K0FopH}TI$X>zxdj+yqzibmI~tVC-+ESzB<4br9q8g&d2Z0|E}f)<;^x~gJ#`e zfASd|2(0CeYOlW3^B(v9KBPwKBeD)SnP2=4u;zvjaxKWR6z>2#qumfl5V39#1?5Nm z?cOBv<-8Q9364+*Jz6Lor{d7P$^PYwoQYvIT9KJq3{>f9Y-il&xv{AeN9r_1HbvW;Pj49ix2&xv` zw{%oIvr(F9DO=vrtPic+rdB3MHrA>e3RU0SAi1yr<8|>hkrGhpL%wb0*{M1e-ao(q z`$0BCtAgMX2H6kD-=6dOV?TN_8-Y~nc!Bnj*s07%=0+08-^R2pUb&~SV}H$7t5`Q2 zi%IG&8ta3foJvhka*4$O4l^jiU>#9*eS{p;`#hAc<-XXU%^EFlNq-raEa>Q4`gpN% z`8lIRghYFg%FzzoSX$u}~h$U1L zsR?2%u|00E1PBmUKZs0O{38taKtiOnOJw*!9F7yV5?H1`;wZX{<9&@2VndZXJQNht zGS~pIQzftnLOi;gym+3l^gjt_#%)IhWK{z9AIPSsjz=ow)pwOd?K@wqu`5=vm)8mt zmW)om+A=3Alfbdo#Z%)cBd~otER>ZiD*igF_-NxvxJT-^f09B>#+bPwDw$kr*`E2I7$!5G#AxGoDy34lh-`{j(A|DOjnd81{8%4>;Q zZHtwC@l-s;^tELj8sUk3mKFC@?%a??aXMfFau5m2(zo^Z<E)s{Snl zRd8{>HtX~A1_gBg_{vGCS-)BSHM0)FJ6tj&*`2XvNoH)ZRb~29@D$?KW>^YchOT;0 zl8*fBCB;jse!>zCnR%m#AO%b=SNl_)`}@fqLPp7RYPng%D{wMa5Q|TZMsT%>vnKWH zqhJXuaG-fuFDQMOjPDum4C|fEHH0Lh%|I5^`U@mvh*201J4{MXS(1zyeyf-XWQ)AQ zJL|{IHHop8dT>heVCZ?9Y6<)M_l`jig9@AIuZyaUjw15aM{_0m)j4i{eyLZee7&C| zX>gI`|0=I3`*Ra4vA^#AK9~(5EnSvEdbuz<*SMh$A(!)ns!2=77mk=8JFLHk*7;ZY zNAiY4y_N5U+Y?GF&%o*(*llv6kqpM&q$TW%l($WL4J^Mu1k=ht0wD^6#VqY694w!a zX@z~1n19xXf)SzQpY`vgBq;yP#1i=7insCBOU5pnQF+9@(OF_V=1%nNx#!7QMgJ%f z5tVb6KS`7$Vw!^Dez=qq8xQMUWnZg#`IsJ!`RGkqQ1;}PYTV zo`n1+mJgw!7*5g;y4T^MmJ=)b-zk)GcxBxxBIrZU}C%IK7uN2b^8zABou~?WsXI3@Q*%Mpl+a;7j8(f zEk3n4y+&t)+62ZoT{j5DTK+HBWgW7^QAC)+M1?^AQ(*a*sf7c;^3|?K-2E-s;S5;b z!n`qVijew{V@lui_9{WN4%FY(U%48G zb4=WiuXV!?As5!F+-pl6kFO(InqAOyDWur&Nkk$TluMu*;+V1QENRQGUOp2|ib2C` z8y}0Q_=qfp#0gyaK=;F}=Uq!P-UOZZZBm?c4k*A^xQ}eJdZ%*xYzaD%AC1g*Fdu&uN6W5-K?L2o!JQOyd6k% zeW`pCx8OY01$FZA2IL;zG9s3Vn$@zGr9sAhuS{NWZ?%>Gdg;R?(p#&*@yQ)E4m;^b z`7b+*tABAHaNg4m`$HUx4YLvbAi56V=3wzu5N0v%nvp7ZJsiS25?rja?*TW5wBqY> zAHOc~b_AV5;fd^(UJ;~!od{A#5M0BA*}CQVA*~DS;zN53GE}$8Qj=2N-DsBc?~4*~ zS_&IY%!}0Rcpnl${^B(YSNQQ{ReSy>>_X*s6>V#va=*0;*)lxA>gdm?f?9RK*Sf6R z%Dr#>Ixhj0S%8_j!hO;YCzgA}3)oHuOpMPSf|5Tzc973fCiiyu)vv((#A^8)T(M3y z4+s^sjE$Qtn5LH(Qv37?5uq?qC(v)A^LRgbKqxdB z{-`4AHo}yQ!=^CD+;7oBnJ8<@rm_GwiBJS%MrbFPC|2B5_p+xX#jh4cnc;2Ze0Z@Q z_erK6f<%2Oy~+{A>%GajNe90@C5(t9D^;w|c%uGI?NXA_ zCxu*<_au8`90ktr%cX23dvTLY%|pyuBU5eYd0Nh8wlZoAs)(Y2%tD%bjcqRab*1QV zAX7Gov^14vvDim_TO@VmiIOL%<3xF!h_Vz9$fI!Mt2|L3YEQKOSO%q{g%=Xpc9p89 ztVRz?>kAhEkPkXo?7W~M5Gy-Uy@zBFmh-w(fgaKArBL2{R`p*nqJV2ec0dGck9 z9>Wv$TM`I9w<)GH<~nA#s7DW?wf#=@7x|&4R}N^XsTwT>)r;70^5KsX_xK2&faB9A z-e3r!Xcu5q+%f!bj`kZ34TQHZ50oUWm(=3}g8paoW!=#7Xu)pazcoZ*e@y z$+pX`w7{%#mUtT-d!3W3g++#sY67z@@a`aZOR`XW`7)mx^d4%C@LqiyF%(o-TT>5*|6`sH>*WQJ4gCDZ8vo2 z9X+D5=-Rs0!SZjqGsEZxR*>9 zob0+*)F{|0)W?br`*q4j&6|hhf#mBOF-YW#KnRJ)!Zj4NPklFT(dcXKo~R`*y+&1m zu(W#&65+eoEs>-j?OdUw9Ks;si#TGxsas@jX*Kr^@X(@ouZBA?s8VJ`8THlq&Jc;Y zuP0eCJ_5UH`_FVM{7~~N*Y7~D8Mng<$I?SICG&gIF5xMsudl$E>betxRy@>x7Iy2@WriXi(BpST8fdn(?ZcBv%*j!ToP?m2n{7woat5fp-&2A_fRqEWON1UAUrk9pOt{mg~ET;-$FJCb$934``}4D?PYd`A7AlWa(6o zEba_iad*>7tLf$Y2_|8tKrUoCLY3~&!O=X3v}o}WsldteF>QE-Ge)?z%35+1HE zRk|xj&~H`;%D?J8Xi;B9(%YYCL6m~;YD_Gx!J=I2e@I;RRNL#;EkNgTghS0AhRQq2 z!wRR;L-Zx9CcG}JWyDnXH6agct%^$`A0Uu9avHgYepjo~s6e@VGj#xX8#buZjDO+n=3%omwsUV2R64>t zVB6EYiUMKGm00*rWcP0FxCCD*Hzr_f-HYD$GO3yjjVoWjmEW&X9&zYOoLT8R)M{C3 z-@Xs4DOu3Orb5&{@~s{-ed#ZjHlpL5RO?a`9=&I;RC)!u=bWgFzA(1 z>PLSOaDVKdMW}n@+OFYR(W?@viV`o{U^AilJ)_ec#t65^{KgytpWoGS2LtZ+0e3c9 z_|Ql-e)Xz+GPP9mf<-YK(iu!w;S4pv0}V9|Y`sE-Z)yTxo2PU;JkPe2V;FN@Ai`;_ zef`|vBYk9jRjhRll&)TKsSDi!>1B!xk%# zW>4j$os;L!i{T$bKrUI z*WJA3N=9Bq-l!J7^h|ZW?!01up8fbpo;$w&T^%mUaBLDdnEl1q?LYXtlfGHheB8H@ z^U@73vX%Gs^savl-4TB%S>^VI++v(S7o046Ld9xirL97*OUGP3^pRr+Cb|6n^CX=dl|kJ}2A*KFf7Z z*t#5ebHg==nXWGIH3MJh_k<3d90F~(FdU|$V+yqdq&Rx@YLfY2OmSyqMD)!2TAui) zEXx7FeYY7chA`DPs#imkshbKHEPDP~_|pzB!Rf?CZ_K}Xa~cA zpazV zb9jJ?`bOguS0mYSi*wX)IO-p&q3%g~3>LK$i<$~LP%@@3(d3I6XX7~PsB0sKU0JL6 zh_X(Qv=2(+bfs-&keo|&Z%+&k$J6>kMa_goRVud#3M5RQ2|hA;~emNm_NGj@goj_P$*>4yr?P5TZt32MznfGs9>L$l#$b)TAuHq)qL{gqMSA8!D2!~Ii^4fb4Rd+wVI{rFM)f%5!ZoA^6c13BWu+};}rrUp_;Np9&bEl0%YOdcgnbPd!nw!nw+uP!Tru`QzU6vn={vBydB}1 z9;xi*#3<|EIwU&~6?~KM;NiV3r|V>yQGvxPk@!@N!p;PAUID|h)|Cx z(xrM;=jZ46lgb!(yb`PR-9itmIWK;kk-0sM)bUaJK}dd$l^ieIPC+XUamH+<)2_Vh z@#KV{9enNPH+N$gnb!GcbrsvfP6Ygvv*i*@mgznP%IgcXvt>#AXquZ-sST6A<|b|; z)V*33$()kmsWty5bO4aT0Z>O+s6RKqQER{`DY1nU0&f7vWS?pA^0P;~Y8jFltj$q^ zu7KK*hK=$)Ce(4>C6n424ELsYlQnYCkfx1Sai_gC5O9k%!;K(6rl0)3faJssdg9;X z2zEYp2r4_H9KuOU({b8fPvyOo|9p2!x zd6%9bBU#u)2<%@(<(jP?vC*i7ApiJr-ew{Ep|7694FWUn(`D9_F#L1+{ZIxyemRb= zm-`)i>dtdj*9EV4L5Z}Zepk}Y#R;tR+-5xH4!?&(3bOki=Vdf9ar!vSH(66WOMMh9uVZ6pL?J z0tc`Mq+IYe3Z^^!mD<>iN1hMVu6mJk^S!;vf8=@=|5A~StSU___{@a$!hl8QnB=Scfryj&BQ*@k9TztjLdvaygab z(wNQ1{F)JQ=-kvymUcv=U!|Q@P80#pFc}-P9a;(zZ z!_wyaff$7Sq!oOFnE5UfCw3@-*mXIAbG5fW|7GGRI*Gp44=>)SIRl8)C(^%Pw+(Zj zj-%Hxd_7@b(FK`&0{uHj|2Q;}|D;T4#rAbnbthPQsGx-l;i2N%TAyl6tK{#Wu+=><~2YR5!WR6)iP-x@FI@-$?+UB&RDfTCcu<7N^MwSt{Osmyw(Yz-99B(_IWp^3RwQBo(>$b0 z4-A!pGQ??A9GilE_g*K!d5B9W0;oE}LkBHhl}U5miQwmr;%7{vdK~u0NX9=+q$3nTv)Pnj2&KtqjMvhm4=ZIS)q7?^>ij z6d2ht_}TZdxD3Bmfq#*WEi@XN9p+ojf%5z^3Tafdc9PQ!DV;3Fy3P<1=Fht!12t6# zmNk`P3$65R%vP!WEF*{MKL@G-K%D}AhvnPAbAW{`FuJ;WHMuC7xuLWeHS#9nluaKG z1>$q>2P932o27Yj49%N4J;vd03%QotG?waEt!gjYEk(q|%R_qZOH8Mf2=W;$yBU@s zCT5pLc8BJTO-eaVwGolWZx-+%w5>e>JecWN9c?fC)h~kiF8@UkV7@epA~_t;2!~gU zj7=foDObZM*KUZ&plj=R2tKQ8E?TnxlLrchx?J|v zaMtT2DNqcBbfgT)V?tPG4|`h|Y|OmU!LAQyM;q$3W^-OI=kiVQY?DpV@okjqAs zC`8dS4TCrry(Y@h)|BmiXEzOwn`07Lb$T;jG+5$*KkRGB-X>LmF8Esu~UYM))hdM%|fY3JFc+O70 zrcTS5@#^52626~WBj(2mT;*g3#Ue;Be-l?D&no3-F`gS~ zRv6FC+I|A?AyOY|1>pA-9c?bAlc>2Y4l(KP2M(2I-eS}fcO!NxVVF-CiQ*(a`6U=!#>u5)xk3b29uH<3lexARZ0cJaxO}^CrONWhK>6Z=>pxXQS;6nj z>`Gi>E8Z1mdd8-W4L^uUOOhfkGyX<@K|B=S0j|kqMC!B5kPLRBh3_z;rSEN4rbU+z z+}@bqM$F2Vq|{!x8BP`ZBF!Go)~qtP>OAf`k8FoP-VD{!=m`yfX{71j+T!a{`7#qK za@X@B=TTM>;7C`~LjKw~T>2iFDtJBV(~ig0(UHC8sg=X$0NrK>pf}>52NB%76eK!V zcj@59?n>YMbui~VTxgh-6FfcHS^pz-WBuK$$%gS|h5JMqy1=(iR}S#6b@0UN<*#s} z-)KwVK*k?0_>3u6MGDV0*m_HiI46GcY#E3RzTiH0{{t{zZchV!qq>h;);9`BKvk#b zyCN&mjV8IV1K)QGx9!e?GMGp&vJEvK<_I6;=W@fNb)=q&4FQxJog2PK*#^FT8JRS3Et1cRYq z&=dBdo+-Bav$y{fob}4~`~(bYj{Ta{e-$s{$7J=p67BeZEVzhzro~k-WuM}=zq8I* z*|8_Wsb%i;Y#}KX_;tiPUXq?6=BQ%;c#n4HBbeAHiS7t=QEf4>PJM+r!{{tS7NbLbh`szBm$tJQY*;dkb2PtxqCKU6VR-_i6hf8QE7 zZw+9RY6mCv_`ArZ;Ph>l4PxIL+p@+KQdQFY%8;kkD_HZzzTt&M-hfM@j&0FDofKJz zhoqV9&%I{0a2v<09p*fUU1kFMO(>vtdZ5NaYM-C<&4N1kyn1pH!Ho{k%s#B4(!ht& z=QufIUW9}dDh~Z+K&|#7Y3_&z8V

G7#J_5;P*TI%~|K`SAa1d(k>#8FJH*07JdPabg^7>x1GeN`=tIZhS~d$ zTy~FbAv;y;Iu8jH#jgp}`-ujL04C`zfyS*_7TEA%y>Cp1G})lZ-_142Ka>i>;aQ+n+^mL<=osz7ksSNxjV&iL0(!5v>F|< z7ZNJO5Xe@OkHDkDtW?gLhZoPI-c|%Y0S62lJ}HRP)5Ga-XO}a=beG7sb6yZ~P(p>( zY@~4ti69=XXN@!pIsE#=4o}9BpoBvp_~55|=`CwJM8o(HV`=kd%K&s*txXN1oh~*u z0*1g#8|m`XGo*zSbFO}0{`SIigyXdx8U8)ZP7Dkp!o5buR|YvgE^SPDCGBcfKuJ0%$a literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/policy-author.png b/docs/sourcey-catalog/site/_og/pages/policy-author.png new file mode 100644 index 0000000000000000000000000000000000000000..b905a5f8d0242a295c97d3ddfb746dcd612e77a8 GIT binary patch literal 68460 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/release.png b/docs/sourcey-catalog/site/_og/pages/release.png new file mode 100644 index 0000000000000000000000000000000000000000..c2f4f3a7163b03c83cfc1f28de52d813bce51b96 GIT binary patch literal 82423 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/research.png b/docs/sourcey-catalog/site/_og/pages/research.png new file mode 100644 index 0000000000000000000000000000000000000000..962688805a633f1846824eaea635adf387ed58e5 GIT binary patch literal 66408 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/review-receipt.png b/docs/sourcey-catalog/site/_og/pages/review-receipt.png new file mode 100644 index 0000000000000000000000000000000000000000..ac696fd678fa6161a7d4a5fa9430777aefd3de6a GIT binary patch literal 74752 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

M_#fbdQZL2ysu%&LKNmR>fq8Mwu!kP(tWu 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/run-history.png b/docs/sourcey-catalog/site/_og/pages/run-history.png new file mode 100644 index 0000000000000000000000000000000000000000..e3122467d3a42377a80de4a93b7641655957f484 GIT binary patch literal 65051 zcmeGE_gjXM~AufO^EyjwCt@P{Z7&@=k z$$!S-Ubkb}M(_`i3o|M#x@|8zk2{~;adXX6x|X6II59Q+zjU5LwD_m3CN0`6$g z4C3uI?sA)z4ydoC%WiQo^Nf-i_5{6%xsRbpBl{RD7SHrirY%njPHMR?aS9-HF_ivU z7Bl28tO$&4?M$Cv;?!}jpe`oh1Q|P7XU*5sWlEm2Jh45h6?{Pbqk5w6e<)zKp(qs< zK(g3LKaw;k%BwEzC|1Uj$WPOJ*)e}U-Lo!qU6R*|rR0YTHL7n4U>pmL`xrUuqMmX| zkH=6?14}e_i)l%{qiAqK6gCmoaKRiU?O!iw+GuVD{c8M>`3DB7g2rPT+ygL236wCe zEQCvaM2`zFXTl_3<;wx9-ls_j&BVD^>m49=5Mw%GQMj&HIY7l_U=ijO6{&nOSgzqBScUETHB7<$CoNaMBKjCTh|5k%+r~8&p(S@H=YVy! zEZq*2R4GHvTv1#NIE=*!Yejf5L)4RD^+D@P^%F1a8B2!YD$$IJQoA=_UjWCvnp?5o zpD|Q$nqBKGKpwUUhtD2(^~L6g34<3WugA$baiF7&aLT-X*wutwVdXiGw&dV-F4`ug zy=TB*SmZ8`H+{7I{k^F{X2j-o-<;zbKa4)_dF>VU(zzgxVhhk?OVl;8!r-#bc`A9l zD_X`hkza+GJN3z6F?M()>uZHa_hH;ijH8m9uhtkPlHocq^IK!?a?5ohmZfd$xH0Eo zmP?@PL|sotVMjT9?u2ap;)sMqEuI+ZEetU`DQ-)pfY82{MRllIcjLn}rO(rzJDwv6 zH{#7=#a6+U0T0$fl*!=jY3yO+P91Vrx^3OnH>b>O`TNm$XiW0FF|(>!(262JZ2Oent>v#6IutEiKheh%?<3BOt8EfEL3t_ z=BEi@C2_^1`+jMMx!b9?y}!93VR3ZP4+tX*Z+oI(zD)Mv4{QhbHW)temTCDA3@V57 zK?Gk{=fO(WAysGu$;u4(#Vu!kv|>WyYURlgQX?_3+Cdy9wc$ss5gVya@xai|a*awMKjzDdv( zr4(fMomNyz+cDg~j1&Yb`b1=J3wv)O1t|x@Cp%p`Hyz0%!{hx*lSFy|8@IU_OJZ&) zSKZItMO)wb7JXcJf0Gg=xBv#5A9hZF{`gj|Hjuvw*=EvBOzw7GYkmjcBEb?J({`;O zNX;3A!x3f!qV(H%f!BGUXS@myjZWwH^nhx-i23%KnDjeG`` zq+Suh6>=UC8m*hUxPuc1xXya{{6TNURYK$Q!xT*&_rDWoM_9AK%+C$6h&jhC;ZoTC zs4my>LxX}rkBLOZ8x77L4lt9$QwFm$bq&Yyb(lJb(Wm>DP3xC0(VRqP4c0f} z>xxXx>{9xD$F1b~S;NhLr)OTZ|AO~Do!v&eH!T^zGH^5+CtB5&!bfM*?3Q4w-f8ol zNgq3>@i_GBwqAE+1Eac=}*(s&S0?1sBCh+!O8Zr)J|~ z5Z#m1I)d(mbLnI{8wy|OVb6w;I9`z6h|QOB)R?T^Pg2VAC($U1nhL$Z!j~IuW{45* z1?2U%QnREF3cg~~N%565UB~)rZ^{MMb**+JXU6mSrDevihNfp$?+=JAg{GN=@Tzpr zt_`9dmsVwirn8^KlS8n`PYR-rE8x0Jf67Wn#SH7oPPkb-2z{{>in@x~mfX!Vf%>xD zz?^jNaAUJcb~`PfJ?y{t=D~Vao9<6z_Q}!Jr zBuJ+Q4en7^yxom?AE4cAYJcZYN2oIqRoUP(kfz;%?Nwd)($`ecgE3r!D@nOE6IA60 zz|~~=lZA5Mdh0Xd(aZWt@>n0Eq7q4lG%$L_&A$Pex*UtQjz&lK79R&EZrW00+(nl~ z-7h5X%1EMc7;0|ymS`VnWS=#s4^~y+EJbd~!#OcO4DYz540*Wbk^`GwmD#Pxo)?L} zI9)bhv#Ku{n=`N5;J|wuP}A;6DdYKR+X^$s>g5gxBf_XBtDKW!K#wmX^vjf^(8T49 z=nl<@rE*lIdNgzMYWhmgaCam|Xce+=K=4kW7UA9wQa?#Q$c1sIx^vc~bHXNqeJ-p{ ztr3fUPb#Y~KUr?iqxSo}juJ*~DicY#04>St=n1bXXWm9mK!J2WVp`6pxX^2Kt-=m> zxzQH9H`kek6;~ygc`i1l`_R8~)|q%lR2lQN{K6X3QhaH>FZG|;TW^EH62@_y}p5~~DCU3flw z{KBwqT$x1&l@f}%VB z=LpwWDFnpCWyNn2Db!bE9hVei6^Og28=w&1cO{@Gh-<4V^SRWAuUeye@?|?l$<;H# z84)igU>wChVvf94>nH%Ig<8~J)`5PiblBWMwu@7+?5`=j0_9``A&vyveb zH#SfmQ*|_GRN@B9qix-^y1lJA{Vw|T#upoNji!HHQD_KQ?#cu?8sY3VZAYa0Fi&1? zO5ITOB;AzyU}?Fk)X$|`hg+6Y>XzE5_u_!_D(bBt!uFK#bExcLz<$d0y-h$p-rOUhOil}j$ z&h3>PV%dhV_i@T1G1p=f>31SASslIS_QLF*`^h+Y?c)ZvxOB;f76Z*`oI~n%U_R{q z3L}hIll*MGBgsUIFo=>~oU~b!KUKZjQFh!LUy61{7`s_z%1F~Bbn*QDX^Y_{>h_ZE zEzj8=vrPe7<=h=Yg6_jqF(On-kq(`sGcEb#hweg))hyLxA ziZ9V+L3ZL^yq_+iKUSWtT> zD=;p@S_>sr<8G?+R+dc~{)Rl4r*c|ewNjtQRODx;8-B=D(QF(oM}O-=GkGw*2K0#4 zm%a?fBeBa3h9)}ffm86m<$S8UQb4aUj-N3owY0ryjP@f^!d5QmYw88D6mUpzZ9!dd zFA#vFBo0T9JQET06JC|}TU>soq@YoU+){nLSN?C0kE&idm z)V}Gjn1$}_zPcGHKL>+yc{vjl18zJh78SzG)3%FqdC#qQ99F;U^ZDd_HfLi+cfbUt zC!p+pDW&K#@{{KMcCmeIGcwgtB?|pH3*pf?MzLR+qNNG10IPHz4iB3{Qq97+qmTP? z4(3L!??6{tyK1IADu=zaZH7=@RQ~5b6u?ykk-8L1=x+7w1TqPOjwV%LC-BCSzjGb! zxmcIdTQlEIn4Oj&ygK@Uq%7UNGw5%v#mr;#9k+>|mWI3`@jP`f)LItuL>3+(@Is^A zT`|XY@}5m%(Qc@%n;Y;wgVlgFcwbtg<6a>k+%!&DVI@KA+{t}p%{VSWwtdPG;hM>e zfRDDuQH3?_zQgM5bM%qj#z{SSC1R9uSY5|VoqE@6s;}m1#b>iS68nMmCmYlu2e$cx z%2C30X@@$nnUa0XfY5aFw*y&r=4`LGp^j?=xeo@ES=tb@u^$vfL8g1)w9Nafj3_?d zft>Y*RFt%J*4xxcO^h6?C%r0KQw(dj%=$hW;aX@6vq;$`gfAsDy_!`rrp6(}@X24C)6cEdZTwNY* zG41w>QjV&V_PeAJE6}y|L#fq(0R+Ck73}7bt{4C*S;0OoIGM}yX1p@L2uo;qPlKB{8F5lQ0gYc)K^B9iJbTauEXN+(7yjs~jc(cj6)7?ZGa`iSl`D4{F_A(1AXNOd#FZ)w^C9pcMCgc_MfT)qU!y zQ^E@6Y3l>qE6#M1#vTG2%h;p28`^!d!eq3&zg%x{GnZyI0$<*hf~Z6vh%OK1AqGhk zX2gT4c}a^ep(-fFq#`t$w{f>VtgzhkT~t$ne%);?{w;SnDCX;0084%~_Yj+! z3o_>=GW08*lB`Sd2gRyGT}f7T0}ge#BGBYH1wzb@XfPr{O$Ei0%B}4yhIS?C*wv{ut~3iXx-!xcPMYDdy{(f1CD5)^tG=ZN1a-%{L^KK0lD3x zntss<)yd)Ik6=O*d0slv?X&wyy8rh~ypryO@aK_-6(^>);DH#L3InftQV!8H?$aGW-izL3n^xte zs^{~@C+tB{-b)H&V2Q?nd|YsENbk1}XSp)}>XiRX`bR9S+)*e7CCB?{kM*N?<$vdN zTqmy4jdmnKpkv))ON^foO!iLV;~U9~5wpWjod5&-N1Dz)`OTeNVIjDtSu`VSI#T$?~Y7y1Wen;ERb1c(vImJ5TV9v_sp;X zpF_)oqae7kKRh|EbsrWKK)W6-no}#7A%y*4#p=)Vr#jhSfQ57C@le>24E_ZDTd z-AX!~-KILVgeKk7J>&43wq|!>sF$fCLsT^7OY|o51ADy1=KKERP{p&mvZYu@8_vm# z(>On6>eXe@BI*#ly(vy}RSsrClYQsE(pM$);|A(`FfVw0AsRtn0C=rg&CZpM)PMx_ zuERLa|AIATK^OXjls95imkWEiqHDs~Mz*YCdmCPheDFY(=kGhXv$emS; zT9NA4#mwuh%2Z!+EWQ=eo5d-fdQi2TJ$^#dP5UEy`=o&)etJ=Ca8`+NG2W+<%Q0$@`1LO^kI^{Hb^OLa$QGvy>8*W)baz# z+JW6{=h-!vT} zL!*a3Rp|evd&{{u`j$ipg(2rYw~bhkNw{LAqrjccvS8l&-TfKbQX@iW6)eSFud43Z z+4BR%)$7QPE5PS83Qb4%=Oe^&b?aYFx1%&wipc}o01evb|Mbs(8{|$rR=K$ZJ1_Y< zUs(oyVmUX$g?)sl{YL)`lRoV)9bK~I|GoQvyAJM9sK~InLuk^O?MN(NSl020)&I`6 zbnXDecj4bK%Pb_%zjLuC2G{BWOlZYj;3dMsq<;sksJ3|_t6p{U|L-#zzGyFe7=zwF z|2q+TTXQ#%Z(2T6apF6#rIp)gWk7|HywQ`bKpF8`lKR5R8 zIN&7iv8OtH_>*hpvTFV`<9_%rP~5ENEmu=3WvFT}Y#J;1hf$dJTX}Zi3qD|UetI&? z!mkgd=Q@OFpR;`g5}$qsypWdq#!M_6G(I96!`(>xrkjDW-B>h z`fnueK5Btx{UZIFn&y%ng*U|^<~$K} zEtl%^geaphq;nMGi{|)mdK+Jo1z#}Stb&fpcwIx8< z{4`6RF~1u-MO%y1_cdmHaV_n(-3SJ}R?Wl@&O*z~$gxlxswQ{+8Q=%q?cR(fw|I-% zSFSRac(5+_w>n9;3!K7RC!*=OYk?oU?a1dTw@J)P&5`CVcWvX+YdL~!+r4M6^2@*T zcZQN6`9R6sCnF7hm5t2$(<-MQ7I|R9HcYF0&)ln^J>o(o=_@r8vj-her;*p>%`O>@whkG)3s4;fO5#Y1TdTDKf$ESYv?m2jdLurE4g{SMR>wTzAQ@nil-N3fhk4Dmg9??^$1+`wpyg$C- zZAYL)Q|=nzH|5`I18TI)H=L+C<;}~t>&@;4)?|~tM3+8J;e=YWYD*Wb!}4fiNVN*7 zn=f8OG2mGjHuzhj{X5QD*rxCz!Q3=4-rkyc#8@(N;XQ+1@W}dk^X8w0-T%nLcajX^ z41vM=RTnkPA+sYU87-*+4S^XU#$BzRTS3s{ILP0XGN-<#w^uTmc)?h5s44JPsZsi* z(z4Ob5`-8BWz(i-F@)3GLwa~q5%l)rpRcy?ulJ^RpI;ZgR_({@R9VN)L|ep92}^qWJUbg39>$UkSzS7*@y(8r2y-t@yp^-= zUu9gmb1yJK-~R^>sN8dOmu?K=sXAlxHbeOls;Mou9{}Ck_n^R$D&M44?s6q&HS<#~ zPBlcLbc*L@tL6?kFo>q7CmAhqC(kQBTT*I(AZdP0UOF0Ov8)wLl9E&UyNt#-?(zWJ zeFT%{O;I4&Cb#tVEOSrzFvtE$Obek+(Nb3K#;kuYGK}FmUCDTF*DCjf0kg>9q?_{J z@$!Qe37?p z5kNqAXv!>)T|%{_stU`gnLB|YHe?(SSj0B{8<0VQCt7sa9rc&UpW$rnDqUZ)+9q1@S9_b0yh_zGR?kKzf*xr z1Ck(v*qm@1pL#g@)lDtcXtPH+5nx%j83lI@J?QP1A;&FO9XDmKNPTPh;a0%$N#0&U zz9nk%PMY+mZ^BoFxT}B-fA)x8!2A`xJrN}B#*pSUL%-YQ&+0&Cwy5&Ms;qy>DEE2a z5wJ#yq2cG}V|szx@hubG9UAMTr3^Q#F_!n~v90ho%siJ}h*95q2-}w`;Jg7Yi?_*zx5BLe z)IG$NsheA0bdO`uv+A=s^a)7Jpyy>eoXXI4Pg(;0*rGi@MrKa+torZjh@APW+KiMI zR*#3d+~s$DCDQtqs#gCgKmD}ny5^lCHlpu?WSBE;#Bk4w|FF&jmJT3JmTNe=)7!^I zse;Psn++(o8#P{Z535@U9Ytr-vib-e{=Su`9oDU!v~cgCr7vmPZ4s&joOg|9IjW_> zXw$c3Lwt9F^=!G6y{~nIohKCyCTxAXR9=DldW$34mp}h6C_TR#@RTnNTrIwVMuY-! z><@Rjo~5|b$J5F82qcG*cRi&iBnPVEm^qug4{^);Pa!Idrhu_Pd}52CM()3X_@2H7 zKfR0=F}Blh`OcXBi@WAvhd_TI*!%o&TxjjV4t*<7=Z`Z0!dHmC550YU!Z{zqXzB%d znLw7wD|FqF%aZPzGdB2r)&@+X^l&?5>_~ncVV8F|7O)tpsV|Hr1N`bsuYFdQhrTf2 z`=8O74|$t<;pQAI7151^*B&a4Q&v5VKV}M4{(H!2YfyRRyR*dVhN8ZV3%|bdI(^B5+`OLNwUh(0JUoJt&MefIT&|FaW8Y2ObPG@tr@w~1?Ut<))XKlioaxComlA93Ak z>v#Hl+BPQZKLe&eSjifBh8DRD1W$Y3kYDWtpANdu;yaJVjHcJjB=ly#2akVbOtA&| zU7ml*T?ydq2|e%-NG|d^Tl4qrn3jnP;z~i~^oqiehfT4Ub7t1`PUfn~*QI{0gW#DQ z>x%w5vE6_@3s~`#M?4++l2!Mt)PbaC4zc}l>7v7z%p_U!;rF?9MI+e$Qp|^oqLk2N zvvYozC;xlac{O^%Y@M=o1lh-KxDyY=%*@Cs65IId#o>UC@qgIHtRt*jGiHrO?9BZ1 zj3~j$B<}7ix8@N0|Mr&KD0;FFu+_BXbLHRE%pdf)-sr2;N$yq?HiM^HB#G3j^@ysIFUJ~c$|CApn#;i}IysZ&yyc1ZnH(kGX$sE?{y~;L}nuZ&DHj&+H zr$=F}pO~<9!oSZlTTTzLy+i~0Z51ne`v9&S-l|o=8rK_YB+i%Uw`weo;rqGU#Rhxb z^r{+0$3{k)PT43P_;~dC=r7%-p`A&FNuNlLsrGb(nnP+EdF}tl>bQAE!jM5Zb${5c{&RQJkyGwiT2EQ+~wWK4_7z{TIP@)S&z79Hc0Q9h>H`^WL_&+m-}3LIuqOc2zQnei2O3~X7u@F6`AtMG@l^w@b-3$5Cx|i7 zKzB(X^C%D0nVNGzrXo#@5z~=vNmy6(Q4OQFP@>**9?OgA{J}#|I$m%2#%N=o7W=$|TPF8dQnEnkYmt-&3{l)c|u9`XD>~j4ALn6A;V?4XjJLHl8E@exm zMuxbnV^ugS&3QnWvsP^?OO7)|kS-%nAO<^Z!*#Msi_b)HfsqG!Y!&>ww?sO6`?sSz zw(Zjk4KBHJX1H?N{l#v%z&eIOZ*93|hC$EnX>s-M#y3A2mCw0B%vTeDLff~SSh91b z&^~kOkd91O`dN`dly{!pFR?eS8NcT_-_PTv;8koZ{&EWn-P$of0VS(W0@PYm3FX10 zPauC=y*LSB!%st`M;Q{2%_;9^F&c?Soa8jDu<4urtCbQu?e?L^iK7^bl3pU2x`I>Y z3pmI{#^-y8$~EcTYq}Eg{EYEg%@T3HuZ9Zek#W5DP{bldfkAMNoJ`0 zfI9!B*pz^awPgea$p7i!MLvmG{-cPqGSKi5I(xj{^V@Mq2#*c7e zKDqHE?yWA=Wk~)Zc*dUdvZ{#r##nN*O1^q@Bs);v(OhQuE!aIc%1ba3Hl*2O_m;R4 zL5xwSnd{p~Ni+lgSD)&8ftB;T5Q*VW&|3AkNgL!L(@JaC}0GHd&Zy^CV(c z$nJUR>nHxke<>tJ0d|Zl<8(Q(mBdt$VGoGOBlXJz4+sk678j-tz6JtZlp0 zLW7HMs2MJtTK}QX1)tW!x_j%@^EXXe^u>p;e@4v_ew{sy|2DCSia|_Qdu*o}OL}Vk zcMykoNf6Ksu|1sDz}!VeIXt{C2I{*dH6to+3K5qm{#J?=?^WSr2?YYKRJ%K4$)hZ{ zvuA8YKIak9SF~bU#8S=Jw&MMyEiX#=gmT`=x(rEaHLmB1Z?O+kIfsx)<>eqe+n8mGNHHcUru@Sjqz?UrielB$&kQ^d|NY{ z2%M%MATYYLg38O{c#Qg(v9=^DJh?inX!{gO;kLV1XS#^(m^TjRE!orUaJKe1O6GF* zUkgtz-Dc7s&oZh!&1`+i?G?R1)%Z8xf|}+>&{nRxEle9KYuA2p>ne5bMs$31W5+S{ zWW#b6u^%hzZFvZvQzmaCg}J0dX((VuwG7I7528=fc3v!-qoU4HBTH=+sC8E0r2Pk+ z`(JU1@aOO-xIVo=-tw6r6%BGuTmqD}QLA+2SjmRy6T?l_;edLz&t^5l$9x;}!U5Y| zKdB<+zh6a#M#kQ%mABSP6n99Uw@f#*c_nq)2&tML0{!a)yR`!71t>(Yr}?|4JF;!O z<RBnTd@Lb#(stD15XlZnn$J$A6nd z8PdvxGo8ZZX=wVJVWWIUvfKDT>@eO_;(cTRXip z=kHvx@8)$4>9UO2fu$mkJ5*e^fTq{x{Qi0U{gZ!rz&n-7GSB1mq7!NY$-NSF28h!i)ESd?ItTO>4qdw1fE16HfJ@K9)zQ(U`OHHk*-uC@`SB^pE6bpe3IPs*}vhR0r+`$FE})Ftg_3=(wLhF+csm#df)BwK*qV?m^L6-TDWoa zt{Rm^fG;J3x{3Nto|DvYkpt`kk^LtjzUf(Fc2 zSXUb0GSs8Tg-;fn+khTs(brj$Ie=*_t-1;?Sc9VrP|&e^$gi*IHKM<51yDBUz*tig zpsj}uOHFsZ;57Itq<8xLY=chXk<;N3M_Y%pyhfsN?PB5`aR;xC^gONP6B#v8z(mE; z9+lSJ%lN^2j%K3xGUdPos=+;Zk+{Z2fo#Y|1(UwC8ofPB`p}Z`I1`Hfl@`Fy^ik4x zAU^pWkr_Y_6bCju^9lCo=X_NholZY@_>6ydeZ(|cNbbg#((;_xscZL^ZjJy>_p#~T z;OTJM0a1yS78hi5#oO3jizLNMJX{oC@b-`;u7`)&mo>gfY^|NTo5x*VM*efgIt!7? zfCt)G`Ro2PW$x@%)RI}lW2nsNi=I_HpL(Wtt_;PE|?g8b-WmjZ00 z9c?4U3e_x6(Ut3UG3f2thOM`#>F(>5p;JVe^?M6l%Ob9$*!!7n6t`z7g#wFckq5IM zA@0ecIr^fE_r+H&!$Y0P`5-);`?RU|9|7Bx)lpGtN|Lr8yMxI z(ieJCJ9R-6_l0KZ;&>(Z0pQTRLPFM-e_7XwhGK-ob`E25g$M5ShM;vx7{ol|FiIzP zsZi6LW4mFl1Bx%s-HekAm_}c1r%X)OCE^dlQd0GT2X~WMSLo!;zYCA7;gqn0D3~D;j7mGtOSaLstFRd_E1tdJf zYBQ^JNqas98lUi3&(Rx;=-+_Bf=lWL79MHR6IMpC_37bb@NcTiy3619SrkZpCkHW8 z6chKSPhP%YwYJMvfs(e;mfq87i{{kl`({|Xx!eFa zlu7?`0Hy2;ya;SwD2xPWVX*=l0mta84X@2CnXE>Qy>xu6C%lV%G~%vS`dMjefvnQ^ zXK0&d0Bl;u3cJwX03=fQkpa)IY|N0#`JqqfXcW(UHo}gtfx96V7>iG=%^**hX;F4=kX26ef9(a};hoLndKVBZQeNM0O zN?R3mmHgE%wPo;$UT!+9KC;6O@~|7h%@7 z))u=fM70kBh?nA`uEU*k3KVm2%kh&$J!>PUP_f6JArYagK@J^`Uja#C4KBQ*Ny7i1 zB#gizegfCslFxb;>%8j>_{jaACh!C|7SIxd4mxH)fXOliG*+c%-n`@SK?4ww`5v6t zA>Q=j4%^9bJs?G@6=S3hx@lnEeEms`>4$ue{adLm4J%Ctc~Jp84qMC4!utcXNWXJH z9YO3rK=DwNJh}LO7r2mx2PHdw5+;+omy`Gw?J@9vG}GD^@(>VhCB2PP$A(@5j-iZt z-Jo>lMjva0g`=-N!z{G>BmQJ#sg$`h=Q!?Y)c$-{>CpAyk>&RE9k_P-oge$eKdd%3 z*8u>6(nHk$1K`Vy7Q>NqXA6B3^b8QIjZ+tx3*;~`i$*z%Kgisc$MR@w zFgrl#xIyKq_5XeZKYV=>%w28_8ugtkLQt2@j&fukYPm`l4n-*HQTDU$o@;uXY9&jo zMp^Sk^7`-c7a7-fMTlR#&ehp#u>bp*mPuW2)7>NqHZ^R%zW&M%N~#cbhiqgt(wttzl6HRT>)fUx4`C#h*qzOtHrJcx}=Og zaC_MNrFi)t!JzVh?QqqF*8Si)8`*E38DG~z%QLS?$1&-odHj|U0=%TLFb-kRY@b)a@#PJ&3ix#h1(nuRPSmy$)bgCbOs#lz&26y-vbci zLMV-J(xk50$q^oU;|^K!>1;9tgylOTeKS)Nb2zbW&Qs=Fs^O{AjbQ}G>iaKuCC6y} z{DY8h3ci)nW{w{X?fo75H_gmtOKxGk!U|^@@lyKNL$7+{6L2xZUSvRi@i!jZeCSg~<0!Mr9+JZ@y$d9$?3v2ltET3O~=waVfM z!jcp#ukF?NeK+G0B={K_BP{UYOZR;*#VdujdDTXAtOP|=L2-rFXKh4dNFF(E-hWGF zEw99w^h4WpN^;ilwwZV?7f&_7Sr41N>5m=hu>LO5eJ{|XNzen}a1t*2?~b@F4@zqIIV_LO_IbNPELTEMc+bYxK@tPO)%anr=I-gGk_*HZfZ^%skdAvz#Z z86{MLzcl{1&zFGc<} z<(qk+z(sw@;ELi6|KQbO;9Qu^>69?Nsob@`aK}s}` zg<|yLBIK;XLC>ENQ4A)ZBiG2)J{KbN&4Uw9*oeX;I zSBBzF3mrczW?qLt&6~^AUPK-Opc8`H)hCm z6J|s57hLNVQQWjx;9>z5$KqDPK@6_bGt1I=$?LI6&JjFJz`5Gc6Ou=lNj-Z%uoRm= zgeXicKoZVIp|A&G0VX>=l@cw9Q_rM5^Cw+3VgN@6PJgSl{hQ+KeNnu8?@B5a}jEOG2F=>vGw2E5;Zd=x&I!RE)pLvQ?q}_8T@%GQuDfjlS6*40cGM1| zYGRTPg|YN&2Y2?98T7`bQ~I(kF`HkHSS^x{qY_O;SKK-$`}m!X9lX-VpZRh)vo#Jn z*7K+dVyd_=VRZZtFl?qjE|hp&A=o#$$^3_y=f3m;rPXExw`YXt!<(rshTG+qT3T@E zXOkkU-kXdin}N)zg>9Zs!R`Bn?f%Vzhs{UPi>=MJ-PW_2^IJwmVjcISZvaJv2MaKy z;=Mr9e8|EKlrrKK(Z-QW-RAeqTId(>l?WWtvLY$F;55y3Lvbj;#HsR5ldj>?R>yEl zoVs}eEPR^!)L^ZE@{=U_J$cORXfAfH13P`B5!}ws8vdTdC3QN&;PrQN=CDnL(Dz%{ zxG;Ueqavs6Ia!Br0Tm-YiKX~MJu+*m`) z(l1UH(a8u+6SVZ|OwI@&}F}M+|%tv_3f(c2e($o&^;Cl;?4PBJb6~y*}kA z*>>(zccqh77!s!*?-GKxl&Hf1{XIaj)K_25URLjRF&c5J5j>1cYjF+ti|jx4#3_2v z6Bd}G1cVf}Oe%-bM~^5~!g2Ze$>__NKRjqbA-cy3SbY(*er{)0!B>Yrb$%yDl_VzKRlm00TI8jab*%*yUjkTP53bBlP8}+k3CKpJ@_3p zoP`Kb^A1s7@Rg+M1IPLguPYz#4|QGkaoG-WWgGhU@*YU8b6)7p)SCWLU;Ua)1jM}g z&oAY@y$;Z(#`+*y!7!0hA9s~Hj{cg3#8q`x%`i&i#GoJ)XnCby(c^n%Uv{QydG zP1tWWu_};g?Jb*I9=67;`n)07P^tRDz2`>_Z#m-s?UaI7&dl6}1v2god_=aHU z`^{@ywOPSW`vAa|XSU0SJUkxFP!+PMtZi zenxGsTrz_U7o**gl$Fa^!d7}@-_4+kWJe9BT-M_6LEm_;P2XZVH^ryqz;!V^GqC28 zxniW(rNC>nL$5|-fBIsQ(kvNH%yU+4FB*O};~cD@4ey9J`|yH+V1`r?MiYo`DbL%p6(Z4z5eR#A2; zyW|~ZIvj`L%r8rx*8;9jU&84e61-*&73RGHfJ1;HZXHrhy^K-Y``KYG z>3uVV-m%hf)#cdyvabw@N|!MYH0B48j)QesooFA-Lc)gt5BIHtBUp0%@yPcPanI`i zHse-tWl-SX%{V*7C+Bc-A>6d8#xnre3{NC2XMAh&su4J{1SDP86|-U~3;0rZSDWT&3p*OeE=Wkfx77S#%vcWL{uOgrc3L?X7* z!>#yw2hit{EKnMy48zQZgh9>gGta$7Tk}r$nKcr^D~F-j>j#@&>1)m3*Kc6G^SpPQ zl~oh*9m(h5qLV<37uU0nJsmDs>&AWItB(5^=GOIQ8+*c$FYD$y`7c>))Jy@OYzr9 z(tdo@3v5{djO)Xzj8wXv9;4ibN&={ISW+<1nh-S&a<@)3HSkzk1tsBBv&2@t_JC5! zjdu2%;p4RnQegx9On-$E=e|(;KcSx4ZyfltZqbCInNcfHZi?hC$M4!?IPPxx^0Pk( zM67^yF(hrDb4>TWi0xgOZR ztSN5@rq%cX@XsZ-?nl?(^j+U*?mbBm&kxmy{A_4t_wqf${)vGlf(vd+BX`t&qCRBZ zFw8n`@lR=8^8pX|49%7jc|2J!Q#WRB{N>12lW}S5jW3w>Yco#`Ybkw0TBq_B_`}Tj zsHqmRuqvyFS^aLkjmoPLx-S+!-3{Nk!1#XS8b_^J@Kf}_gd8R_SiVv53|J6o!nn;? zQqXt8;k?^-m664Ur(91aUvCtSnORo9l=qR^TojyXMF8i{xEpMo$YV`-FKc2C7Vmu% zX#D>H6zWb-(5(k;&I>T>J4dUTEAjy(CwHr}dG;xnSd=K?Panj*aBQKFw?c^AuWLQ` zC7RdW9c%Xv)Vl96Hm3BNUUT_r);V?Nue3UcTy)A9Tx->BZH?gM-a86*mZ|mLUoChR z`GSLZ7BW07py4FSxO2piSc>?ya?>*47Y3S=F2AB?Fu~A17TG3f zXDePcy96|Oq@6wW+R#F>M*Zc}edp4SzfdkCkC?#`VApjpG+uJM(*?63Xs{;j2sloY zsUtqfbwl*GSglyZ*MlVPNVwf`L@#T&!Cf=r_x7Uut`B3|q>Scn1MFxc+G4=Ix;6@3 z@Eb1#rJa~eR<%x03&l9t^&5j>?D@Q*?pZEXvO;z3UCxVnPC{Vx4b?4_I zrKb!%OM1Gsr4;$}WbqMo&D>0x)rGNSp0NBaajHEZ=D10 zyW{n{#U?gy<>vhS_T>7cL+E=47Oq<1|8S>-_)$8Y5e85q^K*tkcj#~*eXd^ZFxZ@g zoaQxjhy6HHpl-f8>a)8*24go*K!@2{P%b1=( zR}UrjDf>R(qyk{fW)y60SRr^#%aK{$3XzQreOX{?nmg6eoD|*f1sW*0;eHXW2%9^y z`hGs+_JhDhfDc#%9C)q5knP4MwZCreE8OCcypFm!%TpuDAI7d`Rne0u@>2_dkR<@2 zlF}gnLRDSxSXz)0p|y1SZE=;}4VUD=ao+a|9%j(fmPVaV`mAowr&!PFx(LqIWctZy zqnYzF=`AbJ2O4Jt8$m-mX(vsjvwfiynUdU!(MH?YmIlMbhPio4^b5s3cVq#tn07qQ z`pJ&^You$|zjDy*3R7zK<&p(;!RDQ{73n7H?MCA}qGm7l0J5;ToDTIN+5W;!IA+i8 zt+7yoj2atqNh-Cw)4xU3dG1<@Tzx8K_Wic}Q{w*9fCaz|=7*%G#;5-hHqVc*ne=m; z`=a$?+r-ZlGM20eJ-e}+Di)Z(E1(ENuDn}+@?A2ksZfSE6>eP!z6ObHDJt6w({X+A_i%+Jnye6hSaG0FHkKiioL!Kmy`095fMvhdaI#44|F1|OlbSbq zGXDS2_0?fbw{PEws5dI0ASit+B_)bR)|Y!4x8GWMvK6kjk{DW6Ll7!4cyY)OgZbY z4%eN3XX;HqmQAfM|6oov^`X20!GcF)J)G2Nus~NcL%6b}{cVT#c%w++@F0*B6*2MN z1sVW-$wAx&{4=S6ykEBz#JZV;<5msqZ!aDF3LU=^@v41eEEUCBx{v=tWvxdq9njTXhBUkH>PZE(AP%R((jcPAItf#unB1ydU;~4Wsp26DVcR zYDQsso!L`B>!y!4P95np+V((O=WP4-OKS{}uZ1VY)K z1Fj+VVYSxKSwIYDjk41^fe`8K?RkEIcuy0XaQ-d6v1-@XTi=$}K_Uc$!MCUX7F_rB z&EeWAlv|%`zcv2u)iOK1;M(u2h!m~ot6X8#dO)=g$kw!=erI$$RbcO4v8RkkYp;Go zjrhaoCD#kNJt%-kp!@S5;}?6Y3W^?)e6g|nV<8a3FG3uGIEzBtH$$% zw5@#2yZipz-f(RH!%nLBp*i<9kkrrl-{JVHgB6Px#kPL4)jZ|`RrvO@lLL8f;$At@Ddj0kJ}IuMH&e)BJ5Xp7LQMBm1O7$o|*VJ0*y*ur+(L<=zo( z{(iZwTSmK{WT&qVem~LMuZn_y0nF|-)DXpp(G_xM?g4%i^e?aF6+JY^hkvcJx@^t= z8I*Vo+}3CUqt6fB82-Cuo9de0IM9#Wv^6w+!PV;zG98g^c4b~ui-H{+wLDykj`_yI zS&*bJd!ir01mwQyyPa$M7NL44ON0{5 z!y*97Ai3mzS!3<};21*IK#`jj>>FZ0KXm-{UNXOxCBS@7fcd;m>%R$+mELY)HU0`0 zD4Jowj4)19D$7B)n6-t{3aMckIoR-B?Q*||Np%e~b3vJZOwVKEH_jhdg4&8Y`sV+l ziF(z3Lpu=YY0)XX%@e}btkfol0ll7=@gD7cUX#tCYAqWje2vLRn)8Njr_~1y1f|kBdu!e-#jLA3TSRds=(n5nH zuV1IDIfnn4&;YIuV&~~J7H__ex0R;ZI0W)4(H~qFpMqM~VoL6~#5%C+s6Nl*3Uf~T zq*M{MG5`U>I4Y-gL}Gfnf`4WA7(nM7f}e|F>@@^sdHchqj&HDLmRX*lOBZd+7SVxE zL)jB|TXo+|#Mu8dOH5l%D)r>JSa*|SzxndzFUcHLcqnT4Mzh+#$%=}C9OEQd; zo43=30A@V;+eD z|Cr}#f9Ymw)csN;`pcsNNs1H4-<*o$`?Y55ovLyTv3BAV6!%mqam-u|Tr~L|r}JBL z)xO@8I9tKsxHiT33y<$0d_Uh~HE+L?-jy4Yl%L3Mcgb(og^{LDzDE4V)bFm#dJ4eT z%dzh|U%fW)Cgnovof|R=S&uv3l(&pXXMgxgt8!~f?%T(WTRq9R`h4-EdO#wRQ-vi4 zJ4Un=@2M^_7+!qZfFGNW9ASxV-i@|y-u#R(|Mpe6^Xx6dkST&u&%r3*8cuwX1Tj?I zvNm9en`9|#d3iDEdi4FW-QMD{9j~r3ej&M!Ru^R+{_W)tu>)-4W1h#$|Mk%Wz(+rX z+U2YmD?^+{qSwQ(;Gsa{E^%-Fn{Pl9@2?fKD9%=`{ zg693+A#K}HkRxFL_SA3&OWfvARc>d#i)2{Su=H&D-TN6Vsc`>42j_acD*n3W1vnyl z=^q9qXVCs=(~sSC7?%rE`x=nJ|m-n}&8MKpyruBwH-xo25jD6z-R{%KL~Bt9S832WJ25p6Zd z+SVY(I1h@^Qb(=5{r6a{l6q)=xG@|!7W#2+j>Tzh^%*dP{HN`9`feepfi;g|gvO2% zsrb;T@&suT{KWd1LIf3pw)@&Zc+%__FHfsxtA~Yzs9Y7pFM2mL9BB&VUMuU8=I!+I zMO!;o*T34q(}Ow|Z6wl|D_PDN&iyg(Ex>SgK+B}*FOLW$Np?bCJC**cWeFWDyNNd` z-d|6nG8ovnfj=$uSrXH!8w5Je`rGlq?V#LsB$xWzd3SF>FQvERachU2SDRskg#FbJDitq@%r4td zwpU0)65FbZma{NBV0PmVBI8bt=z-&-sN(nSQ1geA^E4yf8&BE22>6~4yAwXgU(gmoNLmjcej~yX=2XETOJGe%diH5}Gz< zMKTJ5Prb99JlcpFrR%<|`77q1Kibar?V|%@Px``HS7>2Q*17-5De+LWrlg3;*Rt#m zlCH-W0NVa?`vX_Anx%_6rQme@tN~`^Nq-2nHbh~^YKNyx6WCb1zf`Psd*Y=je@IF* zgtuH2akwv0^RsOc`D^{txd7sSin8`!XSJC7c5=7-M*%B6+t3scgt$B&roMrCrrfUJ zh5L95ZB7Pkob2t={bHKxO`!T3$`hDDM3N@E_!p9r#kz ze&fr3@&DzWmq`2hvy~Tx-OH(|MJ?k+8sGMeZUL6=Kn*azA7K7V;OOSG2un&QbyvZq z0=fNXAMykejuv-#vI>7-_NNFf+#GhEm9UI9eHIWVhNbu}wXlTQ-`b&x6JnxdW zrGTqh-u$LU)t~Mb6n~e=h%e7B z=Nxx>pp4`B5?Y2Y_{mdbZ_1CpiMZ40Ec4+tkDQ``L#*p3LF$Bu*|*Z%MUiN`xKCm9 zVNnAk)pojyWYj0HSkg_=##)B`XD}sQ32v#uspgfwo6<3WC#vZSHwGLaKt!q;vmn+J zSgN}j4-j$s!)IxOTM|c`fBAcJzHL1)yD`hAGe7HxDE=J&S)D5K)r-aoiKr>HcMl?6 zVsnXcM^!AD*TVSWMxpu#`$9FDZHr4gVw+Q==pf}qoBuw)TxmocIDhDWpRXz_<6u4a z=X_u(_<~8a-<#BCkEDY>_qzo~K2`%iW@pE)YgoE;_rZ3RxBtQ~iEJ#eh&_~Bm}cp( z3O3V%y*=vhOp=kWo+4d6sglaR<;`2JBk(oWFb4_xmlZuD#df+)q^ZAp93RR$%R#OH zPVrf;psZA87LXu6TYh5PzPlnW;z+~0wU!-O;bR>ZJJ3i$@s7Yp-dpqb6*#LbZ!-3bS z%Z+#LJf%+Fvq=495a(DXx$dbgfJKe z>3g*`-gWC1ZnkJ^ssPy<*2hT>R(#=oWc^LM#l5h4XmjKA;%U{L%&XLP_te`BZrsg4 zG|qGD!(MsG$wwZb4shw8iz6-r!9w5XN8ncpo21f@Tr$kBZAka73<<s=l zS6;Wig}Ct){65ndCo)RJnn8jr$xP4m?*7uSZNID%hUy=KtJz!<$XI*l%d%xOhYq^D z$Sv{R(BJ=$VovGCvECW#{(5ikw)9tnl6vXB@TAG*)D*y5KhU^&%FIGR(F1IitKze^ ze-5#Gh1ekkW@I*Ae0DfpL1O}*Fm7N)78f>RZ_?X=8LKo$H8`|a<&wQWyVUIOx|*W9 zYb!Iqlp?n1HWuD|72q~V?F~a=#=`%lN6MFF(`ai#@uC$ojqRt1PWxHI2$;O)RPepQ zZop=5{6F+Wyr8^B5#s<0%Q(Epm0#Z zBS}ZLB^%^L#1zNr85>!Rxua+egWlKzef?phM}=_`O&>62h)sYKI@g%;3q=zdjUtg( z;<~Qt0rvVIdRk$uJy)5v=iU)-xOCkDU%4W~JXz2Dua=~rYe_kvCF9cp{2K$)6clYN zlEI8b^YsUJ=5G4DyR7nJJh|X8K*_ZW#1|)31k7JM!0H|*3_(-IQb}r~EfKDY?+F@UP>T{5kH$0r&9B-2rXfym-A>G2sDGq#)*F_n{m!Y@ zBnUOHmc&{!jM|u0+OGIwc|qx(;4|%y^2pQuXgQ&h62PU4vPd#z*=WCZwfylhxDN#?x^C5ANDN`bs5hS)Y2>%K+7(mc(2#yo{K=a85+sG~_VVkg42J!zs@{5ioEy9zrS@k2KCZYhE6`#)0T@*O!xt$YrbE_>(jlbh zW0pruc@@G{x14Zmy)IpHm9#UnUzLH^R5O9Tcp1y7x z5@4wisHzP1z@HVaI^QGR1kI6%}!O1NZi*?Jx%PrFRtqfC(^ZS-xnRsJV6` zh^~3YAT1CI+Ryx_x(cDM_za}h z!*g$6TVgHT_$HuMl*>A3W=+j>!%4%Y#<=J?6|(D1>%Q3NxpVnSgt20-GONtJCEgJB zaV))fk^Q=JT2t4B@-XbVkUsHl{c|oPGeAh&fRK990b5GPF>RtphiUpO_38Ik>^@I2 zCCgHynglX|BI+$JeK8$zGf4Y>>yiJd2RO1;b9T04cdIn+w|I4CYNfqL$-|-{1babd zwqxz*IwzqP%1n4y81>b!sGqJi^vrC4Mn`q9A{|mUnwI~C^&#pCeL?hyuae=+jt4++l#B4k|SF44Q6?~)#Hz)vf^*4{o4NYZYfzz01U|N2$H zR9NK_;yHHvD}wes273?i&hYbW3Y9pezYdUx=>n z%7xS02|>Rvmg?QgYg%n+_u)7z5~5zEu2WfqmV_#E>R5aZ_1r46e^U~(mDY5mTa&P~ z*jpBc_s>&!a5)sG3)R3lMaitukzQ`oxa*Jp(T@zu{?!-v^F2t?c;Phi>}r?J>y&pJ zCgFJbvtpsp>fdQu-1nq1yWX)yN*f&4sIbIOz5?!if0V`}k4N_5pi<|G-!@UbCSf9C zWI^A5wMpT=x+iw6ULCM~xyFNvPNvR=gYSzicsauq(t%HRQexJe$D0<6t?#D809ams$DQv1 z99-%yc_~L7i<0TPv5Q51csN6zA6PRv?G=$=rwHfKol8HllA35_F4+BsV9xf;lxy@O zZF<)vz@wyjir;)rOV+(pc&#W*d72!KxP46tNHUfE^*QF$fDN)p*J_ojw?2_Ab+4t; zlZi@L&|elFmOBl2@{gmalwO(r5Ru8kZRzc`Hv=Uqx9KnnGFz#37?$X-C!IqhuLc|? z{jy8`H&ZTMma%i0M*&Q^{LioeOd-S%m}(CF3pnbDHJ9U7t>KK(YeDycfFSSRls@Bal_`RB>(6_7)gRF^M*+WeQLFx|WR0cm%W4`|0#Q<|-ug$?ZRe=!j ze(S@4Q=3m1mHc~&d))7gSyP*@Qp<;ctYUdj1(<)mGtz4?d<*QxYLF23gals#!j1oR zVf({&g*aaMmp^UD2g-XtlMUeXh60(}Kt?uNHeJXJMr13)!lU#44K2b(!NL8^$&w<$ zIT05K4vebFt&zZn_ds!nrX|1j`FB*_!X3^2^90CKSMJ6%Z!{J_uZlog>5Uja&DWzA zB@S&5r=x(C-Y)MG?oX!-hL9KgAI$@PkLI1tJe5D13t4VNHuZW>MLCY+4?htxrP_WQ zx?!xq;BCf%-%p0HPDPT%ZSv9(`L#d(bRj{!2XZR6@~C|vh@>69pHu7hDCwYy{E=Mt zZuy%E#y9x@Uweqe#@W_t&FE+{Q3k+hT1MG(iH zU}GfpQ8Bi@Jq|rsw z4B^IM3>i&WmfQmsA#r06?SPG@xTc_aQImpiy*NWb-b<+}nCA)z+jVlSBLag`RTpCUlX2-^o@q{IP#<(*HRiW$|va+AS6 z&fUgvuZ|zs^uJvSa%uI)h0$CHBa0&V!NH97$-zjv$ar$vL2{FkoN`oh0*Ak)`)_qx z0gk|v z@dI16ij}z$2fC++mUw(ucS-d^;BHDl{pjIZrh?`jxh)56VU9S6&pfmWRWM$F?>ST0 zwI5S7n_%O^`f4{}|Bf?h-&{CsI{f&e&UMUGLdJzu>gc(7K7^Mh&Izm#zK7{sNXYeuU|$tK5Q}N+5>^cojx~=&P)Z!{4QU&cHxThiIeCIMEa;1 zSUigIg+PB=4#QhK72mn%nHmOpPShi@L zew2-JkR>ne$xCx%PhaLTeX4a^^=ZnJAddlAEhA&AKDuPG^$0+516jCP{mgU{8kd#X1i^Cu;HY*?xJm7k)FDAx-`-4zVE4OY4*3% z@^>%pV#4#KSjmPAjp^^0rJXZ6rUAcsPt3`flE_x5VhJmHyY@5lTsc_&f9kpOGj`o^!$OGmWmZhP13rvF?ACD4Y zO@vc;{(@SJA`c)wkVajm+MBu zK0%W{HM6mBhgxWB37Y`o+X-Pm>1>xBcvr{fHUMuDxWayP#iL2DpUCefu%v;VEIN6P zpCn9gcu+y_grC+`eNjza0Hr*huui>dh7z=j{}r^T^N1Q;FT0DQIcJGGEz zd_ETs-+_*o|)yj01(G~ zJ%+UL)+5;ik^yN8?^^rXMQ*zocx^vuI=g2yY`sR;vzoTe1?PAy8MtDL$GzXa#-2QG zHw+*Qxa$uzK18E@8|y9DcQCD3bXd_y%~sY--_At}gMn{AWDYgDG+S#Gin>~PvCz0( zlbC!`RsOvlD2irc%YyWe5?h!rf5NGPpoWPwrp(khY0ZCQOvksq%X*pYK6)_kK0Y;X^I4NYHNos{qyKM|Ld=Go zfM-gQmoyPomP1lmMq_S ziU7MxR>Y|m@N!*=$fGw{a*08o;w|^FPBffqj1{aJr79Sl!zY+DJ8XkOECw0Kt(5p~ z%IS9;+PfdhA2NlgduRaYHZS}GUcBe9lL28%KobQZ(Nt1VnK7UIKrDlJK!dI?cJ{8Q z_gsQ+&Np*+LKv61u*vn*=i}abz)HEi@rs=yIWgr4(e$KlGeKr278~7^?mL`p!>0X> zDs$6L^`2u8M?5KC7GGPHA2`@BofuNT`~xtdcXdLHg&x>P_eu~N9i|6&jQ~4o>G6#- z@5|{->USG))09dj_51Ybj3qF23gm=-?Rij_&(`Ev1iOD&Hj0D;pK9ZO#47v7a*>9L78xRzYS z(RvWM;B0JC;BW*CGBs2Xh#ae|kaq#W|EBX_N^bw9!ol15f%_g$Ft|xHd+=E5u)d7P z!C+q>r>8xsjo$YEAk@95xnc&_tKn>D<%=3dz8@tAimAuoMAFbyXsK`j)pHMnHFBxde_8qXk9lZJ1*!E+=Em+HR; zWKi>&oZB`lT`aX$&JK%TcRT17I*yp-)gO1DewZ*!?4-pDB8;^7%u~&^AV5s8L?n`dlc0-Bfqio*L;oj0sC?ev@5y(9i8rJoHvDERXmh#hvNOBg;Y~Hn~L=FI3BO2 z5;>-tw7*Hm+HByoV^k7*d~2hmOw&F>JT{8_Y&gwGRz`@}l2yHu$d9Cd7(FbmTyr@* z-jCA;&s6CL==B_Jw7rO|=og`T7$&xqA5KAgBy`)};r{Z@r(LRyL zBI0v*WXhVKi%a+1uv2tgfcxf9>1a9t_ETrPLBh->`6Jd24%5x{)yXB-w-VMXU~NOb z5KjHjObN}mW}agzSi?XKck;yrp{1Sx9ofaNtzo)aa!TRHDxb&ynFv9Ohf7gEC``7ZW>T1q)#ht2>Tn4I`Q8uLA$k!Ysq8V7JqZm z3NvVQc7^&qJN4@mACtp%*QOmM?Y*uP>=p)F{Hn0imX+3vGSUik0YXDGgJ$VEC_D*G z?|8bJN^TTw$)lC+t)I@B4(t;TTHH+UPvlJ(Q_9|KOX=9qw?l-*d7G5*J$N%FKyRpa ziUNHH;20)Mogy?>fs0N-4{0i3xCHNvPd~?Jgkb+ZU|FBU)D*=cBI#g zXX?6Qfhubn1g@`KA=s1Cy7`dy<(%PB>*HVKJ)3& z_x}0zaYl|>xo&k!17XntXEH{jdUO1}pOp406inbk_ZcqW71YNGlL)~=@opa3W2@oH z&X)jw+!IbXRpM66MGMpVJr}olp3s2yUmgp&-RV6d`5WV(V7y-lZf4|vo{7#Mw(%sg zfc@OI+_V`k5BT+$g`GAXZwVAIWYk~Xpg||(WJ;;R-Y%TB9D)n_oU8PeX%idL>nrOK zYY5ylb%nf2Q*DZ0YF(?vj>@hQVQ8^9E9#rDdf(YJ$WELZ^(V1Wrq}BWnfwy9my1Kd zXGM3QouzY^I&oj2a^@$$qGLhZ)nc7C$8xpDOh&qo5zh3lvF?5=My0vKC{R*yVHA|> zm8tvdIQvTLXGyEG>vom6hV>KeSkKG>Xu}ktm2A$RMg2vz+lIT^m3$^#YR167DOm90kiEQ5ocIPk#&HH0DhtR4Wj=Ks`x3kAope zz*dQ{L4OQ4%zP)8I)OnO8a_It&^VU1#2tJOVowZV-w`lkP-#*);#{sEK88K_81pOS z_7cm`;Z1a%6?BTV{u!ZfOTV5CpRcc8baqh3bOj=MVj(@$j!Sx~^bQ{i{1w#c9jDM> zt|X!1M@Z{vCqBe>wV4(Mdo+UnRnw>isdJvNHk=tXS&De9C8+&Q+`)S>nFL3z8^?Zo zl=^Nl8LXMJ89h6y%16qZ7ZggOir?t*pLq=8%O7JJ68wiAF&2^RwUV?VdXMvV;z z*g7oyL4tUkZe&1)ssAq(X; zU_(ivV8%_UU(O|A$>)_{*{ALG)Tmd*oq&ng!cOk4RQa(0iwuIxjjutx(_q@T)13Bh zFHczGbrXB~%f5>qYslz$aWl=tUG61ew*+zVrRO6#s)1{aN_}p8Q|0EGnfGO-$KI`w zL_6pjE#k|2e|a>G`p2Qq!hUe4I46A_{uJxT<9$7^vE&4k4uDljCYRUucRu1vDL?wn zB$(TvH(?HiLO*LH{uNuZS$0?}@ES6cPJ-?{Qe_cO+L_v!2sGS?V*qch^1I13$~}P8 z)Ur6#ofQfbjdM$bIFYKB4!b@3GsX!1tR{F)r(aBcqZlwuvxW`9G?=(i_6&}K`7+Mc zYw4KKym^2rNTSa^d=kADC&6dz)bCj;AH+HNR1QL0vCsB!_-J^~( zkF53)djozJJN2vbRce_p={sE1={3_u4t0&HQVb;t8-fiosM^|%rP2;P@yw+;zma`# zJ&7qkF<$^K4(l3ac++sTC!4QtHTBTk2xe_q>5%xvJR@6`=5#|q7rH3qnMo_VsUJR( zA@2u(8y>R-j1-hA>zTO#kwwP*@wZn9AK%3H@SQlYt6_W%@jwJq&1ub3x$z^3_fb;Y zKT21K8MC0I>^aebi7iucNjw~|RYN68qz2{a9=MJeOST215gIrkpe_PqA+iO2-#g#J7i4^&A+}*JK_` zu<-zR4)$2D3)ngZveI`w*@IV*aM4plt{;gYQIjCiKP|!eTR8ECii3)B$&$0X(lr4F@v}+K<0`@C(g$a&a&>2qyx3=~ zR5*c05CZ1|_agP*JcH?KZZ0}S?|Qif_NWJOZnRaU@V+iBWrC-K@mo8w(}^hRZO?VQ zw4B0eYBKA~AL>EmPK44t0T(9*Sr4rwO+q;v1XOwuyhAxnto!}I)q5*Xv8a-{&Ppk0 z^q~H*K_#Ah{H3J>rAiPVuH_0C1zU5!d`)vjXj+2aQ2&gCr30$>+ov{>GX;Dbbg7CJ zYDZm~4wMDJURZY?laCLRxnBx5KNC=$0x|x8I4#8TuFUd{zi`KcNT%E3m99-!6MVt- zqPBA?07>f{;|#q{MYTHd+|&VKyz`BG>aG*!W){Lc*5k`6w5b*WeM1YEMvw#om2RAB zt^uX`*u{t42!RU~7Dn?E(JO}tOl_pc;VcnclfW?Ix!*>(U{tEgl_~Ptpnpo7Gma;* z3_d?w%Yx8wW%qx@$Q4R4B7b=H8K^$i1OcH#n?PmgtU#FM5&{PdL<`i1+)Er@-m^hzxa+TGMgh!8&39s zwh(&V5-bG;a!k!qn908u?*i1){JRB_`G4-PT&0HpWkc!M2O~g_yFf6X)A<+GxJMCk zdGt~#Hz%dVib5h9{!O-JP-Ae&4m{5#&pfNkX$pSi7uDY6PykLD###CXPCq?z9|&I!pMZ#ifGB*qmmRTPv2S3_P9H z^|3p%C~Y;%#LDGyth!|m;C{fUSxjR*b$(Jrt6n3mscDk|fa1Ni&|muDGp}bkJD9h) zh&UMs{=hpulzR zD<(*)P?R3X-3-~@Q!?*0vcG%uy)|Ah%lj3eqMi1_J<6yXjRFc_A41A55o>J9QupJTQ0a3iOp10T>N~ zJ@oYra)DR1dmPNXBDXvFv}xx(w{L%fxPr$&EI_!`Of;PK0a2=x8K0*6ZFnbf!?weD ztsHqPOua0s4+5Ou2vo9BSXMAmqjn!;6Vu|mZf;6JP2b*ftCp;p@P5u@@~$sDEI#GW zsKvP&o)GwoH=*+gEj6=l{%6PtNIT{S)%du_-?a^Jy|07m&84`&3L(`w0}sRyHz?MO zm$!yNR~ZgUYSTH%*qxNj2?`j@-Cy5I9C&xK7$%gnpFqC)i>^^5=yN;4VqIalMhN}g z7w1rFs~WUyMs9Ck!F{%?-x6+b5g`%59%^D+Y~BR-b_LkxFjc%jlfltPZ;KwP@yE+j z=354`-AMb6-f(+i0P*pUMglfz#zQTn+OQQicQ8#&N)QV3vVSlT* zm0Z1PySHDf!U-*xB0My*yFXJ%20twn`9k^|I-&@mJZV~A;VFK;XQB;eRskUGa_goC z0>%KHYj`={^=K5>4bSq-jB6fd*gjaX0nb1@fL9f;93}}Q%c>~NxX@QqRWyaq4(nWl zj{L^_KJ!}Z1yQQ6*2sn+L_#xWZ<-~ECCUZofH!DQ04yMxLI3^VrRoSYCJ~1b?2sE+ zQk#2KsH)WtlrJI5>F~QiOGA4~Ql1-Wy#h2D0vtIImJozwHtr1Onoj=fw`_}sVaSYZd+4; zV9!^~0pocluTcnsKfq{di35*n40FSIiwQP5K`QDD@+bRBM3!HM1T|hwo7CNoi3HHo zbvI^qzn`k5JgD`cM4?)2S?Th)Kh0o$7-GoOeatj9r<;EZexP)knZ%tCWx`-+Y|e1| zglnr30JUez((d?W8b4*x(^c}I(=TGux==MLj{KyBuLv$~W>-%vY;O_W-ksc5w_Nwl z8lcf!v1i5xZcizVUDyKt3-p(4Q(i^BZOP!U|L0fYAaG4NhS*YSx<6wuAkp~L9y#q2 zh*L`ha%=jy?px48L=j3+MI%N=7H{+ z(YW4Ei@U%h$u?^zS2Knge$Tj_)(eU6&x&A?XtsEZD=-F#$sXg+6->@8zk@DQOkrxX z&i?EuT@AI6JZ%#C28Y)mXIF#zetngG36KCtf6?;y#6QvtoZHC7fmK(3DEyj_SG=76 z=Wa@<;|tb5Kx^G!qk|j<=@<5(EDn*R%F$i&W&r>LOa9&af*H8Gla5z~iXO_G2CQ}` z3D-bU-EH@ut$NcxtKphWTGmOtvFq>RQjWgim{|J}2+NLvy=JRV(UrqCcvI&*Q_)EW!IGO8}1A`R6nABIjzsWgQY%9R~$G!eM`467Poq|BgSu_A4amaH>S5Xp}4P&j0Y z_}hITfvmR;USI)G;GzDTxP|hUcPeAYVts^HqN~#h>GKBU=0MOf*ES3V;Mn3~5`-8` zh>Da=X0wEKoK3o-QoJ}Rdbx3!yAmT9(ckoB+_2Wne2^Os^pWJO3L^`t#_vMdO-#UZ z0PbFaB5`;XGx1*F5u^niBLXct@dqH8t6YIx*OTj9t;f!){eWL^ z8DpD97)pP^$UurThaY9AhWlU|b;GIR5fXLeCYVp}5L$2=5hV${C@;!jcrqqUyy-&>##=`R6v`>wbE?~$IQypxU`p*xSIN2E z_1&XkPTGm*$>F58N0E{N#vGg@r(E0N%dsEJdJUuisLBTCK>P+zX*wZHTyr)yVCy(| z|A9k36M*Fu*w&zy)L=2*Ci_FK=m9L}X;k9DM6jms{%D$f=gWKBLyLo;dYy5-1D4aD zhg{o0H{AgmJ76*1_*GM*J^msE3i$hgpLI4UUV2{KE-?QV?Tz00Dm1QtrE%qOx&H>R zLf7pQQ~TlM?hDD_F^kZ&SM!8|4V%Sbx`6EJy)-|t>YclNso$>6U~nGha=`J= z5DQv`HlJG3~6@lYe4O$NFQaCR$)?j^C+K9vq4W`-cRdhCEbj<$(18f6xqL7Kv4Vr$c_(3=UOxa^r1>}CIJ5f~$-HP&!QP3^cWt+{LMo!ZY zwB*+{+kXMI(9|wGv;kEnRXfU^2gGOW*fmfPaHIM~59G#(Zvxv{rFv3ubze5qz^Tul z%>#1E{||F-9hK$Vw2h)5DIhH%-Hmi34bt5uEhQ--C`gBNNO!{xh;#|k-Kd1pjg(05 z^9J=7&-1-|ul4RfzQ0+EYwkH`jydL-xz1~jzEGtp4K!smscchx2J){s&xXfim31Uz z%&IMVks7>R6l(On23$JaSDR~+(oNnZl@D8$mT zXe=hs6948WE_*ijGeRbcDBYH;A7C4u1Z(lfPIvcK) z^1>5-&ZE{DABKznq25AJfb?$hjaRCGYu9w_$ZGAIF2+SU1??2GoY$G4eOq6lFU-~q z;_P9(il}LjHX#RrFqG>w1QA+2iW~EC-Z`RR#Sr*}|PeXkUFfbbJ>8(X`4Q$#Uj(QAP zirw0qJ~vf^rY!*@F&cX7PBmYxw{#5?QVBZv+S*VrUyJqCQoGrxh%lU?$FdYIO|{3U z$3CGU3k|a(lVX@UtB*QOsT|Njf?w^M8uZq2n5l6W8jV{q(i<*xR~^?|_dSd?Iq#P0 zgX|VMhS~ENC}gFp*lB{sHi_X)Y^q$nMzkDQM^mWjDB2J(h_83qa2xa-!Z&L=#mN$j z;8U3Fv^vdpavt=@tJx3)yHYaA_O!wrr)8r>ryAj!pALYFZTdD}{dm6t?rNMf51}N=ug>iy=Bv_4Mp%g24$*sCc%)+uWADqYIMrj2C5bUDZ(qU@25wRk8yN ze5#{b`DD|a`s%zcozhjot@HHC`(SHIZDrA^l7%Fyh5mCq^}u+pCP&Z4Q-wD?TR7lz zLmt^cP1dixEQ)yPh*5mD4uq117vq$1^es=d{NoRoT7su|>o<4KLaykY@|=F2uL|iZ zG#|4-I>#1e0e4dOLfzvXUCAE(K|^V9rZM6=#D6AehN&NsU}A74NvC;Kn%t@)+4Xdm zlk?MXa%(hJyadgM-LWKvkda?zFwZ86ON-yr%zjWrNi@c<_%b==k&wt`G}d_mC=~>}M@v|J^>LSp zRX^4}(O{YmZ^^d@aA2L|dz2JXc zuFqJXnOzOKhHVR&*x(s5TQ9#q=BCm<-4l+Yl8HBP*(R^Z?R7|X6m|GchR|n-!w!1& zkDp{sWfp{8<%wFTYRr;#b-$Rk0DLM6`98+rQ3YAvJ8B9H?PER}USP1@2%>{^Du6P}*Uhs+nxaQ) z=0pI5yq@(IN>fPR9A5tTnJ8qg>R3YV$z%Pq;0;5!aR^;~85_SMrvK2(4+oUI)K>_( zl(~IEw_zlwpqXC-&HQA!-)c8e9>KEIm!6BFShIr1%GjW%JK)jSQaw(V`&aXkQhzK!z6S; z^5ZY?T3a8mj?J~LcS&=9S~|A z3U;pYC`sq9M6@xNQ(~W&LJ*TGPERw=_SyG!Mkx!yHbar9tT|?1-j!%3wFL)VHW;#} z#Tt0`+;Nl>R=+HYHWH4xI@Yl|3zvn|RvslQ?7+pd@o8+96>En3OW6zz7vvqPbJ1jorK4q9+E%k#WLfVnZmlF(Y*OI9@54Fay z6t-*XuP*HgTD;8e_GidYU6evPjRRXAZ@A|`+-7$qqRR_D+bSrem(MTe&R&?x7(jAJ zXwnW>CVR|3y_s=tomqbm4J+D&iKe}%ZrnUA+J(oe5!2#5R;2nw2EvgDgVe--RNgS+Q z8dRBRK!OyE^xA)yJ_$h>tsaF06EPzp0kP?jr|CRIcF7H5sJP*lik^yRyGv;J@=-K@ zy?r26dF@b(NIS4c}=sM%^_!7m=b*1AUId}*&L;1tasdYk)j@p$$4BiiNh74_D21x zVhiQ5j``cx`g7ldK0lSCi4V`a0}G@~ZIh{04)cm2%NLL0+YVt*!LZICnxTc|<$LJj z4PMRTwvu(Jki5B7;WO>f7`a@eyQQjF5@eo`hP;%;=B3y{8TP3%h%?udXw`>iHXbRQ zP6ou*sjEuK#K}_43lX>nnNDCo)l2qGvLcRD4_8U zB2wSsj`3#N2_UqOI%$x))Ty58qs{6ey$HzypAI<8*b00%bn%Lk5Iv47BK~v?Qwwb0 zk|B_&?bz#=BKhdrH)IPa>t8bXIjS(xOxmhrZU#{pj>!0~yX`h^8c2n47>!^lUz9RV zoKzg!?Ws)cWQOKQiz((DJ!WenZ}$$LduJhm#K`oHiUIYruzbN9`e^cDu|kda`kMt= z!+QPGE{}MhFKgakey9&5 z!1eP@r`4}wXwerIO=&L|eHJ>0W@cm(Hypq^+Mywt9<^}79$&hq*A~|Dgf`02nVr~i z2ZrF;g2GU>wsZ3~gzh#>=a@XmENhTilgYAy ze`VGH*3YE*82;C9|M1s$Ox&uXRDu#mVqNw^M|8_bU_Z9l_av-7tV5ly>u2ms!lWyT>A8IAbFtEcBs^p-dP67ggTm0_OubBb{G)^P%l?X%2O?a>LDZE=IRR;npA1dp zEI2bt)ImoegJoPKFjx}viK`eRJt)f~YX&j3ptF#$lq9Pv|4F6*TABtCLeXqX8W`vP zIDCvX@y6--*0`zyBU*y^8*1$9m5O&dmla2w^M*SP@1>(wYAO%uN#!f^z7N&vj?M4a zUZ(BV5{rlHEVe|4DF@#Z@57ir=u~mU*4&x6)<)3%t%v5I+xHKFA!Bn##M&mk*6hqBx&;k+lMNy~>50uS5kcj4))*of z5&@&dbGX5^0V6xxHC`f^I1%eW)!ylD3xj_`iAz#uR}S76X2;PM*?FVyP)ALOP74t_ z8!fHrNs?bA)|4%l9-LX0l&2i#l_!|1JstxylZ7Sjj+gS|OvBTUl5D_&Sk_%H$Q>A) z6!2NcVb55cEl<^o5U!cxS!-SLkXi}2dT^1-eqt_K3CXBU-#{$%Y7Vs39$mC-ViO0! zyzN#?Ri20Qs&1Ur_T{A$FE%4yh*3YJ8)r^&7-lNcVuV}QL^-M{Iz;%&QU@-S90Oxt z!TjNu5=!e+Nk^Nn^!K*ki~GBvfR5XPJ7_RwT9b#AeB6$So;FJwttn}hDiN^6)E(tjPdYEbmhuCat3K<{>gI`|I_zu zXUNe5BSe}~#nPwexl(fdVz>4tt>^UjvTZv@Ke6037);`HPCL>IV8QU%?fsv@NH3SIEX*PpP4-`dsz7yp%Xb zjbH23dD;v~i zBd<)F$tvqIv&$I(2E2G3^9o8ab(gP4ugW_CqMKMJl(C-5}Q*6v1az@cAp3P zL6f_d1mSOdWxM?jdQH%;AR}i8Vq6*LC6hJ#NElkotzhyxFui!p&Y~kkt1IznRqX`} zzLjJ#ZOMe%W`wgCH7VaXbD~=qQyU(NRb^YHFL`^tf4%k7CPML5iFN=e_ny{Z-&F!g z>cH_;YXZVwRGtGL9g42WttBkp^EN<5AtT=;P5uD))1F4fVV!J5;&4uCGI(8oCxmn9 z0vo1W87Rt=$%(t+?etGK>^92QgJ>7xF$%~am!KqoFS1uJQEvpgeQ{)$02gkQWIJKT zXP0GrCw6}Cl*IQ4)8H=^Ht**_3-3_hZ}R&{m>bO#num*W;)p;(WR52%fQI)i)SpA! zSX(5@cw2P4g|Rt26%WJEIO0*_>|?5XIpiUC7cE;WiqfHZfJ%u?q&RDNagWM^0E9{^ z@;^d_dh;s>>U&qsl9^*=nAT2h-P?UoMGW-CnvzOb(SHkfY;6(KiZ_Ejn)DQNT6(45 zP*I7ihq87$+R#)rM&84=Z~3c;v-OXK@&g z1%ZPd*f6yw2@`ka|8g)0T+;x`|McxbTyGFJuBL?+#p}Q?7RtL%j1vkYzMLA{G$+LK zyk!N59}Ap`)haU}1q_3j^_;ZXuknns}7) z15_T3x;iNw+}TGeBM#%Jpo%!=lQ9gBJsiq&58ZMr);gU5#ly04P<~9wS~IuX3mv3e z?0fK5cX5L?A1IM#a7ko^NQ@^e1Ar4m;fUjIuBAN7En3_RoFJI&{+jt2_lOC1ScRnT zs9oy?%R>iv&3o0*D-LL$myZ~OR5Pi&%d$Ia=5KaKBH%sB`zy9XyL+j4_=ewJJt~-0 zVSV&F(^_^4+WzNELz17YgJxQpR^4to_?mKbVr%7G;|qISjgbJ)_nx-0;!$N`r2Le8 zKJV2p6YO;D!n={lLtUH|s#PZTj@q9tbF;Z6=1J&>`mcvgLf`z??Jc_I!-6t8vZfel&@htD48c=>spFx9G zMgy5*QcExV93CEZL}OBYu5>V@IKrGbfPoCP`=!ZV)0Q79GMcse{3(U}4rz9Kzi%+Y z0=Y8?1YSno49uH?JKP}RY~c37ANF>ptLz6D9A(q{Qm}8-FY2?AWi3fF*LXJIHv?&T zRh4>?4xRhoSN->$F2OEk%UdKhYlxeVDDPQ8oc59s~Pt82qTYjo62^A?`6LZMi$owb3)#``1Rh z{SRmeI1yO>%xc|K&UtI6`AqJ!vsqsH(h;gsI_L@Ec~p4 zH`d;g44l4$^`=f@?FpH@hL)rfYmRQlHIsEV2m&EN-nJE=j!dLCBmD&iRqEvZOc@8x}U7ovJfUk4hR>rI<9%F$Tr{|^EiNTxmO4vol zB16WUJ|aEmMD1ZOze9Slz6NJ)V<@owg5Xj-O2ZEz0Y3o<&iD<%hM-zsL$DOIT2omd z{|5y7QE$$eqP~9)jb%9i!9j9H+V)W6i!GtU30Jc6I>RR!kXr8R41|g%&OVl46!y{` zB*iX)<=&n<5P1?JTYOyK#+#MbM22jF-KMce8&!%c{o()(jrGrnPg?2Cx0 zn!RvOVBveAJv?*ZRJ~OZvgKl0;jQ8WwbtyP);>h3KK53^*O|-hL+(QiLAJtsdS$i- zB^GiZsDBfseO~(KB^y&j%37kZND^Jj&@$ckHlT#`Z?+!9|GkK;HbHF#>vqlD2!D@~ zNR}Mn=xg%xS9qJ!OAzS_mq;2co80ZwlEx#_!Kpg_nO7*8NiKz{-Cv4UM&kI>APq!G zJFYql?&$JeM!t{CwKJO{p~D@bjbV``83mE9nLiA1=Q}4+Vj)J4NXKn}mjS`pKT?}} zS6|GZRle5C5Zn=1OjtsawInB|5t*+FB^V=n8c~PtfM86U5~bv20)i2DV1NWOO$#{c zW_a)MiV==2l%6ufaUILvy^C{9Rld~1@x{?v99|07+A38%m+eV-hr_bEz+gEp%6gV) zvFJ+Lpo%(snh%kVD@|5b5c$Q%*Hf~`y=t56e*M zwv#uSKrfCmIJqyzh6}`Wb^m_BlpN$59!>LShrJc_ot07;IH0vEhTRN&(40`{tu5m4 z%g6M59~ocJ3U)`YdpaB_*ql`5_0V$dYzF5qngZ?PgHOo@p%wc>REG{9jdDd8kBNhxJB|gq zOkBmXetkiCQDjr#>mpV$DDM<}e|cB?2OBwSR!}lr@5{OuEUMn0e7sAa>c0Hghp*-w zr2nig;Wch%sJ|ONnf5OnxeKMB{=J&h6!*+)RFL5AaG|f>P&u_5D)%oO$?pap&V{mm zD2_lqtX^{CVKN^aPzVu_JXy0?~FXr5#lnJ^^^XJ=zwcN zw+#3ZhItJ(4z@C7dbVR%k@qZyKNSbKr162v>m#w)6uNF?WM}$v_vXJk%%l=0XiZeF zaGaxnQv61^c=i7A*>U|b4CNe#hqQS=?c{D^!~I7jt^**vAIghf)mgkQiqzSR;AE3D zVhmvPBmq#hqlqwyUU+IybYAJZz*uAeU>fRP?Pqn*vtxm|^-JYTuez@jFdoX3i<^CK z{ZGiz^Vau2=;!bH0#Huy8abf#1^#cy@kB`u+#gE;b?vij*8*ELZ*1iNFT$i&;D6|R z(hW9CLDTAuNqe=t-(-5!hm5SN)}SSwz@7oz`_*wsk`7u{dW?H+Mg3J)nEqZ?mYmdf zpdCq8xgR{Ze>NK`=0vmK(H8MhxWhH1Dc+?EF6Uzwd?Fg-VwV)4(?G8==t&7)<{_kd6tAoDXVDMFzSikSKAfZ}7{PXqb_GnmgvEPl zEoBRSa5@LA_kG)|HhS|%EQ0nf+`Xa(wrCecW(&kwkWu8{9|k40%f^m ztbxOiXKMJmbKtgob;1Eb0yY020Jm&8jk2UoF;}A#B1d9jW<&pz>3vNExp$d%N2vm- z5Y&8)XK(*%QL>;B4H!QX{Qtsqe>e?9q!Nr=%@n~0>Yczrjm8s_P7(0xWKSyYLGIG+ zVoL8WwK%&dUEDMI#I6_#ZnVD1JMG_j7xX(YAb$l$oRL<|BdDDEdacp&1lbd=ZA-)V z7JZhqkkm4ijZ*xRjYi^83J@LGB-Q+p2mTHe(g2E)z*_d6B%FR4`R_W#CqZFjJ=d!xPqbtZ(a8N6Uq^rn=gGr?f*`?uKV z>%PY7x11orR~N6D=`ZAvg$Q^`ht_t8CK+j|x6Zs1QI{?~>LS3WV8s=SZ$bx^;22s2)x22L z|Dy;t+!R4aEyqWu(hW*yEVA>RgQ4mGH-cCjatkv4kLjnOl%eV~aDa17Gp=UbG+5^?*a!~@9P!c`4E%7xrOA>=7 ztTz<_TEP1Jac&{hxsyfJM^Z^CA`*d#cfNS?6hKqX)X(&egn!ka?v(-P7ynypDa%F4 zz!+Iw_~T#Xjgmed!-DY*17u-~tdOm`Q5FwJ1E=!%nG%lqT8S1$asFgFS)YL4CbW0cs#Gpcnu;{#gSPZfamjd02*# z^dIE-|HXEGMxR_vSh0@h*0*KxLl=9C-BOI1a7QKlH2{lC%`Gw)faR~+QV^HGkT{+A za3qE{FB@ykIc|601FiYyjS6?& zmF!WKt6kg!ldin(uia0WQn3oLU2HDO3Ebl%9x|Gc={sAh56>+o=MngaJdiPcSOa## zy1#k4@AskI)diR7fpT5GcCX>9BLsm-6c1&OO|;TCOY{#+DE$K_rc~XBHp+H_+OilR zzlSf;?5NrzX$tOK1G+c$no01NORp*EwL7d>6Hi{_|Sd4pct8HhdjS zHB0yZ&hMqK`TgFqx{#%1Q5ehazC<7kN|LAdV7#D4R1+Y5iu93J0pG!grp*un-WSSD}27 zYOAmE%*FJGSE@=^BfmoZ<|zYpwYB;zkYfhFW{GY2&SrlohDu)lQKy&wD06?868}Ms z+(p`Ml({uGFxI(N=0<@sr)B*d5d9V?(eDPkD0Ag6?C(iF)V&#G0MRR>`JVl4S=+d) z+)wek6woGCYBlGk5rpa-0h6?ww7UU)MR|m##6%_=)j4cBeTWV*AxkZpFIc1i(|5p~ zfcAoD%zXWfYeJ$P*HsXjhJWh?qyOFu{v|g5!~XwD?J5I4gHYM=q=qpvSppcnD-S{i zs^IG*+PL;1ZlDB%k>B6C6&)IN-i@E9#xDB=_XPyr7noGA&U`I`*EFh#s1t{6|FY4$ z5lHreMeMiT`%8COK@XewtREWUKqF`K^(Fg5k3^wv|4sM}6_*8z8vySJEo+R{dQp3$ z6kIDxK-33{k{ymLRMdw`jaCFtw|^^2Y*%pcA=hz@j09fv(>O6qvaRF9^u-Ecc2+36 zmKQgcxLMtTo+@`eF&1DbaLny*cj9o#J!-$#oRD5F^1(QC0}sXB5&kXq6I=y>M}5B= zK{e@{fiu8pnEwHzqa>GGD53F;y{2V!ARyuDq0DG8=a@~+roEbHWm!?Iveak+;#mQF zm0a6iubCUA*fP7J9$K|;ghm^%kdD6hyS*CW{czo06-UjtW{`dEt?zA^&~`W)>2H5V zm2>OFp0PP06>4<5^mN1O%kq*oDtpTK;LnI zF^;XX=JV@$Y9AtpSQeJn)8g~L3*|QdR|w^m@o@3KCOg-Iha75XO|kza&jEqFUIl-z zb7AAIwdwa~XN(*Aj9Y9+4!Xi&1IMG77SHY&ms0Dz1bX5#=R|$hy;^-gfEA|xW^gx@ zsPZS5tAXAh5d&!BY+>2Ay6Cx&3)=ox19w1{dGM`#;;@ebqqBcyS>0|XRL}=C5ITth zgOa~Z_{ROfpkzFLM*JTpH(s0k6xH7Hd$|{`3k$Am;^}?BK0X|)VA{t%Zqpg4x|B}f z|GviBV6^bC9uWwlJ=dz-I_}1=vW@j?20?WXds-j`m|Wxy!Dc>h}?gSBZ*S6%CEs+~_xIEf|~y=}LaJ_Ey}v3r)Cxn5~eCRiP%?SW)Y-$ie0I zvyN}uRih-xB~1IJLdS7*lzCN1n~wbZOKEP?+gW1UU=}s~YZk>o%l3QG!`Xo2zfT~Z zlGgovb|bb}(JsUNM^tTac`(rm$B6kG^uSb3yifQH{C8U*! zs;hpCQux!56tL?0SoG8_we@)T><0B069tL0ua2d2G_wGV0K6H_aGZUnBNVA z6=EW){GOu@fdz!?(v}Z~L_oCwEa+dV1(XFrOB>^4xFI#)%?QGFsQpM9$Jb$G}f0~bW9)f33Fw-IRmmS%p)m?5st3d4@~UG9gD>BzTd z%MGC|d2XP;s|>l&8K}POW;gYX7Tsus;XPwA35%QgO158c~zrs%I-gNi^jU3sqYD@`%5q|O#yq7s2&l} z4HMcw(@2b(phx^ZN1v`9;H*Gf9w2U-KQ5rmv;^dgDM2}+qLz5f)u@UtC2^OoksyY9 zdh%)WkyJBTOd|GEyg{BdTy;i(vjJuZlK*{$sGC&~^{`}T;|;xnGpvk6mnydonD{4w zWcUUpz2_3n&4Bb?{v8QW-6MdtIpBkVSMzgCrm~f~tGCMZ`s@tr%zBA^WWrmCVn!*& zLx@vtD^~HPO}mJFyS}FB8pt-Om=c-d5)-z1f5SO>xtZ20fH6%-_{dc9f%8txsgML* zwH>4Q0nI6^7sm%n(M>oNLM_FJO{s0<=F6Bf?~9LcGH~)T9VE|ml+)I>bv&^bxH^bR zBbN1&v7=+7&a*61O_kl|v>eDTr1us{h+GQTB5^dh=p*1Ju<-U@e?qo2@{4PF=zCv& zD@Y+o%w@UzRGcU%`HMeVJ4&)Sy_!gB8(;o$2d#ir)?0qtaZ1(DL;L$Lr z(J>?KJ}+ro!+$j#XKI_j<19RdPYu5tnSn4)%6B6;yu4@YJlqMj0$=9vHiG;gU9>`06g;ai>8=$hj6eY=vpuR6}8P_@qKRLE|s*LjCo5af55f&CT1{VwV%W-Y- zx~v+{Pu1n}%Tue=(UsALHXid%f(zdT9yxe5t2WMe7mCICl$2L0yHggVA%^VM89WlB z;n-c5rCAFe`It8)_NdZ0u${Cg)FIpsKZc*qrE3Gq7|(6Om}6iZqq5H*!^uhHB^F`w8+?=q;-s~ib<(l7$ zpw~K_;KQV8jMRI98*3x)gZb`pA7k*LvM?qU4&Tuy@aI(6j!=FvDlYVLKd2`UmnZ+7 zX-{p*u^|i$kBS%UW{>lHudgR}QppL5SE7)P5f_7m&kSlwe%Dbpu5Wwj%wHx>AKY6G zn@d}sZhL)R&nK?px*r-bcdQ-3BY>`Cpt;Mj%k8+KWJbzgVxvWjR7B&ua8`mhJd8Bp zc{+;Z@r0v-f{zSsVkCPL%bDDAgT|S_K&whM6L|}JlDCP){F@B>$$1Y2b+X3SsyCxl zi3naMtnclG z2l_ksI71q4rMrbZMpI{(3re}&ud%0kpmF$yPY=Hvje#)!CJrw*?r^Y*9?WTpgi*VS z(|pXVcQh5qQusKqEgJaEU!IewC_^^8wzKf!VTfW<_o^cC!%yS4SDoV-@e{f(?!&;m z8J~wnVLOOIc^YeC2E{lj>3;K^maFX=aeLU!WrquJTUXhY^FFTzrHUVRh%j7}srx&_ zZ(>Uc?(VHpyZoVIapdSK25Z8j=Rc(siOSHh{qj)9=Gg{f5*GN2@rGLw2Ru#gfYVjy zD}0a_2Yly3YPUlH^&N-m-fQae|A@dbzQ+k+eT&U^VPK>@&K+%yD(qnMJn=DRHsUNV zMbopOX(Ijk`g~0=G5zrBUcA8x#wN>IKo?Wg-r3Tu4L)~dM*nH$B`i}gx+Kzza+`X=I|`e$ z`fSWYp5QyN4_2Fejt;%Yo-{+ukaW1SO02?!BuJQ8lP|tj_#ExmddrFWekYe2cu)S8 zJSXIQafEOL!2uCBi&_3O12TCW5lfGQlhepEUpQy)EcY$I$kp;wxd5hBDr56YopAj7 z-`pcgpr#RKVJ#@>^YRfZ(=4nAiRORvm*6KVYE>{!9rHB7PUnakN(Yt|-WgnH)Mi5( zI^zPC(E#Vrp)K_vS2K$2n#XcRjO4FnBT2@PgrJtRyjVoQx|=ENPx(!PCf!MbO+s3A zuWLzK-0&mWebSagZ&LI(BWKM~D!F~H@8Zq#Pn?CP(fN}l;z034Jc)*-<5-?0BO5F2 z_(v|*VVjM)n6v1EqHL*Ynho)p8L2gn#&XMiF`Q|-5+@J){)HIxeco6pIj+)HE23Q4 z&SkGFc$imqi>2u+yx5u|nT*>=&#L}g zIeZQEa|d3r?4eFN(xn9TEO*DSx#Q4SK7C@#+VVNz!9zK^yC1fOuMbziovzu?;}&Yz zaAOTiSnF>e5(%~m{qdnZClyH9{Mx~FuZJj#NjXmxTFt;q|6-Ni<#7 zUJ;gsswzGKp)0977m`D~|UMmFWx6LA**mj|u##eoOQ zfCs}CVyKf&#w6uAu07b-$+^&s1_RR-d~Kbkb7k3GtX|ARI~DDN`(7bJIvGh7T;&D@ zaB=~|>7vo!vl50{$TG>Qg3raAsmulY&HI*Q4Lj_30HlcZ#d4u@F<NG#~(R+~p;=N^i_l(>~C;P`i*Lx1;{t>Jjo9C+wRcFz-nW%5e4GmZpRkD5`ueLQ+*!3$_chZb5X{UXLzO~wO;8E-n3`n5(YmI3{YmiIn=| zELHhX`nAzNhgr`%E+NnHzSTXIO16u0Q5yz$Yk0cVgWldUyi+*NSXA40E}X$SEn9I+ z3I$pq;5=bB{XZ#&KRnNmq-~s5+WZzdO?C(6M2d-V>MX_6VLjmS!ZZD*vF7>d#IgHW zrC8r{?_!aIFnc22Eep=EAAJQl zOF>w$^Shcfu7S-{>xIY}GJmZ-DVEv|uK=lM>y_~zzj?Uld$&}u=d)281&*PvXNw#x z`JdlC_5~-X1}S+YiA56khCa~hkoK*(Rm~Hw1pDA=ThiN9ZigU`2f65 z^^W(oE|MB~{?SXQMNTqia^%P?gb7mQ12K5}?>?by82PC-c^kvAC;cpNR^yc`j;NCV zbAV$Cp&;7zRu3=l!%8Pvt|$?5j)3Y8pn_-$Z3r6%raZ2Ty!DG-hdKaS^T_6 zs`c6N$`#&I4hN3;*3&V==8Ny3AoL^YspN>ZeSe~pTl_;dOdr%!>t^M9q z!TLnu%6qY$D)nJ7ZKI7IanB(Ec6yBg3@nAj+$NsnSFCq$^>ed(jR^!tuaV4KvcrwhWs7`=s{mf%f#mDn7zi%8+qivy?41V!HW z;^Wh~p_t}qG7qlpTF9=}C`+x)|024F;32i^g2qr%a#jm7*aqeQxMGCN#9OO2rHwjScUkcx(3> zg{$oT&0$%(`=$OqtfO(uo5PCWeU%x-$4aN<-KC8%tw&|<00%}>{yNHc;{=7`=kG()_xfnN@J5YH=q9*1 zZ-V>G1dY@xFIo0)hn8aT92}a~1qkjRf)JbT&95o}^!I>aV&q%FbFCqu|D+ZfJkC$!GsaJa zou3K2mK}9{I*IhD&=8?m!EmLv*fuzj6dXnjg|$dOj5@!R%MOLmQ6Hytj9H!P&vR&2|9X2wRc6tZfZyjr{|<8kWi z#8w{Cv7eaTJ!XD@6{0$F>u^N6=EL$*crlHLYQtlTxOSJrf}0>gP7TE4Iy$@wl60Sk zL7=uWyC}!VUkAy)%(Jus5G0H1fO6q&;&9-<^u+zjJ zB5{&%XF@$mTOGlNV@fzLjG<_(8C$fiG-nNF*D!9-jl#PkZ>0#qI^6?} z>5E10OgckT>C^C_~ag+o{x0wtaK=9$;1cd_3${PUSo@)s&F>PD?SJD8-6?wXCYy#q(itW$+xp3 z)d_*R$*NI!mz>AC=tb$l-o9SHJyLjBvaCxzQ2Fl1b!p^|4!-aEIa@CLqUAtQV^_7(h_aY)ZspW>R`-wLO z=iE@$K7wnGfkIHf9*BA8U;qgM+O_8W-hlasvymh}m4f zwlI4)gxov&ZJmiEB8IQ|)$<_;lSATK;mk{U6Ik50UX!Yq5-0-^PdHA2A@Iw_yW#vb zC5#0I?0W{&jAJ=y=GZ-!mBQCy$U6ZFSW~w<5w$Gs2QPDY7#LE}?X}eHP#)O1*=I4Y zcWQon;T%%t2)j8n)dFNp8j3nPtZ#L$F+V<0i_y-TzNN zJ|MF(YU*z|X$o%0fz1MmMJIi9oen+HcBA4vxw9o+)jjv<*-Nvl<$GU+eWhTZ%n_BF z9e=%P!L}8Uz;CA`2MV-4}uiD zT4M^es%QL=D$1Wf^x=UtIDJTc!JRx@zW48(@#`puK7e128V4v<9d`$}a*gw1XNILS zK?leJhYM3mZU^$lyxA(R>c0DBH6a30^rFDz9LP?`C3R@&s!&P0jwbxahixBtlLJ(QV^XT5eJrCJV5khbxm0+Kp*~kL; zzt)Hrn!6M&Fm)RShBX%C-N4zCgC(tnvUM1b;oL3~@8=h1F+ISI13?2{fQzh8ceR^iM2+DqB0={fe-~8vdb*;tQvrR zst5-6{n?UIe0U>s-g?^|Ma9UoI0F#hF7J>6Eufo=SSAJfdq6@ zec0uw>JCLRqVoc#Ql>&W9!|JP;WS`;<7|kwF1#?kz{R&}-9jye5KhOXM_l(GK<<$$wOaj1@|N5ui3T)c|tX+OZ;){h|W z3+LF2X;$t%H$?BIc|8N=W$DHQJ-O%z;cD34PTsQBx9FyLy;$2eZ7jqB+GKmJaiZYW zxJ%ML)t^jA zFtIgFL!pi?(;fE?49vY+K!{iBzvx|AaqQ*}#5e`XlHSg_j&ydlY}f%YaSDAD;jnoX zTT#67$c4)IMVB^fiD9_1&*dH}Iri!d3bZytlG#C>h1EY8kLdU{0!~o;{qQix#vl)5NlFIRc9KA~0- zzK5Q0J15_WkQRqZb$6R-=>YX}1i4;WwTOAL7Bfl0TF3ScnGuQNC+eagpB`hxwR>%A zFDSc~-95lVMq+uAM^^>Mj%@zR%@^kz6g0XjYcmQlRLi46CQvtHfB=tc7aTaVIaqoy zih23HW=c598kXV5#i?@CWaj9)_*v_S%olR>IH}q%8GaOWEG&kVaC5n?&UhAM;{E2;bkw>h*` zn77|i0zE*~1a>pmsXotr$Tlq{P*oCWuR~M9M~^0KCdN>Q*ZcQLM`dQSQKls1pG&{B z59l*ucF)`o3ZwdfmaNVaQucX*0aJ*s{hSloD&?v5(EW%?C$s7MnTg-YpQMS(-j)Q- z?drX|)K*2wCi>&#vLUHotSWQ#;w>Zrs@~~@pG0|wpX-ipmzI*R0bl2XQ+$WOyd=#L zM$%#u0b3GJ@CWvfyR0$WN$(^OCMjnJifF89Zugdb&Q_vU4>+;L9_5*sO5-FpyVYC% zQ1sz9iGGgocq8aDEsW6$Ec22rz%$1}Q|FB9O7tdI#h^9p1H6VD#{PH{&2z&31Nz(s z9~{p+BeCx$W%*&U#UO#WlA3znh39M{{i{iPJ(zA(Uu@rP$b8a&Ng47nB+`Me!&zbK z$f8VfwvKMxke0eJ=xyF8_6uX|0ZT{Rl~>W`r|y$d%&bk*bs(temyaGGg8H2SMraTH zxOPWCKwrEzg=Lr`4mAGZQHWsdym9iVeNEx%qu&0X#FLJChHa5sX)@1e3Ov}HKaoVS z)v?*6NQ#83dR^dev11z{9^r+6m|7{UqBOdG;)hq!dH;Cgx04hE@I+I96ZoSXyPpPP z7T zJu=(92v3k3v*9{#`;`T#HYA_m;|p_K%Z;g9s>T#s8I6`;G2Z!Ub1~$zKBID$#H~7` zo(QctyQD=Wx-Z(bjy=IUJDENpBz7xc_+geWK%RGcEdPago2a=E2a+soX0U9}e1^wcZN1kO zVV4ErMEBdf)@~lBOe}`+=W%rJZyrayk`ZEldh+{mxUzkm2fSd;laX2JbF|=YV(UCM z#+3c#kz%D!9DBlqf>Gi~`e%K{EZV0DfeaGsQlCtd{-3U{J09vk{(q!SIKFmPglw5P zn-G$bQ6lT?taA=!XJwa_&OXU#P={=CPL$Op$;nJsAw{zJz0n`P-|tTk_j$gb@7I34 z-tW85Os@HrCKg^_k*6BWoyN&uzxmTFc&0>thqsC2$h{^}Hv2p0O*Cz*1vkm92!zxZcmYd)V%p5iciFTj5F<5i7`t#>-5 zr&L?o{oMtB^&W?yTt+WsM>Fbm;tQuS*+#l8RRuhTe#SSQ-A!q586{xcF-2kg_7w-K z%FVsg1~YvH+Hv%voj<_LW$bP4cXcPe&R;TGroj1JJSz0rJLGcm^rW8@KMjAqmX;(T z8W>*IwQ_lK7?>rZ7&yZ3W=5{=K*vm?#{UvNu&wl5mb2T>lr*QGpUprijlt|)QApD)m%qQ6lzKxGhSump zyD!Aq2ySyo8}6}AeQGez`K^5SmhtK@w^ov6s!V8}iDe+8U$&zslkRU2QkdWp?$2<3 zVbfX$i3K2xHJg!}kAX{8yTIA9m#b%wr&X!SSSV%cJ_qv4lnvPE;M&mVtU6vZ%HWI0u#BgFsTu zeGJY^Y<@OL>hrH*h8qQS=x&V=iZ0GUCafzVYOS)cof^nx`^efzCtu7;A595w9v`N5Zw z>X=7@I;7=Smaf!Zb`%gHa*@kY1{+dmke=)iUw!~DBOx0qQcDjPr&T~U1sA~VHKPYe z9o+D0D_mHB0ey#3F}t{!bg=lW>@JUfRx}c!l7U3)nD27V3!J)P@n`3LQprQYEO2-3 z?%R~&vlyw{`dSQdB@jTDhhc2bFIqgVHawkf?-rFAcVfq4%YDk@%AyBPXCb@MM(Fi@ z;W+-&X33`#;Zh!wJ(GYtgKM=PH7x6VO-1Cn;4~M&UD3*e+RFxT{|Z|9j?te>s07)2 zq99hzkOix_3fzW2bOwypYeh(-1Pj&!++2Z6|WR`ALIBoIyIRlQbw6nBi47pV`xfO*{6`;3j-4N0|=2 zEH|q)lGU$eze#BOd&-@VUFJ04%jA+Ou5pr#wnpg(&Cg+B@!V#!?7eMrxn0Ryp^9t^ zSsvw2KFn8Sjid*jb)=6OUi6C6WHa*ibV#yuw(9p(mVB5;duac1p1@;Kq!XwFaJqHp z^`38mtZ&0q#5VD2C}J*UYB(l?&ud&^t9|||-aJRC$nkNV7^>%6TD%gwYjrg>RrdM1 zio556AGzE;5H{+cJeFzz;V@(AvjPB|ved+;N^x=(nfP9M@|(W~QJ)Dh$FUoUk@x}{ z2h+-aYt}l!mCJ9q8LEeeW1dE^#qL@bjrgL!PcIN=HN!RU0y+v~~@z zBUM|zA%9x9M>6uBI0V%gs z|4I+XsKI@vMsK7kOvCG9`=t2^3Mgqx?&Zm}?6vIMJn?>wN<~GF>pV~fa}Vc<-0aoE zYA0dVz`E`MX_nl5`MudP_{i1b}*%%8OU6g4=kqArVTu15m)OjLdVNUvF4oF*KqeVqfbA$_2MQ&zqS0j;NQz4 z?0JRX)lO2`0Q*ck7ffkDg)d#5VoE*IlOhO}l0mRb;Y#MJ#|L0+g2w8(VNZ=l<9-$} z+@B7$RVmA`4zm4^dx!98^9&_S22vqqHa3Vh-g(38$^LpA&J zS@RVM+bbbLEO4_Af7D~5C4uR8v$aH)P+ATJ`Ep!B9t^3R&Cr$>)C|WD48K_KrAbL7G40$)%2rvuX)H(%7CyeL78(35`XkcPDgQbX( zK(-4mN#leSigMAydiYtqFG#N@PkfLaTjv53=i;Ua;T}M^?(Ny188e1X$abLysO;&R zlK(cP3K>lnqh`Bc4|bm+rdNI$im^W_{JwjV3U|KlC04B+_K@DucCM@B%-ufVR}hmA zrMQsi*hAIpXImGwt0Hx>mCK*zQwP~8=8}UN-5S4s{Mk~^EF9{1-A{)yX*`Fn!Rvsf z_|0GqV%w>{B~MopKC&eGKmtmakl%m=3iV${W>)KzrO(})#s-vgS<0KoDb&bOl9H$k zVYoQrn-`zsVeBpPTo}(E9=hp!muct5cX%;z63ZfDHp_2K(J$ zg*$ymmh^;9qC1^W^82TR^%GQXM0ts-!k*0{OTJFO8pk0Ni+h3-K&u+TpWdmv%v6rpCY(nFw1UHClv#t(9t2)v5 z#v9ph=?4q5(c6%B!daM2V#q@u{y$)ZC7A%;8m<~xcCNrGk@A*`7jh8J{$i9(M`9{W z6Gt;dFyne4eH}5mc)i*IyBhz7*hZT>k%4APoc$Z{%8mSHC9+(+uwJ70uy86g11TxM z*gCLGvcM&g5_4zY{&m=P-TrK_-{$`Q%F@XGj{Q(Br6PQcWYGahgJT^;rK#wuOEf85 z9{gt7dHx3Uv6#MPeHm(<_^@+J9Ei%$GoG{}l5~gZ6v~nYVVF3}Bw!{?0w+K8hW0CxUzKkbCB%<6a%{=Vi8Y}40la|> zqkcRoc*}X10N9^9({TR$A$w#g88mTPO1i~T1$PoDaZ6d>6-!OB9N%C&ptuK0R}g%| zFC}B|TuYw6pvXv^T`$c_=6~a66jtShOaf9Us#h&OwC~Bz`p8T_LmiIH*MX8^^n{*s zrL%0&^^Z(>e3kGIs*!sFldD4F)$}&Pi?m8|UX2!q!?q z-08IlbP12U^Oob~L`suYU-LCzN_yRJNa2q|drg;+`1au7uat==^eh=gC&9=xhJ{ak zVIjkX*&6QZ&Di0>f0%h99KgWEYg$|T^WaH=CXv!oMTjX&o!s_rIXNZO2>JKa6GIvfM|-!B*gh|r!Wx}aY~o>{g<|=E0t9%4lx;)U$4)4zO>5!_52D`8 zlXms^g)$YVJ-X+@orM#r&0<1f9d7^+&!r3(0c-e8z@vo!?m-5O5M}4GY)Jc$gJ|~3 z)!*FE+!t~syux{Ry0M-de&g0kFSAswTqV$PQB+Gk&JmNyfLr_9Rh4}XR#O{4g-IhG zcmd&RihVdM0{@A`@Z&=1%az#NembRV)0$+)hly^TZq#`UNjlsZg{A8AjRG^yqV4L@ zj+l20xSI8@sx)udt6GK?@XeA#ASMk^D*SMx4LHMW`;&pWsi^Fp>PhI#h0rv{xY+D1 zc|@b!%o_j@hlxs*#;pN>Y;V9Mbt?TI6EiT7&)dq@J}pAviptF%OB>MRIUbRs8!B@E zuvc^bvG&Yyv3B(&OnRbp>jFV)K)06T(-*D89$m_V`Wfo^eaL_@pfCb;Nr<+wxGWto zsJjr_&kz@Dy&^C7*nGwr0Hk1w0Dxzk)PQR(2N?hu=usY&Qqaf;ALPs@lE{w>d^m^1 zb3ba;D+a-@2-(cgKE?#ryV#$qR<_ zyY>hi6~;I1a`wn9mij=8l~oXA*haHZ`rSL4iK$QUX2Eeq!*A_FiZyT8cw2^b*xA|` zXu7)u+IL=Xv>I}K@jx#m@kt4a9@N?px6=~L;{A?utq#P|%y?CsqRmoJ|zC~fTFK}z}#2l0MVF$9!Ny(InFv`d8--NuyYEe4emibP*b7ka|; zgThE>E!VvIi8O5XaYO~!G-_!Tffso}LcQq98}(1{QI=r%@>^ie@ol71_&m3{<~@h> zE|Y!Fj~d@fYq{rnbkeXnN77P1hQQyj!7bTj(EWOZZHuE1;cB`g5jz|8KEOfNr|G9pj!toh>wY$H1nwKR^-Z z`>_kXzc8fnZMK&CmpWK4|KEB{2)rs?kUDp|zqE}RT5m&QPx_1?nnM@|=k>Eq>1wPz zN7a1Abh@PMC|;(-(v@4qs_D@is4_}wT2kQhpJ}>lc02IBV{v-1D`TZlI}@=kme{;g zjCTh`4Mc&!-;(|lfIf}O`rG(?NkL2>&^Q=#Ffxec~vK{rL_4?l2k>JS?Rz16PGx94i@rGcI zpeP(_XF4fi)hL*M4Bol%>`!f>!LO-TfzCO;6P4d&d65fk%h$MrtUL~jALw`%h|(=Q z#e|!i7)dEeJ$>pqX<+JSTkb$qx_f81-u=GU4HZkV{X=x zzaQ$foj10(FF;68H!GdP$oG+#YbuBT!>=7*yl%55n@KD^C}!Bz!Z+8!%yOYR!&6qV zE6w1Jb3fJPR?K}gvTL%#_xJOso#E@rec|yH!VaXVXV~XQnk00AMsMH#5vhpCbLUJ@$wzc_L@|6g%@@bG1a0pQ#a44kcCGR=RIY<^OI9hhX= zlE{211gXy@J;_1sU}7p;(ME18EW27-SYCKO%GY0}7O5I&yTCOH3iC6hur zWmU)0NMX;w39O*xsP$K(DwxCIXayltFQloM=qPS@l=&D$sJQx5@5Z3N-%mZiV5MHh zj4HRZ!5*t4RZ3@r>c1rY);qbe)M9WOucBM6vnU5MuI6fYg-XfQ?61VDU@K4LA#pa& z`beFp{_>02K9-IUlvRY8z&|Sm?*_~o8i>4~ofk%1VK;T8<_IIzJ+TqO zqC)}&bfLso3V*XSKSU~PWW)h{zJ=D??xz{K9+*W$9}B3xQPF&2E%afxxO2cAVvmU> zo@YnYFIw}<`&Klvu) zxg3?tOC@@Q9%-Y17tzkREgy{go2OhM06}i|mQAkop+1Mjy;#^Zd22-8JE5S#`ERT3 zbQ6SURv*7xm#se~y)sv!gyQ{Q)2anD-B`D+e=*m7TFH0&)Y$HmOGn;@as-ndmlQ4K zYle6J=8yA1qq=k3z1DS2YZGn@;)>+TjJi8t$5QV9;~rc4h45?`OhH+D3evCvaHvQ6 zb%ri7plMIVJ?w-6dhu+5sp7)pvynyzy+?h600QsvSFG8*Z)NWL3F zxJC0WI&PKhIhOI=oBBtFqW%taaq`=A@uvL<(!>bMF|>B_aukQ9%i@|X{<^$^@1NoV zQ`LpXLU#|*H%#hA0h!x{z1_8;b`w=15&BuUv23#7(&q43^|M^XU<^sLV3+X$;n1fD zZr;e6MGfj+nv}p!jiO5%ioGQA>OYS<`;Ap9#l`Vxx&vE@@J=2fJj)*8;y#Xr^`iH1Kcsv0Y`E9ir}5h- zj@GD^zeD-lHAQSv2(2{Mqqa94>mB;(L_kU#{jTxbBONpT9R?=Rq#VJkz9if77WW1n z!h8GCxEn#c)x6T-ARD2JcNOqA-d6yhRvmRC>CW3x@&>ECJybg3TwY7$Acka00fiQX zEDef`dLE0NDERlF!TK1%W3!o&5?Wlc3po#4&yD|DXX9lFLI4yRb8zl7lrgc!8`^di zf|7k(TR5V(jXQshh#ZkuHzR|vNq7;&s|y# zLSJ7Wi}S_oQ|Dlk+7Ed_3?LrK8@sDhl+r-A{PtT;>EUFo22j_Iln=q)(v|15eP5;- zfI)WZPOUBxr0jb4I&LqE18xx?W5B<4#>VMN87KY1-tToIaq?;AK3xBv7N!LPK}dY3 vm#%=ex64}|B&hp2mW3}lRUhOB2)1?oF-rzU0Apx-@Tb0x@x>Qf$f*AT^0KdP literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/sandbox-harden.png b/docs/sourcey-catalog/site/_og/pages/sandbox-harden.png new file mode 100644 index 0000000000000000000000000000000000000000..13d73a3a0f47e34d029fa98d19cc05f80b36f131 GIT binary patch literal 70680 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

%#$!T?yMaGMxk=8b*8jxKy88PY$RAMD<5X%OW7G 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�r5_>XL@?N=ssc(v&R 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 C)Wf>~ literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/web-fetch.png b/docs/sourcey-catalog/site/_og/pages/web-fetch.png new file mode 100644 index 0000000000000000000000000000000000000000..406f17f7b0094d4ee6e1842d754be8859bbe0da6 GIT binary patch literal 80954 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 literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/_og/pages/work-plan.png b/docs/sourcey-catalog/site/_og/pages/work-plan.png new file mode 100644 index 0000000000000000000000000000000000000000..2b50b849052c5712af3dec0b416be45ae047c402 GIT binary patch literal 66809 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 JRiuRS|3BMXz7PNa literal 0 HcmV?d00001 diff --git a/docs/sourcey-catalog/site/index.html b/docs/sourcey-catalog/site/index.html new file mode 100644 index 000000000..050ed19f5 --- /dev/null +++ b/docs/sourcey-catalog/site/index.html @@ -0,0 +1,27 @@ + +Introduction - Runx Governed Skill Catalog

\ No newline at end of file diff --git a/docs/sourcey-catalog/site/llms-full.txt b/docs/sourcey-catalog/site/llms-full.txt new file mode 100644 index 000000000..0ae5799e7 --- /dev/null +++ b/docs/sourcey-catalog/site/llms-full.txt @@ -0,0 +1,205 @@ +# Runx Governed Skill Catalog + +Governed Runx skill catalog pinned to one upstream revision. + +## Skills + +### Introduction + +Path: `/runxhq/runx/pages/introduction.html` + +Governed Runx skill catalog pinned to one upstream revision. + +Runx Governed Skill Catalog This catalog covers exactly 24 governed Runx skills at upstream commit 5afc25a83edf1c1320df7ac0d78c36f1523b5677 . The skills are organized into five groups: Operate, Research and data, GitHub and delivery, Safety and review, and Outbound and tooling. Each catalog page links to its authoritative SKILL.md at the pinned commit. This is a governed skill catalog, not a claim of complete Runx API coverage. + +### agency + +Path: `/runxhq/runx/pages/agency.html` + +Run a standing, accountable team toward a mandate, one governed turn at a time. + +Group: Operate Source: skills/agency/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/agency/SKILL.md Agency Run a standing, accountable team toward a mandate, one governed turn at a time. An agency is the only runx skill that holds a roster, a persistent objective, and a case that spans turns. It is a governed delegation envelope: a defined set of members with scope ceilings, a mandate, cumulative limits, and a case whose every turn is sealed and replayable. It composes the existing skills and reimplements none. Each turn borrows ops-desk for judgment, the roster members for execution, data-store for the event log, and receipts for the ledger. It is not a durable-execution engine and it is not an autonomous daemon. One turn is one stateless governed act; an external driver (a human, a cron, a board poll) runs the loop by calling advance until the case resolves. What this skill does open starts a case: it appends opened with the mandate, the roster, and the cumulative limits snapshot, so the charter travels with the case. advance runs one turn: it folds the case from its event stream, asks ops-desk for the single next move constrained to the roster, enforces the measurable gate, records one turn event whose append is the contention lease, and names the member to run. The member runs as a separate governed run; its outcome is fed back to the next advance as member_result . status folds and returns the current case state. The case reducer is the agency's own code, because data-store carries events but does not fold domain state. Everything else is delegation. When to use this skill A standing, consequential mandate must run for days or weeks, dispatch different members, and leave an auditable trail sealed to a bounded authority. A process needs scoped delegation with a measurable ceiling and a human gate on consequence, not an unbounded agent. When not to use this skill One-shot or interactive work. Call the member skills directly; the agency is overhead when the operator is already the loop. To compute proposals (that is ops-desk ) or claim and clock logic (that is messageboard ). Compose them. To bake a storage backend. The case lives in data-store via data_source_ref . To let the model invent the roster, the mandate, or the limits. They are operator config, snapshotted into the case at open . Procedure open the case with the mandate, roster, and limits. advance the case. Read the turn packet: advanced : run the named member under its scope, then advance again with the member's outcome as member_result . awaiting_approval : resolve the escalation, then advance . resolved or failed : the case is closed. Repeat until the case resolves. The driver, not this skill, decides the cadence. The measurable gate The done-check and the limit-check are measurable first. advance folds cumulative totals (acts, spend) and the trusted planner overrides the model when a cap is breached: an over-cap turn fails regardless of what ops-desk proposed. The narrative judgment from ops-desk chooses the move within the caps; it never widens them. Spend caps tracked in the projection are the v1 path; routing spend through spend and runx-pay reservations is the stronger enforcement. Contention Two drivers must not double-fire a member act. Each turn appends a single event keyed case_id:turn:driver_id at the folded expected_version . Two drivers racing the same turn carry different keys, so the loser hits a hard version conflict rather than replaying the winner, and stops before any dispatch. The append is the lease, and it lands before the named member runs. Edge cases and stop conditions No case at case_id : advance returns needs_input ; open the case first. A cumulative cap is reached: the turn is failed with the breached predicate named. The best move is consequential and unapproved: awaiting_approval with the prompt. No roster member can act and nothing is escalatable: escalate to the configured human with the missing input named. Output schema advance returns one agency_turn : Copy agency_turn : schema : runx.agency.turn.v1 status : advanced | awaiting_approval | resolved | needs_input | failed case_id : string turn : number dispatch : # present when status == advanced member : string skill : string task : string needed_scope : [ string ] approval_prompt : string | null resolution : object | null predicates : object # the measurable over_limits booleans reason : string | null next : string Inputs open : data_source_ref , case_id , agency_ref , mandate , roster , limits , optional signal . advance : data_source_ref , case_id , driver_id , optional member_result . status : data_source_ref , case_id . Worked example Open a docs case with a researcher, writer, and reviewer and a 50-turn limit. advance folds an empty-but-opened case, ops-desk picks the researcher, and the turn returns advanced naming the researcher. The driver runs the researcher and calls advance again with its result; ops-desk now picks the writer to draft. When the reviewer approves and the projection shows the docs current, advance returns resolved . Turn rules Fold every turn from the sealed stream; never infer state the events do not show. Enforce the measurable gate before the model's judgment; never widen a cap. Name the member and the verification expectation on every dispatch; never claim work settled, sent, paid, or done without a receipt. Compose ops-desk, data-store, and the members; never reimplement them, and never invent the roster or the mandate. Stop cleanly with needs_input, awaiting_approval, refused, or failed; never a fake ready. + +### business-ops + +Path: `/runxhq/runx/pages/business-ops.html` + +Turn one business signal into a replayable operations graph. + +Group: Operate Source: skills/business-ops/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/business-ops/SKILL.md Business Ops Turn one business signal into a replayable operations graph. business-ops is the generic public example for how runx makes agentic business work composable without giving the agent ambient authority. It is a deterministic graph skeleton: it classifies one signal, fans it into bounded lanes, records why each lane exists, names the real skill or provider lane that would replace the fixture, and stops before any live send, spend, publish, merge, deploy, or customer-visible action. This is not a provider integration and not an operator dashboard. It is the small core shape that teams copy when they want one objective to fan out into a chain of skills, then replay that chain with receipts. When the route itself should become durable, use route_and_append . That runner classifies the signal, appends the classification packet through data-store , and reads back the projection. The same graph can use local JSON, SQLite, Postgres, D1, Redis, or a product adapter by changing the data_source_ref binding. What this skill does Classifies one business signal before doing work. Fans the signal through representative lanes: docs, release, issue/PR, outreach planning, spend quoting, and proof audit. Produces structured lane packets with authority, gate, handoff, evidence, and readback fields. Demonstrates the runx split between proposal work and consequential action: drafts and plans can be produced, but sends, spend, merges, publishes, and deploys require a separate approval and execution lane. Gives downstream agents a clear handoff target instead of vague prose. Optionally persists the classified route for replay through data-store . What this skill deliberately does not do It does not call private providers, mutate a repo, post to GitHub, send email, schedule campaigns, move money, publish releases, or deploy services. It does not duplicate ops-desk , product operator skills, send-as , vendor-specific provider skills, release , issue-to-pr , spend , or receipt-audit skills. It does not turn "outbound marketing" into a hidden side effect. Outreach is a plan lane here; real delivery routes to send-as and then a provider adapter. Branded provider skills are concrete adapters, not branches in this core graph. It does not treat the graph receipt as proof that an external provider action happened. Provider actions need provider evidence and their own receipt. When to use this skill To show how runx chains skills into replayable business operations. To prototype a team-specific ops graph before wiring private provider tools. To route a product signal without giving the agent blanket repo, email, wallet, or deployment access. To explain why a governed workflow is more useful than a one-shot prompt: the route, stops, handoffs, and readbacks are explicit and replayable. To smoke-test graph execution and child receipts with no external account. When not to use this skill To run a production launch, incident, release, campaign, support reply, payout, or spend flow as-is. Replace fixture lanes with real skills first. To approve a live send, spend, merge, publish, deploy, or customer-visible action. To hide project policy, customer lists, credentials, wallet keys, provider dumps, or private review context in the signal. To claim external work completed when only this fixture graph ran. Mental model Copy signal -> classify -> fanout lanes -> approval stops -> governed handoffs -> proof The useful part is the chain. A single objective becomes several typed packets: some read-only, some draft-only, some blocked until approval, and one proof lane that states how success should be verified later. A human, agent, dashboard, or CI loop can replay the same route and see the same stops. How this maps to real runx work Docs and public proof route to a docs skill such as sourcey or a product-owned documentation lane. Release preparation routes to release , with publish held behind a release approval. Code work routes to issue-to-pr or a project-owned implementation lane, with merge held behind review. Outreach and customer communication route first to send-as , then to a provider adapter that implements the send lane. Branded provider skills are the right place for vendor-specific compose, test, review, schedule, or send details. Broad outbound marketing should be its own skill or product broadcast skill, not extra logic hidden in this graph. Spend and payments route to quote or payout skills with caps, recipient, rail, and settlement proof separated from the planning lane. Proof routes to receipt/history/audit skills and provider readbacks. The fixture ops-lane step simply returns these packets without performing the handoff. In a real project, replace each fixture lane with the named governed skill runner or provider tool. Procedure Receive one concise signal . Optionally receive operator_context with project constraints, policy, or the concrete business situation. Run classify first. It decides which lanes are relevant and what authority class each lane belongs to. Fan out docs, release, issue, outreach, spend, and proof packets. Mark each lane as read-only, draft-only, approval-required, or proof-only. Name the exact downstream handoff that should replace the fixture in a real workflow. Seal the graph so the route itself is replayable. If using route_and_append , append the classification packet with an idempotency key and expected version, then read back the projection. Edge cases and stop conditions Missing signal: return needs_input . There is no safe route. Vague objective: return a narrow classify packet and ask for the missing product, audience, repo, release, amount, or provider context. Live send without principal, audience, consent, digest, and approval: stop at the outreach lane and route to send-as . Spend without amount, cap, recipient, rail, and approval: stop at the spend lane and route to a quote or payment skill. Merge, publish, deploy, or destructive mutation without approval: stop at the relevant lane and name the missing gate. Provider success without provider evidence: do not mark complete. Route to proof audit. Secret or private data in the signal: refuse to echo it into outputs; require redacted context or a provider-side readback instead. Output schema The graph output contains child step receipts plus one lane_packet per lane: Copy lane_packet : schema : runx.business_ops_lane.v1 lane : string signal : string status : ready | awaiting_approval | needs_input | refused decision : route | prepare | draft | quote | verify | stop kind : router | docs | release | work | outreach | spend | proof consequence : read_only | draft | live_mutation | public_send | money_movement | proof summary : string why : string authority : requested : [ string ] provided : fixture_only gate : approval_required : boolean approval_gate : string | null stop_reason : string | null handoff : interface : skill | graph | cli | hosted_api | workflow | provider_tool lane_ref : string runner_ref : string | null command_hint : string | null evidence : inputs_required : [ string ] readbacks : [ string ] receipt_refs : [ string ] risks : [ string ] next : [ string ] Worked example Copy runx skill business-ops \ -i signal="launch readiness for API v2: docs, release, customer comms, and spend checks" \ --json The graph classifies the launch signal, prepares docs/release/work packets, routes customer communication to an outreach plan, stops spend at a quote gate, and names receipt/history checks that would prove later execution. No external provider is called. Inputs signal (required): concise business operations signal to classify and route. operator_context (optional): product policy, project topology, audience constraints, or known provider state. Context only, not authority. + +### operator-inbox + +Path: `/runxhq/runx/pages/operator-inbox.html` + +Maintain a durable action queue without turning a connector into the owner of operator state. + +Group: Operate Source: skills/operator-inbox/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/operator-inbox/SKILL.md Operator Inbox Maintain a durable action queue without turning a connector into the owner of operator state. The caller fetches bounded, grant-authorized provider pages and passes their normalized observations to this skill. The skill owns work-item identity, status, dispositions, replay suppression, reopen rules, and scan coverage. Every read and write is composed through data-store ; the skill does not call Slack, SQLite, Postgres, or another provider directly. What this skill does Use local://runx/operator-inbox/default unless the operator selects another logical source. Unbound local refs resolve to SQLite under .runx/data/local-sources/ . A hosted database is opt-in through the same data_source_ref binding. Runx Connect may still own OAuth, grants, and provider execution; that does not move this queue into the hosted control plane. Observations and resumable checkpoints live in operator_inbox_scans , partitioned by query digest. Action snapshots live in operator_inbox_actions , with one stream per stable thread digest. Queue reads use bounded list_stream_heads pages; no command folds or transports the complete queue. When to use this skill Build or revisit a local action queue from bounded connector observations. Preserve an explicit resolved , dismissed , waiting , or followed_up decision across repeated provider scans. Reopen a completed item when a newer external occurrence arrives. Inspect bounded action or scan state without handing queue ownership to the provider or hosted control plane. When not to use this skill Do not fetch provider data, reply, send, or mutate a remote account here. Do not infer that an item is complete from message text or provider state. Do not use it as an unbounded archive of raw messages or credentials. Do not place a private operator's routing policy or identity in this public package; pass normalized observations and explicit dispositions as inputs. Status rules Items use open , waiting , followed_up , resolved , or dismissed . Provider observations never infer completion. A human disposition records actor, reason, time, the latest external occurrence it covers, and optional HTTPS evidence. Replaying old search history preserves the human status. An external message newer than the covered occurrence reopens the item to open , including unseen work that arrived before the disposition was saved. Scan coverage is explicit: running , complete , truncated , or failed . Direct mentions are actionable structural evidence. Author and keyword scans remain observation-only unless the operator explicitly marks the query actionable. The skill does not contain provider-specific keyword heuristics. The provider-neutral thread locator is the item key. Stored previews are bounded; credentials, tokens, and full provider response envelopes are forbidden. Procedure Read the latest checkpoint for the bounded query digest. Resume its provider cursor when the prior scan was interrupted or truncated. Fetch one bounded provider page through the caller's authorized connector. Record actionable messages against their per-thread streams and append the scan page with its next cursor. On a version conflict, reload only the affected scan or action stream and retry the idempotent transition. List queue state through bounded action-head pages and use record_disposition only for an explicit operator correction. The loop is outside the kernel. Each page or disposition remains one governed, receipt-backed Runx turn. Edge cases and stop conditions needs_input : missing query identity, observation, disposition, actor, reason, or scan coverage. conflict : the projection version is stale; reload before retrying. provider_unavailable : the caller cannot prove provider read coverage. too_broad : a page exceeds the bounded message count or contains unnormalized provider data. refused : a caller asks this skill to send, reply, broaden a grant, store a token, or silently claim complete coverage. Output schema Write runners emit runx.effect.transition.v1 , containing the effect family, operation, expected projection version, idempotency key, and one normalized event. Read and list runners return the corresponding bounded data-store event result; they never synthesize provider coverage or completion. Worked example Given a normalized direct mention from a teammate in one provider thread, record_action_observation derives the stable action id from the provider-neutral thread locator and appends an open action snapshot. If the operator later records resolved with a reason, replaying that mention preserves resolved ; a newer external reply in the same thread appends a reopened open snapshot. Inputs All runners require data_source_ref . Write runners also take the target id, expected_version , and observed_at , plus exactly the normalized payload for their operation: scan and messages , message and triage , disposition , or an imported action . Reads take action_id or query_digest ; list runners take bounded limit and optional cursor or filter fields. + +### ops-desk + +Path: `/runxhq/runx/pages/ops-desk.html` + +Operate a project, workspace, or account from an agent-controlled desk. + +Group: Operate Source: skills/ops-desk/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/ops-desk/SKILL.md Ops Desk Operate a project, workspace, or account from an agent-controlled desk. This skill is the generic operations desk layer. It turns a state snapshot, an operator objective, and receipt-backed evidence into one safe ops desk packet: what is happening, what needs attention, what can be checked read-only, what requires approval, which governed lane should execute, and how success will be verified. It is not the authority and it is not a second CLI. It does not replace release , send-as , ledger , refund , spend , messageboard , provider-specific adapter skills, hosted API routes, repository workflows, or deploy commands. It routes to the existing interface with the smallest sufficient context and stops before any consequential act that lacks the right gate. What this skill does ops-desk produces an ops desk packet for a manager dashboard, agent session, or self-operation run. It reads projected state, classifies findings, ranks the next action, selects the governed lane, names blockers, writes the approval prompt when a human decision is required, and states the receipt/effect/readback that will prove success. It is useful before an action and after an action: before action, it turns state into proposals and approval requests; after action, it checks whether the expected receipt and projection appeared. The model may diagnose and write the operator rationale. The mutation itself must be a deterministic handoff to an existing skill runner, CLI command, hosted API route, workflow, or provider tool. When the desk should start from durable state, use operate_from_projection . That runner reads a projection through data-store first, then passes the projection as the dashboard snapshot. The storage provider is still selected by the logical data_source_ref ; ops desk does not know whether state came from SQLite, Postgres, D1, Redis, or a product API. When a standing case must be advanced one move at a time toward a mandate, use advance . It takes the mandate, the current case_state , and a fixed candidate_roster , and returns a single typed dispatch_decision : dispatch one roster member, escalate, or done. It applies the same ranking and the same gates as operate , but it is hard-constrained to the roster and emits one move instead of a multi-proposal plan. The caller (an agency loop) holds the case and the goal; ops desk supplies the judgment. The chosen member is named as data; ops desk never runs it. When to use this skill An operator asks an agent to manage a project, workspace, product, account, or other bounded operating surface. A dashboard needs an agent-readable plan from the current projected state. A runbook needs to decide between read-only checks, proposals, approval-gated actions, and post-action verification. A product-specific operator skill needs a generic cockpit spine instead of inventing its own action model. A standing case (an agency) needs the single next governed move chosen from a fixed roster, one turn at a time. Runx needs to dogfood its own release, registry, hosted, receipt, or provider operations through the same governed lanes it exposes to users. When not to use this skill To execute a live mutation directly. Route to the named governed lane. To duplicate a CLI command, release script, GitHub workflow, hosted endpoint, registry client, or provider SDK. To bypass a human gate because the agent or UI believes the action is obvious. To replace a domain skill such as send-as , messageboard , release , ledger , refund , spend , least-privilege , or a provider adapter. To operate from stale, missing, or unverifiable state while claiming readiness. To put secrets, private keys, raw customer lists, or provider dumps into the ops desk packet. Operating Model Use one loop: Copy snapshot -> findings -> proposals -> approval -> governed lane -> receipt -> projection The manager dashboard and the agent must read the same state and emit the same action families. A button click and an agent plan are different interfaces over the same governed lane, not separate backdoors. Delegation Model Ops desk packets name existing execution surfaces; they do not implement them. release owns release preparation, approval, publish handoff, and post-release verification. ledger , audit-receipt , and run-history own proof questions. send-as owns authority for live communications; provider adapter skills own provider-specific execution details. spend , charge , refund , and branded payment skills own money movement. Project skills own product vocabulary and product-specific actions. CLI commands, hosted API routes, and GitHub workflows remain deterministic execution interfaces. The operator skill may cite them as handoff targets but must not clone their behavior in prose. If no existing lane can perform the action cleanly, return needs_input or a product gap. Do not invent a private workaround. Procedure Scope the objective. Identify the workspace, project, account, surface, time window, and whether the ask is read-only, proposal-only, or execution-prep. Read project_profile or operator_policy as context, not authority. If the operating scope or objective is ambiguous, return needs_input . Classify state from evidence. Use dashboard_snapshot , receipt_summary , effect_summary , and provider_status when present. Treat missing evidence as missing. Do not infer success from UI state alone. Separate health, money, communications, provider mutations, access, deployment, and incident signals. For review, catalog, publication, bounty, or marketplace work, classify whether the artifact is real, useful, complete, and valuable. A reachable artifact with no credible user, maintainer, operator, public proof, or marketing value is not ready. If using operate_from_projection , treat the read projection as the dashboard snapshot. An empty projection is not an error, but it should usually produce needs_input rather than fake readiness. Route to governed lanes. Release questions route to release plus the project release profile and existing release workflow/commands. Audit questions route to ledger , audit-receipt , run-history , or least-privilege . Live communication routes through send-as and then a provider adapter. Payment collection, payout, refund, chargeback, or target changes route to the matching payment lane. Board, thread, and provider actions route to messageboard , a provider adapter, issue-intake , issue-to-pr , or the product's own skill. Deploy and config changes route to the product-owned deploy lane. Decide gates. Read-only checks: no human approval. Drafts, dry-runs, previews, and reports: no live-action approval unless they expose private data or broaden authority. Live sends, payouts, refunds, customer-visible posts, provider mutations, target changes, credential changes, deploys, destructive actions, and broad audience decisions: explicit approval required. A review verdict, recommendation, or green dry-run is not payment approval. Money movement needs a separate approval prompt naming the amount, recipient, rail, target class, and verification receipt expected after settlement. Missing approval means awaiting_approval , not "ready". Produce the ops desk packet. Lead with the few issues an operator should act on now. Name the exact lane for each proposed action. Include the existing execution interface as a handoff, not as a duplicated implementation. Include approval copy only when the operator could approve it safely. Include verification steps that will prove the action happened. Stop cleanly. Return needs_input for missing scope, objective, identity, authority, evidence, approval, or target. Return refused for requests to bypass gates, hide material facts, leak secrets, spoof receipts, mark unsettled money as settled, or send without a principal/audience/content digest. Edge cases and stop conditions No project/workspace/account or objective: return needs_input ; there is no safe operating frame. No projection or receipt evidence: return needs_input or unknown status; do not convert silence into ok . Requested action has unknown consequence: stop at needs_input with the missing lane/consequence classification. Money, public send, deploy, credential, target, destructive, or provider mutation without approval: return awaiting_approval . Approval text is too broad to approve safely: return needs_input with the exact missing amount, audience, target, network, provider, or effect. User asks to skip a gate, hide a blocker, forge a receipt, or mark state settled without proof: return refused . Reference Loading Load only the reference needed for the objective: Payments, payouts, refunds, payment rail adapters, reconciliation: references/payments.md Email, campaigns, notifications, customer/public communication: references/communications.md Receipt verification, ledger, trust roots, after-action proof: references/receipts.md Provider health, deploys, webhooks, credentials, outages: references/providers.md Manager dashboard state, projections, and action catalog design: references/dashboard.md Delegation, project profiles, CLI/workflow handoff, and dogfooding rules: references/delegation.md Output schema Return one ops_desk_packet : Copy ops_desk_packet : decision : ready | awaiting_approval | needs_input | no_action | refused scope_ref : string objective : string mode : read_only | proposal | execution_prep | post_action_review dashboard : health : ok | degraded | blocked | unknown money : ok | needs_attention | blocked | unknown communications : ok | needs_attention | blocked | unknown providers : ok | needs_attention | blocked | unknown receipts : ok | needs_attention | blocked | unknown findings : - severity : info | warning | critical area : health | money | communications | providers | receipts | access | deploy summary : string evidence_refs : [ string ] proposals : - action_id : string lane : string reason : string inputs_summary : object consequence : read_only | draft | live_mutation | money_movement | public_send | deploy approval_required : boolean approval_prompt : string | null blockers : [ string ] verification : expected_receipt : string expected_effect : string | null readback : string execution : interface : skill | cli | hosted_api | workflow | provider_tool | manual lane_ref : string profile_ref : string | null command_ref : string | null workflow_ref : string | null approval_gate : string | null verifier_ref : string | null ordered_next_steps : - step : string lane : string requires_confirmation : boolean refused_reasons : [ string ] needs_input : [ string ] success_checkpoint : milestone : string description : string The advance runner returns one dispatch_decision : Copy dispatch_decision : decision : dispatch | escalate | done reason : string dispatch : # present when decision == dispatch member : string # a role from candidate_roster skill : string # that role's roster skill, echoed task : string # what the member should do needed_scope : [ string ] # subset of the member's scope ceiling consequence : read_only | draft | live_mutation | money_movement | public_send | deploy verification : expected_receipt : string readback : string escalation : # present when decision == escalate to : string # a roster role or "human" trigger : string ask : string approval_prompt : string | null resolution : # present when decision == done reason : string Decision rules Prefer one clear next action over a dashboard dump. Never bury a required approval in prose; put it in approval_prompt . Never expose tokens, API keys, raw customer lists, private wallet keys, or provider response dumps. Never claim a state is settled, sent, deployed, paid, or refunded without a receipt/effect/readback reference. Never route a public artifact, skill, bounty result, or docs deployment as ready when it lacks a credible real-world audience or durable public evidence. Never widen authority because a dashboard widget would be convenient. Never duplicate an existing CLI command, workflow, hosted endpoint, or domain skill in operator prose. Route to it. Keep product-specific policy in product context. Keep this skill generic. Inputs objective (required): operator request, e.g. "check payments and unblock funding", "prepare a campaign send", or "review stuck receipts". scope_ref (required): the project, workspace, account, product, or bounded surface being operated. dashboard_snapshot (optional): JSON summary of current projected state. receipt_summary (optional): JSON or prose receipt/effect summary. provider_status (optional): JSON or prose provider health/account state. approval_context (optional): existing operator approvals, denials, or policy gates. operator_policy (optional): project-specific constraints and lane names. project_profile (optional): project topology, existing interfaces, and verification expectations. It is context, not authority. requested_action (optional): preselected action lane or dashboard action id. Worked example Input: "Check payment readiness and tell me what to do next" with a dashboard snapshot showing healthy quote/readback state, three funded items, no unfunded approved items, and one rail adapter webhook status needs_review . Output: decision: ready , money status ok , providers status needs_attention , one warning finding for rail webhook readiness, and one proposal routing to provider.webhook_check with no money movement. It does not propose marking anything funded, because no unfunded approved item is present and the latest funding receipt is already verified. + +### work-plan + +Path: `/runxhq/runx/pages/work-plan.html` + +Turn a build or automation objective into a bounded governed work plan. + +Group: Operate Source: skills/work-plan/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/work-plan/SKILL.md Work Plan Turn a build or automation objective into a bounded governed work plan. For cross-repo or cross-surface work, the output must be a phased workspace_change_plan , not just a loose list of steps. The shared plan is the thing that keeps repo-local workers aligned when one issue fans out into multiple mutation surfaces. When the objective originates from an existing thread, treat that thread as provider-backed thread. GitHub issues, chat threads, support tickets, and local agent sessions are adapter examples, not core nouns. The plan should preserve the generic thread_locator and any supplied thread . The central insight: split at governance boundaries, not cognitive boundaries. A skill keeps its full context window. If two actions need the same context but different scopes, they are two invocations of the same skill with different scopes — not two separate skills. The graph defines where authority changes, where mutation happens, and where a gate needs to approve. That is where steps break. Work backward from the deliverable. Name the concrete artifact the objective produces (spec, patch, PR, docs site, report). Then identify where authority narrows: read-only analysis, write-access mutation, approval gates, review boundaries. Each narrowing is a step boundary. Each step gets only the scopes it needs — no step inherits from a prior step, each derives from the graph grant independently. Determine data dependencies between steps. A step that consumes output from a prior step must come after it. Steps with no data dependency are candidates for fanout. Do not parallelize steps that share mutation targets. If the objective is ambiguous or required context is missing, surface open questions explicitly rather than guessing. Open questions should name what is missing, why it matters, and who can answer it. Prefer fewer steps with clear scope boundaries. Three well-scoped steps beat seven single-purpose fragments. Every step should have a clear entry condition, action, and exit artifact. Output change_set : the parent change artifact inherited from intake or constructed for the objective when intake did not already produce one. It should preserve the shared objective, target surfaces, invariants, and success criteria. harness_context : when supplied, the same runx.receipt.v1 packet with state advanced to planning_ready or blocked . Preserve source events, dedupe, and triage fields rather than reconstructing them from prose. objective_summary : one sentence capturing the deliverable. workspace_change_plan : phased plan for the whole change set. It must contain: plan_id change_set_id objective_summary shared_invariants success_criteria phases : ordered array. Each phase: id name depends_on : prior phase ids parallelizable : boolean repo_change_requests : ordered array. Each request: repo task_id objective depends_on : sibling repo change request ids this request waits on shared_context_refs : references into the parent change set or prior phase outputs validation_commands mutating integration_checks : cross-repo checks that must pass before the overall change set is considered done open_questions orchestration_steps : canonical execution view of the plan as an ordered array. Each step: id : kebab-case identifier skill : skill name or path scopes : scope strings this step requires mutating : boolean inputs : static input map context_from : step_id.output_field data dependency references description : what this step does and produces required_skills : skill names needed. Flag which exist vs need creation. open_questions : missing context that must be answered before mutation. Inputs objective (required): the build or skill objective to decompose. project_context (optional): repo, product, or user context that constrains the decomposition. change_set (optional): parent change artifact from issue-intake or a workspace supervisor. Prefer this when present. harness_context (optional): portable issue control-plane packet from intake. Preserve it as state, not as a prose handoff. thread_locator (optional): canonical locator for the bounded thread the plan is serving. thread (optional): portable thread when the objective is grounded in an existing issue, chat, ticket, or other adapter surface. + +### deep-research + +Path: `/runxhq/runx/pages/deep-research.html` + +This graph turns one important question into a decision-ready brief. + +Group: Research and data Source: skills/deep-research/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/deep-research/SKILL.md Deep Research Brief This graph turns one important question into a decision-ready brief. It is for research that needs more than a quick answer but less than an open- ended report. The output should feel like an operator memo: what the answer is, what evidence supports it, what remains uncertain, and what posture the reader should take next. Do not drift into a generic article, daily update, or trend recap. The point is to help a human decide, not to narrate that research happened. Separate verified evidence from inference and carry unresolved questions into the memo. The synthesis must say what the reader should monitor, do, defer, or investigate next. Return needs_more_evidence when the packet cannot support a recommendation, and not_worth_publishing when the answer is sound but does not matter to the stated decision. Output research_packet : bounded evidence, confidence, inference, and open questions. brief_draft : the decision memo synthesized from that packet. approval_decision : review of the exact brief and its remaining uncertainty. publish_packet : approved brief and delivery metadata. Inputs objective (optional): specific question the brief should answer. audience (optional): primary reader for the memo. channel (optional): final delivery channel; defaults to brief . domain (optional): product, ecosystem, or market slice to bound the work. operator_context (optional): local decision context or evaluation lens. target_entities (optional): structured list of products, projects, companies, or repos to keep in scope. + +### research + +Path: `/runxhq/runx/pages/research.html` + +Research one bounded question and turn it into a decision-ready packet. + +Group: Research and data Source: skills/research/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/research/SKILL.md Research Research one bounded question and turn it into a decision-ready packet. This skill is for applied research, not open-ended browsing. It should answer one practical question with evidence, tradeoffs, and explicit uncertainty: which issue is worth tackling, what the ecosystem is doing, whether a proposal is grounded, or what claims a public post can safely make. Keep the scope tight. Summaries without evidence are not enough, but an undirected literature review is also wrong. Prefer a small number of verified claims that change the operator's decision. Operating rules State the objective in operational terms. Distinguish verified evidence from inference. Give every important claim a source and confidence. Surface missing evidence instead of inventing it. Bound the result to a concrete deliverable: brief, issue recommendation, content outline, or publish/no-publish decision. State what the finding changes: what to write, build, avoid, defer, or review. Return needs_more_evidence rather than forcing a speculative conclusion, and not_worth_publishing when a true finding is irrelevant to the audience. Output research_brief : object with objective , scope , summary , and open_questions . evidence_log : array of evidence entries with claim , source , confidence , and relevance . decision_support : array of options or recommendations with rationale. risks : array of research or execution risks. Inputs objective (required): the question to answer. domain (optional): ecosystem, product area, or audience context. deliverable (optional): intended artifact, for example daily brief , triage recommendation , or publish packet . operator_context (optional): local constraints or strategic context. target_entities (optional): array or object naming repos, products, competitors, communities, or issues that bound the research. + +### data-store + +Path: `/runxhq/runx/pages/data-store.html` + +Operate a data source through a governed adapter contract. This skill gives an agent enough context to read, append, or project state without learning provider secrets, inventing SQL, or depending on one storage backend. + +Group: Research and data Source: skills/data-store/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/data-store/SKILL.md Data Store Operate a data source through a governed adapter contract. This skill gives an agent enough context to read, append, or project state without learning provider secrets, inventing SQL, or depending on one storage backend. The storage backend can be Postgres, SQLite, D1, Redis, DynamoDB, S3, a ledger, or a product API. The runx boundary is the same: a declared data source exposes typed operations; the graph supplies bounded params; the adapter executes the operation; the receipt records the resource, authority, idempotency, version, digest, and redaction evidence. Adapter selection The operator chooses a data source at run time. The skill receives data_source_ref and operation inputs; project or hosted configuration binds that ref to the concrete adapter. A local development ref might be local://runx-data-store/dev-board . A production ref might be tenant://acme/board bound to data.postgres , data.d1 , data.redis , or a product-owned HTTP adapter. Do not put provider logic in the domain skill. Messageboard, CRM, support, and business-ops skills should ask for durable facts to be read or written; the data source binding decides whether those facts live in local JSON, SQL, Redis, D1, object storage, or a product API. Switching providers is a binding change, not a rewrite of the skill. The bundled OSS profile calls data.source . Unbound local://... refs default to durable local SQLite under .runx/data/local-sources/ , with one source-scoped database file per logical ref, so stateful skills can be dogfooded without standing up hosted infrastructure. Pass store_id only when a fixture intentionally wants the deterministic data.local JSON store. The graph inputs stay the same when a project later binds the source to Postgres, Redis, D1, object storage, or a product API. Adapter preference is operator configuration, not model choice. To choose Redis, SQLite, or a hosted provider, bind the same data_source_ref through RUNX_DATA_SOURCES or .runx/data-sources.json ; do not add provider branches to the domain skill. What this skill does Reads data through named queries or read operations declared by a data-source adapter. Appends state transitions with idempotency keys and expected versions. Reads projections, event streams, or bounded latest-stream-head pages so loops can resume from explicit state without exporting full history. Produces receipt-bound evidence for data source, resource, operation, params, row/event limits, versions, and output digests. Keeps product semantics outside the data layer. Messageboards, CRMs, billing ledgers, and support desks define their own events and reducers. Ships a fixture adapter ( data.local ), durable local SQLite adapter ( data.sqlite ), and Redis adapter ( data.redis ) behind the same operation envelope. When to use this skill A graph needs durable state between turns, such as queue position, board state, sync cursor, review status, or approval inbox state. A skill must query a bounded slice of product data before deciding the next action. A workflow needs to append an auditable event or effect transition with optimistic concurrency. An operator wants one provider-agnostic shape that can later move from local JSON or SQLite to Postgres, Redis, D1, Supabase, Turso, DynamoDB, or another store. When not to use this skill To let a model write arbitrary SQL, Redis commands, or database migrations. To export broad data sets, secrets, raw PII, or unrestricted tables. To hide product decisions in storage code. Domain skills still own state machines, acceptance criteria, and business rules. To treat a projection as independent truth when the event stream or receipt chain is available and required for review. To bypass payment, send, deploy, moderation, or human approval gates. Procedure Identify the domain skill and transition first. The data store is a carrier, not the policy owner. Select the logical data source. Use data_source_ref to name the project or tenant source; let the project binding choose the adapter. Do not put raw database URLs, provider credentials, or SQL in the skill input. Select a declared operation: named read query, append event, read events, read projection, or list stream heads. Do not synthesize raw provider commands. Check authority. Reads need the narrow resource/query scope; writes need the transition scope, idempotency key, and expected version unless the operation is explicitly append-only without concurrency. Bind typed params. Enforce row/event limits, tenant/partition keys, and redaction rules before the adapter runs. For writes, use optimistic concurrency and idempotency. A retry with the same idempotency key and same payload returns the existing effect; a different payload under the same key is a conflict. Return the operation result with resource refs, version movement, digests, redaction notes, and stop conditions. Receipts should link this data effect to the domain transition that caused it. Edge cases and stop conditions needs_source : the data source, resource, query name, tenant key, or schema summary is missing. needs_input : required operation params are incomplete, malformed, or not specific enough to bind a declared data-source operation. needs_authority : the caller lacks the declared read/write scope or provider grant. needs_version : a mutating operation lacks expected_version where the data source requires optimistic concurrency. conflict : the current version differs from expected_version , or an idempotency key is reused with different content. too_broad : the requested read lacks partition filters, exceeds limits, or asks for raw export. redaction_required : the operation would return secrets, private PII, or fields outside the declared projection. provider_unavailable : the adapter cannot reach the data source, times out, or cannot prove whether a write committed. Output schema All runners return runx.data.operation_result.v1 : Copy { "schema" : "runx.data.operation_result.v1" , "data_source_ref" : "local://example" , "provider" : "local-json-event-store" , "operation" : "append_event" , "resource" : "board_events" , "aggregate_id" : "posting-123" , "status" : "committed" , "before_version" : 0 , "after_version" : 1 , "idempotency_key" : "posting-123:create" , "event_ref" : "board_events:posting-123:1" , "result_digest" : "sha256:..." , "projection_digest" : "sha256:..." , "rows" : [], "events" : [], "redactions" : [], "stop_conditions" : [] } Provider adapters may add provider evidence under provider_evidence , but they must not expose credentials or raw secret material. For event streams, adapters derive a readable event_type in this order: explicit event.type , explicit event.event_type , then event.effect_family + "." + event.operation . Domain skills that emit the generic runx.effect.transition.v1 packet should include effect_family and operation on every event so readback projections say messageboard.accept , business_ops.route , or another meaningful transition instead of data.event . Worked example A messageboard skill decides that posting.claimed is allowed. It emits a domain transition packet. The graph then calls data-store.append_event with resource board_events , aggregate id posting-123 , expected version 2 , and idempotency key posting-123:claim:agent-9 . The data adapter appends the event only if the stream is still at version 2 . The receipt proves the decision, the data operation, and the new version. A later loop turn calls data-store.read_events or read_projection to resume from the explicit board state. Inputs data_source_ref (required): stable logical ref for the data source. The project or hosted binding maps this ref to the concrete adapter and provider profile. resource (required): declared resource, stream, table, keyspace, or projection name. operation (required for tool-level use): append_event , read_events , read_projection , or list_stream_heads . aggregate_id (required for event operations): stream or partition key. event (required for append_event ): domain event or transition packet. idempotency_key (required for writes): stable retry key. expected_version (required when the source enforces concurrency): current stream/resource version expected by the caller. limit (optional): maximum rows or events to return. after_version (optional for read_events ): return an ascending page whose event versions are strictly greater than this value. Omit it to retain the existing latest-tail read. Compare the last returned event version with after_version in the result envelope to know whether another page remains. event_types (optional for list_stream_heads ): at most 20 exact latest event types. No pattern or arbitrary field queries are accepted. cursor (optional for list_stream_heads ): opaque cursor returned by the previous page. Limits are capped at 100. store_id (local fixture adapter only): deterministic local store id that opts into the bundled data.local proof adapter. Omit it for durable local SQLite. Production adapters should ignore it. Invocation examples Durable local dogfood with the bundled default: Copy runx skill data-store append_event \ -i data_source_ref=local://runx-data-store/dev-board \ -i resource=board_events \ -i aggregate_id=posting-123 \ --input-json expected_version= 0 \ -i idempotency_key=posting-123:create:v1 \ --input-json event='{"type":"posting.created","payload":{"title":"verify a receipt link"}}' \ --json Fixture-only dogfood can still use store_id to select the JSON fixture store: Copy runx skill data-store append_event \ -i data_source_ref=local://runx-data-store/dev-board \ -i store_id=dev-board \ -i resource=board_events \ -i aggregate_id=posting-123 \ --input-json expected_version= 0 \ -i idempotency_key=posting-123:create:v1 \ --input-json event='{"type":"posting.created","payload":{"title":"fixture proof"}}' \ --json Production graph shape is the same at the skill boundary: Copy runx skill data-store append_event \ -i data_source_ref=tenant://acme/board \ -i resource=board_events \ -i aggregate_id=posting-123 \ --input-json expected_version= 2 \ -i idempotency_key=posting-123:claim:agent-9 \ --input-json event='{"type":"posting.claimed","payload":{"actor":"agent-9"}}' \ --json The second command only works once tenant://acme/board is bound to an installed provider adapter. That binding is operator configuration and may name a credential profile or hosted grant; it must not carry raw secrets. Project-specific SQLite uses the same command shape after binding the source: Copy { "data_sources" : { "tenant://acme/board" : { "adapter" : "data.sqlite" , "database_path" : ".runx/data/acme-board.sqlite" , "resources" : { "board_events" : { "kind" : "event_stream" , "partition_key" : "aggregate_id" } } } } } Pass that document through RUNX_DATA_SOURCES or .runx/data-sources.json . Redis uses the same skill and graph inputs. Only the binding changes: Copy { "data_sources" : { "tenant://acme/board" : { "adapter" : "data.redis" , "endpoint" : "redis://127.0.0.1:6379/0" , "key_prefix" : "runx:{acme-board}" , "resources" : { "board_events" : { "kind" : "event_stream" , "partition_key" : "aggregate_id" } } } } } The Redis endpoint must not embed credentials. Use local unauthenticated Redis for OSS dogfood, or put production secrets behind a runx credential profile or hosted grant. For Redis Cluster, the binding's key_prefix must contain one safe hash tag, such as {acme-board} , so the stream, idempotency, and head keys touched by an append share one slot and update atomically. Stream-head pages use stable keyset cursors rather than mutable offsets. Durable events and dispositions must not receive TTLs; production Redis should enable persistence and use a non-evicting policy. + +### knowledge-router + +Path: `/runxhq/runx/pages/knowledge-router.html` + +Route one question, source event, or support thread to the right knowledge sources and follow-up path. + +Group: Research and data Source: skills/knowledge-router/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/knowledge-router/SKILL.md Knowledge Router Route one question, source event, or support thread to the right knowledge sources and follow-up path. This skill is for triage and routing, not answering the question directly. It should tell a consuming graph where to look, who owns the domain, what evidence is already available, and which next skill should run. Each route must name the supplied signal that justified its source match, owner, escalation, and next-skill recommendation. Keep the result as a concise dispatch note. Return needs_more_context when no route is supportable, and manual_review for legal, billing, security, or destructive requests. Output route : selected knowledge or ownership domain and rationale. source_matches : relevant sources with the matching signal. owner_recommendation : owner or escalation target. next_skill : the bounded follow-up capability, if one is justified. Inputs question (required): user question, event, or thread summary to route. available_sources (required): source catalog, docs, systems, or owner map. constraints (optional): allowed systems, sensitivity, or preferred owner. + +### web-fetch + +Path: `/runxhq/runx/pages/web-fetch.html` + +Fetch one URL, prove it was allowed, extract the part the caller asked for, and return that slice by digest with the provenance needed to trust it later. + +Group: Research and data Source: skills/web-fetch/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/web-fetch/SKILL.md Web Fetch Fetch one URL, prove it was allowed, extract the part the caller asked for, and return that slice by digest with the provenance needed to trust it later. What this skill does web-fetch resolves a single URL against a host allowlist, retrieves it, extracts text, metadata, or links, and seals the result so a downstream step can cite the fetch without re-fetching. It checks the final host against the allowlist before and after redirects, retrieves up to max_bytes , and returns the final URL, the HTTP status, a content_digest over the retrieved body, the extracted slice, and a provenance block recording when it ran, every redirect hop, and how many bytes it read. The body is referenced by digest; only the extracted slice is inlined. This is the primitive an agent reaches for when it has already decided which page to read. The decision it makes easier is "can I read this page, and what did it actually say", with the answer backed by a digest instead of a remembered paraphrase. It differs from the research family: research and deep-research decide which sources matter and synthesize across them, while web-fetch retrieves exactly one source and refuses anything off the allowlist. When to use this skill An agent has chosen a specific page and needs its content bound to a content_digest so a later step can cite it without re-fetching. A research pass needs each source retrieved through a single bounded net:allowlist fetch with a complete redirect chain and byte count. A review must later prove what a page said at fetch time. A follow-on skill (prior-art, vuln-triage, brief) needs one source extracted as text , metadata , or links . When not to use this skill To judge, rank, or synthesize across sources. That is the research family's job; web-fetch retrieves exactly one source and refuses to reason over many. To reach a host the caller did not declare in allowlist , including a host reached only through a redirect. To write anything. The only scope is net:allowlist ; there is no repo, file, wallet, or send authority here. To inline a large raw body. The extracted slice is the payload; the full body lives behind content_digest . To carry secrets. Request headers may reference a credential by ${secret} handle, but no header value, cookie, token, or auth string appears in the output or the receipt. Procedure Require url and allowlist . Either missing returns needs_agent ; the fetch cannot run without a target and a declared scope. Match the URL host against allowlist . On a miss, return policy_denied before any network call, recording the attempted host and the allowlist it was checked against. Fetch, following redirects, re-checking each redirect target's host against the same allowlist . A redirect that lands off-allowlist halts the fetch, returns policy_denied with the hop that failed, and discards partial bodies. Cap the read at max_bytes when set. Compute content_digest over the retrieved body. Extract per extract : text (readable body text, default), metadata (title, description, canonical, declared language, content type), or links (absolute hrefs found in the document). Return fetch_result with the final URL, status, digest, extracted slice, and provenance. Flag truncated reads in provenance; never return a clipped read as if whole. Edge cases and stop conditions Missing url or allowlist : return needs_agent ; the fetch has no target or no scope to check against. Host off the allowlist: stop with policy_denied before any network call; record the attempted host, not a response body (there is none). Redirect off the allowlist: halt the fetch, return policy_denied naming the hop that failed, and discard the partial body. Read clipped by max_bytes : flag truncated: true in provenance; the digest is over the bytes actually retrieved. Large raw body: never inline beyond the extracted slice; anything bigger than the requested view is reachable only through content_digest . Credential in a header: reference it by ${secret} handle only; no header value, cookie, or token reaches the output or the receipt. Output schema Copy fetch_result : decision : ready | needs_agent | policy_denied final_url : string # URL after redirects, the one the digest is over status : number # HTTP status of the final response content_digest : string # digest of the retrieved body, algorithm prefix included extract_mode : text | metadata | links extracted : string | object | array # string for text, object for metadata, array of hrefs for links provenance : fetched_at : string # timestamp of the fetch redirects : array # ordered host hops, each re-checked against the allowlist bytes : number # bytes read truncated : boolean # true when max_bytes clipped the read policy : allowlist_decision : allowed | denied attempted_host : string # set on policy_denied allowlist_checked : array # the hosts the request was checked against The sealed runx.receipt.v1 carries the final URL, status, content_digest , byte count, the redirect chain, and the allowlist decision. It carries no header values, no cookies, and no raw body beyond the digest. Worked example Input: url of the HTTP Semantics RFC, an allowlist of www.rfc-editor.org and rfc-editor.org , extract: text , and max_bytes: 200000 . Output: decision: ready ; the host matched the allowlist before the request left; no redirects; status 200 ; content_digest is taken over the retrieved body; extracted holds the readable text slice; provenance records fetched_at , an empty redirect chain, 184302 bytes, and truncated: false . The receipt seals with the final URL, status, digest, byte count, and the allowlist decision; no header value reaches it. Inputs url (required): the single URL to fetch; its host must match the allowlist. allowlist (required): permitted hosts or host patterns; the URL and every redirect target must match an entry. extract (optional): text , metadata , or links . Defaults to text . max_bytes (optional): cap on bytes read; a clipped read is flagged truncated in provenance. + +### github-sync + +Path: `/runxhq/runx/pages/github-sync.html` + +Decide exactly what state to move between a GitHub repo and the local graph, in which direction, and whether the agent is even allowed to write. + +Group: GitHub and delivery Source: skills/github-sync/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/github-sync/SKILL.md GitHub Sync Decide exactly what state to move between a GitHub repo and the local graph, in which direction, and whether the agent is even allowed to write. github-sync is the generic repo state connector. It turns a loose request like "sync the open issues" into a bounded plan that names the resources, the direction, the scope, the records it will touch, and the point where the run must stop for a human. A pull is observation and stays inside repo:read . A push is mutation and never proceeds without an explicit repo:write grant and human approval. What this skill does github-sync produces a sealed sync_plan : a scoped record of which GitHub resources the run will pull or push, the scope it will use, the gates a write must clear, and any blockers that stop the run cleanly. For a push it carries a diff_summary described by digest and ref, never by raw body text, so a reviewer can approve the shape of a change without leaking issue contents, tokens, or PII into the plan or the receipt. The plan binds direction to scope. pull is read-only and lists the resources it will fetch. push enumerates the mutations by ref and digest, marks approval_required: true , and refuses to proceed past planning when the run lacks a repo:write grant. This skill plans the sync; it does not perform the GitHub mutation itself. The plan is the artifact a downstream adapter executes after the approval gate clears. Planning and mutation stay on opposite sides of the gate so a review can read intent before anything changes on the remote. When a sync loop needs a durable cursor, use plan_and_append_cursor . That runner reads the cursor projection through data-store , plans the bounded sync, appends the plan as a cursor event, and reads back the projection. The storage provider is selected by data_source_ref , not by GitHub-specific code. When to use this skill An agent needs to fetch a bounded set of issues, threads, or PRs into the local graph for triage or analysis. An agent needs to mirror local state back to GitHub (reopen, label, comment, close) and the operator wants the write shape reviewed before it lands. A workflow must prove which repo, direction, and scope a sync used, with a receipt that names the resources touched. A review needs to distinguish a read-only pull from a write that crossed an approval gate. When not to use this skill github-sync is the generic repo state connector. Reach for it when the job is moving issue, thread, or PR state in or out, not authoring a change or composing one comment. To drive a thread through spec, build, review, and a draft PR. Use issue-to-pr , which governs the full issue-to-PR lane. To draft one review comment on one PR. Use pr-review-note . To push without a named repo and direction. To carry raw issue bodies, comment text, access tokens, or contributor PII in the plan or receipt. Reference them by digest, span, or ref only. To bypass the human approval gate on any write. Procedure Resolve the target repo and confirm the run holds at least repo:read . Read direction . pull is observation; push is mutation and changes the gate posture. Read resources . Bind the concrete set: issues, PRs, or threads, plus the filters that bound it (state, label, author, range). An unbounded "all" becomes a blocker until reconfirmed. Read scope . A push requires scope: write backed by a real repo:write grant. If a write is requested without that grant, stop and refuse rather than downgrade to a silent pull. For a pull , list resources_touched by ref and leave diff_summary empty. For a push , build diff_summary as a list of intended mutations described by ref and content digest, set gates.approval_required: true , and record the approval reference once granted. Record scope_used as the narrowest scope the plan actually needs. Emit the smallest sync_plan an adapter can execute without widening authority, and stop at the approval gate for any write. For cursor-backed loops, read the cursor projection first, append one sync plan event with an idempotency key and expected version, and read back the projection before the next turn. Edge cases and stop conditions Missing repo or direction: return needs_agent ; the sync target is undefined. Write requested without repo:write : the request is refused ; never downgrade it to a silent pull. The plan stays unexecutable. Unbounded resource set: mark a blocker and require an explicit filter before a push. Approval absent or denied on a push: keep the decision blocked and the plan unexecutable; do not emit an executable mutation plan. Raw bodies, tokens, or PII in the resource payload: reference by digest and ref; if redaction would remove the evidence needed to plan, return needs_agent . Output schema Copy sync_plan : decision : ready | blocked | refused | needs_agent repo : string # resolved owner/name target direction : pull | push resources_touched : # resources by ref; no raw bodies - kind : issue | pr | thread ref : string selected_by : string # the filter that selected it diff_summary : # push only; empty for a pull - ref : string op : string digest : string scope_used : string # narrowest scope, e.g. repo:read or repo:write gates : approval_required : boolean # true for any push approval_ref : string # set once the write is approved blockers : array # conditions that must clear before execution sync_plan is a composable object. Downstream skills read it as arbitrary JSON; the fields above are the contract a reviewer and adapter rely on. The receipt ( runx.receipt.v1 ) carries the repo, direction, scope_used , the resource refs touched, and the approval reference for a write. It carries no issue bodies, comment text, tokens, or contributor PII; mutations appear as refs and digests only. Default scope is repo:read and a pull never escalates; a push needs an explicit repo:write grant plus human approval, so missing the grant is a refusal and missing the approval keeps the plan blocked. Worked example Input: "Sync the open triage issues into the graph" on runxhq/runx , with direction: pull , scope: read , and a filter of state:open label:triage . Output: decision: ready ; direction: pull ; scope_used: repo:read ; resources_touched lists the two matched issues by ref and the filter that selected each; diff_summary is empty and gates.approval_required is false. No write grant is exercised and no approval gate is opened, because a pull is pure observation. Had the same request asked to push labels without a repo:write grant, the run would refuse instead of reading. Cursor-backed loop: Copy read cursor -> plan bounded pull/push -> append sync plan event -> read cursor The cursor event stores refs, filters, digests, and gate status. It does not store raw issue bodies, OAuth tokens, or write payload secrets. Inputs repo (required): target repository as owner/name . direction (required): pull or push . resources (required): structured selector for issues , prs , or threads plus filters (state, label, author, range). scope (required): read or write . A push needs write backed by a real repo:write grant. + +### issue-intake + +Path: `/runxhq/runx/pages/issue-intake.html` + +Convert an inbound thread, support report, or operator request into one explicit intake decision plus the parent change artifact that downstream planning or mutation lanes must share. + +Group: GitHub and delivery Source: skills/issue-intake/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/issue-intake/SKILL.md Issue Intake Convert an inbound thread, support report, or operator request into one explicit intake decision plus the parent change artifact that downstream planning or mutation lanes must share. This skill does not mutate code, open tickets, or publish replies directly. Its job is to classify the report, summarize it, draft the next helpful response, and recommend the next governed lane. That next lane must be explicit: issue-to-pr , work-plan , reply-only , or manual-review . In supervisor-style flows, issue-intake is also the commencement gate. It decides whether work may start at all, whether the next step should stop at a review comment first, and whether mutation is justified yet. A recommended lane is not the same thing as build permission. Use issue-to-pr only when the requested change is bounded enough for one governed remediation lane. Use work-plan for larger or multi-step work. Use reply-only when the right answer is guidance rather than mutation. Use manual-review when the report is ambiguous, risky, or missing key context. Ground category, severity, and routing in the visible request and supplied product constraints. Put uncertainty in operator_notes instead of inventing confidence. The suggested reply should sound like the project owner and lead with the decision or next action, not read like a ticket macro. Output Contract intake_report must contain: category : one of bug , feature_request , docs , billing , account , question , or other severity : one of low , medium , high , or critical summary : concise summary of the actual request or report suggested_reply : a user-facing reply draft or operator handoff note recommended_lane : issue-to-pr , work-plan , reply-only , or manual-review rationale : why that lane is the right next step needs_human : boolean operator_notes : array of caveats, missing context, or escalation notes intake_report may also include supervisor-facing control fields: commence_decision : approve , hold , reject , or needs_human action_decision : proceed_to_build , proceed_to_plan , request_review , or stop review_target : thread , outbox_entry , or none review_comment : markdown comment body for the supervisor to post before the next lane proceeds When present, these fields mean: commence_decision gates whether the supervisor may start any downstream work at all action_decision=proceed_to_plan means the supervisor may open a planning lane such as work-plan , but still may not start repo mutation action_decision=request_review means the supervisor should post review_comment to the chosen review_target and stop there until a later approval or rerun authorizes mutation review_target=outbox_entry only makes sense when a current outbox entry already exists. If no draft change, message surface, or other outbox entry exists yet, the supervisor should fall back to the source thread and say that clearly in the posted comment action_decision=proceed_to_plan should usually still result in a public supervisor comment so the hold/plan decision is visible outside the raw receipt stream recommended_lane=issue-to-pr alone does not authorize a build lane Always emit change_set alongside intake_report . Also emit signal when a source event is admitted. signal must follow runx.signal.v1 and carry the source reference, authenticity or trust level, dedupe fingerprint, evidence references, and source-thread preview. This packet is the portable world-before-action state that work-plan , issue-to-pr , hosted queues, and source-thread projections preserve. Close the Runx turn after intake is complete with terminal closure control metadata: a disposition, stable reason code, and concise summary. Closure is receipt control state, not part of the issue-intake artifact, and must not pretend the recommended downstream lane has already executed. When an adapter has provider context beyond the visible thread text, attach it to signal.evidence_refs or a referenced artifact. Source adapters own provider-specific fetching and redaction before calling this skill; this skill only reasons over the supplied, reviewer-safe signal and artifacts. Hydration is a gate, not a best-effort decoration. If supplied signal or artifact metadata says provider context is still needed, do not select action_decision=proceed_to_build . Use manual-review or request_review and explain the missing adapter context in operator_notes . If provider context is unavailable, use the remaining signal only when it is still concrete enough for a bounded reply, plan, or PR; otherwise stop for human review. The change_set is the parent artifact for any later planning or worker fanout. It is what keeps multiple repo-scoped lanes aligned to one shared objective. change_set must contain: change_set_id thread_locator summary category severity recommended_lane commence_decision action_decision target_surfaces : array of objects with: surface : repo, product surface, or bounded target name kind : one of repo , package , docs , support , or other mutating : boolean rationale : why this surface is implicated shared_invariants : array of constraints that all downstream lanes must preserve success_criteria : array of concrete outcomes that define success for the whole change outbox_entry (optional): current outbox entry for status updates, replies, or draft-change refreshes when the caller already knows it When recommended_lane=issue-to-pr , also include thread_change_request with: task_id thread_title thread_body thread_locator thread (optional) outbox_entry (optional) size : one of micro , small , medium , or large risk : one of low , medium , or high When recommended_lane=work-plan , also include workspace_change_plan_request with: change_set_id objective project_context thread_locator thread (optional) target_surfaces shared_invariants success_criteria Do not emit both thread_change_request and workspace_change_plan_request for the same report. Prefer conservative routing: if the report is bounded and well-understood, use commence_decision=approve and action_decision=proceed_to_build if the next step should be planning instead of mutation, use commence_decision=approve and action_decision=proceed_to_plan if the likely next lane is clear but mutation or planning should wait for maintainer confirmation, use commence_decision=approve and action_decision=request_review if the report is ambiguous, under-specified, or risky, use commence_decision=hold or needs_human Inputs thread_title : canonical thread title thread_body : canonical thread body or request text thread_locator (optional): canonical locator for the bounded thread, such as an issue, chat thread, ticket, or local agent session thread (optional): provider-backed thread for the current thread outbox_entry (optional): current outbox entry for replies, draft changes, or refreshes signal (optional): provider-neutral runx.signal.v1 observation gathered by the source adapter before decision product_context (optional): product-specific constraints or routing hints operator_context (optional): maintainer or support posture guidance source_event (optional): admitted Slack, Sentry, GitHub, file, API, or other provider event. Consuming repos decide source filters before calling this skill. source_policy (optional): source admission and routing policy. Do not hardcode channel names, Sentry projects, or owners in this skill. operational_policy (optional): runx.operational_policy.v1 packet used by downstream repo-changing lanes for source, target, runner, and source-thread admission. + +### issue-triage + +Path: `/runxhq/runx/pages/issue-triage.html` + +Turn noisy issue streams into bounded, evidence-backed action. + +Group: GitHub and delivery Source: skills/issue-triage/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/issue-triage/SKILL.md Issue Triage Turn noisy issue streams into bounded, evidence-backed action. This skill is for issue selection and response drafting, not for silently mutating repositories. Use it to identify which threads are worth attention, understand the maintainer or contributor situation, and draft the next helpful response or remediation path. Separate discovery from response. Discovery finds the thread worth engaging. Response drafting turns one chosen thread into a concrete answer, escalation, or change plan. Ground selection and response in the actual thread, repository facts, receipts, and maintainer context; do not infer intent beyond what is visible. Lead with the decision, answer, or next action in the project's own voice. Return needs_more_evidence or needs_human when the thread is ambiguous, hostile, underspecified, unsafe, or outside the maintainer's declared posture. Output Discovery runner: issue_candidates : candidate issues or discussions worth attention. selection_rationale : why one candidate should be handled next. operator_notes : constraints, caveats, or escalation triggers. Response runner: issue_profile : concise summary of the chosen thread. response_strategy : recommended response posture and next action. response_draft : post-ready draft or maintainer handoff. follow_up_actions : concrete next steps after the response. Inputs repository (optional): repository slug or workspace reference. query (optional): search or queue objective for discovery. issue_url (optional): canonical issue URL for response drafting. issue_snapshot (optional): structured issue data when already fetched. maintainer_context (optional): project norms, release posture, and response constraints. operator_context (optional): operator-supplied context used by higher-level triage graphs. objective (optional): what the operator wants from this pass. + +### issue-to-pr + +Path: `/runxhq/runx/pages/issue-to-pr.html` + +Drive one bounded thread-driven change through the scafld 2.4-compatible lifecycle and package the result as a provider-agnostic draft pull-request packet. + +Group: GitHub and delivery Source: skills/issue-to-pr/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/issue-to-pr/SKILL.md Issue to PR Drive one bounded thread-driven change through the scafld 2.4-compatible lifecycle and package the result as a provider-agnostic draft pull-request packet. The graph separates cognition from mutation. Agent phases author the scafld markdown spec and the bounded repo change bundle. Deterministic fs.write and fs.write_bundle phases are the only places files are written to disk. scafld owns the workflow kernel: plan , validate , approve , build_to_review , status , review , complete , and handoff . runx owns the explicit authoring boundaries, deterministic writes, receipts, and final outbox packaging. Branch creation and provider PR mutation are outside scafld. The caller or adapter prepares the branch, then passes the intended branch into this lane. The lane records that branch in the draft PR packet, and the GitHub adapter fails closed if the workspace checkout does not match it. The final issue-to-pr-push-outbox step is the only provider push boundary. Lifecycle The graph runs: scafld plan -> author markdown spec -> write spec -> read spec -> validate -> approve -> read approved spec -> read declared files -> author fix bundle -> write fix bundle -> build to review -> status -> read current branch -> review -> complete -> final status -> handoff -> package draft PR outbox -> adapter push. There are no translation projection steps. scafld handoff is the human handoff surface, build_to_review drives bounded native scafld build advances until the task is review-ready, and scafld review is the native review boundary. Thread Story The lane should leave one coherent source-thread story, not a stream of every internal event. The durable milestones are: source signal and the bounded request accountable decision that a PR is justified scafld spec approval and declared scope build and validation result adversarial review result draft PR publication human merge gate final provider outcome when observed Comments and PR bodies should summarize those gates with enough evidence for a reviewer to act. They must not publish raw local paths, secrets, full command dumps, or duplicate retry comments. User-facing labels should use plain terms such as spec authoring, fix authoring, review, and human merge gate. Spec Authoring Contract The issue-to-pr-author-spec boundary must emit a full scafld 2.4-compatible markdown document, not YAML and not a reduced project brief. The document must preserve front matter with: spec_version: '2.0' task_id created : ISO-8601 timestamp updated : ISO-8601 timestamp title : non-empty task title, normally thread_title status: draft harden_status: not_run size : one of small , medium , or large risk_level The body must include the standard scafld 2 sections: Current State, Summary, Context, Objectives, Scope, Dependencies, Assumptions, Touchpoints, Risks, Acceptance, at least one Phase section, Rollback, Review, Self Eval, Deviations, Metadata, Origin, Harden Rounds, and Planning Log. The graph normalizes the front matter before writing the spec so current scafld schema fields such as title and size stay deterministic even if the authoring boundary omits or stales them. All changed-file declarations must use concrete repo-relative paths in backticks under Context / Files impacted and Phase / Changes. Do not declare scafld-managed control-plane artifacts under .scafld/specs , .scafld/reviews , .scafld/runs , or old .ai governance paths as repo-change scope. Documentation and process requests still need a concrete repo file. Prefer existing docs surfaces supplied by repo_snapshot.existing_files or repo_context , and declare at least one non-governance repo file for an approved issue-to-pr lane. Do not leave the repo-change scope empty after the decision layer has approved a PR. Validation commands must run against the current workspace state after the fix bundle is written. Do not depend on git history ranges such as HEAD~1 or merge-base comparisons. Validation commands, when present, must be direct repo-local checks such as test, lint, build, or file-content commands. Never use runx runtime internals or graph/scafld/run.mjs as a validation command; scafld is already the lifecycle runner around the task. For any code change, the approved spec must declare at least one targeted test/spec file in the changed-file scope and include at least one executable validation command that exercises that target. This applies even when the source thread does not explicitly request coverage; code PRs are not publishable from this lane without targeted test/spec scope or grounded scafld validation evidence. If the source thread asks for tests, specs, regression coverage, focused coverage, or request/service coverage, the targeted coverage requirement cannot be softened to a generic smoke check. If no existing test/spec path is declared but the repository layout makes a conventional path inferable, declare that new test/spec file. If no grounded test/spec path or command can be inferred from the repo snapshot, stop with a missing-evidence reason instead of publishing a code-only PR. Preserve source-thread context in the spec's Summary, Origin, and Planning Log so later PR packaging can explain why the lane ran and what evidence justified the mutation. Fix Authoring Contract The issue-to-pr-apply-fix boundary must emit a bounded fix_bundle with files: [{ path, contents }] for every repo file needed to satisfy the approved spec. For documentation or process changes, the approved spec, source thread, repo snapshot, repo context, and declared file contents are sufficient when they identify a narrow edit. When repo_snapshot.recommended_files contains concrete repo-relative files, treat those files as actionable target evidence even if the generated spec is worded conservatively. Read the recommended file and the nearest relevant test or spec before blocking. If the source thread includes a runtime exception, backtrace, failing command, or named behavior and the recommended file exists, prefer the smallest conventional fix plus targeted regression coverage over an empty bundle. For any production code change, fix_bundle.files must include the smallest production fix and a targeted test/spec file, even when the source request does not explicitly ask for coverage. Do not publish a code-only fix bundle from this lane. If the approved spec, source thread, or acceptance criteria asks for tests, specs, regression coverage, focused coverage, or request/service coverage, the targeted test/spec file must directly cover that requested behavior. If no test file exists, create the narrow conventional test file when the repository structure makes that path inferable; otherwise block with the missing path and evidence reason. If a declared file has exists: false and the approved spec intentionally creates it, write the new file when the desired contents are inferable from the spec and thread. Do not block solely because the file has no prior contents. Return fix_bundle.status: blocked with files: [] only when no concrete repo-relative target is declared, a required existing file cannot be read, or the requested behavior cannot be inferred after inspecting the supplied target files. The blocked reason must name the missing evidence and path because an empty file bundle is a terminal policy denial before write-fix . Inputs task_id : scafld task id. thread_title : canonical title and default spec title. thread_body : full thread body or request text when available. thread_locator : canonical locator for the bounded thread. thread : portable thread for the current signal surface. outbox_entry : existing pull-request outbox entry when refreshing a draft. harness : optional runx.harness.v1 packet for the governed run boundary. signal : optional runx.signal.v1 packet. Preserve source references, fingerprint, authenticity, and evidence references as stateful context instead of reparsing source-thread prose. decision : optional runx.decision.v1 packet. Preserve the accountable selection rationale, selected act, and closure when the caller already made the lane decision. target_repo : intended repository slug for PR packaging. operational_policy : optional runx.operational_policy.v1 packet used to admit the source, target repo, runner, and source-thread route before PR packaging. source_id : optional operational policy source id. runner_id : optional operational policy runner id. repo_snapshot : compact structured snapshot of the target repo. repo_snapshot_path : optional path to a fuller repo snapshot artifact. repo_context : textual summary of repo shape and validation hooks. size : scafld size, default small . risk : scafld risk, default low . base : base ref for PR packaging, default main . fixture : workspace root containing .scafld . scafld_bin : explicit scafld executable path. provider , provider_command , provider_binary , model : optional native scafld review provider overrides. Structured Output On success, the lane emits: draft_pull_request : provider-agnostic PR draft state derived from scafld handoff, build, review, completion, status, and current git branch. outbox_entry : a pull_request outbox entry suitable for adapter push. push : adapter push result plus refreshed thread when the adapter supports push. Story metadata suitable for one source-thread reviewer update that summarizes the lifecycle gates and points at the human merge decision. + +### release + +Path: `/runxhq/runx/pages/release.html` + +Turn a proposed release into an audited publication. The skill owns the release decision process: evidence gathering, changelog preparation, approval, publish handoff, verification, and announcement. It does not own a project's custom release implementation. Project-specific topology lives in a release profile that names existing commands, workflows, registries, deploy targets, and verification readbacks. + +Group: GitHub and delivery Source: skills/release/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/release/SKILL.md Release Turn a proposed release into an audited publication. The skill owns the release decision process: evidence gathering, changelog preparation, approval, publish handoff, verification, and announcement. It does not own a project's custom release implementation. Project-specific topology lives in a release profile that names existing commands, workflows, registries, deploy targets, and verification readbacks. Every version and changelog claim must trace to commits, tags, checks, package metadata, or explicit operator context. Write release material for package consumers: say why this version matters and what they should do next, without generic launch language or positive wording that hides a blocker. Stop in prepare or at approval when checks fail, versioning is unclear, evidence is thin, or the announcement would overstate what shipped. Two runners: prepare (read-only) — survey the commit range since the last tag, classify commits, stage a changelog, run the declared checks, and emit a release_brief describing what would ship, what is blocked, and what remains unresolved. Safe to run unattended and in CI. release (default, graph) — wires prepare → approval gate → publish → verify . publish is not exposed as a standalone runner; it is only reachable inside the graph after the approval transition clears. Invoke runx skill release prepare for a CI dry-run. Invoke runx skill release to run the governed end-to-end flow. Phases prepare The read-only phase. Reads git history, classifies each commit since the previous semver tag ( feat , fix , refactor , chore , breaking ), stages a changelog, reads the project release profile when supplied, and runs the declared release checks. Emits a release_brief with the findings. The brief is the only artifact that flows forward. If it is not publishable , the graph stops at the approval gate with the reasons attached. approve-publish A typed approval step. The gate id is release.publish.approval . The brief is provided as context so the approver sees what would ship before deciding. The policy transition only advances to publish-release when approve-publish.approval_decision.data.approved is true . No back channel, no implicit approval on timeout. publish-release The destructive phase. Takes the approved release_brief from graph context and hands off to the project-declared release interface: an existing CLI command, GitHub Actions workflow, hosted API route, provider tool, or manual release gate. Every side effect is recorded in publish_report.side_effects[] with its locator and evidence; the graph receipt seals the trail. Refuses to act if the brief is missing, unpublishable, or not carried through the approval gate. Refuses to act if the project profile asks the agent to reimplement release logic instead of naming an existing execution surface. verify-release The proof phase. Reads the publish_report , release brief, and project profile, then verifies external state: registry versions, release assets, deploy health, site/changelog readbacks, package-manager manifests, or any other project-owned release acceptance criteria. Emits a release_report for operator review and public audit. Inputs Name Required Description project_root yes Absolute path to the project being released. channel yes Publishing target ( npm , pypi , github-release ). profile_ref no Path or registry ref for a project-owned release profile. The profile describes existing commands/workflows and verification expectations; it is not authority. last_tag no Previous release anchor. Defaults to the latest semver tag reachable from the current branch. operator_context no Cadence, campaign, or posture guidance for this release. Outputs prepare emits release_brief_packet carrying release_brief : changelog, check results, proposed version, unresolved flags, publishable verdict. The graph emits a graph receipt that links the prepare brief, the approval decision, publish report, and verification report into one auditable trail. publish-release (inside the graph) emits publish_report : registry URL, release tag, announcement packet, and a side_effects[] list with a locator and evidence per write action. verify-release emits release_report : expected lanes, observed readbacks, missing artifacts, conditional skips, and final release verdict. Trust boundary prepare is safe to run unattended and in CI. The destructive work is only reachable through the graph, and the graph refuses to transition to publish-release without an approved decision from release.publish.approval . The graph enforces the gate; the skill does not bypass it. Project profiles are context, not authority. A profile may say which workflow, command, registry, or URL should be used. It cannot grant credentials, skip approval, or authorize a destructive release by itself. Scopes runx:release:read — required by the prepare phase. runx:release:publish — required by the publish phase; the graph grant must include this only when the approval transition has cleared. runx:release:verify — required by the verification phase. Tasks release-prepare — the read-only phase task. Provides the release_brief output shape. release-publish — the destructive phase task. Only reachable inside the graph; requires the approved brief in context. release-verify — the proof phase task. Reads external state and reports whether the release actually landed. These are managed-agent task contracts carried by the skill package and its X.yaml graph definition. They are not a separate registered task catalog. + +### audit-receipt + +Path: `/runxhq/runx/pages/audit-receipt.html` + +Audit a sealed run for authority over-reach, using its own receipt as evidence. + +Group: Safety and review Source: skills/audit-receipt/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/audit-receipt/SKILL.md Receipt Auditor Audit a sealed run for authority over-reach, using its own receipt as evidence. runx seals a receipt for every run: the authority proof, the acts performed, the decisions taken, the refusals, and hashed material references. That receipt is the evidence. This skill reads a sealed receipt and answers one governance question: did the run stay inside the authority it was granted? It flags scopes exercised that were never granted, mutating acts that ran without an approval gate, refusals that were not recorded, and any raw secret material that leaked into the receipt. It pairs with least-privilege : that one narrows a grant from usage, this one verifies a run honored its grant. What this skill does Read the proof and the acts. From the receipt, extract the granted authority (the proof) and the scopes the acts actually exercised. Diff exercised against granted. Any exercised scope not covered by the proof is over-reach. Check the gates. Every mutating act must show an approval gate in the receipt; an ungated mutation is an anomaly. Check exposure. The receipt must carry only hashed material references; a raw secret in the receipt is a leak. Verdict. clean , anomaly , or needs_more_evidence , with the exact findings and a recommendation for each anomaly. Core principles The receipt is the evidence. Audit what the receipt records, not what the skill claims it did. Granted is the ceiling. Exercised authority must be a subset of the proof; anything beyond is over-reach, full stop. Mutation needs a gate. A mutating act with no approval gate in the receipt is an anomaly even if it succeeded. No raw material. A receipt must reference material by hash; raw credential material in a receipt is a leak, not a convenience. Absence of evidence is not clean. With no receipt or an unattributable one, return needs_more_evidence , never clean . When to use this skill Post-run governance audit of a sealed, successful run. Spot-checking that a skill honored its authority bound in production. Before promoting a skill toward a higher trust posture. When not to use this skill To diagnose a failed run and propose a fix. That is review-receipt (failure-to-improvement). This skill audits a sealed run for over-reach (success-to-governance); the two are different lenses on a receipt. To narrow a grant from observed usage. That is least-privilege . Diagnostics receipt.authority.over_reach (error): an exercised scope is not covered by the authority proof. receipt.mutation.ungated (error): a mutating act ran without an approval gate recorded in the receipt. receipt.refusal.unrecorded (warning): a denied request is not reflected as a sealed refusal. receipt.material.exposed (error): raw credential material appears in the receipt instead of a hash reference. receipt.clean (info): exercised authority is within the grant, mutations are gated, and no material is exposed. Procedure Resolve the receipt from receipt_id or use the provided sanitized receipt_summary . Extract the authority proof, granted scopes, acts, approvals, refusals, material references, and receipt signature metadata. Normalize exercised scopes from the acts and compare them with the granted scopes. Exercised must be a subset of granted. Identify mutating acts and confirm each has an approval gate recorded in the receipt. Check that denied requests appear as sealed refusals when the receipt records the attempt. Scan receipt-visible material for raw credentials or secret-bearing payloads. Return a verdict with findings, recommendations, and the success checkpoint. Edge cases and stop conditions Missing receipt: return needs_more_evidence ; never infer a clean run. Unattributable receipt: return needs_more_evidence when the receipt cannot be tied to the run under audit. Malformed proof: return needs_more_evidence unless enough normalized grant data is supplied separately. Unknown scope name: treat it as over-reach unless the grant explicitly covers it. Mutation without recorded gate: emit receipt.mutation.ungated even if the mutation succeeded and the outcome looks correct. Raw token, key, or credential in the receipt: emit receipt.material.exposed and recommend revocation/rotation. Output schema ( receipt_audit ) Copy decision : ready | needs_more_evidence run_ref : string granted_scopes : [ string ] exercised_scopes : [ string ] refusals : [ string ] findings : - id : string severity : error | warning | info message : string verdict : clean | anomaly | needs_more_evidence rationale : string recommendations : [ string ] success_checkpoint : milestone : string description : string A clean verdict requires zero error findings. Worked example A sealed run was granted repo.read . The receipt shows the acts exercised only repo.read , every act is an observation (no mutation), and material is referenced by hash. Exercised is a subset of granted, no mutation to gate, no exposure: verdict: clean . Had an act exercised repo.write while the proof granted only repo.read , that would raise receipt.authority.over_reach and a verdict: anomaly with a recommendation to revoke the run's grant and investigate. Inputs receipt_id (optional): the receipt id to audit. receipt_summary (optional): a sanitized receipt or its acts/proof summary when the full receipt is not available. granted_scopes (optional): the authority the run was granted, when not derivable from the receipt alone. objective (optional): operator intent that focuses the audit. At least one of receipt_id or receipt_summary is required; with neither, the skill returns needs_more_evidence . + +### cve-audit + +Path: `/runxhq/runx/pages/cve-audit.html` + +This skill audits exact npm versions from an immutable `package-lock.json` against the public OSV API. It emits a machine-readable audit result, `evidence.json`, and a finding-by-finding Markdown report. The governed graph in `X.yaml` independently replays every query and seals a delivery packet only when the reported and replayed advisory sets match exactly. + +Group: Safety and review Source: skills/cve-audit/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/cve-audit/SKILL.md Exact CVE Audit What this skill does This skill audits exact npm versions from an immutable package-lock.json against the public OSV API. It emits a machine-readable audit result, evidence.json , and a finding-by-finding Markdown report. The governed graph in X.yaml independently replays every query and seals a delivery packet only when the reported and replayed advisory sets match exactly. It does not install dependencies, execute target code, mutate the target repository, repair packages, or publish vulnerability claims. When to use this skill Use it when a reviewer needs checkable evidence for the advisories affecting the exact npm versions in a public, immutable lockfile. It is suitable for dependency review, release triage, and reproducible security evidence where a package-name-only or loose-range match would create false positives. When not to use this skill Do not use it for a mutable branch URL, a manifest without exact installed versions, a private lockfile without explicit read authority, non-npm ecosystems, exploit development, or claims about transitive coverage when the selected scope is direct-production . Do not treat missing OSV data as proof that a package is safe. Inputs target_name : display name for the audited project. target_repo : public HTTPS source repository. target_commit : full 40-character immutable Git commit. lockfile_url : public HTTPS lockfile URL containing that commit. dependency_scope : direct-production by default, or all-installed . The caller authorizes only public reads of the pinned lockfile and OSV. No credential, token, local project file, or private payload is an accepted input. Procedure Validate that the repository and lockfile URLs use HTTPS, the commit is a full Git hash, and the lockfile URL is pinned to that hash. Fetch the lockfile and record its SHA-256 digest before parsing it. Extract exact installed versions from lockfile versions 2 or 3. Preserve the requested scope in every artifact. Query OSV with { ecosystem: npm, package, version } for every inventory entry. Exclude withdrawn advisories. Record each finding with dependency, exact version, advisory ID, OSV URL, aliases, installed path, and the exact query that produced it. In the governed graph, replay every exact-version query in a separate step. Fail closed if an advisory is unsupported, omitted, withdrawn, or changed. Emit the report, evidence, verification, delivery packet, and sealed receipt. Edge cases and stop conditions Refuse non-HTTPS or mutable lockfile URLs. Refuse abbreviated commits and lockfiles that do not contain the commit. Refuse unsupported lockfile versions or entries without exact versions. Return needs_input when the target, commit, or lockfile evidence is not immutable enough to support reproducible review. Stop if OSV times out, returns malformed data, or changes between scan and independent replay. Stop if any false hit or missing hit is detected. Report the selected dependency scope; never imply broader coverage. Keep tokens, credentials, private source, and target code out of artifacts. Output schema The scan emits: Copy { "audit_result" : { "schema" : "runx.security.exact_cve_audit.v1" , "target" : { "repo" : "https://github.com/owner/repo" , "commit" : "40-character hash" , "lockfile_sha256" : "64-character digest" }, "dependency_scope" : "direct-production" , "inventory" : [], "findings" : [], "result" : { "exact_dependencies_queried" : 0 , "advisory_findings" : 0 , "source" : "OSV" } }, "report" : { "artifact" : { "path" : "artifacts/report.md" } }, "evidence" : { "summary" : "human-readable audit summary" , "observations" : [], "artifact" : { "path" : "artifacts/evidence.json" } } } The graph adds verification.json , delivery.json , and a sealed runx.receipt.v1 graph receipt with child receipt lineage. Worked example For OWASP NodeGoat at commit c5cb68a7084e4ae7dcc60e6a98768720a81841e8 , the checked-in harness reads the pinned lockfile, audits 16 exact direct production versions, reports the OSV advisories returned for those versions, and independently requires zero false and zero missing hits before sealing. The second harness case audits the repository's immutable clean fixture at commit 83d554f904f9f73bd26ce9c15e3786ba7d62b1de . It verifies that an exact dependency with no OSV advisory produces zero findings while still completing the independent replay and sealed-receipt path. If the same request points at main/package-lock.json , validation returns a needs-input failure because the lockfile is mutable and does not contain the declared immutable commit. No audit or receipt is presented as complete. + +### least-privilege + +Path: `/runxhq/runx/pages/least-privilege.html` + +Turn granted authority plus observed usage into a bounded attenuation proposal. + +Group: Safety and review Source: skills/least-privilege/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/least-privilege/SKILL.md Least Privilege Auditor Turn granted authority plus observed usage into a bounded attenuation proposal. runx keeps a receipt of every scope a run actually exercised. This skill reads that proof. It compares what a subject (a skill, a grant, or a principal) was granted against what its receipts show it used, then proposes the narrowest grant that still covers real usage. The output is a reviewable attenuation proposal, not an automatic change. What this skill does Diff granted authority against receipt-backed usage. Classify each granted scope as keep , narrow , remove , or defer . Propose the narrowest grant that still covers observed usage. State residual risk after attenuation. Emit a receipt-quality report a reviewer can apply or reject. When to use this skill Periodic least-privilege review of a skill, grant, or principal before publish, renewal, or maturity promotion. After an incident, to identify authority that can be safely removed without breaking observed behavior. Before expanding distribution of a public skill, to prove its grant is minimal against real receipts. When a reviewer asks for a scope-by-scope evidence trail, not just a summary. When not to use this skill To grant new authority. This skill only narrows; widening is a human decision. When no usable receipt evidence exists. Return needs_more_evidence rather than guessing a grant down to nothing. For secret material handling or credential exposure. Use the appropriate secret-leak triage flow instead of scope review. When the user asks for automatic permission changes. Produce a proposal and stop unless a separate approved delivery lane exists. When grant semantics are unknown and cannot be normalized. Return needs_input with the exact syntax or policy question. Procedure Scope the audit target. Identify subject , grant source, receipt ids or receipt window, and whether receipts are from the same principal or skill version. Gate: if the subject, grant list, or usage source is ambiguous, stop with needs_input . Evidence expected: subject id or label, granted scope list, receipt ids or an explicit statement that no receipts were available. Normalize granted scopes. Parse each scope into verb, resource, path or namespace, conditions, and wildcard breadth. Preserve original scope strings. Do not rewrite policy syntax casually. Gate: if a scope cannot be parsed, keep it as defer and request the missing policy semantics instead of treating it as unused. Build the usage model from receipts. Extract actual exercised verbs and resources from receipt steps, tool calls, policy checks, denied checks, and completion status. Count successful use separately from denied or dry-run checks. Do not infer scope usage from a successful high-level task alone; cite the receipt step or policy check that exercised the authority. Classify every granted scope. keep : at least one observed successful use requires the granted scope as written, or a reserved/break-glass policy explicitly requires it. narrow : all observed uses fit a strictly smaller verb, resource, namespace, condition, or path. remove : no observed use, denied check, or documented reserved purpose supports the scope. defer : evidence is conflicting, receipt attribution is weak, or policy semantics are unknown. Propose attenuation. Remove scopes classified as remove . Downgrade scopes classified as narrow only when every observed use fits the narrower grant. Leave keep and defer scopes unchanged in the proposed grant. Gate: never produce a proposal narrower than the evidence supports. A scope used once is used. State residual risk and reviewer action. Name what the proposed grant can still do. Name any broad scope kept despite thin evidence and why. Separate applyable now from needs human policy decision . Emit receipt expectations. A valid receipt for this skill should record input grant count, receipt sources, classification counts, proposed removals or narrowings, stop status, and unresolved questions. Edge cases and stop conditions Empty or unattributable usage evidence: return needs_more_evidence ; do not remove all scopes by default. Missing granted scopes: return needs_input ; there is no baseline to diff. Receipt subject mismatch: return needs_input with the mismatched subject or version. Conflicting receipts: classify affected scopes as defer and return needs_human if the conflict changes the proposal. Wildcard grants: narrow only to observed resource prefixes when receipt coverage is representative; otherwise keep and flag residual risk. Reserved, compliance, or break-glass scopes: keep unless the operator provides explicit policy authority to remove them. Dry-run-only use: do not count as successful exercised authority unless the grant exists solely for validation. Grant already matches usage: return no_change with the evidence summary. User asks to hide or omit unused authority: refuse that part and report the complete scope diff. Output schema Return a structured report with these fields: Copy status : attenuation_proposed | no_change | needs_more_evidence | needs_input | needs_human | refused subject : string evidence : receipt_ids : [ string ] receipt_window : string | null grant_source : string | null limitations : [ string ] scope_diff : - granted_scope : string normalized : verb : string | null resource : string | null conditions : object | null observed_use : count : number verbs : [ string ] resources : [ string ] receipt_refs : [ string ] classification : keep | narrow | remove | defer proposal : string | null rationale : string attenuated_grant : [ string ] removed_scopes : [ string ] narrowed_scopes : - from : string to : string kept_scopes : [ string ] deferred_scopes : [ string ] residual_risk : [ string ] reviewer_action : applyable_now | needs_policy_decision | gather_more_receipts | none receipt_expectations : classification_counts : object stop_status : string unresolved_questions : [ string ] Worked example Input: Copy subject : skills/report-exporter granted_scopes : - drive.files.read:/reports/* - drive.files.write:/reports/* - drive.files.delete:/reports/* usage_summary : receipt_ids : [ rx_101 , rx_102 ] observed : - scope : drive.files.read:/reports/* count : 8 refs : [ rx_101:step_3 , rx_102:step_2 ] - scope : drive.files.write:/reports/* count : 2 refs : [ rx_101:step_6 , rx_102:step_5 ] Output: Copy status : attenuation_proposed subject : skills/report-exporter removed_scopes : - drive.files.delete:/reports/* narrowed_scopes : [] kept_scopes : - drive.files.read:/reports/* - drive.files.write:/reports/* attenuated_grant : - drive.files.read:/reports/* - drive.files.write:/reports/* residual_risk : - The skill can still read and write any file under /reports/*. reviewer_action : applyable_now The delete scope is removable because no cited receipt exercised delete authority. The read and write scopes stay because each was used at least once. Inputs subject (optional): skill id, grant id, principal, or other label for what is being audited. granted_scopes (required): the current scopes granted to the subject, preferably in canonical policy syntax. usage_summary (required): receipt-derived usage. Include receipt ids, step refs, observed verbs, resources, success or denial status, and the time window when available. objective (optional): operator intent that focuses the review, such as "prepare for public publish" or "post-incident attenuation". policy_notes (optional): reserved scopes, compliance constraints, or human-approved exceptions that affect removal decisions. + +### policy-author + +Path: `/runxhq/runx/pages/policy-author.html` + +Author one governed runx operational policy from intent, and prove it lints. + +Group: Safety and review Source: skills/policy-author/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/policy-author/SKILL.md Policy Author Author one governed runx operational policy from intent, and prove it lints. Adopting governed runx means writing an operational policy: which repos may be touched, who owns which surface, which sources are trusted, what confidence is required before action, and which outcomes need a human. Written by hand that is a long, error-prone document. This skill turns a plain-English governance brief into one runx.operational_policy.v1 proposal, or tightens an existing policy, and runs a fail-closed lint over it before it ships. It proposes; a human approves. What this skill does Read the intent. Take the governance brief (and an existing policy when tightening) and identify the target surfaces, sources, owners, and the risk posture. Draft the policy. Produce a complete runx.operational_policy.v1 : target repos, runner binding, allowed actions, trusted sources with confidence floors, owner routes, and outcome rules. Lint fail-closed. Run the policy checks below. Any failing check blocks the proposal with the exact fix, rather than shipping a permissive policy. Tighten, never loosen. When given an existing policy, only propose changes that narrow authority (auto-merge off, human gate on, confidence up). Widening is a separate, explicit human decision. Core principles Fail closed. Unspecified means denied. A missing owner route, source rule, or confidence floor is a lint error, not a permissive default. Human gate on mutation. Any policy that allows repository mutation must set require_human_merge_gate: true and auto_merge: false . Named owners. Every target surface routes to a named owner; no orphan surfaces. Bounded sources. Each trusted source declares a minimum confidence; no source admits work below its floor. Verification before close. A source issue closes only when the outcome is verified. When to use this skill Bootstrapping a new runx deployment that needs an operational policy. Tightening an existing policy after a near-miss or an audit. Onboarding a new target repo, source, or owner into an existing policy. When not to use this skill To widen authority (add auto-merge, drop a human gate, lower confidence). That is an explicit human decision, not a generated proposal. To write skill logic or graphs. This authors the governance envelope, not the skills it governs. The operational policy model The proposal fills runx.operational_policy.v1 : target_repos : the repositories the policy may act on. runner : the runner binding (id, kind, and required substrate, e.g. GitHub Actions + scafld). allowed_actions : the lanes permitted (e.g. issue-intake , issue-to-pr , pr-review ). sources : trusted inbound sources, each with a min_confidence floor. owner_routes : surface-to-owner routing; every surface has a named owner. outcomes : verification_required , close_source_issue , require_human_merge_gate , auto_merge . Lint diagnostics The fail-closed lint emits these; any error blocks the proposal: policy.owner.unrouted (error): a target surface has no owner route. policy.mutation.no_human_gate (error): mutation allowed without require_human_merge_gate: true . policy.mutation.auto_merge_on (error): auto_merge is true on a mutating policy. policy.source.no_confidence_floor (error): a source has no min_confidence . policy.source.floor_too_low (warning): a confidence floor below 0.7. policy.close.before_verify (error): close_source_issue set without verification_required . policy.action.unknown (error): an allowed action is not a known lane. Procedure Validate that the brief names the governed work, the target repo or surface, and the intended owner or escalation route. Extract all repos, sources, actions, owners, confidence floors, and outcome rules from the brief and any existing policy. If tightening an existing policy, diff proposed changes against the current grant. Flag any widened action, lower confidence floor, removed owner, or removed human gate as a separate human decision. Draft the smallest complete runx.operational_policy.v1 that allows the stated work and denies everything else. Run the lint diagnostics. Any error finding prevents decision: ready . Emit the policy, lint result, rationale, blockers, and success checkpoint. Edge cases and stop conditions No owner route: return needs_input ; an ownerless surface is never governed by default. Mutation without a human gate: return reject or needs_input ; do not emit a ready mutating policy without require_human_merge_gate: true . Auto-merge requested: block the proposal unless the user explicitly performs a separate authority-widening decision outside this skill. Unknown action lane: return needs_input with the unknown action names. Source without confidence floor: return needs_input ; implicit trust is not a policy. Conflicting owner routes: return needs_input and cite the conflicting surfaces and owners. Output schema ( policy_proposal ) Copy decision : ready | needs_input | reject policy : schema : runx.operational_policy.v1 target_repos : [ string ] runner : id : string kind : string requires : [ string ] allowed_actions : [ string ] sources : - provider : string min_confidence : number owner_routes : - surface : string owner : string outcomes : verification_required : boolean close_source_issue : never | when_verified | always require_human_merge_gate : boolean auto_merge : boolean lint : status : pass | fail findings : - id : string severity : error | warning message : string rationale : string blockers : [ string ] needs_input : [ string ] success_checkpoint : milestone : string description : string A proposal with any error finding must have decision: needs_input or reject , never ready . Worked example Brief: "Govern issue intake across our three repos. GitHub issues and Sentry alerts. Kam owns the platform, Chong owns product. Never auto-merge; a human approves every merge; close the source issue only once the fix is verified." The proposal binds the three repos to a GitHub-Actions + scafld runner, allows issue-intake / issue-to-pr / pr-review , trusts GitHub at 0.72 and Sentry at 0.82, routes platform to Kam and product to Chong, and sets require_human_merge_gate: true , auto_merge: false , verification_required: true , close_source_issue: when_verified . The lint passes, so decision: ready . Inputs governance_brief (required): the governance intent in prose. existing_policy (optional): a current runx.operational_policy.v1 to tighten. target_repos (optional): explicit repo list when not in the brief. objective (optional): operator intent that focuses the pass. + +### review-receipt + +Path: `/runxhq/runx/pages/review-receipt.html` + +Diagnose what went wrong in a skill or graph execution and propose the smallest change that fixes it. + +Group: Safety and review Source: skills/review-receipt/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/review-receipt/SKILL.md Receipt Review Diagnose what went wrong in a skill or graph execution and propose the smallest change that fixes it. Read the receipt or failure summary. Identify what was attempted, what succeeded, and where it broke. The receipt contains step statuses ( sealed , failure , policy_denied , needs_agent ), exit codes, stderr, scope admission decisions, and timing. Distinguish root cause from symptoms. A graph may report failure at step 4, but the root cause may be bad output from step 2 that propagated through context passing. Trace data flow backward through context edges to find where the problem originated. Classify the failure: Input error — required input missing or malformed. Fix: input validation or input resolution. Scope denial — step requested scopes outside the graph grant. Fix: scope declarations or grant configuration. Tool failure — CLI tool or adapter returned an error. Fix: tool invocation (args, env, cwd) or the tool itself. Schema mismatch — step output did not match expected shape for downstream context. Fix: output parsing or artifact contract. Timeout — step exceeded time budget. Fix: increase timeout, reduce work, or split the step. Policy denial — transition gate blocked the step. Fix: gate conditions or upstream output. Review rejection — adversarial review found blocking issues. Fix: the code or spec, not the review process. Harness assertion — fixture expectations did not match actual output. Fix: skill logic or stale fixture expectations. Agent-mediated suspension is not a failure A receipt with status needs_agent denotes a healthy agent-mediated suspension, not a defect. The runtime yielded to the caller for missing agent or human input. This is a normal part of graph execution, not one of the failure classes above. When the only evidence is needs_agent without any exit code, scope denial, schema mismatch, or other concrete failure signal, return verdict: pass with an empty improvement_proposals array and note that the graph is paused as designed. One failure, one fix. Propose the smallest change that addresses the root cause. Do not bundle unrelated improvements. Output The output shape is formalised as JSON Schema at review-receipt-output.schema.json . Agents should self-validate before returning, and downstream consumers (notably write-harness ) may validate on receipt. verdict : pass , needs_update , or blocked . failure_summary : which step, which failure class, what root cause. One to three sentences. improvement_proposals : array of bounded changes. Each: target : what to change (SKILL.md, execution profile, graph step, input, fixture) change : what specifically to change rationale : why this fixes the root cause risk : what could go wrong next_harness_checks : replayable checks that should pass after the fix. Inputs All optional — supply whichever evidence is available: receipt_id : receipt id to inspect. receipt_summary : sanitized receipt or harness summary. harness_output : failed harness output or assertion text. skill_path : path to the skill being improved. + +### sandbox-harden + +Path: `/runxhq/runx/pages/sandbox-harden.html` + +Decide the narrowest sandbox a workload can run inside without breaking it. + +Group: Safety and review Source: skills/sandbox-harden/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/sandbox-harden/SKILL.md Sandbox Harden Decide the narrowest sandbox a workload can run inside without breaking it. What this skill does Most workloads ship with the default sandbox their runtime hands them: the full seccomp default, a broad capability set, unrestricted egress, a writable root. That default is sized for the worst case, not for this workload. This skill reads what a named workload actually needs and emits the tightest posture that still lets it run: an allowed-syscall list, the capabilities to drop, an egress allowlist, and a filesystem stance, with the residual risk named in plain terms. The output is a posture recommendation, not an enforced change. A runtime, an orchestrator, or an operator applies it. This skill never executes the workload and never widens a posture below the supplied baseline without saying why. How it differs from its neighbors: least-privilege audits API scopes, not syscalls; audit-receipt reads a sealed run after the fact. This skill is the only one that reasons about the seccomp, capability, egress, and filesystem posture a workload should run inside before it starts. The recommendation reads input only and writes nothing; applying it is a separate runtime act that exercises sandbox:configure on the named workload and nothing wider. When to use this skill Before running an untrusted or third-party workload, to decide its sandbox. During a security review of an existing deployment whose sandbox is the broad default. When promoting a workload toward production and the runtime posture must be reviewable, not implicit. When an operator needs the egress allowlist and dropped capabilities written down before a runtime applies them. When not to use this skill To run, build, or schedule the workload. This skill recommends a posture; a runtime, orchestrator, or operator executes the workload under it. To audit which API scopes or grants a subject used. That is least-privilege ; it reasons about authority, this one reasons about syscalls, capabilities, egress, and the filesystem. To audit a sealed receipt for over-reach after the fact. That is audit-receipt . To handle, store, or surface the secret material a workload reads. A hardening profile names a mount path or a secret handle, never a secret value. To produce a posture for a workload whose identity is unknown. Return needs_agent instead of hardening an unnamed target. Procedure Resolve the workload. Accept an image digest ( sha256:... ) or a skill ref. Record which form was supplied as hardening_profile.workload . Gate: if no workload is supplied, stop with needs_agent . There is nothing to harden. Build the behavior model. Combine the workload class (web service, batch job, CLI, language runtime), the supplied threat_context , and the baseline posture. Distinguish known behavior from assumed behavior. A profile built on assumed syscall need is weaker evidence than one built on an observed or documented call set. Gate: if the behavior is unknown enough that the syscall set, egress, or write paths would be a guess, stop with needs_more_evidence and name what observation would resolve it (a trace, a manifest, a dry run under audit seccomp). Recommend the seccomp profile. Default to deny . Add only syscalls the behavior model supports. Prefer a named runtime default profile plus an explicit allow delta over a hand-rolled full list when the workload class has a known good baseline. Never add a syscall family with no behavioral basis. Unknown need is a stop condition, not a blanket allow. Drop capabilities. Start from "drop all", then justify each capability kept. A capability is kept only when the behavior model needs it. Name the reason per kept capability in the rationale. Set the egress posture. Default to mode: none . Move to mode: allowlist only when the workload has a named, justified destination set. List hosts, not raw allow-everything. An empty allowlist means no egress. Never recommend open egress as a convenience. Set the filesystem posture. Default to readonly: true with an explicit writable_paths list. Each writable path is justified by the behavior model (scratch, cache, a declared output dir). A writable root is a finding, not a default. State residual risk. After the controls above, name what an attacker who fully controls the workload could still do, the level , and the reason . Residual risk is never "none". If the profile is built on assumed behavior, say so here. Honor the baseline. The recommended posture must be at least as strict as the supplied baseline on every axis. If the model would relax any control below the baseline, do not relax it silently; either keep the baseline or, where a relaxation is genuinely warranted, record the reason in the rationale and raise the residual-risk level. The narrowness gate and the evidence gate are the two that hold authority: no control weaker than the baseline without a stated reason and a raised residual-risk level, and no syscall, host, or write path with no behavioral basis. A posture no tighter than the baseline with no new evidence is not worth emitting. Edge cases and stop conditions Missing workload: return needs_agent ; an unnamed target cannot be hardened. Unknown behavior: return needs_more_evidence with the observation that would resolve it; do not pad the syscall set with plausible families. Workload needs a privileged capability (for example CAP_SYS_ADMIN ): keep it only with a stated reason and raise the residual-risk level; never drop a capability the workload provably needs just to look tighter. Egress to a dynamic or unbounded host set: keep mode: allowlist with the known hosts and flag the unbounded remainder as residual risk; do not fall back to open egress. Baseline is already tighter than the model: keep the baseline; the recommendation never loosens a control the operator already set. Secret material in the input: reference it by mount path or handle in the profile and rationale; never copy a secret value into the output. Conflicting threat context and baseline: prefer the stricter control and name the conflict in the rationale. Output schema Copy hardening_profile : decision : ready | needs_more_evidence | needs_agent workload : ref_form : image_digest | skill_ref image_digest : string skill_ref : string class : string seccomp : default : deny | allow allowed_syscalls : array dropped_caps : array egress : mode : none | allowlist hosts : array filesystem : readonly : boolean writable_paths : array residual_risk : level : low | medium | high reason : string rationale : string The single hardening_profile object is packet runx.hardening.v1 . Secrets, tokens, key material, and raw fetched content never appear in the profile; secret-bearing inputs are referenced by mount path or handle only. The receipt carries the workload ref form and digest, the four posture axes, the residual-risk level, the stop status, and the quality and voice profile hashes. It carries no secret values and no syscall trace payloads. Worked example Input: workload is { image_digest: "sha256:1f4c...", class: "batch job" } ; threat_context is "processes untrusted user uploads, no inbound network"; baseline is "docker default seccomp, all caps, open egress, writable root". Output: decision: ready . seccomp.default: deny with an allowed set covering file I/O, memory, and process control but not ptrace , mount , or raw socket families. dropped_caps is the full default set (the job needs none). egress.mode: none (no inbound or outbound network in the threat context). filesystem.readonly: true with writable_paths: ["/tmp/work"] for upload scratch. residual_risk.level: low , reason: a compromised job can still consume CPU and fill /tmp/work to its quota; it cannot reach the network or escalate. The rationale records that the syscall set is assumed from the batch-job class, not from an observed trace, so a trace would raise confidence without widening the posture. Inputs workload (required, json): the target to harden, as { image_digest } or { skill_ref } , optionally with class . Without it the skill returns needs_agent . threat_context (optional, string): the trust assumptions and exposure, for example "processes untrusted uploads, no inbound network". baseline (optional, string): the current or floor posture. The recommendation is never weaker than this without a stated reason. + +### governed-outbound + +Path: `/runxhq/runx/pages/governed-outbound.html` + +Take something from outside, make it safe to send, authorize the exact outbound plan, and leave proof. `governed-outbound` prepares the boundary crossing; it does not claim the configured provider delivered anything. + +Group: Outbound and tooling Source: skills/governed-outbound/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/governed-outbound/SKILL.md Governed Outbound Take something from outside, make it safe to send, authorize the exact outbound plan, and leave proof. governed-outbound prepares the boundary crossing; it does not claim the configured provider delivered anything. It composes four catalog skills into one governed run: web-fetch gathers the source within an explicit host allowlist. redact-pii scrubs personal data and returns a pass/hold verdict before any of it can leave the boundary. an approval gate holds the plan for a human, who sees the redaction verdict and the residual risk, not the raw content. send-as binds the scrubbed content, principal, audience, and provider lane into an authorized plan. sign-receipt seals the gather, scrub, approval, and plan. A separate provider host must execute the plan, record delivery evidence, and read it back before any caller may call the notification delivered. The point of the chain is the order. The scrub runs before authorization and the human gate runs before send-as . This receipt proves preparation and authority, not provider delivery. What this skill does governed-outbound is a graph, not a single agent step. Each hop is a real catalog skill with its own scope, and authority narrows at every branch: web-fetch may only reach the allowlisted host, redact-pii may only read the fetched content, the approval gate authorizes the plan, and sign-receipt may only append to the ledger. Personal data never reaches the channel or the receipt; the content travels by digest, and the redaction report carries class and span offsets, never the values it found. When to use this skill An agent needs to prepare external information (an incident page, a changelog, a status update, a thread) for a provider channel, and that information may carry personal data. A workflow must prove that the proposed outbound content was scrubbed and the exact plan was approved before provider execution. You want one receipt that links the source, the scrub verdict, the approval, and the send plan. When not to use this skill To post content that was authored in-house and carries no external data. Call send-as directly, then use the configured provider host. To gather a source with no intent to send it onward. Call web-fetch . To deliver without a human in the loop. The approval gate is the point; a send that needs no review does not need this chain. To move money, change a repository, or unseal a secret. Those are other governed lanes with their own gates. How the chain is wired fetch-source reads url and allowlist from the run inputs and returns fetch_result with the content digest and extracted text. scrub-content takes fetch-source 's extracted text as content , runs in redact mode, and returns redaction_report with the ready / needs_review / blocked verdict, the detected spans, and redacted_digest . approve-send shows the approver the redaction decision , the residual_risk , and the redacted_digest , then records an approval decision. plan-notice runs only when the approval is true and the redaction verdict is ready ; it plans the send of the scrubbed content to channel as principal , naming the provider action a connector lane would run. seal-run attests the run, binding the source digest and the redacted digest as evidence, and appends the receipt to the ledger. Edge cases and stop conditions No url or allowlist : the run returns needs_agent ; there is nothing to gather and no boundary to respect. Host not allowlisted: web-fetch returns policy_denied and the chain stops before anything is read. Redaction not ready : a needs_review or blocked verdict fails the send transition, so plan-notice never runs. Nothing leaves the boundary on a hold verdict. Approval denied or absent: the send transition is not satisfied and the chain stops at the gate, scrubbed but unsent. Provider delivery fails downstream: preserve this planning receipt, record the provider failure in the executing host, and do not produce delivery evidence or mark the action complete. Output The run seals to runx.receipt.v1 , linking each step's packet: fetch_result (source + digest), redaction_report (verdict + spans + redacted digest), approval_decision (the gate), send_plan (the authorization), and the attestation (the seal). send_plan is authorization, not delivery evidence. The receipt proves the preparation path without reconstructing the personal data that was removed along the way. Inputs url (required): source to gather before preparing the notification. allowlist (required): hosts web-fetch is permitted to reach. channel (required): destination channel for the notification. principal (required): principal the notification is sent as. claim (optional): what the sealed attestation should assert about the run. operator_context (optional): boundary, audience, or compliance context. + +### run-history + +Path: `/runxhq/runx/pages/run-history.html` + +Turn runx's own run ledger into a governed, read-only report. + +Group: Outbound and tooling Source: skills/run-history/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/run-history/SKILL.md Run History Analyst Turn runx's own run ledger into a governed, read-only report. Every governed runx run leaves a receipt. Over time that ledger is data: which skills run, how often they seal versus refuse, which never graduate past alpha, and where authority is consistently broader than usage. This skill reads that ledger (via runx history and runx list ) and reports it. It never executes a skill, sends, or mutates; every planned call is read-only. Its recommendations route to the governance skills, least-privilege , audit-receipt , and the maturity promoter, so the report turns into action through the right governed lane. What this skill does Scope the question. Account-wide, a single skill, or a period. Pull the ledger, read-only. Plan runx history and runx list queries; never an execution command. Grade the signals. Seal rate, refusal rate, maturity distribution, and scope-usage breadth, each with an assessment, not a bare number. Recommend through governed lanes. A high refusal rate, a skill stuck at alpha, or a consistently-unused scope routes to a named governance skill, not a direct mutation. Core principles Read-only. Only runx history and runx list . No execution, send, or config call. Every planned call is requires_confirmation: false . Grade, do not dump. Every metric carries an assessment against a norm. Route, do not act. Recommendations name the governed lane ( least-privilege , audit-receipt , maturity promoter); this skill does not change a grant or a tier itself. Refusals are signal, not failure. A healthy refusal rate means bounds are working; a spike means a skill or a policy needs review. Absence is not health. With no history, return needs_more_evidence . When to use this skill Periodic platform review: what is runx actually doing across skills. Spotting skills with anomalous refusal rates or stuck maturity. Finding consistently-unused scopes worth attenuating. When not to use this skill For a single run's authority audit (use audit-receipt ). To narrow one skill's grant from its usage (use least-privilege ). For email or product analytics. This reports on runx runs, not a domain dataset; that is a separate, product-owned analytics skill. Signals and norms seal_rate : share of runs that sealed cleanly. good >0.9, warning 0.7-0.9, critical refusal_rate : share of runs that hit a governed refusal. info by default; a sharp per-skill spike is a warning worth routing. maturity_distribution : counts at alpha / beta / stable. Many skills stuck at alpha is a warning (no harness coverage). scope_usage : scopes granted but never exercised across runs, a candidate for attenuation. Output schema ( history_report ) Copy decision : ready | needs_more_evidence scope : workspace | skill | all period : string ordered_tool_calls : - tool : runx history | runx list purpose : string requires_confirmation : boolean # always false; read-only findings : - metric : string value : string assessment : good | warning | critical | info recommendations : - finding : string lane : least-privilege | audit-receipt | maturity-promoter | none action : string blockers : [ string ] needs_input : [ string ] success_checkpoint : milestone : string description : string Worked example Question: "How is the skill catalog behaving this month?" The report plans runx history --since 30d and runx list skills --json , then reports a 0.94 seal rate (good), a refusal rate of 0.06 (info, bounds working), a maturity spread of 14 alpha / 5 beta / 2 stable (warning, most skills lack harness coverage), and one skill granted repo.write but never exercising it across 40 runs. It recommends routing the alpha-heavy spread to the maturity promoter and the unused repo.write to least-privilege for attenuation. It changes nothing itself. Inputs objective (required): the history question. scope (optional): workspace , a specific skill , or all . period (optional): e.g. 30d or 90d . history_summary (optional): a sanitized runx history summary when already fetched. objective guides which signals to lead with. + +### sourcey + +Path: `/runxhq/runx/pages/sourcey.html` + +Generate a documentation site for a project using Sourcey. Sourcey is a static documentation generator that produces HTML sites from markdown pages, OpenAPI specs, Doxygen XML, and MCP server snapshots. + +Group: Outbound and tooling Source: skills/sourcey/SKILL.md Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677 Path: skills/sourcey/SKILL.md Sourcey Generate a documentation site for a project using Sourcey. Sourcey is a static documentation generator that produces HTML sites from markdown pages, OpenAPI specs, Doxygen XML, and MCP server snapshots. What this skill does By default, runx executes Sourcey as a governed mixed-runner skill: discover the bounded documentation scope, evidence, and plan request approval author the bounded docs/config bundle write the source bundle deterministically build docs deterministically critique the built output in one bounded pass apply at most one bounded revision pass rebuild and verify the output deterministically For already-configured projects, the same sourcey runner stays narrow: the discover step can confirm existing config, the author/revise passes can return empty bundles, and the deterministic tool steps still perform the build and verification work. For repository-backed projects, Sourcey owns two separate surfaces: committed docs source and generated site output. Keep those separate. Do not mix emitted HTML, search indexes, or OG assets back into the authored docs tree. When to use this skill A project needs a maintainer-grade documentation site generated from real repository evidence, existing docs, API specs, Doxygen XML, or MCP snapshots. A branded package or product needs Sourcey output with governed discovery, approval, authoring, deterministic build, critique, revision, and receipt proof. A workflow needs to separate authored docs source from generated site output while preserving a reviewable receipt trail. A maintainer wants CI or deploy to rebuild docs without inventing scope, prose, or information architecture at deploy time. When not to use this skill To manufacture documentation when the repository evidence is too thin. Return needs_more_evidence or needs_review instead of confident filler. To write generated HTML, search indexes, or Open Graph assets back into the source docs tree. To bypass approval for a new docs plan or to run open-ended critique/revision loops. To document APIs by hand when an OpenAPI, Doxygen, or MCP source can be used directly by Sourcey. Documentation rules Sourcey output should read like native project documentation that a maintainer would stand behind: build from project evidence, but do not expose the evidence-gathering process as page prose preserve the project's own terms, priorities, and level of ambition make fewer pages with real substance rather than many generic pages make a real developer action easier—install, evaluate, integrate, operate, or contribute; a polished site with thin content is a failed run never use "generated by Sourcey", preview, adoption, migration, scaffold, or demo framing unless the project itself uses that framing never describe pages as machine output, agent output, or AI-generated docs; the site should read like the project maintainer wrote and stands behind it when publishing public docs, use a credible durable project, maintainer, organization, product, or documentation home. Random personal domains, placeholder parent sites, sandbox hosts, preview deploys, throwaway subdomains, and unrelated novelty domains are not publication-quality homes if the repo evidence is too thin for a strong docs page, surface that as an evidence gap instead of manufacturing confident filler Canonical semantics Complex runx skills share a reusable phase language: scope ingest model materialize evaluate revise verify ratify The current Sourcey runner deliberately uses a bounded subset: discover folds scope + ingest + model approve is ratify author + write-docs + build form materialize critique is evaluate revise + write-revisions + rebuild form revise verify is verify The current slice uses exactly one bounded revision window. It never loops until good and it never critiques indefinitely. When docs_inputs is supplied explicitly, treat that as a bounded instruction to use the existing config target. Do not overwrite the referenced config or invent replacement docs files merely because repository inspection evidence is thin. Missing evidence is not the same as missing files. Procedure Inspect the project and discover a bounded documentation plan from real project evidence. Approve the discovered plan before authoring. Author the bounded Sourcey source bundle. Persist that bundle deterministically. Run sourcey build deterministically with the discovered or authored config. Critique the built output in one bounded evaluation pass. Apply at most one bounded revision pass from that critique. Rebuild deterministically after the revision bundle is written. Verify the output directory contains index.html . Inspect the receipt and generated site. The deterministic build report should carry enough rendered evidence for an external reviewer to reason about the site without hidden file access. At minimum that means the generated file list plus index-page title, headings, and an excerpt when index.html exists. Discovery contract discovery_report may include additional planning metadata, but the canonical resolved docs inputs must live under: discovery_report.discovered.brand_name discovery_report.discovered.homepage_url discovery_report.discovered.docs_inputs Downstream deterministic build steps consume that nested discovered object. Output schema Sourcey build produces: HTML pages, sourcey.css , sourcey.js , search-index.json , sitemap.xml , llms.txt , llms-full.txt , and _og/ directory with generated Open Graph images. The sealed package includes: Copy discovery_report : discovered : brand_name : string | null homepage_url : string | null docs_inputs : object | null doc_bundle : files : array summary : string sourcey_build_report : generated_files : array index_title : string index_headings : array index_excerpt : string evaluation_report : object revision_bundle : files : array summary : string sourcey_verification_proof : verified : boolean index_path : string receipt_notes : authority : governed docs plan approval mutation : authored docs source writes only Worked example Input: a project contains README.md , package.json , and a partial docs/ tree, but no Sourcey config. Output: decision: ready after approval; Sourcey discovers the project name, homepage, and docs inputs, writes a bounded docs/sourcey.config.ts plus only the highest-value missing docs pages, builds to .sourcey/runx-docs , critiques the rendered index.html , applies at most one revision bundle, verifies the output, and seals a receipt with the build report and verification proof. If the project evidence does not support a maintainer-grade site, the run stops with needs_more_evidence or needs_review instead of producing filler. Inputs project (required): project root directory. repo_root : optional alias for the project root when Sourcey is composed inside a parent graph that already uses repo_root . brand_name : project name (discovered from package evidence if omitted). homepage_url : project homepage (discovered from project evidence if omitted). docs_inputs : structured docs inputs, e.g. {"mode":"config","config":"docs/sourcey.config.ts"} or {"mode":"openapi","spec":"openapi.yaml"} . Discovered if omitted and may point at authored config produced by the skill. project_brief : optional grounded brief carrying brand cues, docs audit, IA direction, and writing constraints. When present, the authored docs should feel like native project docs rather than generic generated scaffolding. output_dir : generated site output path (default: /.sourcey/runx-docs ). sourcey_bin : explicit sourcey executable path (default: SOURCEY_BIN env or sourcey on PATH). Repository Contract Keep authored docs source in the repository, usually under docs/ when using docs/sourcey.config.ts . Keep generated site output in output_dir , separate from the source tree. The default generated output path is /.sourcey/runx-docs . Generated output should be gitignored unless the project explicitly chooses to version release artifacts. CI or deploy may run deterministic sourcey build from committed source. Deploy must not be the step where docs scope, prose, or IA is invented. Do discovery, authoring, and review before deploy. For Astro host apps, prefer the first-class sourcey/astro integration over a separate prebuild script that writes into public/docs . Keep docs/sourcey.config.ts and markdown/spec inputs as source; let astro dev serve Sourcey through Vite and astro build write generated docs into the final output under the configured route. For public publication, include enough proof for an external reviewer to inspect the target project, source commit, Sourcey config or input source, generated page list, deployment URL, parent domain, and durability of the hosting choice. Astro host pattern Use this shape when the target already uses Astro and docs should live at a path such as /docs : Copy import { defineConfig } from "astro/config" ; import sourcey from "sourcey/astro" ; export default defineConfig ({ site: "https://example.com" , integrations: [ sourcey ({ config: "./docs/sourcey.config.ts" , routeBase: "/docs" , }), ] , }) ; Do not add prebuild , build:docs , or committed public/docs artifacts for this path unless the project explicitly cannot use Astro integrations. The generated output remains reproducible build output, not authored source. Config reference Copy import { defineConfig } from "sourcey" ; export default defineConfig ({ name: "Project Name" , theme: { preset: "default" , // "default" | "minimal" | "api-first" colors: { primary: "#hex" , // required light: "#hex" , // optional, derived from primary dark: "#hex" , // optional, derived from primary }, fonts: { sans: "Inter" , // optional mono: "monospace" , // optional }, layout: { sidebar: "18rem" , // optional toc: "19rem" , // optional content: "44rem" , // optional }, css: [ "path/to/custom.css" ], // optional } , logo: "path/to/logo.png" , // or { light, dark, href } favicon: "path/to/favicon.ico" , repo: "https://github.com/org/repo" , editBranch: "main" , editBasePath: "docs" , // path from repo root to docs source codeSamples: [ "curl" , "javascript" , "python" ] , // for OpenAPI tabs navigation: { tabs: [ // Markdown pages tab { tab: "Documentation" , slug: "" , // empty = default tab groups: [ { group: "Getting Started" , pages: [ "introduction" , "quickstart" ] }, { group: "Guides" , pages: [ "configuration" , "deployment" ] }, ], }, // OpenAPI tab { tab: "API Reference" , openapi: "path/to/openapi.yaml" , }, // Doxygen tab { tab: "C++ API" , doxygen: { xml: "path/to/doxygen/xml" , language: "cpp" , // "cpp" | "java" groups: true , // use doxygen groups for nav index: "auto" , // "auto"|"rich"|"structured"|"flat"|"none" }, }, // MCP tab { tab: "Tools" , mcp: "path/to/mcp.json" , }, ], } , navbar: { links: [ { type: "github" , href: "https://github.com/org/repo" }, // types: github, twitter, discord, linkedin, youtube, slack, // mastodon, bluesky, reddit, npm, link ], primary: { type: "button" , label: "Demo" , href: "/demo" }, } , footer: { links: [{ type: "github" , href: "https://github.com/org/repo" }], } , search: { featured: [ "introduction" , "quickstart" ], // top results when empty query } , }) ; Page format Pages are markdown files resolved relative to the config file directory. If config is at docs/sourcey.config.ts , then page "quickstart" resolves to docs/quickstart.md . Copy --- title: Page Title description: One-line description for search and meta tags --- Content here. Standard markdown with code blocks, tables, links. Card Icon Contract Sourcey card icons are Heroicons v2 outline names in kebab-case. The renderer returns an empty icon for unknown names, so authoring must use exact names. Known-good names for documentation cards include: academic-cap , arrow-path , bell , bolt , book-open , chart-bar , check-circle , cloud-arrow-up , code-bracket , command-line , cpu-chip , cube , document , document-text , exclamation-triangle , globe-alt , key , lifebuoy , light-bulb , lock-closed , magnifying-glass , map , rocket-launch , server-stack , shield-check , sparkles , and wrench-screwdriver . Invalid card icon names are a blocking quality issue. The build report includes icon_validation ; critique and revision must fix any icon_validation.status: "invalid" result before the run is accepted. Edge cases and stop conditions Only create tabs for content types the project actually has. Do not add an OpenAPI tab if there is no spec file. Do not add a Doxygen tab without XML. Do not document APIs by hand when a spec file exists — use the spec tab. Keep navigation shallow: 1-2 tabs, 2-4 groups for most projects. Use project brand colors if identifiable. Otherwise use a neutral palette. Use only exact Heroicons v2 outline names for Sourcey card icon attributes; never invent icon names. When a grounded brief provides logo, favicon, color, or IA guidance, prefer that over generic defaults. Match the project's existing voice and terminology. Never write docs that describe themselves as a preview, adoption, migration, or tool-generated scaffold unless the repo's own evidence explicitly uses that framing. Do not write generated HTML, search indexes, or OG assets into the authored docs source tree. If output_dir lives under the repo root, gitignore it or call out the missing ignore rule as an operational gap. Build output may be regenerated in CI or deploy, but deploy must not author or revise docs content. Public deployments must be durable and socially credible. Do not treat a throwaway preview URL, unrelated personal domain, placeholder parent site, or sandbox subdomain as a completed public docs home. Do not encode open-ended critique or revision behavior. Critique is one bounded evaluation pass. Revision is at most one explicit bounded pass. diff --git a/docs/sourcey-catalog/site/llms.txt b/docs/sourcey-catalog/site/llms.txt new file mode 100644 index 000000000..5643f20d7 --- /dev/null +++ b/docs/sourcey-catalog/site/llms.txt @@ -0,0 +1,31 @@ +# Runx Governed Skill Catalog + +> Governed Runx skill catalog pinned to one upstream revision. + +## Skills + +- [Introduction](/runxhq/runx/pages/introduction.html): Governed Runx skill catalog pinned to one upstream revision. +- [agency](/runxhq/runx/pages/agency.html): Run a standing, accountable team toward a mandate, one governed turn at a time. +- [business-ops](/runxhq/runx/pages/business-ops.html): Turn one business signal into a replayable operations graph. +- [operator-inbox](/runxhq/runx/pages/operator-inbox.html): Maintain a durable action queue without turning a connector into the owner of operator state. +- [ops-desk](/runxhq/runx/pages/ops-desk.html): Operate a project, workspace, or account from an agent-controlled desk. +- [work-plan](/runxhq/runx/pages/work-plan.html): Turn a build or automation objective into a bounded governed work plan. +- [deep-research](/runxhq/runx/pages/deep-research.html): This graph turns one important question into a decision-ready brief. +- [research](/runxhq/runx/pages/research.html): Research one bounded question and turn it into a decision-ready packet. +- [data-store](/runxhq/runx/pages/data-store.html): Operate a data source through a governed adapter contract. This skill gives an agent enough context to read, append, or project state without learning provider secrets, inventing SQL, or depending on one storage backend. +- [knowledge-router](/runxhq/runx/pages/knowledge-router.html): Route one question, source event, or support thread to the right knowledge sources and follow-up path. +- [web-fetch](/runxhq/runx/pages/web-fetch.html): Fetch one URL, prove it was allowed, extract the part the caller asked for, and return that slice by digest with the provenance needed to trust it later. +- [github-sync](/runxhq/runx/pages/github-sync.html): Decide exactly what state to move between a GitHub repo and the local graph, in which direction, and whether the agent is even allowed to write. +- [issue-intake](/runxhq/runx/pages/issue-intake.html): Convert an inbound thread, support report, or operator request into one explicit intake decision plus the parent change artifact that downstream planning or mutation lanes must share. +- [issue-triage](/runxhq/runx/pages/issue-triage.html): Turn noisy issue streams into bounded, evidence-backed action. +- [issue-to-pr](/runxhq/runx/pages/issue-to-pr.html): Drive one bounded thread-driven change through the scafld 2.4-compatible lifecycle and package the result as a provider-agnostic draft pull-request packet. +- [release](/runxhq/runx/pages/release.html): Turn a proposed release into an audited publication. The skill owns the release decision process: evidence gathering, changelog preparation, approval, publish handoff, verification, and announcement. It does not own a project's custom release implementation. Project-specific topology lives in a release profile that names existing commands, workflows, registries, deploy targets, and verification readbacks. +- [audit-receipt](/runxhq/runx/pages/audit-receipt.html): Audit a sealed run for authority over-reach, using its own receipt as evidence. +- [cve-audit](/runxhq/runx/pages/cve-audit.html): This skill audits exact npm versions from an immutable `package-lock.json` against the public OSV API. It emits a machine-readable audit result, `evidence.json`, and a finding-by-finding Markdown report. The governed graph in `X.yaml` independently replays every query and seals a delivery packet only when the reported and replayed advisory sets match exactly. +- [least-privilege](/runxhq/runx/pages/least-privilege.html): Turn granted authority plus observed usage into a bounded attenuation proposal. +- [policy-author](/runxhq/runx/pages/policy-author.html): Author one governed runx operational policy from intent, and prove it lints. +- [review-receipt](/runxhq/runx/pages/review-receipt.html): Diagnose what went wrong in a skill or graph execution and propose the smallest change that fixes it. +- [sandbox-harden](/runxhq/runx/pages/sandbox-harden.html): Decide the narrowest sandbox a workload can run inside without breaking it. +- [governed-outbound](/runxhq/runx/pages/governed-outbound.html): Take something from outside, make it safe to send, authorize the exact outbound plan, and leave proof. `governed-outbound` prepares the boundary crossing; it does not claim the configured provider delivered anything. +- [run-history](/runxhq/runx/pages/run-history.html): Turn runx's own run ledger into a governed, read-only report. +- [sourcey](/runxhq/runx/pages/sourcey.html): Generate a documentation site for a project using Sourcey. Sourcey is a static documentation generator that produces HTML sites from markdown pages, OpenAPI specs, Doxygen XML, and MCP server snapshots. diff --git a/docs/sourcey-catalog/site/pages/agency.html b/docs/sourcey-catalog/site/pages/agency.html new file mode 100644 index 000000000..4165b030f --- /dev/null +++ b/docs/sourcey-catalog/site/pages/agency.html @@ -0,0 +1,149 @@ + +agency - Runx Governed Skill Catalog
Operate

agency

Run a standing, accountable team toward a mandate, one governed turn at a time.
    +
  • Group: Operate
  • +
  • Source: skills/agency/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/agency/SKILL.md
  • +
+

Agency

+

Run a standing, accountable team toward a mandate, one governed turn at a time.

+

An agency is the only runx skill that holds a roster, a persistent objective, and a +case that spans turns. It is a governed delegation envelope: a defined set of members +with scope ceilings, a mandate, cumulative limits, and a case whose every turn is +sealed and replayable. It composes the existing skills and reimplements none. Each +turn borrows ops-desk for judgment, the roster members for execution, data-store +for the event log, and receipts for the ledger.

+

It is not a durable-execution engine and it is not an autonomous daemon. One turn is +one stateless governed act; an external driver (a human, a cron, a board poll) runs +the loop by calling advance until the case resolves.

+

What this skill does

+
    +
  • open starts a case: it appends opened with the mandate, the roster, and the +cumulative limits snapshot, so the charter travels with the case.
  • +
  • advance runs one turn: it folds the case from its event stream, asks ops-desk +for the single next move constrained to the roster, enforces the measurable gate, +records one turn event whose append is the contention lease, and names the member +to run. The member runs as a separate governed run; its outcome is fed back to the +next advance as member_result.
  • +
  • status folds and returns the current case state.
  • +
+

The case reducer is the agency's own code, because data-store carries events but +does not fold domain state. Everything else is delegation.

+

When to use this skill

+
    +
  • A standing, consequential mandate must run for days or weeks, dispatch different +members, and leave an auditable trail sealed to a bounded authority.
  • +
  • A process needs scoped delegation with a measurable ceiling and a human gate on +consequence, not an unbounded agent.
  • +
+

When not to use this skill

+
    +
  • One-shot or interactive work. Call the member skills directly; the agency is +overhead when the operator is already the loop.
  • +
  • To compute proposals (that is ops-desk) or claim and clock logic (that is +messageboard). Compose them.
  • +
  • To bake a storage backend. The case lives in data-store via data_source_ref.
  • +
  • To let the model invent the roster, the mandate, or the limits. They are operator +config, snapshotted into the case at open.
  • +
+

Procedure

+
    +
  1. open the case with the mandate, roster, and limits.
  2. +
  3. advance the case. Read the turn packet:
      +
    • advanced: run the named member under its scope, then advance again with the +member's outcome as member_result.
    • +
    • awaiting_approval: resolve the escalation, then advance.
    • +
    • resolved or failed: the case is closed.
    • +
    +
  4. +
  5. Repeat until the case resolves. The driver, not this skill, decides the cadence.
  6. +
+

The measurable gate

+

The done-check and the limit-check are measurable first. advance folds cumulative +totals (acts, spend) and the trusted planner overrides the model when a cap is +breached: an over-cap turn fails regardless of what ops-desk proposed. The narrative +judgment from ops-desk chooses the move within the caps; it never widens them. +Spend caps tracked in the projection are the v1 path; routing spend through spend +and runx-pay reservations is the stronger enforcement.

+

Contention

+

Two drivers must not double-fire a member act. Each turn appends a single event keyed +case_id:turn:driver_id at the folded expected_version. Two drivers racing the same +turn carry different keys, so the loser hits a hard version conflict rather than +replaying the winner, and stops before any dispatch. The append is the lease, and it +lands before the named member runs.

+

Edge cases and stop conditions

+
    +
  • No case at case_id: advance returns needs_input; open the case first.
  • +
  • A cumulative cap is reached: the turn is failed with the breached predicate named.
  • +
  • The best move is consequential and unapproved: awaiting_approval with the prompt.
  • +
  • No roster member can act and nothing is escalatable: escalate to the configured +human with the missing input named.
  • +
+

Output schema

+

advance returns one agency_turn:

+
+
+ +
+
agency_turn:
+  schema: runx.agency.turn.v1
+  status: advanced | awaiting_approval | resolved | needs_input | failed
+  case_id: string
+  turn: number
+  dispatch:                 # present when status == advanced
+    member: string
+    skill: string
+    task: string
+    needed_scope: [string]
+  approval_prompt: string | null
+  resolution: object | null
+  predicates: object        # the measurable over_limits booleans
+  reason: string | null
+  next: string
+

Inputs

+
    +
  • open: data_source_ref, case_id, agency_ref, mandate, roster, limits, +optional signal.
  • +
  • advance: data_source_ref, case_id, driver_id, optional member_result.
  • +
  • status: data_source_ref, case_id.
  • +
+

Worked example

+

Open a docs case with a researcher, writer, and reviewer and a 50-turn limit. +advance folds an empty-but-opened case, ops-desk picks the researcher, and the turn +returns advanced naming the researcher. The driver runs the researcher and calls +advance again with its result; ops-desk now picks the writer to draft. When the +reviewer approves and the projection shows the docs current, advance returns +resolved.

+

Turn rules

+
    +
  • Fold every turn from the sealed stream; never infer state the events do not show.
  • +
  • Enforce the measurable gate before the model's judgment; never widen a cap.
  • +
  • Name the member and the verification expectation on every dispatch; never claim +work settled, sent, paid, or done without a receipt.
  • +
  • Compose ops-desk, data-store, and the members; never reimplement them, and never +invent the roster or the mandate.
  • +
  • Stop cleanly with needs_input, awaiting_approval, refused, or failed; never a fake +ready.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/audit-receipt.html b/docs/sourcey-catalog/site/pages/audit-receipt.html new file mode 100644 index 000000000..77f81b068 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/audit-receipt.html @@ -0,0 +1,160 @@ + +audit-receipt - Runx Governed Skill Catalog
Safety and review

audit-receipt

Audit a sealed run for authority over-reach, using its own receipt as evidence.
    +
  • Group: Safety and review
  • +
  • Source: skills/audit-receipt/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/audit-receipt/SKILL.md
  • +
+

Receipt Auditor

+

Audit a sealed run for authority over-reach, using its own receipt as evidence.

+

runx seals a receipt for every run: the authority proof, the acts performed, the +decisions taken, the refusals, and hashed material references. That receipt is +the evidence. This skill reads a sealed receipt and answers one governance +question: did the run stay inside the authority it was granted? It flags scopes +exercised that were never granted, mutating acts that ran without an approval +gate, refusals that were not recorded, and any raw secret material that leaked +into the receipt. It pairs with least-privilege: that one narrows a +grant from usage, this one verifies a run honored its grant.

+

What this skill does

+
    +
  1. Read the proof and the acts. From the receipt, extract the granted +authority (the proof) and the scopes the acts actually exercised.
  2. +
  3. Diff exercised against granted. Any exercised scope not covered by the +proof is over-reach.
  4. +
  5. Check the gates. Every mutating act must show an approval gate in the +receipt; an ungated mutation is an anomaly.
  6. +
  7. Check exposure. The receipt must carry only hashed material references; a +raw secret in the receipt is a leak.
  8. +
  9. Verdict. clean, anomaly, or needs_more_evidence, with the exact +findings and a recommendation for each anomaly.
  10. +
+

Core principles

+
    +
  • The receipt is the evidence. Audit what the receipt records, not what the +skill claims it did.
  • +
  • Granted is the ceiling. Exercised authority must be a subset of the proof; +anything beyond is over-reach, full stop.
  • +
  • Mutation needs a gate. A mutating act with no approval gate in the receipt +is an anomaly even if it succeeded.
  • +
  • No raw material. A receipt must reference material by hash; raw credential +material in a receipt is a leak, not a convenience.
  • +
  • Absence of evidence is not clean. With no receipt or an unattributable +one, return needs_more_evidence, never clean.
  • +
+

When to use this skill

+
    +
  • Post-run governance audit of a sealed, successful run.
  • +
  • Spot-checking that a skill honored its authority bound in production.
  • +
  • Before promoting a skill toward a higher trust posture.
  • +
+

When not to use this skill

+
    +
  • To diagnose a failed run and propose a fix. That is review-receipt +(failure-to-improvement). This skill audits a sealed run for over-reach +(success-to-governance); the two are different lenses on a receipt.
  • +
  • To narrow a grant from observed usage. That is least-privilege.
  • +
+

Diagnostics

+
    +
  • receipt.authority.over_reach (error): an exercised scope is not covered by +the authority proof.
  • +
  • receipt.mutation.ungated (error): a mutating act ran without an approval gate +recorded in the receipt.
  • +
  • receipt.refusal.unrecorded (warning): a denied request is not reflected as a +sealed refusal.
  • +
  • receipt.material.exposed (error): raw credential material appears in the +receipt instead of a hash reference.
  • +
  • receipt.clean (info): exercised authority is within the grant, mutations are +gated, and no material is exposed.
  • +
+

Procedure

+
    +
  1. Resolve the receipt from receipt_id or use the provided sanitized +receipt_summary.
  2. +
  3. Extract the authority proof, granted scopes, acts, approvals, refusals, +material references, and receipt signature metadata.
  4. +
  5. Normalize exercised scopes from the acts and compare them with the granted +scopes. Exercised must be a subset of granted.
  6. +
  7. Identify mutating acts and confirm each has an approval gate recorded in the +receipt.
  8. +
  9. Check that denied requests appear as sealed refusals when the receipt records +the attempt.
  10. +
  11. Scan receipt-visible material for raw credentials or secret-bearing payloads.
  12. +
  13. Return a verdict with findings, recommendations, and the success checkpoint.
  14. +
+

Edge cases and stop conditions

+
    +
  • Missing receipt: return needs_more_evidence; never infer a clean run.
  • +
  • Unattributable receipt: return needs_more_evidence when the receipt +cannot be tied to the run under audit.
  • +
  • Malformed proof: return needs_more_evidence unless enough normalized +grant data is supplied separately.
  • +
  • Unknown scope name: treat it as over-reach unless the grant explicitly +covers it.
  • +
  • Mutation without recorded gate: emit receipt.mutation.ungated even if the +mutation succeeded and the outcome looks correct.
  • +
  • Raw token, key, or credential in the receipt: emit +receipt.material.exposed and recommend revocation/rotation.
  • +
+

Output schema (receipt_audit)

+
+
+ +
+
decision: ready | needs_more_evidence
+run_ref: string
+granted_scopes: [string]
+exercised_scopes: [string]
+refusals: [string]
+findings:
+  - id: string
+    severity: error | warning | info
+    message: string
+verdict: clean | anomaly | needs_more_evidence
+rationale: string
+recommendations: [string]
+success_checkpoint:
+  milestone: string
+  description: string
+

A clean verdict requires zero error findings.

+

Worked example

+

A sealed run was granted repo.read. The receipt shows the acts exercised only +repo.read, every act is an observation (no mutation), and material is +referenced by hash. Exercised is a subset of granted, no mutation to gate, no +exposure: verdict: clean. Had an act exercised repo.write while the proof +granted only repo.read, that would raise receipt.authority.over_reach and a +verdict: anomaly with a recommendation to revoke the run's grant and +investigate.

+

Inputs

+
    +
  • receipt_id (optional): the receipt id to audit.
  • +
  • receipt_summary (optional): a sanitized receipt or its acts/proof summary +when the full receipt is not available.
  • +
  • granted_scopes (optional): the authority the run was granted, when not +derivable from the receipt alone.
  • +
  • objective (optional): operator intent that focuses the audit.
  • +
+

At least one of receipt_id or receipt_summary is required; with neither, the +skill returns needs_more_evidence.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/business-ops.html b/docs/sourcey-catalog/site/pages/business-ops.html new file mode 100644 index 000000000..705026038 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/business-ops.html @@ -0,0 +1,205 @@ + +business-ops - Runx Governed Skill Catalog
Operate

business-ops

Turn one business signal into a replayable operations graph.
    +
  • Group: Operate
  • +
  • Source: skills/business-ops/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/business-ops/SKILL.md
  • +
+

Business Ops

+

Turn one business signal into a replayable operations graph.

+

business-ops is the generic public example for how runx makes agentic +business work composable without giving the agent ambient authority. It is a +deterministic graph skeleton: it classifies one signal, fans it into bounded +lanes, records why each lane exists, names the real skill or provider lane that +would replace the fixture, and stops before any live send, spend, publish, +merge, deploy, or customer-visible action.

+

This is not a provider integration and not an operator dashboard. It is the +small core shape that teams copy when they want one objective to fan out into a +chain of skills, then replay that chain with receipts.

+

When the route itself should become durable, use route_and_append. That runner +classifies the signal, appends the classification packet through data-store, +and reads back the projection. The same graph can use local JSON, SQLite, +Postgres, D1, Redis, or a product adapter by changing the data_source_ref +binding.

+

What this skill does

+
    +
  • Classifies one business signal before doing work.
  • +
  • Fans the signal through representative lanes: docs, release, issue/PR, +outreach planning, spend quoting, and proof audit.
  • +
  • Produces structured lane packets with authority, gate, handoff, evidence, and +readback fields.
  • +
  • Demonstrates the runx split between proposal work and consequential action: +drafts and plans can be produced, but sends, spend, merges, publishes, and +deploys require a separate approval and execution lane.
  • +
  • Gives downstream agents a clear handoff target instead of vague prose.
  • +
  • Optionally persists the classified route for replay through data-store.
  • +
+

What this skill deliberately does not do

+
    +
  • It does not call private providers, mutate a repo, post to GitHub, send email, +schedule campaigns, move money, publish releases, or deploy services.
  • +
  • It does not duplicate ops-desk, product operator skills, send-as, +vendor-specific provider skills, release, issue-to-pr, spend, or +receipt-audit skills.
  • +
  • It does not turn "outbound marketing" into a hidden side effect. Outreach is +a plan lane here; real delivery routes to send-as and then a provider +adapter. Branded provider skills are concrete adapters, not branches in this +core graph.
  • +
  • It does not treat the graph receipt as proof that an external provider action +happened. Provider actions need provider evidence and their own receipt.
  • +
+

When to use this skill

+
    +
  • To show how runx chains skills into replayable business operations.
  • +
  • To prototype a team-specific ops graph before wiring private provider tools.
  • +
  • To route a product signal without giving the agent blanket repo, email, +wallet, or deployment access.
  • +
  • To explain why a governed workflow is more useful than a one-shot prompt: +the route, stops, handoffs, and readbacks are explicit and replayable.
  • +
  • To smoke-test graph execution and child receipts with no external account.
  • +
+

When not to use this skill

+
    +
  • To run a production launch, incident, release, campaign, support reply, +payout, or spend flow as-is. Replace fixture lanes with real skills first.
  • +
  • To approve a live send, spend, merge, publish, deploy, or customer-visible +action.
  • +
  • To hide project policy, customer lists, credentials, wallet keys, provider +dumps, or private review context in the signal.
  • +
  • To claim external work completed when only this fixture graph ran.
  • +
+

Mental model

+
+
+ +
+
signal -> classify -> fanout lanes -> approval stops -> governed handoffs -> proof
+

The useful part is the chain. A single objective becomes several typed packets: +some read-only, some draft-only, some blocked until approval, and one proof lane +that states how success should be verified later. A human, agent, dashboard, or +CI loop can replay the same route and see the same stops.

+

How this maps to real runx work

+
    +
  • Docs and public proof route to a docs skill such as sourcey or a +product-owned documentation lane.
  • +
  • Release preparation routes to release, with publish held behind a +release approval.
  • +
  • Code work routes to issue-to-pr or a project-owned implementation lane, +with merge held behind review.
  • +
  • Outreach and customer communication route first to send-as, then to a +provider adapter that implements the send lane. Branded provider skills are +the right place for vendor-specific compose, test, review, schedule, or send +details. Broad outbound marketing should be its own skill or product broadcast +skill, not extra logic hidden in this graph.
  • +
  • Spend and payments route to quote or payout skills with caps, recipient, +rail, and settlement proof separated from the planning lane.
  • +
  • Proof routes to receipt/history/audit skills and provider readbacks.
  • +
+

The fixture ops-lane step simply returns these packets without performing the +handoff. In a real project, replace each fixture lane with the named governed +skill runner or provider tool.

+

Procedure

+
    +
  1. Receive one concise signal.
  2. +
  3. Optionally receive operator_context with project constraints, policy, or +the concrete business situation.
  4. +
  5. Run classify first. It decides which lanes are relevant and what authority +class each lane belongs to.
  6. +
  7. Fan out docs, release, issue, outreach, spend, and proof packets.
  8. +
  9. Mark each lane as read-only, draft-only, approval-required, or proof-only.
  10. +
  11. Name the exact downstream handoff that should replace the fixture in a real +workflow.
  12. +
  13. Seal the graph so the route itself is replayable.
  14. +
  15. If using route_and_append, append the classification packet with an +idempotency key and expected version, then read back the projection.
  16. +
+

Edge cases and stop conditions

+
    +
  • Missing signal: return needs_input. There is no safe route.
  • +
  • Vague objective: return a narrow classify packet and ask for the missing +product, audience, repo, release, amount, or provider context.
  • +
  • Live send without principal, audience, consent, digest, and approval: stop +at the outreach lane and route to send-as.
  • +
  • Spend without amount, cap, recipient, rail, and approval: stop at the +spend lane and route to a quote or payment skill.
  • +
  • Merge, publish, deploy, or destructive mutation without approval: stop at +the relevant lane and name the missing gate.
  • +
  • Provider success without provider evidence: do not mark complete. Route to +proof audit.
  • +
  • Secret or private data in the signal: refuse to echo it into outputs; +require redacted context or a provider-side readback instead.
  • +
+

Output schema

+

The graph output contains child step receipts plus one lane_packet per lane:

+
+
+ +
+
lane_packet:
+  schema: runx.business_ops_lane.v1
+  lane: string
+  signal: string
+  status: ready | awaiting_approval | needs_input | refused
+  decision: route | prepare | draft | quote | verify | stop
+  kind: router | docs | release | work | outreach | spend | proof
+  consequence: read_only | draft | live_mutation | public_send | money_movement | proof
+  summary: string
+  why: string
+  authority:
+    requested: [string]
+    provided: fixture_only
+  gate:
+    approval_required: boolean
+    approval_gate: string | null
+    stop_reason: string | null
+  handoff:
+    interface: skill | graph | cli | hosted_api | workflow | provider_tool
+    lane_ref: string
+    runner_ref: string | null
+    command_hint: string | null
+  evidence:
+    inputs_required: [string]
+    readbacks: [string]
+    receipt_refs: [string]
+  risks: [string]
+  next: [string]
+

Worked example

+
+
+ +
+
runx skill business-ops \
+  -i signal="launch readiness for API v2: docs, release, customer comms, and spend checks" \
+  --json
+

The graph classifies the launch signal, prepares docs/release/work packets, +routes customer communication to an outreach plan, stops spend at a quote gate, +and names receipt/history checks that would prove later execution. No external +provider is called.

+

Inputs

+
    +
  • signal (required): concise business operations signal to classify and route.
  • +
  • operator_context (optional): product policy, project topology, audience +constraints, or known provider state. Context only, not authority.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/cve-audit.html b/docs/sourcey-catalog/site/pages/cve-audit.html new file mode 100644 index 000000000..2e3cbaf4b --- /dev/null +++ b/docs/sourcey-catalog/site/pages/cve-audit.html @@ -0,0 +1,132 @@ + +cve-audit - Runx Governed Skill Catalog
Safety and review

cve-audit

This skill audits exact npm versions from an immutable package-lock.json against the public OSV API. It emits a machine-readable audit result, evidence.json, and a finding-by-finding Markdown report. The governed graph in X.yaml independently replays every query and seals a delivery packet only when the reported and replayed advisory sets match exactly.
    +
  • Group: Safety and review
  • +
  • Source: skills/cve-audit/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/cve-audit/SKILL.md
  • +
+

Exact CVE Audit

+

What this skill does

+

This skill audits exact npm versions from an immutable package-lock.json +against the public OSV API. It emits a machine-readable audit result, +evidence.json, and a finding-by-finding Markdown report. The governed graph in +X.yaml independently replays every query and seals a delivery packet only +when the reported and replayed advisory sets match exactly.

+

It does not install dependencies, execute target code, mutate the target +repository, repair packages, or publish vulnerability claims.

+

When to use this skill

+

Use it when a reviewer needs checkable evidence for the advisories affecting +the exact npm versions in a public, immutable lockfile. It is suitable for +dependency review, release triage, and reproducible security evidence where a +package-name-only or loose-range match would create false positives.

+

When not to use this skill

+

Do not use it for a mutable branch URL, a manifest without exact installed +versions, a private lockfile without explicit read authority, non-npm +ecosystems, exploit development, or claims about transitive coverage when the +selected scope is direct-production. Do not treat missing OSV data as proof +that a package is safe.

+

Inputs

+
    +
  • target_name: display name for the audited project.
  • +
  • target_repo: public HTTPS source repository.
  • +
  • target_commit: full 40-character immutable Git commit.
  • +
  • lockfile_url: public HTTPS lockfile URL containing that commit.
  • +
  • dependency_scope: direct-production by default, or all-installed.
  • +
+

The caller authorizes only public reads of the pinned lockfile and OSV. No +credential, token, local project file, or private payload is an accepted input.

+

Procedure

+
    +
  1. Validate that the repository and lockfile URLs use HTTPS, the commit is a +full Git hash, and the lockfile URL is pinned to that hash.
  2. +
  3. Fetch the lockfile and record its SHA-256 digest before parsing it.
  4. +
  5. Extract exact installed versions from lockfile versions 2 or 3. Preserve the +requested scope in every artifact.
  6. +
  7. Query OSV with { ecosystem: npm, package, version } for every inventory +entry. Exclude withdrawn advisories.
  8. +
  9. Record each finding with dependency, exact version, advisory ID, OSV URL, +aliases, installed path, and the exact query that produced it.
  10. +
  11. In the governed graph, replay every exact-version query in a separate step. +Fail closed if an advisory is unsupported, omitted, withdrawn, or changed.
  12. +
  13. Emit the report, evidence, verification, delivery packet, and sealed receipt.
  14. +
+

Edge cases and stop conditions

+
    +
  • Refuse non-HTTPS or mutable lockfile URLs.
  • +
  • Refuse abbreviated commits and lockfiles that do not contain the commit.
  • +
  • Refuse unsupported lockfile versions or entries without exact versions.
  • +
  • Return needs_input when the target, commit, or lockfile evidence is not +immutable enough to support reproducible review.
  • +
  • Stop if OSV times out, returns malformed data, or changes between scan and +independent replay.
  • +
  • Stop if any false hit or missing hit is detected.
  • +
  • Report the selected dependency scope; never imply broader coverage.
  • +
  • Keep tokens, credentials, private source, and target code out of artifacts.
  • +
+

Output schema

+

The scan emits:

+
+
+ +
+
{
+  "audit_result": {
+    "schema": "runx.security.exact_cve_audit.v1",
+    "target": {
+      "repo": "https://github.com/owner/repo",
+      "commit": "40-character hash",
+      "lockfile_sha256": "64-character digest"
+    },
+    "dependency_scope": "direct-production",
+    "inventory": [],
+    "findings": [],
+    "result": {
+      "exact_dependencies_queried": 0,
+      "advisory_findings": 0,
+      "source": "OSV"
+    }
+  },
+  "report": { "artifact": { "path": "artifacts/report.md" } },
+  "evidence": {
+    "summary": "human-readable audit summary",
+    "observations": [],
+    "artifact": { "path": "artifacts/evidence.json" }
+  }
+}
+

The graph adds verification.json, delivery.json, and a sealed +runx.receipt.v1 graph receipt with child receipt lineage.

+

Worked example

+

For OWASP NodeGoat at commit +c5cb68a7084e4ae7dcc60e6a98768720a81841e8, the checked-in harness reads the +pinned lockfile, audits 16 exact direct production versions, reports the OSV +advisories returned for those versions, and independently requires zero false +and zero missing hits before sealing.

+

The second harness case audits the repository's immutable clean fixture at +commit 83d554f904f9f73bd26ce9c15e3786ba7d62b1de. It verifies that an exact +dependency with no OSV advisory produces zero findings while still completing +the independent replay and sealed-receipt path.

+

If the same request points at main/package-lock.json, validation returns a +needs-input failure because the lockfile is mutable and does not contain the +declared immutable commit. No audit or receipt is presented as complete.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/data-store.html b/docs/sourcey-catalog/site/pages/data-store.html new file mode 100644 index 000000000..646c61a2b --- /dev/null +++ b/docs/sourcey-catalog/site/pages/data-store.html @@ -0,0 +1,300 @@ + +data-store - Runx Governed Skill Catalog
Research and data

data-store

Operate a data source through a governed adapter contract. This skill gives an agent enough context to read, append, or project state without learning provider secrets, inventing SQL, or depending on one storage backend.
    +
  • Group: Research and data
  • +
  • Source: skills/data-store/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/data-store/SKILL.md
  • +
+

Data Store

+

Operate a data source through a governed adapter contract. This skill gives an +agent enough context to read, append, or project state without learning provider +secrets, inventing SQL, or depending on one storage backend.

+

The storage backend can be Postgres, SQLite, D1, Redis, DynamoDB, S3, a ledger, +or a product API. The runx boundary is the same: a declared data source exposes +typed operations; the graph supplies bounded params; the adapter executes the +operation; the receipt records the resource, authority, idempotency, version, +digest, and redaction evidence.

+

Adapter selection

+

The operator chooses a data source at run time. The skill receives +data_source_ref and operation inputs; project or hosted configuration binds +that ref to the concrete adapter. A local development ref might be +local://runx-data-store/dev-board. A production ref might be +tenant://acme/board bound to data.postgres, data.d1, data.redis, or a +product-owned HTTP adapter.

+

Do not put provider logic in the domain skill. Messageboard, CRM, support, and +business-ops skills should ask for durable facts to be read or written; the data +source binding decides whether those facts live in local JSON, SQL, Redis, D1, +object storage, or a product API. Switching providers is a binding change, not a +rewrite of the skill.

+

The bundled OSS profile calls data.source. Unbound local://... refs default +to durable local SQLite under .runx/data/local-sources/, with one source-scoped +database file per logical ref, so stateful skills can be dogfooded without +standing up hosted infrastructure. Pass store_id only when a fixture +intentionally wants the deterministic data.local JSON store. The graph inputs +stay the same when a project later binds the source to Postgres, Redis, D1, +object storage, or a product API.

+

Adapter preference is operator configuration, not model choice. To choose Redis, +SQLite, or a hosted provider, bind the same data_source_ref through +RUNX_DATA_SOURCES or .runx/data-sources.json; do not add provider branches to +the domain skill.

+

What this skill does

+
    +
  • Reads data through named queries or read operations declared by a data-source +adapter.
  • +
  • Appends state transitions with idempotency keys and expected versions.
  • +
  • Reads projections, event streams, or bounded latest-stream-head pages so +loops can resume from explicit state without exporting full history.
  • +
  • Produces receipt-bound evidence for data source, resource, operation, params, +row/event limits, versions, and output digests.
  • +
  • Keeps product semantics outside the data layer. Messageboards, CRMs, billing +ledgers, and support desks define their own events and reducers.
  • +
  • Ships a fixture adapter (data.local), durable local SQLite adapter +(data.sqlite), and Redis adapter (data.redis) behind the same operation +envelope.
  • +
+

When to use this skill

+
    +
  • A graph needs durable state between turns, such as queue position, board +state, sync cursor, review status, or approval inbox state.
  • +
  • A skill must query a bounded slice of product data before deciding the next +action.
  • +
  • A workflow needs to append an auditable event or effect transition with +optimistic concurrency.
  • +
  • An operator wants one provider-agnostic shape that can later move from local +JSON or SQLite to Postgres, Redis, D1, Supabase, Turso, DynamoDB, or another +store.
  • +
+

When not to use this skill

+
    +
  • To let a model write arbitrary SQL, Redis commands, or database migrations.
  • +
  • To export broad data sets, secrets, raw PII, or unrestricted tables.
  • +
  • To hide product decisions in storage code. Domain skills still own state +machines, acceptance criteria, and business rules.
  • +
  • To treat a projection as independent truth when the event stream or receipt +chain is available and required for review.
  • +
  • To bypass payment, send, deploy, moderation, or human approval gates.
  • +
+

Procedure

+
    +
  1. Identify the domain skill and transition first. The data store is a carrier, +not the policy owner.
  2. +
  3. Select the logical data source. Use data_source_ref to name the project or +tenant source; let the project binding choose the adapter. Do not put raw +database URLs, provider credentials, or SQL in the skill input.
  4. +
  5. Select a declared operation: named read query, append event, read events, +read projection, or list stream heads. Do not synthesize raw provider +commands.
  6. +
  7. Check authority. Reads need the narrow resource/query scope; writes need the +transition scope, idempotency key, and expected version unless the operation +is explicitly append-only without concurrency.
  8. +
  9. Bind typed params. Enforce row/event limits, tenant/partition keys, and +redaction rules before the adapter runs.
  10. +
  11. For writes, use optimistic concurrency and idempotency. A retry with the same +idempotency key and same payload returns the existing effect; a different +payload under the same key is a conflict.
  12. +
  13. Return the operation result with resource refs, version movement, digests, +redaction notes, and stop conditions. Receipts should link this data effect +to the domain transition that caused it.
  14. +
+

Edge cases and stop conditions

+
    +
  • needs_source: the data source, resource, query name, tenant key, or schema +summary is missing.
  • +
  • needs_input: required operation params are incomplete, malformed, or not +specific enough to bind a declared data-source operation.
  • +
  • needs_authority: the caller lacks the declared read/write scope or provider +grant.
  • +
  • needs_version: a mutating operation lacks expected_version where the data +source requires optimistic concurrency.
  • +
  • conflict: the current version differs from expected_version, or an +idempotency key is reused with different content.
  • +
  • too_broad: the requested read lacks partition filters, exceeds limits, or +asks for raw export.
  • +
  • redaction_required: the operation would return secrets, private PII, or +fields outside the declared projection.
  • +
  • provider_unavailable: the adapter cannot reach the data source, times out, +or cannot prove whether a write committed.
  • +
+

Output schema

+

All runners return runx.data.operation_result.v1:

+
+
+ +
+
{
+  "schema": "runx.data.operation_result.v1",
+  "data_source_ref": "local://example",
+  "provider": "local-json-event-store",
+  "operation": "append_event",
+  "resource": "board_events",
+  "aggregate_id": "posting-123",
+  "status": "committed",
+  "before_version": 0,
+  "after_version": 1,
+  "idempotency_key": "posting-123:create",
+  "event_ref": "board_events:posting-123:1",
+  "result_digest": "sha256:...",
+  "projection_digest": "sha256:...",
+  "rows": [],
+  "events": [],
+  "redactions": [],
+  "stop_conditions": []
+}
+

Provider adapters may add provider evidence under provider_evidence, but they +must not expose credentials or raw secret material.

+

For event streams, adapters derive a readable event_type in this order: +explicit event.type, explicit event.event_type, then +event.effect_family + "." + event.operation. Domain skills that emit the +generic runx.effect.transition.v1 packet should include effect_family and +operation on every event so readback projections say messageboard.accept, +business_ops.route, or another meaningful transition instead of data.event.

+

Worked example

+

A messageboard skill decides that posting.claimed is allowed. It emits a +domain transition packet. The graph then calls data-store.append_event with +resource board_events, aggregate id posting-123, expected version 2, and +idempotency key posting-123:claim:agent-9. The data adapter appends the event +only if the stream is still at version 2. The receipt proves the decision, +the data operation, and the new version. A later loop turn calls +data-store.read_events or read_projection to resume from the explicit board +state.

+

Inputs

+
    +
  • data_source_ref (required): stable logical ref for the data source. The +project or hosted binding maps this ref to the concrete adapter and provider +profile.
  • +
  • resource (required): declared resource, stream, table, keyspace, or +projection name.
  • +
  • operation (required for tool-level use): append_event, read_events, +read_projection, or list_stream_heads.
  • +
  • aggregate_id (required for event operations): stream or partition key.
  • +
  • event (required for append_event): domain event or transition packet.
  • +
  • idempotency_key (required for writes): stable retry key.
  • +
  • expected_version (required when the source enforces concurrency): current +stream/resource version expected by the caller.
  • +
  • limit (optional): maximum rows or events to return.
  • +
  • after_version (optional for read_events): return an ascending page whose +event versions are strictly greater than this value. Omit it to retain the +existing latest-tail read. Compare the last returned event version with +after_version in the result envelope to know whether another page remains.
  • +
  • event_types (optional for list_stream_heads): at most 20 exact latest +event types. No pattern or arbitrary field queries are accepted.
  • +
  • cursor (optional for list_stream_heads): opaque cursor returned by the +previous page. Limits are capped at 100.
  • +
  • store_id (local fixture adapter only): deterministic local store id that +opts into the bundled data.local proof adapter. Omit it for durable local +SQLite. Production adapters should ignore it.
  • +
+

Invocation examples

+

Durable local dogfood with the bundled default:

+
+
+ +
+
runx skill data-store append_event \
+  -i data_source_ref=local://runx-data-store/dev-board \
+  -i resource=board_events \
+  -i aggregate_id=posting-123 \
+  --input-json expected_version=0 \
+  -i idempotency_key=posting-123:create:v1 \
+  --input-json event='{"type":"posting.created","payload":{"title":"verify a receipt link"}}' \
+  --json
+

Fixture-only dogfood can still use store_id to select the JSON fixture store:

+
+
+ +
+
runx skill data-store append_event \
+  -i data_source_ref=local://runx-data-store/dev-board \
+  -i store_id=dev-board \
+  -i resource=board_events \
+  -i aggregate_id=posting-123 \
+  --input-json expected_version=0 \
+  -i idempotency_key=posting-123:create:v1 \
+  --input-json event='{"type":"posting.created","payload":{"title":"fixture proof"}}' \
+  --json
+

Production graph shape is the same at the skill boundary:

+
+
+ +
+
runx skill data-store append_event \
+  -i data_source_ref=tenant://acme/board \
+  -i resource=board_events \
+  -i aggregate_id=posting-123 \
+  --input-json expected_version=2 \
+  -i idempotency_key=posting-123:claim:agent-9 \
+  --input-json event='{"type":"posting.claimed","payload":{"actor":"agent-9"}}' \
+  --json
+

The second command only works once tenant://acme/board is bound to an +installed provider adapter. That binding is operator configuration and may name a +credential profile or hosted grant; it must not carry raw secrets.

+

Project-specific SQLite uses the same command shape after binding the source:

+
+
+ +
+
{
+  "data_sources": {
+    "tenant://acme/board": {
+      "adapter": "data.sqlite",
+      "database_path": ".runx/data/acme-board.sqlite",
+      "resources": {
+        "board_events": {
+          "kind": "event_stream",
+          "partition_key": "aggregate_id"
+        }
+      }
+    }
+  }
+}
+

Pass that document through RUNX_DATA_SOURCES or .runx/data-sources.json.

+

Redis uses the same skill and graph inputs. Only the binding changes:

+
+
+ +
+
{
+  "data_sources": {
+    "tenant://acme/board": {
+      "adapter": "data.redis",
+      "endpoint": "redis://127.0.0.1:6379/0",
+      "key_prefix": "runx:{acme-board}",
+      "resources": {
+        "board_events": {
+          "kind": "event_stream",
+          "partition_key": "aggregate_id"
+        }
+      }
+    }
+  }
+}
+

The Redis endpoint must not embed credentials. Use local unauthenticated Redis +for OSS dogfood, or put production secrets behind a runx credential profile or +hosted grant. For Redis Cluster, the binding's key_prefix must contain one +safe hash tag, such as {acme-board}, so the stream, idempotency, and head keys +touched by an append share one slot and update atomically. Stream-head pages use +stable keyset cursors rather than mutable offsets. Durable events and +dispositions must not receive TTLs; production Redis should enable persistence +and use a non-evicting policy.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/deep-research.html b/docs/sourcey-catalog/site/pages/deep-research.html new file mode 100644 index 000000000..8f51e2b0e --- /dev/null +++ b/docs/sourcey-catalog/site/pages/deep-research.html @@ -0,0 +1,59 @@ + +deep-research - Runx Governed Skill Catalog
Research and data

deep-research

This graph turns one important question into a decision-ready brief.
    +
  • Group: Research and data
  • +
  • Source: skills/deep-research/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/deep-research/SKILL.md
  • +
+

Deep Research Brief

+

This graph turns one important question into a decision-ready brief.

+

It is for research that needs more than a quick answer but less than an open- +ended report. The output should feel like an operator memo: what the answer is, +what evidence supports it, what remains uncertain, and what posture the reader +should take next.

+

Do not drift into a generic article, daily update, or trend recap. The point is +to help a human decide, not to narrate that research happened.

+

Separate verified evidence from inference and carry unresolved questions into +the memo. The synthesis must say what the reader should monitor, do, defer, or +investigate next. Return needs_more_evidence when the packet cannot support a +recommendation, and not_worth_publishing when the answer is sound but does not +matter to the stated decision.

+

Output

+
    +
  • research_packet: bounded evidence, confidence, inference, and open questions.
  • +
  • brief_draft: the decision memo synthesized from that packet.
  • +
  • approval_decision: review of the exact brief and its remaining uncertainty.
  • +
  • publish_packet: approved brief and delivery metadata.
  • +
+

Inputs

+
    +
  • objective (optional): specific question the brief should answer.
  • +
  • audience (optional): primary reader for the memo.
  • +
  • channel (optional): final delivery channel; defaults to brief.
  • +
  • domain (optional): product, ecosystem, or market slice to bound the work.
  • +
  • operator_context (optional): local decision context or evaluation lens.
  • +
  • target_entities (optional): structured list of products, projects, +companies, or repos to keep in scope.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/github-sync.html b/docs/sourcey-catalog/site/pages/github-sync.html new file mode 100644 index 000000000..364bb7fff --- /dev/null +++ b/docs/sourcey-catalog/site/pages/github-sync.html @@ -0,0 +1,173 @@ + +github-sync - Runx Governed Skill Catalog
GitHub and delivery

github-sync

Decide exactly what state to move between a GitHub repo and the local graph, in which direction, and whether the agent is even allowed to write.
    +
  • Group: GitHub and delivery
  • +
  • Source: skills/github-sync/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/github-sync/SKILL.md
  • +
+

GitHub Sync

+

Decide exactly what state to move between a GitHub repo and the local graph, in +which direction, and whether the agent is even allowed to write.

+

github-sync is the generic repo state connector. It turns a loose request like +"sync the open issues" into a bounded plan that names the resources, the +direction, the scope, the records it will touch, and the point where the run +must stop for a human. A pull is observation and stays inside repo:read. A +push is mutation and never proceeds without an explicit repo:write grant and +human approval.

+

What this skill does

+

github-sync produces a sealed sync_plan: a scoped record of which GitHub +resources the run will pull or push, the scope it will use, the gates a write +must clear, and any blockers that stop the run cleanly. For a push it carries a +diff_summary described by digest and ref, never by raw body text, so a +reviewer can approve the shape of a change without leaking issue contents, +tokens, or PII into the plan or the receipt.

+

The plan binds direction to scope. pull is read-only and lists the resources +it will fetch. push enumerates the mutations by ref and digest, marks +approval_required: true, and refuses to proceed past planning when the run +lacks a repo:write grant.

+

This skill plans the sync; it does not perform the GitHub mutation itself. The +plan is the artifact a downstream adapter executes after the approval gate +clears. Planning and mutation stay on opposite sides of the gate so a review can +read intent before anything changes on the remote.

+

When a sync loop needs a durable cursor, use plan_and_append_cursor. That +runner reads the cursor projection through data-store, plans the bounded sync, +appends the plan as a cursor event, and reads back the projection. The storage +provider is selected by data_source_ref, not by GitHub-specific code.

+

When to use this skill

+
    +
  • An agent needs to fetch a bounded set of issues, threads, or PRs into the +local graph for triage or analysis.
  • +
  • An agent needs to mirror local state back to GitHub (reopen, label, comment, +close) and the operator wants the write shape reviewed before it lands.
  • +
  • A workflow must prove which repo, direction, and scope a sync used, with a +receipt that names the resources touched.
  • +
  • A review needs to distinguish a read-only pull from a write that crossed an +approval gate.
  • +
+

When not to use this skill

+

github-sync is the generic repo state connector. Reach for it when the job is +moving issue, thread, or PR state in or out, not authoring a change or composing +one comment.

+
    +
  • To drive a thread through spec, build, review, and a draft PR. Use +issue-to-pr, which governs the full issue-to-PR lane.
  • +
  • To draft one review comment on one PR. Use pr-review-note.
  • +
  • To push without a named repo and direction.
  • +
  • To carry raw issue bodies, comment text, access tokens, or contributor PII in +the plan or receipt. Reference them by digest, span, or ref only.
  • +
  • To bypass the human approval gate on any write.
  • +
+

Procedure

+
    +
  1. Resolve the target repo and confirm the run holds at least repo:read.
  2. +
  3. Read direction. pull is observation; push is mutation and changes the +gate posture.
  4. +
  5. Read resources. Bind the concrete set: issues, PRs, or threads, plus the +filters that bound it (state, label, author, range). An unbounded "all" +becomes a blocker until reconfirmed.
  6. +
  7. Read scope. A push requires scope: write backed by a real repo:write +grant. If a write is requested without that grant, stop and refuse rather +than downgrade to a silent pull.
  8. +
  9. For a pull, list resources_touched by ref and leave diff_summary empty.
  10. +
  11. For a push, build diff_summary as a list of intended mutations described +by ref and content digest, set gates.approval_required: true, and record +the approval reference once granted.
  12. +
  13. Record scope_used as the narrowest scope the plan actually needs.
  14. +
  15. Emit the smallest sync_plan an adapter can execute without widening +authority, and stop at the approval gate for any write.
  16. +
  17. For cursor-backed loops, read the cursor projection first, append one sync +plan event with an idempotency key and expected version, and read back the +projection before the next turn.
  18. +
+

Edge cases and stop conditions

+
    +
  • Missing repo or direction: return needs_agent; the sync target is +undefined.
  • +
  • Write requested without repo:write: the request is refused; never +downgrade it to a silent pull. The plan stays unexecutable.
  • +
  • Unbounded resource set: mark a blocker and require an explicit filter +before a push.
  • +
  • Approval absent or denied on a push: keep the decision blocked and the +plan unexecutable; do not emit an executable mutation plan.
  • +
  • Raw bodies, tokens, or PII in the resource payload: reference by digest +and ref; if redaction would remove the evidence needed to plan, return +needs_agent.
  • +
+

Output schema

+
+
+ +
+
sync_plan:
+  decision: ready | blocked | refused | needs_agent
+  repo: string                       # resolved owner/name target
+  direction: pull | push
+  resources_touched:                 # resources by ref; no raw bodies
+    - kind: issue | pr | thread
+      ref: string
+      selected_by: string            # the filter that selected it
+  diff_summary:                      # push only; empty for a pull
+    - ref: string
+      op: string
+      digest: string
+  scope_used: string                 # narrowest scope, e.g. repo:read or repo:write
+  gates:
+    approval_required: boolean       # true for any push
+    approval_ref: string             # set once the write is approved
+  blockers: array                    # conditions that must clear before execution
+

sync_plan is a composable object. Downstream skills read it as arbitrary JSON; +the fields above are the contract a reviewer and adapter rely on.

+

The receipt (runx.receipt.v1) carries the repo, direction, scope_used, the +resource refs touched, and the approval reference for a write. It carries no +issue bodies, comment text, tokens, or contributor PII; mutations appear as refs +and digests only. Default scope is repo:read and a pull never escalates; a +push needs an explicit repo:write grant plus human approval, so missing the +grant is a refusal and missing the approval keeps the plan blocked.

+

Worked example

+

Input: "Sync the open triage issues into the graph" on runxhq/runx, with +direction: pull, scope: read, and a filter of state:open label:triage.

+

Output: decision: ready; direction: pull; scope_used: repo:read; +resources_touched lists the two matched issues by ref and the filter that +selected each; diff_summary is empty and gates.approval_required is false. +No write grant is exercised and no approval gate is opened, because a pull is +pure observation. Had the same request asked to push labels without a +repo:write grant, the run would refuse instead of reading.

+

Cursor-backed loop:

+
+
+ +
+
read cursor -> plan bounded pull/push -> append sync plan event -> read cursor
+

The cursor event stores refs, filters, digests, and gate status. It does not +store raw issue bodies, OAuth tokens, or write payload secrets.

+

Inputs

+
    +
  • repo (required): target repository as owner/name.
  • +
  • direction (required): pull or push.
  • +
  • resources (required): structured selector for issues, prs, or threads +plus filters (state, label, author, range).
  • +
  • scope (required): read or write. A push needs write backed by a real +repo:write grant.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/governed-outbound.html b/docs/sourcey-catalog/site/pages/governed-outbound.html new file mode 100644 index 000000000..7d15fc654 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/governed-outbound.html @@ -0,0 +1,123 @@ + +governed-outbound - Runx Governed Skill Catalog
Outbound and tooling

governed-outbound

Take something from outside, make it safe to send, authorize the exact outbound plan, and leave proof. governed-outbound prepares the boundary crossing; it does not claim the configured provider delivered anything.
    +
  • Group: Outbound and tooling
  • +
  • Source: skills/governed-outbound/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/governed-outbound/SKILL.md
  • +
+

Governed Outbound

+

Take something from outside, make it safe to send, authorize the exact outbound +plan, and leave proof. governed-outbound prepares the boundary crossing; it +does not claim the configured provider delivered anything.

+

It composes four catalog skills into one governed run:

+
    +
  1. web-fetch gathers the source within an explicit host allowlist.
  2. +
  3. redact-pii scrubs personal data and returns a pass/hold verdict before any +of it can leave the boundary.
  4. +
  5. an approval gate holds the plan for a human, who sees the redaction verdict +and the residual risk, not the raw content.
  6. +
  7. send-as binds the scrubbed content, principal, audience, and provider lane +into an authorized plan.
  8. +
  9. sign-receipt seals the gather, scrub, approval, and plan. A separate +provider host must execute the plan, record delivery evidence, and read it +back before any caller may call the notification delivered.
  10. +
+

The point of the chain is the order. The scrub runs before authorization and the +human gate runs before send-as. This receipt proves preparation and authority, +not provider delivery.

+

What this skill does

+

governed-outbound is a graph, not a single agent step. Each hop is a real +catalog skill with its own scope, and authority narrows at every branch: +web-fetch may only reach the allowlisted host, redact-pii may only read the +fetched content, the approval gate authorizes the plan, and sign-receipt may +only append to the ledger. Personal data never reaches the channel or the +receipt; the content travels by digest, and the redaction report carries class +and span offsets, never the values it found.

+

When to use this skill

+
    +
  • An agent needs to prepare external information (an incident page, a changelog, +a status update, a thread) for a provider channel, and that information may +carry personal data.
  • +
  • A workflow must prove that the proposed outbound content was scrubbed and the +exact plan was approved before provider execution.
  • +
  • You want one receipt that links the source, the scrub verdict, the approval, +and the send plan.
  • +
+

When not to use this skill

+
    +
  • To post content that was authored in-house and carries no external data. Call +send-as directly, then use the configured provider host.
  • +
  • To gather a source with no intent to send it onward. Call web-fetch.
  • +
  • To deliver without a human in the loop. The approval gate is the point; a +send that needs no review does not need this chain.
  • +
  • To move money, change a repository, or unseal a secret. Those are other +governed lanes with their own gates.
  • +
+

How the chain is wired

+
    +
  • fetch-source reads url and allowlist from the run inputs and returns +fetch_result with the content digest and extracted text.
  • +
  • scrub-content takes fetch-source's extracted text as content, runs in +redact mode, and returns redaction_report with the ready / needs_review +/ blocked verdict, the detected spans, and redacted_digest.
  • +
  • approve-send shows the approver the redaction decision, the +residual_risk, and the redacted_digest, then records an approval decision.
  • +
  • plan-notice runs only when the approval is true and the redaction verdict +is ready; it plans the send of the scrubbed content to channel as +principal, naming the provider action a connector lane would run.
  • +
  • seal-run attests the run, binding the source digest and the redacted digest +as evidence, and appends the receipt to the ledger.
  • +
+

Edge cases and stop conditions

+
    +
  • No url or allowlist: the run returns needs_agent; there is nothing +to gather and no boundary to respect.
  • +
  • Host not allowlisted: web-fetch returns policy_denied and the chain +stops before anything is read.
  • +
  • Redaction not ready: a needs_review or blocked verdict fails the +send transition, so plan-notice never runs. Nothing leaves the boundary on a +hold verdict.
  • +
  • Approval denied or absent: the send transition is not satisfied and the +chain stops at the gate, scrubbed but unsent.
  • +
  • Provider delivery fails downstream: preserve this planning receipt, record +the provider failure in the executing host, and do not produce delivery +evidence or mark the action complete.
  • +
+

Output

+

The run seals to runx.receipt.v1, linking each step's packet: +fetch_result (source + digest), redaction_report (verdict + spans + redacted +digest), approval_decision (the gate), send_plan (the authorization), and the +attestation (the seal). send_plan is authorization, not delivery evidence. +The receipt proves the preparation path without reconstructing the personal data +that was removed along the way.

+

Inputs

+
    +
  • url (required): source to gather before preparing the notification.
  • +
  • allowlist (required): hosts web-fetch is permitted to reach.
  • +
  • channel (required): destination channel for the notification.
  • +
  • principal (required): principal the notification is sent as.
  • +
  • claim (optional): what the sealed attestation should assert about the run.
  • +
  • operator_context (optional): boundary, audience, or compliance context.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/introduction.html b/docs/sourcey-catalog/site/pages/introduction.html new file mode 100644 index 000000000..fbc29dae3 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/introduction.html @@ -0,0 +1,27 @@ + +Introduction - Runx Governed Skill Catalog
Introduction

Introduction

Governed Runx skill catalog pinned to one upstream revision.

Runx Governed Skill Catalog

+

This catalog covers exactly 24 governed Runx skills at upstream commit 5afc25a83edf1c1320df7ac0d78c36f1523b5677.

+

The skills are organized into five groups: Operate, Research and data, GitHub and delivery, Safety and review, and Outbound and tooling. Each catalog page links to its authoritative SKILL.md at the pinned commit.

+

This is a governed skill catalog, not a claim of complete Runx API coverage.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/issue-intake.html b/docs/sourcey-catalog/site/pages/issue-intake.html new file mode 100644 index 000000000..1eb0755d4 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/issue-intake.html @@ -0,0 +1,197 @@ + +issue-intake - Runx Governed Skill Catalog
GitHub and delivery

issue-intake

Convert an inbound thread, support report, or operator request into one explicit intake decision plus the parent change artifact that downstream planning or mutation lanes must share.
    +
  • Group: GitHub and delivery
  • +
  • Source: skills/issue-intake/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/issue-intake/SKILL.md
  • +
+

Issue Intake

+

Convert an inbound thread, support report, or operator request into one +explicit intake decision plus the parent change artifact that downstream +planning or mutation lanes must share.

+

This skill does not mutate code, open tickets, or publish replies directly. Its +job is to classify the report, summarize it, draft the next helpful response, +and recommend the next governed lane. That next lane must be explicit: +issue-to-pr, work-plan, reply-only, or manual-review.

+

In supervisor-style flows, issue-intake is also the commencement gate. It +decides whether work may start at all, whether the next step should stop at a +review comment first, and whether mutation is justified yet. A recommended lane +is not the same thing as build permission.

+

Use issue-to-pr only when the requested change is bounded enough for one +governed remediation lane. Use work-plan for larger or multi-step +work. Use reply-only when the right answer is guidance rather than mutation. +Use manual-review when the report is ambiguous, risky, or missing key context.

+

Ground category, severity, and routing in the visible request and supplied +product constraints. Put uncertainty in operator_notes instead of inventing +confidence. The suggested reply should sound like the project owner and lead +with the decision or next action, not read like a ticket macro.

+

Output Contract

+

intake_report must contain:

+
    +
  • category: one of bug, feature_request, docs, billing, account, +question, or other
  • +
  • severity: one of low, medium, high, or critical
  • +
  • summary: concise summary of the actual request or report
  • +
  • suggested_reply: a user-facing reply draft or operator handoff note
  • +
  • recommended_lane: issue-to-pr, work-plan, reply-only, or +manual-review
  • +
  • rationale: why that lane is the right next step
  • +
  • needs_human: boolean
  • +
  • operator_notes: array of caveats, missing context, or escalation notes
  • +
+

intake_report may also include supervisor-facing control fields:

+
    +
  • commence_decision: approve, hold, reject, or needs_human
  • +
  • action_decision: proceed_to_build, proceed_to_plan, +request_review, or stop
  • +
  • review_target: thread, outbox_entry, or none
  • +
  • review_comment: markdown comment body for the supervisor to post before the +next lane proceeds
  • +
+

When present, these fields mean:

+
    +
  • commence_decision gates whether the supervisor may start any downstream +work at all
  • +
  • action_decision=proceed_to_plan means the supervisor may open a planning +lane such as work-plan, but still may not start repo mutation
  • +
  • action_decision=request_review means the supervisor should post +review_comment to the chosen review_target and stop there until a later +approval or rerun authorizes mutation
  • +
  • review_target=outbox_entry only makes sense when a current +outbox entry already exists. If no draft change, message surface, or +other outbox entry exists yet, the supervisor should fall back to the +source thread and say that clearly in the posted comment
  • +
  • action_decision=proceed_to_plan should usually still result in a public +supervisor comment so the hold/plan decision is visible outside the raw +receipt stream
  • +
  • recommended_lane=issue-to-pr alone does not authorize a build lane
  • +
+

Always emit change_set alongside intake_report.

+

Also emit signal when a source event is admitted. signal must follow +runx.signal.v1 and carry the source reference, authenticity or trust level, +dedupe fingerprint, evidence references, and source-thread preview. This packet +is the portable world-before-action state that work-plan, issue-to-pr, +hosted queues, and source-thread projections preserve.

+

Close the Runx turn after intake is complete with terminal closure control +metadata: a disposition, stable reason code, and concise summary. Closure is +receipt control state, not part of the issue-intake artifact, and must not +pretend the recommended downstream lane has already executed.

+

When an adapter has provider context beyond the visible thread text, attach it +to signal.evidence_refs or a referenced artifact. Source adapters own +provider-specific fetching and redaction before calling this skill; this skill +only reasons over the supplied, reviewer-safe signal and artifacts.

+

Hydration is a gate, not a best-effort decoration. If supplied signal or +artifact metadata says provider context is still needed, do not select +action_decision=proceed_to_build. Use manual-review or request_review and +explain the missing adapter context in operator_notes. If provider context is +unavailable, use the remaining signal only when it is still concrete enough for +a bounded reply, plan, or PR; otherwise stop for human review.

+

The change_set is the parent artifact for any later planning or worker +fanout. It is what keeps multiple repo-scoped lanes aligned to one shared +objective.

+

change_set must contain:

+
    +
  • change_set_id
  • +
  • thread_locator
  • +
  • summary
  • +
  • category
  • +
  • severity
  • +
  • recommended_lane
  • +
  • commence_decision
  • +
  • action_decision
  • +
  • target_surfaces: array of objects with:
      +
    • surface: repo, product surface, or bounded target name
    • +
    • kind: one of repo, package, docs, support, or other
    • +
    • mutating: boolean
    • +
    • rationale: why this surface is implicated
    • +
    +
  • +
  • shared_invariants: array of constraints that all downstream lanes must +preserve
  • +
  • success_criteria: array of concrete outcomes that define success for the +whole change
  • +
  • outbox_entry (optional): current outbox entry for status +updates, replies, or draft-change refreshes when the caller already knows it
  • +
+

When recommended_lane=issue-to-pr, also include thread_change_request with:

+
    +
  • task_id
  • +
  • thread_title
  • +
  • thread_body
  • +
  • thread_locator
  • +
  • thread (optional)
  • +
  • outbox_entry (optional)
  • +
  • size: one of micro, small, medium, or large
  • +
  • risk: one of low, medium, or high
  • +
+

When recommended_lane=work-plan, also include +workspace_change_plan_request with:

+
    +
  • change_set_id
  • +
  • objective
  • +
  • project_context
  • +
  • thread_locator
  • +
  • thread (optional)
  • +
  • target_surfaces
  • +
  • shared_invariants
  • +
  • success_criteria
  • +
+

Do not emit both thread_change_request and workspace_change_plan_request for +the same report.

+

Prefer conservative routing:

+
    +
  • if the report is bounded and well-understood, use commence_decision=approve +and action_decision=proceed_to_build
  • +
  • if the next step should be planning instead of mutation, use +commence_decision=approve and action_decision=proceed_to_plan
  • +
  • if the likely next lane is clear but mutation or planning should wait for +maintainer confirmation, use commence_decision=approve and +action_decision=request_review
  • +
  • if the report is ambiguous, under-specified, or risky, use +commence_decision=hold or needs_human
  • +
+

Inputs

+
    +
  • thread_title: canonical thread title
  • +
  • thread_body: canonical thread body or request text
  • +
  • thread_locator (optional): canonical locator for the bounded thread, +such as an issue, chat thread, ticket, or local agent session
  • +
  • thread (optional): provider-backed thread for the current +thread
  • +
  • outbox_entry (optional): current outbox entry for replies, draft changes, +or refreshes
  • +
  • signal (optional): provider-neutral runx.signal.v1 observation gathered +by the source adapter before decision
  • +
  • product_context (optional): product-specific constraints or routing hints
  • +
  • operator_context (optional): maintainer or support posture guidance
  • +
  • source_event (optional): admitted Slack, Sentry, GitHub, file, API, or +other provider event. Consuming repos decide source filters before calling +this skill.
  • +
  • source_policy (optional): source admission and routing policy. Do not +hardcode channel names, Sentry projects, or owners in this skill.
  • +
  • operational_policy (optional): runx.operational_policy.v1 packet used by +downstream repo-changing lanes for source, target, runner, and source-thread +admission.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/issue-to-pr.html b/docs/sourcey-catalog/site/pages/issue-to-pr.html new file mode 100644 index 000000000..135b5eb85 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/issue-to-pr.html @@ -0,0 +1,197 @@ + +issue-to-pr - Runx Governed Skill Catalog
GitHub and delivery

issue-to-pr

Drive one bounded thread-driven change through the scafld 2.4-compatible lifecycle and package the result as a provider-agnostic draft pull-request packet.
    +
  • Group: GitHub and delivery
  • +
  • Source: skills/issue-to-pr/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/issue-to-pr/SKILL.md
  • +
+

Issue to PR

+

Drive one bounded thread-driven change through the scafld 2.4-compatible +lifecycle and package the result as a provider-agnostic draft pull-request +packet.

+

The graph separates cognition from mutation. Agent phases author the scafld +markdown spec and the bounded repo change bundle. Deterministic fs.write and +fs.write_bundle phases are the only places files are written to disk. scafld +owns the workflow kernel: plan, validate, approve, build_to_review, +status, review, complete, and handoff. runx owns the explicit authoring +boundaries, deterministic writes, receipts, and final outbox packaging.

+

Branch creation and provider PR mutation are outside scafld. The caller or +adapter prepares the branch, then passes the intended branch into this lane. +The lane records that branch in the draft PR packet, and the GitHub adapter +fails closed if the workspace checkout does not match it. The final +issue-to-pr-push-outbox step is the only provider push boundary.

+

Lifecycle

+

The graph runs:

+

scafld plan -> author markdown spec -> write spec -> read spec -> validate -> +approve -> read approved spec -> read declared files -> author fix bundle -> +write fix bundle -> build to review -> status -> read current branch -> review +-> complete -> final status -> handoff -> package draft PR outbox -> adapter +push.

+

There are no translation projection steps. scafld handoff is the human handoff +surface, build_to_review drives bounded native scafld build advances until +the task is review-ready, and scafld review is the native review boundary.

+

Thread Story

+

The lane should leave one coherent source-thread story, not a stream of every +internal event. The durable milestones are:

+
    +
  • source signal and the bounded request
  • +
  • accountable decision that a PR is justified
  • +
  • scafld spec approval and declared scope
  • +
  • build and validation result
  • +
  • adversarial review result
  • +
  • draft PR publication
  • +
  • human merge gate
  • +
  • final provider outcome when observed
  • +
+

Comments and PR bodies should summarize those gates with enough evidence for a +reviewer to act. They must not publish raw local paths, secrets, full command +dumps, or duplicate retry comments. User-facing labels should use plain terms +such as spec authoring, fix authoring, review, and human merge gate.

+

Spec Authoring Contract

+

The issue-to-pr-author-spec boundary must emit a full scafld +2.4-compatible markdown document, not YAML and not a reduced project brief.

+

The document must preserve front matter with:

+
    +
  • spec_version: '2.0'
  • +
  • task_id
  • +
  • created: ISO-8601 timestamp
  • +
  • updated: ISO-8601 timestamp
  • +
  • title: non-empty task title, normally thread_title
  • +
  • status: draft
  • +
  • harden_status: not_run
  • +
  • size: one of small, medium, or large
  • +
  • risk_level
  • +
+

The body must include the standard scafld 2 sections: Current State, Summary, +Context, Objectives, Scope, Dependencies, Assumptions, Touchpoints, Risks, +Acceptance, at least one Phase section, Rollback, Review, Self Eval, +Deviations, Metadata, Origin, Harden Rounds, and Planning Log.

+

The graph normalizes the front matter before writing the spec so current scafld +schema fields such as title and size stay deterministic even if the authoring +boundary omits or stales them.

+

All changed-file declarations must use concrete repo-relative paths in +backticks under Context / Files impacted and Phase / Changes. Do not declare +scafld-managed control-plane artifacts under .scafld/specs, +.scafld/reviews, .scafld/runs, or old .ai governance paths as repo-change +scope.

+

Documentation and process requests still need a concrete repo file. Prefer +existing docs surfaces supplied by repo_snapshot.existing_files or +repo_context, and declare at least one non-governance repo file for an +approved issue-to-pr lane. Do not leave the repo-change scope empty after the +decision layer has approved a PR.

+

Validation commands must run against the current workspace state after the fix +bundle is written. Do not depend on git history ranges such as HEAD~1 or +merge-base comparisons. Validation commands, when present, must be direct +repo-local checks such as test, lint, build, or file-content commands. Never use +runx runtime internals or graph/scafld/run.mjs as a validation command; +scafld is already the lifecycle runner around the task.

+

For any code change, the approved spec must declare at least one targeted +test/spec file in the changed-file scope and include at least one executable +validation command that exercises that target. This applies even when the source +thread does not explicitly request coverage; code PRs are not publishable from +this lane without targeted test/spec scope or grounded scafld validation +evidence. If the source thread asks for tests, specs, regression coverage, +focused coverage, or request/service coverage, the targeted coverage requirement +cannot be softened to a generic smoke check. If no existing test/spec path is +declared but the repository layout makes a conventional path inferable, declare +that new test/spec file. If no grounded test/spec path or command can be +inferred from the repo snapshot, stop with a missing-evidence reason instead of +publishing a code-only PR.

+

Preserve source-thread context in the spec's Summary, Origin, and Planning Log +so later PR packaging can explain why the lane ran and what evidence justified +the mutation.

+

Fix Authoring Contract

+

The issue-to-pr-apply-fix boundary must emit a bounded fix_bundle with +files: [{ path, contents }] for every repo file needed to satisfy the approved +spec. For documentation or process changes, the approved spec, source thread, +repo snapshot, repo context, and declared file contents are sufficient when they +identify a narrow edit.

+

When repo_snapshot.recommended_files contains concrete repo-relative files, +treat those files as actionable target evidence even if the generated spec is +worded conservatively. Read the recommended file and the nearest relevant test +or spec before blocking. If the source thread includes a runtime exception, +backtrace, failing command, or named behavior and the recommended file exists, +prefer the smallest conventional fix plus targeted regression coverage over an +empty bundle.

+

For any production code change, fix_bundle.files must include the smallest +production fix and a targeted test/spec file, even when the source request does +not explicitly ask for coverage. Do not publish a code-only fix bundle from this +lane. If the approved spec, source thread, or acceptance criteria asks for +tests, specs, regression coverage, focused coverage, or request/service +coverage, the targeted test/spec file must directly cover that requested +behavior. If no test file exists, create the narrow conventional test file when +the repository structure makes that path inferable; otherwise block with the +missing path and evidence reason.

+

If a declared file has exists: false and the approved spec intentionally +creates it, write the new file when the desired contents are inferable from the +spec and thread. Do not block solely because the file has no prior contents.

+

Return fix_bundle.status: blocked with files: [] only when no concrete +repo-relative target is declared, a required existing file cannot be read, or +the requested behavior cannot be inferred after inspecting the supplied target +files. The blocked reason must name the missing evidence and path because an +empty file bundle is a terminal policy denial before write-fix.

+

Inputs

+
    +
  • task_id: scafld task id.
  • +
  • thread_title: canonical title and default spec title.
  • +
  • thread_body: full thread body or request text when available.
  • +
  • thread_locator: canonical locator for the bounded thread.
  • +
  • thread: portable thread for the current signal surface.
  • +
  • outbox_entry: existing pull-request outbox entry when refreshing a draft.
  • +
  • harness: optional runx.harness.v1 packet for the governed run boundary.
  • +
  • signal: optional runx.signal.v1 packet. Preserve source references, +fingerprint, authenticity, and evidence references as stateful context +instead of reparsing source-thread prose.
  • +
  • decision: optional runx.decision.v1 packet. Preserve the accountable +selection rationale, selected act, and closure when the caller already made +the lane decision.
  • +
  • target_repo: intended repository slug for PR packaging.
  • +
  • operational_policy: optional runx.operational_policy.v1 packet used to +admit the source, target repo, runner, and source-thread route before PR +packaging.
  • +
  • source_id: optional operational policy source id.
  • +
  • runner_id: optional operational policy runner id.
  • +
  • repo_snapshot: compact structured snapshot of the target repo.
  • +
  • repo_snapshot_path: optional path to a fuller repo snapshot artifact.
  • +
  • repo_context: textual summary of repo shape and validation hooks.
  • +
  • size: scafld size, default small.
  • +
  • risk: scafld risk, default low.
  • +
  • base: base ref for PR packaging, default main.
  • +
  • fixture: workspace root containing .scafld.
  • +
  • scafld_bin: explicit scafld executable path.
  • +
  • provider, provider_command, provider_binary, model: optional native +scafld review provider overrides.
  • +
+

Structured Output

+

On success, the lane emits:

+
    +
  • draft_pull_request: provider-agnostic PR draft state derived from scafld +handoff, build, review, completion, status, and current git branch.
  • +
  • outbox_entry: a pull_request outbox entry suitable for adapter push.
  • +
  • push: adapter push result plus refreshed thread when the adapter supports +push.
  • +
  • Story metadata suitable for one source-thread reviewer update that summarizes +the lifecycle gates and points at the human merge decision.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/issue-triage.html b/docs/sourcey-catalog/site/pages/issue-triage.html new file mode 100644 index 000000000..a6e9dcdc1 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/issue-triage.html @@ -0,0 +1,69 @@ + +issue-triage - Runx Governed Skill Catalog
GitHub and delivery

issue-triage

Turn noisy issue streams into bounded, evidence-backed action.
    +
  • Group: GitHub and delivery
  • +
  • Source: skills/issue-triage/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/issue-triage/SKILL.md
  • +
+

Issue Triage

+

Turn noisy issue streams into bounded, evidence-backed action.

+

This skill is for issue selection and response drafting, not for silently +mutating repositories. Use it to identify which threads are worth attention, +understand the maintainer or contributor situation, and draft the next helpful +response or remediation path.

+

Separate discovery from response. Discovery finds the thread worth engaging. +Response drafting turns one chosen thread into a concrete answer, escalation, +or change plan.

+

Ground selection and response in the actual thread, repository facts, receipts, +and maintainer context; do not infer intent beyond what is visible. Lead with +the decision, answer, or next action in the project's own voice. Return +needs_more_evidence or needs_human when the thread is ambiguous, hostile, +underspecified, unsafe, or outside the maintainer's declared posture.

+

Output

+

Discovery runner:

+
    +
  • issue_candidates: candidate issues or discussions worth attention.
  • +
  • selection_rationale: why one candidate should be handled next.
  • +
  • operator_notes: constraints, caveats, or escalation triggers.
  • +
+

Response runner:

+
    +
  • issue_profile: concise summary of the chosen thread.
  • +
  • response_strategy: recommended response posture and next action.
  • +
  • response_draft: post-ready draft or maintainer handoff.
  • +
  • follow_up_actions: concrete next steps after the response.
  • +
+

Inputs

+
    +
  • repository (optional): repository slug or workspace reference.
  • +
  • query (optional): search or queue objective for discovery.
  • +
  • issue_url (optional): canonical issue URL for response drafting.
  • +
  • issue_snapshot (optional): structured issue data when already fetched.
  • +
  • maintainer_context (optional): project norms, release posture, and +response constraints.
  • +
  • operator_context (optional): operator-supplied context used by higher-level +triage graphs.
  • +
  • objective (optional): what the operator wants from this pass.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/knowledge-router.html b/docs/sourcey-catalog/site/pages/knowledge-router.html new file mode 100644 index 000000000..99a5fe7f3 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/knowledge-router.html @@ -0,0 +1,52 @@ + +knowledge-router - Runx Governed Skill Catalog
Research and data

knowledge-router

Route one question, source event, or support thread to the right knowledge sources and follow-up path.
    +
  • Group: Research and data
  • +
  • Source: skills/knowledge-router/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/knowledge-router/SKILL.md
  • +
+

Knowledge Router

+

Route one question, source event, or support thread to the right knowledge +sources and follow-up path.

+

This skill is for triage and routing, not answering the question directly. It +should tell a consuming graph where to look, who owns the domain, what evidence +is already available, and which next skill should run.

+

Each route must name the supplied signal that justified its source match, +owner, escalation, and next-skill recommendation. Keep the result as a concise +dispatch note. Return needs_more_context when no route is supportable, and +manual_review for legal, billing, security, or destructive requests.

+

Output

+
    +
  • route: selected knowledge or ownership domain and rationale.
  • +
  • source_matches: relevant sources with the matching signal.
  • +
  • owner_recommendation: owner or escalation target.
  • +
  • next_skill: the bounded follow-up capability, if one is justified.
  • +
+

Inputs

+
    +
  • question (required): user question, event, or thread summary to route.
  • +
  • available_sources (required): source catalog, docs, systems, or owner map.
  • +
  • constraints (optional): allowed systems, sensitivity, or preferred owner.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/least-privilege.html b/docs/sourcey-catalog/site/pages/least-privilege.html new file mode 100644 index 000000000..c6a999b13 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/least-privilege.html @@ -0,0 +1,248 @@ + +least-privilege - Runx Governed Skill Catalog
Safety and review

least-privilege

Turn granted authority plus observed usage into a bounded attenuation proposal.
    +
  • Group: Safety and review
  • +
  • Source: skills/least-privilege/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/least-privilege/SKILL.md
  • +
+

Least Privilege Auditor

+

Turn granted authority plus observed usage into a bounded attenuation proposal.

+

runx keeps a receipt of every scope a run actually exercised. This skill reads +that proof. It compares what a subject (a skill, a grant, or a principal) was +granted against what its receipts show it used, then proposes the narrowest +grant that still covers real usage. The output is a reviewable attenuation +proposal, not an automatic change.

+

What this skill does

+
    +
  1. Diff granted authority against receipt-backed usage.
  2. +
  3. Classify each granted scope as keep, narrow, remove, or defer.
  4. +
  5. Propose the narrowest grant that still covers observed usage.
  6. +
  7. State residual risk after attenuation.
  8. +
  9. Emit a receipt-quality report a reviewer can apply or reject.
  10. +
+

When to use this skill

+
    +
  • Periodic least-privilege review of a skill, grant, or principal before +publish, renewal, or maturity promotion.
  • +
  • After an incident, to identify authority that can be safely removed without +breaking observed behavior.
  • +
  • Before expanding distribution of a public skill, to prove its grant is +minimal against real receipts.
  • +
  • When a reviewer asks for a scope-by-scope evidence trail, not just a summary.
  • +
+

When not to use this skill

+
    +
  • To grant new authority. This skill only narrows; widening is a human +decision.
  • +
  • When no usable receipt evidence exists. Return needs_more_evidence rather +than guessing a grant down to nothing.
  • +
  • For secret material handling or credential exposure. Use the appropriate +secret-leak triage flow instead of scope review.
  • +
  • When the user asks for automatic permission changes. Produce a proposal and +stop unless a separate approved delivery lane exists.
  • +
  • When grant semantics are unknown and cannot be normalized. Return +needs_input with the exact syntax or policy question.
  • +
+

Procedure

+
    +
  1. Scope the audit target.

    +
      +
    • Identify subject, grant source, receipt ids or receipt window, and +whether receipts are from the same principal or skill version.
    • +
    • Gate: if the subject, grant list, or usage source is ambiguous, stop with +needs_input.
    • +
    • Evidence expected: subject id or label, granted scope list, receipt ids or +an explicit statement that no receipts were available.
    • +
    +
  2. +
  3. Normalize granted scopes.

    +
      +
    • Parse each scope into verb, resource, path or namespace, conditions, and +wildcard breadth.
    • +
    • Preserve original scope strings. Do not rewrite policy syntax casually.
    • +
    • Gate: if a scope cannot be parsed, keep it as defer and request the +missing policy semantics instead of treating it as unused.
    • +
    +
  4. +
  5. Build the usage model from receipts.

    +
      +
    • Extract actual exercised verbs and resources from receipt steps, tool +calls, policy checks, denied checks, and completion status.
    • +
    • Count successful use separately from denied or dry-run checks.
    • +
    • Do not infer scope usage from a successful high-level task alone; cite the +receipt step or policy check that exercised the authority.
    • +
    +
  6. +
  7. Classify every granted scope.

    +
      +
    • keep: at least one observed successful use requires the granted scope as +written, or a reserved/break-glass policy explicitly requires it.
    • +
    • narrow: all observed uses fit a strictly smaller verb, resource, +namespace, condition, or path.
    • +
    • remove: no observed use, denied check, or documented reserved purpose +supports the scope.
    • +
    • defer: evidence is conflicting, receipt attribution is weak, or policy +semantics are unknown.
    • +
    +
  8. +
  9. Propose attenuation.

    +
      +
    • Remove scopes classified as remove.
    • +
    • Downgrade scopes classified as narrow only when every observed use fits +the narrower grant.
    • +
    • Leave keep and defer scopes unchanged in the proposed grant.
    • +
    • Gate: never produce a proposal narrower than the evidence supports. A +scope used once is used.
    • +
    +
  10. +
  11. State residual risk and reviewer action.

    +
      +
    • Name what the proposed grant can still do.
    • +
    • Name any broad scope kept despite thin evidence and why.
    • +
    • Separate applyable now from needs human policy decision.
    • +
    +
  12. +
  13. Emit receipt expectations.

    +
      +
    • A valid receipt for this skill should record input grant count, receipt +sources, classification counts, proposed removals or narrowings, stop +status, and unresolved questions.
    • +
    +
  14. +
+

Edge cases and stop conditions

+
    +
  • Empty or unattributable usage evidence: return needs_more_evidence; do not +remove all scopes by default.
  • +
  • Missing granted scopes: return needs_input; there is no baseline to diff.
  • +
  • Receipt subject mismatch: return needs_input with the mismatched subject or +version.
  • +
  • Conflicting receipts: classify affected scopes as defer and return +needs_human if the conflict changes the proposal.
  • +
  • Wildcard grants: narrow only to observed resource prefixes when receipt +coverage is representative; otherwise keep and flag residual risk.
  • +
  • Reserved, compliance, or break-glass scopes: keep unless the operator +provides explicit policy authority to remove them.
  • +
  • Dry-run-only use: do not count as successful exercised authority unless the +grant exists solely for validation.
  • +
  • Grant already matches usage: return no_change with the evidence summary.
  • +
  • User asks to hide or omit unused authority: refuse that part and report the +complete scope diff.
  • +
+

Output schema

+

Return a structured report with these fields:

+
+
+ +
+
status: attenuation_proposed | no_change | needs_more_evidence | needs_input | needs_human | refused
+subject: string
+evidence:
+  receipt_ids: [string]
+  receipt_window: string | null
+  grant_source: string | null
+  limitations: [string]
+scope_diff:
+  - granted_scope: string
+    normalized:
+      verb: string | null
+      resource: string | null
+      conditions: object | null
+    observed_use:
+      count: number
+      verbs: [string]
+      resources: [string]
+      receipt_refs: [string]
+    classification: keep | narrow | remove | defer
+    proposal: string | null
+    rationale: string
+attenuated_grant: [string]
+removed_scopes: [string]
+narrowed_scopes:
+  - from: string
+    to: string
+kept_scopes: [string]
+deferred_scopes: [string]
+residual_risk: [string]
+reviewer_action: applyable_now | needs_policy_decision | gather_more_receipts | none
+receipt_expectations:
+  classification_counts: object
+  stop_status: string
+  unresolved_questions: [string]
+

Worked example

+

Input:

+
+
+ +
+
subject: skills/report-exporter
+granted_scopes:
+  - drive.files.read:/reports/*
+  - drive.files.write:/reports/*
+  - drive.files.delete:/reports/*
+usage_summary:
+  receipt_ids: [rx_101, rx_102]
+  observed:
+    - scope: drive.files.read:/reports/*
+      count: 8
+      refs: [rx_101:step_3, rx_102:step_2]
+    - scope: drive.files.write:/reports/*
+      count: 2
+      refs: [rx_101:step_6, rx_102:step_5]
+

Output:

+
+
+ +
+
status: attenuation_proposed
+subject: skills/report-exporter
+removed_scopes:
+  - drive.files.delete:/reports/*
+narrowed_scopes: []
+kept_scopes:
+  - drive.files.read:/reports/*
+  - drive.files.write:/reports/*
+attenuated_grant:
+  - drive.files.read:/reports/*
+  - drive.files.write:/reports/*
+residual_risk:
+  - The skill can still read and write any file under /reports/*.
+reviewer_action: applyable_now
+

The delete scope is removable because no cited receipt exercised delete +authority. The read and write scopes stay because each was used at least once.

+

Inputs

+
    +
  • subject (optional): skill id, grant id, principal, or other label for what +is being audited.
  • +
  • granted_scopes (required): the current scopes granted to the subject, +preferably in canonical policy syntax.
  • +
  • usage_summary (required): receipt-derived usage. Include receipt ids, step +refs, observed verbs, resources, success or denial status, and the time +window when available.
  • +
  • objective (optional): operator intent that focuses the review, such as +"prepare for public publish" or "post-incident attenuation".
  • +
  • policy_notes (optional): reserved scopes, compliance constraints, or +human-approved exceptions that affect removal decisions.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/operator-inbox.html b/docs/sourcey-catalog/site/pages/operator-inbox.html new file mode 100644 index 000000000..fbcb9bc18 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/operator-inbox.html @@ -0,0 +1,122 @@ + +operator-inbox - Runx Governed Skill Catalog
Operate

operator-inbox

Maintain a durable action queue without turning a connector into the owner of operator state.
+

Operator Inbox

+

Maintain a durable action queue without turning a connector into the owner of +operator state.

+

The caller fetches bounded, grant-authorized provider pages and passes their +normalized observations to this skill. The skill owns work-item identity, +status, dispositions, replay suppression, reopen rules, and scan coverage. Every +read and write is composed through data-store; the skill does not call Slack, +SQLite, Postgres, or another provider directly.

+

What this skill does

+

Use local://runx/operator-inbox/default unless the operator selects another +logical source. Unbound local refs resolve to SQLite under +.runx/data/local-sources/. A hosted database is opt-in through the same +data_source_ref binding. Runx Connect may still own OAuth, grants, and provider +execution; that does not move this queue into the hosted control plane.

+

Observations and resumable checkpoints live in operator_inbox_scans, partitioned +by query digest. Action snapshots live in operator_inbox_actions, with one +stream per stable thread digest. Queue reads use bounded list_stream_heads +pages; no command folds or transports the complete queue.

+

When to use this skill

+
    +
  • Build or revisit a local action queue from bounded connector observations.
  • +
  • Preserve an explicit resolved, dismissed, waiting, or followed_up +decision across repeated provider scans.
  • +
  • Reopen a completed item when a newer external occurrence arrives.
  • +
  • Inspect bounded action or scan state without handing queue ownership to the +provider or hosted control plane.
  • +
+

When not to use this skill

+
    +
  • Do not fetch provider data, reply, send, or mutate a remote account here.
  • +
  • Do not infer that an item is complete from message text or provider state.
  • +
  • Do not use it as an unbounded archive of raw messages or credentials.
  • +
  • Do not place a private operator's routing policy or identity in this public +package; pass normalized observations and explicit dispositions as inputs.
  • +
+

Status rules

+

Items use open, waiting, followed_up, resolved, or dismissed.

+
    +
  • Provider observations never infer completion.
  • +
  • A human disposition records actor, reason, time, the latest external +occurrence it covers, and optional HTTPS evidence.
  • +
  • Replaying old search history preserves the human status.
  • +
  • An external message newer than the covered occurrence reopens the item to +open, including unseen work that arrived before the disposition was saved.
  • +
  • Scan coverage is explicit: running, complete, truncated, or failed.
  • +
  • Direct mentions are actionable structural evidence. Author and keyword scans +remain observation-only unless the operator explicitly marks the query +actionable. The skill does not contain provider-specific keyword heuristics.
  • +
+

The provider-neutral thread locator is the item key. Stored previews are bounded; +credentials, tokens, and full provider response envelopes are forbidden.

+

Procedure

+
    +
  1. Read the latest checkpoint for the bounded query digest.
  2. +
  3. Resume its provider cursor when the prior scan was interrupted or truncated.
  4. +
  5. Fetch one bounded provider page through the caller's authorized connector.
  6. +
  7. Record actionable messages against their per-thread streams and append the +scan page with its next cursor.
  8. +
  9. On a version conflict, reload only the affected scan or action stream and +retry the idempotent transition.
  10. +
  11. List queue state through bounded action-head pages and use +record_disposition only for an explicit operator correction.
  12. +
+

The loop is outside the kernel. Each page or disposition remains one governed, +receipt-backed Runx turn.

+

Edge cases and stop conditions

+
    +
  • needs_input: missing query identity, observation, disposition, +actor, reason, or scan coverage.
  • +
  • conflict: the projection version is stale; reload before retrying.
  • +
  • provider_unavailable: the caller cannot prove provider read coverage.
  • +
  • too_broad: a page exceeds the bounded message count or contains unnormalized +provider data.
  • +
  • refused: a caller asks this skill to send, reply, broaden a grant, store a +token, or silently claim complete coverage.
  • +
+

Output schema

+

Write runners emit runx.effect.transition.v1, containing the effect family, +operation, expected projection version, idempotency key, and one normalized +event. Read and list runners return the corresponding bounded data-store +event result; they never synthesize provider coverage or completion.

+

Worked example

+

Given a normalized direct mention from a teammate in one provider thread, +record_action_observation derives the stable action id from the provider-neutral +thread locator and appends an open action snapshot. If the operator later +records resolved with a reason, replaying that mention preserves resolved; +a newer external reply in the same thread appends a reopened open snapshot.

+

Inputs

+

All runners require data_source_ref. Write runners also take the target id, +expected_version, and observed_at, plus exactly the normalized payload for +their operation: scan and messages, message and triage, disposition, +or an imported action. Reads take action_id or query_digest; list runners +take bounded limit and optional cursor or filter fields.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/ops-desk.html b/docs/sourcey-catalog/site/pages/ops-desk.html new file mode 100644 index 000000000..cd975249a --- /dev/null +++ b/docs/sourcey-catalog/site/pages/ops-desk.html @@ -0,0 +1,343 @@ + +ops-desk - Runx Governed Skill Catalog
Operate

ops-desk

Operate a project, workspace, or account from an agent-controlled desk.
    +
  • Group: Operate
  • +
  • Source: skills/ops-desk/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/ops-desk/SKILL.md
  • +
+

Ops Desk

+

Operate a project, workspace, or account from an agent-controlled desk.

+

This skill is the generic operations desk layer. It turns a state snapshot, an +operator objective, and receipt-backed evidence into one safe ops desk packet: +what is happening, what needs attention, what can be checked read-only, what +requires approval, which governed lane should execute, and how success will be +verified.

+

It is not the authority and it is not a second CLI. It does not replace +release, send-as, ledger, refund, spend, messageboard, +provider-specific adapter skills, hosted API routes, repository workflows, or +deploy commands. It routes to the existing interface with the smallest +sufficient context and stops before any consequential act that lacks the right +gate.

+

What this skill does

+

ops-desk produces an ops desk packet for a manager dashboard, agent +session, or self-operation run. It reads projected state, classifies findings, +ranks the next action, selects the governed lane, names blockers, writes the +approval prompt when a human decision is required, and states the +receipt/effect/readback that will prove success.

+

It is useful before an action and after an action:

+
    +
  • before action, it turns state into proposals and approval requests;
  • +
  • after action, it checks whether the expected receipt and projection appeared.
  • +
+

The model may diagnose and write the operator rationale. The mutation itself +must be a deterministic handoff to an existing skill runner, CLI command, hosted +API route, workflow, or provider tool.

+

When the desk should start from durable state, use operate_from_projection. +That runner reads a projection through data-store first, then passes the +projection as the dashboard snapshot. The storage provider is still selected by +the logical data_source_ref; ops desk does not know whether state came from +SQLite, Postgres, D1, Redis, or a product API.

+

When a standing case must be advanced one move at a time toward a mandate, use +advance. It takes the mandate, the current case_state, and a fixed +candidate_roster, and returns a single typed dispatch_decision: dispatch one +roster member, escalate, or done. It applies the same ranking and the same gates as +operate, but it is hard-constrained to the roster and emits one move instead of a +multi-proposal plan. The caller (an agency loop) holds the case and the goal; ops +desk supplies the judgment. The chosen member is named as data; ops desk never runs +it.

+

When to use this skill

+
    +
  • An operator asks an agent to manage a project, workspace, product, account, +or other bounded operating surface.
  • +
  • A dashboard needs an agent-readable plan from the current projected state.
  • +
  • A runbook needs to decide between read-only checks, proposals, approval-gated +actions, and post-action verification.
  • +
  • A product-specific operator skill needs a generic cockpit spine instead of +inventing its own action model.
  • +
  • A standing case (an agency) needs the single next governed move chosen from a +fixed roster, one turn at a time.
  • +
  • Runx needs to dogfood its own release, registry, hosted, receipt, or provider +operations through the same governed lanes it exposes to users.
  • +
+

When not to use this skill

+
    +
  • To execute a live mutation directly. Route to the named governed lane.
  • +
  • To duplicate a CLI command, release script, GitHub workflow, hosted endpoint, +registry client, or provider SDK.
  • +
  • To bypass a human gate because the agent or UI believes the action is obvious.
  • +
  • To replace a domain skill such as send-as, messageboard, release, +ledger, refund, spend, least-privilege, or a provider +adapter.
  • +
  • To operate from stale, missing, or unverifiable state while claiming readiness.
  • +
  • To put secrets, private keys, raw customer lists, or provider dumps into the +ops desk packet.
  • +
+

Operating Model

+

Use one loop:

+
+
+ +
+
snapshot -> findings -> proposals -> approval -> governed lane -> receipt -> projection
+

The manager dashboard and the agent must read the same state and emit the same +action families. A button click and an agent plan are different interfaces over +the same governed lane, not separate backdoors.

+

Delegation Model

+

Ops desk packets name existing execution surfaces; they do not implement them.

+
    +
  • release owns release preparation, approval, publish handoff, and +post-release verification.
  • +
  • ledger, audit-receipt, and run-history own proof questions.
  • +
  • send-as owns authority for live communications; provider adapter skills own +provider-specific execution details.
  • +
  • spend, charge, refund, and branded payment skills own money movement.
  • +
  • Project skills own product vocabulary and product-specific actions.
  • +
  • CLI commands, hosted API routes, and GitHub workflows remain deterministic +execution interfaces. The operator skill may cite them as handoff targets but +must not clone their behavior in prose.
  • +
+

If no existing lane can perform the action cleanly, return needs_input or a +product gap. Do not invent a private workaround.

+

Procedure

+
    +
  1. Scope the objective.

    +
      +
    • Identify the workspace, project, account, surface, time window, and whether the ask is +read-only, proposal-only, or execution-prep.
    • +
    • Read project_profile or operator_policy as context, not authority.
    • +
    • If the operating scope or objective is ambiguous, return needs_input.
    • +
    +
  2. +
  3. Classify state from evidence.

    +
      +
    • Use dashboard_snapshot, receipt_summary, effect_summary, and +provider_status when present.
    • +
    • Treat missing evidence as missing. Do not infer success from UI state alone.
    • +
    • Separate health, money, communications, provider mutations, access, +deployment, and incident signals.
    • +
    • For review, catalog, publication, bounty, or marketplace work, classify +whether the artifact is real, useful, complete, and valuable. A reachable +artifact with no credible user, maintainer, operator, public proof, or +marketing value is not ready.
    • +
    • If using operate_from_projection, treat the read projection as the +dashboard snapshot. An empty projection is not an error, but it should +usually produce needs_input rather than fake readiness.
    • +
    +
  4. +
  5. Route to governed lanes.

    +
      +
    • Release questions route to release plus the project release profile and +existing release workflow/commands.
    • +
    • Audit questions route to ledger, audit-receipt, run-history, +or least-privilege.
    • +
    • Live communication routes through send-as and then a provider adapter.
    • +
    • Payment collection, payout, refund, chargeback, or target changes route to +the matching payment lane.
    • +
    • Board, thread, and provider actions route to messageboard, a provider +adapter, issue-intake, issue-to-pr, or the product's own skill.
    • +
    • Deploy and config changes route to the product-owned deploy lane.
    • +
    +
  6. +
  7. Decide gates.

    +
      +
    • Read-only checks: no human approval.
    • +
    • Drafts, dry-runs, previews, and reports: no live-action approval unless they +expose private data or broaden authority.
    • +
    • Live sends, payouts, refunds, customer-visible posts, provider mutations, +target changes, credential changes, deploys, destructive actions, and broad +audience decisions: explicit approval required.
    • +
    • A review verdict, recommendation, or green dry-run is not payment approval. +Money movement needs a separate approval prompt naming the amount, recipient, +rail, target class, and verification receipt expected after settlement.
    • +
    • Missing approval means awaiting_approval, not "ready".
    • +
    +
  8. +
  9. Produce the ops desk packet.

    +
      +
    • Lead with the few issues an operator should act on now.
    • +
    • Name the exact lane for each proposed action.
    • +
    • Include the existing execution interface as a handoff, not as a duplicated +implementation.
    • +
    • Include approval copy only when the operator could approve it safely.
    • +
    • Include verification steps that will prove the action happened.
    • +
    +
  10. +
  11. Stop cleanly.

    +
      +
    • Return needs_input for missing scope, objective, identity, authority, +evidence, approval, or target.
    • +
    • Return refused for requests to bypass gates, hide material facts, leak +secrets, spoof receipts, mark unsettled money as settled, or send without a +principal/audience/content digest.
    • +
    +
  12. +
+

Edge cases and stop conditions

+
    +
  • No project/workspace/account or objective: return needs_input; there is +no safe operating frame.
  • +
  • No projection or receipt evidence: return needs_input or unknown +status; do not convert silence into ok.
  • +
  • Requested action has unknown consequence: stop at needs_input with the +missing lane/consequence classification.
  • +
  • Money, public send, deploy, credential, target, destructive, or provider +mutation without approval: return awaiting_approval.
  • +
  • Approval text is too broad to approve safely: return needs_input with the +exact missing amount, audience, target, network, provider, or effect.
  • +
  • User asks to skip a gate, hide a blocker, forge a receipt, or mark state +settled without proof: return refused.
  • +
+

Reference Loading

+

Load only the reference needed for the objective:

+
    +
  • Payments, payouts, refunds, payment rail adapters, reconciliation: +references/payments.md
  • +
  • Email, campaigns, notifications, customer/public communication: +references/communications.md
  • +
  • Receipt verification, ledger, trust roots, after-action proof: +references/receipts.md
  • +
  • Provider health, deploys, webhooks, credentials, outages: +references/providers.md
  • +
  • Manager dashboard state, projections, and action catalog design: +references/dashboard.md
  • +
  • Delegation, project profiles, CLI/workflow handoff, and dogfooding rules: +references/delegation.md
  • +
+

Output schema

+

Return one ops_desk_packet:

+
+
+ +
+
ops_desk_packet:
+  decision: ready | awaiting_approval | needs_input | no_action | refused
+  scope_ref: string
+  objective: string
+  mode: read_only | proposal | execution_prep | post_action_review
+  dashboard:
+    health: ok | degraded | blocked | unknown
+    money: ok | needs_attention | blocked | unknown
+    communications: ok | needs_attention | blocked | unknown
+    providers: ok | needs_attention | blocked | unknown
+    receipts: ok | needs_attention | blocked | unknown
+  findings:
+    - severity: info | warning | critical
+      area: health | money | communications | providers | receipts | access | deploy
+      summary: string
+      evidence_refs: [string]
+  proposals:
+    - action_id: string
+      lane: string
+      reason: string
+      inputs_summary: object
+      consequence: read_only | draft | live_mutation | money_movement | public_send | deploy
+      approval_required: boolean
+      approval_prompt: string | null
+      blockers: [string]
+      verification:
+        expected_receipt: string
+        expected_effect: string | null
+        readback: string
+      execution:
+        interface: skill | cli | hosted_api | workflow | provider_tool | manual
+        lane_ref: string
+        profile_ref: string | null
+        command_ref: string | null
+        workflow_ref: string | null
+        approval_gate: string | null
+        verifier_ref: string | null
+  ordered_next_steps:
+    - step: string
+      lane: string
+      requires_confirmation: boolean
+  refused_reasons: [string]
+  needs_input: [string]
+  success_checkpoint:
+    milestone: string
+    description: string
+

The advance runner returns one dispatch_decision:

+
+
+ +
+
dispatch_decision:
+  decision: dispatch | escalate | done
+  reason: string
+  dispatch:                 # present when decision == dispatch
+    member: string          # a role from candidate_roster
+    skill: string           # that role's roster skill, echoed
+    task: string            # what the member should do
+    needed_scope: [string]  # subset of the member's scope ceiling
+    consequence: read_only | draft | live_mutation | money_movement | public_send | deploy
+    verification:
+      expected_receipt: string
+      readback: string
+  escalation:               # present when decision == escalate
+    to: string              # a roster role or "human"
+    trigger: string
+    ask: string
+    approval_prompt: string | null
+  resolution:               # present when decision == done
+    reason: string
+

Decision rules

+
    +
  • Prefer one clear next action over a dashboard dump.
  • +
  • Never bury a required approval in prose; put it in approval_prompt.
  • +
  • Never expose tokens, API keys, raw customer lists, private wallet keys, or +provider response dumps.
  • +
  • Never claim a state is settled, sent, deployed, paid, or refunded without a +receipt/effect/readback reference.
  • +
  • Never route a public artifact, skill, bounty result, or docs deployment as +ready when it lacks a credible real-world audience or durable public evidence.
  • +
  • Never widen authority because a dashboard widget would be convenient.
  • +
  • Never duplicate an existing CLI command, workflow, hosted endpoint, or domain +skill in operator prose. Route to it.
  • +
  • Keep product-specific policy in product context. Keep this skill generic.
  • +
+

Inputs

+
    +
  • objective (required): operator request, e.g. "check payments and unblock +funding", "prepare a campaign send", or "review stuck receipts".
  • +
  • scope_ref (required): the project, workspace, account, product, or bounded +surface being operated.
  • +
  • dashboard_snapshot (optional): JSON summary of current projected state.
  • +
  • receipt_summary (optional): JSON or prose receipt/effect summary.
  • +
  • provider_status (optional): JSON or prose provider health/account state.
  • +
  • approval_context (optional): existing operator approvals, denials, or +policy gates.
  • +
  • operator_policy (optional): project-specific constraints and lane names.
  • +
  • project_profile (optional): project topology, existing interfaces, and +verification expectations. It is context, not authority.
  • +
  • requested_action (optional): preselected action lane or dashboard action id.
  • +
+

Worked example

+

Input: "Check payment readiness and tell me what to do next" with a dashboard +snapshot showing healthy quote/readback state, three funded items, no unfunded +approved items, and one rail adapter webhook status needs_review.

+

Output: decision: ready, money status ok, providers status +needs_attention, one warning finding for rail webhook readiness, and one +proposal routing to provider.webhook_check with no money movement. It does +not propose marking anything funded, because no unfunded approved item is +present and the latest funding receipt is already verified.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/policy-author.html b/docs/sourcey-catalog/site/pages/policy-author.html new file mode 100644 index 000000000..402e4d3d2 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/policy-author.html @@ -0,0 +1,189 @@ + +policy-author - Runx Governed Skill Catalog
Safety and review

policy-author

Author one governed runx operational policy from intent, and prove it lints.
    +
  • Group: Safety and review
  • +
  • Source: skills/policy-author/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/policy-author/SKILL.md
  • +
+

Policy Author

+

Author one governed runx operational policy from intent, and prove it lints.

+

Adopting governed runx means writing an operational policy: which repos may be +touched, who owns which surface, which sources are trusted, what confidence is +required before action, and which outcomes need a human. Written by hand that is +a long, error-prone document. This skill turns a plain-English governance brief +into one runx.operational_policy.v1 proposal, or tightens an existing policy, +and runs a fail-closed lint over it before it ships. It proposes; a human +approves.

+

What this skill does

+
    +
  1. Read the intent. Take the governance brief (and an existing policy when +tightening) and identify the target surfaces, sources, owners, and the risk +posture.
  2. +
  3. Draft the policy. Produce a complete runx.operational_policy.v1: target +repos, runner binding, allowed actions, trusted sources with confidence +floors, owner routes, and outcome rules.
  4. +
  5. Lint fail-closed. Run the policy checks below. Any failing check blocks +the proposal with the exact fix, rather than shipping a permissive policy.
  6. +
  7. Tighten, never loosen. When given an existing policy, only propose +changes that narrow authority (auto-merge off, human gate on, confidence up). +Widening is a separate, explicit human decision.
  8. +
+

Core principles

+
    +
  • Fail closed. Unspecified means denied. A missing owner route, source rule, +or confidence floor is a lint error, not a permissive default.
  • +
  • Human gate on mutation. Any policy that allows repository mutation must set +require_human_merge_gate: true and auto_merge: false.
  • +
  • Named owners. Every target surface routes to a named owner; no orphan +surfaces.
  • +
  • Bounded sources. Each trusted source declares a minimum confidence; no +source admits work below its floor.
  • +
  • Verification before close. A source issue closes only when the outcome is +verified.
  • +
+

When to use this skill

+
    +
  • Bootstrapping a new runx deployment that needs an operational policy.
  • +
  • Tightening an existing policy after a near-miss or an audit.
  • +
  • Onboarding a new target repo, source, or owner into an existing policy.
  • +
+

When not to use this skill

+
    +
  • To widen authority (add auto-merge, drop a human gate, lower confidence). That +is an explicit human decision, not a generated proposal.
  • +
  • To write skill logic or graphs. This authors the governance envelope, not the +skills it governs.
  • +
+

The operational policy model

+

The proposal fills runx.operational_policy.v1:

+
    +
  • target_repos: the repositories the policy may act on.
  • +
  • runner: the runner binding (id, kind, and required substrate, e.g. GitHub +Actions + scafld).
  • +
  • allowed_actions: the lanes permitted (e.g. issue-intake, issue-to-pr, +pr-review).
  • +
  • sources: trusted inbound sources, each with a min_confidence floor.
  • +
  • owner_routes: surface-to-owner routing; every surface has a named owner.
  • +
  • outcomes: verification_required, close_source_issue, +require_human_merge_gate, auto_merge.
  • +
+

Lint diagnostics

+

The fail-closed lint emits these; any error blocks the proposal:

+
    +
  • policy.owner.unrouted (error): a target surface has no owner route.
  • +
  • policy.mutation.no_human_gate (error): mutation allowed without +require_human_merge_gate: true.
  • +
  • policy.mutation.auto_merge_on (error): auto_merge is true on a mutating +policy.
  • +
  • policy.source.no_confidence_floor (error): a source has no min_confidence.
  • +
  • policy.source.floor_too_low (warning): a confidence floor below 0.7.
  • +
  • policy.close.before_verify (error): close_source_issue set without +verification_required.
  • +
  • policy.action.unknown (error): an allowed action is not a known lane.
  • +
+

Procedure

+
    +
  1. Validate that the brief names the governed work, the target repo or surface, +and the intended owner or escalation route.
  2. +
  3. Extract all repos, sources, actions, owners, confidence floors, and outcome +rules from the brief and any existing policy.
  4. +
  5. If tightening an existing policy, diff proposed changes against the current +grant. Flag any widened action, lower confidence floor, removed owner, or +removed human gate as a separate human decision.
  6. +
  7. Draft the smallest complete runx.operational_policy.v1 that allows the +stated work and denies everything else.
  8. +
  9. Run the lint diagnostics. Any error finding prevents decision: ready.
  10. +
  11. Emit the policy, lint result, rationale, blockers, and success checkpoint.
  12. +
+

Edge cases and stop conditions

+
    +
  • No owner route: return needs_input; an ownerless surface is never +governed by default.
  • +
  • Mutation without a human gate: return reject or needs_input; do not +emit a ready mutating policy without require_human_merge_gate: true.
  • +
  • Auto-merge requested: block the proposal unless the user explicitly +performs a separate authority-widening decision outside this skill.
  • +
  • Unknown action lane: return needs_input with the unknown action names.
  • +
  • Source without confidence floor: return needs_input; implicit trust is +not a policy.
  • +
  • Conflicting owner routes: return needs_input and cite the conflicting +surfaces and owners.
  • +
+

Output schema (policy_proposal)

+
+
+ +
+
decision: ready | needs_input | reject
+policy:
+  schema: runx.operational_policy.v1
+  target_repos: [string]
+  runner:
+    id: string
+    kind: string
+    requires: [string]
+  allowed_actions: [string]
+  sources:
+    - provider: string
+      min_confidence: number
+  owner_routes:
+    - surface: string
+      owner: string
+  outcomes:
+    verification_required: boolean
+    close_source_issue: never | when_verified | always
+    require_human_merge_gate: boolean
+    auto_merge: boolean
+lint:
+  status: pass | fail
+  findings:
+    - id: string
+      severity: error | warning
+      message: string
+rationale: string
+blockers: [string]
+needs_input: [string]
+success_checkpoint:
+  milestone: string
+  description: string
+

A proposal with any error finding must have decision: needs_input or +reject, never ready.

+

Worked example

+

Brief: "Govern issue intake across our three repos. GitHub issues and Sentry +alerts. Kam owns the platform, Chong owns product. Never auto-merge; a human +approves every merge; close the source issue only once the fix is verified."

+

The proposal binds the three repos to a GitHub-Actions + scafld runner, allows +issue-intake/issue-to-pr/pr-review, trusts GitHub at 0.72 and Sentry at +0.82, routes platform to Kam and product to Chong, and sets +require_human_merge_gate: true, auto_merge: false, +verification_required: true, close_source_issue: when_verified. The lint +passes, so decision: ready.

+

Inputs

+
    +
  • governance_brief (required): the governance intent in prose.
  • +
  • existing_policy (optional): a current runx.operational_policy.v1 to tighten.
  • +
  • target_repos (optional): explicit repo list when not in the brief.
  • +
  • objective (optional): operator intent that focuses the pass.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/release.html b/docs/sourcey-catalog/site/pages/release.html new file mode 100644 index 000000000..e5cbfe3fa --- /dev/null +++ b/docs/sourcey-catalog/site/pages/release.html @@ -0,0 +1,130 @@ + +release - Runx Governed Skill Catalog
GitHub and delivery

release

Turn a proposed release into an audited publication. The skill owns the release decision process: evidence gathering, changelog preparation, approval, publish handoff, verification, and announcement. It does not own a project's custom release implementation. Project-specific topology lives in a release profile that names existing commands, workflows, registries, deploy targets, and verification readbacks.
    +
  • Group: GitHub and delivery
  • +
  • Source: skills/release/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/release/SKILL.md
  • +
+

Release

+

Turn a proposed release into an audited publication. The skill owns the release +decision process: evidence gathering, changelog preparation, approval, publish +handoff, verification, and announcement. It does not own a project's custom +release implementation. Project-specific topology lives in a release profile +that names existing commands, workflows, registries, deploy targets, and +verification readbacks.

+

Every version and changelog claim must trace to commits, tags, checks, package +metadata, or explicit operator context. Write release material for package +consumers: say why this version matters and what they should do next, without +generic launch language or positive wording that hides a blocker. Stop in +prepare or at approval when checks fail, versioning is unclear, evidence is +thin, or the announcement would overstate what shipped.

+

Two runners:

+
    +
  • prepare (read-only) — survey the commit range since the last tag, +classify commits, stage a changelog, run the declared checks, and emit a +release_brief describing what would ship, what is blocked, and what +remains unresolved. Safe to run unattended and in CI.
  • +
  • release (default, graph) — wires prepare → approval gate → +publishverify. publish is not exposed as a standalone runner; it is +only reachable inside the graph after the approval transition clears.
  • +
+

Invoke runx skill release prepare for a CI dry-run. Invoke +runx skill release to run the governed end-to-end flow.

+

Phases

+

prepare

+

The read-only phase. Reads git history, classifies each commit since the +previous semver tag (feat, fix, refactor, chore, breaking), +stages a changelog, reads the project release profile when supplied, and runs +the declared release checks. Emits a release_brief with the findings.

+

The brief is the only artifact that flows forward. If it is not +publishable, the graph stops at the approval gate with the reasons +attached.

+

approve-publish

+

A typed approval step. The gate id is release.publish.approval. The +brief is provided as context so the approver sees what would ship before +deciding.

+

The policy transition only advances to publish-release when +approve-publish.approval_decision.data.approved is true. No back +channel, no implicit approval on timeout.

+

publish-release

+

The destructive phase. Takes the approved release_brief from graph context and +hands off to the project-declared release interface: an existing CLI command, +GitHub Actions workflow, hosted API route, provider tool, or manual release +gate. Every side effect is recorded in publish_report.side_effects[] with its +locator and evidence; the graph receipt seals the trail.

+

Refuses to act if the brief is missing, unpublishable, or not carried +through the approval gate. Refuses to act if the project profile asks the agent +to reimplement release logic instead of naming an existing execution surface.

+

verify-release

+

The proof phase. Reads the publish_report, release brief, and project profile, +then verifies external state: registry versions, release assets, deploy health, +site/changelog readbacks, package-manager manifests, or any other project-owned +release acceptance criteria. Emits a release_report for operator review and +public audit.

+

Inputs

+
+ + + +
NameRequiredDescription
project_rootyesAbsolute path to the project being released.
channelyesPublishing target (npm, pypi, github-release).
profile_refnoPath or registry ref for a project-owned release profile. The profile describes existing commands/workflows and verification expectations; it is not authority.
last_tagnoPrevious release anchor. Defaults to the latest semver tag reachable from the current branch.
operator_contextnoCadence, campaign, or posture guidance for this release.

Outputs

+
    +
  • prepare emits release_brief_packet carrying release_brief: +changelog, check results, proposed version, unresolved flags, +publishable verdict.
  • +
  • The graph emits a graph receipt that links the prepare brief, the +approval decision, publish report, and verification report into one auditable +trail.
  • +
  • publish-release (inside the graph) emits publish_report: registry +URL, release tag, announcement packet, and a side_effects[] list with +a locator and evidence per write action.
  • +
  • verify-release emits release_report: expected lanes, observed readbacks, +missing artifacts, conditional skips, and final release verdict.
  • +
+

Trust boundary

+

prepare is safe to run unattended and in CI. The destructive work is only +reachable through the graph, and the graph refuses to transition to +publish-release without an approved decision from release.publish.approval. +The graph enforces the gate; the skill does not bypass it.

+

Project profiles are context, not authority. A profile may say which workflow, +command, registry, or URL should be used. It cannot grant credentials, skip +approval, or authorize a destructive release by itself.

+

Scopes

+
    +
  • runx:release:read — required by the prepare phase.
  • +
  • runx:release:publish — required by the publish phase; the graph grant +must include this only when the approval transition has cleared.
  • +
  • runx:release:verify — required by the verification phase.
  • +
+

Tasks

+
    +
  • release-prepare — the read-only phase task. Provides the +release_brief output shape.
  • +
  • release-publish — the destructive phase task. Only reachable inside +the graph; requires the approved brief in context.
  • +
  • release-verify — the proof phase task. Reads external state and reports +whether the release actually landed.
  • +
+

These are managed-agent task contracts carried by the skill package and its +X.yaml graph definition. They are not a separate registered task catalog.

+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/research.html b/docs/sourcey-catalog/site/pages/research.html new file mode 100644 index 000000000..ab4dc218d --- /dev/null +++ b/docs/sourcey-catalog/site/pages/research.html @@ -0,0 +1,69 @@ + +research - Runx Governed Skill Catalog
Research and data

research

Research one bounded question and turn it into a decision-ready packet.
    +
  • Group: Research and data
  • +
  • Source: skills/research/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/research/SKILL.md
  • +
+

Research

+

Research one bounded question and turn it into a decision-ready packet.

+

This skill is for applied research, not open-ended browsing. It should answer +one practical question with evidence, tradeoffs, and explicit uncertainty: +which issue is worth tackling, what the ecosystem is doing, whether a proposal +is grounded, or what claims a public post can safely make.

+

Keep the scope tight. Summaries without evidence are not enough, but an +undirected literature review is also wrong. Prefer a small number of verified +claims that change the operator's decision.

+

Operating rules

+
    +
  • State the objective in operational terms.
  • +
  • Distinguish verified evidence from inference.
  • +
  • Give every important claim a source and confidence.
  • +
  • Surface missing evidence instead of inventing it.
  • +
  • Bound the result to a concrete deliverable: brief, issue recommendation, +content outline, or publish/no-publish decision.
  • +
  • State what the finding changes: what to write, build, avoid, defer, or review.
  • +
  • Return needs_more_evidence rather than forcing a speculative conclusion, +and not_worth_publishing when a true finding is irrelevant to the audience.
  • +
+

Output

+
    +
  • research_brief: object with objective, scope, summary, and +open_questions.
  • +
  • evidence_log: array of evidence entries with claim, source, +confidence, and relevance.
  • +
  • decision_support: array of options or recommendations with rationale.
  • +
  • risks: array of research or execution risks.
  • +
+

Inputs

+
    +
  • objective (required): the question to answer.
  • +
  • domain (optional): ecosystem, product area, or audience context.
  • +
  • deliverable (optional): intended artifact, for example daily brief, +triage recommendation, or publish packet.
  • +
  • operator_context (optional): local constraints or strategic context.
  • +
  • target_entities (optional): array or object naming repos, products, +competitors, communities, or issues that bound the research.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/review-receipt.html b/docs/sourcey-catalog/site/pages/review-receipt.html new file mode 100644 index 000000000..84c97834e --- /dev/null +++ b/docs/sourcey-catalog/site/pages/review-receipt.html @@ -0,0 +1,98 @@ + +review-receipt - Runx Governed Skill Catalog
Safety and review

review-receipt

Diagnose what went wrong in a skill or graph execution and propose the smallest change that fixes it.
    +
  • Group: Safety and review
  • +
  • Source: skills/review-receipt/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/review-receipt/SKILL.md
  • +
+

Receipt Review

+

Diagnose what went wrong in a skill or graph execution and propose the +smallest change that fixes it.

+

Read the receipt or failure summary. Identify what was attempted, what +succeeded, and where it broke. The receipt contains step statuses +(sealed, failure, policy_denied, needs_agent), +exit codes, stderr, scope admission decisions, +and timing.

+

Distinguish root cause from symptoms. A graph may report failure at step 4, +but the root cause may be bad output from step 2 that propagated through +context passing. Trace data flow backward through context edges to find +where the problem originated.

+

Classify the failure:

+
    +
  • Input error — required input missing or malformed. Fix: input +validation or input resolution.
  • +
  • Scope denial — step requested scopes outside the graph grant. +Fix: scope declarations or grant configuration.
  • +
  • Tool failure — CLI tool or adapter returned an error. Fix: tool +invocation (args, env, cwd) or the tool itself.
  • +
  • Schema mismatch — step output did not match expected shape for +downstream context. Fix: output parsing or artifact contract.
  • +
  • Timeout — step exceeded time budget. Fix: increase timeout, +reduce work, or split the step.
  • +
  • Policy denial — transition gate blocked the step. Fix: gate +conditions or upstream output.
  • +
  • Review rejection — adversarial review found blocking issues. +Fix: the code or spec, not the review process.
  • +
  • Harness assertion — fixture expectations did not match actual +output. Fix: skill logic or stale fixture expectations.
  • +
+

Agent-mediated suspension is not a failure

+

A receipt with status needs_agent denotes a healthy +agent-mediated suspension, not a defect. The runtime yielded to the +caller for missing agent or human input. +This is a normal part of graph execution, not one of the failure +classes above. When the only evidence is needs_agent without +any exit code, scope denial, schema mismatch, or other concrete +failure signal, return verdict: pass with an empty +improvement_proposals array and note that the graph is paused as +designed.

+

One failure, one fix. Propose the smallest change that addresses the root +cause. Do not bundle unrelated improvements.

+

Output

+

The output shape is formalised as JSON Schema at +review-receipt-output.schema.json. +Agents should self-validate before returning, and downstream +consumers (notably write-harness) may validate on receipt.

+
    +
  • verdict: pass, needs_update, or blocked.
  • +
  • failure_summary: which step, which failure class, what root cause. +One to three sentences.
  • +
  • improvement_proposals: array of bounded changes. Each:
      +
    • target: what to change (SKILL.md, execution profile, graph step, input, fixture)
    • +
    • change: what specifically to change
    • +
    • rationale: why this fixes the root cause
    • +
    • risk: what could go wrong
    • +
    +
  • +
  • next_harness_checks: replayable checks that should pass after the fix.
  • +
+

Inputs

+

All optional — supply whichever evidence is available:

+
    +
  • receipt_id: receipt id to inspect.
  • +
  • receipt_summary: sanitized receipt or harness summary.
  • +
  • harness_output: failed harness output or assertion text.
  • +
  • skill_path: path to the skill being improved.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/run-history.html b/docs/sourcey-catalog/site/pages/run-history.html new file mode 100644 index 000000000..058991146 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/run-history.html @@ -0,0 +1,129 @@ + +run-history - Runx Governed Skill Catalog
Outbound and tooling

run-history

Turn runx's own run ledger into a governed, read-only report.
    +
  • Group: Outbound and tooling
  • +
  • Source: skills/run-history/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/run-history/SKILL.md
  • +
+

Run History Analyst

+

Turn runx's own run ledger into a governed, read-only report.

+

Every governed runx run leaves a receipt. Over time that ledger is data: which +skills run, how often they seal versus refuse, which never graduate past alpha, +and where authority is consistently broader than usage. This skill reads that +ledger (via runx history and runx list) and reports it. It never executes a +skill, sends, or mutates; every planned call is read-only. Its recommendations +route to the governance skills, least-privilege, audit-receipt, +and the maturity promoter, so the report turns into action through the right +governed lane.

+

What this skill does

+
    +
  1. Scope the question. Account-wide, a single skill, or a period.
  2. +
  3. Pull the ledger, read-only. Plan runx history and runx list queries; +never an execution command.
  4. +
  5. Grade the signals. Seal rate, refusal rate, maturity distribution, and +scope-usage breadth, each with an assessment, not a bare number.
  6. +
  7. Recommend through governed lanes. A high refusal rate, a skill stuck at +alpha, or a consistently-unused scope routes to a named governance skill, not +a direct mutation.
  8. +
+

Core principles

+
    +
  • Read-only. Only runx history and runx list. No execution, send, or +config call. Every planned call is requires_confirmation: false.
  • +
  • Grade, do not dump. Every metric carries an assessment against a norm.
  • +
  • Route, do not act. Recommendations name the governed lane +(least-privilege, audit-receipt, maturity promoter); this skill +does not change a grant or a tier itself.
  • +
  • Refusals are signal, not failure. A healthy refusal rate means bounds are +working; a spike means a skill or a policy needs review.
  • +
  • Absence is not health. With no history, return needs_more_evidence.
  • +
+

When to use this skill

+
    +
  • Periodic platform review: what is runx actually doing across skills.
  • +
  • Spotting skills with anomalous refusal rates or stuck maturity.
  • +
  • Finding consistently-unused scopes worth attenuating.
  • +
+

When not to use this skill

+
    +
  • For a single run's authority audit (use audit-receipt).
  • +
  • To narrow one skill's grant from its usage (use least-privilege).
  • +
  • For email or product analytics. This reports on runx runs, not a domain +dataset; that is a separate, product-owned analytics skill.
  • +
+

Signals and norms

+
    +
  • seal_rate: share of runs that sealed cleanly. good >0.9, warning 0.7-0.9, +critical <0.7.
  • +
  • refusal_rate: share of runs that hit a governed refusal. info by default; a +sharp per-skill spike is a warning worth routing.
  • +
  • maturity_distribution: counts at alpha / beta / stable. Many skills stuck at +alpha is a warning (no harness coverage).
  • +
  • scope_usage: scopes granted but never exercised across runs, a candidate for +attenuation.
  • +
+

Output schema (history_report)

+
+
+ +
+
decision: ready | needs_more_evidence
+scope: workspace | skill | all
+period: string
+ordered_tool_calls:
+  - tool: runx history | runx list
+    purpose: string
+    requires_confirmation: boolean      # always false; read-only
+findings:
+  - metric: string
+    value: string
+    assessment: good | warning | critical | info
+recommendations:
+  - finding: string
+    lane: least-privilege | audit-receipt | maturity-promoter | none
+    action: string
+blockers: [string]
+needs_input: [string]
+success_checkpoint:
+  milestone: string
+  description: string
+

Worked example

+

Question: "How is the skill catalog behaving this month?" The report plans +runx history --since 30d and runx list skills --json, then reports a 0.94 +seal rate (good), a refusal rate of 0.06 (info, bounds working), a maturity +spread of 14 alpha / 5 beta / 2 stable (warning, most skills lack harness +coverage), and one skill granted repo.write but never exercising it across 40 +runs. It recommends routing the alpha-heavy spread to the maturity promoter and +the unused repo.write to least-privilege for attenuation. It changes +nothing itself.

+

Inputs

+
    +
  • objective (required): the history question.
  • +
  • scope (optional): workspace, a specific skill, or all.
  • +
  • period (optional): e.g. 30d or 90d.
  • +
  • history_summary (optional): a sanitized runx history summary when already +fetched.
  • +
  • objective guides which signals to lead with.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/sandbox-harden.html b/docs/sourcey-catalog/site/pages/sandbox-harden.html new file mode 100644 index 000000000..ace10b737 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/sandbox-harden.html @@ -0,0 +1,223 @@ + +sandbox-harden - Runx Governed Skill Catalog
Safety and review

sandbox-harden

Decide the narrowest sandbox a workload can run inside without breaking it.
    +
  • Group: Safety and review
  • +
  • Source: skills/sandbox-harden/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/sandbox-harden/SKILL.md
  • +
+

Sandbox Harden

+

Decide the narrowest sandbox a workload can run inside without breaking it.

+

What this skill does

+

Most workloads ship with the default sandbox their runtime hands them: the full +seccomp default, a broad capability set, unrestricted egress, a writable root. +That default is sized for the worst case, not for this workload. This skill reads +what a named workload actually needs and emits the tightest posture that still +lets it run: an allowed-syscall list, the capabilities to drop, an egress +allowlist, and a filesystem stance, with the residual risk named in plain terms.

+

The output is a posture recommendation, not an enforced change. A runtime, an +orchestrator, or an operator applies it. This skill never executes the workload +and never widens a posture below the supplied baseline without saying why.

+

How it differs from its neighbors: least-privilege audits API scopes, +not syscalls; audit-receipt reads a sealed run after the fact. This skill is +the only one that reasons about the seccomp, capability, egress, and filesystem +posture a workload should run inside before it starts. The recommendation reads +input only and writes nothing; applying it is a separate runtime act that +exercises sandbox:configure on the named workload and nothing wider.

+

When to use this skill

+
    +
  • Before running an untrusted or third-party workload, to decide its sandbox.
  • +
  • During a security review of an existing deployment whose sandbox is the broad +default.
  • +
  • When promoting a workload toward production and the runtime posture must be +reviewable, not implicit.
  • +
  • When an operator needs the egress allowlist and dropped capabilities written +down before a runtime applies them.
  • +
+

When not to use this skill

+
    +
  • To run, build, or schedule the workload. This skill recommends a posture; a +runtime, orchestrator, or operator executes the workload under it.
  • +
  • To audit which API scopes or grants a subject used. That is +least-privilege; it reasons about authority, this one reasons about +syscalls, capabilities, egress, and the filesystem.
  • +
  • To audit a sealed receipt for over-reach after the fact. That is +audit-receipt.
  • +
  • To handle, store, or surface the secret material a workload reads. A hardening +profile names a mount path or a secret handle, never a secret value.
  • +
  • To produce a posture for a workload whose identity is unknown. Return +needs_agent instead of hardening an unnamed target.
  • +
+

Procedure

+
    +
  1. Resolve the workload.

    +
      +
    • Accept an image digest (sha256:...) or a skill ref. Record which form was +supplied as hardening_profile.workload.
    • +
    • Gate: if no workload is supplied, stop with needs_agent. There is nothing +to harden.
    • +
    +
  2. +
  3. Build the behavior model.

    +
      +
    • Combine the workload class (web service, batch job, CLI, language runtime), +the supplied threat_context, and the baseline posture.
    • +
    • Distinguish known behavior from assumed behavior. A profile built on assumed +syscall need is weaker evidence than one built on an observed or documented +call set.
    • +
    • Gate: if the behavior is unknown enough that the syscall set, egress, or +write paths would be a guess, stop with needs_more_evidence and name what +observation would resolve it (a trace, a manifest, a dry run under audit +seccomp).
    • +
    +
  4. +
  5. Recommend the seccomp profile.

    +
      +
    • Default to deny. Add only syscalls the behavior model supports.
    • +
    • Prefer a named runtime default profile plus an explicit allow delta over a +hand-rolled full list when the workload class has a known good baseline.
    • +
    • Never add a syscall family with no behavioral basis. Unknown need is a stop +condition, not a blanket allow.
    • +
    +
  6. +
  7. Drop capabilities.

    +
      +
    • Start from "drop all", then justify each capability kept.
    • +
    • A capability is kept only when the behavior model needs it. Name the reason +per kept capability in the rationale.
    • +
    +
  8. +
  9. Set the egress posture.

    +
      +
    • Default to mode: none. Move to mode: allowlist only when the workload +has a named, justified destination set.
    • +
    • List hosts, not raw allow-everything. An empty allowlist means no egress.
    • +
    • Never recommend open egress as a convenience.
    • +
    +
  10. +
  11. Set the filesystem posture.

    +
      +
    • Default to readonly: true with an explicit writable_paths list.
    • +
    • Each writable path is justified by the behavior model (scratch, cache, a +declared output dir). A writable root is a finding, not a default.
    • +
    +
  12. +
  13. State residual risk.

    +
      +
    • After the controls above, name what an attacker who fully controls the +workload could still do, the level, and the reason.
    • +
    • Residual risk is never "none". If the profile is built on assumed behavior, +say so here.
    • +
    +
  14. +
  15. Honor the baseline.

    +
      +
    • The recommended posture must be at least as strict as the supplied baseline +on every axis. If the model would relax any control below the baseline, do +not relax it silently; either keep the baseline or, where a relaxation is +genuinely warranted, record the reason in the rationale and raise the +residual-risk level.
    • +
    +
  16. +
+

The narrowness gate and the evidence gate are the two that hold authority: no +control weaker than the baseline without a stated reason and a raised +residual-risk level, and no syscall, host, or write path with no behavioral +basis. A posture no tighter than the baseline with no new evidence is not worth +emitting.

+

Edge cases and stop conditions

+
    +
  • Missing workload: return needs_agent; an unnamed target cannot be +hardened.
  • +
  • Unknown behavior: return needs_more_evidence with the observation that +would resolve it; do not pad the syscall set with plausible families.
  • +
  • Workload needs a privileged capability (for example CAP_SYS_ADMIN): keep +it only with a stated reason and raise the residual-risk level; never drop a +capability the workload provably needs just to look tighter.
  • +
  • Egress to a dynamic or unbounded host set: keep mode: allowlist with the +known hosts and flag the unbounded remainder as residual risk; do not fall back +to open egress.
  • +
  • Baseline is already tighter than the model: keep the baseline; the +recommendation never loosens a control the operator already set.
  • +
  • Secret material in the input: reference it by mount path or handle in the +profile and rationale; never copy a secret value into the output.
  • +
  • Conflicting threat context and baseline: prefer the stricter control and +name the conflict in the rationale.
  • +
+

Output schema

+
+
+ +
+
hardening_profile:
+  decision: ready | needs_more_evidence | needs_agent
+  workload:
+    ref_form: image_digest | skill_ref
+    image_digest: string
+    skill_ref: string
+    class: string
+  seccomp:
+    default: deny | allow
+    allowed_syscalls: array
+  dropped_caps: array
+  egress:
+    mode: none | allowlist
+    hosts: array
+  filesystem:
+    readonly: boolean
+    writable_paths: array
+  residual_risk:
+    level: low | medium | high
+    reason: string
+  rationale: string
+

The single hardening_profile object is packet runx.hardening.v1. Secrets, +tokens, key material, and raw fetched content never appear in the profile; +secret-bearing inputs are referenced by mount path or handle only. The receipt +carries the workload ref form and digest, the four posture axes, the +residual-risk level, the stop status, and the quality and voice profile hashes. +It carries no secret values and no syscall trace payloads.

+

Worked example

+

Input: workload is { image_digest: "sha256:1f4c...", class: "batch job" }; +threat_context is "processes untrusted user uploads, no inbound network"; +baseline is "docker default seccomp, all caps, open egress, writable root".

+

Output: decision: ready. seccomp.default: deny with an allowed set covering +file I/O, memory, and process control but not ptrace, mount, or raw socket +families. dropped_caps is the full default set (the job needs none). +egress.mode: none (no inbound or outbound network in the threat context). +filesystem.readonly: true with writable_paths: ["/tmp/work"] for upload +scratch. residual_risk.level: low, reason: a compromised job can still consume +CPU and fill /tmp/work to its quota; it cannot reach the network or escalate. +The rationale records that the syscall set is assumed from the batch-job class, +not from an observed trace, so a trace would raise confidence without widening +the posture.

+

Inputs

+
    +
  • workload (required, json): the target to harden, as { image_digest } or +{ skill_ref }, optionally with class. Without it the skill returns +needs_agent.
  • +
  • threat_context (optional, string): the trust assumptions and exposure, for +example "processes untrusted uploads, no inbound network".
  • +
  • baseline (optional, string): the current or floor posture. The +recommendation is never weaker than this without a stated reason.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/sourcey.html b/docs/sourcey-catalog/site/pages/sourcey.html new file mode 100644 index 000000000..b432b89d6 --- /dev/null +++ b/docs/sourcey-catalog/site/pages/sourcey.html @@ -0,0 +1,381 @@ + +sourcey - Runx Governed Skill Catalog
Outbound and tooling

sourcey

Generate a documentation site for a project using Sourcey. Sourcey is a static documentation generator that produces HTML sites from markdown pages, OpenAPI specs, Doxygen XML, and MCP server snapshots.
    +
  • Group: Outbound and tooling
  • +
  • Source: skills/sourcey/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/sourcey/SKILL.md
  • +
+

Sourcey

+

Generate a documentation site for a project using Sourcey. Sourcey is a static +documentation generator that produces HTML sites from markdown pages, OpenAPI +specs, Doxygen XML, and MCP server snapshots.

+

What this skill does

+

By default, runx executes Sourcey as a governed mixed-runner skill:

+
    +
  1. discover the bounded documentation scope, evidence, and plan
  2. +
  3. request approval
  4. +
  5. author the bounded docs/config bundle
  6. +
  7. write the source bundle deterministically
  8. +
  9. build docs deterministically
  10. +
  11. critique the built output in one bounded pass
  12. +
  13. apply at most one bounded revision pass
  14. +
  15. rebuild and verify the output deterministically
  16. +
+

For already-configured projects, the same sourcey runner stays narrow: the +discover step can confirm existing config, the author/revise passes can return +empty bundles, and the deterministic tool steps still perform the build and +verification work.

+

For repository-backed projects, Sourcey owns two separate surfaces: committed +docs source and generated site output. Keep those separate. Do not mix emitted +HTML, search indexes, or OG assets back into the authored docs tree.

+

When to use this skill

+
    +
  • A project needs a maintainer-grade documentation site generated from real +repository evidence, existing docs, API specs, Doxygen XML, or MCP snapshots.
  • +
  • A branded package or product needs Sourcey output with governed discovery, +approval, authoring, deterministic build, critique, revision, and receipt +proof.
  • +
  • A workflow needs to separate authored docs source from generated site output +while preserving a reviewable receipt trail.
  • +
  • A maintainer wants CI or deploy to rebuild docs without inventing scope, +prose, or information architecture at deploy time.
  • +
+

When not to use this skill

+
    +
  • To manufacture documentation when the repository evidence is too thin. Return +needs_more_evidence or needs_review instead of confident filler.
  • +
  • To write generated HTML, search indexes, or Open Graph assets back into the +source docs tree.
  • +
  • To bypass approval for a new docs plan or to run open-ended critique/revision +loops.
  • +
  • To document APIs by hand when an OpenAPI, Doxygen, or MCP source can be used +directly by Sourcey.
  • +
+

Documentation rules

+

Sourcey output should read like native project documentation that a maintainer +would stand behind:

+
    +
  • build from project evidence, but do not expose the evidence-gathering process +as page prose
  • +
  • preserve the project's own terms, priorities, and level of ambition
  • +
  • make fewer pages with real substance rather than many generic pages
  • +
  • make a real developer action easier—install, evaluate, integrate, operate, or +contribute; a polished site with thin content is a failed run
  • +
  • never use "generated by Sourcey", preview, adoption, migration, scaffold, or +demo framing unless the project itself uses that framing
  • +
  • never describe pages as machine output, agent output, or AI-generated docs; +the site should read like the project maintainer wrote and stands behind it
  • +
  • when publishing public docs, use a credible durable project, maintainer, +organization, product, or documentation home. Random personal domains, +placeholder parent sites, sandbox hosts, preview deploys, throwaway +subdomains, and unrelated novelty domains are not publication-quality homes
  • +
  • if the repo evidence is too thin for a strong docs page, surface that as an +evidence gap instead of manufacturing confident filler
  • +
+

Canonical semantics

+

Complex runx skills share a reusable phase language:

+
    +
  • scope
  • +
  • ingest
  • +
  • model
  • +
  • materialize
  • +
  • evaluate
  • +
  • revise
  • +
  • verify
  • +
  • ratify
  • +
+

The current Sourcey runner deliberately uses a bounded subset:

+
    +
  • discover folds scope + ingest + model
  • +
  • approve is ratify
  • +
  • author + write-docs + build form materialize
  • +
  • critique is evaluate
  • +
  • revise + write-revisions + rebuild form revise
  • +
  • verify is verify
  • +
+

The current slice uses exactly one bounded revision window. It never loops +until good and it never critiques indefinitely.

+

When docs_inputs is supplied explicitly, treat that as a bounded instruction +to use the existing config target. Do not overwrite the referenced config or +invent replacement docs files merely because repository inspection evidence is +thin. Missing evidence is not the same as missing files.

+

Procedure

+
    +
  1. Inspect the project and discover a bounded documentation plan from real project evidence.
  2. +
  3. Approve the discovered plan before authoring.
  4. +
  5. Author the bounded Sourcey source bundle.
  6. +
  7. Persist that bundle deterministically.
  8. +
  9. Run sourcey build deterministically with the discovered or authored config.
  10. +
  11. Critique the built output in one bounded evaluation pass.
  12. +
  13. Apply at most one bounded revision pass from that critique.
  14. +
  15. Rebuild deterministically after the revision bundle is written.
  16. +
  17. Verify the output directory contains index.html.
  18. +
  19. Inspect the receipt and generated site.
  20. +
+

The deterministic build report should carry enough rendered evidence for an +external reviewer to reason about the site without hidden file access. At +minimum that means the generated file list plus index-page title, headings, and +an excerpt when index.html exists.

+

Discovery contract

+

discovery_report may include additional planning metadata, but the canonical +resolved docs inputs must live under:

+
    +
  • discovery_report.discovered.brand_name
  • +
  • discovery_report.discovered.homepage_url
  • +
  • discovery_report.discovered.docs_inputs
  • +
+

Downstream deterministic build steps consume that nested discovered object.

+

Output schema

+

Sourcey build produces: HTML pages, sourcey.css, sourcey.js, +search-index.json, sitemap.xml, llms.txt, llms-full.txt, and +_og/ directory with generated Open Graph images.

+

The sealed package includes:

+
+
+ +
+
discovery_report:
+  discovered:
+    brand_name: string | null
+    homepage_url: string | null
+    docs_inputs: object | null
+doc_bundle:
+  files: array
+  summary: string
+sourcey_build_report:
+  generated_files: array
+  index_title: string
+  index_headings: array
+  index_excerpt: string
+evaluation_report: object
+revision_bundle:
+  files: array
+  summary: string
+sourcey_verification_proof:
+  verified: boolean
+  index_path: string
+receipt_notes:
+  authority: governed docs plan approval
+  mutation: authored docs source writes only
+

Worked example

+

Input: a project contains README.md, package.json, and a partial docs/ +tree, but no Sourcey config.

+

Output: decision: ready after approval; Sourcey discovers the project name, +homepage, and docs inputs, writes a bounded docs/sourcey.config.ts plus only +the highest-value missing docs pages, builds to .sourcey/runx-docs, critiques +the rendered index.html, applies at most one revision bundle, verifies the +output, and seals a receipt with the build report and verification proof.

+

If the project evidence does not support a maintainer-grade site, the run stops +with needs_more_evidence or needs_review instead of producing filler.

+

Inputs

+
    +
  • project (required): project root directory.
  • +
  • repo_root: optional alias for the project root when Sourcey is composed inside a parent graph that already uses repo_root.
  • +
  • brand_name: project name (discovered from package evidence if omitted).
  • +
  • homepage_url: project homepage (discovered from project evidence if omitted).
  • +
  • docs_inputs: structured docs inputs, e.g. {"mode":"config","config":"docs/sourcey.config.ts"} or {"mode":"openapi","spec":"openapi.yaml"}. Discovered if omitted and may point at authored config produced by the skill.
  • +
  • project_brief: optional grounded brief carrying brand cues, docs audit, +IA direction, and writing constraints. When present, the authored docs should +feel like native project docs rather than generic generated scaffolding.
  • +
  • output_dir: generated site output path (default: <project>/.sourcey/runx-docs).
  • +
  • sourcey_bin: explicit sourcey executable path (default: SOURCEY_BIN env or sourcey on PATH).
  • +
+

Repository Contract

+
    +
  • Keep authored docs source in the repository, usually under docs/ when using +docs/sourcey.config.ts.
  • +
  • Keep generated site output in output_dir, separate from the source tree.
  • +
  • The default generated output path is <project>/.sourcey/runx-docs.
  • +
  • Generated output should be gitignored unless the project explicitly chooses to +version release artifacts.
  • +
  • CI or deploy may run deterministic sourcey build from committed source.
  • +
  • Deploy must not be the step where docs scope, prose, or IA is invented. Do +discovery, authoring, and review before deploy.
  • +
  • For Astro host apps, prefer the first-class sourcey/astro integration over +a separate prebuild script that writes into public/docs. Keep +docs/sourcey.config.ts and markdown/spec inputs as source; let astro dev +serve Sourcey through Vite and astro build write generated docs into the +final output under the configured route.
  • +
  • For public publication, include enough proof for an external reviewer to +inspect the target project, source commit, Sourcey config or input source, +generated page list, deployment URL, parent domain, and durability of the +hosting choice.
  • +
+

Astro host pattern

+

Use this shape when the target already uses Astro and docs should live at a +path such as /docs:

+
+
+ +
+
import { defineConfig } from "astro/config";
+import sourcey from "sourcey/astro";
+
+export default defineConfig({
+  site: "https://example.com",
+  integrations: [
+    sourcey({
+      config: "./docs/sourcey.config.ts",
+      routeBase: "/docs",
+    }),
+  ],
+});
+

Do not add prebuild, build:docs, or committed public/docs artifacts for +this path unless the project explicitly cannot use Astro integrations. The +generated output remains reproducible build output, not authored source.

+

Config reference

+
+
+ +
+
import { defineConfig } from "sourcey";
+
+export default defineConfig({
+  name: "Project Name",
+  theme: {
+    preset: "default",             // "default" | "minimal" | "api-first"
+    colors: {
+      primary: "#hex",             // required
+      light: "#hex",               // optional, derived from primary
+      dark: "#hex",                // optional, derived from primary
+    },
+    fonts: {
+      sans: "Inter",               // optional
+      mono: "monospace",           // optional
+    },
+    layout: {
+      sidebar: "18rem",            // optional
+      toc: "19rem",                // optional
+      content: "44rem",            // optional
+    },
+    css: ["path/to/custom.css"],   // optional
+  },
+  logo: "path/to/logo.png",       // or { light, dark, href }
+  favicon: "path/to/favicon.ico",
+  repo: "https://github.com/org/repo",
+  editBranch: "main",
+  editBasePath: "docs",            // path from repo root to docs source
+  codeSamples: ["curl", "javascript", "python"],  // for OpenAPI tabs
+  navigation: {
+    tabs: [
+      // Markdown pages tab
+      {
+        tab: "Documentation",
+        slug: "",                  // empty = default tab
+        groups: [
+          { group: "Getting Started", pages: ["introduction", "quickstart"] },
+          { group: "Guides", pages: ["configuration", "deployment"] },
+        ],
+      },
+      // OpenAPI tab
+      {
+        tab: "API Reference",
+        openapi: "path/to/openapi.yaml",
+      },
+      // Doxygen tab
+      {
+        tab: "C++ API",
+        doxygen: {
+          xml: "path/to/doxygen/xml",
+          language: "cpp",         // "cpp" | "java"
+          groups: true,            // use doxygen groups for nav
+          index: "auto",           // "auto"|"rich"|"structured"|"flat"|"none"
+        },
+      },
+      // MCP tab
+      {
+        tab: "Tools",
+        mcp: "path/to/mcp.json",
+      },
+    ],
+  },
+  navbar: {
+    links: [
+      { type: "github", href: "https://github.com/org/repo" },
+      // types: github, twitter, discord, linkedin, youtube, slack,
+      //        mastodon, bluesky, reddit, npm, link
+    ],
+    primary: { type: "button", label: "Demo", href: "/demo" },
+  },
+  footer: {
+    links: [{ type: "github", href: "https://github.com/org/repo" }],
+  },
+  search: {
+    featured: ["introduction", "quickstart"],  // top results when empty query
+  },
+});
+

Page format

+

Pages are markdown files resolved relative to the config file directory. +If config is at docs/sourcey.config.ts, then page "quickstart" resolves +to docs/quickstart.md.

+
+
+ +
+
---
+title: Page Title
+description: One-line description for search and meta tags
+---
+
+Content here. Standard markdown with code blocks, tables, links.
+

Card Icon Contract

+

Sourcey card icons are Heroicons v2 outline names in kebab-case. The renderer +returns an empty icon for unknown names, so authoring must use exact names.

+

Known-good names for documentation cards include: academic-cap, arrow-path, +bell, bolt, book-open, chart-bar, check-circle, cloud-arrow-up, +code-bracket, command-line, cpu-chip, cube, document, +document-text, exclamation-triangle, globe-alt, key, lifebuoy, +light-bulb, lock-closed, magnifying-glass, map, rocket-launch, +server-stack, shield-check, sparkles, and wrench-screwdriver.

+

Invalid card icon names are a blocking quality issue. The build report includes +icon_validation; critique and revision must fix any +icon_validation.status: "invalid" result before the run is accepted.

+

Edge cases and stop conditions

+
    +
  • Only create tabs for content types the project actually has. Do not add an +OpenAPI tab if there is no spec file. Do not add a Doxygen tab without XML.
  • +
  • Do not document APIs by hand when a spec file exists — use the spec tab.
  • +
  • Keep navigation shallow: 1-2 tabs, 2-4 groups for most projects.
  • +
  • Use project brand colors if identifiable. Otherwise use a neutral palette.
  • +
  • Use only exact Heroicons v2 outline names for Sourcey card icon +attributes; never invent icon names.
  • +
  • When a grounded brief provides logo, favicon, color, or IA guidance, prefer +that over generic defaults.
  • +
  • Match the project's existing voice and terminology.
  • +
  • Never write docs that describe themselves as a preview, adoption, migration, +or tool-generated scaffold unless the repo's own evidence explicitly uses that +framing.
  • +
  • Do not write generated HTML, search indexes, or OG assets into the authored +docs source tree.
  • +
  • If output_dir lives under the repo root, gitignore it or call out the +missing ignore rule as an operational gap.
  • +
  • Build output may be regenerated in CI or deploy, but deploy must not author +or revise docs content.
  • +
  • Public deployments must be durable and socially credible. Do not treat a +throwaway preview URL, unrelated personal domain, placeholder parent site, or +sandbox subdomain as a completed public docs home.
  • +
  • Do not encode open-ended critique or revision behavior. Critique is one +bounded evaluation pass. Revision is at most one explicit bounded pass.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/web-fetch.html b/docs/sourcey-catalog/site/pages/web-fetch.html new file mode 100644 index 000000000..e4ab0796b --- /dev/null +++ b/docs/sourcey-catalog/site/pages/web-fetch.html @@ -0,0 +1,148 @@ + +web-fetch - Runx Governed Skill Catalog
Research and data

web-fetch

Fetch one URL, prove it was allowed, extract the part the caller asked for, and return that slice by digest with the provenance needed to trust it later.
    +
  • Group: Research and data
  • +
  • Source: skills/web-fetch/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/web-fetch/SKILL.md
  • +
+

Web Fetch

+

Fetch one URL, prove it was allowed, extract the part the caller asked for, and +return that slice by digest with the provenance needed to trust it later.

+

What this skill does

+

web-fetch resolves a single URL against a host allowlist, retrieves it, +extracts text, metadata, or links, and seals the result so a downstream step can +cite the fetch without re-fetching. It checks the final host against the +allowlist before and after redirects, retrieves up to max_bytes, and returns +the final URL, the HTTP status, a content_digest over the retrieved body, the +extracted slice, and a provenance block recording when it ran, every redirect +hop, and how many bytes it read. The body is referenced by digest; only the +extracted slice is inlined.

+

This is the primitive an agent reaches for when it has already decided which page +to read. The decision it makes easier is "can I read this page, and what did it +actually say", with the answer backed by a digest instead of a remembered +paraphrase. It differs from the research family: research and +deep-research decide which sources matter and synthesize across them, +while web-fetch retrieves exactly one source and refuses anything off the +allowlist.

+

When to use this skill

+
    +
  • An agent has chosen a specific page and needs its content bound to a +content_digest so a later step can cite it without re-fetching.
  • +
  • A research pass needs each source retrieved through a single bounded +net:allowlist fetch with a complete redirect chain and byte count.
  • +
  • A review must later prove what a page said at fetch time.
  • +
  • A follow-on skill (prior-art, vuln-triage, brief) needs one source extracted as +text, metadata, or links.
  • +
+

When not to use this skill

+
    +
  • To judge, rank, or synthesize across sources. That is the research family's +job; web-fetch retrieves exactly one source and refuses to reason over many.
  • +
  • To reach a host the caller did not declare in allowlist, including a host +reached only through a redirect.
  • +
  • To write anything. The only scope is net:allowlist; there is no repo, file, +wallet, or send authority here.
  • +
  • To inline a large raw body. The extracted slice is the payload; the full body +lives behind content_digest.
  • +
  • To carry secrets. Request headers may reference a credential by ${secret} +handle, but no header value, cookie, token, or auth string appears in the +output or the receipt.
  • +
+

Procedure

+
    +
  1. Require url and allowlist. Either missing returns needs_agent; the +fetch cannot run without a target and a declared scope.
  2. +
  3. Match the URL host against allowlist. On a miss, return policy_denied +before any network call, recording the attempted host and the allowlist it +was checked against.
  4. +
  5. Fetch, following redirects, re-checking each redirect target's host against +the same allowlist. A redirect that lands off-allowlist halts the fetch, +returns policy_denied with the hop that failed, and discards partial +bodies. Cap the read at max_bytes when set.
  6. +
  7. Compute content_digest over the retrieved body.
  8. +
  9. Extract per extract: text (readable body text, default), metadata +(title, description, canonical, declared language, content type), or links +(absolute hrefs found in the document).
  10. +
  11. Return fetch_result with the final URL, status, digest, extracted slice, +and provenance. Flag truncated reads in provenance; never return a clipped +read as if whole.
  12. +
+

Edge cases and stop conditions

+
    +
  • Missing url or allowlist: return needs_agent; the fetch has no target +or no scope to check against.
  • +
  • Host off the allowlist: stop with policy_denied before any network call; +record the attempted host, not a response body (there is none).
  • +
  • Redirect off the allowlist: halt the fetch, return policy_denied naming +the hop that failed, and discard the partial body.
  • +
  • Read clipped by max_bytes: flag truncated: true in provenance; the +digest is over the bytes actually retrieved.
  • +
  • Large raw body: never inline beyond the extracted slice; anything bigger +than the requested view is reachable only through content_digest.
  • +
  • Credential in a header: reference it by ${secret} handle only; no header +value, cookie, or token reaches the output or the receipt.
  • +
+

Output schema

+
+
+ +
+
fetch_result:
+  decision: ready | needs_agent | policy_denied
+  final_url: string            # URL after redirects, the one the digest is over
+  status: number               # HTTP status of the final response
+  content_digest: string       # digest of the retrieved body, algorithm prefix included
+  extract_mode: text | metadata | links
+  extracted: string | object | array   # string for text, object for metadata, array of hrefs for links
+  provenance:
+    fetched_at: string         # timestamp of the fetch
+    redirects: array           # ordered host hops, each re-checked against the allowlist
+    bytes: number              # bytes read
+    truncated: boolean         # true when max_bytes clipped the read
+  policy:
+    allowlist_decision: allowed | denied
+    attempted_host: string     # set on policy_denied
+    allowlist_checked: array   # the hosts the request was checked against
+

The sealed runx.receipt.v1 carries the final URL, status, content_digest, +byte count, the redirect chain, and the allowlist decision. It carries no header +values, no cookies, and no raw body beyond the digest.

+

Worked example

+

Input: url of the HTTP Semantics RFC, an allowlist of www.rfc-editor.org +and rfc-editor.org, extract: text, and max_bytes: 200000.

+

Output: decision: ready; the host matched the allowlist before the request +left; no redirects; status 200; content_digest is taken over the retrieved +body; extracted holds the readable text slice; provenance records +fetched_at, an empty redirect chain, 184302 bytes, and truncated: false. +The receipt seals with the final URL, status, digest, byte count, and the +allowlist decision; no header value reaches it.

+

Inputs

+
    +
  • url (required): the single URL to fetch; its host must match the allowlist.
  • +
  • allowlist (required): permitted hosts or host patterns; the URL and every +redirect target must match an entry.
  • +
  • extract (optional): text, metadata, or links. Defaults to text.
  • +
  • max_bytes (optional): cap on bytes read; a clipped read is flagged +truncated in provenance.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/pages/work-plan.html b/docs/sourcey-catalog/site/pages/work-plan.html new file mode 100644 index 000000000..97246a70a --- /dev/null +++ b/docs/sourcey-catalog/site/pages/work-plan.html @@ -0,0 +1,128 @@ + +work-plan - Runx Governed Skill Catalog
Operate

work-plan

Turn a build or automation objective into a bounded governed work plan.
    +
  • Group: Operate
  • +
  • Source: skills/work-plan/SKILL.md
  • +
  • Commit: 5afc25a83edf1c1320df7ac0d78c36f1523b5677
  • +
  • Path: skills/work-plan/SKILL.md
  • +
+

Work Plan

+

Turn a build or automation objective into a bounded governed work plan.

+

For cross-repo or cross-surface work, the output must be a phased +workspace_change_plan, not just a loose list of steps. The shared plan is the +thing that keeps repo-local workers aligned when one issue fans out into +multiple mutation surfaces.

+

When the objective originates from an existing thread, treat that thread +as provider-backed thread. GitHub issues, chat threads, support +tickets, and local agent sessions are adapter examples, not core nouns. The +plan should preserve the generic thread_locator and any supplied +thread.

+

The central insight: split at governance boundaries, not cognitive boundaries. +A skill keeps its full context window. If two actions need the same context +but different scopes, they are two invocations of the same skill with +different scopes — not two separate skills. The graph defines where authority +changes, where mutation happens, and where a gate needs to approve. That is +where steps break.

+

Work backward from the deliverable. Name the concrete artifact the objective +produces (spec, patch, PR, docs site, report). Then identify where authority +narrows: read-only analysis, write-access mutation, approval gates, review +boundaries. Each narrowing is a step boundary. Each step gets only the scopes +it needs — no step inherits from a prior step, each derives from the graph +grant independently.

+

Determine data dependencies between steps. A step that consumes output from +a prior step must come after it. Steps with no data dependency are candidates +for fanout. Do not parallelize steps that share mutation targets.

+

If the objective is ambiguous or required context is missing, surface open +questions explicitly rather than guessing. Open questions should name what +is missing, why it matters, and who can answer it.

+

Prefer fewer steps with clear scope boundaries. Three well-scoped steps +beat seven single-purpose fragments. Every step should have a clear entry +condition, action, and exit artifact.

+

Output

+
    +
  • change_set: the parent change artifact inherited from intake or constructed +for the objective when intake did not already produce one. It should preserve +the shared objective, target surfaces, invariants, and success criteria.
  • +
  • harness_context: when supplied, the same runx.receipt.v1 packet with state +advanced to planning_ready or blocked. Preserve source events, dedupe, +and triage fields rather than reconstructing them from prose.
  • +
  • objective_summary: one sentence capturing the deliverable.
  • +
  • workspace_change_plan: phased plan for the whole change set. It must +contain:
      +
    • plan_id
    • +
    • change_set_id
    • +
    • objective_summary
    • +
    • shared_invariants
    • +
    • success_criteria
    • +
    • phases: ordered array. Each phase:
        +
      • id
      • +
      • name
      • +
      • depends_on: prior phase ids
      • +
      • parallelizable: boolean
      • +
      • repo_change_requests: ordered array. Each request:
          +
        • repo
        • +
        • task_id
        • +
        • objective
        • +
        • depends_on: sibling repo change request ids this request waits on
        • +
        • shared_context_refs: references into the parent change set or prior +phase outputs
        • +
        • validation_commands
        • +
        • mutating
        • +
        +
      • +
      +
    • +
    • integration_checks: cross-repo checks that must pass before the overall +change set is considered done
    • +
    • open_questions
    • +
    +
  • +
  • orchestration_steps: canonical execution view of the plan as an ordered array. +Each step:
      +
    • id: kebab-case identifier
    • +
    • skill: skill name or path
    • +
    • scopes: scope strings this step requires
    • +
    • mutating: boolean
    • +
    • inputs: static input map
    • +
    • context_from: step_id.output_field data dependency references
    • +
    • description: what this step does and produces
    • +
    +
  • +
  • required_skills: skill names needed. Flag which exist vs need creation.
  • +
  • open_questions: missing context that must be answered before mutation.
  • +
+

Inputs

+
    +
  • objective (required): the build or skill objective to decompose.
  • +
  • project_context (optional): repo, product, or user context that +constrains the decomposition.
  • +
  • change_set (optional): parent change artifact from issue-intake or a +workspace supervisor. Prefer this when present.
  • +
  • harness_context (optional): portable issue control-plane packet from intake. +Preserve it as state, not as a prose handoff.
  • +
  • thread_locator (optional): canonical locator for the bounded thread the +plan is serving.
  • +
  • thread (optional): portable thread when the objective is +grounded in an existing issue, chat, ticket, or other adapter surface.
  • +
+
\ No newline at end of file diff --git a/docs/sourcey-catalog/site/search-index.json b/docs/sourcey-catalog/site/search-index.json new file mode 100644 index 000000000..f4d9fa980 --- /dev/null +++ b/docs/sourcey-catalog/site/search-index.json @@ -0,0 +1 @@ +[{"title":"Introduction","content":"Governed Runx skill catalog pinned to one upstream revision.","url":"/runxhq/runx/pages/introduction.html","tab":"Skills","category":"Pages"},{"title":"agency","content":"Run a standing, accountable team toward a mandate, one governed turn at a time.","url":"/runxhq/runx/pages/agency.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"agency - What this skill does","url":"/runxhq/runx/pages/agency.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"agency - When to use this skill","url":"/runxhq/runx/pages/agency.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"agency - When not to use this skill","url":"/runxhq/runx/pages/agency.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"agency - Procedure","url":"/runxhq/runx/pages/agency.html#procedure","tab":"Skills","category":"Sections"},{"title":"The measurable gate","content":"agency - The measurable gate","url":"/runxhq/runx/pages/agency.html#the-measurable-gate","tab":"Skills","category":"Sections"},{"title":"Contention","content":"agency - Contention","url":"/runxhq/runx/pages/agency.html#contention","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"agency - Edge cases and stop conditions","url":"/runxhq/runx/pages/agency.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"agency - Output schema","url":"/runxhq/runx/pages/agency.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"agency - Inputs","url":"/runxhq/runx/pages/agency.html#inputs","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"agency - Worked example","url":"/runxhq/runx/pages/agency.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Turn rules","content":"agency - Turn rules","url":"/runxhq/runx/pages/agency.html#turn-rules","tab":"Skills","category":"Sections"},{"title":"business-ops","content":"Turn one business signal into a replayable operations graph.","url":"/runxhq/runx/pages/business-ops.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"business-ops - What this skill does","url":"/runxhq/runx/pages/business-ops.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"What this skill deliberately does not do","content":"business-ops - What this skill deliberately does not do","url":"/runxhq/runx/pages/business-ops.html#what-this-skill-deliberately-does-not-do","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"business-ops - When to use this skill","url":"/runxhq/runx/pages/business-ops.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"business-ops - When not to use this skill","url":"/runxhq/runx/pages/business-ops.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Mental model","content":"business-ops - Mental model","url":"/runxhq/runx/pages/business-ops.html#mental-model","tab":"Skills","category":"Sections"},{"title":"How this maps to real runx work","content":"business-ops - How this maps to real runx work","url":"/runxhq/runx/pages/business-ops.html#how-this-maps-to-real-runx-work","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"business-ops - Procedure","url":"/runxhq/runx/pages/business-ops.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"business-ops - Edge cases and stop conditions","url":"/runxhq/runx/pages/business-ops.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"business-ops - Output schema","url":"/runxhq/runx/pages/business-ops.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"business-ops - Worked example","url":"/runxhq/runx/pages/business-ops.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"business-ops - Inputs","url":"/runxhq/runx/pages/business-ops.html#inputs","tab":"Skills","category":"Sections"},{"title":"operator-inbox","content":"Maintain a durable action queue without turning a connector into the owner of operator state.","url":"/runxhq/runx/pages/operator-inbox.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"operator-inbox - What this skill does","url":"/runxhq/runx/pages/operator-inbox.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"operator-inbox - When to use this skill","url":"/runxhq/runx/pages/operator-inbox.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"operator-inbox - When not to use this skill","url":"/runxhq/runx/pages/operator-inbox.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Status rules","content":"operator-inbox - Status rules","url":"/runxhq/runx/pages/operator-inbox.html#status-rules","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"operator-inbox - Procedure","url":"/runxhq/runx/pages/operator-inbox.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"operator-inbox - Edge cases and stop conditions","url":"/runxhq/runx/pages/operator-inbox.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"operator-inbox - Output schema","url":"/runxhq/runx/pages/operator-inbox.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"operator-inbox - Worked example","url":"/runxhq/runx/pages/operator-inbox.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"operator-inbox - Inputs","url":"/runxhq/runx/pages/operator-inbox.html#inputs","tab":"Skills","category":"Sections"},{"title":"ops-desk","content":"Operate a project, workspace, or account from an agent-controlled desk.","url":"/runxhq/runx/pages/ops-desk.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"ops-desk - What this skill does","url":"/runxhq/runx/pages/ops-desk.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"ops-desk - When to use this skill","url":"/runxhq/runx/pages/ops-desk.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"ops-desk - When not to use this skill","url":"/runxhq/runx/pages/ops-desk.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Operating Model","content":"ops-desk - Operating Model","url":"/runxhq/runx/pages/ops-desk.html#operating-model","tab":"Skills","category":"Sections"},{"title":"Delegation Model","content":"ops-desk - Delegation Model","url":"/runxhq/runx/pages/ops-desk.html#delegation-model","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"ops-desk - Procedure","url":"/runxhq/runx/pages/ops-desk.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"ops-desk - Edge cases and stop conditions","url":"/runxhq/runx/pages/ops-desk.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Reference Loading","content":"ops-desk - Reference Loading","url":"/runxhq/runx/pages/ops-desk.html#reference-loading","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"ops-desk - Output schema","url":"/runxhq/runx/pages/ops-desk.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Decision rules","content":"ops-desk - Decision rules","url":"/runxhq/runx/pages/ops-desk.html#decision-rules","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"ops-desk - Inputs","url":"/runxhq/runx/pages/ops-desk.html#inputs","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"ops-desk - Worked example","url":"/runxhq/runx/pages/ops-desk.html#worked-example","tab":"Skills","category":"Sections"},{"title":"work-plan","content":"Turn a build or automation objective into a bounded governed work plan.","url":"/runxhq/runx/pages/work-plan.html","tab":"Skills","category":"Pages"},{"title":"Output","content":"work-plan - Output","url":"/runxhq/runx/pages/work-plan.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"work-plan - Inputs","url":"/runxhq/runx/pages/work-plan.html#inputs","tab":"Skills","category":"Sections"},{"title":"deep-research","content":"This graph turns one important question into a decision-ready brief.","url":"/runxhq/runx/pages/deep-research.html","tab":"Skills","category":"Pages"},{"title":"Output","content":"deep-research - Output","url":"/runxhq/runx/pages/deep-research.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"deep-research - Inputs","url":"/runxhq/runx/pages/deep-research.html#inputs","tab":"Skills","category":"Sections"},{"title":"research","content":"Research one bounded question and turn it into a decision-ready packet.","url":"/runxhq/runx/pages/research.html","tab":"Skills","category":"Pages"},{"title":"Operating rules","content":"research - Operating rules","url":"/runxhq/runx/pages/research.html#operating-rules","tab":"Skills","category":"Sections"},{"title":"Output","content":"research - Output","url":"/runxhq/runx/pages/research.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"research - Inputs","url":"/runxhq/runx/pages/research.html#inputs","tab":"Skills","category":"Sections"},{"title":"data-store","content":"Operate a data source through a governed adapter contract. This skill gives an agent enough context to read, append, or project state without learning provider secrets, inventing SQL, or depending on one storage backend.","url":"/runxhq/runx/pages/data-store.html","tab":"Skills","category":"Pages"},{"title":"Adapter selection","content":"data-store - Adapter selection","url":"/runxhq/runx/pages/data-store.html#adapter-selection","tab":"Skills","category":"Sections"},{"title":"What this skill does","content":"data-store - What this skill does","url":"/runxhq/runx/pages/data-store.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"data-store - When to use this skill","url":"/runxhq/runx/pages/data-store.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"data-store - When not to use this skill","url":"/runxhq/runx/pages/data-store.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"data-store - Procedure","url":"/runxhq/runx/pages/data-store.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"data-store - Edge cases and stop conditions","url":"/runxhq/runx/pages/data-store.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"data-store - Output schema","url":"/runxhq/runx/pages/data-store.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"data-store - Worked example","url":"/runxhq/runx/pages/data-store.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"data-store - Inputs","url":"/runxhq/runx/pages/data-store.html#inputs","tab":"Skills","category":"Sections"},{"title":"Invocation examples","content":"data-store - Invocation examples","url":"/runxhq/runx/pages/data-store.html#invocation-examples","tab":"Skills","category":"Sections"},{"title":"knowledge-router","content":"Route one question, source event, or support thread to the right knowledge sources and follow-up path.","url":"/runxhq/runx/pages/knowledge-router.html","tab":"Skills","category":"Pages"},{"title":"Output","content":"knowledge-router - Output","url":"/runxhq/runx/pages/knowledge-router.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"knowledge-router - Inputs","url":"/runxhq/runx/pages/knowledge-router.html#inputs","tab":"Skills","category":"Sections"},{"title":"web-fetch","content":"Fetch one URL, prove it was allowed, extract the part the caller asked for, and return that slice by digest with the provenance needed to trust it later.","url":"/runxhq/runx/pages/web-fetch.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"web-fetch - What this skill does","url":"/runxhq/runx/pages/web-fetch.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"web-fetch - When to use this skill","url":"/runxhq/runx/pages/web-fetch.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"web-fetch - When not to use this skill","url":"/runxhq/runx/pages/web-fetch.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"web-fetch - Procedure","url":"/runxhq/runx/pages/web-fetch.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"web-fetch - Edge cases and stop conditions","url":"/runxhq/runx/pages/web-fetch.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"web-fetch - Output schema","url":"/runxhq/runx/pages/web-fetch.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"web-fetch - Worked example","url":"/runxhq/runx/pages/web-fetch.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"web-fetch - Inputs","url":"/runxhq/runx/pages/web-fetch.html#inputs","tab":"Skills","category":"Sections"},{"title":"github-sync","content":"Decide exactly what state to move between a GitHub repo and the local graph, in which direction, and whether the agent is even allowed to write.","url":"/runxhq/runx/pages/github-sync.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"github-sync - What this skill does","url":"/runxhq/runx/pages/github-sync.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"github-sync - When to use this skill","url":"/runxhq/runx/pages/github-sync.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"github-sync - When not to use this skill","url":"/runxhq/runx/pages/github-sync.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"github-sync - Procedure","url":"/runxhq/runx/pages/github-sync.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"github-sync - Edge cases and stop conditions","url":"/runxhq/runx/pages/github-sync.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"github-sync - Output schema","url":"/runxhq/runx/pages/github-sync.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"github-sync - Worked example","url":"/runxhq/runx/pages/github-sync.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"github-sync - Inputs","url":"/runxhq/runx/pages/github-sync.html#inputs","tab":"Skills","category":"Sections"},{"title":"issue-intake","content":"Convert an inbound thread, support report, or operator request into one explicit intake decision plus the parent change artifact that downstream planning or mutation lanes must share.","url":"/runxhq/runx/pages/issue-intake.html","tab":"Skills","category":"Pages"},{"title":"Output Contract","content":"issue-intake - Output Contract","url":"/runxhq/runx/pages/issue-intake.html#output-contract","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"issue-intake - Inputs","url":"/runxhq/runx/pages/issue-intake.html#inputs","tab":"Skills","category":"Sections"},{"title":"issue-triage","content":"Turn noisy issue streams into bounded, evidence-backed action.","url":"/runxhq/runx/pages/issue-triage.html","tab":"Skills","category":"Pages"},{"title":"Output","content":"issue-triage - Output","url":"/runxhq/runx/pages/issue-triage.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"issue-triage - Inputs","url":"/runxhq/runx/pages/issue-triage.html#inputs","tab":"Skills","category":"Sections"},{"title":"issue-to-pr","content":"Drive one bounded thread-driven change through the scafld 2.4-compatible lifecycle and package the result as a provider-agnostic draft pull-request packet.","url":"/runxhq/runx/pages/issue-to-pr.html","tab":"Skills","category":"Pages"},{"title":"Lifecycle","content":"issue-to-pr - Lifecycle","url":"/runxhq/runx/pages/issue-to-pr.html#lifecycle","tab":"Skills","category":"Sections"},{"title":"Thread Story","content":"issue-to-pr - Thread Story","url":"/runxhq/runx/pages/issue-to-pr.html#thread-story","tab":"Skills","category":"Sections"},{"title":"Spec Authoring Contract","content":"issue-to-pr - Spec Authoring Contract","url":"/runxhq/runx/pages/issue-to-pr.html#spec-authoring-contract","tab":"Skills","category":"Sections"},{"title":"Fix Authoring Contract","content":"issue-to-pr - Fix Authoring Contract","url":"/runxhq/runx/pages/issue-to-pr.html#fix-authoring-contract","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"issue-to-pr - Inputs","url":"/runxhq/runx/pages/issue-to-pr.html#inputs","tab":"Skills","category":"Sections"},{"title":"Structured Output","content":"issue-to-pr - Structured Output","url":"/runxhq/runx/pages/issue-to-pr.html#structured-output","tab":"Skills","category":"Sections"},{"title":"release","content":"Turn a proposed release into an audited publication. The skill owns the release decision process: evidence gathering, changelog preparation, approval, publish handoff, verification, and announcement. It does not own a project's custom release implementation. Project-specific topology lives in a release profile that names existing commands, workflows, registries, deploy targets, and verification readbacks.","url":"/runxhq/runx/pages/release.html","tab":"Skills","category":"Pages"},{"title":"Phases","content":"release - Phases","url":"/runxhq/runx/pages/release.html#phases","tab":"Skills","category":"Sections"},{"title":"prepare","content":"release - prepare","url":"/runxhq/runx/pages/release.html#prepare","tab":"Skills","category":"Sections"},{"title":"approve-publish","content":"release - approve-publish","url":"/runxhq/runx/pages/release.html#approve-publish","tab":"Skills","category":"Sections"},{"title":"publish-release","content":"release - publish-release","url":"/runxhq/runx/pages/release.html#publish-release","tab":"Skills","category":"Sections"},{"title":"verify-release","content":"release - verify-release","url":"/runxhq/runx/pages/release.html#verify-release","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"release - Inputs","url":"/runxhq/runx/pages/release.html#inputs","tab":"Skills","category":"Sections"},{"title":"Outputs","content":"release - Outputs","url":"/runxhq/runx/pages/release.html#outputs","tab":"Skills","category":"Sections"},{"title":"Trust boundary","content":"release - Trust boundary","url":"/runxhq/runx/pages/release.html#trust-boundary","tab":"Skills","category":"Sections"},{"title":"Scopes","content":"release - Scopes","url":"/runxhq/runx/pages/release.html#scopes","tab":"Skills","category":"Sections"},{"title":"Tasks","content":"release - Tasks","url":"/runxhq/runx/pages/release.html#tasks","tab":"Skills","category":"Sections"},{"title":"audit-receipt","content":"Audit a sealed run for authority over-reach, using its own receipt as evidence.","url":"/runxhq/runx/pages/audit-receipt.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"audit-receipt - What this skill does","url":"/runxhq/runx/pages/audit-receipt.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"Core principles","content":"audit-receipt - Core principles","url":"/runxhq/runx/pages/audit-receipt.html#core-principles","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"audit-receipt - When to use this skill","url":"/runxhq/runx/pages/audit-receipt.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"audit-receipt - When not to use this skill","url":"/runxhq/runx/pages/audit-receipt.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Diagnostics","content":"audit-receipt - Diagnostics","url":"/runxhq/runx/pages/audit-receipt.html#diagnostics","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"audit-receipt - Procedure","url":"/runxhq/runx/pages/audit-receipt.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"audit-receipt - Edge cases and stop conditions","url":"/runxhq/runx/pages/audit-receipt.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema (receipt_audit)","content":"audit-receipt - Output schema (receipt_audit)","url":"/runxhq/runx/pages/audit-receipt.html#output-schema-receipt-audit","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"audit-receipt - Worked example","url":"/runxhq/runx/pages/audit-receipt.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"audit-receipt - Inputs","url":"/runxhq/runx/pages/audit-receipt.html#inputs","tab":"Skills","category":"Sections"},{"title":"cve-audit","content":"This skill audits exact npm versions from an immutable `package-lock.json` against the public OSV API. It emits a machine-readable audit result, `evidence.json`, and a finding-by-finding Markdown report. The governed graph in `X.yaml` independently replays every query and seals a delivery packet only when the reported and replayed advisory sets match exactly.","url":"/runxhq/runx/pages/cve-audit.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"cve-audit - What this skill does","url":"/runxhq/runx/pages/cve-audit.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"cve-audit - When to use this skill","url":"/runxhq/runx/pages/cve-audit.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"cve-audit - When not to use this skill","url":"/runxhq/runx/pages/cve-audit.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"cve-audit - Inputs","url":"/runxhq/runx/pages/cve-audit.html#inputs","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"cve-audit - Procedure","url":"/runxhq/runx/pages/cve-audit.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"cve-audit - Edge cases and stop conditions","url":"/runxhq/runx/pages/cve-audit.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"cve-audit - Output schema","url":"/runxhq/runx/pages/cve-audit.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"cve-audit - Worked example","url":"/runxhq/runx/pages/cve-audit.html#worked-example","tab":"Skills","category":"Sections"},{"title":"least-privilege","content":"Turn granted authority plus observed usage into a bounded attenuation proposal.","url":"/runxhq/runx/pages/least-privilege.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"least-privilege - What this skill does","url":"/runxhq/runx/pages/least-privilege.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"least-privilege - When to use this skill","url":"/runxhq/runx/pages/least-privilege.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"least-privilege - When not to use this skill","url":"/runxhq/runx/pages/least-privilege.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"least-privilege - Procedure","url":"/runxhq/runx/pages/least-privilege.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"least-privilege - Edge cases and stop conditions","url":"/runxhq/runx/pages/least-privilege.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"least-privilege - Output schema","url":"/runxhq/runx/pages/least-privilege.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"least-privilege - Worked example","url":"/runxhq/runx/pages/least-privilege.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"least-privilege - Inputs","url":"/runxhq/runx/pages/least-privilege.html#inputs","tab":"Skills","category":"Sections"},{"title":"policy-author","content":"Author one governed runx operational policy from intent, and prove it lints.","url":"/runxhq/runx/pages/policy-author.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"policy-author - What this skill does","url":"/runxhq/runx/pages/policy-author.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"Core principles","content":"policy-author - Core principles","url":"/runxhq/runx/pages/policy-author.html#core-principles","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"policy-author - When to use this skill","url":"/runxhq/runx/pages/policy-author.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"policy-author - When not to use this skill","url":"/runxhq/runx/pages/policy-author.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"The operational policy model","content":"policy-author - The operational policy model","url":"/runxhq/runx/pages/policy-author.html#the-operational-policy-model","tab":"Skills","category":"Sections"},{"title":"Lint diagnostics","content":"policy-author - Lint diagnostics","url":"/runxhq/runx/pages/policy-author.html#lint-diagnostics","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"policy-author - Procedure","url":"/runxhq/runx/pages/policy-author.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"policy-author - Edge cases and stop conditions","url":"/runxhq/runx/pages/policy-author.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema (policy_proposal)","content":"policy-author - Output schema (policy_proposal)","url":"/runxhq/runx/pages/policy-author.html#output-schema-policy-proposal","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"policy-author - Worked example","url":"/runxhq/runx/pages/policy-author.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"policy-author - Inputs","url":"/runxhq/runx/pages/policy-author.html#inputs","tab":"Skills","category":"Sections"},{"title":"review-receipt","content":"Diagnose what went wrong in a skill or graph execution and propose the smallest change that fixes it.","url":"/runxhq/runx/pages/review-receipt.html","tab":"Skills","category":"Pages"},{"title":"Agent-mediated suspension is not a failure","content":"review-receipt - Agent-mediated suspension is not a failure","url":"/runxhq/runx/pages/review-receipt.html#agent-mediated-suspension-is-not-a-failure","tab":"Skills","category":"Sections"},{"title":"Output","content":"review-receipt - Output","url":"/runxhq/runx/pages/review-receipt.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"review-receipt - Inputs","url":"/runxhq/runx/pages/review-receipt.html#inputs","tab":"Skills","category":"Sections"},{"title":"sandbox-harden","content":"Decide the narrowest sandbox a workload can run inside without breaking it.","url":"/runxhq/runx/pages/sandbox-harden.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"sandbox-harden - What this skill does","url":"/runxhq/runx/pages/sandbox-harden.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"sandbox-harden - When to use this skill","url":"/runxhq/runx/pages/sandbox-harden.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"sandbox-harden - When not to use this skill","url":"/runxhq/runx/pages/sandbox-harden.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"sandbox-harden - Procedure","url":"/runxhq/runx/pages/sandbox-harden.html#procedure","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"sandbox-harden - Edge cases and stop conditions","url":"/runxhq/runx/pages/sandbox-harden.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"sandbox-harden - Output schema","url":"/runxhq/runx/pages/sandbox-harden.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"sandbox-harden - Worked example","url":"/runxhq/runx/pages/sandbox-harden.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"sandbox-harden - Inputs","url":"/runxhq/runx/pages/sandbox-harden.html#inputs","tab":"Skills","category":"Sections"},{"title":"governed-outbound","content":"Take something from outside, make it safe to send, authorize the exact outbound plan, and leave proof. `governed-outbound` prepares the boundary crossing; it does not claim the configured provider delivered anything.","url":"/runxhq/runx/pages/governed-outbound.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"governed-outbound - What this skill does","url":"/runxhq/runx/pages/governed-outbound.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"governed-outbound - When to use this skill","url":"/runxhq/runx/pages/governed-outbound.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"governed-outbound - When not to use this skill","url":"/runxhq/runx/pages/governed-outbound.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"How the chain is wired","content":"governed-outbound - How the chain is wired","url":"/runxhq/runx/pages/governed-outbound.html#how-the-chain-is-wired","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"governed-outbound - Edge cases and stop conditions","url":"/runxhq/runx/pages/governed-outbound.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"},{"title":"Output","content":"governed-outbound - Output","url":"/runxhq/runx/pages/governed-outbound.html#output","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"governed-outbound - Inputs","url":"/runxhq/runx/pages/governed-outbound.html#inputs","tab":"Skills","category":"Sections"},{"title":"run-history","content":"Turn runx's own run ledger into a governed, read-only report.","url":"/runxhq/runx/pages/run-history.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"run-history - What this skill does","url":"/runxhq/runx/pages/run-history.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"Core principles","content":"run-history - Core principles","url":"/runxhq/runx/pages/run-history.html#core-principles","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"run-history - When to use this skill","url":"/runxhq/runx/pages/run-history.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"run-history - When not to use this skill","url":"/runxhq/runx/pages/run-history.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Signals and norms","content":"run-history - Signals and norms","url":"/runxhq/runx/pages/run-history.html#signals-and-norms","tab":"Skills","category":"Sections"},{"title":"Output schema (history_report)","content":"run-history - Output schema (history_report)","url":"/runxhq/runx/pages/run-history.html#output-schema-history-report","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"run-history - Worked example","url":"/runxhq/runx/pages/run-history.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"run-history - Inputs","url":"/runxhq/runx/pages/run-history.html#inputs","tab":"Skills","category":"Sections"},{"title":"sourcey","content":"Generate a documentation site for a project using Sourcey. Sourcey is a static documentation generator that produces HTML sites from markdown pages, OpenAPI specs, Doxygen XML, and MCP server snapshots.","url":"/runxhq/runx/pages/sourcey.html","tab":"Skills","category":"Pages"},{"title":"What this skill does","content":"sourcey - What this skill does","url":"/runxhq/runx/pages/sourcey.html#what-this-skill-does","tab":"Skills","category":"Sections"},{"title":"When to use this skill","content":"sourcey - When to use this skill","url":"/runxhq/runx/pages/sourcey.html#when-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"When not to use this skill","content":"sourcey - When not to use this skill","url":"/runxhq/runx/pages/sourcey.html#when-not-to-use-this-skill","tab":"Skills","category":"Sections"},{"title":"Documentation rules","content":"sourcey - Documentation rules","url":"/runxhq/runx/pages/sourcey.html#documentation-rules","tab":"Skills","category":"Sections"},{"title":"Canonical semantics","content":"sourcey - Canonical semantics","url":"/runxhq/runx/pages/sourcey.html#canonical-semantics","tab":"Skills","category":"Sections"},{"title":"Procedure","content":"sourcey - Procedure","url":"/runxhq/runx/pages/sourcey.html#procedure","tab":"Skills","category":"Sections"},{"title":"Discovery contract","content":"sourcey - Discovery contract","url":"/runxhq/runx/pages/sourcey.html#discovery-contract","tab":"Skills","category":"Sections"},{"title":"Output schema","content":"sourcey - Output schema","url":"/runxhq/runx/pages/sourcey.html#output-schema","tab":"Skills","category":"Sections"},{"title":"Worked example","content":"sourcey - Worked example","url":"/runxhq/runx/pages/sourcey.html#worked-example","tab":"Skills","category":"Sections"},{"title":"Inputs","content":"sourcey - Inputs","url":"/runxhq/runx/pages/sourcey.html#inputs","tab":"Skills","category":"Sections"},{"title":"Repository Contract","content":"sourcey - Repository Contract","url":"/runxhq/runx/pages/sourcey.html#repository-contract","tab":"Skills","category":"Sections"},{"title":"Astro host pattern","content":"sourcey - Astro host pattern","url":"/runxhq/runx/pages/sourcey.html#astro-host-pattern","tab":"Skills","category":"Sections"},{"title":"Config reference","content":"sourcey - Config reference","url":"/runxhq/runx/pages/sourcey.html#config-reference","tab":"Skills","category":"Sections"},{"title":"Page format","content":"sourcey - Page format","url":"/runxhq/runx/pages/sourcey.html#page-format","tab":"Skills","category":"Sections"},{"title":"Card Icon Contract","content":"sourcey - Card Icon Contract","url":"/runxhq/runx/pages/sourcey.html#card-icon-contract","tab":"Skills","category":"Sections"},{"title":"Edge cases and stop conditions","content":"sourcey - Edge cases and stop conditions","url":"/runxhq/runx/pages/sourcey.html#edge-cases-and-stop-conditions","tab":"Skills","category":"Sections"}] \ No newline at end of file diff --git a/docs/sourcey-catalog/site/sitemap.xml b/docs/sourcey-catalog/site/sitemap.xml new file mode 100644 index 000000000..7a3f65c53 --- /dev/null +++ b/docs/sourcey-catalog/site/sitemap.xml @@ -0,0 +1,29 @@ + + + + https://github.com/runxhq/runx/pages/introduction.html + https://github.com/runxhq/runx/pages/agency.html + https://github.com/runxhq/runx/pages/business-ops.html + https://github.com/runxhq/runx/pages/operator-inbox.html + https://github.com/runxhq/runx/pages/ops-desk.html + https://github.com/runxhq/runx/pages/work-plan.html + https://github.com/runxhq/runx/pages/deep-research.html + https://github.com/runxhq/runx/pages/research.html + https://github.com/runxhq/runx/pages/data-store.html + https://github.com/runxhq/runx/pages/knowledge-router.html + https://github.com/runxhq/runx/pages/web-fetch.html + https://github.com/runxhq/runx/pages/github-sync.html + https://github.com/runxhq/runx/pages/issue-intake.html + https://github.com/runxhq/runx/pages/issue-triage.html + https://github.com/runxhq/runx/pages/issue-to-pr.html + https://github.com/runxhq/runx/pages/release.html + https://github.com/runxhq/runx/pages/audit-receipt.html + https://github.com/runxhq/runx/pages/cve-audit.html + https://github.com/runxhq/runx/pages/least-privilege.html + https://github.com/runxhq/runx/pages/policy-author.html + https://github.com/runxhq/runx/pages/review-receipt.html + https://github.com/runxhq/runx/pages/sandbox-harden.html + https://github.com/runxhq/runx/pages/governed-outbound.html + https://github.com/runxhq/runx/pages/run-history.html + https://github.com/runxhq/runx/pages/sourcey.html + \ No newline at end of file diff --git a/docs/sourcey-catalog/site/sourcey.css b/docs/sourcey-catalog/site/sourcey.css new file mode 100644 index 000000000..0dd4e50c2 --- /dev/null +++ b/docs/sourcey-catalog/site/sourcey.css @@ -0,0 +1,2474 @@ +/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, "Liberation Mono", Menlo, monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-gray-50:245 245 250;--color-gray-100:241 241 245;--color-gray-200:225 225 229;--color-gray-300:209 209 213;--color-gray-400:161 161 165;--color-gray-500:115 115 119;--color-gray-600:83 83 87;--color-gray-700:65 65 69;--color-gray-800:40 40 44;--color-gray-900:25 25 30;--color-gray-950:13 13 17;--color-stone-50:250 250 249;--color-stone-100:245 245 244;--color-stone-200:231 229 228;--color-stone-400:168 162 158;--color-stone-500:120 113 108;--color-stone-600:87 83 78;--color-stone-700:68 64 60;--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:12 10 9;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:.75rem;--sidebar-width:18rem;--header-height:7rem;--toc-width:19rem;--toc-inner-width:16.5rem;--content-padding:2.5rem;--content-max-width:44rem;--color-primary:99 102 241;--color-primary-light:129 140 248;--color-primary-dark:79 70 229;--color-primary-ink:79 70 229;--color-background-light:255 255 255;--color-background-dark:11 12 16;--color-code-block-light:255 255 255;--color-code-block-dark:11 12 14;--color-success:34 197 94;--color-overlay:0 0 0;--color-border-dark-subtle:255 255 255;--color-surface-dark-tint:255 255 255;--method-get:#16a34a;--method-post:#2563eb;--method-put:#d97706;--method-delete:#dc2626;--method-patch:#9333ea;--method-tool:#9333ea;--method-resource:#16a34a;--method-prompt:#2563eb}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.top-\[2\.75rem\]{top:2.75rem}.top-full{top:100%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-auto{right:auto}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[21\]{z-index:21}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-\[26px\]{width:26px;height:26px}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[1\.5px\]{height:1.5px}.h-\[1lh\]{height:1lh}.h-full{height:100%}.max-h-full{max-height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[16\.5rem\]{width:16.5rem}.w-\[18rem\]{width:18rem}.w-\[19rem\]{width:19rem}.w-\[28rem\]{width:28rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[28rem\]{max-width:28rem}.max-w-\[92rem\]{max-width:92rem}.max-w-none{max-width:none}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-\[42px\]{min-width:42px}.min-w-\[43px\]{min-width:43px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.space-x-2\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[rgb\(var\(--color-gray-100\)\)\]{border-color:rgb(var(--color-gray-100))}.border-\[rgb\(var\(--color-gray-200\)\/0\.7\)\]{border-color:rgb(var(--color-gray-200)/.7)}.border-\[rgb\(var\(--color-gray-500\)\/0\.08\)\]{border-color:rgb(var(--color-gray-500)/.08)}.border-\[rgb\(var\(--color-stone-200\)\)\]{border-color:rgb(var(--color-stone-200))}.bg-\[rgb\(var\(--color-background-light\)\)\]{background-color:rgb(var(--color-background-light))}.bg-\[rgb\(var\(--color-code-block-light\)\)\]{background-color:rgb(var(--color-code-block-light))}.bg-\[rgb\(var\(--color-gray-100\)\/0\.5\)\]{background-color:rgb(var(--color-gray-100)/.5)}.bg-\[rgb\(var\(--color-primary\)\)\]{background-color:rgb(var(--color-primary))}.bg-\[rgb\(var\(--color-primary-dark\)\)\]{background-color:rgb(var(--color-primary-dark))}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-100\/50{background-color:#fef3c680}@supports (color:color-mix(in lab, red, red)){.bg-amber-100\/50{background-color:color-mix(in oklab, var(--color-amber-100) 50%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-100\/50{background-color:#dbeafe80}@supports (color:color-mix(in lab, red, red)){.bg-blue-100\/50{background-color:color-mix(in oklab, var(--color-blue-100) 50%, transparent)}}.bg-blue-400\/20{background-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/20{background-color:color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-400\/20{background-color:color-mix(in srgb, 161 161 165 20%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-gray-400\/20{background-color:color-mix(in oklab, var(--color-gray-400) 20%, transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-100\/50{background-color:#dcfce780}@supports (color:color-mix(in lab, red, red)){.bg-green-100\/50{background-color:color-mix(in oklab, var(--color-green-100) 50%, transparent)}}.bg-green-400\/20{background-color:#05df7233}@supports (color:color-mix(in lab, red, red)){.bg-green-400\/20{background-color:color-mix(in oklab, var(--color-green-400) 20%, transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-purple-400\/20{background-color:#c07eff33}@supports (color:color-mix(in lab, red, red)){.bg-purple-400\/20{background-color:color-mix(in oklab, var(--color-purple-400) 20%, transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-100\/50{background-color:#ffe2e280}@supports (color:color-mix(in lab, red, red)){.bg-red-100\/50{background-color:color-mix(in oklab, var(--color-red-100) 50%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[rgb\(var\(--color-background-light\)\)\]{--tw-gradient-from:rgb(var(--color-background-light));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-12{padding-inline:calc(var(--spacing) * 12)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-\[8\.5rem\]{padding-top:8.5rem}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.55rem\]{font-size:.55rem}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.35rem\]{--tw-leading:1.35rem;line-height:1.35rem}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.\[word-break\:break-word\]{word-break:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\[rgb\(var\(--color-gray-400\)\)\]{color:rgb(var(--color-gray-400))}.text-\[rgb\(var\(--color-gray-500\)\)\]{color:rgb(var(--color-gray-500))}.text-\[rgb\(var\(--color-gray-600\)\)\]{color:rgb(var(--color-gray-600))}.text-\[rgb\(var\(--color-gray-700\)\)\]{color:rgb(var(--color-gray-700))}.text-\[rgb\(var\(--color-gray-800\)\)\]{color:rgb(var(--color-gray-800))}.text-\[rgb\(var\(--color-gray-900\)\)\]{color:rgb(var(--color-gray-900))}.text-\[rgb\(var\(--color-primary\)\)\]{color:rgb(var(--color-primary))}.text-\[rgb\(var\(--color-primary-ink\)\)\]{color:rgb(var(--color-primary-ink))}.text-\[rgb\(var\(--color-stone-400\)\)\]{color:rgb(var(--color-stone-400))}.text-\[rgb\(var\(--color-stone-500\)\)\]{color:rgb(var(--color-stone-500))}.text-\[rgb\(var\(--color-stone-600\)\)\]{color:rgb(var(--color-stone-600))}.text-\[rgb\(var\(--color-stone-950\)\)\]{color:rgb(var(--color-stone-950))}.text-amber-600{color:var(--color-amber-600)}.text-amber-900{color:var(--color-amber-900)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-700{color:var(--color-gray-700)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-700{color:var(--color-purple-700)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[rgb\(var\(--color-gray-400\)\/0\.3\)\]{--tw-ring-color:rgb(var(--color-gray-400)/.3)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.prose-gray{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733)}.select-none{-webkit-user-select:none;user-select:none}.\[text-shadow\:-0\.2px_0_0_currentColor\,0\.2px_0_0_currentColor\]{text-shadow:-.2px 0,.2px 0}@media (hover:hover){.group-hover\:bg-\[rgb\(var\(--color-gray-200\)\)\]:is(:where(.group):hover *){background-color:rgb(var(--color-gray-200))}.group-hover\:bg-\[rgb\(var\(--color-stone-200\)\/0\.5\)\]:is(:where(.group):hover *){background-color:rgb(var(--color-stone-200)/.5)}.group-hover\:text-\[rgb\(var\(--color-primary\)\)\]:is(:where(.group):hover *){color:rgb(var(--color-primary))}.group-hover\:text-\[rgb\(var\(--color-primary-ink\)\)\]:is(:where(.group):hover *){color:rgb(var(--color-primary-ink))}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\/copy\:text-\[rgb\(var\(--color-stone-500\)\)\]:is(:where(.group\/copy):hover *){color:rgb(var(--color-stone-500))}.peer-hover\:opacity-100:is(:where(.peer):hover~*){opacity:1}}.first\:mt-0:first-child{margin-top:0}@media (hover:hover){.hover\:border-\[rgb\(var\(--color-primary\)\/0\.4\)\]:hover{border-color:rgb(var(--color-primary)/.4)}.hover\:bg-\[rgb\(var\(--color-stone-100\)\)\]:hover{background-color:rgb(var(--color-stone-100))}.hover\:text-\[rgb\(var\(--color-gray-600\)\)\]:hover{color:rgb(var(--color-gray-600))}.hover\:text-\[rgb\(var\(--color-gray-700\)\)\]:hover{color:rgb(var(--color-gray-700))}.hover\:text-\[rgb\(var\(--color-gray-800\)\)\]:hover{color:rgb(var(--color-gray-800))}.hover\:text-\[rgb\(var\(--color-gray-900\)\)\]:hover{color:rgb(var(--color-gray-900))}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-\[rgb\(var\(--color-gray-600\)\/0\.3\)\]:hover{--tw-ring-color:rgb(var(--color-gray-600)/.3)}}@media (width>=40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:mx-0{margin-inline:0}.lg\:mt-8{margin-top:calc(var(--spacing) * 8)}.lg\:-ml-12{margin-left:calc(var(--spacing) * -12)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:pt-10{padding-top:calc(var(--spacing) * 10)}.lg\:pl-\[23\.7rem\]{padding-left:23.7rem}}@media (width>=80rem){.xl\:block{display:block}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:w-\[calc\(100\%-28rem\)\]{width:calc(100% - 28rem)}.xl\:flex-col{flex-direction:column}.xl\:flex-row{flex-direction:row}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:border-\[rgb\(255_255_255\/0\.1\)\]:where(.dark,.dark *){border-color:#ffffff1a}.dark\:border-\[rgb\(var\(--color-border-dark-subtle\)\/0\.1\)\]:where(.dark,.dark *){border-color:rgb(var(--color-border-dark-subtle)/.1)}.dark\:border-\[rgb\(var\(--color-gray-300\)\/0\.06\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-300)/.06)}.dark\:border-\[rgb\(var\(--color-gray-300\)\/0\.08\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-300)/.08)}.dark\:border-\[rgb\(var\(--color-gray-800\)\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-800))}.dark\:border-\[rgb\(var\(--color-gray-800\)\/0\.5\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-800)/.5)}.dark\:bg-\[rgb\(var\(--color-background-dark\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-background-dark))}.dark\:bg-\[rgb\(var\(--color-code-block-dark\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-code-block-dark))}.dark\:bg-\[rgb\(var\(--color-primary-light\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-primary-light))}.dark\:bg-\[rgb\(var\(--color-stone-900\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-stone-900))}.dark\:bg-\[rgb\(var\(--color-surface-dark-tint\)\/0\.05\)\]:where(.dark,.dark *){background-color:rgb(var(--color-surface-dark-tint)/.05)}.dark\:bg-amber-400\/10:where(.dark,.dark *){background-color:#fcbb001a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-400) 10%, transparent)}}.dark\:bg-blue-400:where(.dark,.dark *){background-color:var(--color-blue-400)}.dark\:bg-blue-400\/10:where(.dark,.dark *){background-color:#54a2ff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-400) 10%, transparent)}}.dark\:bg-blue-400\/20:where(.dark,.dark *){background-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.dark\:bg-green-400:where(.dark,.dark *){background-color:var(--color-green-400)}.dark\:bg-green-400\/10:where(.dark,.dark *){background-color:#05df721a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-green-400) 10%, transparent)}}.dark\:bg-green-400\/20:where(.dark,.dark *){background-color:#05df7233}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-green-400) 20%, transparent)}}.dark\:bg-orange-400\/20:where(.dark,.dark *){background-color:#ff8b1a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-orange-400) 20%, transparent)}}.dark\:bg-purple-400:where(.dark,.dark *){background-color:var(--color-purple-400)}.dark\:bg-purple-400\/20:where(.dark,.dark *){background-color:#c07eff33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-purple-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-purple-400) 20%, transparent)}}.dark\:bg-red-400\/10:where(.dark,.dark *){background-color:#ff65681a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-400) 10%, transparent)}}.dark\:bg-red-400\/20:where(.dark,.dark *){background-color:#ff656833}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-400) 20%, transparent)}}.dark\:bg-yellow-400\/20:where(.dark,.dark *){background-color:#fac80033}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-yellow-400) 20%, transparent)}}.dark\:from-\[rgb\(var\(--color-background-dark\)\)\]:where(.dark,.dark *){--tw-gradient-from:rgb(var(--color-background-dark));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-\[rgb\(255_255_255\/0\.4\)\]:where(.dark,.dark *){color:#fff6}.dark\:text-\[rgb\(var\(--color-gray-50\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-50))}.dark\:text-\[rgb\(var\(--color-gray-200\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-200))}.dark\:text-\[rgb\(var\(--color-gray-300\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-300))}.dark\:text-\[rgb\(var\(--color-gray-400\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-400))}.dark\:text-\[rgb\(var\(--color-gray-500\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-500))}.dark\:text-\[rgb\(var\(--color-primary-light\)\)\]:where(.dark,.dark *){color:rgb(var(--color-primary-light))}.dark\:text-\[rgb\(var\(--color-stone-50\)\)\]:where(.dark,.dark *){color:rgb(var(--color-stone-50))}.dark\:text-\[rgb\(var\(--color-stone-400\)\)\]:where(.dark,.dark *){color:rgb(var(--color-stone-400))}.dark\:text-amber-300:where(.dark,.dark *){color:var(--color-amber-300)}.dark\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:where(.dark,.dark *){color:var(--color-blue-400)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-green-300:where(.dark,.dark *){color:var(--color-green-300)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-orange-300:where(.dark,.dark *){color:var(--color-orange-300)}.dark\:text-purple-400:where(.dark,.dark *){color:var(--color-purple-400)}.dark\:text-red-300:where(.dark,.dark *){color:var(--color-red-300)}.dark\:text-yellow-300:where(.dark,.dark *){color:var(--color-yellow-300)}.dark\:ring-\[rgb\(var\(--color-gray-600\)\/0\.3\)\]:where(.dark,.dark *){--tw-ring-color:rgb(var(--color-gray-600)/.3)}.dark\:brightness-110:where(.dark,.dark *){--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.dark\:prose-invert:where(.dark,.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (hover:hover){.dark\:group-hover\:bg-\[rgb\(var\(--color-gray-700\)\)\]:where(.dark,.dark *):is(:where(.group):hover *){background-color:rgb(var(--color-gray-700))}.dark\:group-hover\:bg-\[rgb\(var\(--color-stone-700\)\/0\.7\)\]:where(.dark,.dark *):is(:where(.group):hover *){background-color:rgb(var(--color-stone-700)/.7)}.dark\:group-hover\:text-\[rgb\(var\(--color-primary-light\)\)\]:where(.dark,.dark *):is(:where(.group):hover *){color:rgb(var(--color-primary-light))}.dark\:group-hover\/copy\:text-\[rgb\(255_255_255\/0\.6\)\]:where(.dark,.dark *):is(:where(.group\/copy):hover *){color:#fff9}.dark\:hover\:border-\[rgb\(var\(--color-primary-light\)\/0\.3\)\]:where(.dark,.dark *):hover{border-color:rgb(var(--color-primary-light)/.3)}.dark\:hover\:bg-\[rgb\(255_255_255\/0\.05\)\]:where(.dark,.dark *):hover{background-color:#ffffff0d}.dark\:hover\:text-\[rgb\(var\(--color-gray-200\)\)\]:where(.dark,.dark *):hover{color:rgb(var(--color-gray-200))}.dark\:hover\:text-\[rgb\(var\(--color-gray-300\)\)\]:where(.dark,.dark *):hover{color:rgb(var(--color-gray-300))}.dark\:hover\:ring-\[rgb\(var\(--color-gray-500\)\/0\.3\)\]:where(.dark,.dark *):hover{--tw-ring-color:rgb(var(--color-gray-500)/.3)}.dark\:hover\:brightness-125:where(.dark,.dark *):hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} +/*$vite$:1*/ +/** + * Sourcey — Component styles. + * + * Layout and OpenAPI components use Tailwind classes in .tsx files. + * Markdown-generated components (code blocks, cards, steps, accordions, + * callouts, tabs) use semantic class names styled here — no Tailwind + * utilities in generated HTML. + */ + +/* ── Page Description (display font) ─────────────────────────────── */ + +#sourcey .page-description { + font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif; + font-size: 1.125rem; + line-height: 1.35; + font-style: italic; + color: rgb(var(--color-gray-600)); +} +@media (min-width: 1024px) { + #sourcey .page-description { + font-size: 1.375rem; + line-height: 1.4; + } +} +.dark #sourcey .page-description { + color: rgb(var(--color-gray-400)); +} + +/* ── Page Top Gradient ────────────────────────────────────────────── */ + +#sourcey #page::before { + content: ""; + position: fixed; + top: 0; + left: 0; + right: 0; + height: 400px; + background: linear-gradient(to bottom, rgb(var(--color-primary) / 0.03), transparent); + pointer-events: none; + z-index: -1; +} +.dark #sourcey #page::before { + background: none; +} + +/* ── Scroll Offset (clears fixed navbar on anchor clicks) ──────────── */ + +[data-traverse-target], +h1[id], +h2[id], +h3[id], +h4[id], +h5[id], +h6[id] { + scroll-margin-top: var(--header-height, 7rem); +} + +/* ── Focus ─────────────────────────────────────────────────────────── */ + +#sourcey button:focus-visible { + outline: 2px solid rgb(var(--color-primary)); + outline-offset: 2px; +} + +/* ── Shiki Dual-Theme (defaultColor: false) ───────────────────────── */ +/* Shiki outputs --shiki-light and --shiki-dark CSS vars on each span. */ +/* Light mode: use --shiki-light. Dark mode: use --shiki-dark. */ + +.shiki, +.shiki span { + color: var(--shiki-light); + background-color: transparent !important; +} + +.dark .shiki, +.dark .shiki span { + color: var(--shiki-dark); +} + +.shiki pre { + background-color: transparent !important; + margin: 0; +} + +.shiki code { + font-family: inherit; + background: transparent; + border: none; + padding: 0; +} + +/* ── Responsive Tables ────────────────────────────────────────────── */ + +#sourcey .table-wrap { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +#sourcey .table-wrap table { + margin: 0; +} +#sourcey .prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { + padding-top: 0.571429em; +} + +/* ── Prose Video (::video directive) ──────────────────────────────── */ + +#sourcey .prose-video { + position: relative; + width: 100%; + padding-bottom: 56.25%; /* 16:9 */ + margin: 1.5rem 0; + border-radius: var(--radius); + overflow: hidden; +} +#sourcey .prose-video iframe, +#sourcey .prose-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/* ── Prose Iframe (::iframe directive) ────────────────────────────── */ + +#sourcey .prose-iframe { + width: 100%; + margin: 1.5rem 0; + border-radius: var(--radius); + overflow: hidden; + border: 1px solid rgb(var(--color-stone-950) / 0.1); +} +.dark #sourcey .prose-iframe { + border-color: rgb(255 255 255 / 0.1); +} +#sourcey .prose-iframe iframe { + width: 100%; + height: 100%; + display: block; +} + +/* ── Inline Code (not-prose containers lose Tailwind prose styling) ── */ + +#sourcey .not-prose :not(pre) > code { + font-size: 0.875em; + font-weight: 600; + color: var(--tw-prose-code); +} +#sourcey .not-prose :not(pre) > code::before, +#sourcey .not-prose :not(pre) > code::after { + content: "`"; +} + +/* ── Prose Code Block (fenced code in markdown pages) ─────────────── */ + +#sourcey .prose-code-block { + position: relative; + border-radius: var(--radius); + border: 1px solid rgb(var(--color-stone-950) / 0.1); + margin: 1.25rem 0 2rem; + overflow: hidden; + color: rgb(var(--color-stone-950)); +} +.dark #sourcey .prose-code-block { + border-color: rgb(255 255 255 / 0.1); + color: rgb(var(--color-stone-50)); +} + +#sourcey .prose-code-copy { + position: absolute; + top: 0.75rem; + right: 1rem; + z-index: 10; +} + +#sourcey .prose-code-copy .copy-btn { + display: flex; + align-items: center; + justify-content: center; + width: 26px; + height: 26px; + border-radius: 0.375rem; + border: none; + background: transparent; + cursor: pointer; + color: rgb(var(--color-stone-400)); + transition: color 0.15s; +} +#sourcey .prose-code-copy .copy-btn:hover { + color: rgb(var(--color-stone-500)); +} +.dark #sourcey .prose-code-copy .copy-btn { + color: rgb(255 255 255 / 0.4); +} +.dark #sourcey .prose-code-copy .copy-btn:hover { + color: rgb(255 255 255 / 0.6); +} + +#sourcey .prose-code-copy .copy-btn svg { + width: 1rem; + height: 1rem; +} + +#sourcey .prose-code-content { + padding: 0.875rem 1rem; + border-radius: var(--radius); + background: rgb(var(--color-code-block-light)); + overflow-x: auto; + font-variant-ligatures: none; +} +.dark #sourcey .prose-code-content { + background: rgb(var(--color-code-block-dark)); +} + +#sourcey .prose-code-content pre { + margin: 0; + font-family: var(--font-mono); + font-size: 0.875rem; + line-height: 1.5rem; + white-space: pre; +} + +/* ── Nav Links ────────────────────────────────────────────────────── */ + +#sourcey .nav-group-label { + display: block; + padding: 0 0.75rem 0.25rem 1rem; + margin-bottom: 0.625rem; + font-size: inherit; + font-weight: 600; + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .nav-group-label { + color: rgb(var(--color-gray-200)); +} +#sourcey .nav-group-link { + cursor: pointer; + border-radius: 0.75rem; + text-decoration: none; + transition: + color 0.15s, + background-color 0.15s; +} +#sourcey .nav-group-link:hover { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .nav-group-link:hover { + color: rgb(var(--color-primary-light)); +} +#sourcey .nav-group-link.active { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .nav-group-link.active { + color: rgb(var(--color-primary-light)); +} + +#sourcey .nav-tab-label { + display: block; + padding: 0.5rem 0.75rem 0.25rem 1rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: rgb(var(--color-gray-400)); +} +.dark #sourcey .nav-tab-label { + color: rgb(var(--color-gray-500)); +} + +#sourcey .nav-link { + display: flex; + align-items: flex-start; + padding: 0.375rem 0.75rem 0.375rem 1rem; + gap: 0.75rem; + cursor: pointer; + text-align: left; + overflow-wrap: break-word; + hyphens: auto; + border-radius: 0.75rem; + width: 100%; + color: rgb(var(--color-gray-700)); + transition: + color 0.15s, + background-color 0.15s; +} +.dark #sourcey .nav-link { + color: rgb(var(--color-gray-400)); +} +#sourcey .nav-link:hover { + color: rgb(var(--color-gray-900)); + background: rgb(var(--color-gray-100) / 0.6); +} +.dark #sourcey .nav-link:hover { + color: rgb(var(--color-gray-300)); + background: rgb(var(--color-gray-800) / 0.4); +} +#sourcey .nav-link.active { + color: rgb(var(--color-primary-ink)); + background: rgb(var(--color-primary) / 0.08); + text-shadow: + -0.2px 0 0 currentColor, + 0.2px 0 0 currentColor; +} +.dark #sourcey .nav-link.active { + color: rgb(var(--color-primary-light)); + background: rgb(var(--color-primary-light) / 0.08); +} + +/* ── TOC Active State ─────────────────────────────────────────────── */ + +#sourcey #toc .toc-item { + border-left: 2px solid rgb(var(--color-gray-200)); + padding-left: 0.75rem; + transition: + color 0.15s, + border-color 0.15s; +} +#sourcey #toc ul ul .toc-item { + margin-left: 0.75rem; + border-left: none; +} +.dark #sourcey #toc .toc-item { + border-left-color: rgb(var(--color-gray-700)); +} +#sourcey #toc .toc-item.active { + color: rgb(var(--color-primary-ink)); + border-left-color: rgb(var(--color-primary-ink)); + font-weight: 500; +} +.dark #sourcey #toc .toc-item.active { + color: rgb(var(--color-primary-light)); + border-left-color: rgb(var(--color-primary-light)); +} + +/* ── Code Block Panels (language dropdown + response tabs) ─────────── */ + +#sourcey .code-lang-panel { + display: none; +} +#sourcey .code-lang-panel.active { + display: block; +} + +#sourcey .lang-icon { + width: 0.875rem; + height: 0.875rem; + flex-shrink: 0; + vertical-align: -0.125rem; +} + +#sourcey .lang-icon[data-lang] { + display: inline-block; + background: currentColor; + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; +} + +#sourcey .response-panel { + display: none; +} +#sourcey .response-panel.active { + display: block; +} + +/* ── Response Tabs (status code tabs on code block) ───────────────── */ + +#sourcey .response-tab { + color: rgb(var(--color-gray-500)); + transition: color 0.15s; +} +.dark #sourcey .response-tab { + color: rgb(var(--color-gray-400)); +} + +#sourcey .response-tab.active { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .response-tab.active { + color: rgb(var(--color-primary-light)); +} + +/* Active response tab underline */ +#sourcey .response-tab.active::after { + content: ""; + position: absolute; + right: 0; + bottom: -0.375rem; + left: 0; + height: 2px; + border-radius: 9999px; + background: rgb(var(--color-primary)); +} +.dark #sourcey .response-tab.active::after { + background: rgb(var(--color-primary-light)); +} + +/* ── Copy Button Feedback ─────────────────────────────────────────── */ + +#sourcey .copy-btn.copied { + color: rgb(var(--color-success)); +} + +/* ── Schema Utilities (used by SchemaView.tsx) ─────────────────────── */ + +/* ── Collapsible child attributes ── */ + +#sourcey .schema-expandable { + margin-top: 1rem; + border: 1px solid rgb(var(--color-gray-200) / 0.7); + border-radius: 0.75rem; +} +.dark #sourcey .schema-expandable { + border-color: rgb(255 255 255 / 0.1); +} + +#sourcey .schema-expandable-toggle { + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.75rem 1rem; + font-size: 0.875rem; + font-weight: 400; + color: rgb(var(--color-gray-600)); + cursor: pointer; + list-style: none; + user-select: none; +} +#sourcey .schema-expandable-toggle::-webkit-details-marker { + display: none; +} +.dark #sourcey .schema-expandable-toggle { + color: rgb(var(--color-gray-300)); +} +#sourcey .schema-expandable-toggle:hover { + background: rgb(var(--color-gray-100) / 0.5); + color: rgb(var(--color-gray-900)); + border-radius: 0.75rem; +} +.dark #sourcey .schema-expandable-toggle:hover { + background: rgb(255 255 255 / 0.05); + color: rgb(var(--color-gray-200)); +} + +#sourcey .schema-expandable-icon { + width: 0.625rem; + height: 0.625rem; + flex-shrink: 0; + transition: transform 75ms; + color: rgb(var(--color-gray-400)); +} +#sourcey details[open] > .schema-expandable-toggle > .schema-expandable-icon { + transform: rotate(90deg); +} + +#sourcey .schema-expandable-content { + padding: 0 1rem 0.5rem; + border-top: 1px solid rgb(var(--color-gray-100)); +} +.dark #sourcey .schema-expandable-content { + border-top-color: rgb(255 255 255 / 0.1); +} + +/* Legacy schema-nested — kept for variant nesting */ +#sourcey .schema-nested { + padding-left: 1rem; + border-left: 2px solid rgb(var(--color-gray-200)); + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} +.dark #sourcey .schema-nested { + border-left-color: rgb(var(--color-gray-800)); +} + +#sourcey .schema-variant-option { + padding-left: 1rem; + border-left: 2px solid rgb(var(--color-gray-200)); + margin-bottom: 0.5rem; +} +.dark #sourcey .schema-variant-option { + border-left-color: rgb(var(--color-gray-800)); +} + +#sourcey .schema-variant-label { + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.05em; + color: rgb(var(--color-gray-400)); + margin-bottom: 0.25rem; +} + +/* ── Type Display (used by SchemaDatatype.tsx) ─────────────────────── */ + +#sourcey .json-property-type { + display: inline-flex; + align-items: center; + font-style: normal; + font-weight: 500; + font-size: 0.75rem; + line-height: 1; + white-space: nowrap; + color: rgb(var(--color-gray-600)); + background: rgb(var(--color-gray-100) / 0.5); + padding: 0.25rem 0.5rem; + border-radius: 0.375rem; +} +.dark #sourcey .json-property-type { + background: rgb(var(--color-surface-dark-tint) / 0.05); + color: rgb(var(--color-gray-200)); +} + +#sourcey .json-property-format { + font-size: 0.75rem; + color: rgb(var(--color-gray-400)); +} + +#sourcey .json-property-enum { + display: inline-flex; + align-items: baseline; + gap: 0.25rem; + flex-wrap: wrap; +} + +#sourcey .json-property-enum-item, +#sourcey .json-property-default-value, +#sourcey .json-property-range { + display: inline-flex; + align-items: center; + font-size: 0.6875rem; + font-family: var(--font-mono); + line-height: 1; + white-space: nowrap; + color: rgb(var(--color-gray-500)); + background: rgb(var(--color-gray-100) / 0.5); + padding: 0.125rem 0.375rem; + border-radius: 9999px; +} +.dark #sourcey .json-property-enum-item, +.dark #sourcey .json-property-default-value, +.dark #sourcey .json-property-range { + background: rgb(var(--color-surface-dark-tint) / 0.05); + color: rgb(var(--color-gray-400)); +} + +#sourcey .json-property-enum-item { + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .json-property-enum-item { + color: rgb(var(--color-gray-300)); +} + +#sourcey .json-property-default-value::before { + content: "= "; + color: rgb(var(--color-gray-400)); +} + +/* ── Parameter/Schema List (used by SchemaView.tsx, Parameters.tsx) ── */ + +#sourcey .param-item { + padding: 1rem 0; + border-bottom: 1px solid rgb(var(--color-gray-100)); +} +.dark #sourcey .param-item { + border-bottom-color: rgb(var(--color-gray-800)); +} + +#sourcey .param-item:last-child { + border-bottom: none; +} + +#sourcey .param-header { + display: flex; + align-items: baseline; + gap: 0.5rem; + flex-wrap: wrap; +} + +#sourcey .param-name { + font-family: var(--font-mono); + font-size: 0.875rem; + font-weight: 600; + color: rgb(var(--color-primary-ink)); + background: transparent; + border: none; + padding: 0; +} +.dark #sourcey .param-name { + color: rgb(var(--color-primary-light)); +} + +#sourcey .param-type { + display: inline-flex; + align-items: baseline; + gap: 0.375rem; +} + +#sourcey .param-in { + display: inline-flex; + align-items: center; + padding: 0.125rem 0.5rem; + font-size: 0.75rem; + font-weight: 500; + border-radius: 0.375rem; + background: rgb(var(--color-gray-100) / 0.5); + color: rgb(var(--color-gray-600)); + margin-left: auto; +} +.dark #sourcey .param-in { + background: rgb(var(--color-surface-dark-tint) / 0.05); + color: rgb(var(--color-gray-200)); +} + +#sourcey .param-description { + padding-top: 0.5rem; + font-size: 0.875rem; + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .param-description { + color: rgb(var(--color-gray-400)); +} + +/* ── Steps (numbered step list with vertical connector) ────────────── */ + +#sourcey .steps { + margin-left: 0.875rem; + margin-top: 1rem; + margin-bottom: 1.5rem; +} + +#sourcey .steps .step-item { + position: relative; + display: flex; + align-items: flex-start; + padding-bottom: 1.25rem; +} + +#sourcey .steps .step-item::before { + content: ""; + position: absolute; + left: 13px; + top: 2.75rem; + bottom: 0; + width: 1px; + background: rgb(var(--color-gray-200) / 0.7); +} +.dark #sourcey .steps .step-item::before { + background: rgb(255 255 255 / 0.1); +} + +#sourcey .steps .step-item:last-child::before { + background: linear-gradient(to bottom, rgb(var(--color-gray-200) / 0.7), transparent); +} +.dark #sourcey .steps .step-item:last-child::before { + background: linear-gradient(to bottom, rgb(255 255 255 / 0.1), transparent); +} + +#sourcey .steps .step-number { + position: relative; + display: flex; + align-items: center; + justify-content: center; + width: 1.75rem; + height: 1.75rem; + flex-shrink: 0; + border-radius: 9999px; + background: rgb(var(--color-gray-50)); + font-size: 0.75rem; + font-weight: 600; + color: rgb(var(--color-gray-900)); + margin-top: 0.5rem; +} +.dark #sourcey .steps .step-number { + background: rgb(255 255 255 / 0.1); + color: rgb(var(--color-gray-50)); +} + +#sourcey .steps .step-body { + padding-left: 1rem; + flex: 1; + overflow: hidden; +} + +#sourcey .steps .step-title { + margin-top: 0.5rem; + font-weight: 600; + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .steps .step-title { + color: rgb(var(--color-gray-200)); +} + +#sourcey .steps .step-content { + margin-top: 0.25rem; +} + +#sourcey .steps .step-content p { + margin: 0.25rem 0; +} + +/* ── Card Group (icon cards in a grid) ─────────────────────────────── */ + +#sourcey .card-group { + display: grid; + gap: 1rem; + margin-top: 1.25rem; + margin-bottom: 2rem; +} +@media (min-width: 640px) { + #sourcey .card-group[data-cols="2"] { + grid-template-columns: repeat(2, 1fr); + } + #sourcey .card-group[data-cols="3"] { + grid-template-columns: repeat(3, 1fr); + } + #sourcey .card-group[data-cols="4"] { + grid-template-columns: repeat(4, 1fr); + } +} + +#sourcey .card-item { + display: block; + position: relative; + border: 1px solid rgb(var(--color-gray-950) / 0.1); + border-radius: var(--radius); + padding: 1.25rem 1.5rem; + background: rgb(var(--color-background-light)); + text-decoration: none; + color: inherit; + cursor: pointer; + overflow: hidden; + transition: border-color 0.15s; +} +.dark #sourcey .card-item { + border-color: rgb(255 255 255 / 0.1); + background: rgb(var(--color-background-dark)); +} + +#sourcey .card-item:hover { + border-color: rgb(var(--color-primary)); +} +.dark #sourcey .card-item:hover { + border-color: rgb(var(--color-primary-light)); +} + +#sourcey .card-icon { + width: 1.5rem; + height: 1.5rem; + flex-shrink: 0; + color: rgb(var(--color-primary)); + margin-bottom: 0.75rem; +} +.dark #sourcey .card-icon { + color: rgb(var(--color-primary-light)); +} + +#sourcey .card-item-title { + font-size: 1rem; + font-weight: 600; + color: rgb(var(--color-gray-800)); + margin: 0 0 0.25rem; +} +.dark #sourcey .card-item-title { + color: #fff; +} + +#sourcey .card-item-content { + margin-top: 0.25rem; + font-size: 1rem; + line-height: 1.5; + color: rgb(var(--color-gray-600)); +} +.dark #sourcey .card-item-content { + color: rgb(var(--color-gray-400)); +} + +#sourcey .card-item-content p { + margin: 0; +} + +/* ── Accordion (expandable details) ────────────────────────────────── */ + +#sourcey .accordion-group { + margin-top: 0; + margin-bottom: 0.75rem; + border-radius: var(--radius); + border: 1px solid rgb(var(--color-gray-200) / 0.7); + overflow: hidden; +} +.dark #sourcey .accordion-group { + border-color: rgb(var(--color-gray-800) / 0.5); +} + +#sourcey .accordion-item { + border-bottom: 1px solid rgb(var(--color-gray-200) / 0.7); + background: rgb(var(--color-background-light)); +} +.dark #sourcey .accordion-item { + border-bottom-color: rgb(var(--color-gray-800) / 0.5); + background: rgb(var(--color-code-block-dark)); +} + +#sourcey .accordion-item:last-child { + border-bottom: none; +} + +#sourcey .accordion-trigger { + display: flex; + align-items: center; + gap: 0.5rem; + width: 100%; + padding: 1rem 1.25rem; + cursor: pointer; + font-weight: 500; + color: rgb(var(--color-gray-900)); + list-style: none; +} +#sourcey .accordion-trigger::-webkit-details-marker { + display: none; +} +.dark #sourcey .accordion-trigger { + color: rgb(var(--color-gray-200)); +} + +#sourcey .accordion-trigger:hover { + background: rgb(var(--color-gray-100)); +} +.dark #sourcey .accordion-trigger:hover { + background: rgb(var(--color-gray-800)); +} + +#sourcey .accordion-trigger::before { + content: ""; + display: inline-block; + width: 0.75rem; + height: 0.75rem; + flex-shrink: 0; + background: rgb(var(--color-gray-700)); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z'/%3E%3C/svg%3E"); + mask-repeat: no-repeat; + mask-position: center; + mask-size: contain; + transition: transform 0.15s; +} +.dark #sourcey .accordion-trigger::before { + background: rgb(var(--color-gray-400)); +} + +#sourcey .accordion-item[open] > .accordion-trigger::before { + transform: rotate(90deg); +} + +#sourcey .accordion-content { + padding: 0 1.25rem 1rem 2.5rem; + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .accordion-content { + color: rgb(var(--color-gray-400)); +} + +#sourcey .accordion-content p { + margin: 0.25rem 0; +} + +/* ── Callouts (:::note, :::warning, :::tip, :::info) ───────────────── */ + +#sourcey .callout { + margin: 1.25rem 0; + border: none; + border-left: 2px solid; + border-radius: 0; + padding: 0.875rem 1rem; + font-size: 0.875rem; + line-height: 1.6; + color: rgb(var(--color-gray-700)); + border-left-color: rgb(var(--color-gray-300)); +} +.dark #sourcey .callout { + border-left-color: rgb(var(--color-gray-700)); + color: rgb(var(--color-gray-400)); +} + +#sourcey .callout-title { + font-weight: 600; + font-size: 0.8125rem; + text-transform: uppercase; + letter-spacing: 0.04em; +} + +/* Remove bottom margin when no content follows */ +#sourcey .callout-title:last-child { + margin-bottom: 0; +} + +#sourcey .callout-content { + margin-top: 0.375rem; +} + +#sourcey .callout-content p { + margin: 0.25rem 0; +} + +#sourcey .callout-content p:last-child { + margin-bottom: 0; +} + +/* Note — blue */ +#sourcey .callout-note { + border-left-color: #3b82f6; +} +.dark #sourcey .callout-note { + border-left-color: #60a5fa; +} +#sourcey .callout-note .callout-title { + color: #3b82f6; +} +.dark #sourcey .callout-note .callout-title { + color: #60a5fa; +} + +/* Warning — amber */ +#sourcey .callout-warning { + border-left-color: #f59e0b; +} +.dark #sourcey .callout-warning { + border-left-color: #fbbf24; +} +#sourcey .callout-warning .callout-title { + color: #f59e0b; +} +.dark #sourcey .callout-warning .callout-title { + color: #fbbf24; +} + +/* ── Changelog ───────────────────────────────────────────────────── */ + +#sourcey .sourcey-changelog-page { + width: 100%; +} + +#sourcey .sourcey-changelog-header { + margin-bottom: 2rem; +} + +#sourcey .sourcey-changelog-description { + margin-top: 0.75rem; + font-size: 1.05rem; + line-height: 1.7; + color: rgb(var(--color-gray-600)); + max-width: 65ch; + text-wrap: pretty; +} + +.dark #sourcey .sourcey-changelog-description { + color: rgb(var(--color-gray-400)); +} + +#sourcey .sourcey-changelog-description a { + color: rgb(var(--color-primary-ink)); + text-decoration: none; + border-bottom: 1px solid rgb(var(--color-primary-ink) / 0.3); +} + +#sourcey .sourcey-changelog-description a:hover { + border-bottom-color: rgb(var(--color-primary-ink)); +} + +.dark #sourcey .sourcey-changelog-description a { + color: rgb(var(--color-primary-light)); + border-bottom-color: rgb(var(--color-primary-light) / 0.3); +} + +.dark #sourcey .sourcey-changelog-description a:hover { + border-bottom-color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-description code { + font-size: 0.92em; + padding: 0.05rem 0.3rem; + border-radius: 0.25rem; + background: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-800)); +} + +.dark #sourcey .sourcey-changelog-description code { + background: rgb(255 255 255 / 0.08); + color: rgb(var(--color-gray-200)); +} + +#sourcey .sourcey-changelog-list { + display: flex; + flex-direction: column; + gap: 1rem; +} + +#sourcey .sourcey-changelog-version { + border: 1px solid rgb(var(--color-gray-200) / 0.8); + border-radius: 1rem; + padding: 1.25rem 1.25rem 1rem; + background: linear-gradient(180deg, rgb(var(--color-gray-50) / 0.75), rgb(255 255 255)); +} + +.dark #sourcey .sourcey-changelog-version { + border-color: rgb(var(--color-gray-800) / 0.8); + background: linear-gradient(180deg, rgb(255 255 255 / 0.03), rgb(255 255 255 / 0.015)); +} + +#sourcey .sourcey-changelog-version-unreleased { + border-color: rgb(var(--color-primary) / 0.18); + border-left: 3px solid rgb(var(--color-primary)); + padding-left: calc(1.25rem - 2px); + background: linear-gradient( + 180deg, + rgb(var(--color-primary) / 0.04), + rgb(var(--color-primary) / 0.015) + ); +} + +.dark #sourcey .sourcey-changelog-version-unreleased { + border-color: rgb(var(--color-primary-light) / 0.22); + border-left-color: rgb(var(--color-primary-light)); + background: linear-gradient( + 180deg, + rgb(var(--color-primary-light) / 0.06), + rgb(var(--color-primary-light) / 0.02) + ); +} + +#sourcey .sourcey-changelog-version-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 1rem; + margin-bottom: 1rem; +} + +@media (max-width: 768px) { + #sourcey .sourcey-changelog-version-header { + flex-direction: column; + } +} + +#sourcey .sourcey-changelog-version-heading { + display: flex; + align-items: center; + gap: 0.5rem; + flex-wrap: wrap; +} + +#sourcey .sourcey-changelog-version-link { + font-size: 1.25rem; + font-weight: 700; + color: rgb(var(--color-gray-900)); + text-decoration: none; +} + +.dark #sourcey .sourcey-changelog-version-link { + color: rgb(var(--color-gray-200)); +} + +#sourcey .sourcey-changelog-version-link:hover { + color: rgb(var(--color-primary-ink)); +} + +.dark #sourcey .sourcey-changelog-version-link:hover { + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-version-meta { + display: flex; + align-items: center; + gap: 0.75rem; + font-size: 0.925rem; + color: rgb(var(--color-gray-500)); +} + +.dark #sourcey .sourcey-changelog-version-meta { + color: rgb(var(--color-gray-400)); +} + +#sourcey .sourcey-changelog-compare-link { + color: rgb(var(--color-primary-ink)); + text-decoration: none; +} + +.dark #sourcey .sourcey-changelog-compare-link { + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-pill { + display: inline-flex; + align-items: center; + border-radius: 999px; + padding: 0.15rem 0.5rem; + font-size: 0.72rem; + font-weight: 700; + letter-spacing: 0.03em; +} + +#sourcey .sourcey-changelog-pill-yanked { + background: rgb(239 68 68 / 0.12); + color: rgb(185 28 28); +} + +.dark #sourcey .sourcey-changelog-pill-yanked { + background: rgb(248 113 113 / 0.15); + color: rgb(252 165 165); +} + +#sourcey .sourcey-changelog-pill-pre { + background: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-600)); +} + +.dark #sourcey .sourcey-changelog-pill-pre { + background: rgb(255 255 255 / 0.08); + color: rgb(var(--color-gray-300)); +} + +#sourcey .sourcey-changelog-pill-next { + background: rgb(var(--color-primary) / 0.1); + color: rgb(var(--color-primary-ink)); + text-transform: uppercase; + letter-spacing: 0.06em; + font-size: 0.68rem; +} + +.dark #sourcey .sourcey-changelog-pill-next { + background: rgb(var(--color-primary-light) / 0.14); + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-summary { + margin-bottom: 1rem; +} + +#sourcey .sourcey-changelog-summary p:first-child { + margin-top: 0; +} + +#sourcey .sourcey-changelog-sections { + display: flex; + flex-direction: column; + gap: 0.875rem; +} + +#sourcey .sourcey-changelog-section { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +#sourcey .sourcey-changelog-section-header { + display: flex; + align-items: center; + gap: 0.5rem; +} + +#sourcey .sourcey-changelog-entry-list { + margin: 0; + padding-left: 1.25rem; + color: rgb(var(--color-gray-700)); +} + +.dark #sourcey .sourcey-changelog-entry-list { + color: rgb(var(--color-gray-300)); +} + +#sourcey .sourcey-changelog-entry-list li { + margin: 0.35rem 0; +} + +#sourcey .sourcey-changelog-entry-list li > p { + margin: 0; +} + +#sourcey .sourcey-changelog-badge { + text-transform: none; +} + +#sourcey .sourcey-changelog-badge-added { + background: rgb(var(--color-success) / 0.12); + color: rgb(21 128 61); +} + +.dark #sourcey .sourcey-changelog-badge-added { + background: rgb(var(--color-success) / 0.16); + color: rgb(134 239 172); +} + +#sourcey .sourcey-changelog-badge-changed { + background: rgb(var(--color-primary) / 0.12); + color: rgb(var(--color-primary-ink)); +} + +.dark #sourcey .sourcey-changelog-badge-changed { + background: rgb(var(--color-primary-light) / 0.12); + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-badge-fixed { + background: rgb(245 158 11 / 0.14); + color: rgb(180 83 9); +} + +.dark #sourcey .sourcey-changelog-badge-fixed { + background: rgb(251 191 36 / 0.16); + color: rgb(253 224 71); +} + +#sourcey .sourcey-changelog-badge-removed, +#sourcey .sourcey-changelog-badge-security { + background: rgb(239 68 68 / 0.12); + color: rgb(185 28 28); +} + +.dark #sourcey .sourcey-changelog-badge-removed, +.dark #sourcey .sourcey-changelog-badge-security { + background: rgb(248 113 113 / 0.16); + color: rgb(252 165 165); +} + +#sourcey .sourcey-changelog-badge-deprecated, +#sourcey .sourcey-changelog-badge-other { + background: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-600)); +} + +.dark #sourcey .sourcey-changelog-badge-deprecated, +.dark #sourcey .sourcey-changelog-badge-other { + background: rgb(255 255 255 / 0.08); + color: rgb(var(--color-gray-300)); +} + +/* Tip — green */ +#sourcey .callout-tip { + border-left-color: #22c55e; +} +.dark #sourcey .callout-tip { + border-left-color: #4ade80; +} +#sourcey .callout-tip .callout-title { + color: #22c55e; +} +.dark #sourcey .callout-tip .callout-title { + color: #4ade80; +} + +/* Info — violet */ +#sourcey .callout-info { + border-left-color: #8b5cf6; +} +.dark #sourcey .callout-info { + border-left-color: #a78bfa; +} +#sourcey .callout-info .callout-title { + color: #8b5cf6; +} +.dark #sourcey .callout-info .callout-title { + color: #a78bfa; +} + +/* ── Directive Tabs (:::tabs, :::code-group) ───────────────────────── */ + +#sourcey .directive-tabs { + margin: 1.25rem 0; + border: 1px solid rgb(var(--color-stone-950) / 0.1); + border-radius: var(--radius); + overflow: hidden; +} +.dark #sourcey .directive-tabs { + border-color: rgb(255 255 255 / 0.1); +} + +#sourcey .directive-tab-bar { + display: flex; + gap: 0; + border-bottom: 1px solid rgb(var(--color-stone-200)); + background: rgb(var(--color-stone-50)); + padding: 0 0.25rem; +} +.dark #sourcey .directive-tab-bar { + border-bottom-color: rgb(255 255 255 / 0.06); + background: rgb(var(--color-code-block-dark)); +} + +#sourcey .directive-tab { + position: relative; + padding: 0.625rem 1rem; + font-size: 0.8125rem; + font-weight: 500; + color: rgb(var(--color-stone-500)); + background: transparent; + border: none; + cursor: pointer; + transition: color 0.15s; +} +#sourcey .directive-tab:hover { + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .directive-tab:hover { + color: rgb(var(--color-gray-300)); +} + +#sourcey .directive-tab.active { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .directive-tab.active { + color: rgb(var(--color-primary-light)); +} + +#sourcey .directive-tab.active::after { + content: ""; + position: absolute; + right: 0.5rem; + bottom: -1px; + left: 0.5rem; + height: 2px; + border-radius: 9999px; + background: rgb(var(--color-primary)); +} +.dark #sourcey .directive-tab.active::after { + background: rgb(var(--color-primary-light)); +} + +#sourcey .directive-tab-panel { + display: none; + padding: 1rem 1.25rem; +} + +#sourcey .directive-tab-panel.active { + display: block; +} + +/* Code group: tighter padding, code blocks fill the panel */ +#sourcey .directive-code-group .directive-tab-panel { + padding: 0; +} + +#sourcey .directive-code-group .directive-tab-panel pre { + margin: 0; + border-radius: 0; +} + +/* Strip nested code block chrome inside tab panels */ +#sourcey .directive-tabs .prose-code-block { + border: none; + border-radius: 0; + margin: 0; +} + +#sourcey .directive-tabs .prose-code-block .prose-code-copy { + display: none; +} + +/* ── Mobile navigation drawer (dialog) ────────────────────────────── */ + +.mobile-nav-dialog { + padding: 0; + border: none; + max-width: 20rem; + width: 80%; + height: 100%; + max-height: 100%; + margin: 0; + overflow-y: auto; + font-family: var(--font-sans); + font-size: 0.875rem; + line-height: 1.5rem; + background: rgb(var(--color-background-light)); + color: rgb(var(--color-gray-500)); +} +.mobile-nav-dialog[open] { + display: flex; + flex-direction: column; +} +.dark .mobile-nav-dialog { + background: rgb(var(--color-background-dark)); + color: rgb(var(--color-gray-400)); +} +.mobile-nav-dialog::backdrop { + background: rgb(0 0 0 / 0.25); + backdrop-filter: blur(2px); +} +.mobile-nav-dialog[open] { + animation: drawer-slide-in 0.2s ease-out; +} +.mobile-nav-dialog[open]::backdrop { + animation: drawer-fade-in 0.2s ease-out; +} + +/* ── Drawer group dropdown ─────────────────────────────────────────── */ + +.drawer-dropdown { + position: relative; +} + +.drawer-dropdown-trigger { + position: relative; + z-index: 11; + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.5rem; + width: 100%; + padding: 0.625rem 1.125rem; + border-radius: var(--radius, 0.5rem); + font-size: 1rem; + font-weight: 600; + font-family: var(--font-sans); + color: rgb(var(--color-gray-900)); + background: rgb(var(--color-background-light)); + border: none; + box-shadow: inset 0 0 0 1px rgb(var(--color-gray-200)); + cursor: pointer; + text-align: left; +} +.dark .drawer-dropdown-trigger { + color: rgb(var(--color-gray-200)); + background: rgb(var(--color-background-dark)); + box-shadow: inset 0 0 0 1px rgb(var(--color-gray-600)); +} +.drawer-dropdown-trigger[aria-expanded="true"] { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-200)), + inset -1px 0 0 rgb(var(--color-gray-200)), + inset 0 1px 0 rgb(var(--color-gray-200)); +} +.dark .drawer-dropdown-trigger[aria-expanded="true"] { + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-600)), + inset -1px 0 0 rgb(var(--color-gray-600)), + inset 0 1px 0 rgb(var(--color-gray-600)); +} + +.drawer-dropdown-chevron { + color: rgb(var(--color-gray-400)); + transition: transform 0.15s ease; + flex-shrink: 0; +} +.drawer-dropdown-trigger[aria-expanded="true"] .drawer-dropdown-chevron { + transform: rotate(180deg); +} + +.drawer-dropdown-list { + position: absolute; + top: 100%; + left: 0; + right: 0; + z-index: 10; + list-style: none; + margin: 0; + padding: 0.375rem 0; + border-radius: 0 0 var(--radius, 0.5rem) var(--radius, 0.5rem); + background: rgb(var(--color-background-light)); + border: none; + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-200)), + inset -1px 0 0 rgb(var(--color-gray-200)), + inset 0 -1px 0 rgb(var(--color-gray-200)), + 0 6px 16px rgb(0 0 0 / 0.08); +} +.dark .drawer-dropdown-list { + background: rgb(var(--color-background-dark)); + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-600)), + inset -1px 0 0 rgb(var(--color-gray-600)), + inset 0 -1px 0 rgb(var(--color-gray-600)), + 0 6px 16px rgb(0 0 0 / 0.3); +} + +.drawer-dropdown-item { + display: block; + width: 100%; + padding: 0.5rem 1.125rem; + font-size: 1rem; + font-family: var(--font-sans); + text-align: left; + color: rgb(var(--color-gray-600)); + background: none; + border: none; + cursor: pointer; +} +.drawer-dropdown-item:hover { + background: rgb(var(--color-gray-50)); +} +.dark .drawer-dropdown-item { + color: rgb(var(--color-gray-400)); +} +.dark .drawer-dropdown-item:hover { + background: rgb(var(--color-gray-800)); +} +.drawer-dropdown-item.active { + color: rgb(var(--color-primary-ink)); + font-weight: 500; +} +.dark .drawer-dropdown-item.active { + color: rgb(var(--color-primary-light)); +} + +/* Drawer nav items — larger touch targets */ +#sourcey .mobile-nav-dialog .nav-link, +#sourcey .mobile-nav-dialog .nav-link:hover, +#sourcey .mobile-nav-dialog .nav-link.active { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.mobile-nav-dialog ul { + display: flex; + flex-direction: column; + gap: 0.125rem; +} + +@keyframes drawer-slide-in { + from { + transform: translateX(-100%); + } + to { + transform: translateX(0); + } +} +@keyframes drawer-fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +/* ── Code group cards (API right-hand panels) ─────────────────────── */ + +#sourcey .code-group { + position: relative; + display: flex; + flex-direction: column; + /* Visible so an open header dropdown menu is not clipped by the card; the + code body's rounded corners are clipped by .code-card-body instead. */ + overflow: visible; + border-radius: var(--radius); + border: 1px solid rgb(var(--color-stone-950) / 0.1); +} +.dark #sourcey .code-group { + border-color: rgb(255 255 255 / 0.1); +} + +#sourcey .code-group > div:first-child { + background: rgb(var(--color-stone-50)); + border-top-left-radius: var(--radius); + border-top-right-radius: var(--radius); +} +.dark #sourcey .code-group > div:first-child { + background: rgb(255 255 255 / 0.03); +} + +/* Clips the code panels' rounded bottom corners now that the card itself does + not clip. Horizontal code scrolling stays on the inner body element. */ +#sourcey .code-card-body { + overflow: hidden; + border-bottom-left-radius: var(--radius); + border-bottom-right-radius: var(--radius); +} + +#sourcey .code-lang-menu { + max-height: min(18rem, calc(100vh - var(--header-height, 0px) - 2rem)); + overflow-y: auto; + overscroll-behavior: contain; +} + +/* ── Print/PDF output ─────────────────────────────────────────────── */ + +@media print { + @page { + margin: 0.7in; + } + + html, + body, + #sourcey, + #sourcey #page, + #sourcey #docs { + background: #fff !important; + color: #111827 !important; + } + + #sourcey #page::before, + #sourcey #navbar, + #sourcey #toc, + #sourcey #search-dialog, + #sourcey .mobile-nav-dialog, + #sourcey .copy-btn, + #sourcey .prose-code-copy, + #sourcey .code-lang-dropdown { + display: none !important; + } + + #sourcey .max-w-\[92rem\], + #sourcey .max-w-3xl { + max-width: none !important; + margin: 0 !important; + padding: 0 !important; + } + + #sourcey #docs { + padding-top: 0 !important; + } + + #sourcey #docs > .flex, + #sourcey #docs [class*="lg:flex-row"], + #sourcey #docs [class*="xl:flex-row"] { + display: block !important; + } + + #sourcey #content-area { + width: 100% !important; + max-width: none !important; + margin: 0 !important; + padding: 0 !important; + } + + #sourcey #sidebar { + display: block !important; + position: static !important; + inset: auto !important; + width: auto !important; + margin: 0 0 1.5rem !important; + padding: 0 0 1rem !important; + border-bottom: 1px solid #e5e7eb; + } + + #sourcey #sidebar > div { + position: static !important; + inset: auto !important; + overflow: visible !important; + padding: 0 !important; + } + + #sourcey #sidebar .sticky { + display: none !important; + } + + #sourcey #sidebar #nav::before { + content: "Table of Contents"; + display: block; + margin: 0 0 0.75rem; + font-size: 0.875rem; + font-weight: 700; + color: #111827; + } + + #sourcey #sidebar .nav-group-label, + #sourcey #sidebar .nav-link { + color: #111827 !important; + background: transparent !important; + } + + #sourcey #sidebar .nav-link { + padding: 0.125rem 0 !important; + } + + #sourcey #docs article aside { + display: none !important; + } + + #sourcey #docs [class*="lg:hidden"], + #sourcey #docs [class*="xl:hidden"] { + display: block !important; + } + + #sourcey .code-group, + #sourcey .prose-code-block, + #sourcey .param-item, + #sourcey .schema-expandable, + #sourcey .sourcey-changelog-version { + break-inside: avoid; + } + + #sourcey .code-group, + #sourcey .prose-code-block, + #sourcey .prose-code-content, + #sourcey .code-card-body, + #sourcey .code-card-body > div, + #sourcey .code-card-body .font-mono { + background: #fff !important; + color: #111827 !important; + } + + #sourcey a { + color: #111827 !important; + text-decoration: underline; + } +} + +/* ── Selection ─────────────────────────────────────────────────────── */ + +#sourcey ::selection { + background: rgb(var(--color-primary) / 0.12); +} + +/* ── Search Dialog ────────────────────────────────────────────────── */ + +#sourcey #search-dialog { + display: none; + position: fixed; + inset: 0; + z-index: 500; + background: transparent; +} + +#sourcey #search-dialog.open { + display: block; +} + +#sourcey .search-dialog-inner { + position: absolute; + background: rgb(var(--color-background-light)); + border-radius: var(--radius); + border: 1px solid rgb(var(--color-gray-200) / 0.7); + box-shadow: 0 8px 32px rgb(var(--color-overlay) / 0.12); + overflow: hidden; +} +.dark #sourcey .search-dialog-inner { + background: rgb(var(--color-gray-900)); + border-color: rgb(var(--color-gray-700) / 0.5); + box-shadow: 0 8px 32px rgb(var(--color-overlay) / 0.4); +} + +#sourcey .search-input-row { + display: flex; + align-items: center; + gap: 0.625rem; + padding: 0.75rem 1rem; + border-bottom: 1px solid rgb(var(--color-gray-200)); +} +.dark #sourcey .search-input-row { + border-bottom-color: rgb(var(--color-gray-800)); +} + +#sourcey .search-input-icon { + width: 1.125rem; + height: 1.125rem; + flex-shrink: 0; + color: rgb(var(--color-gray-400)); +} + +#sourcey #search-input { + width: 100%; + border: none; + font-family: var(--font-sans); + font-size: 0.9375rem; + color: rgb(var(--color-gray-900)); + background: transparent; + outline: none; +} +.dark #sourcey #search-input { + color: rgb(var(--color-gray-100)); +} + +#sourcey #search-input::placeholder { + color: rgb(var(--color-gray-400)); +} + +#sourcey #search-results { + max-height: 50vh; + overflow-y: auto; + padding: 0.25rem; +} + +#sourcey .search-category { + padding: 0.5rem 0.75rem 0.25rem; + font-size: 0.6875rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: rgb(var(--color-gray-400)); +} + +#sourcey .search-footer { + display: flex; + align-items: center; + gap: 1rem; + padding: 0.5rem 0.75rem; + border-top: 1px solid rgb(var(--color-gray-200)); + font-size: 0.6875rem; + color: rgb(var(--color-gray-400)); +} +.dark #sourcey .search-footer { + border-top-color: rgb(var(--color-gray-800)); +} + +#sourcey .search-footer-hint { + display: flex; + align-items: center; + gap: 0.25rem; +} + +#sourcey .search-footer kbd, +#sourcey #search-open kbd { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 1.25rem; + height: 1.125rem; + padding: 0 0.25rem; + font-family: var(--font-sans); + font-size: 0.625rem; + font-weight: 500; + border-radius: 0.25rem; + border: 1px solid rgb(var(--color-gray-200)); + background: rgb(var(--color-gray-50)); + color: rgb(var(--color-gray-500)); +} +.dark #sourcey .search-footer kbd, +.dark #sourcey #search-open kbd { + border-color: rgb(var(--color-gray-700)); + background: rgb(var(--color-gray-800)); + color: rgb(var(--color-gray-400)); +} + +#sourcey .search-result { + display: flex; + align-items: baseline; + gap: 0.5rem; + padding: 0.5rem 0.75rem; + text-decoration: none; + color: rgb(var(--color-gray-700)); + border-radius: 0.375rem; + cursor: pointer; + transition: background 0.1s; +} +.dark #sourcey .search-result { + color: rgb(var(--color-gray-400)); +} + +#sourcey .search-result:hover, +#sourcey .search-result.active { + background: rgb(var(--color-primary) / 0.06); + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .search-result:hover, +.dark #sourcey .search-result.active { + background: rgb(var(--color-primary-light) / 0.08); + color: rgb(var(--color-gray-200)); +} + +#sourcey .search-result-main { + display: flex; + align-items: baseline; + gap: 0.375rem; + flex: 1; + min-width: 0; +} + +#sourcey .search-result-method { + display: inline-flex; + align-items: center; + padding: 0.125rem 0.375rem; + font-size: 0.625rem; + font-weight: 700; + line-height: 1; + letter-spacing: 0.04em; + text-transform: uppercase; + white-space: nowrap; + border: 1px solid transparent; + border-radius: 3px; + color: rgb(var(--color-background-light)); + flex-shrink: 0; +} + +#sourcey .search-result-method.method-get { + background: var(--method-get); +} +#sourcey .search-result-method.method-post { + background: var(--method-post); +} +#sourcey .search-result-method.method-put { + background: var(--method-put); +} +#sourcey .search-result-method.method-delete { + background: var(--method-delete); +} +#sourcey .search-result-method.method-patch { + background: var(--method-patch); +} +#sourcey .search-result-method.method-tool { + background: var(--method-tool); +} +#sourcey .search-result-method.method-resource { + background: var(--method-resource); +} +#sourcey .search-result-method.method-prompt { + background: var(--method-prompt); +} + +#sourcey .search-result-path { + font-family: var(--font-mono); + font-size: 0.8125rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#sourcey .search-result-summary { + font-size: 0.8125rem; + color: rgb(var(--color-gray-500)); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#sourcey .search-result-tag { + font-size: 0.6875rem; + color: rgb(var(--color-gray-400)); + white-space: nowrap; + flex-shrink: 0; +} + +#sourcey .search-loading { + padding: 1rem; + color: rgb(var(--color-gray-500)); + font-size: 0.8125rem; +} + +/* ── Godoc rendering ─────────────────────────────────────────────── */ + +#sourcey .godoc-import, +#sourcey .godoc-import-path { + font-size: 0.8125rem; + color: rgb(var(--color-gray-500)); + margin: 0.25rem 0 1.5rem; +} + +#sourcey .godoc-import code, +#sourcey .godoc-import-path code { + font-family: var(--font-mono); + background: rgba(var(--color-gray-100), 0.6); + padding: 0.125rem 0.375rem; + border-radius: 3px; +} + +#sourcey .godoc-source { + margin: -0.25rem 0 0.625rem; + font-size: 0.75rem; + color: rgb(var(--color-gray-500)); +} + +#sourcey .godoc-source a { + color: inherit; + text-decoration: none; +} + +#sourcey .godoc-source a:hover { + color: rgb(var(--color-primary-ink)); +} + +#sourcey .godoc-toc { + margin: 1.5rem 0 2.5rem; + padding: 0.875rem 1rem; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.5); +} + +#sourcey .godoc-toc h4 { + margin: 0 0 0.5rem; + font-size: 0.6875rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-500)); +} + +#sourcey .godoc-toc ul { + list-style: none; + margin: 0; + padding: 0; + font-size: 0.8125rem; +} + +#sourcey .godoc-toc li { + margin: 0.125rem 0; +} + +#sourcey .godoc-toc li.godoc-toc-sub { + padding-left: 1rem; + font-family: var(--font-mono); + font-size: 0.75rem; + color: rgb(var(--color-gray-600)); +} + +#sourcey .godoc-toc a { + color: inherit; + text-decoration: none; + border-bottom: 1px dotted transparent; +} + +#sourcey .godoc-toc a:hover { + color: rgb(var(--color-primary)); + border-bottom-color: currentColor; +} + +#sourcey .godoc-symbol { + font-family: var(--font-mono); + font-size: 0.95rem; + font-weight: 600; + margin: 1.75rem 0 0.5rem; + color: rgb(var(--color-gray-900)); + scroll-margin-top: 5rem; +} + +#sourcey .godoc-doc { + margin: 0.5rem 0 0.75rem; + color: rgb(var(--color-gray-700)); + font-size: 0.9375rem; + line-height: 1.65; +} + +#sourcey .godoc-doc p:first-child { + margin-top: 0; +} + +#sourcey .godoc-doc p:last-child { + margin-bottom: 0; +} + +#sourcey .godoc-value, +#sourcey .godoc-func, +#sourcey .godoc-type { + margin: 1rem 0 1.5rem; + scroll-margin-top: 5rem; +} + +#sourcey .godoc-type { + border-top: 1px solid rgb(var(--color-gray-200)); + padding-top: 1.25rem; + margin-top: 2rem; +} + +#sourcey .godoc-anchor { + display: block; + height: 0; + scroll-margin-top: 5rem; +} + +#sourcey .godoc-fields { + margin: 0.75rem 0 1rem; + padding: 0; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.4); +} + +#sourcey .godoc-fields > summary { + cursor: pointer; + padding: 0.5rem 0.875rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-600)); + list-style: none; +} + +#sourcey .godoc-fields > summary::-webkit-details-marker { + display: none; +} + +#sourcey .godoc-fields > ul { + list-style: none; + margin: 0; + padding: 0; + border-top: 1px solid rgb(var(--color-gray-200)); +} + +#sourcey .godoc-field { + padding: 0.625rem 0.875rem; + border-bottom: 1px solid rgb(var(--color-gray-200)); + font-size: 0.875rem; +} + +#sourcey .godoc-field:last-child { + border-bottom: none; +} + +#sourcey .godoc-field-sig { + font-family: var(--font-mono); + font-size: 0.8125rem; + font-weight: 600; + color: rgb(var(--color-gray-900)); + background: transparent; + padding: 0; +} + +#sourcey .godoc-field-type { + font-weight: 400; + color: rgb(var(--color-gray-700)); +} + +#sourcey .godoc-tag { + font-family: var(--font-mono); + font-size: 0.75rem; + color: rgb(var(--color-gray-500)); + background: transparent; + padding: 0; + margin-left: 0.5rem; +} + +#sourcey .godoc-field-doc { + margin-top: 0.25rem; + font-size: 0.8125rem; + color: rgb(var(--color-gray-600)); + line-height: 1.55; +} + +#sourcey .godoc-example { + margin: 0.75rem 0 1.25rem; + padding: 0; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.4); +} + +#sourcey .godoc-example > summary { + cursor: pointer; + padding: 0.5rem 0.875rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-600)); + list-style: none; +} + +#sourcey .godoc-example > summary::-webkit-details-marker { + display: none; +} + +#sourcey .godoc-example > summary::before { + content: "▸ "; + color: rgb(var(--color-gray-400)); + margin-right: 0.25rem; +} + +#sourcey .godoc-example[open] > summary::before { + content: "▾ "; +} + +#sourcey .godoc-example > pre, +#sourcey .godoc-example > .godoc-doc, +#sourcey .godoc-example > p { + margin: 0.5rem 0.875rem; +} + +#sourcey .godoc-example-output-label { + margin: 0.5rem 0.875rem 0; + font-size: 0.6875rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-500)); +} + +#sourcey .godoc-func .godoc-symbol, +#sourcey .godoc-type .godoc-symbol { + word-break: break-word; +} + +/* ── Rust API rendering (rustdoc adapter) ────────────────────────── */ +/* Shared API primitives (api-*) introduced for rustdoc and reusable + by godoc/doxygen in a follow-on retrofit. Class names mirror + rustdoc's DOM so deep-links from a rustdoc URL line up with + sourcey output. */ + +#sourcey .rust-item { + border-top: 1px solid rgb(var(--color-gray-200)); + padding-top: 1rem; + margin-top: 1.25rem; +} +.dark #sourcey .rust-item { + border-top-color: rgb(var(--color-gray-800)); +} + +#sourcey .code-header, +#sourcey .rust-signature { + font-family: + ui-monospace, "SF Mono", "Cascadia Code", Consolas, "Liberation Mono", Menlo, monospace; + font-size: 0.9375rem; + color: rgb(var(--color-gray-900)); + white-space: pre-wrap; + word-break: break-word; +} +.dark #sourcey .code-header, +.dark #sourcey .rust-signature { + color: rgb(var(--color-gray-100)); +} + +#sourcey .rust-signature .kw { + color: rgb(var(--color-rose-600)); + font-weight: 600; +} +.dark #sourcey .rust-signature .kw { + color: rgb(var(--color-rose-300)); +} + +#sourcey .rust-signature .ident { + color: rgb(var(--color-indigo-600)); +} +.dark #sourcey .rust-signature .ident { + color: rgb(var(--color-indigo-300)); +} + +#sourcey .rust-signature .lifetime { + color: rgb(var(--color-amber-700)); + font-style: italic; +} +.dark #sourcey .rust-signature .lifetime { + color: rgb(var(--color-amber-300)); +} + +#sourcey .api-rightside, +#sourcey .rightside { + float: right; + font-size: 0.8125rem; + color: rgb(var(--color-gray-500)); +} + +#sourcey .api-since, +#sourcey .since { + font-feature-settings: "tnum"; +} + +#sourcey .api-srclink, +#sourcey .srclink { + color: rgb(var(--color-indigo-600)); + text-decoration: none; +} +#sourcey .api-srclink:hover, +#sourcey .srclink:hover { + text-decoration: underline; +} +.dark #sourcey .api-srclink, +.dark #sourcey .srclink { + color: rgb(var(--color-indigo-300)); +} + +#sourcey .docblock, +#sourcey .rust-doc { + color: rgb(var(--color-gray-700)); + margin-top: 0.5rem; +} +.dark #sourcey .docblock, +.dark #sourcey .rust-doc { + color: rgb(var(--color-gray-300)); +} + +#sourcey .stab, +#sourcey .api-stab { + display: block; + margin: 0.5rem 0; + padding: 0.5rem 0.75rem; + border-radius: 0.375rem; + font-size: 0.875rem; + border: 1px solid transparent; +} +#sourcey .stab.unstable, +#sourcey .api-stab-unstable { + background-color: rgb(var(--color-amber-50)); + border-color: rgb(var(--color-amber-200)); + color: rgb(var(--color-amber-900)); +} +#sourcey .stab.deprecated, +#sourcey .api-stab-deprecated { + background-color: rgb(var(--color-rose-50)); + border-color: rgb(var(--color-rose-200)); + color: rgb(var(--color-rose-900)); +} +#sourcey .stab.portability, +#sourcey .api-stab-portability { + background-color: rgb(var(--color-emerald-50)); + border-color: rgb(var(--color-emerald-200)); + color: rgb(var(--color-emerald-900)); +} +.dark #sourcey .stab.unstable, +.dark #sourcey .api-stab-unstable { + background-color: rgba(251, 191, 36, 0.08); + border-color: rgba(251, 191, 36, 0.25); + color: rgb(var(--color-amber-200)); +} +.dark #sourcey .stab.deprecated, +.dark #sourcey .api-stab-deprecated { + background-color: rgba(244, 63, 94, 0.08); + border-color: rgba(244, 63, 94, 0.25); + color: rgb(var(--color-rose-200)); +} +.dark #sourcey .stab.portability, +.dark #sourcey .api-stab-portability { + background-color: rgba(16, 185, 129, 0.08); + border-color: rgba(16, 185, 129, 0.25); + color: rgb(var(--color-emerald-200)); +} + +/* Collapsible trait-impl block. Chevron pattern mirrors .godoc-example so the + disclosure reads the same across adapters. */ +#sourcey .api-toggle { + margin: 0.75rem 0; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.4); +} +.dark #sourcey .api-toggle { + border-color: rgb(var(--color-gray-800)); +} +#sourcey .api-toggle > summary { + cursor: pointer; + padding: 0.5rem 0.875rem; + list-style: none; + font-family: var(--font-mono); + font-size: 0.8125rem; + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .api-toggle > summary { + color: rgb(var(--color-gray-300)); +} +#sourcey .api-toggle > summary::-webkit-details-marker { + display: none; +} +#sourcey .api-toggle > summary::before { + content: "▸ "; + color: rgb(var(--color-gray-400)); + margin-right: 0.25rem; +} +#sourcey .api-toggle[open] > summary::before { + content: "▾ "; +} +/* The impl header lives inside the summary; keep it inline with the chevron + and strip heading margins. */ +#sourcey .api-toggle > summary .rust-impl-header { + display: inline; + margin: 0; + font-size: inherit; +} +#sourcey .api-toggle-body { + padding: 0.25rem 0.875rem 0.5rem; + border-top: 1px solid rgb(var(--color-gray-200)); +} +.dark #sourcey .api-toggle-body { + border-top-color: rgb(var(--color-gray-800)); +} +/* Marker / auto / blanket trait impls: a quiet list, not expandable boxes. */ +#sourcey .rust-impl-rows { + margin: 0.5rem 0 0.75rem; +} +#sourcey .rust-impl-row { + padding: 0.2rem 0; +} +#sourcey .rust-impl-row .rust-impl-header { + display: inline; + margin: 0; + font-size: 0.8125rem; + font-weight: 400; + color: rgb(var(--color-gray-600)); +} +.dark #sourcey .rust-impl-row .rust-impl-header { + color: rgb(var(--color-gray-400)); +} + +#sourcey .anchor, +#sourcey .api-anchor { + margin-left: 0.4rem; + color: rgb(var(--color-gray-400)); + text-decoration: none; + opacity: 0; + transition: opacity 0.1s ease; +} +#sourcey .section-header:hover .anchor, +#sourcey .section-header:hover .api-anchor, +#sourcey .code-header:hover .anchor, +#sourcey .code-header:hover .api-anchor { + opacity: 1; +} + +/* Inherent-impl methods and trait members render inline as their own sections. + Code (signatures, doctests) flows through the shared Shiki code block, so no + bespoke code styling lives here. */ +#sourcey .rust-member { + margin: 0.75rem 0; +} +#sourcey .rust-method-header { + margin: 0.5rem 0 0.25rem; +} +#sourcey .rust-doctest { + margin: 0.75rem 0; +} + +#sourcey .rust-doctest-badges { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; + margin-bottom: 0.25rem; +} +#sourcey .rust-doctest-badge { + display: inline-block; + padding: 0.05rem 0.4rem; + font-size: 0.6875rem; + font-weight: 600; + border-radius: 0.25rem; + background-color: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-700)); + text-transform: lowercase; + letter-spacing: 0.02em; +} +.dark #sourcey .rust-doctest-badge { + background-color: rgb(var(--color-gray-800)); + color: rgb(var(--color-gray-300)); +} +#sourcey .rust-doctest-badge-should_panic, +#sourcey .rust-doctest-badge-compile_fail { + background-color: rgb(var(--color-rose-100)); + color: rgb(var(--color-rose-800)); +} +#sourcey .rust-doctest-badge-no_run, +#sourcey .rust-doctest-badge-ignore { + background-color: rgb(var(--color-amber-100)); + color: rgb(var(--color-amber-800)); +} + +#sourcey .rust-doctest-controls { + display: flex; + gap: 0.5rem; + margin-top: 0.5rem; + font-size: 0.8125rem; +} +#sourcey .rust-doctest-run, +#sourcey .rust-doctest-toggle-hidden { + cursor: pointer; + padding: 0.2rem 0.6rem; + border-radius: 0.375rem; + border: 1px solid rgb(var(--color-gray-300)); + background-color: rgb(var(--color-white)); + color: rgb(var(--color-gray-800)); + text-decoration: none; + line-height: 1; +} +#sourcey .rust-doctest-run:hover, +#sourcey .rust-doctest-toggle-hidden:hover { + background-color: rgb(var(--color-gray-50)); +} +.dark #sourcey .rust-doctest-run, +.dark #sourcey .rust-doctest-toggle-hidden { + background-color: rgb(var(--color-gray-900)); + border-color: rgb(var(--color-gray-700)); + color: rgb(var(--color-gray-200)); +} + +/* On the aggregated doctests page the code block already renders as a card, so + the section itself stays borderless. Just space the entries and accent the + heading so they don't read as cards within cards. */ +#sourcey .rust-doctests-index .rust-doctest { + margin: 1.5rem 0; +} +#sourcey .rust-doctests-index .rust-doctest > h3 { + padding-left: 0.625rem; + border-left: 3px solid rgb(var(--color-emerald-500)); +} +.dark #sourcey .rust-doctests-index .rust-doctest > h3 { + border-left-color: rgb(var(--color-emerald-400)); +} diff --git a/docs/sourcey-catalog/site/sourcey.js b/docs/sourcey-catalog/site/sourcey.js new file mode 100644 index 000000000..d0dc64577 --- /dev/null +++ b/docs/sourcey-catalog/site/sourcey.js @@ -0,0 +1 @@ +(function(){(function(){function e(e){try{return window.sessionStorage.getItem(e)}catch{return null}}function t(e,t){try{window.sessionStorage.setItem(e,t)}catch{}}function n(e){try{window.sessionStorage.removeItem(e)}catch{}}function r(e){var t=(e||`/`).replace(/\/+$/,``)||`/`;return t=t.replace(/\/index(?:\.html)?$/,``)||`/`,t=t.replace(/\.html$/,``),t||`/`}function i(e){if(!e.length)return null;for(var t=e.map(function(e){return r(e).split(`/`).filter(Boolean)}),n=[],i=0;i=document.body.scrollHeight-10){var l=c[c.length-1];i=n.length?l.getAttribute(`data-traverse-target`):l.id}i&&d(i)}}var _=!1;window.addEventListener(`scroll`,function(){_||(_=!0,requestAnimationFrame(function(){g(),_=!1}))},{passive:!0});var v=window.location.hash.slice(1)||new URLSearchParams(window.location.search).get(`target`);v&&document.getElementById(v)?(d(v),requestAnimationFrame(function(){f(v,`instant`)})):g(),window.addEventListener(`hashchange`,function(){var e=window.location.hash.slice(1);e&&(d(e,!0),f(e,`smooth`))})}window.location.hash.slice(1)||new URLSearchParams(window.location.search).get(`target`)?requestAnimationFrame(e):`requestIdleCallback`in window?window.requestIdleCallback(e,{timeout:250}):window.addEventListener(`load`,e,{once:!0})})(),(function(){function e(){var e=null;document.addEventListener(`click`,function(e){var r=e.target.closest(`.code-lang-trigger`);if(document.querySelectorAll(`.code-lang-menu`).forEach(function(e){if(!r||!e.parentElement.contains(r)){t(e);var n=e.parentElement.querySelector(`.code-lang-trigger`);n&&n.setAttribute(`aria-expanded`,`false`)}}),r){e.stopPropagation();var i=r.nextElementSibling;if(i){var a=!i.classList.contains(`hidden`);a?t(i):(i.classList.remove(`hidden`),n(r,i)),r.setAttribute(`aria-expanded`,a?`false`:`true`)}}}),document.addEventListener(`click`,function(n){var r=n.target.closest(`.code-lang-option`);if(r){var a=r.closest(`.code-lang-dropdown`),o=!!(a&&a.hasAttribute(`data-lang-sync`)),s=r.textContent.trim(),c=r.closest(`.code-lang-menu`);if(c){t(c);var l=c.parentElement.querySelector(`.code-lang-trigger`);l&&l.setAttribute(`aria-expanded`,`false`)}var u=window.scrollY;if(i(r),o&&s!==e){e=s;var d=r.closest(`.code-group`);document.querySelectorAll(`.code-group`).forEach(function(e){e===d||!e.querySelector(`.code-lang-dropdown[data-lang-sync]`)||e.querySelectorAll(`.code-lang-option`).forEach(function(e){e.textContent.trim()===s&&i(e)})})}window.scrollTo(0,u)}});function t(e){e.classList.add(`hidden`),e.style.position=``,e.style.top=``,e.style.right=``,e.style.bottom=``,e.style.maxHeight=``}function n(e,t){var n=e.getBoundingClientRect(),r=4,i=8,a=window.innerHeight-n.bottom-i,o=n.top-i,s=a<160&&o>a;t.style.position=`fixed`,t.style.right=Math.max(i,window.innerWidth-n.right)+`px`,t.style.maxHeight=Math.max(96,Math.floor((s?o:a)-r))+`px`,s?(t.style.top=``,t.style.bottom=Math.max(i,window.innerHeight-n.top+r)+`px`):(t.style.bottom=``,t.style.top=Math.min(window.innerHeight-i,n.bottom+r)+`px`)}function r(e){var t=e.closest(`[data-response-dropdown]`);if(t){var n=t.getAttribute(`data-response-dropdown`),r=t.closest(`.code-group`),i=r&&r.querySelector(`.response-panel[data-response-panel="`+n+`"]`);if(i)return i}return e.closest(`.code-lang-scope`)||e.closest(`.code-group`)}function i(e){var t=e.closest(`.code-lang-dropdown`),n=r(e),i=e.getAttribute(`data-lang-index`);if(t){var a=t.querySelector(`.code-lang-label`);t.querySelectorAll(`.code-lang-option`).forEach(function(e){var n=e.getAttribute(`data-lang-index`)===i;if(e.setAttribute(`aria-selected`,n?`true`:`false`),e.className=e.className.replace(/(dark:)?text-\[rgb\([^\]]+\)\]/g,``).trim(),n){e.classList.add(`text-[rgb(var(--color-primary))]`,`dark:text-[rgb(var(--color-primary-light))]`),a&&(a.textContent=e.textContent.trim());var r=t.querySelector(`.code-lang-trigger .code-lang-icon`),o=e.querySelector(`.lang-icon`);r&&o&&(r.innerHTML=o.outerHTML)}else e.classList.add(`text-[rgb(var(--color-stone-600))]`,`dark:text-[rgb(var(--color-stone-400))]`)})}n&&n.querySelectorAll(`.code-lang-panel`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-lang-panel`)===i)})}document.addEventListener(`click`,function(e){var t=e.target.closest(`.response-tab`);if(t){var n=t.closest(`.response-tabs`),r=t.getAttribute(`data-response-index`),i=window.scrollY;n.querySelectorAll(`.response-tab`).forEach(function(e){var t=e.getAttribute(`data-response-index`)===r;e.classList.toggle(`active`,t),e.setAttribute(`aria-selected`,t?`true`:`false`)}),n.querySelectorAll(`.response-panel`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-response-panel`)===r)}),n.querySelectorAll(`[data-response-dropdown]`).forEach(function(e){e.classList.toggle(`hidden`,e.getAttribute(`data-response-dropdown`)!==r)}),window.scrollTo(0,i)}}),document.addEventListener(`click`,function(e){var t=e.target.closest(`.copy-btn`);if(t){var n=t.closest(`.code-group`)||t.closest(`.prose-code-block`);if(n){var r=n.querySelectorAll(`.code-lang-panel.active, .response-panel.active`),i=r.length?r[r.length-1]:null,a=i?i.querySelector(`code, .code-block, .font-mono`):n.querySelector(`code, .code-block, .font-mono`);if(a){var o=a.textContent||``;navigator.clipboard.writeText(o).then(function(){t.classList.add(`copied`);var e=t.nextElementSibling;e&&e.classList.contains(`copy-tooltip`)&&(e.textContent=`Copied!`),setTimeout(function(){t.classList.remove(`copied`),e&&e.classList.contains(`copy-tooltip`)&&(e.textContent=`Copy`)},2e3)})}}}}),document.addEventListener(`click`,function(e){var t=e.target.closest(`.rust-doctest-toggle-hidden`);if(t){var n=t.getAttribute(`data-target`),r=t.getAttribute(`data-display`),i=n?document.getElementById(n.replace(/^#/,``)):null,a=r?document.getElementById(r.replace(/^#/,``)):null;!i||!a||(i.hasAttribute(`hidden`)?(i.removeAttribute(`hidden`),a.setAttribute(`hidden`,``),t.textContent=`Hide hidden lines`):(i.setAttribute(`hidden`,``),a.removeAttribute(`hidden`),t.textContent=`Show hidden lines`))}}),document.addEventListener(`keydown`,function(e){e.key===`Escape`&&document.querySelectorAll(`.code-lang-menu`).forEach(function(e){e.classList.add(`hidden`);var t=e.parentElement.querySelector(`.code-lang-trigger`);t&&t.setAttribute(`aria-expanded`,`false`)})}),document.addEventListener(`click`,function(e){var t=e.target.closest(`.directive-tab`);if(t){var n=t.getAttribute(`data-tab-group`),r=t.getAttribute(`data-tab-index`),i=window.scrollY;document.querySelectorAll(`.directive-tab[data-tab-group="`+n+`"]`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-tab-index`)===r)}),document.querySelectorAll(`.directive-tab-panel[data-tab-group="`+n+`"]`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-tab-index`)===r)}),window.scrollTo(0,i)}})}`requestIdleCallback`in window?window.requestIdleCallback(e,{timeout:250}):window.addEventListener(`load`,e,{once:!0})})(),(function(){var e=`sourcey-theme`,t=document.getElementById(`theme-toggle`),n=document.documentElement;function r(){var t=localStorage.getItem(e);return t===`dark`||t===`light`?t:`light`}function i(e){e===`dark`?n.classList.add(`dark`):n.classList.remove(`dark`),n.style.colorScheme=e,t&&(t.setAttribute(`aria-label`,e===`dark`?`Switch to light mode`:`Switch to dark mode`),t.setAttribute(`title`,e===`dark`?`Light mode`:`Dark mode`))}i(r()),t&&t.addEventListener(`click`,function(){var t=n.classList.contains(`dark`)?`light`:`dark`;localStorage.setItem(e,t),i(t)})})(),(function(){function e(){var e=document.getElementById(`search-dialog`),t=document.getElementById(`search-input`),n=document.getElementById(`search-results`),r=document.getElementById(`search-open`);if(!e||!t||!n)return;var i=[],a=-1,o=[],s=!1,c=document.querySelector(`meta[name="sourcey-search"]`);function l(e){if(s){e();return}if(!c){s=!0,e();return}var t=c.getAttribute(`content`);fetch(t).then(function(e){return e.json()}).then(function(t){i=t.map(function(e){var t=e.title||``,n=e.qualifiedName||``,r=e.owner||``,i=e.tab||``;return{url:e.url,method:e.method||``,path:e.path||``,title:t,summary:n||t,tag:r||i,content:e.content||``,category:e.category||``,featured:!!e.featured,symbolKind:e.symbolKind||``,owner:r,ownerKind:e.ownerKind||``,namespace:e.namespace||``,qualifiedName:n,titleLower:t.toLowerCase(),pathLower:(e.path||``).toLowerCase(),qualifiedLower:n.toLowerCase(),ownerLower:r.toLowerCase(),searchText:[e.method||``,e.path||``,t,n,r,e.ownerKind||``,e.namespace||``,e.symbolKind||``,e.content||``,i].join(` `).toLowerCase()}}),s=!0,e()}).catch(function(){s=!0,e()})}var u=e.querySelector(`.search-dialog-inner`);function d(){if(!(!r||!u)){var e=r.getBoundingClientRect();u.style.position=`absolute`,u.style.top=e.top-4+`px`;var t=Math.min(e.width*.5,200);u.style.left=e.left-t/2+`px`,u.style.width=e.width+t+`px`,u.style.maxWidth=`none`,u.style.transform=`none`,u.style.margin=`0`}}function f(){d(),e.classList.add(`open`),t.value=``,t.focus(),s?m(``):(n.innerHTML=`
Loading…
`,l(function(){m(``)})),document.addEventListener(`keydown`,b)}function p(){e.classList.remove(`open`),document.removeEventListener(`keydown`,b)}function m(e){var t=e.toLowerCase().trim();if(t){var n=t.split(/\s+/);o=i.map(function(e){return{entry:e,score:h(e,t,n)}}).filter(function(e){return e.score>0});var r={Pages:0,Endpoints:1,Models:2,Functions:3,Types:4,Enums:5,"Enum Values":6,Variables:7,Friends:8,Properties:9,Members:10,Sections:20};o.sort(function(e,t){return t.score===e.score?(r[e.entry.category]||19)-(r[t.entry.category]||19):t.score-e.score}),o=o.map(function(e){return e.entry}).slice(0,50)}else{var s=i.filter(function(e){return e.featured}),c=i.filter(function(e){return!e.featured&&e.category!==`Sections`});o=s.concat(c).slice(0,30)}a=o.length?0:-1,g()}function h(e,t,n){if(!n.every(function(t){return e.searchText.indexOf(t)!==-1}))return 0;var r=t.replace(/\s+/g,``),i=e.qualifiedLower||``,a=e.titleLower||``,o=e.pathLower||``,s=e.ownerLower||``,c=1;return i&&i===r&&(c+=1200),a&&a===t&&(c+=900),o&&o===t&&(c+=850),i&&i.endsWith(`::`+r)&&(c+=780),s&&r===s+`::`+a&&(c+=760),i&&r.indexOf(`::`)!==-1&&i.indexOf(r)!==-1&&(c+=700),a&&a.indexOf(t)===0&&(c+=500),i&&i.indexOf(r)!==-1&&(c+=420),s&&s.indexOf(r)!==-1&&(c+=240),o&&o.indexOf(t)!==-1&&(c+=180),e.content.toLowerCase().indexOf(t)!==-1&&(c+=80),e.category===`Sections`&&(c-=70),e.symbolKind&&(c+=35),e.featured&&(c+=20),c}function g(){for(var e=``,t=``,r=0;r`+_(s)+`
Introduction

Introduction

Governed Runx skill catalog pinned to one upstream revision.

Runx Governed Skill Catalog

+

This catalog covers exactly 24 governed Runx skills at upstream commit 5afc25a83edf1c1320df7ac0d78c36f1523b5677.

+

The skills are organized into five groups: Operate, Research and data, GitHub and delivery, Safety and review, and Outbound and tooling. Each catalog page links to its authoritative SKILL.md at the pinned commit.

+

This is a governed skill catalog, not a claim of complete Runx API coverage.

+
`,t=s);var c=`search-result`+(r===a?` active`:``),l=i.method?``+i.method+` `+_(i.path)+``:``+_(i.summary)+``,u=i.tag?``+_(i.tag)+``:``,d=i.method&&i.summary?``+_(i.summary)+``:``;e+=`
`+l+d+`
`+u+`
`}n.innerHTML=e;var f=n.querySelector(`.search-result.active`);f&&f.scrollIntoView({block:`nearest`})}function _(e){var t=document.createElement(`span`);return t.textContent=e,t.innerHTML}function v(e){return _(e).replace(/"/g,`"`).replace(/'/g,`'`)}function y(e){if(!(e<0||e>=o.length)){var t=o[e];p(),window.location.href=t.url}}function b(e){if(e.key===`Escape`){p(),e.preventDefault();return}if(e.key===`ArrowDown`){e.preventDefault(),a=Math.min(a+1,o.length-1),g();return}if(e.key===`ArrowUp`){e.preventDefault(),a=Math.max(a-1,0),g();return}if(e.key===`Enter`){e.preventDefault(),a>=0&&y(a);return}}t.addEventListener(`input`,function(){m(t.value)}),n.addEventListener(`click`,function(e){var t=e.target.closest(`.search-result`);t&&(e.preventDefault(),y(parseInt(t.getAttribute(`data-index`),10)))}),r&&r.addEventListener(`click`,f);var x=document.getElementById(`search-open-mobile`);x&&x.addEventListener(`click`,f),document.addEventListener(`keydown`,function(e){(e.ctrlKey||e.metaKey)&&e.key===`k`&&(e.preventDefault(),f()),e.key===`/`&&!S(e.target)&&(e.preventDefault(),f())}),e.addEventListener(`click`,function(t){t.target===e&&p()});function S(e){var t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable}}`requestIdleCallback`in window?window.requestIdleCallback(e,{timeout:250}):window.addEventListener(`load`,e,{once:!0})})()})(); \ No newline at end of file diff --git a/docs/sourcey-catalog/sourcey.config.ts b/docs/sourcey-catalog/sourcey.config.ts new file mode 100644 index 000000000..623618f52 --- /dev/null +++ b/docs/sourcey-catalog/sourcey.config.ts @@ -0,0 +1,50 @@ +import { defineConfig, markdown } from "sourcey"; + +export default defineConfig({ + name: "Runx Governed Skill Catalog", + siteUrl: "https://github.com", + baseUrl: "/runxhq/runx", + repo: "https://github.com/runxhq/runx", + editBranch: "main", + editBasePath: "docs/sourcey-catalog", + theme: { + preset: "default", + colors: { primary: "#0f766e", light: "#14b8a6", dark: "#134e4a" }, + }, + navigation: { + tabs: [ + { + tab: "Skills", + slug: "", + source: markdown({ + groups: [ + { + group: "Introduction", + pages: ["pages/introduction"], + }, + { + group: "Operate", + pages: ["pages/agency", "pages/business-ops", "pages/operator-inbox", "pages/ops-desk", "pages/work-plan"], + }, + { + group: "Research and data", + pages: ["pages/deep-research", "pages/research", "pages/data-store", "pages/knowledge-router", "pages/web-fetch"], + }, + { + group: "GitHub and delivery", + pages: ["pages/github-sync", "pages/issue-intake", "pages/issue-triage", "pages/issue-to-pr", "pages/release"], + }, + { + group: "Safety and review", + pages: ["pages/audit-receipt", "pages/cve-audit", "pages/least-privilege", "pages/policy-author", "pages/review-receipt", "pages/sandbox-harden"], + }, + { + group: "Outbound and tooling", + pages: ["pages/governed-outbound", "pages/run-history", "pages/sourcey"], + }, + ], + }), + }, + ], + }, +}); diff --git a/docs/sourcey-catalog/verification.json b/docs/sourcey-catalog/verification.json new file mode 100644 index 000000000..a39fdb702 --- /dev/null +++ b/docs/sourcey-catalog/verification.json @@ -0,0 +1,295 @@ +{ + "ok": true, + "source_repository": "https://github.com/runxhq/runx", + "source_commit": "5afc25a83edf1c1320df7ac0d78c36f1523b5677", + "coverage": { + "manifest_pages": 24, + "markdown_pages": 24, + "html_pages": 24, + "navigation_pages": 24, + "search_pages": 24, + "source_links": 24, + "introduction_pages": 1 + }, + "artifacts": { + "html_files": 26, + "search_records": 202, + "llms_txt_bytes": 4747, + "llms_full_txt_bytes": 157034 + }, + "page_checks": [ + { + "slug": "agency", + "source_path": "skills/agency/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/agency/SKILL.md", + "markdown_bytes": 6042, + "html_bytes": 36772, + "navigation": true, + "search": true + }, + { + "slug": "business-ops", + "source_path": "skills/business-ops/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/business-ops/SKILL.md", + "markdown_bytes": 8446, + "html_bytes": 44522, + "navigation": true, + "search": true + }, + { + "slug": "operator-inbox", + "source_path": "skills/operator-inbox/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/operator-inbox/SKILL.md", + "markdown_bytes": 5515, + "html_bytes": 31314, + "navigation": true, + "search": true + }, + { + "slug": "ops-desk", + "source_path": "skills/ops-desk/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/ops-desk/SKILL.md", + "markdown_bytes": 14769, + "html_bytes": 59460, + "navigation": true, + "search": true + }, + { + "slug": "work-plan", + "source_path": "skills/work-plan/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/work-plan/SKILL.md", + "markdown_bytes": 4825, + "html_bytes": 28495, + "navigation": true, + "search": true + }, + { + "slug": "deep-research", + "source_path": "skills/deep-research/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/deep-research/SKILL.md", + "markdown_bytes": 1896, + "html_bytes": 25064, + "navigation": true, + "search": true + }, + { + "slug": "research", + "source_path": "skills/research/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/research/SKILL.md", + "markdown_bytes": 2209, + "html_bytes": 25754, + "navigation": true, + "search": true + }, + { + "slug": "data-store", + "source_path": "skills/data-store/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/data-store/SKILL.md", + "markdown_bytes": 12592, + "html_bytes": 60569, + "navigation": true, + "search": true + }, + { + "slug": "knowledge-router", + "source_path": "skills/knowledge-router/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/knowledge-router/SKILL.md", + "markdown_bytes": 1448, + "html_bytes": 24711, + "navigation": true, + "search": true + }, + { + "slug": "web-fetch", + "source_path": "skills/web-fetch/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/web-fetch/SKILL.md", + "markdown_bytes": 6690, + "html_bytes": 37606, + "navigation": true, + "search": true + }, + { + "slug": "github-sync", + "source_path": "skills/github-sync/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/github-sync/SKILL.md", + "markdown_bytes": 7831, + "html_bytes": 39926, + "navigation": true, + "search": true + }, + { + "slug": "issue-intake", + "source_path": "skills/issue-intake/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/issue-intake/SKILL.md", + "markdown_bytes": 8284, + "html_bytes": 33882, + "navigation": true, + "search": true + }, + { + "slug": "issue-triage", + "source_path": "skills/issue-triage/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/issue-triage/SKILL.md", + "markdown_bytes": 2224, + "html_bytes": 25447, + "navigation": true, + "search": true + }, + { + "slug": "issue-to-pr", + "source_path": "skills/issue-to-pr/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/issue-to-pr/SKILL.md", + "markdown_bytes": 9973, + "html_bytes": 35834, + "navigation": true, + "search": true + }, + { + "slug": "release", + "source_path": "skills/release/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/release/SKILL.md", + "markdown_bytes": 6106, + "html_bytes": 33531, + "navigation": true, + "search": true + }, + { + "slug": "audit-receipt", + "source_path": "skills/audit-receipt/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/audit-receipt/SKILL.md", + "markdown_bytes": 6197, + "html_bytes": 36880, + "navigation": true, + "search": true + }, + { + "slug": "cve-audit", + "source_path": "skills/cve-audit/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/cve-audit/SKILL.md", + "markdown_bytes": 5110, + "html_bytes": 37383, + "navigation": true, + "search": true + }, + { + "slug": "least-privilege", + "source_path": "skills/least-privilege/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/least-privilege/SKILL.md", + "markdown_bytes": 8327, + "html_bytes": 50473, + "navigation": true, + "search": true + }, + { + "slug": "policy-author", + "source_path": "skills/policy-author/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/policy-author/SKILL.md", + "markdown_bytes": 7262, + "html_bytes": 42097, + "navigation": true, + "search": true + }, + { + "slug": "review-receipt", + "source_path": "skills/review-receipt/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/review-receipt/SKILL.md", + "markdown_bytes": 3634, + "html_bytes": 27682, + "navigation": true, + "search": true + }, + { + "slug": "sandbox-harden", + "source_path": "skills/sandbox-harden/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/sandbox-harden/SKILL.md", + "markdown_bytes": 9160, + "html_bytes": 40169, + "navigation": true, + "search": true + }, + { + "slug": "governed-outbound", + "source_path": "skills/governed-outbound/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/governed-outbound/SKILL.md", + "markdown_bytes": 5407, + "html_bytes": 31413, + "navigation": true, + "search": true + }, + { + "slug": "run-history", + "source_path": "skills/run-history/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/run-history/SKILL.md", + "markdown_bytes": 4568, + "html_bytes": 35467, + "navigation": true, + "search": true + }, + { + "slug": "sourcey", + "source_path": "skills/sourcey/SKILL.md", + "source_url": "https://github.com/runxhq/runx/blob/5afc25a83edf1c1320df7ac0d78c36f1523b5677/skills/sourcey/SKILL.md", + "markdown_bytes": 15179, + "html_bytes": 71668, + "navigation": true, + "search": true + } + ], + "broken_links": [], + "credential_findings": [], + "gaps": [ + { + "id": "missing-worked-examples", + "title": "Selected skills lack a worked example section", + "affected_paths": [ + "skills/work-plan/SKILL.md", + "skills/deep-research/SKILL.md", + "skills/research/SKILL.md", + "skills/knowledge-router/SKILL.md", + "skills/issue-intake/SKILL.md", + "skills/issue-triage/SKILL.md", + "skills/issue-to-pr/SKILL.md", + "skills/release/SKILL.md", + "skills/review-receipt/SKILL.md", + "skills/governed-outbound/SKILL.md" + ], + "measured_fact": "10 of 24 selected skills do not contain the measured heading.", + "impact": "Operators cannot validate the expected input-to-output flow from the reference page alone." + }, + { + "id": "missing-edge-case-guidance", + "title": "Selected skills lack a dedicated edge-case or stop-condition section", + "affected_paths": [ + "skills/work-plan/SKILL.md", + "skills/deep-research/SKILL.md", + "skills/research/SKILL.md", + "skills/knowledge-router/SKILL.md", + "skills/issue-intake/SKILL.md", + "skills/issue-triage/SKILL.md", + "skills/issue-to-pr/SKILL.md", + "skills/release/SKILL.md", + "skills/review-receipt/SKILL.md", + "skills/run-history/SKILL.md" + ], + "measured_fact": "10 of 24 selected skills do not contain the measured heading.", + "impact": "Operators have no single place to check refusal, escalation, and terminal behavior." + }, + { + "id": "missing-non-use-guidance", + "title": "Selected skills lack a dedicated when-not-to-use section", + "affected_paths": [ + "skills/work-plan/SKILL.md", + "skills/deep-research/SKILL.md", + "skills/research/SKILL.md", + "skills/knowledge-router/SKILL.md", + "skills/issue-intake/SKILL.md", + "skills/issue-triage/SKILL.md", + "skills/issue-to-pr/SKILL.md", + "skills/release/SKILL.md", + "skills/review-receipt/SKILL.md" + ], + "measured_fact": "9 of 24 selected skills do not contain the measured heading.", + "impact": "Operators must infer when a different skill or workflow is the safer choice." + } + ] +} diff --git a/docs/sourcey-catalog/verify.mjs b/docs/sourcey-catalog/verify.mjs new file mode 100644 index 000000000..24912b7b5 --- /dev/null +++ b/docs/sourcey-catalog/verify.mjs @@ -0,0 +1,422 @@ +import { lstat, readFile, readdir, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +const EXPECTED_PAGE_COUNT = 24; +const BASE_PATH = "/runxhq/runx/"; +const SOURCE_COMMIT = "5afc25a83edf1c1320df7ac0d78c36f1523b5677"; +const CREDENTIAL_MARKERS = [ + "ghp_", + "github_pat_", + "Bearer ", + "-----BEGIN PRIVATE KEY-----", + "-----BEGIN RSA PRIVATE KEY-----", + "-----BEGIN EC PRIVATE KEY-----", + "-----BEGIN OPENSSH PRIVATE KEY-----", +]; + +export async function verifyCatalog({ catalogDir } = {}) { + const root = path.resolve(catalogDir ?? path.dirname(fileURLToPath(import.meta.url))); + const pagesDir = path.join(root, "pages"); + const siteDir = path.join(root, "site"); + const catalog = JSON.parse(await readRequiredFile(path.join(root, "catalog.json"), "catalog")); + const pages = flattenCatalog(catalog); + const markdownNames = (await readdir(pagesDir)) + .filter((name) => name.endsWith(".md") && name !== "introduction.md") + .sort(); + const expectedNames = pages.map(({ slug }) => `${slug}.md`).sort(); + if (JSON.stringify(markdownNames) !== JSON.stringify(expectedNames)) { + throw new Error("missing generated page or unexpected generated page"); + } + + await readRequiredFile(path.join(pagesDir, "introduction.md"), "introduction page"); + const indexPath = path.join(siteDir, "index.html"); + const indexHtml = await readRequiredFile(indexPath, "site index"); + const indexTags = parseHtmlTags(indexHtml); + const navigationTargets = new Set(indexTags + .filter(({ name }) => name === "a") + .map(({ attributes }) => normalizeSiteTarget(attributes.href)) + .filter(Boolean)); + const searchRecords = JSON.parse(await readRequiredFile( + path.join(siteDir, "search-index.json"), + "search index", + )); + if (!Array.isArray(searchRecords)) throw new Error("search index must be an array"); + const searchTargets = new Set(searchRecords + .filter((record) => record?.category === "Pages" && typeof record.url === "string") + .map((record) => normalizeSiteTarget(record.url)) + .filter(Boolean)); + + const pageChecks = []; + const markdownBySlug = new Map(); + for (const page of pages) { + const markdownPath = path.join(pagesDir, `${page.slug}.md`); + const markdown = await readRequiredFile(markdownPath, `generated page ${page.slug}`); + const sourceUrl = `${catalog.source_repository}/blob/${catalog.source_commit}/${page.path}`; + if (!markdown.includes(sourceUrl) || !markdown.includes(`Commit: \`${catalog.source_commit}\``)) { + throw new Error(`immutable source link missing for ${page.slug}`); + } + markdownBySlug.set(page.slug, markdown); + + const htmlPath = path.join(siteDir, "pages", `${page.slug}.html`); + const html = await readRequiredFile(htmlPath, `HTML page ${page.slug}`); + const htmlLinks = parseHtmlTags(html) + .filter(({ name }) => name === "a") + .map(({ attributes }) => attributes.href); + if (!htmlLinks.includes(sourceUrl)) { + throw new Error(`immutable source link missing from HTML page ${page.slug}`); + } + const siteTarget = `pages/${page.slug}.html`; + const navigation = navigationTargets.has(siteTarget); + const search = searchTargets.has(siteTarget); + pageChecks.push({ + slug: page.slug, + source_path: page.path, + source_url: sourceUrl, + markdown_bytes: Buffer.byteLength(markdown), + html_bytes: Buffer.byteLength(html), + navigation, + search, + }); + } + + const navigationPages = pageChecks.filter(({ navigation }) => navigation).length; + if (navigationPages !== EXPECTED_PAGE_COUNT) { + throw new Error(`navigation coverage is ${navigationPages}/${EXPECTED_PAGE_COUNT}`); + } + const searchPages = pageChecks.filter(({ search }) => search).length; + if (searchPages !== EXPECTED_PAGE_COUNT) { + throw new Error(`search coverage is ${searchPages}/${EXPECTED_PAGE_COUNT}`); + } + + const llmsText = await readLlmsArtifact(siteDir, "llms.txt"); + const llmsFullText = await readLlmsArtifact(siteDir, "llms-full.txt"); + const htmlFiles = (await walkFiles(siteDir)).filter((file) => file.endsWith(".html")).sort(); + const brokenLinks = await findBrokenLocalLinks(siteDir, htmlFiles); + if (brokenLinks.length > 0) { + throw new Error(`broken local link: ${brokenLinks[0].source} -> ${brokenLinks[0].target}`); + } + + const credentialFindings = await findCredentialMarkers([ + ...(await walkFiles(pagesDir)), + ...(await walkFiles(siteDir)), + ]); + if (credentialFindings.length > 0) { + throw new Error(`credential-like string found in ${credentialFindings[0].path}`); + } + + const gaps = deriveGaps(pages, markdownBySlug); + return { + ok: true, + source_repository: catalog.source_repository, + source_commit: catalog.source_commit, + coverage: { + manifest_pages: pages.length, + markdown_pages: pageChecks.length, + html_pages: pageChecks.length, + navigation_pages: navigationPages, + search_pages: searchPages, + source_links: pageChecks.length, + introduction_pages: 1, + }, + artifacts: { + html_files: htmlFiles.length, + search_records: searchRecords.length, + llms_txt_bytes: Buffer.byteLength(llmsText), + llms_full_txt_bytes: Buffer.byteLength(llmsFullText), + }, + page_checks: pageChecks, + broken_links: brokenLinks, + credential_findings: credentialFindings, + gaps, + }; +} + +function flattenCatalog(catalog) { + if (!catalog || !Array.isArray(catalog.groups)) throw new Error("catalog groups must be an array"); + if (catalog.source_repository !== "https://github.com/runxhq/runx") { + throw new Error("catalog must use the pinned Runx source repository"); + } + if (catalog.source_commit !== SOURCE_COMMIT) { + throw new Error(`catalog must use the pinned source commit ${SOURCE_COMMIT}`); + } + const pages = catalog.groups.flatMap((group) => group.entries ?? []); + if (pages.length !== EXPECTED_PAGE_COUNT) { + throw new Error(`catalog must contain exactly ${EXPECTED_PAGE_COUNT} pages`); + } + const slugs = new Set(); + for (const page of pages) { + if (!page || typeof page.slug !== "string" || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(page.slug) + || page.path !== `skills/${page.name}/SKILL.md` || slugs.has(page.slug)) { + throw new Error("catalog contains an invalid or duplicate page"); + } + slugs.add(page.slug); + } + return pages; +} + +async function readRequiredFile(file, label) { + try { + const metadata = await lstat(file); + if (!metadata.isFile() || metadata.isSymbolicLink() || metadata.size === 0) throw new Error(); + return await readFile(file, "utf8"); + } catch { + throw new Error(`missing or empty ${label}`); + } +} + +async function readLlmsArtifact(siteDir, name) { + try { + return await readRequiredFile(path.join(siteDir, name), `llms artifact ${name}`); + } catch { + throw new Error(`missing or empty llms artifact: ${name}`); + } +} + +function parseHtmlTags(html) { + const tags = []; + let cursor = 0; + while (cursor < html.length) { + const start = html.indexOf("<", cursor); + if (start < 0) break; + let end = start + 1; + let quote = ""; + while (end < html.length) { + const character = html[end]; + if (quote) { + if (character === quote) quote = ""; + } else if (character === "\"" || character === "'") { + quote = character; + } else if (character === ">") { + break; + } + end += 1; + } + if (end >= html.length) throw new Error("malformed HTML tag"); + const token = html.slice(start + 1, end).trim(); + cursor = end + 1; + if (!token || token.startsWith("!") || token.startsWith("?") || token.startsWith("/")) continue; + tags.push(parseTagToken(token)); + } + return tags; +} + +function parseTagToken(token) { + let cursor = 0; + while (cursor < token.length && !/\s|\//.test(token[cursor])) cursor += 1; + const name = token.slice(0, cursor).toLowerCase(); + const attributes = {}; + while (cursor < token.length) { + while (cursor < token.length && /\s|\//.test(token[cursor])) cursor += 1; + const keyStart = cursor; + while (cursor < token.length && !/[\s=]/.test(token[cursor])) cursor += 1; + if (keyStart === cursor) break; + const key = token.slice(keyStart, cursor).toLowerCase(); + while (cursor < token.length && /\s/.test(token[cursor])) cursor += 1; + let value = ""; + if (token[cursor] === "=") { + cursor += 1; + while (cursor < token.length && /\s/.test(token[cursor])) cursor += 1; + if (token[cursor] === "\"" || token[cursor] === "'") { + const quote = token[cursor]; + cursor += 1; + const valueStart = cursor; + while (cursor < token.length && token[cursor] !== quote) cursor += 1; + value = token.slice(valueStart, cursor); + cursor += 1; + } else { + const valueStart = cursor; + while (cursor < token.length && !/\s/.test(token[cursor])) cursor += 1; + value = token.slice(valueStart, cursor); + } + } + attributes[key] = decodeHtmlEntities(value); + } + return { name, attributes }; +} + +function decodeHtmlEntities(value) { + return value + .replaceAll("&", "&") + .replaceAll(""", "\"") + .replaceAll("'", "'") + .replaceAll("<", "<") + .replaceAll(">", ">"); +} + +function normalizeSiteTarget(value) { + if (typeof value !== "string" || value.length === 0) return undefined; + const withoutFragment = value.split("#", 1)[0].split("?", 1)[0]; + if (withoutFragment.startsWith(BASE_PATH)) return withoutFragment.slice(BASE_PATH.length); + return withoutFragment.replace(/^\.\//, "").replace(/^\.\.\//, ""); +} + +async function walkFiles(root) { + const files = []; + async function visit(directory) { + const entries = await readdir(directory, { withFileTypes: true }); + for (const entry of entries.sort((left, right) => left.name.localeCompare(right.name, "en"))) { + const target = path.join(directory, entry.name); + if (entry.isSymbolicLink()) throw new Error(`symlink is not allowed in generated output: ${target}`); + if (entry.isDirectory()) await visit(target); + else if (entry.isFile()) files.push(target); + } + } + await visit(root); + return files; +} + +async function findBrokenLocalLinks(siteDir, htmlFiles) { + const broken = []; + const anchorCache = new Map(); + for (const file of htmlFiles) { + const html = await readFile(file, "utf8"); + const tags = parseHtmlTags(html); + anchorCache.set(file, new Set(tags.map(({ attributes }) => attributes.id).filter(Boolean))); + for (const tag of tags) { + for (const attribute of ["href", "src"]) { + const value = tag.attributes[attribute]; + if (!value || isExternalTarget(value)) continue; + const [rawTarget, fragment] = value.split("#", 2); + let target; + if (rawTarget === "") { + target = file; + } else if (rawTarget.startsWith(BASE_PATH)) { + target = path.resolve(siteDir, decodeURIComponent(rawTarget.slice(BASE_PATH.length))); + } else if (rawTarget.startsWith("/")) { + broken.push(linkFinding(siteDir, file, value)); + continue; + } else { + target = path.resolve(path.dirname(file), decodeURIComponent(rawTarget.split("?", 1)[0])); + } + if (!isInside(siteDir, target) || !(await isRegularFile(target))) { + broken.push(linkFinding(siteDir, file, value)); + continue; + } + if (fragment) { + if (!anchorCache.has(target)) { + const targetHtml = await readFile(target, "utf8"); + anchorCache.set(target, new Set(parseHtmlTags(targetHtml) + .map(({ attributes }) => attributes.id) + .filter(Boolean))); + } + if (!anchorCache.get(target).has(decodeURIComponent(fragment))) { + broken.push(linkFinding(siteDir, file, value)); + } + } + } + } + } + return broken.sort((left, right) => `${left.source}\0${left.target}`.localeCompare( + `${right.source}\0${right.target}`, + "en", + )); +} + +function isExternalTarget(value) { + return value.startsWith("//") || /^[A-Za-z][A-Za-z0-9+.-]*:/.test(value); +} + +function isInside(root, target) { + const relative = path.relative(root, target); + return relative !== "" && !relative.startsWith("..") && !path.isAbsolute(relative); +} + +async function isRegularFile(file) { + try { + const metadata = await lstat(file); + return metadata.isFile() && !metadata.isSymbolicLink(); + } catch { + return false; + } +} + +function linkFinding(siteDir, source, target) { + return { source: path.relative(siteDir, source), target }; +} + +async function findCredentialMarkers(files) { + const findings = []; + for (const file of files.sort()) { + const content = await readFile(file); + for (const marker of CREDENTIAL_MARKERS) { + if (content.includes(Buffer.from(marker))) { + findings.push({ path: file, marker }); + } + } + } + return findings; +} + +function deriveGaps(pages, markdownBySlug) { + const definitions = [ + { + id: "missing-worked-examples", + title: "Selected skills lack a worked example section", + pattern: /^## (?:Worked )?Example\b/im, + impact: "Operators cannot validate the expected input-to-output flow from the reference page alone.", + }, + { + id: "missing-output-contracts", + title: "Selected skills lack a dedicated output contract section", + pattern: /^## [^\n]*\bOutputs?\b/im, + impact: "Integrators must infer result shapes instead of comparing them against an explicit contract.", + }, + { + id: "missing-edge-case-guidance", + title: "Selected skills lack a dedicated edge-case or stop-condition section", + pattern: /^## .*?(?:Edge cases|Stop conditions)\b/im, + impact: "Operators have no single place to check refusal, escalation, and terminal behavior.", + }, + { + id: "missing-non-use-guidance", + title: "Selected skills lack a dedicated when-not-to-use section", + pattern: /^## When not to use\b/im, + impact: "Operators must infer when a different skill or workflow is the safer choice.", + }, + ]; + return definitions.map((definition) => { + const affected = pages + .filter(({ slug }) => !definition.pattern.test(markdownBySlug.get(slug))) + .map(({ path: sourcePath }) => sourcePath); + return { + id: definition.id, + title: definition.title, + affected_paths: affected, + measured_fact: `${affected.length} of ${pages.length} selected skills do not contain the measured heading.`, + impact: definition.impact, + }; + }).filter(({ affected_paths: affectedPaths }) => affectedPaths.length > 0); +} + +export function renderGapReport(packet) { + const lines = [ + "# Sourcey Catalog Documentation Gaps", + "", + `Measured from ${packet.coverage.markdown_pages} generated skill pages at commit \`${packet.source_commit}\`.`, + "", + ]; + for (const gap of packet.gaps) { + lines.push( + `## ${gap.title}`, + "", + `- Affected source paths: ${gap.affected_paths.map((sourcePath) => `\`${sourcePath}\``).join(", ") || "none"}`, + `- Measured fact: ${gap.measured_fact}`, + `- Why it matters: ${gap.impact}`, + "", + ); + } + return `${lines.join("\n").trimEnd()}\n`; +} + +if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { + verifyCatalog().then(async (packet) => { + const root = path.dirname(fileURLToPath(import.meta.url)); + await writeFile(path.join(root, "verification.json"), `${JSON.stringify(packet, null, 2)}\n`, "utf8"); + await writeFile(path.join(root, "gaps.md"), renderGapReport(packet), "utf8"); + process.stdout.write(`${JSON.stringify({ ok: packet.ok, coverage: packet.coverage })}\n`); + }).catch((error) => { + process.stderr.write(`${error.message}\n`); + process.exitCode = 1; + }); +} diff --git a/docs/sourcey-catalog/verify.test.mjs b/docs/sourcey-catalog/verify.test.mjs new file mode 100644 index 000000000..2b8d39ac4 --- /dev/null +++ b/docs/sourcey-catalog/verify.test.mjs @@ -0,0 +1,178 @@ +import assert from "node:assert/strict"; +import { mkdtemp, mkdir, readFile, rm, writeFile } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; +import test from "node:test"; + +import { verifyCatalog } from "./verify.mjs"; + +const sourceCommit = "5afc25a83edf1c1320df7ac0d78c36f1523b5677"; +const slugs = Array.from({ length: 24 }, (_, index) => `skill-${index + 1}`); + +async function createFixture(t, mutate = async () => {}) { + const catalogDir = await mkdtemp(path.join(tmpdir(), "sourcey-verify-")); + t.after(() => rm(catalogDir, { recursive: true, force: true })); + await mkdir(path.join(catalogDir, "pages")); + await mkdir(path.join(catalogDir, "site", "pages"), { recursive: true }); + + const entries = slugs.map((slug) => ({ + name: slug, + slug, + group: "Fixture", + path: `skills/${slug}/SKILL.md`, + })); + const catalog = { + source_repository: "https://github.com/runxhq/runx", + source_commit: sourceCommit, + groups: [{ name: "Fixture", entries }], + }; + await writeFile(path.join(catalogDir, "catalog.json"), `${JSON.stringify(catalog, null, 2)}\n`); + await writeFile(path.join(catalogDir, "pages", "introduction.md"), "# Introduction\n"); + + const navigation = slugs + .map((slug) => `${slug}`) + .join(""); + await writeFile(path.join(catalogDir, "site", "index.html"), html(navigation)); + for (const entry of entries) { + const sourceUrl = `${catalog.source_repository}/blob/${sourceCommit}/${entry.path}`; + const markdown = [ + `# ${entry.slug}`, + "", + `- Source: [${entry.path}](${sourceUrl})`, + `- Commit: \`${sourceCommit}\``, + "", + "Maintainer documentation.", + "", + ].join("\n"); + await writeFile(path.join(catalogDir, "pages", `${entry.slug}.md`), markdown); + await writeFile( + path.join(catalogDir, "site", "pages", `${entry.slug}.html`), + pageHtml(`SourceDetails

Details

`), + ); + } + + const search = [ + { title: "Introduction", url: "/runxhq/runx/pages/introduction.html", category: "Pages" }, + ...slugs.map((slug) => ({ + title: slug, + url: `/runxhq/runx/pages/${slug}.html`, + category: "Pages", + })), + ]; + await writeFile(path.join(catalogDir, "site", "search-index.json"), `${JSON.stringify(search)}\n`); + await writeFile(path.join(catalogDir, "site", "llms.txt"), "catalog\n"); + await writeFile(path.join(catalogDir, "site", "llms-full.txt"), "full catalog\n"); + await writeFile(path.join(catalogDir, "site", "sourcey.css"), "body {}\n"); + await writeFile(path.join(catalogDir, "site", "sourcey.js"), "export {};\n"); + await writeFile(path.join(catalogDir, "site", "pages", "introduction.html"), pageHtml("Introduction")); + + await mutate(catalogDir); + return { catalogDir }; +} + +function html(body) { + return `${body}`; +} + +function pageHtml(body) { + return `${body}`; +} + +test("rejects a missing page, absent source link, and broken local href", async (t) => { + const missingPageFixture = await createFixture(t, (catalogDir) => + rm(path.join(catalogDir, "pages", `${slugs[0]}.md`)) + ); + const noSourceFixture = await createFixture(t, async (catalogDir) => { + const pagePath = path.join(catalogDir, "pages", `${slugs[0]}.md`); + const page = await readFile(pagePath, "utf8"); + await writeFile(pagePath, page.replace("/blob/", "/tree/")); + }); + const brokenHrefFixture = await createFixture(t, async (catalogDir) => { + const pagePath = path.join(catalogDir, "site", "pages", `${slugs[0]}.html`); + const page = await readFile(pagePath, "utf8"); + await writeFile(pagePath, page.replace("", 'Missing')); + }); + + await assert.rejects(verifyCatalog(missingPageFixture), /missing generated page/); + await assert.rejects(verifyCatalog(noSourceFixture), /immutable source link/); + await assert.rejects(verifyCatalog(brokenHrefFixture), /broken local link/); +}); + +test("rejects an unpinned commit, broken fragment, and broken src", async (t) => { + const wrongCommit = await createFixture(t, async (catalogDir) => { + const catalogPath = path.join(catalogDir, "catalog.json"); + const catalog = JSON.parse(await readFile(catalogPath, "utf8")); + catalog.source_commit = "a".repeat(40); + await writeFile(catalogPath, `${JSON.stringify(catalog, null, 2)}\n`); + }); + const brokenFragment = await createFixture(t, async (catalogDir) => { + const pagePath = path.join(catalogDir, "site", "pages", `${slugs[0]}.html`); + const page = await readFile(pagePath, "utf8"); + await writeFile(pagePath, page.replace("#details", "#missing-anchor")); + }); + const brokenSrc = await createFixture(t, async (catalogDir) => { + const pagePath = path.join(catalogDir, "site", "pages", `${slugs[0]}.html`); + const page = await readFile(pagePath, "utf8"); + await writeFile(pagePath, page.replace("", '')); + }); + + await assert.rejects(verifyCatalog(wrongCommit), /pinned source commit/); + await assert.rejects(verifyCatalog(brokenFragment), /broken local link/); + await assert.rejects(verifyCatalog(brokenSrc), /broken local link/); +}); + +test("requires all 24 pages in navigation and search", async (t) => { + const validFixture = await createFixture(t); + const result = await verifyCatalog(validFixture); + + assert.equal(result.coverage.markdown_pages, 24); + assert.equal(result.coverage.html_pages, 24); + assert.equal(result.coverage.navigation_pages, 24); + assert.equal(result.coverage.search_pages, 24); + assert.deepEqual(result.broken_links, []); +}); + +test("rejects missing llms artifacts, credential-like content, and missing coverage", async (t) => { + const missingLlms = await createFixture(t, (catalogDir) => + writeFile(path.join(catalogDir, "site", "llms.txt"), "") + ); + const credentialLeak = await createFixture(t, (catalogDir) => + writeFile(path.join(catalogDir, "site", "sourcey.js"), "const token = 'ghp_example';\n") + ); + const missingNavigation = await createFixture(t, async (catalogDir) => { + const indexPath = path.join(catalogDir, "site", "index.html"); + const index = await readFile(indexPath, "utf8"); + await writeFile(indexPath, index.replace(`${slugs[0]}`, "")); + }); + const missingSearch = await createFixture(t, async (catalogDir) => { + const searchPath = path.join(catalogDir, "site", "search-index.json"); + const search = JSON.parse(await readFile(searchPath, "utf8")); + await writeFile(searchPath, `${JSON.stringify(search.filter(({ title }) => title !== slugs[0]))}\n`); + }); + + await assert.rejects(verifyCatalog(missingLlms), /missing or empty llms artifact/); + await assert.rejects(verifyCatalog(credentialLeak), /credential-like string/); + await assert.rejects(verifyCatalog(missingNavigation), /navigation coverage/); + await assert.rejects(verifyCatalog(missingSearch), /search coverage/); +}); + +test("returns the same packet for unchanged inputs", async (t) => { + const fixture = await createFixture(t); + + assert.deepEqual(await verifyCatalog(fixture), await verifyCatalog(fixture)); +}); + +test("recognizes structured output headings and emits only grounded gaps", async (t) => { + const fixture = await createFixture(t, async (catalogDir) => { + for (const slug of slugs) { + const pagePath = path.join(catalogDir, "pages", `${slug}.md`); + const page = await readFile(pagePath, "utf8"); + await writeFile(pagePath, `${page}\n## Structured Output\n\nDocumented fields.\n`); + } + }); + + const result = await verifyCatalog(fixture); + + assert.equal(result.gaps.some(({ id }) => id === "missing-output-contracts"), false); + assert.equal(result.gaps.every(({ affected_paths: affectedPaths }) => affectedPaths.length > 0), true); +}); From ebc8d6caf1df4ea21359ee6161c46041b8be8511 Mon Sep 17 00:00:00 2001 From: Jackson Lau <2435719954@qq.com> Date: Thu, 16 Jul 2026 18:19:28 +0800 Subject: [PATCH 2/2] fix(docs): make Sourcey catalog build self-contained --- docs/sourcey-catalog/build.mjs | 12 ++++-------- docs/sourcey-catalog/build.test.mjs | 2 ++ docs/sourcey-catalog/sourcey.config.ts | 12 ++++-------- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/docs/sourcey-catalog/build.mjs b/docs/sourcey-catalog/build.mjs index f0d591c61..ede880701 100644 --- a/docs/sourcey-catalog/build.mjs +++ b/docs/sourcey-catalog/build.mjs @@ -36,9 +36,7 @@ export function renderSourceyConfig(catalog) { " }," ].join("\n")).join("\n"); - return `import { defineConfig, markdown } from "sourcey"; - -export default defineConfig({ + return `export default { name: "Runx Governed Skill Catalog", siteUrl: "https://github.com", baseUrl: "/runxhq/runx", @@ -54,15 +52,13 @@ export default defineConfig({ { tab: "Skills", slug: "", - source: markdown({ - groups: [ + groups: [ ${renderedGroups} - ], - }), + ], }, ], }, -}); +}; `; } diff --git a/docs/sourcey-catalog/build.test.mjs b/docs/sourcey-catalog/build.test.mjs index b9bec1a0f..b08f8aa7f 100644 --- a/docs/sourcey-catalog/build.test.mjs +++ b/docs/sourcey-catalog/build.test.mjs @@ -28,6 +28,8 @@ test("config exposes every manifest page once after introduction in catalog grou assert.match(config, /repo: "https:\/\/github\.com\/runxhq\/runx"/); assert.match(config, /editBranch: "main"/); assert.match(config, /editBasePath: "docs\/sourcey-catalog"/); + assert.doesNotMatch(config, /from "sourcey"/); + assert.match(config, /groups: \[/); assert.deepEqual( [...config.matchAll(/group: "([^"]+)"/g)].map((match) => match[1]), expectedGroups diff --git a/docs/sourcey-catalog/sourcey.config.ts b/docs/sourcey-catalog/sourcey.config.ts index 623618f52..e42b12348 100644 --- a/docs/sourcey-catalog/sourcey.config.ts +++ b/docs/sourcey-catalog/sourcey.config.ts @@ -1,6 +1,4 @@ -import { defineConfig, markdown } from "sourcey"; - -export default defineConfig({ +export default { name: "Runx Governed Skill Catalog", siteUrl: "https://github.com", baseUrl: "/runxhq/runx", @@ -16,8 +14,7 @@ export default defineConfig({ { tab: "Skills", slug: "", - source: markdown({ - groups: [ + groups: [ { group: "Introduction", pages: ["pages/introduction"], @@ -42,9 +39,8 @@ export default defineConfig({ group: "Outbound and tooling", pages: ["pages/governed-outbound", "pages/run-history", "pages/sourcey"], }, - ], - }), + ], }, ], }, -}); +};