@prismatic-io/lux 0.0.2-preview.29 → 0.0.2-preview.30
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/lib/answerers/persona/index.d.ts +6 -0
- package/lib/answerers/persona/index.d.ts.map +1 -1
- package/lib/answerers/persona/index.js +5 -0
- package/lib/answerers/persona/index.js.map +1 -1
- package/lib/assertions/core/command-exits-zero.d.ts +2 -0
- package/lib/assertions/core/command-exits-zero.d.ts.map +1 -1
- package/lib/assertions/core/command-exits-zero.js +46 -4
- package/lib/assertions/core/command-exits-zero.js.map +1 -1
- package/lib/assertions/rubric/index.d.ts +16 -0
- package/lib/assertions/rubric/index.d.ts.map +1 -1
- package/lib/assertions/rubric/index.js +34 -3
- package/lib/assertions/rubric/index.js.map +1 -1
- package/lib/assertions/rubric/internal.d.ts +14 -0
- package/lib/assertions/rubric/internal.d.ts.map +1 -1
- package/lib/assertions/rubric/internal.js +122 -12
- package/lib/assertions/rubric/internal.js.map +1 -1
- package/lib/core/agent-environment.d.ts +5 -0
- package/lib/core/agent-environment.d.ts.map +1 -0
- package/lib/core/agent-environment.js +47 -0
- package/lib/core/agent-environment.js.map +1 -0
- package/lib/core/command-verification.d.ts +10 -0
- package/lib/core/command-verification.d.ts.map +1 -0
- package/lib/core/command-verification.js +66 -0
- package/lib/core/command-verification.js.map +1 -0
- package/lib/core/driver.d.ts +7 -0
- package/lib/core/driver.d.ts.map +1 -1
- package/lib/core/driver.js +2 -0
- package/lib/core/driver.js.map +1 -1
- package/lib/core/index.d.ts +2 -0
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/model-cli.d.ts +5 -0
- package/lib/core/model-cli.d.ts.map +1 -1
- package/lib/core/model-cli.js +8 -2
- package/lib/core/model-cli.js.map +1 -1
- package/lib/core/run.d.ts +5 -0
- package/lib/core/run.d.ts.map +1 -1
- package/lib/core/secure-copy.d.ts.map +1 -0
- package/lib/core/secure-copy.js.map +1 -0
- package/lib/drivers/antigravity/config.d.ts +3 -0
- package/lib/drivers/antigravity/config.d.ts.map +1 -1
- package/lib/drivers/antigravity/config.js +2 -0
- package/lib/drivers/antigravity/config.js.map +1 -1
- package/lib/drivers/antigravity/index.d.ts +4 -0
- package/lib/drivers/antigravity/index.d.ts.map +1 -1
- package/lib/drivers/antigravity/runtime.d.ts.map +1 -1
- package/lib/drivers/antigravity/runtime.js +7 -2
- package/lib/drivers/antigravity/runtime.js.map +1 -1
- package/lib/drivers/claude-code/index.d.ts +18 -4
- package/lib/drivers/claude-code/index.d.ts.map +1 -1
- package/lib/drivers/claude-code/index.js +97 -200
- package/lib/drivers/claude-code/index.js.map +1 -1
- package/lib/drivers/claude-code/isolation.d.ts +8 -0
- package/lib/drivers/claude-code/isolation.d.ts.map +1 -0
- package/lib/drivers/claude-code/isolation.js +199 -0
- package/lib/drivers/claude-code/isolation.js.map +1 -0
- package/lib/drivers/codex/config.d.ts +3 -0
- package/lib/drivers/codex/config.d.ts.map +1 -1
- package/lib/drivers/codex/config.js +2 -0
- package/lib/drivers/codex/config.js.map +1 -1
- package/lib/drivers/codex/index.d.ts +4 -0
- package/lib/drivers/codex/index.d.ts.map +1 -1
- package/lib/drivers/codex/index.js +52 -24
- package/lib/drivers/codex/index.js.map +1 -1
- package/lib/drivers/copilot/config.d.ts +3 -0
- package/lib/drivers/copilot/config.d.ts.map +1 -1
- package/lib/drivers/copilot/config.js +2 -0
- package/lib/drivers/copilot/config.js.map +1 -1
- package/lib/drivers/copilot/index.d.ts +4 -0
- package/lib/drivers/copilot/index.d.ts.map +1 -1
- package/lib/drivers/copilot/index.js +2 -1
- package/lib/drivers/copilot/index.js.map +1 -1
- package/lib/drivers/cursor/config.d.ts +1 -0
- package/lib/drivers/cursor/config.d.ts.map +1 -1
- package/lib/drivers/cursor/config.js +2 -0
- package/lib/drivers/cursor/config.js.map +1 -1
- package/lib/drivers/cursor/index.d.ts +2 -0
- package/lib/drivers/cursor/index.d.ts.map +1 -1
- package/lib/drivers/cursor/index.js +2 -1
- package/lib/drivers/cursor/index.js.map +1 -1
- package/lib/drivers/grok-build/config.d.ts +3 -0
- package/lib/drivers/grok-build/config.d.ts.map +1 -1
- package/lib/drivers/grok-build/config.js +2 -0
- package/lib/drivers/grok-build/config.js.map +1 -1
- package/lib/drivers/grok-build/index.d.ts +4 -0
- package/lib/drivers/grok-build/index.d.ts.map +1 -1
- package/lib/drivers/grok-build/index.js +2 -1
- package/lib/drivers/grok-build/index.js.map +1 -1
- package/lib/drivers/subprocess/index.d.ts +3 -3
- package/lib/drivers/subprocess/index.d.ts.map +1 -1
- package/lib/drivers/subprocess/index.js +5 -2
- package/lib/drivers/subprocess/index.js.map +1 -1
- package/lib/orchestrator/artifact-origin.d.ts +3 -0
- package/lib/orchestrator/artifact-origin.d.ts.map +1 -0
- package/lib/orchestrator/artifact-origin.js +40 -0
- package/lib/orchestrator/artifact-origin.js.map +1 -0
- package/lib/orchestrator/config.d.ts +6 -0
- package/lib/orchestrator/config.d.ts.map +1 -1
- package/lib/orchestrator/experiment-context.d.ts +2 -0
- package/lib/orchestrator/experiment-context.d.ts.map +1 -1
- package/lib/orchestrator/experiment-corpus.d.ts.map +1 -1
- package/lib/orchestrator/experiment-corpus.js +2 -2
- package/lib/orchestrator/experiment-corpus.js.map +1 -1
- package/lib/orchestrator/experiment-identity.d.ts.map +1 -1
- package/lib/orchestrator/experiment-identity.js +4 -4
- package/lib/orchestrator/experiment-identity.js.map +1 -1
- package/lib/orchestrator/fixture-identity.d.ts +1 -0
- package/lib/orchestrator/fixture-identity.d.ts.map +1 -1
- package/lib/orchestrator/fixture-identity.js +6 -1
- package/lib/orchestrator/fixture-identity.js.map +1 -1
- package/lib/orchestrator/orchestrator.d.ts.map +1 -1
- package/lib/orchestrator/orchestrator.js +2 -2
- package/lib/orchestrator/orchestrator.js.map +1 -1
- package/lib/orchestrator/run-execution.d.ts.map +1 -1
- package/lib/orchestrator/run-execution.js +14 -3
- package/lib/orchestrator/run-execution.js.map +1 -1
- package/package.json +1 -1
- package/skills/lux-answerer/SKILL.md +1 -1
- package/src/answerers/persona/index.ts +5 -0
- package/src/assertions/core/command-exits-zero.ts +57 -4
- package/src/assertions/rubric/index.ts +38 -3
- package/src/assertions/rubric/internal.ts +172 -11
- package/src/core/agent-environment.ts +64 -0
- package/src/core/command-verification.ts +74 -0
- package/src/core/driver.ts +4 -0
- package/src/core/index.ts +2 -0
- package/src/core/model-cli.ts +14 -2
- package/src/drivers/antigravity/config.ts +2 -0
- package/src/drivers/antigravity/runtime.ts +8 -2
- package/src/drivers/claude-code/index.ts +112 -221
- package/src/drivers/claude-code/isolation.ts +228 -0
- package/src/drivers/codex/config.ts +2 -0
- package/src/drivers/codex/index.ts +71 -31
- package/src/drivers/copilot/config.ts +2 -0
- package/src/drivers/copilot/index.ts +2 -1
- package/src/drivers/cursor/config.ts +2 -0
- package/src/drivers/cursor/index.ts +2 -1
- package/src/drivers/grok-build/config.ts +2 -0
- package/src/drivers/grok-build/index.ts +2 -1
- package/src/drivers/subprocess/index.ts +5 -2
- package/src/orchestrator/artifact-origin.ts +50 -0
- package/src/orchestrator/experiment-corpus.ts +10 -7
- package/src/orchestrator/experiment-identity.ts +16 -13
- package/src/orchestrator/fixture-identity.ts +9 -1
- package/src/orchestrator/orchestrator.ts +12 -6
- package/src/orchestrator/run-execution.ts +21 -4
- package/lib/drivers/shared/secure-copy.d.ts.map +0 -1
- package/lib/drivers/shared/secure-copy.js.map +0 -1
- /package/lib/{drivers/shared → core}/secure-copy.d.ts +0 -0
- /package/lib/{drivers/shared → core}/secure-copy.js +0 -0
- /package/src/{drivers/shared → core}/secure-copy.ts +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { cp, mkdir,
|
|
2
|
-
import {
|
|
3
|
-
import { dirname, join, resolve, sep } from "node:path";
|
|
1
|
+
import { cp, mkdir, realpath, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
4
3
|
import { temporaryDirectory } from "tempy";
|
|
5
4
|
import { z } from "zod";
|
|
5
|
+
import { agentEnvironment, InheritEnvironmentSchema } from "../../core/agent-environment.js";
|
|
6
6
|
import { DurationSchema, durationMs } from "../../core/duration.js";
|
|
7
7
|
import { applyCatalogEffort, claudeCodeCatalog, DEFAULT_CLAUDE_MODEL, defineDriver, discoverCliVersion, selectModelAndReasoningEffort, TypedEmitter, } from "../../core/index.js";
|
|
8
|
+
import { copyRegularFileNoFollow } from "../../core/secure-copy.js";
|
|
8
9
|
import { walkArtifacts } from "../shared/artifacts.js";
|
|
9
10
|
import { claudeConfigRoot, claudeUserBehaviorHash, configuredClaudeSourceHashes, } from "../shared/experiment-behavior.js";
|
|
10
11
|
import { prepareClaudeExperimentConfig } from "../shared/experiment-policy.js";
|
|
11
|
-
import { copyRegularFileNoFollow } from "../shared/secure-copy.js";
|
|
12
12
|
import { subprocessDriver } from "../subprocess/index.js";
|
|
13
13
|
import { runDeferredProcess } from "./deferred-process.js";
|
|
14
|
+
import { isolatedLaunch } from "./isolation.js";
|
|
14
15
|
import { ClaudeCodeLineSchema, makeParseEvent } from "./parse-events.js";
|
|
15
16
|
const LUX_BOOKKEEPING_FILES = new Set([
|
|
16
17
|
"events.jsonl",
|
|
@@ -23,12 +24,23 @@ const LUX_BOOKKEEPING_FILES = new Set([
|
|
|
23
24
|
const commandName = (command) => command.split(/[\\/]/).at(-1) ?? command;
|
|
24
25
|
const ISOLATION_RESERVED_ARGS = new Set([
|
|
25
26
|
"--add-dir",
|
|
27
|
+
"--dangerously-skip-permissions",
|
|
28
|
+
"--allow-dangerously-skip-permissions",
|
|
29
|
+
"--permission-mode",
|
|
30
|
+
"--teleport",
|
|
31
|
+
"--continue",
|
|
32
|
+
"-c",
|
|
33
|
+
"--resume",
|
|
34
|
+
"-r",
|
|
35
|
+
"--fork-session",
|
|
36
|
+
"--session-id",
|
|
26
37
|
"--agent",
|
|
27
38
|
"--agents",
|
|
28
39
|
"--bare",
|
|
29
40
|
"--mcp-config",
|
|
30
41
|
"--no-session-persistence",
|
|
31
42
|
"--plugin-dir",
|
|
43
|
+
"--plugin-dir-no-mcp",
|
|
32
44
|
"--plugin-url",
|
|
33
45
|
"--safe-mode",
|
|
34
46
|
"--setting-sources",
|
|
@@ -43,6 +55,8 @@ const IsolationSchema = z
|
|
|
43
55
|
* and `addDirs` paths are included automatically.
|
|
44
56
|
*/
|
|
45
57
|
allowRead: z.array(z.string()).default([]),
|
|
58
|
+
/** Additional protected trees and files, including other evaluation runs. */
|
|
59
|
+
denyRead: z.array(z.string()).optional(),
|
|
46
60
|
})
|
|
47
61
|
.strict();
|
|
48
62
|
export const ClaudeCodeDriverConfigSchema = z
|
|
@@ -54,6 +68,7 @@ export const ClaudeCodeDriverConfigSchema = z
|
|
|
54
68
|
cwdMode: z.enum(["artifacts", "runDir"]).default("artifacts"),
|
|
55
69
|
cwd: z.string().optional(),
|
|
56
70
|
env: z.record(z.string(), z.string()).optional(),
|
|
71
|
+
inheritEnv: InheritEnvironmentSchema.default(true),
|
|
57
72
|
/** Low-cost by default; choose a larger model explicitly when needed. */
|
|
58
73
|
model: z.string().min(1).default(DEFAULT_CLAUDE_MODEL),
|
|
59
74
|
reasoningEffort: z.enum(claudeCodeCatalog.efforts).optional(),
|
|
@@ -103,7 +118,15 @@ export const ClaudeCodeDriverConfigSchema = z
|
|
|
103
118
|
});
|
|
104
119
|
}
|
|
105
120
|
if (config.interactionMode === "defer-resume") {
|
|
106
|
-
const reserved = config.extraArgs?.find((arg) => [
|
|
121
|
+
const reserved = config.extraArgs?.find((arg) => [
|
|
122
|
+
"--input-format",
|
|
123
|
+
"--no-session-persistence",
|
|
124
|
+
"--resume",
|
|
125
|
+
"-r",
|
|
126
|
+
"--settings",
|
|
127
|
+
"--permission-prompt-tool",
|
|
128
|
+
"--permission-prompts",
|
|
129
|
+
].some((name) => arg === name || arg.startsWith(`${name}=`)));
|
|
107
130
|
if (reserved) {
|
|
108
131
|
ctx.addIssue({
|
|
109
132
|
code: "custom",
|
|
@@ -121,11 +144,11 @@ export const ClaudeCodeDriverConfigSchema = z
|
|
|
121
144
|
message: "isolation requires permissionMode to be omitted or 'default'; Claude Code forces default mode while subprocess environment scrubbing is enabled",
|
|
122
145
|
});
|
|
123
146
|
}
|
|
124
|
-
if (config.interactionMode === "defer-resume") {
|
|
147
|
+
if (config.interactionMode === "defer-resume" && config.pluginDirs?.length) {
|
|
125
148
|
ctx.addIssue({
|
|
126
149
|
code: "custom",
|
|
127
|
-
path: ["
|
|
128
|
-
message: "defer-resume
|
|
150
|
+
path: ["pluginDirs"],
|
|
151
|
+
message: "isolated defer-resume cannot load plugin hooks; use addDirs for read-only skill files",
|
|
129
152
|
});
|
|
130
153
|
}
|
|
131
154
|
if (config.cwd || config.cwdMode !== "artifacts") {
|
|
@@ -192,8 +215,17 @@ const allowedTools = (config) => [
|
|
|
192
215
|
...(config.allowedTools ?? []),
|
|
193
216
|
]),
|
|
194
217
|
];
|
|
195
|
-
const buildDeferredArgs = (config, hookPath, sessionId) => {
|
|
196
|
-
|
|
218
|
+
const buildDeferredArgs = (config, hookPath, sessionId, isolation) => {
|
|
219
|
+
// Native print mode removes AskUserQuestion unless a host permission surface exists.
|
|
220
|
+
// The trusted PreToolUse hook handles the question before that surface is consulted.
|
|
221
|
+
const out = [
|
|
222
|
+
"--print",
|
|
223
|
+
"--output-format",
|
|
224
|
+
"stream-json",
|
|
225
|
+
"--verbose",
|
|
226
|
+
"--permission-prompt-tool",
|
|
227
|
+
"stdio",
|
|
228
|
+
];
|
|
197
229
|
out.push("--model", config.model, ...effortArgs(config));
|
|
198
230
|
if (config.permissionMode)
|
|
199
231
|
out.push("--permission-mode", config.permissionMode);
|
|
@@ -202,9 +234,16 @@ const buildDeferredArgs = (config, hookPath, sessionId) => {
|
|
|
202
234
|
out.push("--plugin-dir", dir);
|
|
203
235
|
if (config.agent)
|
|
204
236
|
out.push("--agent", config.agent);
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
237
|
+
if (!isolation)
|
|
238
|
+
for (const dir of config.addDirs ?? [])
|
|
239
|
+
out.push("--add-dir", dir);
|
|
240
|
+
out.push("--settings", JSON.stringify({
|
|
241
|
+
...isolation?.settings,
|
|
242
|
+
...deferredHookSettings(config, hookPath),
|
|
243
|
+
...(isolation ? { disableAllHooks: false } : {}),
|
|
244
|
+
}));
|
|
245
|
+
if (isolation)
|
|
246
|
+
out.push("--strict-mcp-config", "--setting-sources", "");
|
|
208
247
|
if (sessionId)
|
|
209
248
|
out.push("--resume", sessionId);
|
|
210
249
|
if (config.extraArgs)
|
|
@@ -260,163 +299,6 @@ process.stdin.on("end", () => {
|
|
|
260
299
|
}));
|
|
261
300
|
});
|
|
262
301
|
`;
|
|
263
|
-
const isWithin = (parent, child) => child === parent || child.startsWith(`${parent}${sep}`);
|
|
264
|
-
const permissionPath = (tool, path, directory) => {
|
|
265
|
-
const absolute = resolve(path).replaceAll("\\", "/");
|
|
266
|
-
return `${tool}(//${absolute.replace(/^\/+/, "")}${directory ? "/**" : ""})`;
|
|
267
|
-
};
|
|
268
|
-
/**
|
|
269
|
-
* Permission rules have no "allow inside deny" override, so isolate a root by
|
|
270
|
-
* denying every sibling around explicitly allowed descendants.
|
|
271
|
-
*/
|
|
272
|
-
const carvedPermissionDenials = async (tool, root, allowed) => {
|
|
273
|
-
const normalizedRoot = resolve(root);
|
|
274
|
-
const inside = allowed
|
|
275
|
-
.map((path) => resolve(path))
|
|
276
|
-
.filter((path) => isWithin(normalizedRoot, path));
|
|
277
|
-
if (inside.some((path) => path === normalizedRoot))
|
|
278
|
-
return [];
|
|
279
|
-
if (inside.length === 0)
|
|
280
|
-
return [permissionPath(tool, normalizedRoot, true)];
|
|
281
|
-
const out = [];
|
|
282
|
-
const walk = async (dir) => {
|
|
283
|
-
const entries = await readdir(dir, { withFileTypes: true });
|
|
284
|
-
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
285
|
-
for (const entry of entries) {
|
|
286
|
-
const path = join(dir, entry.name);
|
|
287
|
-
if (inside.some((allowedPath) => allowedPath === path))
|
|
288
|
-
continue;
|
|
289
|
-
if (entry.isDirectory() && inside.some((allowedPath) => isWithin(path, allowedPath))) {
|
|
290
|
-
await walk(path);
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
out.push(permissionPath(tool, path, entry.isDirectory()));
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
await walk(normalizedRoot);
|
|
298
|
-
return out;
|
|
299
|
-
};
|
|
300
|
-
const carvedReadDenials = (root, allowed) => carvedPermissionDenials("Read", root, allowed);
|
|
301
|
-
const existingRealpaths = async (paths) => {
|
|
302
|
-
const found = await Promise.all(paths.map(async (path) => {
|
|
303
|
-
try {
|
|
304
|
-
return await realpath(resolve(path));
|
|
305
|
-
}
|
|
306
|
-
catch {
|
|
307
|
-
return null;
|
|
308
|
-
}
|
|
309
|
-
}));
|
|
310
|
-
return [...new Set(found.filter((path) => path !== null))];
|
|
311
|
-
};
|
|
312
|
-
const compactRoots = (paths) => [...new Set(paths)]
|
|
313
|
-
.sort((a, b) => a.length - b.length || a.localeCompare(b))
|
|
314
|
-
.filter((path, index, roots) => !roots.slice(0, index).some((root) => isWithin(root, path)));
|
|
315
|
-
const isolatedLaunch = async (config, ctx, workspace) => {
|
|
316
|
-
const homeRoots = await existingRealpaths([
|
|
317
|
-
homedir(),
|
|
318
|
-
...(config.env?.HOME ? [config.env.HOME] : []),
|
|
319
|
-
]);
|
|
320
|
-
const sensitiveHomePaths = homeRoots.flatMap((home) => [
|
|
321
|
-
join(home, ".aws"),
|
|
322
|
-
join(home, ".config", "gcloud"),
|
|
323
|
-
join(home, ".docker", "config.json"),
|
|
324
|
-
join(home, ".git-credentials"),
|
|
325
|
-
join(home, ".gnupg"),
|
|
326
|
-
join(home, ".kube"),
|
|
327
|
-
join(home, ".netrc"),
|
|
328
|
-
join(home, ".npmrc"),
|
|
329
|
-
join(home, ".ssh"),
|
|
330
|
-
]);
|
|
331
|
-
const protectedRoots = await existingRealpaths([
|
|
332
|
-
...(ctx.runsRoot ? [ctx.runsRoot] : [ctx.runDir]),
|
|
333
|
-
...(process.env.CLAUDE_CONFIG_DIR ? [process.env.CLAUDE_CONFIG_DIR] : []),
|
|
334
|
-
...(config.env?.CLAUDE_CONFIG_DIR ? [config.env.CLAUDE_CONFIG_DIR] : []),
|
|
335
|
-
...sensitiveHomePaths,
|
|
336
|
-
...homeRoots.flatMap((home) => [
|
|
337
|
-
join(home, ".claude", "projects"),
|
|
338
|
-
join(home, ".claude", "memory"),
|
|
339
|
-
]),
|
|
340
|
-
]);
|
|
341
|
-
const denyRoots = compactRoots(protectedRoots);
|
|
342
|
-
const allowed = compactRoots(await existingRealpaths([
|
|
343
|
-
...(config.pluginDirs ?? []),
|
|
344
|
-
...(config.addDirs ?? []),
|
|
345
|
-
...(config.isolation?.allowRead ?? []),
|
|
346
|
-
]));
|
|
347
|
-
const overlapping = allowed.find((path) => (path !== workspace && isWithin(path, workspace)) ||
|
|
348
|
-
denyRoots.some((root) => isWithin(path, root)) ||
|
|
349
|
-
protectedRoots.some((root) => isWithin(root, path)));
|
|
350
|
-
if (overlapping) {
|
|
351
|
-
throw new Error(`isolation read carve-out overlaps a protected boundary: ${overlapping}`);
|
|
352
|
-
}
|
|
353
|
-
const readOnlyRoots = allowed.filter((path) => !isWithin(workspace, path));
|
|
354
|
-
const editDenyRoots = compactRoots([...denyRoots, ...readOnlyRoots]);
|
|
355
|
-
const [readDenials, writeDenials] = await Promise.all([
|
|
356
|
-
Promise.all(denyRoots.map((root) => carvedPermissionDenials("Read", root, allowed))),
|
|
357
|
-
Promise.all(editDenyRoots.map((root) => carvedPermissionDenials("Edit", root, []))),
|
|
358
|
-
]);
|
|
359
|
-
const denyRules = [...readDenials.flat(), ...writeDenials.flat()];
|
|
360
|
-
const sandboxSettings = {
|
|
361
|
-
disableAllHooks: true,
|
|
362
|
-
permissions: { deny: denyRules },
|
|
363
|
-
sandbox: {
|
|
364
|
-
enabled: true,
|
|
365
|
-
failIfUnavailable: true,
|
|
366
|
-
allowUnsandboxedCommands: false,
|
|
367
|
-
filesystem: {
|
|
368
|
-
denyRead: denyRoots,
|
|
369
|
-
denyWrite: denyRoots,
|
|
370
|
-
allowRead: allowed,
|
|
371
|
-
},
|
|
372
|
-
// Filesystem isolation does not disable the live docs and package
|
|
373
|
-
// registry access that cases are intended to exercise.
|
|
374
|
-
network: { allowedDomains: ["*"] },
|
|
375
|
-
},
|
|
376
|
-
};
|
|
377
|
-
const stateDir = join(workspace, ".lux-claude");
|
|
378
|
-
const tmpDir = join(stateDir, "tmp");
|
|
379
|
-
const cacheDir = join(stateDir, "cache");
|
|
380
|
-
const pluginCacheDir = join(stateDir, "plugins");
|
|
381
|
-
await Promise.all([
|
|
382
|
-
mkdir(tmpDir, { recursive: true }),
|
|
383
|
-
mkdir(cacheDir, { recursive: true }),
|
|
384
|
-
mkdir(pluginCacheDir, { recursive: true }),
|
|
385
|
-
]);
|
|
386
|
-
return {
|
|
387
|
-
args: [
|
|
388
|
-
// --add-dir also discovers skills and agents. Isolation treats addDirs
|
|
389
|
-
// as data-only read grants, so expose them through the filesystem policy
|
|
390
|
-
// above without passing the discovery flag to Claude.
|
|
391
|
-
...buildArgs({ ...config, addDirs: undefined }),
|
|
392
|
-
"--no-session-persistence",
|
|
393
|
-
"--strict-mcp-config",
|
|
394
|
-
// Authentication is independent of filesystem setting sources. Keep
|
|
395
|
-
// these empty instead of using --safe-mode: safe mode would also disable
|
|
396
|
-
// the explicitly requested plugin's skills, commands, and agents.
|
|
397
|
-
"--setting-sources",
|
|
398
|
-
"",
|
|
399
|
-
"--settings",
|
|
400
|
-
JSON.stringify(sandboxSettings),
|
|
401
|
-
],
|
|
402
|
-
env: {
|
|
403
|
-
...(config.env ?? {}),
|
|
404
|
-
CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1",
|
|
405
|
-
CLAUDE_CODE_DISABLE_CLAUDE_MDS: "1",
|
|
406
|
-
CLAUDE_CODE_SKIP_PROMPT_HISTORY: "1",
|
|
407
|
-
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1",
|
|
408
|
-
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB: "1",
|
|
409
|
-
CLAUDE_CODE_AUTO_CONNECT_IDE: "false",
|
|
410
|
-
CLAUDE_CODE_PLUGIN_CACHE_DIR: pluginCacheDir,
|
|
411
|
-
CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL: "1",
|
|
412
|
-
DISABLE_AUTOUPDATER: "1",
|
|
413
|
-
TMPDIR: tmpDir,
|
|
414
|
-
XDG_CACHE_HOME: cacheDir,
|
|
415
|
-
npm_config_cache: join(cacheDir, "npm"),
|
|
416
|
-
BUN_INSTALL_CACHE_DIR: join(cacheDir, "bun"),
|
|
417
|
-
},
|
|
418
|
-
};
|
|
419
|
-
};
|
|
420
302
|
const formatPrompt = (text) => `${JSON.stringify({
|
|
421
303
|
type: "user",
|
|
422
304
|
message: { role: "user", content: [{ type: "text", text }] },
|
|
@@ -444,15 +326,15 @@ const formatAnswer = (answer) => {
|
|
|
444
326
|
class ClaudeCodeDriverImpl {
|
|
445
327
|
inner = null;
|
|
446
328
|
emitter = new TypedEmitter();
|
|
447
|
-
//
|
|
448
|
-
// so the queue stays type-safe without per-entry casts; the identity pair
|
|
449
|
-
// rides along so off() can drop a queued attach symmetrically.
|
|
329
|
+
// Typed closures retain handler identity so off() can detach queued listeners.
|
|
450
330
|
pendingAttach = [];
|
|
451
331
|
config;
|
|
452
332
|
collectDir = null;
|
|
453
333
|
artifactsDir = null;
|
|
454
334
|
runDir = null;
|
|
455
335
|
isolatedWorkspace = null;
|
|
336
|
+
isolationControlDir = null;
|
|
337
|
+
deferredIsolation;
|
|
456
338
|
deferredContext = null;
|
|
457
339
|
deferredCwd = null;
|
|
458
340
|
deferredHookPath = null;
|
|
@@ -498,15 +380,20 @@ class ClaudeCodeDriverImpl {
|
|
|
498
380
|
}
|
|
499
381
|
let cwd = this.config.cwd ?? (this.config.cwdMode === "artifacts" ? ctx.artifactsDir : ctx.runDir);
|
|
500
382
|
let args = buildArgs(this.config);
|
|
501
|
-
let env = this.config.env;
|
|
383
|
+
let env = agentEnvironment(process.env, this.config.inheritEnv, this.config.env);
|
|
502
384
|
if (this.config.isolation) {
|
|
503
|
-
const
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
385
|
+
const launch = await this.prepareIsolation(ctx);
|
|
386
|
+
cwd = this.isolatedWorkspace;
|
|
387
|
+
args = [
|
|
388
|
+
...buildArgs({ ...this.config, addDirs: undefined }),
|
|
389
|
+
"--no-session-persistence",
|
|
390
|
+
"--strict-mcp-config",
|
|
391
|
+
"--setting-sources",
|
|
392
|
+
"",
|
|
393
|
+
"--settings",
|
|
394
|
+
JSON.stringify(launch.settings),
|
|
395
|
+
];
|
|
396
|
+
env = agentEnvironment(process.env, this.config.inheritEnv, launch.env);
|
|
510
397
|
}
|
|
511
398
|
this.collectDir = cwd;
|
|
512
399
|
this.artifactsDir = ctx.artifactsDir;
|
|
@@ -519,6 +406,7 @@ class ClaudeCodeDriverImpl {
|
|
|
519
406
|
args,
|
|
520
407
|
cwd,
|
|
521
408
|
env,
|
|
409
|
+
inheritEnv: false,
|
|
522
410
|
protocol: "custom",
|
|
523
411
|
parseEvent: makeParseEvent(this.config, cliVersion),
|
|
524
412
|
formatAnswer,
|
|
@@ -553,9 +441,7 @@ class ClaudeCodeDriverImpl {
|
|
|
553
441
|
async collect() {
|
|
554
442
|
if (!this.collectDir)
|
|
555
443
|
return [];
|
|
556
|
-
//
|
|
557
|
-
// have exited. Quiesce the whole process tree before walking/copying files
|
|
558
|
-
// so it cannot swap a checked regular file into a symlink.
|
|
444
|
+
// Stop descendants before collecting: terminal events can precede their exit.
|
|
559
445
|
await this.quiesce();
|
|
560
446
|
const artifacts = await walkArtifacts(this.collectDir);
|
|
561
447
|
if (this.isolatedWorkspace && this.artifactsDir) {
|
|
@@ -567,19 +453,20 @@ class ClaudeCodeDriverImpl {
|
|
|
567
453
|
}));
|
|
568
454
|
return artifacts;
|
|
569
455
|
}
|
|
570
|
-
//
|
|
571
|
-
// a walk of any other root must say what its paths are relative to, or
|
|
572
|
-
// the judge and file assertions silently miss every file.
|
|
456
|
+
// Assertions need an explicit root for artifacts collected outside artifactsDir.
|
|
573
457
|
if (this.collectDir === this.artifactsDir)
|
|
574
458
|
return artifacts;
|
|
575
459
|
const root = this.collectDir;
|
|
576
|
-
//
|
|
577
|
-
// work product; only top-level files can collide with these names.
|
|
460
|
+
// Top-level bookkeeping in runDir is not agent work product.
|
|
578
461
|
const withRoot = artifacts.map((a) => ({ ...a, root }));
|
|
579
462
|
return root === this.runDir
|
|
580
463
|
? withRoot.filter((a) => !LUX_BOOKKEEPING_FILES.has(a.path))
|
|
581
464
|
: withRoot;
|
|
582
465
|
}
|
|
466
|
+
async verificationWorkspace() {
|
|
467
|
+
await this.quiesce();
|
|
468
|
+
return this.isolatedWorkspace ?? undefined;
|
|
469
|
+
}
|
|
583
470
|
async quiesce() {
|
|
584
471
|
if (this.config.interactionMode === "defer-resume") {
|
|
585
472
|
this.deferredAbort.abort();
|
|
@@ -603,14 +490,25 @@ class ClaudeCodeDriverImpl {
|
|
|
603
490
|
}
|
|
604
491
|
}
|
|
605
492
|
finally {
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
493
|
+
await Promise.all([this.isolatedWorkspace, this.isolationControlDir]
|
|
494
|
+
.filter((path) => path !== null)
|
|
495
|
+
.map((path) => rm(path, { recursive: true, force: true })));
|
|
496
|
+
this.isolatedWorkspace = null;
|
|
497
|
+
this.isolationControlDir = null;
|
|
610
498
|
}
|
|
611
499
|
}
|
|
500
|
+
async prepareIsolation(ctx) {
|
|
501
|
+
this.isolatedWorkspace = await realpath(temporaryDirectory({ prefix: "lux-claude-workspace-" }));
|
|
502
|
+
this.isolationControlDir = await realpath(temporaryDirectory({ prefix: "lux-claude-control-" }));
|
|
503
|
+
await cp(ctx.artifactsDir, this.isolatedWorkspace, { recursive: true });
|
|
504
|
+
return isolatedLaunch(this.config, ctx, this.isolatedWorkspace, this.isolationControlDir);
|
|
505
|
+
}
|
|
612
506
|
async startDeferred(ctx) {
|
|
613
|
-
|
|
507
|
+
let cwd = this.config.cwd ?? (this.config.cwdMode === "artifacts" ? ctx.artifactsDir : ctx.runDir);
|
|
508
|
+
if (this.config.isolation) {
|
|
509
|
+
this.deferredIsolation = await this.prepareIsolation(ctx);
|
|
510
|
+
cwd = this.isolatedWorkspace;
|
|
511
|
+
}
|
|
614
512
|
this.collectDir = cwd;
|
|
615
513
|
this.artifactsDir = ctx.artifactsDir;
|
|
616
514
|
this.runDir = ctx.runDir;
|
|
@@ -662,15 +560,14 @@ class ClaudeCodeDriverImpl {
|
|
|
662
560
|
}
|
|
663
561
|
const terminal = await runDeferredProcess({
|
|
664
562
|
command: this.config.command,
|
|
665
|
-
args: buildDeferredArgs(this.config, hookPath, this.deferredSessionId ?? undefined),
|
|
563
|
+
args: buildDeferredArgs(this.config, hookPath, this.deferredSessionId ?? undefined, this.deferredIsolation),
|
|
666
564
|
cwd,
|
|
667
|
-
env: {
|
|
668
|
-
...
|
|
565
|
+
env: agentEnvironment(process.env, this.config.inheritEnv, {
|
|
566
|
+
...(this.deferredIsolation?.env ?? this.config.env),
|
|
669
567
|
LUX_RUN_DIR: ctx.runDir,
|
|
670
568
|
LUX_ARTIFACTS_DIR: ctx.artifactsDir,
|
|
671
|
-
...this.config.env,
|
|
672
569
|
...(answer ? { LUX_CLAUDE_DEFERRED_ANSWER: JSON.stringify(answer) } : {}),
|
|
673
|
-
},
|
|
570
|
+
}),
|
|
674
571
|
...input,
|
|
675
572
|
idleTimeoutMs: durationMs(this.config.idleTimeout),
|
|
676
573
|
...(this.config.turnTimeout === undefined
|
|
@@ -812,5 +709,5 @@ export const claudeCodeDriver = defineDriver({
|
|
|
812
709
|
create: (config) => new ClaudeCodeDriverImpl(config),
|
|
813
710
|
});
|
|
814
711
|
// Internal exports for testing
|
|
815
|
-
export { buildArgs, buildDeferredArgs,
|
|
712
|
+
export { buildArgs, buildDeferredArgs, copyRegularFileNoFollow, formatAnswer, formatPrompt, makeParseEvent, walkArtifacts, };
|
|
816
713
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/claude-code/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAIL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EAEpB,YAAY,EACZ,kBAAkB,EAIlB,6BAA6B,EAC7B,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,cAAc;IACd,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,cAAc;IACd,2BAA2B;CAC5B,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AAC1F,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,cAAc;IACd,0BAA0B;IAC1B,cAAc;IACd,cAAc;IACd,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,qBAAqB;CACtB,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAEzF,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACrC,mDAAmD;IACnD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,oEAAoE;IACpE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC7D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,yEAAyE;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACtD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;IAC7D,wCAAwC;IACxC,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC1F,QAAQ,EAAE;IACb,iFAAiF;IACjF,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,uFAAuF;IACvF,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,kFAAkF;IAClF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,yFAAyF;IACzF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC;;;OAGG;IACH,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,oEAAoE;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClD;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC/E;;;OAGG;IACH,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,uFAAuF;IACvF,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;IACjD,yFAAyF;IACzF,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE;IACtC,8DAA8D;IAC9D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACjD,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;QAClF,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9C,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,CACjF,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CACrD,CACF,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,WAAW,CAAC;gBACnB,OAAO,EAAE,qBAAqB,QAAQ,EAAE;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO;IAC9B,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjE,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,gBAAgB,CAAC;YACxB,OAAO,EACL,iJAAiJ;SACpJ,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,iBAAiB,CAAC;YACzB,OAAO,EAAE,8EAA8E;SACxF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,2EAA2E;SACrF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9C,CAAC,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CACxF,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,kBAAkB,QAAQ,+BAA+B;SACnE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;KACD,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAIpD,MAAM,SAAS,GAAG,CAAC,MAA8B,EAAY,EAAE;IAC7D,MAAM,GAAG,GAAG;QACV,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,WAAW;KACZ,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,cAAc;QAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAChF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAEvF,MAAM,oBAAoB,GAAG,CAC3B,MAA8B,EAC9B,QAAgB,EACS,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE;QACL,UAAU,EAAE;YACV;gBACE,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;qBACzE;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,MAA8B,EAAY,EAAE,CAC9D,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAErE,MAAM,YAAY,GAAG,CAAC,MAA8B,EAAY,EAAE,CAAC;IACjE,GAAG,IAAI,GAAG,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAClE,MAAM,CAAC,WAAW;QAClB,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,MAA8B,EAC9B,QAAgB,EAChB,SAAkB,EACR,EAAE;IACZ,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACvE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,cAAc;QAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAChF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD5B,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,KAAa,EAAW,EAAE,CAC1D,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;AAE1D,MAAM,cAAc,GAAG,CAAC,IAAqB,EAAE,IAAY,EAAE,SAAkB,EAAU,EAAE;IACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrD,OAAO,GAAG,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC/E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,KAAK,EACnC,IAAqB,EACrB,IAAY,EACZ,OAA0B,EACP,EAAE;IACrB,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAE7E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC;gBAAE,SAAS;YACjE,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBACrF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAA0B,EAAqB,EAAE,CACxF,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAwB,EAAqB,EAAE;IAC9E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAY,EAAE,CAC1D,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;KACzD,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjG,MAAM,cAAc,GAAG,KAAK,EAC1B,MAA8B,EAC9B,GAAiB,EACjB,SAAiB,EACyC,EAAE;IAC5D,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC;QACxC,OAAO,EAAE;QACT,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,kBAAkB;QACrB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;SAChC,CAAC;KACH,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,YAAY,CAC1B,MAAM,iBAAiB,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;KACvC,CAAC,CACH,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2DAA2D,WAAW,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;KACpF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG;QACtB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI;YACvB,wBAAwB,EAAE,KAAK;YAC/B,UAAU,EAAE;gBACV,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,OAAO;aACnB;YACD,kEAAkE;YAClE,uDAAuD;YACvD,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE;SACnC;KACF,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAClC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACpC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE;YACJ,uEAAuE;YACvE,yEAAyE;YACzE,sDAAsD;YACtD,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC/C,0BAA0B;YAC1B,qBAAqB;YACrB,oEAAoE;YACpE,yEAAyE;YACzE,kEAAkE;YAClE,mBAAmB;YACnB,EAAE;YACF,YAAY;YACZ,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;SAChC;QACD,GAAG,EAAE;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACrB,+BAA+B,EAAE,GAAG;YACpC,8BAA8B,EAAE,GAAG;YACnC,+BAA+B,EAAE,GAAG;YACpC,oCAAoC,EAAE,GAAG;YACzC,gCAAgC,EAAE,GAAG;YACrC,4BAA4B,EAAE,OAAO;YACrC,4BAA4B,EAAE,cAAc;YAC5C,oDAAoD,EAAE,GAAG;YACzD,mBAAmB,EAAE,GAAG;YACxB,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;YACvC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5C,GAAG,IAAI,CAAC,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;CAC7D,CAAC,IAAI,CAAC;AAET,MAAM,YAAY,GAAG,CAAC,MAAc,EAAU,EAAE;IAC9C,IAAI,OAAe,CAAC;IACpB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrG,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;SACpE;KACF,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,oBAAoB;IAChB,KAAK,GAAuB,IAAI,CAAC;IACxB,OAAO,GAAG,IAAI,YAAY,EAAkB,CAAC;IAC9D,2EAA2E;IAC3E,0EAA0E;IAC1E,+DAA+D;IACvD,aAAa,GAIhB,EAAE,CAAC;IACS,MAAM,CAAyB;IACxC,UAAU,GAAkB,IAAI,CAAC;IACjC,YAAY,GAAkB,IAAI,CAAC;IACnC,MAAM,GAAkB,IAAI,CAAC;IAC7B,iBAAiB,GAAkB,IAAI,CAAC;IACxC,eAAe,GAAwB,IAAI,CAAC;IAC5C,WAAW,GAAkB,IAAI,CAAC;IAClC,gBAAgB,GAAkB,IAAI,CAAC;IACvC,iBAAiB,GAAkB,IAAI,CAAC;IACxC,cAAc,GAA6C,IAAI,CAAC;IAChE,aAAa,CAKP;IACN,iBAAiB,GAAkB,IAAI,CAAC;IACxC,2BAA2B,GAAG,KAAK,CAAC;IACpC,qBAAqB,GAAkB,IAAI,CAAC;IAC5C,yBAAyB,GAAG,CAAC,CAAC;IAC9B,kBAAkB,GAAG,CAAC,CAAC;IACvB,gBAAgB,GAAG,KAAK,CAAC;IACzB,YAAY,GAAyB,IAAI,CAAC;IAC1C,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,EAAE,CAAiC,KAAQ,EAAE,OAAuC;QAClF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAiC,KAAQ,EAAE,OAAuC;QACnF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAC5C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAiB;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,GAAG,GACL,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAC1F,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,GAAG,GAAG,SAAS,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACjE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,MAAM,UAAU,GACd,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ;YAC3C,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,IAAI;YACJ,GAAG;YACH,GAAG;YACH,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;YACnD,YAAY;YACZ,YAAY;YACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,EAAE,mCAAmC,IAAI,CAAC,iBAAiB,IAAI,MAAM,GAAG,CAC/G,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC;YACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAChC,0EAA0E;QAC1E,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChE,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClC,MAAM,uBAAuB,CAC3B,IAAI,CAAC,iBAA2B,EAChC,IAAI,CAAC,IAAI,CAAC,iBAA2B,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrD,MAAM,CACP,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,0EAA0E;QAC1E,uEAAuE;QACvE,0DAA0D;QAC1D,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,KAAK,IAAI,CAAC,MAAM;YACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,YAAY,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;gBACnD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAiB;QAC3C,MAAM,GAAG,GACP,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QACtE,MAAM,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QAC7D,MAAM,UAAU,GACd,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ;YAC3C,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,OAAO,CAAa,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE;YAC7D,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,MAAe,EAAE,gBAAgB,GAAG,KAAK;QAClE,IAAI,IAAoB,CAAC;QACzB,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;oBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAe,EAAE,gBAAgB,GAAG,KAAK;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC;QACjD,IAAI,KAAoC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;aAAM,IAAI,gBAAgB,IAAI,MAAM,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACtD,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,IAAI,SAAS,CAAC;YACnF,GAAG;YACH,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,WAAW,EAAE,GAAG,CAAC,MAAM;gBACvB,iBAAiB,EAAE,GAAG,CAAC,YAAY;gBACnC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;gBAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E;YACD,GAAG,KAAK;YACR,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClE,IACE,QAAQ,CAAC,OAAO;wBAChB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;wBACpE,QAAQ,CAAC,IAAI,CAAC,UAAU,EACxB,CAAC;wBACD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,0DAA0D;gBAC5D,CAAC;gBACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAwB;QACrD,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,IACE,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe;gBACvC,OAAQ,KAAK,CAAC,QAAQ,CAAC,OAA8B,EAAE,IAAI,KAAK,QAAQ,EACxE,CAAC;gBACD,IAAI,CAAC,qBAAqB,GAAI,KAAK,CAAC,QAAQ,CAAC,OAA4B,CAAC,IAAI,CAAC;YACjF,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC/B,UAAU,EAAE,kBAAkB;oBAC9B,MAAM,EAAE,2BAA2B,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG;iBAChE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IACE,KAAK,CAAC,GAAG,KAAK,MAAM;YACpB,IAAI,CAAC,MAAM,CAAC,oBAAoB;YAChC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,EACzC,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC/B,UAAU,EAAE,kBAAkB;oBAC9B,MAAM,EAAE,2BAA2B,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG;iBAChE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,iBAAiB,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC7D,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACxC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,KAAK;gBACX,EAAE;gBACF,QAAQ;gBACR,OAAO,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE;aAChD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;;YACjE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAc;QACvC,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;YACxE,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;IAC3C,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,4BAA4B;IAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpB,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1B,YAAY,EAAE;YACZ,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;SACrC;KACF,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,OAAO;gBACL,UAAU;gBACV,gBAAgB,EAAE,MAAM,sBAAsB,CAAC,UAAU,CAAC;gBAC1D,OAAO,EAAE,MAAM,4BAA4B,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;aACtF,CAAC;QACJ,CAAC;KACF;IACD,aAAa,EAAE,6BAA6B;IAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC;CACrD,CAAC,CAAC;AAEH,+BAA+B;AAC/B,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,GACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/claude-code/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StartContext } from "../../core/index.js";
|
|
2
|
+
import type { ClaudeCodeDriverConfig } from "./index.js";
|
|
3
|
+
export declare const carvedReadDenials: (root: string, allowed: readonly string[]) => Promise<string[]>;
|
|
4
|
+
export declare const isolatedLaunch: (config: ClaudeCodeDriverConfig, ctx: StartContext, workspace: string, controlDir: string) => Promise<{
|
|
5
|
+
env: Record<string, string>;
|
|
6
|
+
settings: object;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=isolation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolation.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude-code/isolation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA+CzD,eAAO,MAAM,iBAAiB,SAAU,MAAM,WAAW,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,EAAE,CAC7C,CAAC;AAoBjD,eAAO,MAAM,cAAc,WACjB,sBAAsB,OACzB,YAAY,aACN,MAAM,cACL,MAAM,KACjB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAsJ3D,CAAC"}
|