token-furnace 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,6 +36,26 @@ function classifyPrompt(text) {
36
36
  }
37
37
  return "human";
38
38
  }
39
+ var UUID_RE = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
40
+ function humanizeStem(stem) {
41
+ const words = stem.split(/[-_\s]+/).filter(Boolean);
42
+ if (!words.length) return "";
43
+ const parts = words.map((w) => /[a-z]/.test(w) ? w.toLowerCase() : w);
44
+ parts[0] = parts[0].charAt(0).toUpperCase() + parts[0].slice(1);
45
+ return parts.join(" ");
46
+ }
47
+ function deriveHandoffTitle(text) {
48
+ const start = /^\s*(?:please\s+)?read\s+(\S+)/i.exec(text);
49
+ if (!start) return null;
50
+ const token = start[1].replace(/^["'`]|["'`]$/g, "").replace(/[.,;:]+$/, "");
51
+ if (!/[\\/]/.test(token)) return null;
52
+ const base = token.split(/[\\/]/).pop() ?? "";
53
+ const stem = base.replace(/\.[^.]+$/, "");
54
+ if (!stem) return null;
55
+ if (UUID_RE.test(stem) || /^[0-9a-f]{16,}$/i.test(stem)) return { opaque: true };
56
+ const title = humanizeStem(stem);
57
+ return title ? { title } : null;
58
+ }
39
59
  function extractCodexTitle(text) {
40
60
  if (!text) return null;
41
61
  const trimmed = text.trim();
@@ -45,6 +65,11 @@ function extractCodexTitle(text) {
45
65
  for (const line of trimmed.split(/\r?\n/)) {
46
66
  const l = line.trim();
47
67
  if (l && !l.startsWith("#") && !l.startsWith("<")) {
68
+ const handoff = deriveHandoffTitle(l);
69
+ if (handoff) {
70
+ if ("title" in handoff) return handoff.title;
71
+ return null;
72
+ }
48
73
  const single = l.split(/\s+/).join(" ");
49
74
  return single.slice(0, 80) || null;
50
75
  }
@@ -323,6 +348,8 @@ function userTitle(record) {
323
348
  const command = /<command-name>(.*?)<\/command-name>/.exec(content);
324
349
  const args = /<command-args>(.*?)<\/command-args>/s.exec(content);
325
350
  const text = command ? `${command[1]} ${args ? args[1] : ""}` : content;
351
+ const handoff = deriveHandoffTitle(text);
352
+ if (handoff) return "title" in handoff ? handoff.title : null;
326
353
  return text.split(/\s+/).join(" ").trim().slice(0, 80) || null;
327
354
  }
328
355
  function assistantTurn(record, project, session, wakes) {
@@ -456,6 +483,26 @@ var CodexSource = class {
456
483
  walk(this.root(), out);
457
484
  return out.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
458
485
  }
486
+ /**
487
+ * Reads $CODEX_HOME/session_index.jsonl if present and returns Map<fullId, thread_name>.
488
+ * Append-only format; later entries win.
489
+ */
490
+ sessionMetadata() {
491
+ const out = /* @__PURE__ */ new Map();
492
+ const content = this.readFile("session_index.jsonl");
493
+ if (!content) return out;
494
+ for (const line of content.split(/\r?\n/)) {
495
+ if (!line.trim()) continue;
496
+ const record = jsonParse(line);
497
+ if (record && typeof record.id === "string" && typeof record.thread_name === "string") {
498
+ const title = record.thread_name.trim();
499
+ if (title) {
500
+ out.set(record.id, title);
501
+ }
502
+ }
503
+ }
504
+ return out;
505
+ }
459
506
  /**
460
507
  * Codex logs usage in event_msg/token_count and tool calls in separate records.
461
508
  *
@@ -656,4 +703,4 @@ export {
656
703
  OpenCodeSource,
657
704
  createSources
658
705
  };
659
- //# sourceMappingURL=chunk-NWWOUZSD.js.map
706
+ //# sourceMappingURL=chunk-ZDEH6X4O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sources/opencode.ts","../src/sources/agent-source.ts","../src/sources/claude.ts","../src/sources/lines.ts","../src/sources/codex.ts","../src/sources/ignored-output-wasm.ts","../src/sources/ignored-output.ts","../src/sources/index.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { basename, join } from \"node:path\";\nimport { DatabaseSync } from \"node:sqlite\";\nimport type { ParsedFile, SourceFile, Turn, Wake } from \"../core/model\";\nimport { isRead, jsonParse, num, type AgentSource, type Env } from \"./agent-source\";\n\n/** OpenCode's current SQLite store. Connections are read-only, including live WAL data. */\nexport class OpenCodeSource implements AgentSource {\n readonly name = \"opencode\" as const;\n constructor(private readonly env: Env) {}\n home(): string { return join(this.env.XDG_DATA_HOME || join(this.env.HOME || homedir(), \".local\", \"share\"), \"opencode\"); }\n base(): string { return this.env.OPENCODE_DATA_DIR || this.home(); }\n root(): string { return join(this.base(), \"opencode.db\"); }\n readFile(name: string): string | null {\n try { return readFileSync(join(this.base(), name), \"utf8\"); } catch { return null; }\n }\n\n // Virtual session paths use a row count for size: cache invalidation needs no text payloads.\n files(): SourceFile[] {\n if (!existsSync(this.root())) return [];\n return this.read((db) => (db.prepare(`SELECT s.id,\n max(s.time_updated, coalesce((SELECT max(time_updated) FROM message WHERE session_id = s.id), 0),\n coalesce((SELECT max(time_updated) FROM part WHERE session_id = s.id), 0)) AS updated,\n (SELECT count(*) FROM message WHERE session_id = s.id) +\n (SELECT count(*) FROM part WHERE session_id = s.id) AS size\n FROM session s ORDER BY s.id`).all() as unknown as { id: string; updated: number; size: number }[])\n .map((row) => ({ path: `${this.root()}#${encodeURIComponent(row.id)}`, mtimeMs: row.updated, size: row.size })));\n }\n\n parse(path: string): ParsedFile {\n const prefix = `${this.root()}#`;\n if (!path.startsWith(prefix)) throw new Error(\"Invalid OpenCode session path\");\n const id = decodeURIComponent(path.slice(prefix.length));\n return this.read((db) => {\n const session = db.prepare(\"SELECT directory, title FROM session WHERE id = ?\").get(id) as { directory: string; title: string } | undefined;\n if (!session) return { turns: [], title: null, badLines: 0 };\n const messages = db.prepare(\"SELECT id, time_created, data FROM message WHERE session_id = ? ORDER BY time_created, id\");\n // Project only tool metadata: large text/tool outputs never enter the parser or cache.\n const parts = db.prepare(`SELECT json_extract(data, '$.tool') AS tool,\n json_extract(data, '$.state.input.command') AS command FROM part\n WHERE message_id = ? AND CASE WHEN json_valid(data) THEN json_extract(data, '$.type') = 'tool' ELSE 0 END ORDER BY id`);\n const turns: Turn[] = [];\n let wakes: Wake[] = [], badLines = 0;\n for (const row of messages.iterate(id)) {\n const data = jsonParse(String(row.data));\n if (!data) { badLines++; continue; }\n if (data.role === \"user\") { wakes.push(\"human\"); continue; }\n if (data.role !== \"assistant\" || !data.tokens) continue;\n const usage = data.tokens;\n const when = new Date(data.time?.created ?? Number(row.time_created));\n if (!Number.isFinite(+when)) { badLines++; continue; }\n const calls = parts.all(row.id);\n turns.push({ source: this.name, session: id, project: basename(session.directory || \"\") || \"?\",\n model: data.providerID ? `${data.providerID}/${data.modelID ?? \"\"}` : String(data.modelID ?? \"\"), when, baseIn: num(usage.input),\n cacheRead: num(usage.cache?.read), cacheWrite: num(usage.cache?.write),\n output: num(usage.output) + num(usage.reasoning),\n tools: calls.map((call) => String(call.tool ?? \"\")),\n reads: calls.filter((call) => isRead(call.tool, call.command)).length, wakes });\n wakes = [];\n }\n return { turns, title: session.title || null, badLines };\n });\n }\n\n private read<T>(run: (db: DatabaseSync) => T): T {\n const db = new DatabaseSync(this.root(), { readOnly: true });\n try { db.exec(\"PRAGMA busy_timeout = 5000; BEGIN\"); return run(db); } finally { db.close(); }\n }\n}\n","import { readdirSync } from \"node:fs\";\nimport type { ParsedFile, Source, SourceFile, Week } from \"../core/model\";\n\n/** Read-only adapter for one agent's transcripts on disk. */\nexport interface AgentSource {\n name: Source;\n /** Directory that proves the agent is installed. */\n root(): string;\n files(): SourceFile[];\n parse(path: string): ParsedFile;\n /** The agent's own directory: CLAUDE_CONFIG_DIR or ~/.claude, CODEX_HOME or ~/.codex. */\n base(): string;\n /** The directory the agent uses when its env var is unset. */\n home(): string;\n /** Raw text of a file in the agent's own directory, or null when it is not there. */\n readFile(name: string): string | null;\n /** The agent's 7-day usage window from local data, when it logs one. */\n week?(now: Date): Week | null;\n /** MEMORY.md indexes the agent loads, with their line counts. Claude only. */\n memoryIndexes?(): { path: string; lines: number }[];\n /** Map of full session ID to native thread/session title, if the agent stores an index. */\n sessionMetadata?(): Map<string, string>;\n}\n\nexport type Env = Record<string, string | undefined>;\n\n/** A shell command that reads files or logs into the caller's context. burn.py:96 */\nconst READ_COMMAND =\n /(?:^|&&|;|\\|\\||\\n)\\s*(?:sed -n|grep|rg|cat|head|tail|awk|jq|find|python3? -c?(?:\\s|$))/;\n\nconst WINDOWS_READ_COMMAND =\n /(?:^|&&|;|\\|\\||\\||\\n)\\s*(?:Get-Content|Select-String|gc|cat|type|sls)(?:\\s|$)/i;\n\nconst READ_TOOLS = new Set([\"Read\", \"Grep\", \"Glob\", \"read\", \"grep\", \"glob\"]);\n\nexport function isRead(name: unknown, command: unknown): boolean {\n if (typeof name === \"string\" && READ_TOOLS.has(name)) return true;\n const text = typeof command === \"string\" ? command.trim() : \"\";\n return text !== \"\" && (READ_COMMAND.test(text) || WINDOWS_READ_COMMAND.test(text));\n}\n\n/** What a user record means: a wakeup kind, a human prompt, or null (harness noise). burn.py:105 */\nexport function classifyPrompt(text: string): \"human\" | \"teammate\" | \"task\" | \"peer\" | null {\n if (text.includes(\"<teammate-message\")) return \"teammate\";\n if (text.includes(\"<task-notification\")) return \"task\";\n if (text.includes(\"<cross-session-message\")) return \"peer\";\n const body = text.trimStart();\n if (\n !body ||\n body.startsWith(\"<\") ||\n body.startsWith(\"This session is being continued\") ||\n body.startsWith(\"Base directory for this skill\")\n ) {\n return null;\n }\n return \"human\";\n}\n\n/** A full UUID anywhere in a string. */\nconst UUID_RE = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;\n\n/** Readable words from a file stem: first word capitalized, acronyms kept, the rest lower case. */\nfunction humanizeStem(stem: string): string {\n const words = stem.split(/[-_\\s]+/).filter(Boolean);\n if (!words.length) return \"\";\n const parts = words.map((w) => (/[a-z]/.test(w) ? w.toLowerCase() : w));\n parts[0] = parts[0].charAt(0).toUpperCase() + parts[0].slice(1);\n return parts.join(\" \");\n}\n\n/**\n * A readable title from a handoff prompt, or null. A handoff begins with Read or Please read and a\n * path; the path must carry a separator, so ordinary prose never matches. The stem becomes readable\n * words, or `opaque` when it names a UUID or a hash (the caller then falls back to project plus id).\n */\nexport function deriveHandoffTitle(text: string): { title: string } | { opaque: true } | null {\n const start = /^\\s*(?:please\\s+)?read\\s+(\\S+)/i.exec(text);\n if (!start) return null;\n const token = start[1].replace(/^[\"'`]|[\"'`]$/g, \"\").replace(/[.,;:]+$/, \"\");\n if (!/[\\\\/]/.test(token)) return null; // a path needs a separator\n const base = token.split(/[\\\\/]/).pop() ?? \"\";\n const stem = base.replace(/\\.[^.]+$/, \"\"); // drop an extension, if any\n if (!stem) return null;\n if (UUID_RE.test(stem) || /^[0-9a-f]{16,}$/i.test(stem)) return { opaque: true };\n const title = humanizeStem(stem);\n return title ? { title } : null;\n}\n\n/** Extract clean fallback title for Codex sessions, skipping AGENTS/prompt preamble. */\nexport function extractCodexTitle(text: string): string | null {\n if (!text) return null;\n const trimmed = text.trim();\n if (\n !trimmed ||\n trimmed.startsWith(\"<\") ||\n trimmed.startsWith(\"# AGENTS.md\") ||\n trimmed.startsWith(\"# CLAUDE.md\") ||\n trimmed.startsWith(\"Base directory for this skill\") ||\n trimmed.startsWith(\"This session is being continued\")\n ) {\n return null;\n }\n for (const line of trimmed.split(/\\r?\\n/)) {\n const l = line.trim();\n if (l && !l.startsWith(\"#\") && !l.startsWith(\"<\")) {\n const handoff = deriveHandoffTitle(l);\n if (handoff) {\n if (\"title\" in handoff) return handoff.title;\n // Opaque handoff path: return null so caller defaults to project + short ID\n return null;\n }\n const single = l.split(/\\s+/).join(\" \");\n return single.slice(0, 80) || null;\n }\n }\n return null;\n}\n\n/** ISO time to a Date, or null when it is not a time. burn.py:74 */\nexport function parseTime(value: unknown): Date | null {\n if (typeof value !== \"string\") return null;\n const when = new Date(value);\n return Number.isNaN(when.getTime()) ? null : when;\n}\n\n/** One transcript line, or null when the line is not valid JSON. */\nexport function jsonParse(line: string): Record<string, any> | null {\n try {\n const value = JSON.parse(line);\n return value !== null && typeof value === \"object\" ? (value as Record<string, any>) : null;\n } catch {\n return null;\n }\n}\n\n/** A directory listing that treats a missing directory as empty. */\nexport function readDirSafe(dir: string): string[] {\n try {\n return readdirSync(dir);\n } catch {\n return [];\n }\n}\n\n/** Token count, with a missing or null value as zero, like Python's `or 0`. */\nexport function num(value: unknown): number {\n return typeof value === \"number\" ? value : 0;\n}\n","import { readFileSync, statSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { basename, dirname, join } from \"node:path\";\nimport type { ParsedFile, SourceFile, Turn, Wake } from \"../core/model\";\nimport {\n classifyPrompt,\n deriveHandoffTitle,\n isRead,\n jsonParse,\n num,\n parseTime,\n readDirSafe,\n type AgentSource,\n type Env,\n} from \"./agent-source\";\nimport { lines } from \"./lines\";\n\n/** Claude Code transcripts under $CLAUDE_CONFIG_DIR/projects (default ~/.claude). burn.py:122-211 */\nexport class ClaudeSource implements AgentSource {\n readonly name = \"claude\" as const;\n\n constructor(private readonly env: Env) {}\n\n /** CLAUDE_CONFIG_DIR, or ~/.claude. burn.py:122 */\n base(): string {\n return this.env.CLAUDE_CONFIG_DIR || join(this.env.HOME || homedir(), \".claude\");\n }\n\n home(): string {\n return join(this.env.HOME || homedir(), \".claude\");\n }\n\n readFile(name: string): string | null {\n try {\n return readFileSync(join(this.base(), name), \"utf8\");\n } catch {\n return null;\n }\n }\n\n /** Every MEMORY.md under projects, with its line count. burn.py:502 */\n memoryIndexes(): { path: string; lines: number }[] {\n const root = this.root();\n const out: { path: string; lines: number }[] = [];\n for (const project of readDirSafe(root)) {\n const path = join(root, project, \"memory\", \"MEMORY.md\");\n let text: string | null = null;\n try {\n text = readFileSync(path, \"utf8\");\n } catch {\n continue;\n }\n out.push({ path, lines: countLines(text) });\n }\n return out;\n }\n\n root(): string {\n return join(this.base(), \"projects\");\n }\n\n files(): SourceFile[] {\n const root = this.root();\n const out: SourceFile[] = [];\n for (const project of readDirSafe(root)) {\n for (const name of readDirSafe(join(root, project))) {\n if (!name.endsWith(\".jsonl\")) continue;\n const path = join(root, project, name);\n try {\n const stat = statSync(path);\n out.push({ path, mtimeMs: stat.mtimeMs, size: stat.size });\n } catch {\n continue;\n }\n }\n }\n return out.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));\n }\n\n /**\n * One streaming pass: turns, title and bad lines together. burn.py:141, 168\n *\n * A transcript can reach 300 MB, so the file is never held in memory.\n */\n parse(path: string): ParsedFile {\n // The directory name encodes the whole path; the record's cwd names the project.\n let project = basename(dirname(path));\n const session = basename(path).slice(0, -6);\n const turns: Turn[] = [];\n let wakes: Wake[] = [];\n let title: string | null = null;\n let first: string | null = null;\n let bad = 0;\n\n for (const line of lines(path)) {\n const titled = line.includes('\"customTitle\"') || line.includes('\"aiTitle\"');\n const isCandidate = candidate(line);\n const isUser = line.includes('\"user\"');\n // Once `first` is set, later user lines are ignored: the first prompt is the title.\n const wantsTitle = titled || (first === null && isUser);\n if (!wantsTitle && !isCandidate) continue;\n const record = jsonParse(line);\n if (record === null) {\n if (titled || isCandidate) bad += 1; // a bad line is counted once, never fatal\n continue;\n }\n if (titled) {\n const value = record.customTitle || record.aiTitle;\n if (value) title = String(value);\n }\n if (wantsTitle && !titled && record.type === \"user\" && !record.isMeta) {\n first = userTitle(record) ?? first;\n }\n if (!isCandidate) continue;\n project = basename(String(record.cwd || \"\").replace(/\\/+$/, \"\")) || project;\n if (record.type === \"user\") {\n const kind = userWake(record);\n if (kind) wakes.push(kind);\n continue;\n }\n if (record.type !== \"assistant\") continue;\n const turn = assistantTurn(record, project, session, wakes);\n if (turn) {\n turns.push(turn);\n wakes = [];\n }\n }\n return { turns, title: title ?? first, badLines: bad };\n }\n}\n\n/** The session title from a user record, or null. burn.py:141 */\nfunction userTitle(record: Record<string, any>): string | null {\n const content = record.message?.content;\n if (typeof content !== \"string\" || content.startsWith(\"<local-command\")) return null;\n const command = /<command-name>(.*?)<\\/command-name>/.exec(content);\n const args = /<command-args>(.*?)<\\/command-args>/s.exec(content);\n const text = command ? `${command[1]} ${args ? args[1] : \"\"}` : content;\n const handoff = deriveHandoffTitle(text);\n if (handoff) return \"title\" in handoff ? handoff.title : null;\n return text.split(/\\s+/).join(\" \").trim().slice(0, 80) || null;\n}\n\n/** One assistant record as a Turn, or null when it carries no usage. burn.py:168 */\nfunction assistantTurn(\n record: Record<string, any>,\n project: string,\n session: string,\n wakes: Wake[],\n): Turn | null {\n const when = parseTime(record.timestamp);\n if (when === null) return null;\n const message = record.message || {};\n const usage = message.usage;\n if (!usage || Object.keys(usage).length === 0) return null;\n const calls = (message.content || []).filter(\n (block: any) => block && typeof block === \"object\" && block.type === \"tool_use\",\n );\n return {\n source: \"claude\",\n project,\n session,\n model: String(message.model ?? \"\"),\n when,\n baseIn: num(usage.input_tokens),\n cacheRead: num(usage.cache_read_input_tokens),\n cacheWrite: num(usage.cache_creation_input_tokens),\n output: num(usage.output_tokens),\n tools: calls.map((block: any) => String(block.name ?? \"\")),\n reads: calls.filter((block: any) => isRead(block.name, block.input?.command)).length,\n wakes,\n };\n}\n\n/** Python counts lines by iterating the file, so a last line without a newline still counts. */\nfunction countLines(text: string): number {\n const parts = text.split(\"\\n\");\n return parts[parts.length - 1] === \"\" ? parts.length - 1 : parts.length;\n}\n\n/** A line the Claude parsers look at: an assistant record, or a user record without a tool result. */\nfunction candidate(line: string): boolean {\n const isUser = line.includes('\"user\"') && !line.includes('\"tool_result\"');\n return line.includes('\"assistant\"') || isUser;\n}\n\n/** What a user record means, or null for harness noise. burn.py:131 */\nfunction userWake(record: Record<string, any>): Wake | null {\n if (record.isMeta) return null;\n let content = record.message?.content;\n if (Array.isArray(content)) {\n content = content\n .filter((block: any) => block && typeof block === \"object\" && block.type === \"text\")\n .map((block: any) => block.text ?? \"\")\n .join(\" \");\n }\n return typeof content === \"string\" ? classifyPrompt(content) : null;\n}","import { closeSync, openSync, readSync } from \"node:fs\";\n\n/** Chunk size for the line reader: big enough to be fast, small enough to stay cheap. */\nconst CHUNK = 1 << 20;\nconst LF = 0x0a;\n\n/**\n * Tests one complete line, bounded by `start` and `end` inside `bytes`, before the reader decodes\n * it. A true result drops the line. The bytes are the reader's own chunk, so the test must not\n * keep or mutate them.\n */\nexport type Skip = (bytes: Buffer, start: number, end: number) => boolean;\n\n/**\n * A file's lines, one at a time. A rollout transcript reaches 300 MB, so the parser must never\n * hold the whole file or a split copy of it. burn.py iterates the same lines with `for line in fh`.\n *\n * The reader scans raw bytes for `\\n` and decodes each complete line once. The buffer is reused,\n * so bytes of a line that crosses a chunk are copied into `pending` and joined at the newline.\n *\n * When `skip` is given it sees each whole line as raw bytes before the decode; a line it accepts is\n * never decoded. Lines that cross a chunk are joined first, so `skip` always sees one whole line.\n */\nexport function* lines(path: string, skip?: Skip): Generator<string> {\n const fd = openSync(path, \"r\");\n try {\n const chunk = Buffer.allocUnsafe(CHUNK);\n let pending: Buffer[] = [];\n for (;;) {\n const read = readSync(fd, chunk, 0, chunk.length, null);\n if (read === 0) break;\n const view = chunk.subarray(0, read);\n let start = 0;\n for (;;) {\n const nl = view.indexOf(LF, start);\n if (nl === -1) break;\n if (pending.length === 0) {\n if (!skip || !skip(view, start, nl)) yield view.toString(\"utf8\", start, nl);\n } else {\n pending.push(view.subarray(start, nl));\n const bytes = Buffer.concat(pending);\n pending = [];\n if (!skip || !skip(bytes, 0, bytes.length)) yield bytes.toString(\"utf8\");\n }\n start = nl + 1;\n }\n if (start < read) pending.push(Buffer.from(view.subarray(start, read)));\n }\n if (pending.length > 0) {\n const bytes = Buffer.concat(pending);\n if (!skip || !skip(bytes, 0, bytes.length)) yield bytes.toString(\"utf8\");\n }\n } finally {\n closeSync(fd);\n }\n}\n","import { closeSync, openSync, readFileSync, readSync, statSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { basename, join } from \"node:path\";\nimport type { ParsedFile, SourceFile, Turn, Wake, Week } from \"../core/model\";\nimport {\n classifyPrompt,\n extractCodexTitle,\n isRead,\n jsonParse,\n num,\n parseTime,\n readDirSafe,\n type AgentSource,\n type Env,\n} from \"./agent-source\";\nimport { isIgnoredOutput } from \"./ignored-output\";\nimport { lines } from \"./lines\";\n\nconst ROLLOUT = /^rollout-.*\\.jsonl$/;\n\n/** Codex transcripts under $CODEX_HOME/sessions (default ~/.codex). burn.py:212-282 */\nexport class CodexSource implements AgentSource {\n readonly name = \"codex\" as const;\n\n constructor(private readonly env: Env) {}\n\n base(): string {\n return this.env.CODEX_HOME || join(this.env.HOME || homedir(), \".codex\");\n }\n\n home(): string {\n return join(this.env.HOME || homedir(), \".codex\");\n }\n\n readFile(name: string): string | null {\n try {\n return readFileSync(join(this.base(), name), \"utf8\");\n } catch {\n return null;\n }\n }\n\n root(): string {\n return join(this.base(), \"sessions\");\n }\n\n files(): SourceFile[] {\n const out: SourceFile[] = [];\n walk(this.root(), out);\n return out.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));\n }\n\n /**\n * Reads $CODEX_HOME/session_index.jsonl if present and returns Map<fullId, thread_name>.\n * Append-only format; later entries win.\n */\n sessionMetadata(): Map<string, string> {\n const out = new Map<string, string>();\n const content = this.readFile(\"session_index.jsonl\");\n if (!content) return out;\n for (const line of content.split(/\\r?\\n/)) {\n if (!line.trim()) continue;\n const record = jsonParse(line);\n if (record && typeof record.id === \"string\" && typeof record.thread_name === \"string\") {\n const title = record.thread_name.trim();\n if (title) {\n out.set(record.id, title);\n }\n }\n }\n return out;\n }\n\n /**\n * Codex logs usage in event_msg/token_count and tool calls in separate records.\n *\n * input_tokens already includes the cached portion, unlike Claude Code, so base input is\n * the difference. output_tokens already includes reasoning tokens.\n */\n parse(path: string): ParsedFile {\n let project = \"?\";\n let session = basename(path);\n let model = \"\";\n let pendingTools: string[] = [];\n let pendingReads = 0;\n let wakes: Wake[] = [];\n let messageWakes: [string, Wake][] = [];\n let title: string | null = null;\n const eventMessages = new Map<string, number>();\n const seenCalls = new Set<string>();\n let lastTotal: number | null = null;\n const turns: Turn[] = [];\n let bad = 0;\n\n for (const line of lines(path, isIgnoredOutput)) {\n const record = jsonParse(line);\n if (record === null) {\n if (line.trim() !== \"\") bad += 1;\n continue;\n }\n const payload = record.payload || {};\n const kind = record.type;\n\n if (kind === \"session_meta\") {\n project = basename(String(payload.cwd || \"\").replace(/\\/+$/, \"\")) || project;\n session = String(payload.id || session).slice(0, 8);\n continue;\n }\n if (kind === \"turn_context\") {\n model = String(payload.model || model);\n continue;\n }\n if (payload.type === \"function_call\" || payload.type === \"custom_tool_call\") {\n if (typeof payload.call_id === \"string\") seenCalls.add(payload.call_id);\n pendingTools.push(String(payload.name ?? \"\"));\n const raw = payload.arguments ?? payload.input;\n const args = typeof raw === \"string\" ? jsonParse(raw) : null;\n const command = args?.cmd ?? args?.command ?? raw;\n pendingReads += (Array.isArray(command) ? command.some((c) => isRead(null, c)) : isRead(null, command)) ? 1 : 0;\n continue;\n }\n if (payload.type === \"item_completed\" && payload.item?.type === \"CommandExecution\") {\n const item = payload.item;\n if (typeof item.id === \"string\") {\n if (seenCalls.has(item.id)) continue;\n seenCalls.add(item.id);\n }\n // Code-mode wrappers log the commands they actually executed separately.\n pendingTools.push(\"exec_command\");\n const command = Array.isArray(item.command) ? item.command.join(\" \") : item.command;\n const shellCommand = Array.isArray(item.command) && item.command.some((arg: unknown) => typeof arg === \"string\" && [\"-lc\", \"-c\", \"-command\"].includes(arg.toLowerCase()))\n ? item.command.at(-1) : command;\n pendingReads += isRead(null, shellCommand) ? 1 : 0;\n continue;\n }\n if (kind === \"response_item\" && payload.type === \"message\" && payload.role === \"user\") {\n const text = Array.isArray(payload.content)\n ? payload.content.map((c: any) => typeof c.text === \"string\" ? c.text : \"\").join(\"\\n\")\n : \"\";\n if (!title && Array.isArray(payload.content)) {\n for (const c of payload.content) {\n if (typeof c?.text === \"string\") {\n const candidate = extractCodexTitle(c.text);\n if (candidate) {\n title = candidate;\n break;\n }\n }\n }\n }\n const wake = classifyPrompt(text);\n if (wake) messageWakes.push([text.trim(), wake]);\n continue;\n }\n if (payload.type === \"user_message\") {\n const text = String(payload.message || \"\").trim();\n if (!title) {\n title = extractCodexTitle(text);\n }\n const wake = classifyPrompt(text);\n if (wake) wakes.push(wake);\n eventMessages.set(text, (eventMessages.get(text) ?? 0) + 1);\n continue;\n }\n if (payload.type !== \"token_count\") continue;\n\n const usage = payload.info?.last_token_usage;\n if (!usage || Object.keys(usage).length === 0) continue;\n const when = parseTime(record.timestamp);\n if (when === null) continue;\n const total = payload.info?.total_token_usage?.total_tokens;\n if (typeof total === \"number\" && Number.isFinite(total)) {\n if (total === lastTotal) continue; // Quota updates can repeat the previous turn's usage.\n lastTotal = total;\n }\n const cached = num(usage.cached_input_tokens);\n const tools = pendingTools;\n const reads = pendingReads;\n pendingTools = [];\n pendingReads = 0;\n for (const [text, wake] of messageWakes) {\n const matching = eventMessages.get(text) ?? 0;\n if (matching) eventMessages.set(text, matching - 1);\n else wakes.push(wake);\n }\n turns.push({\n source: \"codex\",\n project,\n session,\n model,\n when,\n baseIn: Math.max(num(usage.input_tokens) - cached, 0),\n cacheRead: cached,\n cacheWrite: 0,\n output: num(usage.output_tokens),\n tools,\n reads,\n wakes,\n });\n wakes = [];\n messageWakes = [];\n eventMessages.clear();\n }\n return { turns, title, badLines: bad };\n }\n\n /**\n * Codex's 7-day window from the rate_limits it logs in each session; null when unknown. No\n * network. burn.py:926\n *\n * Scans the newest rollouts until a live reading turns up: the most recently touched file is\n * often a non-subscription (eval/tooling) session that logs no rate_limits at all.\n */\n week(now: Date): Week | null {\n const files = [...this.files()].sort((a, b) => b.mtimeMs - a.mtimeMs).slice(0, 200);\n for (const file of files) {\n for (const line of tail(file.path, file.size).reverse()) {\n if (!line.includes('\"rate_limits\"')) continue;\n const record = jsonParse(line);\n const limits = record?.payload?.rate_limits;\n const week = [limits?.primary, limits?.secondary].find(\n (w: any) => w && w.window_minutes === 10080,\n );\n const resets = epoch(week?.resets_at);\n if (resets === null) continue;\n if (resets <= now.getTime()) break; // this file's newest reading ended; try an older one\n return {\n start: new Date(resets - 7 * 86_400_000),\n resets: new Date(resets),\n used: Number(week.used_percent),\n };\n }\n }\n return null;\n }\n}\n\nfunction epoch(value: unknown): number | null {\n return typeof value === \"number\" && Number.isFinite(value) ? value * 1000 : null;\n}\n\n/** The last 256 KB of a rollout, oldest line first; callers walk it newest first, like burn.py:936. */\nfunction tail(path: string, size: number): string[] {\n const handle = openSync(path, \"r\");\n try {\n const buffer = Buffer.alloc(Math.min(size, 262_144));\n const read = readSync(handle, buffer, 0, buffer.length, Math.max(size - buffer.length, 0));\n return buffer.toString(\"utf8\", 0, read).split(\"\\n\");\n } finally {\n closeSync(handle);\n }\n}\n\nfunction walk(dir: string, out: SourceFile[]): void {\n for (const name of readDirSafe(dir)) {\n const path = join(dir, name);\n try {\n if (statSync(path).isDirectory()) {\n walk(path, out);\n } else if (ROLLOUT.test(name)) {\n const stat = statSync(path);\n out.push({ path, mtimeMs: stat.mtimeMs, size: stat.size });\n }\n } catch {\n continue;\n }\n }\n}\n","// Generated file. Do not edit by hand.\n// Source: native/ignored-output (Rust, serde + serde_json).\n// Rebuild: native/ignored-output/README.md\n// sha256 of the embedded wasm: f1f433a041cac2a13b5bfec71c667c42ec9cd809a7887f1689d5ca2cd090eefc\n// The wasm module exports alloc/dealloc/validate; see src/sources/ignored-output.ts.\nexport const WASM_BASE64 = \"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AigCBBCDgICAACEDIABBADYCACAAIAM2AgQMAgsgASACQS9qQYCAwIAAEIqAgIAAIAEQi4CAgAAhAyAAQQA2AgAgACADNgIEDAELIAIoAhQhBAJAIAdBAUcNACACIAQ2AiAgAiADNgIcIAJBBToAGCACQRhqIAJBL2pBgIDAgAAQjICAgAAgARCLgICAACEDIABBADYCACAAIAM2AgQMAQsgACAENgIEIAAgAzYCAAsgAkEwaiSAgICAAAudCwEIfyOAgICAAEEgayIDJICAgIAAAkACQAJAA0AgASgCCCEEIAEQ0YCAgAACQAJAAkACQCABKAIIIgUgASgCBCIGRg0AIAUgBk8NAQJAIAEoAgAiByAFai0AACIIQdwARg0AAkAgCEEiRg0AIAEgBUEBajYCCCADQRA2AhQgACABIANBFGoQ04CAgAAMCQsCQAJAIAIoAggiCEUNACAFIARPDQEgBCAFIAZB1MPAgAAQvICAgAAACwJAAkAgBSAESQ0AIAEgBUEBajYCCCADQQhqIAcgBGogBSAEaxC+gICAAAJAIAMoAggNACADKAIQIQEgAygCDCEFDAsLIANBDzYCFCADIAEgA0EUahDYgICAACADKAIAIgVFDQEgAygCBCEBDAoLIAQgBSAGQcTDwIAAELyAgIAAAAsgACADKAIENgIEIABBAjYCAAwJCwJAAkACQCAFIARrIgYgAigCACAIa00NACACIAggBhDPgICAACACKAIEIQkgAigCCCEIDAELIAIoAgQhCSAFIARGDQELIAZFDQAgCSAIaiAHIARqIAb8CgAACyABIAVBAWo2AgggAiAIIAZqIgU2AgggA0EIaiAJIAUQvoCAgAACQAJAIAMoAggNACADKAIQIQEgAygCDCEFDAELIANBDzYCFCADIAEgA0EUahDYgICAACADKAIAIgVFDQQgAygCBCEBCyAAIAE2AgggACAFNgIEIABBATYCAAwICwJAAkAgBSAESQ0AAkACQAJAIAUgBGsiCSACKAIAIAIoAggiCmtNDQAgAiAKIAkQz4CAgAAgAigCCCEKDAELIAUgBEYNAQsgCUUNACACKAIEIApqIAcgBGogCfwKAAALIAEgBUEBaiIINgIIIAIgCiAJaiIENgIIAkACQCAIIAZPDQAgASAFQQJqNgIIIAcgCGotAAAhBQwBCyADQQQ2AhQgA0EIaiABIANBFGoQ1ICAgAAgAy0ACA0CIAMtAAkhBQsCQAJAAkACQAJAAkACQAJAAkACQCAFQf8BcUFeag5UAgAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAUAAAAGAAAAAAAAAAcAAAAIAAkBAAsgA0EMNgIUIAEgA0EUahDVgICAACEFDBALIAEgAhDWgICAACIFRQ0ODA8LAkAgBCACKAIARw0AIAIQq4CAgAALIAIgBEEBajYCCCACKAIEIARqQSI6AAAMDAsCQCAEIAIoAgBHDQAgAhCrgICAAAsgAiAEQQFqNgIIIAIoAgQgBGpB3AA6AAAMCwsCQCAEIAIoAgBHDQAgAhCrgICAAAsgAiAEQQFqNgIIIAIoAgQgBGpBLzoAAAwKCwJAIAQgAigCAEcNACACEKuAgIAACyACIARBAWo2AgggAigCBCAEakEIOgAADAkLAkAgBCACKAIARw0AIAIQq4CAgAALIAIgBEEBajYCCCACKAIEIARqQQw6AAAMCAsCQCAEIAIoAgBHDQAgAhCrgICAAAsgAiAEQQFqNgIIIAIoAgQgBGpBCjoAAAwHCwJAIAQgAigCAEcNACACEKuAgIAACyACIARBAWo2AgggAigCBCAEakENOgAADAYLAkAgBCACKAIARw0AIAIQq4CAgAALIAIgBEEBajYCCCACKAIEIARqQQk6AAAMBQsgBCAFIAZB5MPAgAAQvICAgAAACyADKAIMIQUMBQsgA0EENgIUIAAgASADQRRqENOAgIAADAYLIAUgBkG0w8CAABC/gICAAAALIAAgAygCBDYCBCAAQQI2AgAMBAtBACEFQQBFDQALCyAAQQI2AgAgACAFNgIEDAELIAAgATYCCCAAIAU2AgQgAEEANgIACyADQSBqJICAgIAAC5ULAQh/I4CAgIAAQYABayIDJICAgIAAIAAoAgwhBAJAAkACQAJAAkACQAJAIAAoAhQiBSAAKAIQIgZPDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCAFai0AACIHQaV/ag4hBAsLCwsLCwsLCwsDCwsLCwsLCwELCwsLCwILCwsLCwsFAAsgB0Feag4MCQoKCgoKCgoKCgoICgsgACAFQQFqIgc2AhQgByAGTw0MIAAgBUECaiIINgIUAkAgBCAHai0AAEH1AEcNACAGIQcgBiAIRg0NIAAgBUEDaiIJNgIUAkAgBCAIai0AAEHsAEYNACAJIQgMAQsgBiEHIAkgBkYNDSAAIAVBBGoiCDYCFCAEIAlqLQAAQewARg0FCyADQQk2AnAgA0EYaiAEIAYgCBCCgICAACADQfAAaiADKAIYIAMoAhwQg4CAgAAhBQwQCyAAIAVBAWoiBzYCFCAHIAZPDQwgACAFQQJqIgg2AhQCQCAEIAdqLQAAQfIARw0AIAYhByAGIAhGDQ0gACAFQQNqIgk2AhQCQCAEIAhqLQAAQfUARg0AIAkhCAwBCyAGIQcgCSAGRg0NIAAgBUEEaiIINgIUIAQgCWotAABB5QBGDQULIANBCTYCcCADQShqIAQgBiAIEIKAgIAAIANB8ABqIAMoAiggAygCLBCDgICAACEFDA8LIAAgBUEBaiIHNgIUIAcgBk8NDCAAIAVBAmoiCDYCFAJAIAQgB2otAABB4QBHDQAgBiEHIAYgCEYNDSAAIAVBA2oiCTYCFAJAIAQgCGotAABB7ABGDQAgCSEIDAELIAYhByAJIAZGDQ0gACAFQQRqIgo2AhQCQCAEIAlqLQAAQfMARg0AIAohCAwBCyAGIQcgCiAGRg0NIAAgBUEFaiIINgIUIAQgCmotAABB5QBGDQULIANBCTYCcCADQThqIAQgBiAIEIKAgIAAIANB8ABqIAMoAjggAygCPBCDgICAACEFDA4LIANBCjoAcCADQfAAaiABIAIQjICAgAAgABCLgICAACEFDA0LIANBCzoAcCADQfAAaiABIAIQjICAgAAgABCLgICAACEFDAwLIANBBzoAcCADQfAAaiABIAIQjICAgAAgABCLgICAACEFDAsLIANBgAI7AXAgA0HwAGogASACEIyAgIAAIAAQi4CAgAAhBQwKCyADQQA7AXAgA0HwAGogASACEIyAgIAAIAAQi4CAgAAhBQwJCyAAIAVBAWo2AhQgA0HAAGogAEEAEJKAgIAAIAMpA0BCA1ENByADQcAAaiABIAIQloCAgAAgABCLgICAACEFDAgLIABBADYCCCAAIAVBAWo2AhQgA0HkAGogAEEMaiAAEImAgIAAIAMoAmghBSADKAJkQQJGDQcgAyADKAJsNgJ4IAMgBTYCdCADQQU6AHAgA0HwAGogASACEIyAgIAAIAAQi4CAgAAhBQwHCyAHQVBqQf8BcUEKSQ0BCyADQQo2AnAgA0EIaiAEIAYgBUEBaiIFIAYgBSAGSRsQgoCAgAAgA0HwAGogAygCCCADKAIMEIOAgIAAIAAQi4CAgAAhBQwFCyADQdAAaiAAQQEQkoCAgAACQCADKQNQQgNSDQAgAygCWCEFDAULIANB0ABqIAEgAhCWgICAACAAEIuAgIAAIQUMBAsgA0EFNgJwIANBEGogBCAGIAcQgoCAgAAgA0HwAGogAygCECADKAIUEIOAgIAAIQUMAwsgA0EFNgJwIANBIGogBCAGIAcQgoCAgAAgA0HwAGogAygCICADKAIkEIOAgIAAIQUMAgsgA0EFNgJwIANBMGogBCAGIAcQgoCAgAAgA0HwAGogAygCMCADKAI0EIOAgIAAIQUMAQsgAygCSCEFCyADQYABaiSAgICAACAFC8oBAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAKAIMRQ0AIAAhAQwBCyACQQhqIAEoAgwgASgCECABKAIUEIKAgIAAIAAgAigCCCACKAIMEIOAgIAAIQEgAEF8aigCACIDQXhxIgRBGEEcIANBA3EiAxtJDQECQCADRQ0AIARBPE8NAwsgABCYgICAAAsgAkEQaiSAgICAACABDwtBzMbAgABBLkH8xsCAABCHgICAAAALQYzHwIAAQS5BvMfAgAAQh4CAgAAAC30BAX8jgICAgABBMGsiAySAgICAACADIAI2AgwgAyABNgIIIAMgACkDCDcDGCADIAApAwA3AxAgA0GBgICAAK1CIIYgA0EIaq2ENwMoIANBgoCAgACtQiCGIANBEGqthDcDICADQSBqEMyAgIAAIQAgA0EwaiSAgICAACAAC9cGAQh/I4CAgIAAQeAAayICJICAgIAAIAEoAgAiAygCDCEEAkACQAJAAkAgAygCFCIFIAMoAhAiBk8NACADQQxqIQcDQCAEIAVqLQAAIghBd2oiCUEXSw0CQQEgCXRBk4CABHFFDQIgAyAFQQFqIgU2AhQgBiAFRw0ACyAGIQULIAJBAzYCSCACQTBqIAQgBiAFQQFqIgUgBiAFIAZJGxCCgICAACACQcgAaiACKAIwIAIoAjQQg4CAgAAhBQwBCwJAIAhB/QBHDQBBACEJIABBADYCBAwCCwJAAkACQCABLQAEDQACQCAIQSxHDQAgAyAFQQFqIgU2AhQCQCAFIAZPDQADQCAEIAVqLQAAIghBd2oiCUEZSw0FAkBBASAJdEGTgIAEcQ0AIAlBGUcNBgwFCyADIAVBAWoiBTYCFCAGIAVHDQALIAYhBQsgAkEFNgJIIAJBGGogBCAGIAVBAWoiBSAGIAUgBkkbEIKAgIAAIAJByABqIAIoAhggAigCHBCDgICAACEFDAQLIAJBCDYCSCACQShqIAQgBiAFQQFqIgUgBiAFIAZJGxCCgICAACACQcgAaiACKAIoIAIoAiwQg4CAgAAhBQwDCyABQQA6AAQgCEEiRg0AIAJBETYCSCACQQhqIAQgBiAFQQFqIgUgBiAFIAZJGxCCgICAACACQcgAaiACKAIIIAIoAgwQg4CAgAAhBQwCCyADQQA2AghBASEJIAMgBUEBajYCFCACQTxqIAcgAxCJgICAACACKAJAIQUCQAJAIAIoAjwiA0ECRg0AIAIoAkQhBCADQQFHDQEgAiAENgJQIAIgBTYCTCACQQU6AEggAkHIAGogAkHfAGpBgIDAgAAQjICAgAAhBQsgACAFNgIEDAMLIAAgBDYCCCAAIAU2AgRBACEJDAILAkAgCEH9AEYNACACQRE2AkggAkEQaiAEIAYgBUEBaiIFIAYgBSAGSRsQgoCAgAAgAkHIAGogAigCECACKAIUEIOAgIAAIQUMAQsgAkEVNgJIIAJBIGogBCAGIAVBAWoiBSAGIAUgBkkbEIKAgIAAIAJByABqIAIoAiAgAigCJBCDgICAACEFCyAAIAU2AgRBASEJCyAAIAk2AgAgAkHgAGokgICAgAALyQMBCX8jgICAgABBIGsiBSSAgICAACABIAEoAhQiBkEBaiIHNgIUAkACQCAHIAEoAhAiCE8NACAHIAhrIQkgASgCDCEKQQAhBgJAA0ACQCAKIAdqLQAAIgtBUGoiDEH/AXEiDUEKSQ0AAkAgBg0AIAVBDTYCFCAFIAogCCAHQQFqIgcgCCAHIAhJGxCCgICAACAFQRRqIAUoAgAgBSgCBBCDgICAACEHIABBATYCACAAIAc2AgQMBQsgBiAEaiEHAkAgC0EgckHlAEYNACAAIAEgAiADIAcQj4CAgAAMBQsgACABIAIgAyAHEJCAgIAADAQLAkAgA0KYs+bMmbPmzBlYDQAgA0KZs+bMmbPmzBlSDQIgDUEFSw0CCyABIAdBAWoiBzYCFCAGQX9qIQYgA0IKfiAMrUL/AYN8IQMgByAIRw0ACyAAIAEgAiADIAkgBGoQj4CAgAAMAgsgACABIAIgAyAGIARqEJGAgIAADAELIAVBBTYCFCAFQQhqIAEoAgwgCCAGQQJqIgcgCCAHIAhJGxCCgICAACAFQRRqIAUoAgggBSgCDBCDgICAACEHIABBATYCACAAIAc2AgQLIAVBIGokgICAgAAL2AIEAX8BfAF/AXwjgICAgABBIGsiBSSAgICAACADuiEGAkACQAJAAkACQAJAIAQgBEEfdSIHcyAHayIHQbUCSQ0AA0AgBkQAAAAAAAAAAGENBSAEQX9KDQIgBkSgyOuF88zhf6MhBiAEQbQCaiIEIARBH3UiB3MgB2siB0G1Ak8NAAsLIAdBA3QrA/inwIAAIQggBEF/Sg0BIAYgCKMhBgwDCyAFQQ42AhQgBUEIaiABKAIMIAEoAhAgASgCFBCCgICAACAAIAVBFGogBSgCCCAFKAIMEIOAgIAANgIEDAELIAYgCKIiBplEAAAAAAAA8H9iDQEgBUEONgIUIAUgASgCDCABKAIQIAEoAhQQgoCAgAAgACAFQRRqIAUoAgAgBSgCBBCDgICAADYCBAtBASEEDAELIAAgBiAGmiACGzkDCEEAIQQLIAAgBDYCACAFQSBqJICAgIAAC/0DAQd/I4CAgIAAQSBrIgUkgICAgABBASEGIAEgASgCFCIHQQFqIgg2AhQCQCAIIAEoAhAiCU8NAEEBIQYCQAJAIAEoAgwgCGotAABBVWoOAwECAAILQQAhBgsgASAHQQJqIgg2AhQLAkACQAJAIAggCU8NACABIAhBAWoiBzYCFAJAIAEoAgwiCiAIai0AAEFQakH/AXEiCEEKSQ0AIAVBDTYCFCAFIAogCSAHEIKAgIAAIAVBFGogBSgCACAFKAIEEIOAgIAAIQcgAEEBNgIAIAAgBzYCBAwDCyAHIAlPDQEDQCAKIAdqLQAAQVBqQf8BcSILQQpPDQIgASAHQQFqIgc2AhQCQAJAIAhBy5mz5gBMDQAgCEHMmbPmAEcNASALQQdLDQELIAhBCmwgC2ohCCAJIAdHDQEMAwsLIAAgASACIANQIAYQlYCAgAAMAgsgBUEFNgIUIAVBCGogASgCDCAJIAgQgoCAgAAgBUEUaiAFKAIIIAUoAgwQg4CAgAAhByAAQQE2AgAgACAHNgIEDAELAkACQCAGDQAgBCAIayIHQR91QYCAgIB4cyAHIAhBAEogByAESHMbIQcMAQsgBCAIaiIHQR91QYCAgIB4cyAHIAhBAEggByAESHMbIQcLIAAgASACIAMgBxCPgICAAAsgBUEgaiSAgICAAAt/AQR/AkACQCABKAIUIgUgASgCECIGTw0AIAEoAgwhBwJAA0AgByAFai0AACIIQVBqQf8BcUEJSw0BIAEgBUEBaiIFNgIUIAYgBUcNAAwCCwsgCEEgckHlAEYNAQsgACABIAIgAyAEEI+AgIAADwsgACABIAIgAyAEEJCAgIAAC8kHAgZ/A34jgICAgABBMGsiAySAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAhQiBCABKAIQIgVPDQAgASAEQQFqIgY2AhQCQCABKAIMIgcgBGotAAAiCEEwRw0AAkACQAJAAkAgBiAFTw0AIAcgBmotAAAiBkFQakH/AXFBCkkNAyAGQS5GDQEgBkHFAEYNAiAGQeUARg0CC0IAQoCAgICAgICAgH8gAhshCSACrSEKDA4LQgAhCiADQSBqIAEgAkIAQQAQjoCAgAAgAygCIA0ODAwLQgAhCiADQSBqIAEgAkIAQQAQkICAgAAgAygCIEUNCyAAIAMoAiQ2AgggAEIDNwMADA4LIANBDTYCICADQQhqIAcgBSAEQQJqIgYgBSAGIAVJGxCCgICAACADQSBqIAMoAgggAygCDBCDgICAACEGIABCAzcDACAAIAY2AggMDQsCQCAIQU9qQf8BcUEJSQ0AIANBDTYCICADQRBqIAcgBSAGEIKAgIAAIANBIGogAygCECADKAIUEIOAgIAAIQYgAEIDNwMAIAAgBjYCCAwNCyAIQVBqrUL/AYMhCSAGIAVPDQEDQCAHIAZqLQAAQVBqIgRB/wFxIghBCk8NAgJAAkAgCUKZs+bMmbPmzBlUDQAgCUKZs+bMmbPmzBlSDQEgCEEFSw0BCyABIAZBAWoiBjYCFCAJQgp+IAStQv8Bg3whCSAFIAZHDQEMBAsLIANBIGogASACIAkQk4CAgAACQCADKAIgQQFHDQAgACADKAIkNgIIIABCAzcDAAwNCyAAIAMrAyg5AwggAEIANwMADAwLIANBBTYCICADQRhqIAEoAgwgBSAEEIKAgIAAIANBIGogAygCGCADKAIcEIOAgIAAIQYgAEIDNwMAIAAgBjYCCAwLCyAGIAVPDQAgByAGai0AACIGQS5GDQEgBkHFAEYNAiAGQeUARg0CCyACRQ0CQgEhCgwECyADQSBqIAEgAiAJQQAQjoCAgAAgAygCIA0EDAILIANBIGogASACIAlBABCQgICAACADKAIgRQ0BIAAgAygCJDYCCCAAQgM3AwAMBwtCACEKAkBCACAJfSILQgBZDQBCAiEKIAshCQwCCyAJur1CgICAgICAgICAf4QhCQwBCyADKQMoIQlCACEKCyAAIAk3AwggACAKNwMADAQLIAAgAygCJDYCCCAAQgM3AwAMAwsgAykDKCEJCyAAIAk3AwggACAKNwMADAELIAAgAygCJDYCCCAAQgM3AwALIANBMGokgICAgAALvQEBBX9BACEEAkACQCABKAIQIgUgASgCFCIGTQ0AIAZBAWohByAFIAZrIQggASgCDCAGaiEFQQAhBANAAkAgBSAEai0AACIGQVBqQf8BcUEKSQ0AIAZBLkYNAwJAIAZBxQBGDQAgBkHlAEcNAwsgACABIAIgAyAEEJCAgIAADwsgASAHIARqNgIUIAggBEEBaiIERw0ACyAIIQQLIAAgASACIAMgBBCPgICAAA8LIAAgASACIAMgBBCOgICAAAuDAgEFfyOAgICAAEEgayIBJICAgIAAIAAgACgCFCICQQFqIgM2AhQgACgCDCEEAkAgAyAAKAIQIgVPDQACQCAEIANqLQAAQVVqDgMAAQABCyAAIAJBAmoiAzYCFAsCQAJAAkAgAyAFTw0AIAAgA0EBaiICNgIUIAQgA2otAABBUGpB/wFxQQlNDQEgAiEDCyABQQ02AhQgAUEIaiAEIAUgAxCCgICAACABQRRqIAEoAgggASgCDBCDgICAACEDDAELQQAhAyACIAVPDQADQCAEIAJqLQAAQVBqQf8BcUEJSw0BIAAgAkEBaiICNgIUIAUgAkcNAAsLIAFBIGokgICAgAAgAwveAQECfyOAgICAAEEgayIFJICAgIAAAkACQAJAAkAgAw0AIAQNAQsgASgCFCIDIAEoAhAiBE8NASABKAIMIQYDQCAGIANqLQAAQVBqQf8BcUEKTw0CIAEgA0EBaiIDNgIUIAQgA0cNAAwCCwsgBUEONgIUIAVBCGogASgCDCABKAIQIAEoAhQQgoCAgAAgACAFQRRqIAUoAgggBSgCDBCDgICAADYCBEEBIQMMAQsgAEQAAAAAAAAAAEQAAAAAAAAAgCACGzkDCEEAIQMLIAAgAzYCACAFQSBqJICAgIAAC44BAwF/AXwBfiOAgICAAEEQayIDJICAgIAAAkACQAJAAkAgACgCAA4DAAECAAsgACsDCCEEIANBAzoAACADIAQ5AwgMAgsgACkDCCEFIANBAToAACADIAU3AwgMAQsgACkDCCEFIANBAjoAACADIAU3AwgLIAMgASACEIyAgIAAIQAgA0EQaiSAgICAACAAC+0CAQV/I4CAgIAAQTBrIgEkgICAgAAgACgCDCECAkACQAJAAkACQAJAIAAoAhQiAyAAKAIQIgRPDQADQAJAIAIgA2otAAAiBUF3ag4kAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQGAwsgACADQQFqIgM2AhQgBCADRw0ACyAEIQMLIAFBAzYCJCABQRBqIAIgBCADQQFqIgMgBCADIARJGxCCgICAACABQSRqIAEoAhAgASgCFBCDgICAACEDDAQLIAVB/QBGDQELIAFBFjYCJCABQQhqIAIgBCADQQFqIgMgBCADIARJGxCCgICAACABQSRqIAEoAgggASgCDBCDgICAACEDDAILIAAgA0EBajYCFEEAIQMMAQsgAUEVNgIkIAFBGGogAiAEIANBAWoiAyAEIAMgBEkbEIKAgIAAIAFBJGogASgCGCABKAIcEIOAgIAAIQMLIAFBMGokgICAgAAgAwupCQEFfyAAQXhqIgEgAEF8aigCACICQXhxIgBqIQMCQAJAIAJBAXENACACQQJxRQ0BIAEoAgAiAiAAaiEAAkAgASACayIBQQAoAvjRwYAARw0AIAMoAgRBA3FBA0cNAUEAIAA2AvDRwYAAIAMgAygCBEF+cTYCBCABIABBAXI2AgQgAyAANgIADwsgASACEKSAgIAACwJAAkACQAJAAkACQAJAAkAgAygCBCICQQJxDQAgA0EAKAL80cGAAEYNAiADQQAoAvjRwYAARg0DIAMgAkF4cSICEKSAgIAAIAEgAiAAaiIAQQFyNgIEIAEgAGogADYCACABQQAoAvjRwYAARw0BQQAgADYC8NHBgAAPCyADIAJBfnE2AgQgASAAQQFyNgIEIAEgAGogADYCAAsgAEGAAkkNAkEfIQMgAEGAgIAISQ0DDAULQQAgATYC/NHBgABBAEEAKAL00cGAACAAaiIANgL00cGAACABIABBAXI2AgQCQCABQQAoAvjRwYAARw0AQQBBADYC8NHBgABBAEEANgL40cGAAAsgAEEAKAKI0sGAACICTQ0FQQAoAvzRwYAAIgBFDQVBACgC9NHBgAAiBEEpSQ0DQdDPwYAAIQEDQAJAIAEoAgAiAyAASw0AIAAgAyABKAIEakkNBQsgASgCCCEBDAALC0EAIAE2AvjRwYAAQQBBACgC8NHBgAAgAGoiADYC8NHBgAAgASAAQQFyNgIEIAEgAGogADYCAA8LAkACQEEAKALo0cGAACIDQQEgAEEDdnQiAnENAEEAIAMgAnI2AujRwYAAIABB+AFxQeDPwYAAaiIAIQMMAQsgAEH4AXEiAEHgz8GAAGohAyAAQejPwYAAaigCACEACyADIAE2AgggACABNgIMIAEgAzYCDCABIAA2AggPCyAAQSYgAEEIdmciA2t2QQFxIANBAXRyQT5zIQMMAQsCQAJAQQAoAtjPwYAAIgANAEH/HyEBDAELQQAhAQNAIAFBAWohASAAKAIIIgANAAsgAUH/HyABQf8fSxshAQtBACABNgKQ0sGAACAEIAJNDQFBAEF/NgKI0sGAAAwBCyABQgA3AhAgASADNgIcIANBAnRB0M7BgABqIQICQAJAQQAoAuzRwYAAQQEgA3QiBHENACACIAE2AgAgASACNgIYIAEgATYCDCABIAE2AghBAEEAKALs0cGAACAEcjYC7NHBgAAMAQsCQAJAAkAgAigCACIEKAIEQXhxIABHDQAgBCEDDAELIABBAEEZIANBAXZrIANBH0YbdCECA0AgBCACQR12QQRxaiIFKAIQIgNFDQIgAkEBdCECIAMhBCADKAIEQXhxIABHDQALCyADKAIIIgAgATYCDCADIAE2AgggAUEANgIYIAEgAzYCDCABIAA2AggMAQsgBUEQaiABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIC0EAQQAoApDSwYAAQX9qIgE2ApDSwYAAIAENAAJAAkBBACgC2M/BgAAiAA0AQf8fIQEMAQtBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGyEBC0EAIAE2ApDSwYAADwsLIgAgASgCAEG1p8CAAEERIAEoAgQoAgwRgICAgACAgICAAAsiACABKAIAQfyMwIAAQQkgASgCBCgCDBGAgICAAICAgIAAC4AEAQV/AkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgIAAQMLIAAoAggiAUUNAiAAKAIEIgJBfGooAgAiA0F4cSIEQQRBCCADQQNxIgMbIAFqSQ0DIANFDQEgBCABQSdqTQ0BQYzHwIAAQS5BvMfAgAAQh4CAgAAACyAALQAEQQNHDQEgACgCCCICKAIAIQECQCACQQRqKAIAIgMoAgAiBEUNACABIAQRgYCAgACAgICAAAsCQCADKAIEIgNFDQAgAUF8aigCACIEQXhxIgVBBEEIIARBA3EiBBsgA2pJDQQCQCAERQ0AIAUgA0EnaksNBgsgARCYgICAAAsgAkF8aigCACIBQXhxIgNBEEEUIAFBA3EiARtJDQUgAUUNACADQTRPDQYLIAIQmICAgAALIABBfGooAgAiAkF4cSIBQRhBHCACQQNxIgIbSQ0FAkAgAkUNACABQTxPDQcLIAAQmICAgAAPC0HMxsCAAEEuQfzGwIAAEIeAgIAAAAtBzMbAgABBLkH8xsCAABCHgICAAAALQYzHwIAAQS5BvMfAgAAQh4CAgAAAC0HMxsCAAEEuQfzGwIAAEIeAgIAAAAtBjMfAgABBLkG8x8CAABCHgICAAAALQczGwIAAQS5B/MbAgAAQh4CAgAAAC0GMx8CAAEEuQbzHwIAAEIeAgIAAAAtyAAJAIANBAEgNAAJAAkAgAUUNACACIAEgAxCdgICAACEBDAELIAMQnoCAgAAhAQsCQCABDQAgACADNgIIIABBATYCBCAAQQE2AgAPCyAAIAM2AgggACABNgIEIABBADYCAA8LIABBADYCBCAAQQE2AgALnQYBBn8CQAJAAkACQAJAAkAgAEF8aiIDKAIAIgRBeHEiBUEEQQggBEEDcSIGGyABakkNAAJAIAZFDQAgBSABQSdqSw0CC0EAIQEgAkHM/3tLDQVBECACQQtqQXhxIAJBC0kbIQcgAEF4aiEIAkAgBg0AIAdBgAJJDQUgCEUNBSAFIAdNDQUgBSAHa0GAgAhLDQUgAA8LIAggBWohBgJAAkAgBSAHTw0AIAZBACgC/NHBgABGDQECQCAGQQAoAvjRwYAARg0AIAYoAgQiBEECcQ0HIARBeHEiBCAFaiIFIAdJDQcgBiAEEKSAgIAAAkAgBSAHayIGQRBJDQAgAyAHIAMoAgBBAXFyQQJyNgIAIAggB2oiBCAGQQNyNgIEIAggBWoiBSAFKAIEQQFyNgIEIAQgBhClgICAAAwHCyADIAUgAygCAEEBcXJBAnI2AgAgCCAFaiIFIAUoAgRBAXI2AgQMBgtBACgC8NHBgAAgBWoiBSAHSQ0GAkACQCAFIAdrIgZBD0sNACADIARBAXEgBXJBAnI2AgAgCCAFaiIFIAUoAgRBAXI2AgRBACEGQQAhBAwBCyADIAcgBEEBcXJBAnI2AgAgCCAHaiIEIAZBAXI2AgQgCCAFaiIFIAY2AgAgBSAFKAIEQX5xNgIEC0EAIAQ2AvjRwYAAQQAgBjYC8NHBgAAMBQsgBSAHayIFQQ9NDQQgAyAHIARBAXFyQQJyNgIAIAggB2oiBCAFQQNyNgIEIAYgBigCBEEBcjYCBCAEIAUQpYCAgAAMBAtBACgC9NHBgAAgBWoiBSAHSw0CDAQLQczGwIAAQS5B/MbAgAAQh4CAgAAAC0GMx8CAAEEuQbzHwIAAEIeAgIAAAAsgAyAHIARBAXFyQQJyNgIAIAggB2oiBiAFIAdrIgVBAXI2AgRBACAFNgL00cGAAEEAIAY2AvzRwYAACyAIRQ0AIAAPCyACEJ6AgIAAIgVFDQACQCACQXxBeCADKAIAIgFBA3EbIAFBeHFqIgEgAiABSRsiAkUNACAFIAAgAvwKAAALIAAQmICAgAAgBSEBCyABC5cpAgh/AX4CQAJAAkAgAEH0AUsNAAJAAkACQAJAQQAoAujRwYAAIgFBECAAQQtqQfgDcSAAQQtJGyICQQN2IgN2IgBBA3ENACACQQAoAvDRwYAATQ0FIAANAUEAKALs0cGAACIARQ0FIABoQQJ0QdDOwYAAaigCACIEKAIEQXhxIAJrIQMgBCEBA0ACQCAEKAIQIgANACAEKAIUIgANACABKAIYIQUCQAJAAkAgASgCDCIAIAFHDQAgAUEUQRAgASgCFCIAG2ooAgAiBA0BQQAhAAwCCyABKAIIIgQgADYCDCAAIAQ2AggMAQsgAUEUaiABQRBqIAAbIQYDQCAGIQcgBCIAQRRqIABBEGogACgCFCIEGyEGIABBFEEQIAQbaigCACIEDQALIAdBADYCAAsgBUUNBQJAAkAgASABKAIcQQJ0QdDOwYAAaiIEKAIARg0AAkAgBSgCECABRg0AIAUgADYCFCAADQIMCAsgBSAANgIQIAANAQwHCyAEIAA2AgAgAEUNBQsgACAFNgIYAkAgASgCECIERQ0AIAAgBDYCECAEIAA2AhgLIAEoAhQiBEUNBSAAIAQ2AhQgBCAANgIYDAULIAAoAgRBeHEgAmsiBCADIAQgA0kiBBshAyAAIAEgBBshASAAIQQMAAsLAkACQCAAQX9zQQFxIANqIgZBA3QiAEHgz8GAAGoiAiAAQejPwYAAaigCACIDKAIIIgRGDQAgBCACNgIMIAIgBDYCCAwBC0EAIAFBfiAGd3E2AujRwYAACyADIABBA3I2AgQgAyAAaiIAIAAoAgRBAXI2AgQgA0EIag8LAkACQCAAIAN0QQIgA3QiAEEAIABrcnFoIgdBA3QiA0Hgz8GAAGoiBCADQejPwYAAaigCACIAKAIIIgZGDQAgBiAENgIMIAQgBjYCCAwBC0EAIAFBfiAHd3E2AujRwYAACyAAIAJBA3I2AgQgACACaiIBIAMgAmsiAkEBcjYCBCAAIANqIAI2AgACQEEAKALw0cGAACIERQ0AQQAoAvjRwYAAIQMCQAJAQQAoAujRwYAAIgZBASAEQQN2dCIHcQ0AQQAgBiAHcjYC6NHBgAAgBEF4cUHgz8GAAGoiBCEGDAELIARBeHEiBEHgz8GAAGohBiAEQejPwYAAaigCACEECyAGIAM2AgggBCADNgIMIAMgBjYCDCADIAQ2AggLQQAgATYC+NHBgABBACACNgLw0cGAACAAQQhqDwtBAEEAKALs0cGAAEF+IAEoAhx3cTYC7NHBgAALAkACQAJAIANBEEkNACABIAJBA3I2AgQgASACaiIEIANBAXI2AgQgBCADaiADNgIAQQAoAvDRwYAAIgZFDQFBACgC+NHBgAAhAAJAAkBBACgC6NHBgAAiB0EBIAZBA3Z0IgVxDQBBACAHIAVyNgLo0cGAACAGQXhxQeDPwYAAaiIGIQcMAQsgBkF4cSIGQeDPwYAAaiEHIAZB6M/BgABqKAIAIQYLIAcgADYCCCAGIAA2AgwgACAHNgIMIAAgBjYCCAwBCyABIAMgAmoiAEEDcjYCBCABIABqIgAgACgCBEEBcjYCBAwBC0EAIAQ2AvjRwYAAQQAgAzYC8NHBgAALIAFBCGoiAEUNAQwCCyAAQQtqIgNBeHEhAkEAKALs0cGAACIIRQ0AQR8hBQJAIABB9f//B08NACACQSYgA0EIdmciAGt2QQFxIABBAXRrQT5qIQULQQAgAmshAwJAAkACQAJAIAVBAnRB0M7BgABqKAIAIgENAEEAIQRBACEADAELQQAhBCACQQBBGSAFQQF2ayAFQR9GG3QhBkEAIQADQAJAIAEiASgCBEF4cSIHIAJJDQAgByACayIHIANPDQAgASEEIAchAyAHDQBBACEDIAEhACABIQQMAwsgASgCFCIHIAAgByABIAZBHXZBBHFqKAIQIgFHGyAAIAcbIQAgBkEBdCEGIAENAAsLAkAgACAEcg0AQQAhBEECIAV0IgBBACAAa3IgCHEiAEUNAyAAaEECdEHQzsGAAGooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIgEgAmsiBiADIAYgA0kiBxshBSABIAJJIQYgACAEIAcbIQcCQCAAKAIQIgENACAAKAIUIQELIAMgBSAGGyEDIAQgByAGGyEEIAEhACABDQALCyAERQ0AAkBBACgC8NHBgAAiACACSQ0AIAMgACACa08NAQsgBCgCGCEFAkACQAJAIAQoAgwiACAERw0AIARBFEEQIAQoAhQiABtqKAIAIgENAUEAIQAMAgsgBCgCCCIBIAA2AgwgACABNgIIDAELIARBFGogBEEQaiAAGyEGA0AgBiEHIAEiAEEUaiAAQRBqIAAoAhQiARshBiAAQRRBECABG2ooAgAiAQ0ACyAHQQA2AgALAkAgBUUNAAJAAkACQCAEIAQoAhxBAnRB0M7BgABqIgEoAgBGDQACQCAFKAIQIARGDQAgBSAANgIUIAANAgwECyAFIAA2AhAgAA0BDAMLIAEgADYCACAARQ0BCyAAIAU2AhgCQCAEKAIQIgFFDQAgACABNgIQIAEgADYCGAsgBCgCFCIBRQ0BIAAgATYCFCABIAA2AhgMAQtBAEEAKALs0cGAAEF+IAQoAhx3cTYC7NHBgAALAkACQAJAAkAgA0EQSQ0AIAQgAkEDcjYCBCAEIAJqIgEgA0EBcjYCBCABIANqIAM2AgACQCADQYACSQ0AQR8hACADQYCAgAhJDQIMAwsCQAJAQQAoAujRwYAAIgBBASADQQN2dCIGcQ0AQQAgACAGcjYC6NHBgAAgA0H4AXFB4M/BgABqIgAhAwwBCyADQfgBcSIAQeDPwYAAaiEDIABB6M/BgABqKAIAIQALIAMgATYCCCAAIAE2AgwgASADNgIMIAEgADYCCAwDCyAEIAMgAmoiAEEDcjYCBCAEIABqIgAgACgCBEEBcjYCBAwCCyADQSYgA0EIdmciAGt2QQFxIABBAXRyQT5zIQALIAFCADcCECABIAA2AhwgAEECdEHQzsGAAGohBgJAQQAoAuzRwYAAQQEgAHQiB3ENACAGIAE2AgAgASAGNgIYIAEgATYCDCABIAE2AghBAEEAKALs0cGAACAHcjYC7NHBgAAMAQsCQAJAAkAgBigCACIHKAIEQXhxIANHDQAgByEADAELIANBAEEZIABBAXZrIABBH0YbdCEGA0AgByAGQR12QQRxaiIFKAIQIgBFDQIgBkEBdCEGIAAhByAAKAIEQXhxIANHDQALCyAAKAIIIgMgATYCDCAAIAE2AgggAUEANgIYIAEgADYCDCABIAM2AggMAQsgBUEQaiABNgIAIAEgBzYCGCABIAE2AgwgASABNgIICyAEQQhqIgANAQsCQAJAAkACQAJAAkBBACgC8NHBgAAiACACTw0AAkBBACgC9NHBgAAiACACSw0AAkAgAkGvgARqIgRBEHZAACIDQX9HDQBBAA8LQQAhACADQRB0IgFFDQdBAEEAKAKA0sGAACAEQYCAfHEiAEFwaiAAIAFBACAAa0YbIgdqIgA2AoDSwYAAQQAgAEEAKAKE0sGAACIDIAAgA0sbNgKE0sGAAAJAAkACQEEAKAL80cGAACIDRQ0AQdDPwYAAIQADQCAAKAIAIgQgACgCBCIGaiABRg0CIAAoAggiAA0ADAMLCwJAAkBBACgCjNLBgAAiAEUNACAAIAFNDQELQQAgATYCjNLBgAALQQBB/x82ApDSwYAAQQAgBzYC1M/BgABBACABNgLQz8GAAEEAQeDPwYAANgLsz8GAAEEAQejPwYAANgL0z8GAAEEAQeDPwYAANgLoz8GAAEEAQfDPwYAANgL8z8GAAEEAQejPwYAANgLwz8GAAEEAQfjPwYAANgKE0MGAAEEAQfDPwYAANgL4z8GAAEEAQYDQwYAANgKM0MGAAEEAQfjPwYAANgKA0MGAAEEAQYjQwYAANgKU0MGAAEEAQYDQwYAANgKI0MGAAEEAQZDQwYAANgKc0MGAAEEAQYjQwYAANgKQ0MGAAEEAQZjQwYAANgKk0MGAAEEAQZDQwYAANgKY0MGAAEEAQQA2AtzPwYAAQQBBoNDBgAA2AqzQwYAAQQBBmNDBgAA2AqDQwYAAQQBBoNDBgAA2AqjQwYAAQQBBqNDBgAA2ArTQwYAAQQBBqNDBgAA2ArDQwYAAQQBBsNDBgAA2ArzQwYAAQQBBsNDBgAA2ArjQwYAAQQBBuNDBgAA2AsTQwYAAQQBBuNDBgAA2AsDQwYAAQQBBwNDBgAA2AszQwYAAQQBBwNDBgAA2AsjQwYAAQQBByNDBgAA2AtTQwYAAQQBByNDBgAA2AtDQwYAAQQBB0NDBgAA2AtzQwYAAQQBB0NDBgAA2AtjQwYAAQQBB2NDBgAA2AuTQwYAAQQBB2NDBgAA2AuDQwYAAQQBB4NDBgAA2AuzQwYAAQQBB6NDBgAA2AvTQwYAAQQBB4NDBgAA2AujQwYAAQQBB8NDBgAA2AvzQwYAAQQBB6NDBgAA2AvDQwYAAQQBB+NDBgAA2AoTRwYAAQQBB8NDBgAA2AvjQwYAAQQBBgNHBgAA2AozRwYAAQQBB+NDBgAA2AoDRwYAAQQBBiNHBgAA2ApTRwYAAQQBBgNHBgAA2AojRwYAAQQBBkNHBgAA2ApzRwYAAQQBBiNHBgAA2ApDRwYAAQQBBmNHBgAA2AqTRwYAAQQBBkNHBgAA2ApjRwYAAQQBBoNHBgAA2AqzRwYAAQQBBmNHBgAA2AqDRwYAAQQBBqNHBgAA2ArTRwYAAQQBBoNHBgAA2AqjRwYAAQQBBsNHBgAA2ArzRwYAAQQBBqNHBgAA2ArDRwYAAQQBBuNHBgAA2AsTRwYAAQQBBsNHBgAA2ArjRwYAAQQBBwNHBgAA2AszRwYAAQQBBuNHBgAA2AsDRwYAAQQBByNHBgAA2AtTRwYAAQQBBwNHBgAA2AsjRwYAAQQBB0NHBgAA2AtzRwYAAQQBByNHBgAA2AtDRwYAAQQBB2NHBgAA2AuTRwYAAQQBB0NHBgAA2AtjRwYAAQQAgATYC/NHBgABBAEHY0cGAADYC4NHBgABBACAHQVhqIgA2AvTRwYAAIAEgAEEBcjYCBCABIABqQSg2AgRBAEGAgIABNgKI0sGAAAwICyADIAFPDQAgBCADSw0AIAAoAgxFDQMLQQBBACgCjNLBgAAiACABIAAgAUkbNgKM0sGAACABIAdqIQRB0M/BgAAhAAJAAkACQANAIAAoAgAiBiAERg0BIAAoAggiAA0ADAILCyAAKAIMRQ0BC0HQz8GAACEAAkADQAJAIAAoAgAiBCADSw0AIAMgBCAAKAIEaiIESQ0CCyAAKAIIIQAMAAsLQQAgATYC/NHBgABBACAHQVhqIgA2AvTRwYAAIAEgAEEBcjYCBCABIABqQSg2AgRBAEGAgIABNgKI0sGAACADIARBYGpBeHFBeGoiACAAIANBEGpJGyIGQRs2AgRBACkC0M/BgAAhCSAGQRBqQQApAtjPwYAANwIAIAZBCGoiACAJNwIAQQAgBzYC1M/BgABBACABNgLQz8GAAEEAIAA2AtjPwYAAQQBBADYC3M/BgAAgBkEcaiEAA0AgAEEHNgIAIABBBGoiACAESQ0ACyAGIANGDQcgBiAGKAIEQX5xNgIEIAMgBiADayIAQQFyNgIEIAYgADYCAAJAIABBgAJJDQAgAyAAEO6AgIAADAgLAkACQEEAKALo0cGAACIEQQEgAEEDdnQiAXENAEEAIAQgAXI2AujRwYAAIABB+AFxQeDPwYAAaiIAIQQMAQsgAEH4AXEiAEHgz8GAAGohBCAAQejPwYAAaigCACEACyAEIAM2AgggACADNgIMIAMgBDYCDCADIAA2AggMBwsgACABNgIAIAAgACgCBCAHajYCBCABIAJBA3I2AgQgBkEPakF4cUF4aiIEIAEgAmoiAGshAyAEQQAoAvzRwYAARg0DIARBACgC+NHBgABGDQQCQCAEKAIEIgJBA3FBAUcNACAEIAJBeHEiAhCkgICAACACIANqIQMgBCACaiIEKAIEIQILIAQgAkF+cTYCBCAAIANBAXI2AgQgACADaiADNgIAAkAgA0GAAkkNACAAIAMQ7oCAgAAMBgsCQAJAQQAoAujRwYAAIgJBASADQQN2dCIEcQ0AQQAgAiAEcjYC6NHBgAAgA0H4AXFB4M/BgABqIgMhAgwBCyADQfgBcSIDQeDPwYAAaiECIANB6M/BgABqKAIAIQMLIAIgADYCCCADIAA2AgwgACACNgIMIAAgAzYCCAwFC0EAIAAgAmsiAzYC9NHBgABBAEEAKAL80cGAACIAIAJqIgQ2AvzRwYAAIAQgA0EBcjYCBCAAIAJBA3I2AgQgAEEIaiEADAYLQQAoAvjRwYAAIQMCQAJAIAAgAmsiBEEPSw0AQQBBADYC+NHBgABBAEEANgLw0cGAACADIABBA3I2AgQgAyAAaiIAIAAoAgRBAXI2AgQMAQtBACAENgLw0cGAAEEAIAMgAmoiATYC+NHBgAAgASAEQQFyNgIEIAMgAGogBDYCACADIAJBA3I2AgQLIANBCGoPCyAAIAYgB2o2AgRBAEEAKAL80cGAACIAQQ9qQXhxIgNBeGoiBDYC/NHBgABBACAAIANrQQAoAvTRwYAAIAdqIgNqQQhqIgE2AvTRwYAAIAQgAUEBcjYCBCAAIANqQSg2AgRBAEGAgIABNgKI0sGAAAwDC0EAIAA2AvzRwYAAQQBBACgC9NHBgAAgA2oiAzYC9NHBgAAgACADQQFyNgIEDAELQQAgADYC+NHBgABBAEEAKALw0cGAACADaiIDNgLw0cGAACAAIANBAXI2AgQgACADaiADNgIACyABQQhqDwtBACEAQQAoAvTRwYAAIgMgAk0NAEEAIAMgAmsiAzYC9NHBgABBAEEAKAL80cGAACIAIAJqIgQ2AvzRwYAAIAQgA0EBcjYCBCAAIAJBA3I2AgQgAEEIag8LIAALHAACQCAARQ0AIAAgARCmgICAAAALEKGAgIAAAAs9AQF/AkACQCAAQX9MDQACQCAADQBBAQ8LIAAQnoCAgAAiAUUNASABDwsQoYCAgAAAC0EBIAAQn4CAgAAACxcAQaiNwIAAQSNBvI3AgAAQqoCAgAAAC30BAn8CQAJAAkAgAEUNACABRQ0AIABBfGooAgAiAkF4cSIDQQRBCCACQQNxIgIbIAFqSQ0BAkAgAkUNACADIAFBJ2pLDQMLIAAQmICAgAALDwtBzMbAgABBLkH8xsCAABCHgICAAAALQYzHwIAAQS5BvMfAgAAQh4CAgAAAC/IYAgd/An4jgICAgABB4ABrIgIkgICAgABBACEDIAJBADYCOCACIAE2AjQgAiAANgIwIAJBgAE6ADwgAkEANgIsIAJCgICAgBA3AiQCQAJAAkACQAJAAkACQAJAAkAgAQ0AQQEhAwwBCwNAIAAgA2otAAAiBEF3aiIFQRdLDQJBASAFdEGTgIAEcUUNAiABIANBAWoiA0cNAAsgAiABNgI4IAFBAWohAwsgAkEFNgJQIAIgACABIAMgASADIAFJGxCCgICAACACQdAAaiACKAIAIAIoAgQQg4CAgAAhAwwBCwJAIARB+wBGDQAgAiADNgI4IAJBJGogAkHfAGpBmI3AgAAQioCAgAAgAkEkahCLgICAACEDDAELIAJB/wA6ADwgAiADQQFqNgI4IAJBAToARCACIAJBJGo2AkBBACEBQQAhBQJAA0AgAkHQAGogAkHAAGoQjYCAgAAgAigCVCEDAkAgAigCUEEBRw0AQQEhBAwCCwJAAkAgA0UNAAJAAkACQAJAAkAgAigCWEF8ag4EAAICAQILIAMoAABB9PLBqwZHDQEgAkHQAGogAigCQBCIgICAACACKAJQIgMNAyACKAJUIQNBASEEDAcLIAMoAABB8MLl4wZzIANBA2ooAABB7N6FowZzckUNAQsgAigCQBCAgICAACIDRQ0EQQEhBAwFC0EBIQQgAigCQCIFEIGAgIAAIgMNBCAFKAIMIQYCQCAFKAIUIgMgBSgCECIHTw0AA0AgBiADai0AACIIQXdqIgBBF0sNBEEBIAB0QZOAgARxRQ0EIAUgA0EBaiIDNgIUIAcgA0cNAAsgByEDCyACQQU2AlBBASEEIAJBEGogBiAHIANBAWoiAyAHIAMgB0kbEIKAgIAAIAJB0ABqIAIoAhAgAigCFBCDgICAACEDDAQLQQAhAQJAAkAgAigCVEF3ag4FAQQEBAAECyADKQAAQvLKzYP3zdu55QCFIANBBWopAABC7uaV+5WN3bLtAIWEUCEBDAMLQQEhASADKQAAQuXslfPG7te28wCFIANBCGoiADEAAELnAIWEUA0CIAMpAABC4961g5fsmLrlAIUgADEAAELkAIWEUCEBDAILQYACQQAgASAFcUEBcRshBAwCCwJAAkAgCEH7AEcNACAFIAUtABhBf2oiADoAGCAAQf8BcQ0BIAJBGDYCUEEBIQQgAkEYaiAGIAcgA0EBaiIDIAcgAyAHSRsQgoCAgAAgAkHQAGogAigCGCACKAIcEIOAgIAAIQMMAwsgBSACQd8AakGIjcCAABCKgICAACAFEIuAgIAAIQMMAgsgBSADQQFqNgIUIAJBAToATCACIAU2AkhBACEAQQAhCEEAIQYDQCACQdAAaiACQcgAahCNgICAACACKAJUIQMCQAJAAkACQAJAAkACQAJAIAIoAlBBAUcNAEEBIQAMAQsCQCADRQ0AAkACQAJAAkACQAJAAkACQAJAAkACQCACKAJYQQRHDQACQCADKAAAQfTywasGRw0AIAJB0ABqIAIoAkgQiICAgAAgAigCUCIDRQ0DQQEhBkEAIQAgAigCVEF5ag4KCxQUFAkIBQcUBhQLIAMoAABB8t6xqwZGDQELIAIoAkgQgICAgAAiA0UNEkEBIQAMCwsgAkHQAGogAigCSBCIgICAACACKAJQIgMNAQsgAigCVCEDQQEhAAwJC0EAIQggAigCVEEERw0PIAMoAABB9eaVkwdGIQgMDwtC7t6lo7fM27rmACEJIAMpAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQu7epaO3zNu65gBSDQxC7NiFm/bL27fpACEJIANBBWopAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQuzYhZv2y9u36QBSDQwMBAtC9L61+8bu3LrjACEJIAMpAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQvS+tfvG7ty64wBSDQpC7NiFm/aL27fvACEJIANBCGopAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQuzYhZv2i9u37wBSDQoMAwtC7d6N+9WtmbrpACEJIAMpAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQu3ejfvVrZm66QBSDQhC5MrRq8aN3LbvACEJIANBBmopAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQuTK0avGjdy27wBSDQgMAgtC88q1+6Wu2bn1ACEJIAMpAAAiCkI4hiAKQoD+A4NCKIaEIApCgID8B4NCGIYgCkKAgID4D4NCCIaEhCAKQgiIQoCAgPgPgyAKQhiIQoCA/AeDhCAKQiiIQoD+A4MgCkI4iISEhCIKQvPKtfulrtm59QBSDQYgA0EIaigAACIDQf+B/AdxQQh4IANBGHhB/4H8B3FyIgNB5c6FmwdGDQEgA60hCkLlzoWbByEJDAYLQu/G/fLW7Nq39AAhCSADKQAAIgpCOIYgCkKA/gODQiiGhCAKQoCA/AeDQhiGIApCgICA+A+DQgiGhIQgCkIIiEKAgID4D4MgCkIYiEKAgPwHg4QgCkIoiEKA/gODIApCOIiEhIQiCkLvxv3y1uzat/QAUg0EQvTc1fu27Je35QAhCSADQQNqKQAAIgpCOIYgCkKA/gODQiiGhCAKQoCA/AeDQhiGIApCgICA+A+DQgiGhIQgCkIIiEKAgID4D4MgCkIYiEKAgPwHg4QgCkIoiEKA/gODIApCOIiEhIQiCkL03NX7tuyXt+UAUg0EC0EAIQMMCAsgAygAAEHtys2bB3MgA0EDaigAAEHzwp2rBnNyRSEADAgLQQBBgAIgACAIcUEBcRtBACAGQQFxGyEACyAFIAUtABhBAWo6ABggBRCXgICAACEGAkACQCAAQQFxDQAgBg0BIABBAEchBQwJCwJAIAZFDQAgBhCbgICAAAsgAyEGCyAGIAUQi4CAgAAhAwwIC0F/QQEgCiAJVBshAwwEC0F/QQEgCiAJVBshAwwDC0F/QQEgCiAJVBshAwwCC0F/QQEgCiAJVBshAwwBC0F/QQEgCiAJVBshAwtBACEAIANBAEchBgwACwsLIAIgAi0APEEBajoAPCACQSRqEJeAgIAAIQUCQAJAAkAgBEEBcQ0AIAUNAQJAIAIoAjgiAyACKAI0IgFPDQAgAigCMCEAA0AgACADai0AAEF3aiIFQRdLDQRBASAFdEGTgIAEcUUNBCABIANBAWoiA0cNAAsgAiABNgI4CyAEQQh2IQMgAigCJCIFRQ0EIAIoAigiAEF8aigCACIBQXhxIgRBBEEIIAFBA3EiARsgBWpJDQcCQCABRQ0AIAQgBUEnaksNCQsgABCYgICAAAwECwJAIAVFDQAgBRCbgICAAAsgAyEFCyAFIAJBJGoQi4CAgAAhAwwBCyACIAM2AjggAkEWNgJQIAJBCGogACABIANBAWoiAyABIAMgAUkbEIKAgIAAIAJB0ABqIAIoAgggAigCDBCDgICAACEDCwJAIAIoAiQiBUUNACACKAIoIgBBfGooAgAiAUF4cSIEQQRBCCABQQNxIgEbIAVqSQ0CAkAgAUUNACAEIAVBJ2pLDQQLIAAQmICAgAALIAMQm4CAgABBACEDCyACQeAAaiSAgICAACADDwtBzMbAgABBLkH8xsCAABCHgICAAAALQYzHwIAAQS5BvMfAgAAQh4CAgAAAC0HMxsCAAEEuQfzGwIAAEIeAgIAAAAtBjMfAgABBLkG8x8CAABCHgICAAAALkgMBBH8gACgCDCECAkACQAJAAkAgAUGAAkkNACAAKAIYIQMCQAJAAkAgAiAARw0AIABBFEEQIAAoAhQiAhtqKAIAIgENAUEAIQIMAgsgACgCCCIBIAI2AgwgAiABNgIIDAELIABBFGogAEEQaiACGyEEA0AgBCEFIAEiAkEUaiACQRBqIAIoAhQiARshBCACQRRBECABG2ooAgAiAQ0ACyAFQQA2AgALIANFDQICQAJAIAAgACgCHEECdEHQzsGAAGoiASgCAEYNACADKAIQIABGDQEgAyACNgIUIAINAwwECyABIAI2AgAgAkUNBAwCCyADIAI2AhAgAg0BDAILAkAgAiAAKAIIIgRGDQAgBCACNgIMIAIgBDYCCA8LQQBBACgC6NHBgABBfiABQQN2d3E2AujRwYAADwsgAiADNgIYAkAgACgCECIBRQ0AIAIgATYCECABIAI2AhgLIAAoAhQiAUUNACACIAE2AhQgASACNgIYDwsPC0EAQQAoAuzRwYAAQX4gACgCHHdxNgLs0cGAAAvwBgEEfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQECQCAAIANrIgBBACgC+NHBgABHDQAgAigCBEEDcUEDRw0BQQAgATYC8NHBgAAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEKSAgIAACwJAAkACQAJAAkACQCACKAIEIgNBAnENACACQQAoAvzRwYAARg0CIAJBACgC+NHBgABGDQMgAiADQXhxIgMQpICAgAAgACADIAFqIgFBAXI2AgQgACABaiABNgIAIABBACgC+NHBgABHDQFBACABNgLw0cGAAA8LIAIgA0F+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACwJAIAFBgAJJDQBBHyECIAFBgICACEkNAwwECwJAAkBBACgC6NHBgAAiAkEBIAFBA3Z0IgNxDQBBACACIANyNgLo0cGAACABQfgBcUHgz8GAAGoiASECDAELIAFB+AFxIgFB4M/BgABqIQIgAUHoz8GAAGooAgAhAQsgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBACAANgL80cGAAEEAQQAoAvTRwYAAIAFqIgE2AvTRwYAAIAAgAUEBcjYCBCAAQQAoAvjRwYAARw0DQQBBADYC8NHBgABBAEEANgL40cGAAA8LQQAgADYC+NHBgABBAEEAKALw0cGAACABaiIBNgLw0cGAACAAIAFBAXI2AgQgACABaiABNgIADwsgAUEmIAFBCHZnIgJrdkEBcSACQQF0ckE+cyECCyAAQgA3AhAgACACNgIcIAJBAnRB0M7BgABqIQMCQEEAKALs0cGAAEEBIAJ0IgRxDQAgAyAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIQQBBACgC7NHBgAAgBHI2AuzRwYAADwsCQAJAAkAgAygCACIEKAIEQXhxIAFHDQAgBCECDAELIAFBAEEZIAJBAXZrIAJBH0YbdCEDA0AgBCADQR12QQRxaiIFKAIQIgJFDQIgA0EBdCEDIAIhBCACKAIEQXhxIAFHDQALCyACKAIIIgEgADYCDCACIAA2AgggAEEANgIYIAAgAjYCDCAAIAE2AggPCyAFQRBqIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AggPCwsNACABIAAQqYCAgAAAC58BAQF/I4CAgIAAQRBrIgMkgICAgAACQCACIAFqIgEgAk8NAEEAQQAQn4CAgAAACyADQQRqIAAoAgAiAiAAKAIEIAEgAkEBdCICIAEgAksbIgJBCCACQQhLGyICEKiAgIAAAkAgAygCBEEBRw0AIAMoAgggAygCDBCfgICAAAALIAMoAgghASAAIAI2AgAgACABNgIEIANBEGokgICA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QRBrIgMkgICAgAACQCACIAFqIgEgAk8NAEEAQQAQn4CAgAAACyADQQRqIAAoAgAiAiAAKAIEIAEgAkEBdCICIAEgAksbIgJBCCACQQhLGyICENCAgIAAAkAgAygCBEEBRw0AIAMoAgggAygCDBCfgICAAAALIAMoAgghASAAIAI2AgAgACABNgIEIANBEGokgICAgAALfwEBf0EAIQQCQAJAIANBAE4NAEEBIQFBBCECDAELAkACQCABRQ0AIAIgASADEJ2AgIAAIQQMAQsgAxCegICAACEECwJAAkAgBA0AQQEhASAAQQE2AgQMAQsgACAENgIEQQAhAQtBCCECIAMhBAsgACACaiAENgIAIAAgATYCAAuYAgIGfwF+AkACQCAAKAIIIgEgACgCBCICRg0AIAEgAk8NASAAKAIAIgMgAWotAAAiBEEiRg0AIARB3ABGDQAgBEEfTQ0AIAMgAUEBaiIFaiEEQQAgAiAFayIGQfj///8HcWshAQNAIAQhAgJAIAENACAAIAZBeHEgBWo2AgggABDSgICAAA8LIAFBCGohASACQQhqIQQgAikAACIHQn+FIAdCosSIkaLEiJEihUL//fv379+//358IAdC4L///v379+9ffIQgB0LcuPHixYuXrtwAhUL//fv379+//358hINCgIGChIiQoMCAf4MiB1ANAAsgACACIANrIAd6p0EDdmo2AggLDwsgASACQaTDwIAAEL+AgIAAAAtTAQR/AkAgACgCCCIBIAAoAgQiAk8NACAAKAIAIQMDQCADIAFqLQAAIgRBIkYNASAEQdwARg0BIARBIEkNASAAIAFBAWoiATYCCCACIAFHDQALCwtcAQF/I4CAgIAAQRBrIgMkgICAgAAgA0EIaiABKAIAIAEoAgQgASgCCBCCgICAACACIAMoAgggAygCDBCDgICAACEBIABBAjYCACAAIAE2AgQgA0EQaiSAgICAAAtcAQF/I4CAgIAAQRBrIgMkgICAgAAgA0EIaiABKAIAIAEoAgQgASgCCBCCgICAACACIAMoAgggAygCDBCDgICAACEBIABBAToAACAAIAE2AgQgA0EQaiSAgICAAAtQAQF/I4CAgIAAQRBrIgIkgICAgAAgAkEIaiAAKAIAIAAoAgQgACgCCBCCgICAACABIAIoAgggAigCDBCDgICAACEAIAJBEGokgICAgAAgAAuSCgEHfyOAgICAAEEgayICJICAgIAAAkACQAJAAkAgACgCBCIDIAAoAggiBEkNAAJAAkAgAyAEa0EDSw0AIAAgAzYCCCACQQQ2AhQgAkEMaiAAIAJBFGoQ14CAgAAgAyEFDAELIAAgBEEEaiIFNgIIAkAgACgCACAEaiIELQABQQF0LwGku8CAACAELQAAQQF0LwGkv8CAAHLBQQh0IAQtAAJBAXQuAaS/wIAAciAELQADQQF0LgGku8CAAHIiBEEASA0AIAJBADsBDCACIAQ7AQ4MAQsgAkEMNgIUIAJBDGogACACQRRqENeAgIAACwJAIAIvAQxBAUcNACACKAIQIQAMBAsgAi8BDiIEQYD4A3FBgLgDRg0BAkAgBEGAyABqQf//A3FBgPgDSQ0AIAAoAgAhBgJAAkAgBSADTw0AIAYgBWotAAAhBwwBCyACQQQ2AhQgAkEMaiAAIAJBFGoQ1ICAgAACQCACLQAMQQFHDQAgAigCECEADAYLIAItAA0hBwsgACAFQQFqIgg2AggCQCAHQf8BcUHcAEcNAAJAAkAgCCADTw0AIAYgCGotAAAhBwwBCyACQQQ2AhQgAkEMaiAAIAJBFGoQ1ICAgAACQCACLQAMQQFHDQAgAigCECEADAcLIAItAA0hBwsgBUECaiEIAkAgB0H/AXFB9QBHDQAgAyAISQ0FAkACQCADIAhrQQNLDQAgACADNgIIIAJBBDYCFCACQQxqIAAgAkEUahDXgICAAAwBCyAAIAVBBmo2AggCQCAGIAhqIgMtAAFBAXQvAaS7wIAAIAMtAABBAXQvAaS/wIAAcsFBCHQgAy0AAkEBdC4BpL/AgAByIAMtAANBAXQuAaS7wIAAciIDQQBIDQAgAkEAOwEMIAIgAzsBDgwBCyACQQw2AhQgAkEMaiAAIAJBFGoQ14CAgAALAkAgAi8BDEEBRw0AIAIoAhAhAAwHCwJAIAIvAQ4iA0GAwABqQf//A3FBgPgDSQ0AIARBgNAAakH//wNxQQp0IANBgMgAakH//wNxciIFQYCABGohBAJAIAEoAgAgASgCCCIAa0EDSw0AIAEgAEEEEM+AgIAAIAEoAgghAAsgASAAQQRqNgIIIAEoAgQgAGoiACAEQRJ2QfABcjoAACAAQQNqIANBP3FBgAFyOgAAIAAgBUEGdkE/cUGAAXI6AAIgACAEQQx2QT9xQYABcjoAAUEAIQAMBwsgAkEUNgIUIAAgAkEUahDVgICAACEADAYLIAAgCDYCCCACQRc2AhQgACACQRRqENWAgIAAIQAMBQsgAkEXNgIUIAAgAkEUahDVgICAACEADAQLAkAgBEGAAUkNAAJAIAEoAgAgASgCCCIDa0EDSw0AIAEgA0EEEM+AgIAAIAEoAgghAwsgASgCBCADaiEAAkACQCAEQYAQTw0AIARBBnZBQHIhBkECIQUMAQsgACAEQQZ2QT9xQYABcjoAASAEQQx2QWByIQZBAyEFCyAAIAY6AAAgASAFIANqNgIIIAAgBWpBf2ogBEE/cUGAAXI6AABBACEADAQLAkAgASgCCCIAIAEoAgBHDQAgARCrgICAAAsgASAAQQFqNgIIIAEoAgQgAGogBDoAAEEAIQAMAwsgBCADIANBzMXAgAAQvICAgAAACyACQRQ2AhQgACACQRRqENWAgIAAIQAMAQsgCCADIANBzMXAgAAQvICAgAAACyACQSBqJICAgIAAIAALXAEBfyOAgICAAEEQayIDJICAgIAAIANBCGogASgCACABKAIEIAEoAggQgoCAgAAgAiADKAIIIAMoAgwQg4CAgAAhASAAQQE7AQAgACABNgIEIANBEGokgICAgAALXAEBfyOAgICAAEEQayIDJICAgIAAIANBCGogASgCACABKAIEIAEoAggQgoCAgAAgAiADKAIIIAMoAgwQg4CAgAAhASAAQQA2AgAgACABNgIEIANBEGokgICAgAAL6gEBAn8jgICAgABBEGsiBCSAgICAAEEAQQAoAszOwYAAIgVBAWo2AszOwYAAAkACQAJAIAVBAEgNAAJAAkBBAC0AxM7BgAANAEEAQQE6AMTOwYAAQQBBACgCwM7BgABBAWo2AsDOwYAAQQAoAsjOwYAAIgVBf0wNAiAFQQFqIgEgBU4NARDEgICAAAALIARBCGogACABKAIYEYOAgIAAgICAgAAAC0EAIAFBf2o2AsjOwYAAIAFBAEwNAUEAQQA6AMTOwYAAIAINAgsAC0GYyMCAAEHNAEHAyMCAABCqgICAAAALENqAgIAAAAsDAAALCQAgAEEANgIACx4AIABBACkCtMbAgAA3AgggAEEAKQKsxsCAADcCAAsOAEEAQQE6AJTSwYAAAAsLACAAEN+A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NThjYmNjZDAxZWU3MjA4YmYzYjZlOTNhN2Q3Zjk2L2xpYnJhcnkvYWxsb2Mvc3JjL2ZtdC5ycwAvcnVzdGMvYWM2OGZhYTIwYzU4Y2JjY2QwMWVlNzIwOGJmM2I2ZTkzYTdkN2Y5Ni9saWJyYXJ5L3N0ZC9zcmMvc3lzL3N5bmMvcndsb2NrL25vX3RocmVhZHMucnMAL2hvbWUvam9hby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjE1MS9zcmMvZXJyb3IucnMAL2hvbWUvam9hby8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAC9ydXN0Yy9hYzY4ZmFhMjBjNThjYmNjZDAxZWU3MjA4YmYzYjZlOTNhN2Q3Zjk2L2xpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAL3J1c3RjL2FjNjhmYWEyMGM1OGNiY2NkMDFlZTcyMDhiZjNiNmU5M2E3ZDdmOTYvbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3ByaW50YWJsZS5ycwAvaG9tZS9qb2FvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc2VyZGVfanNvbi0xLjAuMTUxL3NyYy9kZS5ycwAvcnVzdGMvYWM2OGZhYTIwYzU4Y2JjY2QwMWVlNzIwOGJmM2I2ZTkzYTdkN2Y5Ni9saWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL3J1c3RjL2FjNjhmYWEyMGM1OGNiY2NkMDFlZTcyMDhiZjNiNmU5M2E3ZDdmOTYvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL2hvbWUvam9hby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjE1MS9zcmMvcmVhZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMS9z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Vij0mHdTa7trMjF/VYhrqgZ//d5qvmsqZG9eywLzazU9CzZ+wydsggyOw120XWzRxziaupCSbMb5xkDpNMdsN7j4kCMC/Wwjc5s6ViEybetPQsmrqWZt5uOSuxZUnG1wzjs1jrTRbQzCisKxIQZuj3ItMx6qO26ZZ/zfUkpxbn+B+5fnnKVu32H6fSEE224sfbzulOIQb3acayo6G0VvlIMGtQhiem89EiRxRX2wb8wWbc2WnORvf1zIgLzDGXDPOX3QVRpQcEOInETrIIRwVKrDFSYpuXDplDSbb3PvcBHdAMElqCNxVhRBMS+SWHFrWZH9uraOcePXet40MsNx3I0ZFsL+93FT8Z+bcv4tctT2Q6EHv2JyifSUiclul3KrMfrre0rNcgtffHONTgJzzXZb0DDiNnOBVHIEvZpsc9B0xyK24KFzBFJ5q+NY1nOGpleWHO8LdBTI9t1xdUF0GHp0Vc7SdXSemNHqgUerdGP/wjKxDOF0PL9zf91PFXULr1Df1KNKdWdtkgtlpoB1wAh3Tv7PtHXxyhTi/QPqddb+TK1+QiB2jD6gWB5TVHYvTsju5WeJdrthemrfwb92FX2MoivZ83ZanC+Lds8od3CD+y1UA193JjK9nBRik3ewfuzDmTrId1ye5zRASf53+cIQIcjtMni481QpOqlneKUwqrOIk514Z15KcDV80ngB9lzMQhsHeYIzdH8T4jx5MaCoL0wNcnk9yJI7n5CmeU16dwrHNNx5cKyKZvygEXqMVy2AOwlGem+tOGCKi3t6ZWwjfDY3sXp/RywbBIXlel5Z9yFF5hp725c6NevPUHvSPYkC5gOFe0aNK4PfRLp7TDj7sQtr8HtfBnqezoUkfPaHGEZCp1l8+lTPa4kIkHw4KsPGqwrEfMf0c7hWDfl8+PGQZqxQL307lxrAa5JjfQo9IbAGd5h9TIwpXMiUzn2w95k5/RwDfpx1AIg85Dd+A5MAqkvdbX7iW0BKT6qiftpy0BzjVNd+kI8E5BsqDX+62YJuUTpCfymQI8rlyHZ/M3SsPB97rH+gyOuF88zhf251bGz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAEAAgADAAQABQAGAAcACAAJAP//////////////////CgALAAwADQAOAA8A/////////////////////////////////////////////////////////////////////woACwAMAA0ADgAPAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAEAAgADAAQABQAGAAcACAAJAA//////////////////+gALAAwADQAOAA8AD/////////////////////////////////////////////////////////////////////oACwAMAA0ADgAPAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7gQQAF4AAACzAQAAGgAAAO4EEABeAAAAAAIAABMAAADuBBAAXgAAAAUCAAAzAAAA7gQQAF4AAAAJAgAAPgAAAO4EEABeAAAADwIAADoAAADuBBAAXgAAAKYBAABFAAAAIGF0IGxpbmUgAAAAewIQAF8AAAD3AQAAIQAAAHsCEABfAAAA+wEAAAwAAAB7AhAAXwAAAAICAAAhAAAAewIQAF8AAAALAgAAKgAAAHsCEABfAAAADwIAACwAAAB7AhAAXwAAABQCAAAJAAAAaW5mLWluZk5hTgAA2wIQAHIAAAA8BgAAFAAAANsCEAByAAAAPAYAACEAAADbAhAAcgAAADAGAAAUAAAA2wIQAHIAAAAwBgAAIQAAAO4EEABeAAAAXAIAABMAAADuBBAAXgAAAG4CAAAZAAAAEAAAAAwAAAAEAAAAFQAAABYAAAAXAAAAAAAAAAgAAAAEAAAAGAAAABkAAAAaAAAAGwAAABwAAAAQAAAABAAAAB0AAAAeAAAAHwAAACAAAABtXcvWLFDrY3hBpldxG4u5K4FbAb2GUewMtMKc5MnHBGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAAE0FEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAABNBRAAKgAAALcEAAANAAAAcndsb2NrIG92ZXJmbG93ZWQgcmVhZCBsb2Nrcx0CEABdAAAAFQAAACwAAAAAAAAACAAAAAQAAAAhAAAAEAAAAAwAAAAEAAAAIgAAAHJ3bG9jayBoYXMgbm90IGJlZW4gbG9ja2VkIGZvciByZWFkaW5nAAAdAhAAXQAAAD4AAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAVlLTMyNAAFAGUtMzIzAAUAZS0zMjIABQBlLTMyMQAFAGUtMzIwAAUAZS0zMTkABQBlLTMxOAAFAGUtMzE3AAUAZS0zMTYABQBlLTMxNQAFAGUtMzE0AAUAZS0zMTMABQBlLTMxMgAFAGUtMzExAAUAZS0zMTAABQBlLTMwOQAFAGUtMzA4AAUAZS0zMDcABQBlLTMwNgAFAGUtMzA1AAUAZS0zMDQABQBlLTMwMwAFAGUtMzAyAAUAZS0zMDEABQBlLTMwMAAFAGUtMjk5AAUAZS0yOTgABQBlLTI5NwAFAGUtMjk2AAUAZS0yOTUABQBlLTI5NAAFAGUtMjkzAAUAZS0yOTIABQBlLTI5MQAFAGUtMjkwAAUAZS0yODkABQBlLTI4OAAFAGUtMjg3AAUAZS0yODYABQBlLTI4NQAFAGUtMjg0AAUAZS0yODMABQBlLTI4MgAFAGUtMjgxAAUAZS0yODAABQBlLTI3OQAFAGUtMjc4AAUAZS0yNzcABQBlLTI3NgAFAGUtMjc1AAUAZS0yNzQABQBlLTI3MwAFAGUtMjcyAAUAZS0yNzEABQBlLTI3MAAFAGUtMjY5AAUAZS0yNjgABQBlLTI2NwAFAGUtMjY2AAUAZS0yNjUABQBlLTI2NAAFAGUtMjYzAAUAZS0yNjIABQBlLTI2MQAFAGUtMjYwAAUAZS0yNTkABQBlLTI1OAAFAGUtMjU3AAUAZS0yNTYABQBlLTI1NQAFAGUtMjU0AAUAZS0yNTMABQBlLTI1MgAFAGUtMjUxAAUAZS0yNTAABQBlLTI0OQAFAGUtMjQ4AAUAZS0yNDcABQBlLTI0NgAFAGUtMjQ1AAUAZS0yNDQABQBlLTI0MwAFAGUtMjQyAAUAZS0yNDEABQBlLTI0MAAFAGUtMjM5AAUAZS0yMzgABQBlLTIzNwAFAGUtMjM2AAUAZS0yMzUABQBlLTIzNAAFAGUtMjMzAAUAZS0yMzIABQBlLTIzMQAFAGUtMjMwAAUAZS0yMjkABQBlLTIyOAAFAGUtMjI3AAUAZS0yMjYABQBlLTIyNQAFAGUtMjI0AAUAZS0yMjMABQBlLTIyMgAFAGUtMjIxAAUAZS0yMjAABQBlLTIxOQAFAGUtMjE4AAUAZS0yMTcABQBlLTIxNgAFAGUtMjE1AAUAZS0yMTQABQBlLTIxMwAFAGUtMjEyAAUAZS0yMTEABQBlLTIxMAAFAGUtMjA5AAUAZS0yMDgABQBlLTIwNwAFAGUtMjA2AAUAZS0yMDUABQBlLTIwNAAFAGUtMjAzAAUAZS0yMDIABQBlLTIwMQAFAGUtMjAwAAUAZS0xOTkABQBlLTE5OAAFAGUtMTk3AAUAZS0xOTYABQBlLTE5NQAFAGUtMTk0AAUAZS0xOTMABQBlLTE5MgAFAGUtMTkxAAUAZS0xOTAABQBlLTE4OQAFAGUtMTg4AAUAZS0xODcABQBlLTE4NgAFAGUtMTg1AAUAZS0xODQABQBlLTE4MwAFAGUtMTgyAAUAZS0xODEABQBlLTE4MAAFAGUtMTc5AAUAZS0xNzgABQBlLTE3NwAFAGUtMTc2AAUAZS0xNzUABQBlLTE3NAAFAGUtMTczAAUAZS0xNzIABQBlLTE3MQAFAGUtMTcwAAUAZS0xNjkABQBlLTE2OAAFAGUtMTY3AAUAZS0xNjYABQBlLTE2NQAFAGUtMTY0AAUAZS0xNjMABQBlLTE2MgAFAGUtMTYxAAUAZS0xNjAABQBlLTE1OQAFAGUtMTU4AAUAZS0xNTcABQBlLTE1NgAFAGUtMTU1AAUAZS0xNTQABQBlLTE1MwAFAGUtMTUyAAUAZS0xNTEABQBlLTE1MAAFAGUtMTQ5AAUAZS0xNDgABQBlLTE0NwAFAGUtMTQ2AAUAZS0xNDUABQBlLTE0NAAFAGUtMTQzAAUAZS0xNDIABQBlLTE0MQAFAGUtMTQwAAUAZS0xMzkABQBlLTEzOAAFAGUtMTM3AAUAZS0xMzYABQBlLTEzNQAFAGUtMTM0AAUAZS0xMzMABQBlLTEzMgAFAGUtMTMxAAUAZS0xMzAABQBlLTEyOQAFAGUtMTI4AAUAZS0xMjcABQBlLTEyNgAFAGUtMTI1AAUAZS0xMjQABQBlLTEyMwAFAGUtMTIyAAUAZS0xMjEABQBlLTEyMAAFAGUtMTE5AAUAZS0xMTgABQBlLTExNwAFAGUtMTE2AAUAZS0xMTUABQBlLTExNAAFAGUtMTEzAAUAZS0xMTIABQBlLTExMQAFAGUtMTEwAAUAZS0xMDkABQBlLTEwOAAFAGUtMTA3AAUAZS0xMDYABQBlLTEwNQAFAGUtMTA0AAUAZS0xMDMABQBlLTEwMgAFAGUtMTAxAAUAZS0xMDAABQBlLTk5AAAEAGUtOTgAAAQAZS05NwAABABlLTk2AAAEAGUtOTUAAAQAZS05NAAABABlLTkzAAAEAGUtOTIAAAQAZS05MQAABABlLTkwAAAEAGUtODkAAAQAZS04OAAABABlLTg3AAAEAGUtODYAAAQAZS04NQAABABlLTg0AAAEAGUtODMAAAQAZS04MgAABABlLTgxAAAEAGUtODAAAAQAZS03OQAABABlLTc4AAAEAGUtNzcAAAQAZS03NgAABABlLTc1AAAEAGUtNzQAAAQAZS03MwAABABlLTcyAAAEAGUtNzEAAAQAZS03MAAABABlLTY5AAAEAGUtNjgAAAQAZS02NwAABABlLTY2AAAEAGUtNjUAAAQAZS02NAAABABlLTYzAAAEAGUtNjIAAAQAZS02MQAABABlLTYwAAAEAGUtNTkAAAQAZS01OAAABABlLTU3AAAEAGUtNTYAAAQAZS01NQAABABlLTU0AAAEAGUtNTMAAAQAZS01MgAABABlLTUxAAAEAGUtNTAAAAQAZS00OQAABABlLTQ4AAAEAGUtNDcAAAQAZS00NgAABABlLTQ1AAAEAGUtNDQAAAQAZS00MwAABABlLTQyAAAEAGUtNDEAAAQAZS00MAAABABlLTM5AAAEAGUtMzgAAAQAZS0zNwAABABlLTM2AAAEAGUtMzUAAAQAZS0zNAAABABlLTMzAAAEAGUtMzIAAAQAZS0zMQAABABlLTMwAAAEAGUtMjkAAAQAZS0yOAAABABlLTI3AAAEAGUtMjYAAAQAZS0yNQAABABlLTI0AAAEAGUtMjMAAAQAZS0yMgAABABlLTIxAAAEAGUtMjAAAAQAZS0xOQAABABlLTE4AAAEAGUtMTcAAAQAZS0xNgAABABlLTE1AAAEAGUtMTQAAAQAZS0xMwAABABlLTEyAAAEAGUtMTEAAAQAZS0xMAAABABlLTkAAAADAGUtOAAAAAMAZS03AAAAAwBlLTYAAAADAGUtNQAAAAMAZS00AAAAAwBlLTMAAAADAGUtMgAAAAMAZS0xAAAAAwBlKzAAAAADAGUrMQAAAAMAZSsyAAAAAwBlKzMAAAADAGUrNAAAAAMAZSs1AAAAAwBlKzYAAAADAGUrNwAAAAMAZSs4AAAAAwBlKzkAAAADAGUrMTAAAAQAZSsxMQAABABlKzEyAAAEAGUrMTMAAAQAZSsxNAAABABlKzE1AAAEAGUrMTYAAAQAZSsxNwAABABlKzE4AAAEAGUrMTkAAAQAZSsyMAAABABlKzIxAAAEAGUrMjIAAAQAZSsyMwAABABlKzI0AAAEAGUrMjUAAAQAZSsyNgAABABlKzI3AAAEAGUrMjgAAAQAZSsyOQAABABlKzMwAAAEAGUrMzEAAAQAZSszMgAABABlKzMzAAAEAGUrMzQAAAQAZSszNQAABABlKzM2AAAEAGUrMzcAAAQAZSszOAAABABlKzM5AAAEAGUrNDAAAAQAZSs0MQAABABlKzQyAAAEAGUrNDMAAAQAZSs0NAAABABlKzQ1AAAEAGUrNDYAAAQAZSs0NwAABABlKzQ4AAAEAGUrNDkAAAQAZSs1MAAABABlKzUxAAAEAGUrNTIAAAQAZSs1MwAABABlKzU0AAAEAGUrNTUAAAQAZSs1NgAABABlKzU3AAAEAGUrNTgAAAQAZSs1OQAABABlKzYwAAAEAGUrNjEAAAQAZSs2MgAABABlKzYzAAAEAGUrNjQAAAQAZSs2NQAABABlKzY2AAAEAGUrNjcAAAQAZSs2OAAABABlKzY5AAAEAGUrNzAAAAQAZSs3MQAABABlKzcyAAAEAGUrNzMAAAQAZSs3NAAABABlKzc1AAAEAGUrNzYAAAQAZSs3NwAABABlKzc4AAAEAGUrNzkAAAQAZSs4MAAABABlKzgxAAAEAGUrODIAAAQAZSs4MwAABABlKzg0AAAEAGUrODUAAAQAZSs4NgAABABlKzg3AAAEAGUrODgAAAQAZSs4OQAABABlKzkwAAAEAGUrOTEAAAQAZSs5MgAABABlKzkzAAAEAGUrOTQAAAQAZSs5NQAABABlKzk2AAAEAGUrOTcAAAQAZSs5OAAABABlKzk5AAAEAGUrMTAwAAUAZSsxMDEABQBlKzEwMgAFAGUrMTAzAAUAZSsxMDQABQBlKzEwNQAFAGUrMTA2AAUAZSsxMDcABQBlKzEwOAAFAGUrMTA5AAUAZSsxMTAABQBlKzExMQAFAGUrMTEyAAUAZSsxMTMABQBlKzExNAAFAGUrMTE1AAUAZSsxMTYABQBlKzExNwAFAGUrMTE4AAUAZSsxMTkABQBlKzEyMAAFAGUrMTIxAAUAZSsxMjIABQBlKzEyMwAFAGUrMTI0AAUAZSsxMjUABQBlKzEyNgAFAGUrMTI3AAUAZSsxMjgABQBlKzEyOQAFAGUrMTMwAAUAZSsxMzEABQBlKzEzMgAFAGUrMTMzAAUAZSsxMzQABQBlKzEzNQAFAGUrMTM2AAUAZSsxMzcABQBlKzEzOAAFAGUrMTM5AAUAZSsxNDAABQBlKzE0MQAFAGUrMTQyAAUAZSsxNDMABQBlKzE0NAAFAGUrMTQ1AAUAZSsxNDYABQBlKzE0NwAFAGUrMTQ4AAUAZSsxNDkABQBlKzE1MAAFAGUrMTUxAAUAZSsxNTIABQBlKzE1MwAFAGUrMTU0AAUAZSsxNTUABQBlKzE1NgAFAGUrMTU3AAUAZSsxNTgABQBlKzE1OQAFAGUrMTYwAAUAZSsxNjEABQBlKzE2MgAFAGUrMTYzAAUAZSsxNjQABQBlKzE2NQAFAGUrMTY2AAUAZSsxNjcABQBlKzE2OAAFAGUrMTY5AAUAZSsxNzAABQBlKzE3MQAFAGUrMTcyAAUAZSsxNzMABQBlKzE3NAAFAGUrMTc1AAUAZSsxNzYABQBlKzE3NwAFAGUrMTc4AAUAZSsxNzkABQBlKzE4MAAFAGUrMTgxAAUAZSsxODIABQBlKzE4MwAFAGUrMTg0AAUAZSsxODUABQBlKzE4NgAFAGUrMTg3AAUAZSsxODgABQBlKzE4OQAFAGUrMTkwAAUAZSsxOTEABQBlKzE5MgAFAGUrMTkzAAUAZSsxOTQABQBlKzE5NQAFAGUrMTk2AAUAZSsxOTcABQBlKzE5OAAFAGUrMTk5AAUAZSsyMDAABQBlKzIwMQAFAGUrMjAyAAUAZSsyMDMABQBlKzIwNAAFAGUrMjA1AAUAZSsyMDYABQBlKzIwNwAFAGUrMjA4AAUAZSsyMDkABQBlKzIxMAAFAGUrMjExAAUAZSsyMTIABQBlKzIxMwAFAGUrMjE0AAUAZSsyMTUABQBlKzIxNgAFAGUrMjE3AAUAZSsyMTgABQBlKzIxOQAFAGUrMjIwAAUAZSsyMjEABQBlKzIyMgAFAGUrMjIzAAUAZSsyMjQABQBl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ZWN0X2NvbG9uMTdoZDY5NDFiMDFjM2IzYTU4ZEUCRV9aTjEwc2VyZGVfanNvbjRyZWFkOVNsaWNlUmVhZDE3cG9zaXRpb25fb2ZfaW5kZXgxN2hiMDdiYTg4NTdlOWQzMmE2RQM2X1pOMTBzZXJkZV9qc29uNWVycm9yNUVycm9yNnN5bnRheDE3aGVkZTdhNjFhN2JkZjgzNmRFBFpfWk41YWxsb2M3cmF3X3ZlYzIwUmF3VmVjSW5uZXIkTFQkQSRHVCQ3cmVzZXJ2ZTIxZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlMTdoZjQ0ZGQzZGJiZGQ5NzY5Y0UFa19aTjcwXyRMVCRzZXJkZV9qc29uLi5yZWFkLi5TbGljZVJlYWQkdTIwJGFzJHUyMCRzZXJkZV9qc29uLi5yZWFkLi5SZWFkJEdUJDEwaWdub3JlX3N0cjE3aGU0NGJhOWUzMzQ3YjZmNzFFBk1fWk4xMHNlcmRlX2pzb24yZGUyMURlc2VyaWFsaXplciRMVCRSJEdUJDE0aWdub3JlX2ludGVnZXIxN2hlOWNkOWY0YmVmNTBkZWFiRQcpX1JOdk50Q3MzTzZiZ3VRd2NkNF80Y29yZTlwYW5pY2tpbmc1cGFuaWMIPF9aTjEwc2VyZGVfY29yZTJkZTlNYXBBY2Nlc3MxMG5leHRfdmFsdWUxN2hkYmFkZGJhNjdhNzY4NGZkRQlpX1pONzBfJExUJHNlcmRlX2pzb24uLnJlYWQuLlNsaWNlUmVhZCR1MjAkYXMkdTIwJHNlcmRlX2pzb24uLnJlYWQuLlJlYWQkR1QkOXBhcnNlX3N0cjE3aDUxNGE5NzYzZTIyNTUxNmVFClBfWk4xMHNlcmRlX2pzb24yZGUyMURlc2VyaWFsaXplciRMVCRSJEdUJDE3cGVla19pbnZhbGlkX3R5cGUxN2gwNzdjNmVkZTMyNGFhNDgzRQs9X1pOMTBzZXJkZV9qc29uNWVycm9yNUVycm9yMTJmaXhfcG9zaXRpb24xN2g3MjM0NWJmOTE1MTZjNDI0RQxpX1pONjZfJExUJHNlcmRlX2pzb24uLmVycm9yLi5FcnJvciR1MjAkYXMkdTIwJHNlcmRlX2NvcmUuLmRlLi5FcnJvciRHVCQxMmludmFsaWRfdHlwZTE3aGEyM2FhMzE3ZGYwOWE1NTJFDTlfWk4xMHNlcmRlX2NvcmUyZGU5TWFwQWNjZXNzOG5leHRfa2V5MTdoMWMzMjkyNmY4YjE3N2I4ZEUOTF9aTjEwc2VyZGVfanNvbjJkZTIxRGVzZXJpYWxpemVyJExUJFIkR1QkMTNwYXJzZV9kZWNpbWFsMTdoNjM2ZTczY2RjM2U0NWE0MUUPTV9aTjEwc2VyZGVfanNvbjJkZTIxRGVzZXJpYWxpemVyJExUJFIkR1QkMTRmNjRfZnJvbV9wYXJ0czE3aGE2ZWJjNDI4NDVmZDAyY2NFEE1fWk4xMHNlcmRlX2pzb24yZGUyMURlc2VyaWFsaXplciRMVCRSJEdUJDE0cGFyc2VfZXhwb25lbnQxN2hiNjliZWM1YjMxYWY5NGFmRRFVX1pOMTBzZXJkZV9qc29uMmRlMjFEZXNlcmlhbGl6ZXIkTFQkUiRHVCQyMnBhcnNlX2RlY2ltYWxfb3ZlcmZsb3cxN2gzMzhiNzdiMGEyNjk0YjM0RRJMX1pOMTBzZXJkZV9qc29uMmRlMjFEZXNlcmlhbGl6ZXIkTFQkUiRHVCQxM3BhcnNlX2ludGVnZXIxN2g0MTc3N2MwZjAyM2Q3ODQ2RRNRX1pOMTBzZXJkZV9qc29uMmRlMjFEZXNlcmlhbGl6ZXIkTFQkUiRHVCQxOHBhcnNlX2xvbmdfaW50ZWdlcjE3aDUzNzdkZGIwNTQ4YWZlZThFFE5fWk4xMHNlcmRlX2pzb24yZGUyMURlc2VyaWFsaXplciRMVCRSJEdUJDE1aWdub3JlX2V4cG9uZW50MTdoMjNiMmQ5MjI1NDkxMzY4OEUVVl9aTjEwc2VyZGVfanNvbjJkZTIxRGVzZXJpYWxpemVyJExUJFIkR1QkMjNwYXJzZV9leHBvbmVudF9vdmVyZmxvdzE3aDA3NWExNmEwM2Y3YWUzZjlFFkJfWk4xMHNlcmRlX2pzb24yZGUxMlBhcnNlck51bWJlcjEyaW52YWxpZF90eXBlMTdoNDNjNTdiZTJlNzkwZTZkN0UXRV9aTjEwc2VyZGVfanNvbjJkZTIxRGVzZXJpYWxpemVyJExUJFIkR1QkN2VuZF9tYXAxN2g5NWUxNzdiNWJlNzBlODhjRRhjX1JOdk1zMF9OdENzalM1OTRSZ1JOUjhfOGRsbWFsbG9jOGRsbWFsbG9jSU50QjVfOERsbWFsbG9jTnROdEI3XzNzeXM2U3lzdGVtRTRmcmVlQ3Nsaml6dGFUV05uMF8zc3RkGUtfWk40Nl8kTFQkVCR1MjAkYXMkdTIwJHNlcmRlX2NvcmUuLmRlLi5FeHBlY3RlZCRHVCQzZm10MTdoYTQ0OWViYzk4YmNkYzk3YkUaS19aTjQ2XyRMVCRUJHUyMCRhcyR1MjAkc2VyZGVfY29yZS4uZGUuLkV4cGVjdGVkJEdUJDNmbXQxN2hhNzZhZjAyNjhjMDY0YTkwRRtPX1pONGNvcmUzcHRyNDVkcm9wX2luX3BsYWNlJExUJHNlcmRlX2pzb24uLmVycm9yLi5FcnJvciRHVCQxN2hjZmI2NjMyY2VmOGQxNjU3RRxIX1pONWFsbG9jN3Jhd192ZWMyMFJhd1ZlY0lubmVyJExUJEEkR1QkMTFmaW5pc2hfZ3JvdzE3aGEyOTdiM2MyN2NjMDEyZDlFHStfUk52Q3NHSUV4Ulg4cEVTXzdfX19ydXN0YzE0X19fcnVzdF9yZWFsbG9jHmVfUk52TXMwX050Q3NqUzU5NFJnUk5SOF84ZGxtYWxsb2M4ZGxtYWxsb2NJTnRCNV84RGxtYWxsb2NOdE50QjdfM3N5czZTeXN0ZW1FNm1hbGxvY0NzbGppenRhVFdObjBfM3N0ZB8wX1JOdk50Q3M4cUlsSW9oZlNnWV81YWxsb2M3cmF3X3ZlYzEyaGFuZGxlX2Vycm9yIAVhbGxvYyE1X1JOdk50Q3M4cUlsSW9oZlNnWV81YWxsb2M3cmF3X3ZlYzE3Y2FwYWNpdHlfb3ZlcmZsb3ciB2RlYWxsb2MjCHZhbGlkYXRlJGxfUk52TXMwX050Q3NqUzU5NFJnUk5SOF84ZGxtYWxsb2M4ZGxtYWxsb2NJTnRCNV84RGxtYWxsb2NOdE50QjdfM3N5czZTeXN0ZW1FMTJ1bmxpbmtfY2h1bmtDc2xqaXp0YVRXTm4wXzNzdGQlbV9STnZNczBfTnRDc2pTNTk0UmdSTlI4XzhkbG1hbGxvYzhkbG1hbGxvY0lOdEI1XzhEbG1hbGxvY050TnRCN18zc3lzNlN5c3RlbUUxM2Rpc3Bvc2VfY2h1bmtDc2xqaXp0YVRXTm4wXzNzdGQmNF9STnZOdENzOHFJbElvaGZTZ1lfNWFsbG9jNWFsbG9jMThoYW5kbGVfYWxsb2NfZXJyb3IndV9SSU52TnZNczJfTnRDczhxSWxJb2hmU2dZXzVhbGxvYzdyYXdfdmVjSU50QjhfMTFSYXdWZWNJbm5lcnBFN3Jlc2VydmUyMWRvX3Jlc2VydmVfYW5kX2hhbmRsZU50TnRCYV81YWxsb2M2R2xvYmFsRUJhXyhIX1JOdk1zNF9OdENzOHFJbElvaGZTZ1lfNWFsbG9jN3Jhd192ZWNOdEI1XzExUmF3VmVjSW5uZXIxMWZpbmlzaF9ncm93QjdfKTdfUk52Q3NHSUV4Ulg4cEVTXzdfX19ydXN0YzI2X19fcnVzdF9hbGxvY19lcnJvcl9oYW5kbGVyKi1fUk52TnRDczNPNmJndVF3Y2Q0XzRjb3JlOXBhbmlja2luZzlwYW5pY19mbXQrQV9STnZNczNfTnRDczhxSWxJb2hmU2dZXzVhbGxvYzdyYXdfdmVjSU50QjVfNlJhd1ZlY2hFOGdyb3dfb25lQjdfLDtfUk52WHNLX050Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXROdEI1XzVFcnJvck50QjVfNURlYnVnM2ZtdC1XX1JJTnZOdENzM082Ymd1UXdjZDRfNGNvcmUzcHRyMTNkcm9wX2luX3BsYWNlTnROdENzOHFJbElvaGZTZ1lfNWFsbG9jNnN0cmluZzZTdHJpbmdFQktfLlxfUk52WHNaX050Q3M4cUlsSW9oZlNnWV81YWxsb2M2c3RyaW5nTnRCNV82U3RyaW5nTnROdENzM082Ymd1UXdjZDRfNGNvcmUzZm10NVdyaXRlOXdyaXRlX3N0ci9eX1JOdlhzWl9OdENzOHFJbElvaGZTZ1lfNWFsbG9jNnN0cmluZ050QjVfNlN0cmluZ050TnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdDVXcml0ZTEwd3JpdGVfY2hhcjBZX1JOdllOdE50Q3M4cUlsSW9oZlNnWV81YWxsb2M2c3RyaW5nNlN0cmluZ050TnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdDVXcml0ZTl3cml0ZV9mbXRCNl8xI19STnZOdENzM082Ymd1UXdjZDRfNGNvcmUzZm10NXdyaXRlMjhfUk52WHMxaV9OdENzM082Ymd1UXdjZDRfNGNvcmUzZm10UmVOdEI2XzdEaXNwbGF5M2ZtdEI4XzM0X1JOdk1zYV9OdENzM082Ymd1UXdjZDRfNGNvcmUzZm10TnRCNV85Rm9ybWF0dGVyM3BhZDQ8X1JOdlhzMWdfTnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdFJETnRCNl81RGVidWdFTF9CeF8zZm10QjhfNS1fUk52Q3NHSUV4Ulg4cEVTXzdfX19ydXN0YzE3cnVzdF9iZWdpbl91bndpbmQ2Pl9STnZNc2FfTnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdE50QjVfOUZvcm1hdHRlcjEycGFkX2ludGVncmFsN05fUk52TnZNc2FfTnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdE50QjdfOUZvcm1hdHRlcjEycGFkX2ludGVncmFsMTJ3cml0ZV9wcmVmaXg4P19STnZYc2lfTnROdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXQzbnVtM2ltcGpOdEI5XzdEaXNwbGF5M2ZtdDk/X1JOdlhzZF9OdE50TnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdDNudW0zaW1weU50QjlfN0Rpc3BsYXkzZm10OjxfUk52TU50TnRDczNPNmJndVF3Y2Q0XzRjb3JlNGNoYXI3bWV0aG9kc2MxNmVzY2FwZV9kZWJ1Z19leHQ7UV9STnZOdE50TnRDczNPNmJndVF3Y2Q0XzRjb3JlN3VuaWNvZGUxMnVuaWNvZGVfZGF0YTE1Z3JhcGhlbWVfZXh0ZW5kMTFsb29rdXBfc2xvdzw5X1JOdk50TnRDczNPNmJndVF3Y2Q0XzRjb3JlNXNsaWNlNWluZGV4MTZzbGljZV9pbmRleF9mYWlsPS9fUk52TnRDczNPNmJndVF3Y2Q0XzRjb3JlNm9wdGlvbjEzdW53cmFwX2ZhaWxlZD4yX1JOdk50TnRDczNPNmJndVF3Y2Q0XzRjb3JlM3N0cjhjb252ZXJ0czlmcm9tX3V0Zjg/N19STnZOdENzM082Ymd1UXdjZDRfNGNvcmU5cGFuaWNraW5nMThwYW5pY19ib3VuZHNfY2hlY2tAL19STnZOdENzM082Ymd1UXdjZDRfNGNvcmUzc3RyMTZzbGljZV9lcnJvcl9mYWlsQTJfUk52TnRDczNPNmJndVF3Y2Q0XzRjb3JlM3N0cjE5c2xpY2VfZXJyb3JfZmFpbF9ydEJOX1JOdlhzX050TnRDczNPNmJndVF3Y2Q0XzRjb3JlM29wczVyYW5nZUlOdEI0XzVSYW5nZWpFTnROdEI4XzNmbXQ1RGVidWczZm10QjhfQzFfUk52WHNqX050Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXRjTnRCNV81RGVidWczZm10RC9fUk52TnRDczNPNmJndVF3Y2Q0XzRjb3JlNm9wdGlvbjEzZXhwZWN0X2ZhaWxlZEUvX1JOdk50Q3MzTzZiZ3VRd2NkNF80Y29yZTZyZXN1bHQxM3Vud3JhcF9mYWlsZWRGP19STnZYc2VfTnROdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXQzbnVtM2ltcHhOdEI5XzdEaXNwbGF5M2ZtdEczX1JOdlhzZ19OdENzM082Ymd1UXdjZDRfNGNvcmUzZm10Yk50QjVfN0Rpc3BsYXkzZm10SDNfUk52WHNrX050Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXRjTnRCNV83RGlzcGxheTNmbXRJR19aTjQyXyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGVidWckR1QkM2ZtdDE3aGMzYTUwN2ZhMWVmN2I0ZDVFSklfWk40NF8kTFQkJFJGJFQkdTIwJGFzJHUyMCRjb3JlLi5mbXQuLkRpc3BsYXkkR1QkM2ZtdDE3aGZiNzkyMTMxODYzNGQyNDZFS2VfWk43Ml8kTFQkc2VyZGVfanNvbi4uZXJyb3IuLkpzb25VbmV4cGVjdGVkJHUyMCRhcyR1MjAkY29yZS4uZm10Li5EaXNwbGF5JEdUJDNmbXQxN2g0NDU3Y2VmMDIzNWIyNzFkRUxiX1pONjZfJExUJHNlcmRlX2pzb24uLmVycm9yLi5FcnJvciR1MjAkYXMkdTIwJHNlcmRlX2NvcmUuLmRlLi5FcnJvciRHVCQ2Y3VzdG9tMTdoYTIwODljMDMwNmY3NDY4MkVNSV9aTjQ0XyRMVCQkUkYkVCR1MjAkYXMkdTIwJGNvcmUuLmZtdC4uRGlzcGxheSRHVCQzZm10MTdoZWIzNDJjZmUwYzNhZTI2NEVOQl9aTjRjb3JlM3N0cjdwYXR0ZXJuMTRUd29XYXlTZWFyY2hlcjluZXh0X2JhY2sxN2gxZGYxMjE4NzY5YzFmOGYwRU9aX1pONWFsbG9jN3Jhd192ZWMyMFJhd1ZlY0lubmVyJExUJEEkR1QkN3Jlc2VydmUyMWRvX3Jlc2VydmVfYW5kX2hhbmRsZTE3aDVjYjcyZGM5ZmU3YzA2YjVFUEhfWk41YWxsb2M3cmF3X3ZlYzIwUmF3VmVjSW5uZXIkTFQkQSRHVCQxMWZpbmlzaF9ncm93MTdoZDdlOWUxNTlhZTllNTBkN0VRQl9aTjEwc2VyZGVfanNvbjRyZWFkOVNsaWNlUmVhZDE0c2tpcF90b19lc2NhcGUxN2hkNWU3Nzk5ZjMxYmY1Njc2RVJHX1pOMTBzZXJkZV9qc29uNHJlYWQ5U2xpY2VSZWFkMTlza2lwX3RvX2VzY2FwZV9zbG93MTdoMDQ2ODEyNDFjMzhmYmVhOEVTLl9aTjEwc2VyZGVfanNvbjRyZWFkNWVycm9yMTdoZmYyNGRjMTY3YWJmMDdmN0VULl9aTjEwc2VyZGVfanNvbjRyZWFkNWVycm9yMTdoM2ZlOTZhNzhhNTdjM2RkZEVVLl9aTjEwc2VyZGVfanNvbjRyZWFkNWVycm9yMTdoYTMwMTM0OGY3NzMxNDkyOUVWPl9aTjEwc2VyZGVfanNvbjRyZWFkMjBwYXJzZV91bmljb2RlX2VzY2FwZTE3aDY1MTIyYmNlZjQ2MTBiOGJFVy5fWk4xMHNlcmRlX2pzb240cmVhZDVlcnJvcjE3aDYxYzg1YjdjMWZhZTNkMTJFWC5fWk4xMHNlcmRlX2pzb240cmVhZDVlcnJvcjE3aDE0YWRmMGNkOTdiYTQyMGVFWTNfUk52TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTVwYW5pY193aXRoX2hvb2taJl9STnZDc0dJRXhSWDhwRVNfN19fX3J1c3RjMTBydXN0X3BhbmljW3VfUk52WUlOdE52TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTFiZWdpbl9wYW5pYzdQYXlsb2FkUmVFTnROdENzM082Ymd1UXdjZDRfNGNvcmU1cGFuaWMxMlBhbmljUGF5bG9hZDZhc19zdHJCOV9cQ19STnZYTnRDczNPNmJndVF3Y2Q0XzRjb3JlM2FueVJlTnRCMl8zQW55N3R5cGVfaWRDc2xqaXp0YVRXTm4wXzNzdGRdZF9SSU52TnROdENzbGppenRhVFdObjBfM3N0ZDNzeXM5YmFja3RyYWNlMjZfX19ydXN0X2VuZF9zaG9ydF9iYWNrdHJhY2VOQ052TnRCNl81YWxsb2M4cnVzdF9vb20wekVCNl9ebl9SSU52TnROdENzbGppenRhVFdObjBfM3N0ZDNzeXM5YmFja3RyYWNlMjZfX19ydXN0X2VuZF9zaG9ydF9iYWNrdHJhY2VOQ052TnRCNl85cGFuaWNraW5nMTNwYW5pY19oYW5kbGVyMHpFQjZfXzdfUk5DTnZOdENzbGppenRhVFdObjBfM3N0ZDlwYW5pY2tpbmcxM3BhbmljX2hhbmRsZXIwQjVfYHdfUklOdk50Q3MzTzZiZ3VRd2NkNF80Y29yZTNwdHIxM2Ryb3BfaW5fcGxhY2VOdE52TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTNwYW5pY19oYW5kbGVyMTlGb3JtYXRTdHJpbmdQYXlsb2FkRUJNX2F4X1JOdlhzMF9Odk50Q3Nsaml6dGFUV05uMF8zc3RkOXBhbmlja2luZzEzcGFuaWNfaGFuZGxlck50QjVfMTlGb3JtYXRTdHJpbmdQYXlsb2FkTnROdENzM082Ymd1UXdjZDRfNGNvcmUzZm10N0Rpc3BsYXkzZm10YoQBX1JOdlhzX052TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTNwYW5pY19oYW5kbGVyTnRCNF8xOUZvcm1hdFN0cmluZ1BheWxvYWROdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTVwYW5pYzEyUGFuaWNQYXlsb2FkOHRha2VfYm94Y39fUk52WHNfTnZOdENzbGppenRhVFdObjBfM3N0ZDlwYW5pY2tpbmcxM3BhbmljX2hhbmRsZXJOdEI0XzE5Rm9ybWF0U3RyaW5nUGF5bG9hZE50TnRDczNPNmJndVF3Y2Q0XzRjb3JlNXBhbmljMTJQYW5pY1BheWxvYWQzZ2V0ZIQBX1JJTnZOdk1zMl9OdENzOHFJbElvaGZTZ1lfNWFsbG9jN3Jhd192ZWNJTnRCOF8xMVJhd1ZlY0lubmVycEU3cmVzZXJ2ZTIxZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlTnROdEJhXzVhbGxvYzZHbG9iYWxFQ3Nsaml6dGFUV05uMF8zc3RkZVdfUk52TXM0X050Q3M4cUlsSW9oZlNnWV81YWxsb2M3cmF3X3ZlY050QjVfMTFSYXdWZWNJbm5lcjExZmluaXNoX2dyb3dDc2xqaXp0YVRXTm4wXzNzdGRmZ19STnZYTnRDczNPNmJndVF3Y2Q0XzRjb3JlM2FueU50TnRDczhxSWxJb2hmU2dZXzVhbGxvYzZzdHJpbmc2U3RyaW5nTnRCMl8zQW55N3R5cGVfaWRDc2xqaXp0YVRXTm4wXzNzdGRnYF9STnZYc1pfTnRDczhxSWxJb2hmU2dZXzVhbGxvYzZzdHJpbmdOdEI1XzZTdHJpbmdOdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXQ1V3JpdGU5d3JpdGVfc3RyLjEyN2hiX1JOdlhzWl9OdENzOHFJbElvaGZTZ1lfNWFsbG9jNnN0cmluZ050QjVfNlN0cmluZ050TnRDczNPNmJndVF3Y2Q0XzRjb3JlM2ZtdDVXcml0ZTEwd3JpdGVfY2hhci4xMjhpaF9STnZZTnROdENzOHFJbElvaGZTZ1lfNWFsbG9jNnN0cmluZzZTdHJpbmdOdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXQ1V3JpdGU5d3JpdGVfZm10Q3Nsaml6dGFUV05uMF8zc3RkanVfUk52WHMyX052TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTNwYW5pY19oYW5kbGVyTnRCNV8xNlN0YXRpY1N0clBheWxvYWROdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTNmbXQ3RGlzcGxheTNmbXRrggFfUk52WHMxX052TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTNwYW5pY19oYW5kbGVyTnRCNV8xNlN0YXRpY1N0clBheWxvYWROdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTVwYW5pYzEyUGFuaWNQYXlsb2FkOHRha2VfYm94bH1fUk52WHMxX052TnRDc2xqaXp0YVRXTm4wXzNzdGQ5cGFuaWNraW5nMTNwYW5pY19oYW5kbGVyTnRCNV8xNlN0YXRpY1N0clBheWxvYWROdE50Q3MzTzZiZ3VRd2NkNF80Y29yZTVwYW5pYzEyUGFuaWNQYXlsb2FkM2dldG2AAV9STnZYczFfTnZOdENzbGppenRhVFdObjBfM3N0ZDlwYW5pY2tpbmcxM3BhbmljX2hhbmRsZXJOdEI1XzE2U3RhdGljU3RyUGF5bG9hZE50TnRDczNPNmJndVF3Y2Q0XzRjb3JlNXBhbmljMTJQYW5pY1BheWxvYWQ2YXNfc3RybnJfUk52TXMwX050Q3NqUzU5NFJnUk5SOF84ZGxtYWxsb2M4ZGxtYWxsb2NJTnRCNV84RGxtYWxsb2NOdE50QjdfM3N5czZTeXN0ZW1FMThpbnNlcnRfbGFyZ2VfY2h1bmtDc2xqaXp0YVRXTm4wXzNzdGRvJ19STnZOdENzbGppenRhVFdObjBfM3N0ZDVhbGxvYzhydXN0X29vbXAGbWVtY21wcQhfX211bHRpMwcSAQAPX19zdGFja19wb2ludGVyCQoBAAcucm9kYXRhAE0JcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AQVydXN0Yx0xLjk2LjAgKGFjNjhmYWEyMCAyMDI2LTA1LTI1KQCUAQ90YXJnZXRfZmVhdHVyZXMIKwtidWxrLW1lbW9yeSsPYnVsay1tZW1vcnktb3B0KxZjYWxsLWluZGlyZWN0LW92ZXJsb25nKwptdWx0aXZhbHVlKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrD3JlZmVyZW5jZS10eXBlcysIc2lnbi1leHQ=\";\n","import { WASM_BASE64 } from \"./ignored-output-wasm\";\n\n/**\n * Lines at least this long are worth a wasm check; shorter ones cost more to route through the\n * module than to parse in JavaScript, so they always fall back.\n */\nconst MIN_LINE = 4 * 1024;\n\n/** A single JSONL line is one document. Beyond this the caller parses it the ordinary way. */\nconst MAX_DOC = 64 * 1024 * 1024;\n\n/**\n * The root record types `CodexSource.parse` never reads as context. A line is only worth a wasm\n * check when its head contains one; keep in lockstep with `is_ignorable_root` in the Rust crate.\n */\nconst NEEDLE_ROOTS = [\"response_item\", \"event_msg\", \"compacted\"];\n\n/** The prefix of a line that is scanned for a root needle; it appears early in a real rollout. */\nconst HEAD = 1024;\n\ninterface Exports {\n alloc(len: number): number;\n dealloc(ptr: number, len: number): void;\n validate(ptr: number, len: number): number;\n memory: { buffer: ArrayBuffer };\n}\n\n/** The slice of the WebAssembly global this file uses. `lib` has no DOM, so declare it here. */\ninterface Wasm {\n Module: new (bytes: Uint8Array) => object;\n Instance: new (module: object, imports: object) => { exports: unknown };\n}\n\nconst WEB_ASSEMBLY = (globalThis as unknown as { WebAssembly?: Wasm }).WebAssembly;\n\nlet disabled = false;\nlet exports: Exports | null = null;\n\n/**\n * Instantiate the embedded validator on first use. A build/runtime that cannot compile wasm\n * disables the fast path for good and every caller falls back to the normal JSON parse.\n */\nfunction instance(): Exports | null {\n if (disabled) return null;\n if (exports) return exports;\n if (!WEB_ASSEMBLY) {\n disabled = true;\n return null;\n }\n try {\n const module = new WEB_ASSEMBLY.Module(Buffer.from(WASM_BASE64, \"base64\"));\n exports = new WEB_ASSEMBLY.Instance(module, {}).exports as Exports;\n return exports;\n } catch {\n disabled = true;\n return null;\n }\n}\n\n/**\n * True only for a whole line that is an ignorable root record (`response_item`, `event_msg` or\n * `compacted`) whose `payload.type` is none of the shapes `CodexSource.parse` reads. Any doubt — a\n * short line, a head without the needles, a malformed or non-target document, a wasm trap —\n * returns false, so the caller keeps its normal decode and JSON parse.\n *\n * `start` and `end` bound the line inside `bytes`, so the reader can test a line without copying it\n * out of its chunk first. The wasm module checks the whole document, including ignored values and\n * trailing bytes, before accepting it. It is not a byte-for-byte reimplementation of `JSON.parse`:\n * escaped keys and unsupported shapes fall back; invalid UTF-8 decodes like `toString(\"utf8\")`.\n */\nexport function isIgnoredOutput(bytes: Buffer, start: number, end: number): boolean {\n const n = end - start;\n if (n < MIN_LINE || n > MAX_DOC) return false;\n const head = bytes.toString(\"latin1\", start, start + (HEAD < n ? HEAD : n));\n let hit = false;\n for (const root of NEEDLE_ROOTS) {\n if (head.indexOf(root) !== -1) {\n hit = true;\n break;\n }\n }\n if (!hit) return false;\n const wasm = instance();\n if (!wasm) return false;\n try {\n const ptr = wasm.alloc(n);\n try {\n const doc = start === 0 && n === bytes.length ? bytes : bytes.subarray(start, end);\n new Uint8Array(wasm.memory.buffer, ptr, n).set(doc);\n return wasm.validate(ptr, n) === 1;\n } finally {\n wasm.dealloc(ptr, n);\n }\n } catch {\n disabled = true;\n return false;\n }\n}\n","import { OpenCodeSource } from \"./opencode\";\nimport { ClaudeSource } from \"./claude\";\nimport { CodexSource } from \"./codex\";\nimport type { AgentSource, Env } from \"./agent-source\";\nimport type { Source } from \"../core/model\";\n\n/** One adapter registration for the CLI and parse workers. */\nexport function createSources(env: Env): AgentSource[] {\n const sources: Record<Source, AgentSource> = {\n claude: new ClaudeSource(env),\n codex: new CodexSource(env),\n opencode: new OpenCodeSource(env),\n };\n return Object.values(sources);\n}\n"],"mappings":"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","names":["readFileSync","homedir","basename","join","join","homedir","readFileSync","basename","closeSync","openSync","readFileSync","readSync","statSync","homedir","basename","join","join","homedir","readFileSync","basename","candidate","openSync","readSync","closeSync","statSync"]}
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { S as SourceFile, a as SessionInput, b as Source, P as ParsedFile, W as Week, c as ScanProgress, R as RawReport, d as Report } from './model-CuPMSo2C.js';
2
+ import { S as SourceFile, a as SessionInput, b as Source, P as ParsedFile, W as Week, c as ScanProgress, R as RawReport, d as Report } from './model-9b6IZO6s.js';
3
3
 
4
4
  /**
5
5
  * Where parsed turns live between runs. PRD-003 ships the memory map only; PRD-004 adds
@@ -40,6 +40,8 @@ interface AgentSource {
40
40
  path: string;
41
41
  lines: number;
42
42
  }[];
43
+ /** Map of full session ID to native thread/session title, if the agent stores an index. */
44
+ sessionMetadata?(): Map<string, string>;
43
45
  }
44
46
  type Env = Record<string, string | undefined>;
45
47