humanish 0.15.0 → 0.15.2

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.
Files changed (72) hide show
  1. package/README.md +33 -31
  2. package/dist/claude-agent-sdk.js +14 -7
  3. package/dist/claude-agent-sdk.js.map +1 -1
  4. package/dist/codex-app-server-ui.d.ts +1 -1
  5. package/dist/codex-app-server-ui.js +69 -39
  6. package/dist/codex-app-server-ui.js.map +1 -1
  7. package/dist/codex-app-server.d.ts +3 -0
  8. package/dist/codex-app-server.js +15 -8
  9. package/dist/codex-app-server.js.map +1 -1
  10. package/dist/concurrent-shared-world-lab.js +18 -16
  11. package/dist/concurrent-shared-world-lab.js.map +1 -1
  12. package/dist/core/git-state.d.ts +2 -0
  13. package/dist/core/git-state.js +152 -17
  14. package/dist/core/git-state.js.map +1 -1
  15. package/dist/core/git-workspace.d.ts +31 -0
  16. package/dist/core/git-workspace.js +447 -0
  17. package/dist/core/git-workspace.js.map +1 -0
  18. package/dist/cua-actor-lab.d.ts +3 -2
  19. package/dist/cua-actor-lab.js +34 -23
  20. package/dist/cua-actor-lab.js.map +1 -1
  21. package/dist/e2b-terminal-lab.js +111 -46
  22. package/dist/e2b-terminal-lab.js.map +1 -1
  23. package/dist/feedback.js +139 -101
  24. package/dist/feedback.js.map +1 -1
  25. package/dist/init.d.ts +1 -1
  26. package/dist/init.js +108 -22
  27. package/dist/init.js.map +1 -1
  28. package/dist/lab-config.d.ts +5 -0
  29. package/dist/lab-config.js +38 -0
  30. package/dist/lab-config.js.map +1 -1
  31. package/dist/labs.js +258 -52
  32. package/dist/labs.js.map +1 -1
  33. package/dist/observer-assets.js +3 -2
  34. package/dist/observer-assets.js.map +1 -1
  35. package/dist/observer-static.js +131 -17
  36. package/dist/observer-static.js.map +1 -1
  37. package/dist/observer.js +263 -66
  38. package/dist/observer.js.map +1 -1
  39. package/dist/openai-responses-cu.js +18 -4
  40. package/dist/openai-responses-cu.js.map +1 -1
  41. package/dist/oss-lab.js +59 -14
  42. package/dist/oss-lab.js.map +1 -1
  43. package/dist/oss-meta-lab.d.ts +2 -4
  44. package/dist/oss-meta-lab.js +117 -477
  45. package/dist/oss-meta-lab.js.map +1 -1
  46. package/dist/program.js +23 -21
  47. package/dist/program.js.map +1 -1
  48. package/dist/run-paths.d.ts +56 -0
  49. package/dist/run-paths.js +340 -0
  50. package/dist/run-paths.js.map +1 -0
  51. package/dist/run.d.ts +14 -4
  52. package/dist/run.js +595 -306
  53. package/dist/run.js.map +1 -1
  54. package/dist/scripted-browser-actor.d.ts +7 -4
  55. package/dist/scripted-browser-actor.js +154 -41
  56. package/dist/scripted-browser-actor.js.map +1 -1
  57. package/dist/scripted-browser-lab.js +95 -45
  58. package/dist/scripted-browser-lab.js.map +1 -1
  59. package/dist/selected-output-paths.d.ts +49 -0
  60. package/dist/selected-output-paths.js +354 -0
  61. package/dist/selected-output-paths.js.map +1 -0
  62. package/dist/shared-world-lab.js +13 -12
  63. package/dist/shared-world-lab.js.map +1 -1
  64. package/dist/source-archive.js +44 -1
  65. package/dist/source-archive.js.map +1 -1
  66. package/docs/architecture/oss-lab-poc.md +8 -0
  67. package/docs/assets/humanish-observer-hero.png +0 -0
  68. package/docs/contracts/policy.md +7 -1
  69. package/docs/goals/current.md +20 -1
  70. package/docs/product/open-source-install-experience.md +9 -1
  71. package/docs/ramp/README.md +14 -7
  72. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scripted-browser-lab.js","sourceRoot":"","sources":["../src/scripted-browser-lab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scripted-browser-lab.js","sourceRoot":"","sources":["../src/scripted-browser-lab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type PreparedRunArtifactPaths } from "./run-paths.js";
