putitoutthere 0.1.14 → 0.1.16
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/dist/cascade.d.ts +15 -3
- package/dist/cascade.d.ts.map +1 -1
- package/dist/cascade.js +16 -6
- package/dist/cascade.js.map +1 -1
- package/dist/log.d.ts +7 -2
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +9 -4
- package/dist/log.js.map +1 -1
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +9 -8
- package/dist/plan.js.map +1 -1
- package/package.json +1 -1
package/dist/cascade.d.ts
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
* the last release, returns the packages that will release.
|
|
4
4
|
*
|
|
5
5
|
* Two passes (plan.md §11.1):
|
|
6
|
-
* 1. Direct match: every package whose `paths` globs intersect
|
|
7
|
-
*
|
|
6
|
+
* 1. Direct match: every package whose `paths` globs intersect the
|
|
7
|
+
* files changed since *its own* last tag is cascaded.
|
|
8
8
|
* 2. Transitive match: repeat until stable — any package whose
|
|
9
9
|
* `depends_on` list contains an already-cascaded package gets
|
|
10
10
|
* added.
|
|
11
11
|
*
|
|
12
|
+
* Seed detection is strictly per-package: using the union of every
|
|
13
|
+
* package's diff lets commits that were already shipped under one
|
|
14
|
+
* package's prior tag spuriously re-trigger another package. See #126.
|
|
15
|
+
*
|
|
12
16
|
* Cycle detection per §11.3: cycles in depends_on are a config error
|
|
13
17
|
* and throw loudly before cascade runs. Dangling depends_on names also
|
|
14
18
|
* throw.
|
|
@@ -19,7 +23,15 @@
|
|
|
19
23
|
* Issue #7.
|
|
20
24
|
*/
|
|
21
25
|
import type { Package } from './config.js';
|
|
22
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Per-package changed files keyed by package name. Each value is the
|
|
28
|
+
* set of files that changed between that package's last tag and HEAD.
|
|
29
|
+
* Packages without an entry are skipped in seed detection (e.g.
|
|
30
|
+
* first-release packages the caller force-cascades separately, or
|
|
31
|
+
* untagged packages).
|
|
32
|
+
*/
|
|
33
|
+
export type ChangedFilesByPackage = ReadonlyMap<string, ReadonlySet<string>>;
|
|
34
|
+
export declare function computeCascade(packages: readonly Package[], changedFilesByPackage: ChangedFilesByPackage): Package[];
|
|
23
35
|
/**
|
|
24
36
|
* Reject cycles and dangling depends_on refs. Runs a DFS from each
|
|
25
37
|
* node with a recursion-stack (gray) set to flag back-edges. Dangling
|
package/dist/cascade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7E,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,qBAAqB,EAAE,qBAAqB,GAC3C,OAAO,EAAE,CAoCX;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAqCjE"}
|
package/dist/cascade.js
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
* the last release, returns the packages that will release.
|
|
4
4
|
*
|
|
5
5
|
* Two passes (plan.md §11.1):
|
|
6
|
-
* 1. Direct match: every package whose `paths` globs intersect
|
|
7
|
-
*
|
|
6
|
+
* 1. Direct match: every package whose `paths` globs intersect the
|
|
7
|
+
* files changed since *its own* last tag is cascaded.
|
|
8
8
|
* 2. Transitive match: repeat until stable — any package whose
|
|
9
9
|
* `depends_on` list contains an already-cascaded package gets
|
|
10
10
|
* added.
|
|
11
11
|
*
|
|
12
|
+
* Seed detection is strictly per-package: using the union of every
|
|
13
|
+
* package's diff lets commits that were already shipped under one
|
|
14
|
+
* package's prior tag spuriously re-trigger another package. See #126.
|
|
15
|
+
*
|
|
12
16
|
* Cycle detection per §11.3: cycles in depends_on are a config error
|
|
13
17
|
* and throw loudly before cascade runs. Dangling depends_on names also
|
|
14
18
|
* throw.
|
|
@@ -19,16 +23,22 @@
|
|
|
19
23
|
* Issue #7.
|
|
20
24
|
*/
|
|
21
25
|
import { matchesAny } from './glob.js';
|
|
22
|
-
export function computeCascade(packages,
|
|
26
|
+
export function computeCascade(packages, changedFilesByPackage) {
|
|
23
27
|
assertNoCycles(packages);
|
|
24
28
|
const byName = new Map();
|
|
25
29
|
for (const p of packages)
|
|
26
30
|
byName.set(p.name, p);
|
|
27
|
-
// Pass 1: direct glob matches.
|
|
31
|
+
// Pass 1: direct glob matches against this package's own diff.
|
|
28
32
|
const cascaded = new Set();
|
|
29
33
|
for (const p of packages) {
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
const files = changedFilesByPackage.get(p.name);
|
|
35
|
+
if (!files)
|
|
36
|
+
continue;
|
|
37
|
+
for (const f of files) {
|
|
38
|
+
if (matchesAny(p.paths, f)) {
|
|
39
|
+
cascaded.add(p.name);
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
44
|
// Pass 2: transitive via depends_on, iterate to stability.
|
package/dist/cascade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascade.js","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cascade.js","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"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"}
|
package/dist/log.d.ts
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* JSON-per-line output in CI; human-readable text in TTYs. Every emitted
|
|
5
5
|
* line is passed through a redactor that replaces any occurrence of a
|
|
6
6
|
* known-secret env value (keys matching *TOKEN* / *SECRET* / *PASSWORD*
|
|
7
|
-
* / *KEY*, case-insensitive) with `[REDACTED]
|
|
7
|
+
* / *KEY*, case-insensitive) with `[REDACTED:<digest>]`, where `<digest>`
|
|
8
|
+
* is a stable 8-hex-char SHA-256 prefix (#134). Operators can correlate
|
|
9
|
+
* rotated tokens across log lines without ever seeing the value.
|
|
8
10
|
*
|
|
9
11
|
* Substring redaction (rather than Pino-style field-path redaction) is
|
|
10
12
|
* deliberate: handlers capture child-process stdout/stderr and feed it
|
|
@@ -23,7 +25,10 @@ export interface LoggerOptions {
|
|
|
23
25
|
}
|
|
24
26
|
export declare function createLogger(opts?: LoggerOptions): Logger;
|
|
25
27
|
/**
|
|
26
|
-
* Replace every occurrence of a known-secret env value with
|
|
28
|
+
* Replace every occurrence of a known-secret env value with
|
|
29
|
+
* `[REDACTED:<digest>]` where `<digest>` is a stable 8-hex-char
|
|
30
|
+
* SHA-256 prefix of the token. Operators can correlate rotated
|
|
31
|
+
* tokens across log lines without ever seeing the value itself.
|
|
27
32
|
* Empty / single-char values are skipped to avoid mangling unrelated
|
|
28
33
|
* characters. Called on every log write.
|
|
29
34
|
*/
|
package/dist/log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AASxD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,CAsB7D;AA0BD;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAWxC"}
|
package/dist/log.js
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* JSON-per-line output in CI; human-readable text in TTYs. Every emitted
|
|
5
5
|
* line is passed through a redactor that replaces any occurrence of a
|
|
6
6
|
* known-secret env value (keys matching *TOKEN* / *SECRET* / *PASSWORD*
|
|
7
|
-
* / *KEY*, case-insensitive) with `[REDACTED]
|
|
7
|
+
* / *KEY*, case-insensitive) with `[REDACTED:<digest>]`, where `<digest>`
|
|
8
|
+
* is a stable 8-hex-char SHA-256 prefix (#134). Operators can correlate
|
|
9
|
+
* rotated tokens across log lines without ever seeing the value.
|
|
8
10
|
*
|
|
9
11
|
* Substring redaction (rather than Pino-style field-path redaction) is
|
|
10
12
|
* deliberate: handlers capture child-process stdout/stderr and feed it
|
|
@@ -13,6 +15,7 @@
|
|
|
13
15
|
*
|
|
14
16
|
* Issue #11. Plan: §22.2, §22.5.
|
|
15
17
|
*/
|
|
18
|
+
import { tokenDigest } from './auth.js';
|
|
16
19
|
const LEVEL_ORDER = {
|
|
17
20
|
debug: 10,
|
|
18
21
|
info: 20,
|
|
@@ -62,9 +65,11 @@ function formatScalar(v) {
|
|
|
62
65
|
}
|
|
63
66
|
/* ----------------------------- redaction ----------------------------- */
|
|
64
67
|
const SECRET_KEY = /TOKEN|SECRET|PASSWORD|KEY/i;
|
|
65
|
-
const REDACTED = '[REDACTED]';
|
|
66
68
|
/**
|
|
67
|
-
* Replace every occurrence of a known-secret env value with
|
|
69
|
+
* Replace every occurrence of a known-secret env value with
|
|
70
|
+
* `[REDACTED:<digest>]` where `<digest>` is a stable 8-hex-char
|
|
71
|
+
* SHA-256 prefix of the token. Operators can correlate rotated
|
|
72
|
+
* tokens across log lines without ever seeing the value itself.
|
|
68
73
|
* Empty / single-char values are skipped to avoid mangling unrelated
|
|
69
74
|
* characters. Called on every log write.
|
|
70
75
|
*/
|
|
@@ -79,7 +84,7 @@ export function redact(s) {
|
|
|
79
84
|
continue;
|
|
80
85
|
// String.replaceAll expects a literal or a RegExp; use split/join to
|
|
81
86
|
// avoid regex escaping every secret value.
|
|
82
|
-
out = out.split(v).join(REDACTED);
|
|
87
|
+
out = out.split(v).join(`[REDACTED:${tokenDigest(v)}]`);
|
|
83
88
|
}
|
|
84
89
|
return out;
|
|
85
90
|
}
|
package/dist/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
|
package/dist/plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAsC5D"}
|
package/dist/plan.js
CHANGED
|
@@ -27,8 +27,11 @@ export function plan(opts) {
|
|
|
27
27
|
// Compute cascade. For each package with a last tag, diff against
|
|
28
28
|
// that tag. Packages without a last tag are first-release: force-
|
|
29
29
|
// cascade without globbing (avoids walking the working tree).
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
//
|
|
31
|
+
// Seed detection is per-package: a package only cascades on its own
|
|
32
|
+
// diff, never on another package's pre-tag history. See #126.
|
|
33
|
+
const { changesByPackage, firstRelease } = collectChanges(config.packages, cwd);
|
|
34
|
+
const cascaded = new Set(computeCascade(config.packages, changesByPackage).map((p) => p.name));
|
|
32
35
|
for (const name of firstRelease)
|
|
33
36
|
cascaded.add(name);
|
|
34
37
|
// Trailer can additionally force-include packages by name.
|
|
@@ -48,19 +51,17 @@ export function plan(opts) {
|
|
|
48
51
|
}
|
|
49
52
|
/* ----------------------------- internals ----------------------------- */
|
|
50
53
|
function collectChanges(packages, cwd) {
|
|
51
|
-
const
|
|
54
|
+
const changesByPackage = new Map();
|
|
52
55
|
const firstRelease = new Set();
|
|
53
56
|
for (const p of packages) {
|
|
54
57
|
const tag = lastTag(p.name, { cwd });
|
|
55
58
|
if (tag === null) {
|
|
56
59
|
firstRelease.add(p.name);
|
|
60
|
+
continue;
|
|
57
61
|
}
|
|
58
|
-
|
|
59
|
-
for (const f of diffNames(tag, 'HEAD', { cwd }))
|
|
60
|
-
changes.add(f);
|
|
61
|
-
}
|
|
62
|
+
changesByPackage.set(p.name, new Set(diffNames(tag, 'HEAD', { cwd })));
|
|
62
63
|
}
|
|
63
|
-
return {
|
|
64
|
+
return { changesByPackage, firstRelease };
|
|
64
65
|
}
|
|
65
66
|
function nextVersion(pkg, trailerBump, cwd, trailerPackages) {
|
|
66
67
|
const tag = lastTag(pkg.name, { cwd });
|
package/dist/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,YAAY,EAAgB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmBjE,MAAM,UAAU,IAAI,CAAC,IAAiB;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEnC,mDAAmD;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE1C,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,8DAA8D;IAC9D,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,YAAY,EAAgB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmBjE,MAAM,UAAU,IAAI,CAAC,IAAiB;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEnC,mDAAmD;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE1C,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,8DAA8D;IAC9D,EAAE;IACF,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrE,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,YAAY;QAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEpD,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,MAAM;QAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,2EAA2E;AAE3E,SAAS,cAAc,CACrB,QAA4B,EAC5B,GAAW;IAKX,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAClB,GAAY,EACZ,WAAsC,EACtC,GAAW,EACX,eAAoC;IAEpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAErD,qEAAqE;IACrE,mEAAmE;IACnE,8DAA8D;IAC9D,+CAA+C;IAC/C,MAAM,SAAS,GACb,WAAW,KAAK,SAAS;QACzB,WAAW,KAAK,MAAM;QACtB,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAS,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IACzD,OAAO,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,GAAY,EAAE,OAAe;IACnD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO;gBACL;oBACE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO;oBACP,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,eAAe;oBACxB,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ;oBAClC,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,yBAAyB;oBACnD,IAAI,EAAE,GAAG,CAAC,IAAI;iBACf;aACF,CAAC;QAEJ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAI,GAA0B,CAAC,KAAK,CAAC;YAChD,MAAM,OAAO,GAAI,GAA8B,CAAC,OAAO,IAAI,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAgB,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,IAAI,EAAE,MAAM;wBACZ,OAAO;wBACP,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;wBACzB,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE;wBACvC,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,aAAa;wBACvC,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,qCAAqC;YACrC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,MAAM;gBACZ,OAAO;gBACP,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,eAAe;gBACxB,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ;gBAClC,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,gBAAgB;gBAC1C,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,KAAK,GAAI,GAA0B,CAAC,KAAK,CAAC;YAChD,MAAM,OAAO,GAAI,GAA8B,CAAC,OAAO,IAAI,EAAE,CAAC;YAC9D,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAgB,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,IAAI,EAAE,KAAK;wBACX,OAAO;wBACP,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;wBACzB,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE;wBACjC,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE;wBACvC,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBACD,6BAA6B;gBAC7B,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,KAAK;oBACX,OAAO;oBACP,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,eAAe;oBACxB,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO;oBACjC,aAAa,EAAE,GAAG,CAAC,IAAI;oBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC;YACD,mCAAmC;YACnC,OAAO;gBACL;oBACE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,KAAK;oBACX,OAAO;oBACP,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,eAAe;oBACxB,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM;oBAChC,aAAa,EAAE,GAAG,CAAC,IAAI;oBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C;aACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACjF,gDAAgD;QAChD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,GAAW;IAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|