openplanter 0.1.0
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.
- package/README.md +210 -0
- package/dist/builder.d.ts +11 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +179 -0
- package/dist/builder.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +548 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +51 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +114 -0
- package/dist/config.js.map +1 -0
- package/dist/credentials.d.ts +52 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +371 -0
- package/dist/credentials.js.map +1 -0
- package/dist/demo.d.ts +26 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/demo.js +95 -0
- package/dist/demo.js.map +1 -0
- package/dist/engine.d.ts +91 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +1036 -0
- package/dist/engine.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/investigation-tools/aph-holdings.d.ts +61 -0
- package/dist/investigation-tools/aph-holdings.d.ts.map +1 -0
- package/dist/investigation-tools/aph-holdings.js +459 -0
- package/dist/investigation-tools/aph-holdings.js.map +1 -0
- package/dist/investigation-tools/asic-officer-lookup.d.ts +42 -0
- package/dist/investigation-tools/asic-officer-lookup.d.ts.map +1 -0
- package/dist/investigation-tools/asic-officer-lookup.js +197 -0
- package/dist/investigation-tools/asic-officer-lookup.js.map +1 -0
- package/dist/investigation-tools/asx-calendar-fetcher.d.ts +42 -0
- package/dist/investigation-tools/asx-calendar-fetcher.d.ts.map +1 -0
- package/dist/investigation-tools/asx-calendar-fetcher.js +271 -0
- package/dist/investigation-tools/asx-calendar-fetcher.js.map +1 -0
- package/dist/investigation-tools/asx-parser.d.ts +66 -0
- package/dist/investigation-tools/asx-parser.d.ts.map +1 -0
- package/dist/investigation-tools/asx-parser.js +314 -0
- package/dist/investigation-tools/asx-parser.js.map +1 -0
- package/dist/investigation-tools/bulk-asx-announcements.d.ts +53 -0
- package/dist/investigation-tools/bulk-asx-announcements.d.ts.map +1 -0
- package/dist/investigation-tools/bulk-asx-announcements.js +204 -0
- package/dist/investigation-tools/bulk-asx-announcements.js.map +1 -0
- package/dist/investigation-tools/entity-resolver.d.ts +77 -0
- package/dist/investigation-tools/entity-resolver.d.ts.map +1 -0
- package/dist/investigation-tools/entity-resolver.js +346 -0
- package/dist/investigation-tools/entity-resolver.js.map +1 -0
- package/dist/investigation-tools/hotcopper-scraper.d.ts +73 -0
- package/dist/investigation-tools/hotcopper-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/hotcopper-scraper.js +318 -0
- package/dist/investigation-tools/hotcopper-scraper.js.map +1 -0
- package/dist/investigation-tools/index.d.ts +15 -0
- package/dist/investigation-tools/index.d.ts.map +1 -0
- package/dist/investigation-tools/index.js +15 -0
- package/dist/investigation-tools/index.js.map +1 -0
- package/dist/investigation-tools/insider-graph.d.ts +173 -0
- package/dist/investigation-tools/insider-graph.d.ts.map +1 -0
- package/dist/investigation-tools/insider-graph.js +732 -0
- package/dist/investigation-tools/insider-graph.js.map +1 -0
- package/dist/investigation-tools/insider-suspicion-scorer.d.ts +97 -0
- package/dist/investigation-tools/insider-suspicion-scorer.d.ts.map +1 -0
- package/dist/investigation-tools/insider-suspicion-scorer.js +327 -0
- package/dist/investigation-tools/insider-suspicion-scorer.js.map +1 -0
- package/dist/investigation-tools/multi-forum-scraper.d.ts +104 -0
- package/dist/investigation-tools/multi-forum-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/multi-forum-scraper.js +415 -0
- package/dist/investigation-tools/multi-forum-scraper.js.map +1 -0
- package/dist/investigation-tools/price-fetcher.d.ts +81 -0
- package/dist/investigation-tools/price-fetcher.d.ts.map +1 -0
- package/dist/investigation-tools/price-fetcher.js +268 -0
- package/dist/investigation-tools/price-fetcher.js.map +1 -0
- package/dist/investigation-tools/shared.d.ts +39 -0
- package/dist/investigation-tools/shared.d.ts.map +1 -0
- package/dist/investigation-tools/shared.js +203 -0
- package/dist/investigation-tools/shared.js.map +1 -0
- package/dist/investigation-tools/timeline-linker.d.ts +90 -0
- package/dist/investigation-tools/timeline-linker.d.ts.map +1 -0
- package/dist/investigation-tools/timeline-linker.js +219 -0
- package/dist/investigation-tools/timeline-linker.js.map +1 -0
- package/dist/investigation-tools/volume-scanner.d.ts +70 -0
- package/dist/investigation-tools/volume-scanner.d.ts.map +1 -0
- package/dist/investigation-tools/volume-scanner.js +227 -0
- package/dist/investigation-tools/volume-scanner.js.map +1 -0
- package/dist/model.d.ts +136 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +1071 -0
- package/dist/model.js.map +1 -0
- package/dist/patching.d.ts +45 -0
- package/dist/patching.d.ts.map +1 -0
- package/dist/patching.js +317 -0
- package/dist/patching.js.map +1 -0
- package/dist/prompts.d.ts +15 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +351 -0
- package/dist/prompts.js.map +1 -0
- package/dist/replay-log.d.ts +54 -0
- package/dist/replay-log.d.ts.map +1 -0
- package/dist/replay-log.js +94 -0
- package/dist/replay-log.js.map +1 -0
- package/dist/runtime.d.ts +53 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +259 -0
- package/dist/runtime.js.map +1 -0
- package/dist/settings.d.ts +39 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +146 -0
- package/dist/settings.js.map +1 -0
- package/dist/tool-defs.d.ts +58 -0
- package/dist/tool-defs.d.ts.map +1 -0
- package/dist/tool-defs.js +1029 -0
- package/dist/tool-defs.js.map +1 -0
- package/dist/tools.d.ts +72 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +1454 -0
- package/dist/tools.js.map +1 -0
- package/dist/tui.d.ts +49 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +699 -0
- package/dist/tui.js.map +1 -0
- package/package.json +126 -0
package/dist/demo.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Demo mode: censor workspace path segments in TUI output.
|
|
3
|
+
*
|
|
4
|
+
* Migrated from agent/demo.py.
|
|
5
|
+
*
|
|
6
|
+
* Censoring is UI-only – the agent's internal state is unaffected.
|
|
7
|
+
* Block characters (U+2588) replace sensitive text at the same length
|
|
8
|
+
* so style spans are preserved.
|
|
9
|
+
*
|
|
10
|
+
* Entity-name censoring is handled by a prompt instruction (see
|
|
11
|
+
* prompts.ts) rather than regex post-processing.
|
|
12
|
+
*/
|
|
13
|
+
import * as path from "node:path";
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Generic path components that should NOT be censored
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
export const _GENERIC_PATH_PARTS = new Set([
|
|
18
|
+
"/",
|
|
19
|
+
"Users",
|
|
20
|
+
"home",
|
|
21
|
+
"Documents",
|
|
22
|
+
"Desktop",
|
|
23
|
+
"Downloads",
|
|
24
|
+
"Projects",
|
|
25
|
+
"repos",
|
|
26
|
+
"src",
|
|
27
|
+
"var",
|
|
28
|
+
"tmp",
|
|
29
|
+
"opt",
|
|
30
|
+
"etc",
|
|
31
|
+
"Library",
|
|
32
|
+
"Applications",
|
|
33
|
+
"volumes",
|
|
34
|
+
"mnt",
|
|
35
|
+
"media",
|
|
36
|
+
"nix",
|
|
37
|
+
"store",
|
|
38
|
+
"run",
|
|
39
|
+
"snap",
|
|
40
|
+
]);
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// DemoCensor
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
export class DemoCensor {
|
|
45
|
+
/**
|
|
46
|
+
* Builds replacement tables from a workspace path and censors text.
|
|
47
|
+
*/
|
|
48
|
+
_replacements;
|
|
49
|
+
constructor(workspace) {
|
|
50
|
+
this._replacements = [];
|
|
51
|
+
this._buildPathReplacements(workspace);
|
|
52
|
+
}
|
|
53
|
+
// -- construction helpers ------------------------------------------------
|
|
54
|
+
_buildPathReplacements(workspace) {
|
|
55
|
+
/**
|
|
56
|
+
* Decompose workspace into parts; add non-generic, non-project
|
|
57
|
+
* segments to the literal replacement table.
|
|
58
|
+
*/
|
|
59
|
+
const resolved = path.resolve(workspace);
|
|
60
|
+
const parts = resolved.split(path.sep).filter(Boolean);
|
|
61
|
+
const projectName = path.basename(resolved);
|
|
62
|
+
for (const part of parts) {
|
|
63
|
+
if (_GENERIC_PATH_PARTS.has(part))
|
|
64
|
+
continue;
|
|
65
|
+
if (part === projectName)
|
|
66
|
+
continue;
|
|
67
|
+
if (!part)
|
|
68
|
+
continue;
|
|
69
|
+
const replacement = "\u2588".repeat(part.length);
|
|
70
|
+
this._replacements.push([part, replacement]);
|
|
71
|
+
}
|
|
72
|
+
// Sort longest-first so longer matches take precedence.
|
|
73
|
+
this._replacements.sort((a, b) => b[0].length - a[0].length);
|
|
74
|
+
}
|
|
75
|
+
// -- public API ----------------------------------------------------------
|
|
76
|
+
/**
|
|
77
|
+
* Apply workspace-path segment replacements.
|
|
78
|
+
*/
|
|
79
|
+
censorText(text) {
|
|
80
|
+
let result = text;
|
|
81
|
+
for (const [original, replacement] of this._replacements) {
|
|
82
|
+
// Replace all occurrences
|
|
83
|
+
let idx = result.indexOf(original);
|
|
84
|
+
while (idx !== -1) {
|
|
85
|
+
result =
|
|
86
|
+
result.slice(0, idx) +
|
|
87
|
+
replacement +
|
|
88
|
+
result.slice(idx + original.length);
|
|
89
|
+
idx = result.indexOf(original, idx + replacement.length);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=demo.js.map
|
package/dist/demo.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IAC9D,GAAG;IACH,OAAO;IACP,MAAM;IACN,WAAW;IACX,SAAS;IACT,WAAW;IACX,UAAU;IACV,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,cAAc;IACd,SAAS;IACT,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;CACP,CAAC,CAAC;AAEH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,OAAO,UAAU;IACrB;;OAEG;IAEK,aAAa,CAA0B;IAE/C,YAAY,SAAiB;QAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,2EAA2E;IAEnE,sBAAsB,CAAC,SAAiB;QAC9C;;;WAGG;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC5C,IAAI,IAAI,KAAK,WAAW;gBAAE,SAAS;YACnC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,2EAA2E;IAE3E;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACzD,0BAA0B;YAC1B,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,MAAM;oBACJ,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACpB,WAAW;wBACX,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
package/dist/engine.d.ts
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core RLMEngine – orchestrates the recursive agent loop.
|
|
3
|
+
*
|
|
4
|
+
* Migrated from agent/engine.py to TypeScript (ESM, ES2022, Node16).
|
|
5
|
+
*/
|
|
6
|
+
import type { AgentConfig } from "./config.js";
|
|
7
|
+
import type { BaseModel } from "./model.js";
|
|
8
|
+
import type { ReplayLogger } from "./replay-log.js";
|
|
9
|
+
import { WorkspaceTools } from "./tools.js";
|
|
10
|
+
export type EventCallback = (msg: string) => void;
|
|
11
|
+
export type StepCallback = (step: Record<string, unknown>) => void;
|
|
12
|
+
export type ContentDeltaCallback = (deltaType: string, text: string) => void;
|
|
13
|
+
export type ModelFactory = (modelName: string, reasoningEffort: string | null) => BaseModel;
|
|
14
|
+
/** One-line summary of tool call arguments. */
|
|
15
|
+
export declare function summarizeArgs(args: Record<string, unknown>, maxLen?: number): string;
|
|
16
|
+
/** First line or truncated preview of an observation. */
|
|
17
|
+
export declare function summarizeObservation(text: string, maxLen?: number): string;
|
|
18
|
+
/** Legacy alias for tests and external code that reference SYSTEM_PROMPT directly. */
|
|
19
|
+
export declare const SYSTEM_PROMPT: string;
|
|
20
|
+
export declare const _MODEL_CONTEXT_WINDOWS: Record<string, number>;
|
|
21
|
+
export declare const _DEFAULT_CONTEXT_WINDOW = 128000;
|
|
22
|
+
/**
|
|
23
|
+
* Determine capability tier for a model. Lower number = higher capability.
|
|
24
|
+
*
|
|
25
|
+
* Anthropic chain (by model name):
|
|
26
|
+
* opus → 1, sonnet → 2, haiku → 3
|
|
27
|
+
* OpenAI codex chain (by reasoning effort):
|
|
28
|
+
* xhigh → 1, high → 2, medium → 3, low → 4
|
|
29
|
+
* Unknown → 2
|
|
30
|
+
*/
|
|
31
|
+
export declare function modelTier(modelName: string, reasoningEffort?: string | null): number;
|
|
32
|
+
/**
|
|
33
|
+
* Return [modelName, reasoningEffort] for the lowest-tier executor.
|
|
34
|
+
*
|
|
35
|
+
* Anthropic models → haiku. Unknown → no downgrade (return same name).
|
|
36
|
+
*/
|
|
37
|
+
export declare function lowestTierModel(modelName: string): [string, string | null];
|
|
38
|
+
export declare class ExternalContext {
|
|
39
|
+
observations: string[];
|
|
40
|
+
add(text: string): void;
|
|
41
|
+
summary(maxItems?: number, maxChars?: number): string;
|
|
42
|
+
}
|
|
43
|
+
export declare class RLMEngine {
|
|
44
|
+
model: BaseModel;
|
|
45
|
+
tools: WorkspaceTools;
|
|
46
|
+
config: AgentConfig;
|
|
47
|
+
systemPrompt: string;
|
|
48
|
+
sessionTokens: Record<string, {
|
|
49
|
+
input: number;
|
|
50
|
+
output: number;
|
|
51
|
+
}>;
|
|
52
|
+
modelFactory: ModelFactory | null;
|
|
53
|
+
sessionDir: string | null;
|
|
54
|
+
sessionId: string | null;
|
|
55
|
+
private _modelCache;
|
|
56
|
+
private _shellCommandCounts;
|
|
57
|
+
constructor(opts: {
|
|
58
|
+
model: BaseModel;
|
|
59
|
+
tools: WorkspaceTools;
|
|
60
|
+
config: AgentConfig;
|
|
61
|
+
systemPrompt?: string;
|
|
62
|
+
sessionTokens?: Record<string, {
|
|
63
|
+
input: number;
|
|
64
|
+
output: number;
|
|
65
|
+
}>;
|
|
66
|
+
modelFactory?: ModelFactory | null;
|
|
67
|
+
sessionDir?: string | null;
|
|
68
|
+
sessionId?: string | null;
|
|
69
|
+
});
|
|
70
|
+
solve(objective: string, onEvent?: EventCallback | null): Promise<string>;
|
|
71
|
+
solveWithContext(opts: {
|
|
72
|
+
objective: string;
|
|
73
|
+
context?: ExternalContext | null;
|
|
74
|
+
onEvent?: EventCallback | null;
|
|
75
|
+
onStep?: StepCallback | null;
|
|
76
|
+
onContentDelta?: ContentDeltaCallback | null;
|
|
77
|
+
replayLogger?: ReplayLogger | null;
|
|
78
|
+
}): Promise<[string, ExternalContext]>;
|
|
79
|
+
private _emit;
|
|
80
|
+
private _clipObservation;
|
|
81
|
+
private _runtimePolicyCheck;
|
|
82
|
+
private _judgeResult;
|
|
83
|
+
private _solveRecursive;
|
|
84
|
+
private _runOneTool;
|
|
85
|
+
private _applyToolCall;
|
|
86
|
+
/** List available artifacts. */
|
|
87
|
+
private _listArtifacts;
|
|
88
|
+
/** Read an artifact's conversation log. */
|
|
89
|
+
private _readArtifact;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiB5C,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,CACzB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GAAG,IAAI,KAC3B,SAAS,CAAC;AAMf,+CAA+C;AAC/C,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,SAAM,GACX,MAAM,CAcR;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,MAAM,CAWvE;AAMD,sFAAsF;AACtF,eAAO,MAAM,aAAa,EAAE,MAAgC,CAAC;AAM7D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOzD,CAAC;AACF,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAO/C;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,eAAe,GAAE,MAAM,GAAG,IAAW,GACpC,MAAM,CAgBR;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAChB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAMzB;AAMD,qBAAa,eAAe;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAM;IAE5B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvB,OAAO,CAAC,QAAQ,SAAK,EAAE,QAAQ,SAAO,GAAG,MAAM;CAQhD;AAMD,qBAAa,SAAS;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,mBAAmB,CAAkC;gBAEjD,IAAI,EAAE;QAChB,KAAK,EAAE,SAAS,CAAC;QACjB,KAAK,EAAE,cAAc,CAAC;QACtB,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B;IAgCK,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,GAC7B,OAAO,CAAC,MAAM,CAAC;IAKZ,gBAAgB,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QAC7C,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;KACpC,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAgDtC,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;YAkBb,YAAY;YAsDZ,eAAe;YA4bf,WAAW;YA2GX,cAAc;IA0W5B,gCAAgC;IAChC,OAAO,CAAC,cAAc;IAuCtB,2CAA2C;IAC3C,OAAO,CAAC,aAAa;CAuBtB"}
|