@intentius/chant-lexicon-terraform 0.124.45 → 0.124.48
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/__fixtures__/capabilities/chant.config.d.ts +26 -0
- package/dist/__fixtures__/capabilities/chant.config.d.ts.map +1 -0
- package/dist/__fixtures__/capabilities/chant.config.js +13 -0
- package/dist/__fixtures__/effective-topology/chant.config.d.ts +13 -0
- package/dist/__fixtures__/effective-topology/chant.config.d.ts.map +1 -0
- package/dist/__fixtures__/effective-topology/chant.config.js +9 -0
- package/dist/__fixtures__/kind-type/chant.config.d.ts +13 -0
- package/dist/__fixtures__/kind-type/chant.config.d.ts.map +1 -0
- package/dist/__fixtures__/kind-type/chant.config.js +9 -0
- package/dist/__fixtures__/search-roots/chant.config.d.ts +13 -0
- package/dist/__fixtures__/search-roots/chant.config.d.ts.map +1 -0
- package/dist/__fixtures__/search-roots/chant.config.js +9 -0
- package/dist/__fixtures__/sensitive-default/chant.config.d.ts +13 -0
- package/dist/__fixtures__/sensitive-default/chant.config.d.ts.map +1 -0
- package/dist/__fixtures__/sensitive-default/chant.config.js +9 -0
- package/dist/capabilities/adapter.d.ts +9 -0
- package/dist/capabilities/adapter.d.ts.map +1 -0
- package/dist/capabilities/adapter.js +25 -0
- package/dist/capabilities/mapping.json +166 -0
- package/dist/config.d.ts +52 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -0
- package/dist/describe-resources.d.ts +101 -8
- package/dist/describe-resources.d.ts.map +1 -1
- package/dist/describe-resources.js +395 -56
- package/dist/hcl/parse.d.ts +10 -0
- package/dist/hcl/parse.d.ts.map +1 -1
- package/dist/hcl/parse.js +20 -2
- package/dist/hcl/redact.d.ts +26 -0
- package/dist/hcl/redact.d.ts.map +1 -0
- package/dist/hcl/redact.js +228 -0
- package/dist/integrity.json +2 -2
- package/dist/manifest.json +1 -1
- package/dist/op/activities/terraform.d.ts +109 -4
- package/dist/op/activities/terraform.d.ts.map +1 -1
- package/dist/op/activities/terraform.js +148 -7
- package/dist/plan-observation.d.ts +153 -0
- package/dist/plan-observation.d.ts.map +1 -0
- package/dist/plan-observation.js +354 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +2 -0
- package/package.json +2 -2
- package/src/__fixtures__/ACCEPTANCE.md +53 -1
- package/src/__fixtures__/capabilities/catalog/main.tf +105 -0
- package/src/__fixtures__/capabilities/chant.config.ts +15 -0
- package/src/__fixtures__/capabilities/findings/main.tf +225 -0
- package/src/__fixtures__/capabilities/ledger/main.tf +265 -0
- package/src/__fixtures__/capabilities/package.json +1 -0
- package/src/__fixtures__/effective-topology/chant.config.ts +11 -0
- package/src/__fixtures__/effective-topology/net/main.tf +176 -0
- package/src/__fixtures__/effective-topology/package.json +6 -0
- package/src/__fixtures__/kind-type/app/main.tf +35 -0
- package/src/__fixtures__/kind-type/chant.config.ts +11 -0
- package/src/__fixtures__/kind-type/package.json +6 -0
- package/src/__fixtures__/live-plan-depth/README.md +59 -0
- package/src/__fixtures__/live-plan-depth/live-plan.json +110 -0
- package/src/__fixtures__/live-plan-depth/show-plan-sensitive.json +1 -0
- package/src/__fixtures__/live-plan-depth/show-plan.json +1 -0
- package/src/__fixtures__/plan-read/main.tf +46 -0
- package/src/__fixtures__/plan-read/next.tfvars +1 -0
- package/src/__fixtures__/plan-read-drift/README.md +33 -0
- package/src/__fixtures__/plan-read-drift/main.tf +63 -0
- package/src/__fixtures__/plan-read-drift/next.tfvars +1 -0
- package/src/__fixtures__/search-roots/chant.config.ts +11 -0
- package/src/__fixtures__/search-roots/net/main.tf +73 -0
- package/src/__fixtures__/search-roots/package.json +6 -0
- package/src/__fixtures__/sensitive-default/chant.config.ts +11 -0
- package/src/__fixtures__/sensitive-default/net/main.tf +38 -0
- package/src/__fixtures__/sensitive-default/package.json +6 -0
- package/src/__fixtures__/show-plan.json +663 -0
- package/src/capabilities/adapter.ts +32 -0
- package/src/capabilities/mapping.json +166 -0
- package/src/capabilities-workspace.e2e.test.ts +251 -0
- package/src/capabilities.test.ts +264 -0
- package/src/config.ts +26 -0
- package/src/describe-resources.live-plan.test.ts +302 -0
- package/src/describe-resources.live-root-unchanged.test.ts +126 -0
- package/src/describe-resources.plan.test.ts +437 -0
- package/src/describe-resources.ts +445 -52
- package/src/effective-topology.test.ts +134 -0
- package/src/hcl/parse.ts +30 -2
- package/src/hcl/redact.ts +181 -0
- package/src/live-plan-depth.acceptance.e2e.test.ts +193 -0
- package/src/op/activities/terraform.test.ts +118 -1
- package/src/op/activities/terraform.ts +213 -9
- package/src/plan-observation.ts +428 -0
- package/src/plan-read.acceptance.test.ts +184 -0
- package/src/plugin.ts +2 -0
- package/src/redact-ir.e2e.test.ts +79 -0
- package/src/redact.test.ts +111 -0
- package/src/search-build-roots.test.ts +125 -0
- package/src/search-count.test.ts +144 -0
- package/src/search-kind-type.test.ts +136 -0
package/dist/hcl/parse.js
CHANGED
|
@@ -21,6 +21,7 @@ import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
|
21
21
|
import { join } from "node:path";
|
|
22
22
|
import { loadHcl2json } from "@intentius/chant/terraform/hcl2json";
|
|
23
23
|
import { DECLARABLE_MARKER } from "@intentius/chant/declarable";
|
|
24
|
+
import { redactSensitiveBody, redactSensitiveSource } from "./redact.js";
|
|
24
25
|
import { scanSuppressions, directivesFor } from "./suppressions.js";
|
|
25
26
|
/** `entityType` per block kind. */
|
|
26
27
|
export const TERRAFORM_TYPE = "Terraform::Terraform";
|
|
@@ -70,6 +71,9 @@ function expansionOf(body) {
|
|
|
70
71
|
*/
|
|
71
72
|
export function terraformEntity(entityType, address, body, file, root, extra, source = "", line, suppressions) {
|
|
72
73
|
const expansion = expansionOf(body);
|
|
74
|
+
const labels = entityType === RESOURCE_TYPE ? blockLabels(address)
|
|
75
|
+
: entityType === DATA_TYPE && address.startsWith("data.") ? blockLabels(address.slice("data.".length))
|
|
76
|
+
: undefined;
|
|
73
77
|
return {
|
|
74
78
|
[DECLARABLE_MARKER]: true,
|
|
75
79
|
lexicon: "terraform",
|
|
@@ -78,6 +82,7 @@ export function terraformEntity(entityType, address, body, file, root, extra, so
|
|
|
78
82
|
stack: root,
|
|
79
83
|
props: {
|
|
80
84
|
address,
|
|
85
|
+
...(labels ?? {}),
|
|
81
86
|
body,
|
|
82
87
|
file,
|
|
83
88
|
root,
|
|
@@ -94,6 +99,13 @@ export function terraformEntity(entityType, address, body, file, root, extra, so
|
|
|
94
99
|
suppressions,
|
|
95
100
|
};
|
|
96
101
|
}
|
|
102
|
+
/** The type and name labels of a resource address (`aws_instance.web`), or undefined when it is not two labels. */
|
|
103
|
+
function blockLabels(address) {
|
|
104
|
+
const dot = address.indexOf(".");
|
|
105
|
+
if (dot <= 0 || dot === address.length - 1 || address.indexOf(".", dot + 1) !== -1)
|
|
106
|
+
return undefined;
|
|
107
|
+
return { type: address.slice(0, dot), name: address.slice(dot + 1) };
|
|
108
|
+
}
|
|
97
109
|
/** The `# file: <name>` boundary `chant audit` writes between joined `.tf` files. */
|
|
98
110
|
const FILE_MARKER = /^# file: (.+)$/;
|
|
99
111
|
/**
|
|
@@ -188,14 +200,20 @@ export async function blocksToEntities(files, root, hcl2json, modeOptions, sidec
|
|
|
188
200
|
const parser = hcl2json ?? (await loadHcl2json());
|
|
189
201
|
const entities = new Map();
|
|
190
202
|
const prefix = callers.length > 0 ? `${root}/${callers.join("/")}` : root;
|
|
203
|
+
/** Each file's text is carried by every entity of the file: redact it once. */
|
|
204
|
+
const redacted = new Map();
|
|
191
205
|
const add = (entityType, address, body, file, scan, scanAddress = address) => {
|
|
192
206
|
const { line, suppressions } = directivesFor(scan, scanAddress);
|
|
193
|
-
|
|
207
|
+
let source = redacted.get(file.source);
|
|
208
|
+
if (source === undefined)
|
|
209
|
+
redacted.set(file.source, (source = redactSensitiveSource(file.source)));
|
|
210
|
+
const plain = (typeof body === "object" && body !== null ? body : {});
|
|
211
|
+
const entity = terraformEntity(entityType, address, entityType === VARIABLE_TYPE ? redactSensitiveBody(plain) : plain, file.name, root, {
|
|
194
212
|
...(modeOptions?.workspace !== undefined ? { workspace: modeOptions.workspace } : {}),
|
|
195
213
|
...(modeOptions?.delete !== undefined ? { delete: modeOptions.delete } : {}),
|
|
196
214
|
...(modeOptions?.configEstate !== undefined ? { configEstate: modeOptions.configEstate } : {}),
|
|
197
215
|
...(callers.length > 0 ? { callers } : {}),
|
|
198
|
-
},
|
|
216
|
+
}, source, line, suppressions);
|
|
199
217
|
let key = `${prefix}/${address}`;
|
|
200
218
|
for (let n = 2; entities.has(key); n++)
|
|
201
219
|
key = `${prefix}/${address}~${n}`;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leave a sensitive variable's literal default out of the IR (#4377).
|
|
3
|
+
*
|
|
4
|
+
* The lexicon puts the HCL text of the file a block lives in on each entity's
|
|
5
|
+
* `source`, and the parsed block on `body`. A `variable` declared
|
|
6
|
+
* `sensitive = true` with a literal `default` carried that default in both, so
|
|
7
|
+
* `chant graph`, `chant search --show` and `workspace graph` printed it. This
|
|
8
|
+
* replaces the default with {@link SENSITIVE_PLACEHOLDER} (the same text the
|
|
9
|
+
* plan read shows) before the entity is built, so every reader gets the
|
|
10
|
+
* redacted form.
|
|
11
|
+
*
|
|
12
|
+
* `body` keeps its `default` key: TF006 asks whether a sensitive variable
|
|
13
|
+
* declares a default, and that fact survives. Only the value goes.
|
|
14
|
+
*
|
|
15
|
+
* The source scanner skips strings (with `${}`), heredocs and comments, finds
|
|
16
|
+
* each top-level `variable` block, and inside it the `sensitive` and `default`
|
|
17
|
+
* attributes. The default's whole expression is replaced, whether it is a
|
|
18
|
+
* string, a number, a list or a map spanning lines. Only a literal
|
|
19
|
+
* `sensitive = true` counts. Ported from behold's src/terraform-redact.ts.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SENSITIVE_PLACEHOLDER = "(sensitive)";
|
|
22
|
+
/** `source` with the literal default of every `sensitive = true` variable replaced by `(sensitive)`. */
|
|
23
|
+
export declare function redactSensitiveSource(source: string): string;
|
|
24
|
+
/** A variable body with its `default` replaced, when the variable is a literal `sensitive = true` with a default. Otherwise the body itself. */
|
|
25
|
+
export declare function redactSensitiveBody<T extends Record<string, unknown>>(body: T): T;
|
|
26
|
+
//# sourceMappingURL=redact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/hcl/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAsHnD,wGAAwG;AACxG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkC5D;AAED,gJAAgJ;AAChJ,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAGjF"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leave a sensitive variable's literal default out of the IR (#4377).
|
|
3
|
+
*
|
|
4
|
+
* The lexicon puts the HCL text of the file a block lives in on each entity's
|
|
5
|
+
* `source`, and the parsed block on `body`. A `variable` declared
|
|
6
|
+
* `sensitive = true` with a literal `default` carried that default in both, so
|
|
7
|
+
* `chant graph`, `chant search --show` and `workspace graph` printed it. This
|
|
8
|
+
* replaces the default with {@link SENSITIVE_PLACEHOLDER} (the same text the
|
|
9
|
+
* plan read shows) before the entity is built, so every reader gets the
|
|
10
|
+
* redacted form.
|
|
11
|
+
*
|
|
12
|
+
* `body` keeps its `default` key: TF006 asks whether a sensitive variable
|
|
13
|
+
* declares a default, and that fact survives. Only the value goes.
|
|
14
|
+
*
|
|
15
|
+
* The source scanner skips strings (with `${}`), heredocs and comments, finds
|
|
16
|
+
* each top-level `variable` block, and inside it the `sensitive` and `default`
|
|
17
|
+
* attributes. The default's whole expression is replaced, whether it is a
|
|
18
|
+
* string, a number, a list or a map spanning lines. Only a literal
|
|
19
|
+
* `sensitive = true` counts. Ported from behold's src/terraform-redact.ts.
|
|
20
|
+
*/
|
|
21
|
+
export const SENSITIVE_PLACEHOLDER = "(sensitive)";
|
|
22
|
+
const WORD = /[A-Za-z_][A-Za-z0-9_-]*/y;
|
|
23
|
+
const HEREDOC = /<<-?([A-Za-z_][A-Za-z0-9_]*)[ \t]*\r?\n/y;
|
|
24
|
+
/** Index just past the string opened at `i` (a `"`), interpolations included. */
|
|
25
|
+
function skipString(t, i) {
|
|
26
|
+
i++;
|
|
27
|
+
while (i < t.length) {
|
|
28
|
+
const c = t[i];
|
|
29
|
+
if (c === "\\")
|
|
30
|
+
i += 2;
|
|
31
|
+
else if (c === "$" && t[i + 1] === "$" && t[i + 2] === "{")
|
|
32
|
+
i += 3;
|
|
33
|
+
else if ((c === "$" || c === "%") && t[i + 1] === "{")
|
|
34
|
+
i = skipBraces(t, i + 1);
|
|
35
|
+
else if (c === '"')
|
|
36
|
+
return i + 1;
|
|
37
|
+
else
|
|
38
|
+
i++;
|
|
39
|
+
}
|
|
40
|
+
return t.length;
|
|
41
|
+
}
|
|
42
|
+
/** Index just past the heredoc whose opener starts at `i`, or -1 when `i` is not one. */
|
|
43
|
+
function skipHeredoc(t, i) {
|
|
44
|
+
HEREDOC.lastIndex = i;
|
|
45
|
+
const m = HEREDOC.exec(t);
|
|
46
|
+
if (!m)
|
|
47
|
+
return -1;
|
|
48
|
+
let p = HEREDOC.lastIndex;
|
|
49
|
+
while (p < t.length) {
|
|
50
|
+
let e = t.indexOf("\n", p);
|
|
51
|
+
if (e < 0)
|
|
52
|
+
e = t.length;
|
|
53
|
+
if (t.slice(p, e).trim() === m[1])
|
|
54
|
+
return e;
|
|
55
|
+
p = e + 1;
|
|
56
|
+
}
|
|
57
|
+
return t.length;
|
|
58
|
+
}
|
|
59
|
+
/** Index just past a comment starting at `i`, or -1 when there is none. A line comment stops before its newline. */
|
|
60
|
+
function skipComment(t, i) {
|
|
61
|
+
if (t[i] === "#" || (t[i] === "/" && t[i + 1] === "/")) {
|
|
62
|
+
const e = t.indexOf("\n", i);
|
|
63
|
+
return e < 0 ? t.length : e;
|
|
64
|
+
}
|
|
65
|
+
if (t[i] === "/" && t[i + 1] === "*") {
|
|
66
|
+
const e = t.indexOf("*/", i + 2);
|
|
67
|
+
return e < 0 ? t.length : e + 2;
|
|
68
|
+
}
|
|
69
|
+
return -1;
|
|
70
|
+
}
|
|
71
|
+
/** Index just past the bracket group opened at `i` (`{`, `[` or `(`). */
|
|
72
|
+
function skipBraces(t, i) {
|
|
73
|
+
let depth = 0;
|
|
74
|
+
while (i < t.length) {
|
|
75
|
+
const c = t[i];
|
|
76
|
+
if (c === '"') {
|
|
77
|
+
i = skipString(t, i);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const h = c === "<" && t[i + 1] === "<" ? skipHeredoc(t, i) : -1;
|
|
81
|
+
if (h >= 0) {
|
|
82
|
+
i = h;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const k = skipComment(t, i);
|
|
86
|
+
if (k >= 0) {
|
|
87
|
+
i = k;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (c === "{" || c === "[" || c === "(")
|
|
91
|
+
depth++;
|
|
92
|
+
else if (c === "}" || c === "]" || c === ")") {
|
|
93
|
+
depth--;
|
|
94
|
+
if (depth === 0)
|
|
95
|
+
return i + 1;
|
|
96
|
+
}
|
|
97
|
+
i++;
|
|
98
|
+
}
|
|
99
|
+
return t.length;
|
|
100
|
+
}
|
|
101
|
+
/** End of the expression starting at `i`: the last token before a newline or comma outside brackets, or the block's closing brace. */
|
|
102
|
+
function valueEnd(t, i, limit) {
|
|
103
|
+
let last = i;
|
|
104
|
+
while (i < limit) {
|
|
105
|
+
const c = t[i];
|
|
106
|
+
if (c === "\n" || c === ",")
|
|
107
|
+
break;
|
|
108
|
+
if (c === '"') {
|
|
109
|
+
i = skipString(t, i);
|
|
110
|
+
last = i;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const h = c === "<" && t[i + 1] === "<" ? skipHeredoc(t, i) : -1;
|
|
114
|
+
if (h >= 0) {
|
|
115
|
+
i = h;
|
|
116
|
+
last = i;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const k = skipComment(t, i);
|
|
120
|
+
if (k >= 0) {
|
|
121
|
+
i = k;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (c === "{" || c === "[" || c === "(") {
|
|
125
|
+
i = skipBraces(t, i);
|
|
126
|
+
last = i;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (c !== " " && c !== "\t" && c !== "\r")
|
|
130
|
+
last = i + 1;
|
|
131
|
+
i++;
|
|
132
|
+
}
|
|
133
|
+
return Math.min(last, limit);
|
|
134
|
+
}
|
|
135
|
+
/** The attributes written directly in a block body spanning [from, to). */
|
|
136
|
+
function attributes(t, from, to) {
|
|
137
|
+
const out = [];
|
|
138
|
+
let i = from;
|
|
139
|
+
while (i < to) {
|
|
140
|
+
const c = t[i];
|
|
141
|
+
if (c === '"') {
|
|
142
|
+
i = skipString(t, i);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const k = skipComment(t, i);
|
|
146
|
+
if (k >= 0) {
|
|
147
|
+
i = k;
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (c === "{" || c === "[" || c === "(") {
|
|
151
|
+
i = skipBraces(t, i);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
WORD.lastIndex = i;
|
|
155
|
+
const m = WORD.exec(t);
|
|
156
|
+
if (!m) {
|
|
157
|
+
i++;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
i = WORD.lastIndex;
|
|
161
|
+
let p = i;
|
|
162
|
+
while (t[p] === " " || t[p] === "\t")
|
|
163
|
+
p++;
|
|
164
|
+
if (t[p] === "=" && t[p + 1] !== "=" && t[p + 1] !== ">") {
|
|
165
|
+
p++;
|
|
166
|
+
while (t[p] === " " || t[p] === "\t")
|
|
167
|
+
p++;
|
|
168
|
+
const end = valueEnd(t, p, to);
|
|
169
|
+
out.push({ name: m[0], from: p, to: end });
|
|
170
|
+
i = Math.max(end, p);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return out;
|
|
174
|
+
}
|
|
175
|
+
/** `source` with the literal default of every `sensitive = true` variable replaced by `(sensitive)`. */
|
|
176
|
+
export function redactSensitiveSource(source) {
|
|
177
|
+
if (!source.includes("sensitive"))
|
|
178
|
+
return source;
|
|
179
|
+
const spans = [];
|
|
180
|
+
let i = 0;
|
|
181
|
+
let variable = false;
|
|
182
|
+
while (i < source.length) {
|
|
183
|
+
const c = source[i];
|
|
184
|
+
if (c === "\n")
|
|
185
|
+
variable = false;
|
|
186
|
+
if (c === '"') {
|
|
187
|
+
i = skipString(source, i);
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
const k = skipComment(source, i);
|
|
191
|
+
if (k >= 0) {
|
|
192
|
+
i = k;
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (c === "{") {
|
|
196
|
+
const end = skipBraces(source, i);
|
|
197
|
+
if (variable) {
|
|
198
|
+
const attrs = attributes(source, i + 1, end - 1);
|
|
199
|
+
const sensitive = attrs.some((a) => a.name === "sensitive" && source.slice(a.from, a.to) === "true");
|
|
200
|
+
if (sensitive)
|
|
201
|
+
for (const a of attrs)
|
|
202
|
+
if (a.name === "default")
|
|
203
|
+
spans.push([a.from, a.to]);
|
|
204
|
+
}
|
|
205
|
+
variable = false;
|
|
206
|
+
i = end;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
WORD.lastIndex = i;
|
|
210
|
+
const m = WORD.exec(source);
|
|
211
|
+
if (m) {
|
|
212
|
+
variable = m[0] === "variable";
|
|
213
|
+
i = WORD.lastIndex;
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
i++;
|
|
217
|
+
}
|
|
218
|
+
let out = source;
|
|
219
|
+
for (const [a, b] of spans.reverse())
|
|
220
|
+
out = out.slice(0, a) + SENSITIVE_PLACEHOLDER + out.slice(b);
|
|
221
|
+
return out;
|
|
222
|
+
}
|
|
223
|
+
/** A variable body with its `default` replaced, when the variable is a literal `sensitive = true` with a default. Otherwise the body itself. */
|
|
224
|
+
export function redactSensitiveBody(body) {
|
|
225
|
+
if (body.sensitive !== true || !("default" in body))
|
|
226
|
+
return body;
|
|
227
|
+
return { ...body, default: SENSITIVE_PLACEHOLDER };
|
|
228
|
+
}
|
package/dist/integrity.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
4
|
+
"manifest.json": "02dd499b5a8a92519d43f506700c00bf2fd484b051cab67e5db8584bf7f5b74d",
|
|
5
5
|
"meta.json": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",
|
|
6
6
|
"types/index.d.ts": "022927e6a7b351cc4cf52d5f973f60ccd140e5810e17b32fb8868965aa1db161",
|
|
7
7
|
"rules/plan-before-apply.ts": "7c10245b2c3335253b48ee7d8b075d89f43116bde20313a5d1031b343fef1282",
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"rules/tf045.ts": "760b1f4f385fbe7a86897efe3078fdeac11bcc9bfb806285d63db50488174b7b",
|
|
57
57
|
"skills/chant-terraform.md": "d9ca7b7c28aed0038ce775a3491150298492eed2858fd3651ed9bfca0e577ae8"
|
|
58
58
|
},
|
|
59
|
-
"composite": "
|
|
59
|
+
"composite": "6bc9a0d9f77d56a8c4572a99cb1e7885d1a3deb22af77621b44fbd314d3bf04f"
|
|
60
60
|
}
|
package/dist/manifest.json
CHANGED
|
@@ -45,7 +45,7 @@ import { type AdoptionCandidate } from "../adoption.js";
|
|
|
45
45
|
export declare const DEFAULT_PLAN_FILE = "chant.tfplan";
|
|
46
46
|
/** Binary used when the `terraform` namespace records no preference. */
|
|
47
47
|
export declare const DEFAULT_TERRAFORM_BINARY = "terraform";
|
|
48
|
-
/** Where {@link choudoufuLivePlan} writes GitHub issue #788's JSON document, relative to the root directory. */
|
|
48
|
+
/** Where the {@link choudoufuLivePlan} Op activity writes GitHub issue #788's JSON document, relative to the root directory. */
|
|
49
49
|
export declare const DEFAULT_LIVE_PLAN_DOCUMENT_FILE = "chant.live-plan.json";
|
|
50
50
|
/**
|
|
51
51
|
* choudoufu below this refuses. v0.12.0 brought `live-plan -json`, `live-ls`
|
|
@@ -799,6 +799,105 @@ export declare function choudoufuWaveApply(args: ChoudoufuWaveApplyArgs, signal?
|
|
|
799
799
|
* provider.
|
|
800
800
|
*/
|
|
801
801
|
export declare function terraformShow(args: TerraformShowArgs, signal?: AbortSignal): Promise<TerraformShowResult>;
|
|
802
|
+
/** Prefix of the scratch directory a plan read writes its plan file into, under the OS temp directory. */
|
|
803
|
+
export declare const PLAN_READ_DIR_PREFIX = "chant-terraform-plan-";
|
|
804
|
+
/** The plan file's name inside that scratch directory. */
|
|
805
|
+
export declare const PLAN_READ_FILE = "plan.tfplan";
|
|
806
|
+
/**
|
|
807
|
+
* `terraform plan` for an observation read (#4358): `-input=false -lock=false
|
|
808
|
+
* -out=<file>`, plus the root's own `-var-file`s.
|
|
809
|
+
*
|
|
810
|
+
* `-lock=false` is the point. A read must never take the backend's state lock,
|
|
811
|
+
* or a teammate's apply that starts while chant is reading would fail on
|
|
812
|
+
* "Error acquiring the state lock". `-detailed-exitcode` is not passed: the
|
|
813
|
+
* read wants the document, not the boolean, so exit 0 is the only success.
|
|
814
|
+
* The `-out` path is always outside the root (see {@link terraformPlanRead}).
|
|
815
|
+
*/
|
|
816
|
+
export declare function terraformPlanReadCommand(opts: {
|
|
817
|
+
binary: string;
|
|
818
|
+
planFile: string;
|
|
819
|
+
varFiles?: string[];
|
|
820
|
+
}): string;
|
|
821
|
+
/**
|
|
822
|
+
* The one line a person runs to initialise a root chant refuses to plan,
|
|
823
|
+
* with the root's `backendConfig` carried, so it can be pasted as printed.
|
|
824
|
+
*/
|
|
825
|
+
export declare function terraformInitLine(opts: {
|
|
826
|
+
binary: string;
|
|
827
|
+
dir: string;
|
|
828
|
+
backendConfig?: Record<string, string>;
|
|
829
|
+
}): string;
|
|
830
|
+
/**
|
|
831
|
+
* Why a plan read refused or failed, in the three classes the plan depth
|
|
832
|
+
* falls back by (#4358):
|
|
833
|
+
*
|
|
834
|
+
* - `"not-initialised"`: the root was never initialised, or its providers,
|
|
835
|
+
* modules or backend changed since. chant never runs `init` on a read,
|
|
836
|
+
* because `init` writes into the root, so this is refused with the line
|
|
837
|
+
* to run.
|
|
838
|
+
* - `"backend"`: the state could not be read at all. A state read needs the
|
|
839
|
+
* same backend, so there is nothing to fall back to but declared only.
|
|
840
|
+
* - `"plan"`: anything else, missing provider credentials first among them.
|
|
841
|
+
* The backend answered, so the state read can still answer.
|
|
842
|
+
*/
|
|
843
|
+
export type TerraformPlanReadFailureKind = "not-initialised" | "backend" | "plan";
|
|
844
|
+
/** A plan read that did not produce a document. `kind` decides the fallback. */
|
|
845
|
+
export declare class TerraformPlanReadError extends Error {
|
|
846
|
+
readonly kind: TerraformPlanReadFailureKind;
|
|
847
|
+
readonly dir: string;
|
|
848
|
+
/** Present on `"not-initialised"`: the line to run. */
|
|
849
|
+
readonly initLine?: string;
|
|
850
|
+
constructor(kind: TerraformPlanReadFailureKind, message: string, dir: string, initLine?: string);
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Sort a failed plan's own output into a {@link TerraformPlanReadFailureKind}.
|
|
854
|
+
* Matched on terraform's and OpenTofu's own error summaries. Order matters:
|
|
855
|
+
* an S3 backend without credentials says both "backend" and "credentials",
|
|
856
|
+
* and it is the backend that failed, so the backend patterns are read first.
|
|
857
|
+
*/
|
|
858
|
+
export declare function classifyPlanReadFailure(output: string): TerraformPlanReadFailureKind;
|
|
859
|
+
/** What {@link terraformPlanRead} resolved. */
|
|
860
|
+
export interface TerraformPlanReadResult {
|
|
861
|
+
/** `terraform show -json <planfile>`, parsed. */
|
|
862
|
+
json: unknown;
|
|
863
|
+
/** Absolute path of the root module directory the plan ran in. */
|
|
864
|
+
dir: string;
|
|
865
|
+
/**
|
|
866
|
+
* The scratch directory the plan file was written to, under the OS temp
|
|
867
|
+
* directory. Already removed when this result is returned; named so a test
|
|
868
|
+
* can prove both halves of that.
|
|
869
|
+
*/
|
|
870
|
+
planDir: string;
|
|
871
|
+
/** The plan command exactly as run, for a test or a note to quote. */
|
|
872
|
+
command: string;
|
|
873
|
+
}
|
|
874
|
+
/**
|
|
875
|
+
* Whether a root has been initialised: `.terraform` (or `TF_DATA_DIR`, when
|
|
876
|
+
* the environment points elsewhere) exists. A root whose providers or modules
|
|
877
|
+
* have since changed passes this check and is caught by
|
|
878
|
+
* {@link classifyPlanReadFailure} on the plan's own error instead.
|
|
879
|
+
*/
|
|
880
|
+
export declare function rootIsInitialised(dir: string, env?: Record<string, string | undefined>): boolean;
|
|
881
|
+
/**
|
|
882
|
+
* Read a saved plan for one root without writing anything in it (#4358):
|
|
883
|
+
* `plan -input=false -lock=false -out=<tmp>/plan.tfplan` in the root, then
|
|
884
|
+
* `show -json <tmp>/plan.tfplan`, then remove `<tmp>`.
|
|
885
|
+
*
|
|
886
|
+
* Three rules, each a lesson behold already learned reading choudoufu
|
|
887
|
+
* members (behold `src/choudoufu-plan.ts`):
|
|
888
|
+
*
|
|
889
|
+
* - No lock. `-lock=false` on the plan, always ({@link terraformPlanReadCommand}).
|
|
890
|
+
* - Nothing in the root. `<tmp>` is a fresh `mkdtemp` under the OS temp
|
|
891
|
+
* directory and is removed in a `finally`, failure or not. `init` is never
|
|
892
|
+
* run: an uninitialised root throws a {@link TerraformPlanReadError} of
|
|
893
|
+
* kind `"not-initialised"` carrying the line to run.
|
|
894
|
+
* - A failure says which kind it is, so the observation can fall back by
|
|
895
|
+
* depth ({@link classifyPlanReadFailure}).
|
|
896
|
+
*
|
|
897
|
+
* Uses the longInfra profile, like {@link terraformPlan}: a plan refreshes
|
|
898
|
+
* every resource against its provider.
|
|
899
|
+
*/
|
|
900
|
+
export declare function terraformPlanRead(args: TerraformRootArgs, signal?: AbortSignal): Promise<TerraformPlanReadResult>;
|
|
802
901
|
/**
|
|
803
902
|
* `choudoufu live-plan -detailed-exitcode -json -estate=<estate>`, plus a
|
|
804
903
|
* second `live-plan` without `-json` for the human-readable render. GitHub
|
|
@@ -843,8 +942,12 @@ export interface ChoudoufuLivePlanDocumentResult extends LivePlanUnownedCounts {
|
|
|
843
942
|
json: unknown;
|
|
844
943
|
/** Absolute path of the root module directory. */
|
|
845
944
|
dir: string;
|
|
846
|
-
/**
|
|
847
|
-
|
|
945
|
+
/**
|
|
946
|
+
* Where the JSON document was written, relative to `dir`. Present only when
|
|
947
|
+
* the caller asked for a file with `documentPath`; a read writes nothing
|
|
948
|
+
* into the root (#4379).
|
|
949
|
+
*/
|
|
950
|
+
documentPath?: string;
|
|
848
951
|
/** The estate this plan ran against. */
|
|
849
952
|
estate: string;
|
|
850
953
|
}
|
|
@@ -864,7 +967,9 @@ export interface ChoudoufuLivePlanDocumentResult extends LivePlanUnownedCounts {
|
|
|
864
967
|
* the root's environment. The graph command runs in such a scope, so its
|
|
865
968
|
* observation and its prediction see one `live-plan` between them, and the
|
|
866
969
|
* graph's statuses and the prediction's figures are statements about the
|
|
867
|
-
* same read. The document
|
|
970
|
+
* same read. The document is returned, not written: the root is left
|
|
971
|
+
* byte-for-byte as it was (#4379). A caller that wants the file passes
|
|
972
|
+
* `documentPath` (relative to the root) and it is written there on request.
|
|
868
973
|
*/
|
|
869
974
|
export declare function choudoufuLivePlanDocument(args: ChoudoufuLivePlanArgs & {
|
|
870
975
|
documentPath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["../../../src/op/activities/terraform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["../../../src/op/activities/terraform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAWrB,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,cAAc,CAAC;AAEpD,gIAAgI;AAChI,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB;aAAK,MAAM,EAAE,CAAC;aAAE,KAAK,EAAE,CAAC;aAAE,QAAQ,EAAE,CAAC;aAAE,UAAU,EAAE,CAAC;CAAW,CAAC;AAEhG;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,mEACsB,CAAC;AAEnE,mHAAmH;AACnH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wGAAwG;AACxG,eAAO,MAAM,mCAAmC,wDAAwD,CAAC;AAEzG,0GAA0G;AAC1G,eAAO,MAAM,8BAA8B,oDAAoD,CAAC;AAIhG,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,mHAAmH;IACnH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAEvD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D;;;;;OAKG;IACH,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,qGAAqG;IACrG,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE7G,+FAA+F;AAC/F,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,mGAAmG;IACnG,OAAO,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG,cAAc,CAAC;AAE5E,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB,EAAE,gBAAgB;IACtF,wFAAwF;IACxF,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iHAAiH;IACjH,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,kGAAkG;IAClG,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,yHAAyH;IACzH,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,IAAI,EAAE,OAAO,CAAC;IACd,yHAAyH;IACzH,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,SAAS,EAAE,WAAW,CAAC;IACvB,mFAAmF;IACnF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gDAAgD;AAChD,MAAM,WAAW,wBAAwB;IACvC,8FAA8F;IAC9F,OAAO,EAAE,OAAO,CAAC;IACjB,4FAA4F;IAC5F,IAAI,EAAE,OAAO,CAAC;IACd,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,kEAAkE;IAClE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK1G;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,MAAM,CAQT;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,MAAM,CAWT;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAExF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAcT;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAI7G;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,qBAAqB,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIvG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,gBAAgB,CAYpE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAMxE;AAgBD,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAOpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/E;AA8BD,4FAA4F;AAC5F,wBAAgB,oCAAoC,IAAI,IAAI,CAG3D;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQtF;AAsHD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAa9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAoD9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAI5F;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAoC/B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKlC;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEtG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAWT;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzF;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,oGAAoG;IACpG,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBzE;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,SAAS,EAAE,aAAa,CAAC;CAC1B;AAKD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAyC9G;AAYD,6CAA6C;AAC7C,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,2GAA2G;IAC3G,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6BrH;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAInF;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2GAA2G;AAC3G,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBnG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA0D9H;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CA2B9B;AAID,0GAA0G;AAC1G,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D,0DAA0D;AAC1D,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAE5C;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAKhH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,MAAM,CAMvH;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC;AAElF,gFAAgF;AAChF,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,YAAY,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAM9F;CACF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,4BAA4B,CAgBpF;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAG7G;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAyClC;AA6BD;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAAgC,SAAQ,qBAAqB;IAC5E,wFAAwF;IACxF,KAAK,EAAE,OAAO,CAAC;IACf,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,qBAAqB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,+BAA+B,CAAC,CAwD1C;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAuElC;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,mBAAmB,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAkBhC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CA8C/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAuBnC"}
|