2
+ interface FileIdentity {
3
+ readonly birthtimeNs: bigint;
4
+ readonly dev: bigint;
5
+ readonly ino: bigint;
6
+ }
7
+ export interface PreparedSelectedOutputDirectory {
8
+ readonly identity: FileIdentity;
9
+ readonly parentRun?: PreparedRunArtifactPaths;
10
+ readonly physicalPath: string;
11
+ readonly requestedPath: string;
12
+ }
13
+ export interface PreparedSelectedOutputFile {
14
+ readonly parentIdentity: FileIdentity;
15
+ readonly physicalParent: string;
16
+ readonly physicalPath: string;
17
+ readonly requestedPath: string;
18
+ }
19
+ export type PreparedOutputDirectory = PreparedSelectedOutputDirectory | PreparedRunArtifactPaths;
20
+ export type PreparedOutputRoot = PreparedOutputDirectory;
21
+ /**
22
+ * Prepare an arbitrary caller-selected output directory without changing the
23
+ * caller's resolution contract. Relative values resolve against baseDir;
24
+ * absolute values keep their authority. Every spelling is caller authority:
25
+ * existing aliases in the selected directory or its parents are canonicalized
26
+ * once, then bound by physical path and directory identity. Managed defaults
27
+ * must use a strict storage preparer instead.
28
+ */
29
+ export declare function prepareSelectedOutputDirectory(baseDir: string, selectedPath: string): Promise<PreparedSelectedOutputDirectory>;
30
+ /** Prepare a strict `.humanish`-managed directory, then bind its identity. */
31
+ export declare function prepareManagedHumanishOutputDirectory(cwd: string, ...segments: string[]): Promise<PreparedSelectedOutputDirectory>;
32
+ /** Bind an existing strict `.humanish` directory without creating storage. */
33
+ export declare function bindExistingManagedHumanishOutputDirectory(cwd: string, ...segments: string[]): Promise<PreparedSelectedOutputDirectory | null>;
34
+ /** Prepare an arbitrary caller-selected output file whose parent is independent. */
35
+ export declare function prepareSelectedOutputFile(baseDir: string, selectedPath: string): Promise<PreparedSelectedOutputFile>;
36
+ export declare function assertPreparedSelectedOutputDirectory(prepared: PreparedSelectedOutputDirectory): Promise<void>;
37
+ export declare function assertPreparedSelectedOutputFile(prepared: PreparedSelectedOutputFile): Promise<void>;
38
+ export declare function writePreparedSelectedOutputFile(prepared: PreparedSelectedOutputFile, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
39
+ /** Atomically write the sibling latest pointer bound by a prepared run token. */
40
+ export declare function writePreparedRunLatestPointer(prepared: PreparedRunArtifactPaths, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
41
+ export declare function prepareContainedOutputDirectory(rootInput: PreparedOutputRoot, relativePath: string): Promise<string>;
42
+ /** Prepare and identity-bind a generated child directory under a prepared root. */
43
+ export declare function prepareContainedOutputDirectoryRoot(rootInput: PreparedOutputDirectory, relativePath: string): Promise<PreparedSelectedOutputDirectory>;
44
+ export declare function prepareContainedOutputFile(rootInput: PreparedOutputRoot, relativePath: string): Promise<string>;
45
+ export declare function writeContainedOutputFile(rootInput: PreparedOutputRoot, relativePath: string, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
46
+ /** Read one regular file only when both lexical and physical paths stay in root. */
47
+ export declare function readContainedRegularFile(rootInput: PreparedOutputRoot, relativePath: string): Promise<Buffer | null>;
48
+ export declare function assertSafeOutputPathSegment(value: string, label?: string): void;
49
+ export {};
@@ -0,0 +1,354 @@
1
+ import { constants } from "node:fs";
2
+ import { lstat, mkdir, open, realpath, rename, unlink } from "node:fs/promises";
3
+ import { randomUUID } from "node:crypto";
4
+ import path from "node:path";
5
+ import { isPathInside, prepareHumanishStorageDirectory, resolveExistingHumanishStorageDirectory, validatePreparedRunArtifactPaths, validatePreparedRunRootIdentity } from "./run-paths.js";
6
+ /**
7
+ * Prepare an arbitrary caller-selected output directory without changing the
8
+ * caller's resolution contract. Relative values resolve against baseDir;
9
+ * absolute values keep their authority. Every spelling is caller authority:
10
+ * existing aliases in the selected directory or its parents are canonicalized
11
+ * once, then bound by physical path and directory identity. Managed defaults
12
+ * must use a strict storage preparer instead.
13
+ */
14
+ export async function prepareSelectedOutputDirectory(baseDir, selectedPath) {
15
+ assertPathText(selectedPath, "Output directory");
16
+ const requestedPath = path.resolve(baseDir, selectedPath);
17
+ const physicalPath = await prepareAbsoluteSelectedDirectory(requestedPath);
18
+ return captureSelectedOutputDirectory(requestedPath, physicalPath);
19
+ }
20
+ /** Prepare a strict `.humanish`-managed directory, then bind its identity. */
21
+ export async function prepareManagedHumanishOutputDirectory(cwd, ...segments) {
22
+ const requestedPath = path.resolve(cwd, ".humanish", ...segments);
23
+ const preparedPath = await prepareHumanishStorageDirectory(cwd, ...segments);
24
+ const physicalPath = await realpath(preparedPath);
25
+ return captureSelectedOutputDirectory(requestedPath, physicalPath);
26
+ }
27
+ /** Bind an existing strict `.humanish` directory without creating storage. */
28
+ export async function bindExistingManagedHumanishOutputDirectory(cwd, ...segments) {
29
+ const requestedPath = path.resolve(cwd, ".humanish", ...segments);
30
+ const existing = await resolveExistingHumanishStorageDirectory(cwd, ...segments);
31
+ if (!existing || existing !== requestedPath) {
32
+ return null;
33
+ }
34
+ return captureSelectedOutputDirectory(requestedPath, await realpath(existing));
35
+ }
36
+ /** Prepare an arbitrary caller-selected output file whose parent is independent. */
37
+ export async function prepareSelectedOutputFile(baseDir, selectedPath) {
38
+ assertPathText(selectedPath, "Output file");
39
+ const requestedPath = path.resolve(baseDir, selectedPath);
40
+ const fileName = path.basename(requestedPath);
41
+ if (!fileName || requestedPath === path.parse(requestedPath).root) {
42
+ throw new Error("Output file must name a regular file.");
43
+ }
44
+ const requestedParent = path.dirname(requestedPath);
45
+ const physicalParent = await prepareAbsoluteSelectedDirectory(requestedParent);
46
+ const physicalPath = path.join(physicalParent, fileName);
47
+ await assertRegularFileOrMissing(physicalPath);
48
+ const parentIdentity = await captureDirectoryIdentity(physicalParent);
49
+ const prepared = Object.freeze({
50
+ parentIdentity,
51
+ physicalParent,
52
+ physicalPath,
53
+ requestedPath
54
+ });
55
+ await assertPreparedSelectedOutputFile(prepared);
56
+ return prepared;
57
+ }
58
+ export async function assertPreparedSelectedOutputDirectory(prepared) {
59
+ if (prepared.parentRun) {
60
+ await validatePreparedRunRootIdentity(prepared.parentRun);
61
+ }
62
+ const requestedPhysicalPath = await realpath(prepared.requestedPath);
63
+ if (requestedPhysicalPath !== prepared.physicalPath) {
64
+ throw new Error("Selected output root changed physical destination.");
65
+ }
66
+ await assertDirectoryIdentity(prepared.physicalPath, prepared.identity, "Selected output root");
67
+ }
68
+ export async function assertPreparedSelectedOutputFile(prepared) {
69
+ const requestedPhysicalParent = await realpath(path.dirname(prepared.requestedPath));
70
+ if (requestedPhysicalParent !== prepared.physicalParent) {
71
+ throw new Error("Selected output parent changed physical destination.");
72
+ }
73
+ await assertDirectoryIdentity(prepared.physicalParent, prepared.parentIdentity, "Selected output parent");
74
+ await assertRegularFileOrMissing(prepared.physicalPath);
75
+ }
76
+ export async function writePreparedSelectedOutputFile(prepared, data, encoding) {
77
+ await atomicWriteOutputFile(prepared.physicalParent, prepared.physicalPath, data, encoding, () => assertPreparedSelectedOutputFile(prepared));
78
+ }
79
+ /** Atomically write the sibling latest pointer bound by a prepared run token. */
80
+ export async function writePreparedRunLatestPointer(prepared, data, encoding) {
81
+ await atomicWriteOutputFile(prepared.physicalRunsRoot, prepared.physicalLatestPointer, data, encoding, async () => {
82
+ await validatePreparedRunArtifactPaths(prepared);
83
+ });
84
+ }
85
+ export async function prepareContainedOutputDirectory(rootInput, relativePath) {
86
+ assertSafeRelativeOutputPath(relativePath, true);
87
+ const root = await resolveOutputRoot(rootInput);
88
+ return prepareDirectoryWithinRoot(root, normalizeRelativeOutputPath(relativePath));
89
+ }
90
+ /** Prepare and identity-bind a generated child directory under a prepared root. */
91
+ export async function prepareContainedOutputDirectoryRoot(rootInput, relativePath) {
92
+ const root = await resolveOutputRoot(rootInput);
93
+ const physicalPath = await prepareContainedOutputDirectory(rootInput, relativePath);
94
+ const revalidatedRoot = await resolveOutputRoot(rootInput);
95
+ if (revalidatedRoot !== root) {
96
+ throw new Error("Output root changed after it was prepared.");
97
+ }
98
+ const parentRun = "physicalRunRoot" in rootInput ? rootInput : rootInput.parentRun;
99
+ return captureSelectedOutputDirectory(physicalPath, physicalPath, parentRun);
100
+ }
101
+ export async function prepareContainedOutputFile(rootInput, relativePath) {
102
+ assertSafeRelativeOutputPath(relativePath, false);
103
+ const root = await resolveOutputRoot(rootInput);
104
+ const absolute = path.resolve(root, normalizeRelativeOutputPath(relativePath));
105
+ if (!isPathInside(root, absolute) || absolute === root) {
106
+ throw new Error("Output file must stay inside its selected root.");
107
+ }
108
+ const parent = await prepareDirectoryWithinRoot(root, path.relative(root, path.dirname(absolute)));
109
+ const filePath = path.join(parent, path.basename(absolute));
110
+ await assertRegularFileOrMissing(filePath);
111
+ return filePath;
112
+ }
113
+ export async function writeContainedOutputFile(rootInput, relativePath, data, encoding) {
114
+ const filePath = await prepareContainedOutputFile(rootInput, relativePath);
115
+ const root = await resolveOutputRoot(rootInput);
116
+ await atomicWriteOutputFile(path.dirname(filePath), filePath, data, encoding, async () => {
117
+ const validatedRoot = await resolveOutputRoot(rootInput);
118
+ if (validatedRoot !== root) {
119
+ throw new Error("Output root changed after it was prepared.");
120
+ }
121
+ await assertContainedDirectoryChain(root, path.dirname(filePath));
122
+ await assertRegularFileOrMissing(filePath);
123
+ });
124
+ }
125
+ /** Read one regular file only when both lexical and physical paths stay in root. */
126
+ export async function readContainedRegularFile(rootInput, relativePath) {
127
+ try {
128
+ assertSafeRelativeOutputPath(relativePath, false);
129
+ const root = await resolveOutputRoot(rootInput);
130
+ const candidate = path.resolve(root, normalizeRelativeOutputPath(relativePath));
131
+ if (!isPathInside(root, candidate) || candidate === root) {
132
+ return null;
133
+ }
134
+ await assertContainedDirectoryChain(root, path.dirname(candidate));
135
+ const before = await lstat(candidate, { bigint: true });
136
+ if (before.isSymbolicLink() || !before.isFile() || before.nlink > 1n) {
137
+ return null;
138
+ }
139
+ const physicalFile = await realpath(candidate);
140
+ if (!isPathInside(root, physicalFile)) {
141
+ return null;
142
+ }
143
+ const handle = await open(candidate, constants.O_RDONLY | constants.O_NOFOLLOW);
144
+ try {
145
+ const after = await handle.stat({ bigint: true });
146
+ if (!after.isFile()
147
+ || after.nlink > 1n
148
+ || after.dev !== before.dev
149
+ || after.ino !== before.ino) {
150
+ return null;
151
+ }
152
+ const revalidatedRoot = await resolveOutputRoot(rootInput);
153
+ if (revalidatedRoot !== root) {
154
+ return null;
155
+ }
156
+ await assertContainedDirectoryChain(root, path.dirname(candidate));
157
+ return await handle.readFile();
158
+ }
159
+ finally {
160
+ await handle.close();
161
+ }
162
+ }
163
+ catch {
164
+ return null;
165
+ }
166
+ }
167
+ export function assertSafeOutputPathSegment(value, label = "Output path segment") {
168
+ if (value.length === 0
169
+ || value === "."
170
+ || value === ".."
171
+ || value.includes("/")
172
+ || value.includes("\\")
173
+ || value.includes("\0")) {
174
+ throw new Error(`${label} must be one non-empty path segment.`);
175
+ }
176
+ }
177
+ function assertSafeRelativeOutputPath(value, allowEmpty) {
178
+ if ((!allowEmpty && value.length === 0) || value.includes("\0")) {
179
+ throw new Error("Output path must be a non-empty relative path.");
180
+ }
181
+ if (value === "" && allowEmpty) {
182
+ return;
183
+ }
184
+ if (path.isAbsolute(value) || path.posix.isAbsolute(value) || path.win32.isAbsolute(value)) {
185
+ throw new Error("Output path must be relative to its selected root.");
186
+ }
187
+ const parts = value.replace(/\\/g, "/").split("/");
188
+ if (parts.some((part) => part.length === 0 || part === "." || part === "..")) {
189
+ throw new Error("Output path must not contain empty or traversal segments.");
190
+ }
191
+ }
192
+ function normalizeRelativeOutputPath(value) {
193
+ return value.replace(/[\\/]+/g, path.sep);
194
+ }
195
+ async function prepareDirectoryWithinRoot(root, relativePath) {
196
+ const segments = relativePath === ""
197
+ ? []
198
+ : relativePath.replace(/[\\/]+/g, path.sep).split(path.sep);
199
+ let current = root;
200
+ for (const segment of segments) {
201
+ assertSafeOutputPathSegment(segment);
202
+ current = path.join(current, segment);
203
+ await mkdirDirectoryLeaf(current);
204
+ }
205
+ const physical = await realpath(current);
206
+ if (!isPathInside(root, physical)) {
207
+ throw new Error("Output directory resolved outside its selected root.");
208
+ }
209
+ return physical;
210
+ }
211
+ async function captureSelectedOutputDirectory(requestedPath, physicalPath, parentRun) {
212
+ const prepared = Object.freeze({
213
+ identity: await captureDirectoryIdentity(physicalPath),
214
+ ...(parentRun === undefined ? {} : { parentRun }),
215
+ physicalPath,
216
+ requestedPath
217
+ });
218
+ await assertPreparedSelectedOutputDirectory(prepared);
219
+ return prepared;
220
+ }
221
+ async function prepareAbsoluteSelectedDirectory(absolutePath) {
222
+ const resolved = path.resolve(absolutePath);
223
+ try {
224
+ const existing = await lstat(resolved);
225
+ if (!existing.isDirectory() && !existing.isSymbolicLink()) {
226
+ throw new Error("Selected output root must resolve to a directory.");
227
+ }
228
+ const physical = await realpath(resolved);
229
+ const physicalStats = await lstat(physical);
230
+ if (!physicalStats.isDirectory()) {
231
+ throw new Error("Selected output root must resolve to a directory.");
232
+ }
233
+ return physical;
234
+ }
235
+ catch (error) {
236
+ if (!isNodeError(error) || error.code !== "ENOENT") {
237
+ throw error;
238
+ }
239
+ }
240
+ await mkdir(path.dirname(resolved), { recursive: true });
241
+ const physicalParent = await resolveBaseDirectory(path.dirname(resolved), "Selected output parent");
242
+ const selectedLeaf = path.join(physicalParent, path.basename(resolved));
243
+ await mkdirDirectoryLeaf(selectedLeaf);
244
+ return realpath(selectedLeaf);
245
+ }
246
+ async function mkdirDirectoryLeaf(directory) {
247
+ try {
248
+ await mkdir(directory);
249
+ }
250
+ catch (error) {
251
+ if (!isNodeError(error) || error.code !== "EEXIST") {
252
+ throw error;
253
+ }
254
+ }
255
+ const stats = await lstat(directory, { bigint: true });
256
+ if (stats.isSymbolicLink() || !stats.isDirectory()) {
257
+ throw new Error("Selected output directories must not be symbolic links or non-directories.");
258
+ }
259
+ }
260
+ async function resolveOutputRoot(root) {
261
+ if ("physicalRunRoot" in root) {
262
+ await validatePreparedRunRootIdentity(root);
263
+ return root.physicalRunRoot;
264
+ }
265
+ await assertPreparedSelectedOutputDirectory(root);
266
+ return root.physicalPath;
267
+ }
268
+ async function resolveBaseDirectory(directory, label) {
269
+ const physical = await realpath(path.resolve(directory));
270
+ const stats = await lstat(physical);
271
+ if (!stats.isDirectory()) {
272
+ throw new Error(`${label} must be a directory.`);
273
+ }
274
+ return physical;
275
+ }
276
+ async function assertRegularFileOrMissing(filePath) {
277
+ try {
278
+ const stats = await lstat(filePath);
279
+ if (stats.isSymbolicLink() || !stats.isFile() || stats.nlink > 1) {
280
+ throw new Error("Selected output files must be single-link regular files, not symbolic links or hardlinks.");
281
+ }
282
+ }
283
+ catch (error) {
284
+ if (isNodeError(error) && error.code === "ENOENT") {
285
+ return;
286
+ }
287
+ throw error;
288
+ }
289
+ }
290
+ async function captureDirectoryIdentity(directory) {
291
+ const stats = await lstat(directory, { bigint: true });
292
+ if (stats.isSymbolicLink() || !stats.isDirectory() || await realpath(directory) !== directory) {
293
+ throw new Error("Prepared output root must use a physical directory.");
294
+ }
295
+ return Object.freeze({ birthtimeNs: stats.birthtimeNs, dev: stats.dev, ino: stats.ino });
296
+ }
297
+ async function assertDirectoryIdentity(directory, identity, label) {
298
+ const stats = await lstat(directory, { bigint: true });
299
+ if (stats.isSymbolicLink()
300
+ || !stats.isDirectory()
301
+ || stats.birthtimeNs !== identity.birthtimeNs
302
+ || stats.dev !== identity.dev
303
+ || stats.ino !== identity.ino
304
+ || await realpath(directory) !== directory) {
305
+ throw new Error(`${label} identity changed after it was prepared.`);
306
+ }
307
+ }
308
+ async function assertContainedDirectoryChain(root, directory) {
309
+ if (!isPathInside(root, directory)) {
310
+ throw new Error("Output directory must stay inside its selected root.");
311
+ }
312
+ const relative = path.relative(root, directory);
313
+ let current = root;
314
+ for (const segment of relative === "" ? [] : relative.split(path.sep)) {
315
+ current = path.join(current, segment);
316
+ const stats = await lstat(current);
317
+ if (stats.isSymbolicLink() || !stats.isDirectory()) {
318
+ throw new Error("Selected output directories must not be symbolic links or non-directories.");
319
+ }
320
+ }
321
+ }
322
+ async function atomicWriteOutputFile(parent, target, data, encoding, revalidate) {
323
+ await revalidate();
324
+ const temporary = path.join(parent, `.humanish-write-${process.pid}-${randomUUID()}.tmp`);
325
+ let handle;
326
+ try {
327
+ handle = await open(temporary, "wx", 0o600);
328
+ if (typeof data === "string") {
329
+ await handle.writeFile(data, encoding ?? "utf8");
330
+ }
331
+ else {
332
+ await handle.writeFile(data);
333
+ }
334
+ await handle.sync();
335
+ await handle.close();
336
+ handle = undefined;
337
+ await revalidate();
338
+ await rename(temporary, target);
339
+ await assertRegularFileOrMissing(target);
340
+ }
341
+ finally {
342
+ await handle?.close().catch(() => undefined);
343
+ await unlink(temporary).catch(() => undefined);
344
+ }
345
+ }
346
+ function assertPathText(value, label) {
347
+ if (value.includes("\0")) {
348
+ throw new Error(`${label} must not contain a null byte.`);
349
+ }
350
+ }
351
+ function isNodeError(error) {
352
+ return error instanceof Error && "code" in error;
353
+ }
354
+ //# sourceMappingURL=selected-output-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-output-paths.js","sourceRoot":"","sources":["../src/selected-output-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,+BAA+B,EAC/B,uCAAuC,EAEvC,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,gBAAgB,CAAC;AAyBxB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAe,EACf,YAAoB;IAEpB,cAAc,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC3E,OAAO,8BAA8B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,GAAW,EACX,GAAG,QAAkB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,8BAA8B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAC9D,GAAW,EACX,GAAG,QAAkB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,uCAAuC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,8BAA8B,CAAC,aAAa,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,YAAoB;IAEpB,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,IAAI,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,eAAe,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,cAAc;QACd,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IACH,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,QAAyC;IAEzC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,+BAA+B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,qBAAqB,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,uBAAuB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,QAAoC;IAEpC,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACrF,IAAI,uBAAuB,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,uBAAuB,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IAC1G,MAAM,0BAA0B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAAoC,EACpC,IAAyB,EACzB,QAAyB;IAEzB,MAAM,qBAAqB,CACzB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,YAAY,EACrB,IAAI,EACJ,QAAQ,EACR,GAAG,EAAE,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,QAAkC,EAClC,IAAyB,EACzB,QAAyB;IAEzB,MAAM,qBAAqB,CACzB,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,qBAAqB,EAC9B,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,EAAE;QACT,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAA6B,EAC7B,YAAoB;IAEpB,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,SAAkC,EAClC,YAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;IACnF,OAAO,8BAA8B,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAA6B,EAC7B,YAAoB;IAEpB,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB,EACpB,IAAyB,EACzB,QAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,qBAAqB,CACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,EAAE;QACT,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB;IAEpB,IAAI,CAAC;QACH,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,IACE,CAAC,KAAK,CAAC,MAAM,EAAE;mBACZ,KAAK,CAAC,KAAK,GAAG,EAAE;mBAChB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;mBACxB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAC3B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACnE,OAAO,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,KAAK,GAAG,qBAAqB;IACtF,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;WACf,KAAK,KAAK,GAAG;WACb,KAAK,KAAK,IAAI;WACd,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;WACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;WACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa,EAAE,UAAmB;IACtE,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,IAAY,EAAE,YAAoB;IAC1E,MAAM,QAAQ,GAAG,YAAY,KAAK,EAAE;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,aAAqB,EACrB,YAAoB,EACpB,SAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,wBAAwB,CAAC,YAAY,CAAC;QACtD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IACH,MAAM,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,YAAoB;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IACvD,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,MAAM,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,YAAY,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAAa;IAClE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,QAAgB;IACxD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EACjB,QAAsB,EACtB,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IACE,KAAK,CAAC,cAAc,EAAE;WACnB,CAAC,KAAK,CAAC,WAAW,EAAE;WACpB,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;WAC1C,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;WAC1B,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;WAC1B,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0CAA0C,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,IAAY,EAAE,SAAiB;IAC1E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,MAAc,EACd,IAAyB,EACzB,QAAoC,EACpC,UAA+B;IAE/B,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}