pm-github 2026.10.27 → 2026.10.29
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/CHANGELOG.md +52 -39
- package/README.md +75 -3
- package/dist/closeout.d.ts.map +1 -1
- package/dist/closeout.js +71 -30
- package/dist/closeout.js.map +1 -1
- package/dist/discussion-schema.d.ts +110 -0
- package/dist/discussion-schema.d.ts.map +1 -0
- package/dist/discussion-schema.js +41 -0
- package/dist/discussion-schema.js.map +1 -0
- package/dist/discussions.d.ts +26 -0
- package/dist/discussions.d.ts.map +1 -0
- package/dist/discussions.js +215 -0
- package/dist/discussions.js.map +1 -0
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +10 -4
- package/dist/gate.js.map +1 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +2 -1
- package/dist/identity.js.map +1 -1
- package/dist/import-fidelity.d.ts +8 -3
- package/dist/import-fidelity.d.ts.map +1 -1
- package/dist/import-fidelity.js +39 -10
- package/dist/import-fidelity.js.map +1 -1
- package/dist/import-tags.d.ts +15 -0
- package/dist/import-tags.d.ts.map +1 -0
- package/dist/import-tags.js +35 -0
- package/dist/import-tags.js.map +1 -0
- package/dist/index.d.ts +52 -41
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +188 -89
- package/dist/index.js.map +1 -1
- package/dist/issue-forms.d.ts +1 -1
- package/dist/issue-forms.d.ts.map +1 -1
- package/dist/issue-forms.js +8 -5
- package/dist/issue-forms.js.map +1 -1
- package/dist/label-names.d.ts +6 -0
- package/dist/label-names.d.ts.map +1 -0
- package/dist/label-names.js +15 -0
- package/dist/label-names.js.map +1 -0
- package/dist/labels.d.ts +161 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +235 -0
- package/dist/labels.js.map +1 -0
- package/dist/projects.d.ts +6 -4
- package/dist/projects.d.ts.map +1 -1
- package/dist/projects.js +25 -24
- package/dist/projects.js.map +1 -1
- package/dist/refresh.d.ts +2 -1
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +19 -9
- package/dist/refresh.js.map +1 -1
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +5 -2
- package/dist/webhooks.js.map +1 -1
- package/dist/workflow-diagnostic.d.ts +9 -0
- package/dist/workflow-diagnostic.d.ts.map +1 -0
- package/dist/workflow-diagnostic.js +62 -0
- package/dist/workflow-diagnostic.js.map +1 -0
- package/dist/workspace.d.ts +18 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +39 -0
- package/dist/workspace.js.map +1 -0
- package/docs/discussion-capture-example.json +14 -0
- package/docs/discussion-capture.md +44 -0
- package/manifest.json +2 -2
- package/package.json +15 -10
package/dist/issue-forms.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export declare function refuseIssueForm(code: IssueFormRefusalCode, checklist: F
|
|
|
55
55
|
/** Compile repository form semantics without reading a tracker or contacting GitHub. */
|
|
56
56
|
export declare function compileIssueForm(value: unknown): IssueFormContract;
|
|
57
57
|
/** Validate current SDK state, never saved input, before rendering an export body. */
|
|
58
|
-
export declare function completeIssueForm(
|
|
58
|
+
export declare function completeIssueForm(pmPath: string, value: unknown): Promise<IssueFormCompletion>;
|
|
59
59
|
/** Fetch boundary reuses the package's authenticated, retrying read-only REST transport. */
|
|
60
60
|
export type IssueFormReader = (url: string) => Promise<{
|
|
61
61
|
body: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-forms.d.ts","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issue-forms.d.ts","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"AAUA,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;AAC9I,uFAAuF;AACvF,MAAM,WAAW,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC7E,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC/E,uFAAuF;AACvF,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,gFAAgF;AAChF,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACnE,QAAQ,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AACD,uFAAuF;AACvF,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE;AACvH,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAC5D;AACD,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAAG,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAwC9E,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,SAAI,GAAG,KAAK,CAKvG;AA8BD,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAAkC;AAErG,sFAAsF;AACtF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+CpG;AAgBD,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACzE,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAC9G,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAa1I"}
|
package/dist/issue-forms.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { readGithubWorkspace } from "./workspace.js";
|
|
1
2
|
/** Read-only GitHub issue-form contracts; no cached approvals or remote writes. */
|
|
2
3
|
import { createHash } from "node:crypto";
|
|
3
4
|
import { openSync, readSync, closeSync, fstatSync, constants } from "node:fs";
|
|
4
5
|
import { parseDocument } from "yaml";
|
|
5
6
|
import { z } from "zod";
|
|
6
7
|
import { emptyRecord, ownValue } from "./own-record.js";
|
|
7
|
-
import {
|
|
8
|
+
import { uniqueGithubLabelNames } from "./label-names.js";
|
|
9
|
+
import { createPmCliExpectedError, locateItem, readLocatedItem } from "@unbrained/pm-cli/sdk";
|
|
8
10
|
const text = z.string().max(32768);
|
|
9
11
|
const short = z.string().min(1).max(200).regex(/^[^\r\n]+$/);
|
|
10
12
|
const key = z.string().regex(/^[\p{L}\p{N}_-]{1,100}$/u);
|
|
@@ -83,19 +85,20 @@ function compile(request) {
|
|
|
83
85
|
refuseIssueForm("invalid_form_input", [{ field: id, reason: "unknown_field", remedy: "Use only answer IDs listed by the compiled contract." }]);
|
|
84
86
|
}
|
|
85
87
|
return { repo: request.repo, ref: request.ref, path: request.path,
|
|
86
|
-
digest: createHash("sha256").update(JSON.stringify(request.yaml)).digest("hex"), fields: compiled, labels: request.yaml.labels ?? [] };
|
|
88
|
+
digest: createHash("sha256").update(JSON.stringify(request.yaml)).digest("hex"), fields: compiled, labels: uniqueGithubLabelNames(request.yaml.labels ?? []) };
|
|
87
89
|
}
|
|
88
90
|
/** Compile repository form semantics without reading a tracker or contacting GitHub. */
|
|
89
91
|
export function compileIssueForm(value) { return compile(input(value)); }
|
|
90
92
|
/** Validate current SDK state, never saved input, before rendering an export body. */
|
|
91
|
-
export async function completeIssueForm(
|
|
93
|
+
export async function completeIssueForm(pmPath, value) {
|
|
92
94
|
const request = input(value);
|
|
93
95
|
const contract = compile(request);
|
|
94
96
|
let native = emptyRecord();
|
|
95
97
|
if (request.item !== undefined) {
|
|
96
98
|
try {
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
+
const workspace = await readGithubWorkspace(pmPath);
|
|
100
|
+
const pmRoot = workspace.pmRoot;
|
|
101
|
+
const { settings, types: registry } = workspace;
|
|
99
102
|
const located = await locateItem(pmRoot, request.item, settings.id_prefix, settings.item_format, registry.type_to_folder);
|
|
100
103
|
if (!located)
|
|
101
104
|
throw new Error("missing item");
|
package/dist/issue-forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-forms.js","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"issue-forms.js","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** GitHub label-name comparison is separate from opaque label identity and native tag normalization. */
|
|
2
|
+
/** Compare provider names without case while retaining whitespace, punctuation and spelling for output. */
|
|
3
|
+
export declare function githubLabelNameKey(name: string): string;
|
|
4
|
+
/** Keep the first spelling of each effective provider label; never use this to collapse node IDs. */
|
|
5
|
+
export declare function uniqueGithubLabelNames(names: readonly string[]): string[];
|
|
6
|
+
//# sourceMappingURL=label-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-names.d.ts","sourceRoot":"","sources":["../label-names.ts"],"names":[],"mappings":"AAAA,wGAAwG;AAExG,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAA+B;AAEvF,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQzE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** GitHub label-name comparison is separate from opaque label identity and native tag normalization. */
|
|
2
|
+
/** Compare provider names without case while retaining whitespace, punctuation and spelling for output. */
|
|
3
|
+
export function githubLabelNameKey(name) { return name.toLowerCase(); }
|
|
4
|
+
/** Keep the first spelling of each effective provider label; never use this to collapse node IDs. */
|
|
5
|
+
export function uniqueGithubLabelNames(names) {
|
|
6
|
+
const seen = new Set();
|
|
7
|
+
return names.filter(name => {
|
|
8
|
+
const key = githubLabelNameKey(name);
|
|
9
|
+
if (seen.has(key))
|
|
10
|
+
return false;
|
|
11
|
+
seen.add(key);
|
|
12
|
+
return true;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=label-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-names.js","sourceRoot":"","sources":["../label-names.ts"],"names":[],"mappings":"AAAA,wGAAwG;AAExG,2GAA2G;AAC3G,MAAM,UAAU,kBAAkB,CAAC,IAAY,IAAY,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEvF,qGAAqG;AACrG,MAAM,UAAU,sBAAsB,CAAC,KAAwB;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/labels.d.ts
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Stable expected refusals; every failure supplies an actionable remedy. */
|
|
3
|
+
export type LabelMigrationRefusalCode = "invalid_input" | "catalog_unavailable" | "stale_labels" | "incomplete_read" | "stale_plan" | "unresolved_choices" | "invalid_output";
|
|
4
|
+
declare const requestSchema: z.ZodObject<{
|
|
5
|
+
repo: z.ZodString;
|
|
6
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
7
|
+
id: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
}, z.core.$strict>>;
|
|
10
|
+
change: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
11
|
+
kind: z.ZodLiteral<"rename">;
|
|
12
|
+
name: z.ZodString;
|
|
13
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14
|
+
kind: z.ZodLiteral<"consolidate">;
|
|
15
|
+
target: z.ZodObject<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
}, z.core.$strict>], "kind">;
|
|
20
|
+
filters: z.ZodArray<z.ZodObject<{
|
|
21
|
+
id: z.ZodString;
|
|
22
|
+
labels: z.ZodArray<z.ZodString>;
|
|
23
|
+
}, z.core.$strict>>;
|
|
24
|
+
mappings: z.ZodArray<z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
from: z.ZodString;
|
|
27
|
+
to: z.ZodString;
|
|
28
|
+
}, z.core.$strict>>;
|
|
29
|
+
choices: z.ZodObject<{
|
|
30
|
+
tags: z.ZodEnum<{
|
|
31
|
+
keep: "keep";
|
|
32
|
+
replace: "replace";
|
|
33
|
+
review: "review";
|
|
34
|
+
}>;
|
|
35
|
+
filters: z.ZodEnum<{
|
|
36
|
+
keep: "keep";
|
|
37
|
+
replace: "replace";
|
|
38
|
+
review: "review";
|
|
39
|
+
}>;
|
|
40
|
+
mappings: z.ZodEnum<{
|
|
41
|
+
keep: "keep";
|
|
42
|
+
replace: "replace";
|
|
43
|
+
review: "review";
|
|
44
|
+
}>;
|
|
45
|
+
}, z.core.$strict>;
|
|
46
|
+
}, z.core.$strict>;
|
|
47
|
+
declare const catalogSchema: z.ZodObject<{
|
|
48
|
+
complete: z.ZodLiteral<true>;
|
|
49
|
+
labels: z.ZodArray<z.ZodObject<{
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
name: z.ZodString;
|
|
52
|
+
}, z.core.$strict>>;
|
|
53
|
+
}, z.core.$strict>;
|
|
54
|
+
declare const reportSchema: z.ZodObject<{
|
|
55
|
+
ok: z.ZodLiteral<true>;
|
|
56
|
+
repo: z.ZodString;
|
|
57
|
+
approval: z.ZodString;
|
|
58
|
+
checked: z.ZodBoolean;
|
|
59
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
60
|
+
id: z.ZodString;
|
|
61
|
+
name: z.ZodString;
|
|
62
|
+
}, z.core.$strict>>;
|
|
63
|
+
destination: z.ZodObject<{
|
|
64
|
+
id: z.ZodString;
|
|
65
|
+
name: z.ZodString;
|
|
66
|
+
}, z.core.$strict>;
|
|
67
|
+
counts: z.ZodObject<{
|
|
68
|
+
scanned: z.ZodNumber;
|
|
69
|
+
items: z.ZodNumber;
|
|
70
|
+
tags: z.ZodNumber;
|
|
71
|
+
filters: z.ZodNumber;
|
|
72
|
+
mappings: z.ZodNumber;
|
|
73
|
+
review: z.ZodNumber;
|
|
74
|
+
total: z.ZodNumber;
|
|
75
|
+
}, z.core.$strict>;
|
|
76
|
+
offset: z.ZodNumber;
|
|
77
|
+
next: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
78
|
+
rows: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
79
|
+
id: z.ZodString;
|
|
80
|
+
source: z.ZodString;
|
|
81
|
+
before: z.ZodString;
|
|
82
|
+
after: z.ZodString;
|
|
83
|
+
choice: z.ZodEnum<{
|
|
84
|
+
keep: "keep";
|
|
85
|
+
replace: "replace";
|
|
86
|
+
review: "review";
|
|
87
|
+
}>;
|
|
88
|
+
evidence: z.ZodEnum<{
|
|
89
|
+
declared_policy: "declared_policy";
|
|
90
|
+
unverified_name: "unverified_name";
|
|
91
|
+
}>;
|
|
92
|
+
identities: z.ZodArray<z.ZodString>;
|
|
93
|
+
identities_omitted: z.ZodNumber;
|
|
94
|
+
kind: z.ZodLiteral<"tags">;
|
|
95
|
+
local_tag: z.ZodString;
|
|
96
|
+
after_tags: z.ZodArray<z.ZodString>;
|
|
97
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
98
|
+
id: z.ZodString;
|
|
99
|
+
source: z.ZodString;
|
|
100
|
+
before: z.ZodString;
|
|
101
|
+
after: z.ZodString;
|
|
102
|
+
choice: z.ZodEnum<{
|
|
103
|
+
keep: "keep";
|
|
104
|
+
replace: "replace";
|
|
105
|
+
review: "review";
|
|
106
|
+
}>;
|
|
107
|
+
evidence: z.ZodEnum<{
|
|
108
|
+
declared_policy: "declared_policy";
|
|
109
|
+
unverified_name: "unverified_name";
|
|
110
|
+
}>;
|
|
111
|
+
identities: z.ZodArray<z.ZodString>;
|
|
112
|
+
identities_omitted: z.ZodNumber;
|
|
113
|
+
kind: z.ZodLiteral<"filters">;
|
|
114
|
+
local_tag: z.ZodDefault<z.ZodNull>;
|
|
115
|
+
after_tags: z.ZodDefault<z.ZodNull>;
|
|
116
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
117
|
+
id: z.ZodString;
|
|
118
|
+
source: z.ZodString;
|
|
119
|
+
before: z.ZodString;
|
|
120
|
+
after: z.ZodString;
|
|
121
|
+
choice: z.ZodEnum<{
|
|
122
|
+
keep: "keep";
|
|
123
|
+
replace: "replace";
|
|
124
|
+
review: "review";
|
|
125
|
+
}>;
|
|
126
|
+
evidence: z.ZodEnum<{
|
|
127
|
+
declared_policy: "declared_policy";
|
|
128
|
+
unverified_name: "unverified_name";
|
|
129
|
+
}>;
|
|
130
|
+
identities: z.ZodArray<z.ZodString>;
|
|
131
|
+
identities_omitted: z.ZodNumber;
|
|
132
|
+
kind: z.ZodLiteral<"mappings">;
|
|
133
|
+
local_tag: z.ZodString;
|
|
134
|
+
after_tags: z.ZodDefault<z.ZodNull>;
|
|
135
|
+
}, z.core.$strict>], "kind">>>;
|
|
136
|
+
}, z.core.$strict>;
|
|
137
|
+
/** Explicit source IDs and expected names; filters and mappings are caller-declared policy inventories. */
|
|
138
|
+
export type GithubLabelMigrationInput = z.infer<typeof requestSchema>;
|
|
139
|
+
/** A complete, repository-scoped provider catalog; IDs are GitHub node_id values. */
|
|
140
|
+
export type GithubLabelCatalog = z.infer<typeof catalogSchema>;
|
|
141
|
+
/** Adapters must return a fresh complete catalog, or throw; no persistent cache is maintained. */
|
|
142
|
+
export type GithubLabelCatalogReader = (repo: string) => Promise<unknown>;
|
|
143
|
+
/** Compact output carries complete counts and bounded rows; approval is independent of pagination. */
|
|
144
|
+
export type GithubLabelMigrationReport = z.infer<typeof reportSchema>;
|
|
145
|
+
/** Parse producers and consumers with exactly the same strict contract. */
|
|
146
|
+
export declare function validateGithubLabelMigrationReport(value: unknown): GithubLabelMigrationReport;
|
|
147
|
+
/** Drain every provider page with the existing authenticated HTTP client and constrained pagination. */
|
|
148
|
+
export declare function readGithubLabelCatalog(repo: string): Promise<GithubLabelCatalog>;
|
|
149
|
+
/** Read bounded JSON using a descriptor, refusing linked/special files before consuming bytes. */
|
|
150
|
+
export declare function readLabelMigrationJson(file: string): unknown;
|
|
151
|
+
/** Preview or revalidate a plan through complete isolated SDK reads, without creating a journal or writing targets. */
|
|
152
|
+
export declare function planGithubLabelMigration(pmRoot: string, input: GithubLabelMigrationInput, options?: {
|
|
153
|
+
page?: {
|
|
154
|
+
limit?: number;
|
|
155
|
+
offset?: number;
|
|
156
|
+
};
|
|
157
|
+
approval?: string;
|
|
158
|
+
readCatalog?: GithubLabelCatalogReader;
|
|
159
|
+
}): Promise<GithubLabelMigrationReport>;
|
|
160
|
+
export {};
|
|
161
|
+
//# sourceMappingURL=labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../labels.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,6EAA6E;AAC7E,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,qBAAqB,GAAG,cAAc,GAAG,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAa9K,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUjB,CAAC;AACH,QAAA,MAAM,aAAa;;;;;;kBAAmF,CAAC;AAWvG,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGqF,CAAC;AAmBxG,2GAA2G;AAC3G,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACtE,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC/D,kGAAkG;AAClG,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1E,sGAAsG;AACtG,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtE,2EAA2E;AAC3E,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAa7F;AAWD,wGAAwG;AACxG,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwBtF;AAED,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY5D;AAED,uHAAuH;AACvH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAC7F,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,wBAAwB,CAAA;CAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAgE9J"}
|
package/dist/labels.js
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/** Read-only label policy plans. Provider identities never follow display-name inference. */
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { openSync, closeSync, fstatSync, readSync, constants } from "node:fs";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { createPmCliExpectedError, decodePmTableRows, toImportTags } from "@unbrained/pm-cli/sdk";
|
|
6
|
+
import { readRefreshItems } from "./refresh.js";
|
|
7
|
+
import { githubLabelNameKey } from "./label-names.js";
|
|
8
|
+
import { githubLabelsToTags } from "./import-tags.js";
|
|
9
|
+
import { ownValue } from "./own-record.js";
|
|
10
|
+
import { fetchJSON, githubApiBase, parseNextLink, parseProvenanceTag, resolveGitHubToken } from "./index.js";
|
|
11
|
+
/** Fail without echoing source documents, provider payloads or local paths. */
|
|
12
|
+
function refuse(code, remedy) {
|
|
13
|
+
throw createPmCliExpectedError(`GitHub label migration: ${code}. ${remedy}`, { exitCode: 2, context: { code, required: remedy } });
|
|
14
|
+
}
|
|
15
|
+
/** Bound raw names and SDK-produced tags; Unicode lowercase can expand a raw name. */
|
|
16
|
+
function boundedAtom(maximum) { return z.string().min(1).max(maximum).regex(/^[^\r\n\u0000]+$/).refine(value => value.trim().length > 0); }
|
|
17
|
+
const atom = boundedAtom(200);
|
|
18
|
+
const nativeTag = boundedAtom(600);
|
|
19
|
+
const count = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER);
|
|
20
|
+
const label = z.strictObject({ id: atom, name: atom });
|
|
21
|
+
const choice = z.enum(["review", "keep", "replace"]);
|
|
22
|
+
const requestSchema = z.strictObject({
|
|
23
|
+
repo: z.string().regex(/^[A-Za-z0-9_.-]{1,100}\/[A-Za-z0-9_.-]{1,100}$/),
|
|
24
|
+
sources: z.array(label).min(1).max(20),
|
|
25
|
+
change: z.discriminatedUnion("kind", [
|
|
26
|
+
z.strictObject({ kind: z.literal("rename"), name: atom }),
|
|
27
|
+
z.strictObject({ kind: z.literal("consolidate"), target: label }),
|
|
28
|
+
]),
|
|
29
|
+
filters: z.array(z.strictObject({ id: atom, labels: z.array(atom).max(100) })).max(1000),
|
|
30
|
+
mappings: z.array(z.strictObject({ id: atom, from: atom, to: atom })).max(1000),
|
|
31
|
+
choices: z.strictObject({ tags: choice, filters: choice, mappings: choice }),
|
|
32
|
+
});
|
|
33
|
+
const catalogSchema = z.strictObject({ complete: z.literal(true), labels: z.array(label).max(10000) });
|
|
34
|
+
const pageSchema = z.strictObject({ limit: z.number().int().min(1).max(100).default(20), offset: count.default(0) });
|
|
35
|
+
const boundarySchema = z.strictObject({ request: requestSchema, page: pageSchema,
|
|
36
|
+
approval: z.string().regex(/^[a-f0-9]{64}$/).optional() });
|
|
37
|
+
const rowFields = { id: atom, source: atom, before: nativeTag, after: atom, choice,
|
|
38
|
+
evidence: z.enum(["unverified_name", "declared_policy"]), identities: z.array(z.string().min(1).max(240)).max(100), identities_omitted: count };
|
|
39
|
+
const rowSchema = z.discriminatedUnion("kind", [
|
|
40
|
+
z.strictObject({ ...rowFields, kind: z.literal("tags"), local_tag: nativeTag, after_tags: z.array(nativeTag).max(200) }),
|
|
41
|
+
z.strictObject({ ...rowFields, kind: z.literal("filters"), local_tag: z.null().default(null), after_tags: z.null().default(null) }),
|
|
42
|
+
z.strictObject({ ...rowFields, kind: z.literal("mappings"), local_tag: nativeTag, after_tags: z.null().default(null) }),
|
|
43
|
+
]);
|
|
44
|
+
const reportSchema = z.strictObject({ ok: z.literal(true), repo: requestSchema.shape.repo, approval: z.string().regex(/^[a-f0-9]{64}$/),
|
|
45
|
+
checked: z.boolean(), sources: z.array(label).max(20), destination: label,
|
|
46
|
+
counts: z.strictObject({ scanned: count, items: count, tags: count, filters: count, mappings: count, review: count, total: count }),
|
|
47
|
+
offset: count, next: count.nullable().default(null), rows: z.array(rowSchema).max(100).default([]) });
|
|
48
|
+
const rowKeys = z.enum([...new Set(rowSchema.options.flatMap(schema => Object.keys(schema.shape)))]);
|
|
49
|
+
const tableReportSchema = reportSchema.omit({ rows: true }).extend({
|
|
50
|
+
rows: z.array(z.record(z.string().refine(key => rowKeys.options.includes(key)), z.union([z.string().max(131072), count, z.boolean(), z.null()]))).max(100),
|
|
51
|
+
rows_encoding: z.strictObject({ json_columns: z.array(rowKeys).max(rowKeys.options.length),
|
|
52
|
+
absent: z.array(z.tuple([z.number().int().min(0).max(99), rowKeys])).max(100 * rowKeys.options.length) }),
|
|
53
|
+
}).refine(value => new Set(value.rows_encoding.json_columns).size === value.rows_encoding.json_columns.length &&
|
|
54
|
+
new Set(value.rows_encoding.absent.map(coordinate => JSON.stringify(coordinate))).size === value.rows_encoding.absent.length &&
|
|
55
|
+
value.rows_encoding.absent.every(([index, key]) => index < value.rows.length && ownValue(value.rows[index], key) === null));
|
|
56
|
+
const reportBoundarySchema = z.union([reportSchema, tableReportSchema.transform((table, context) => {
|
|
57
|
+
const { rows_encoding, rows, ...report } = table;
|
|
58
|
+
try {
|
|
59
|
+
const parsed = reportSchema.safeParse({ ...report, rows: decodePmTableRows({ rows, encoding: rows_encoding }) });
|
|
60
|
+
if (parsed.success)
|
|
61
|
+
return parsed.data;
|
|
62
|
+
}
|
|
63
|
+
catch { /* Malformed SDK table cells are a refused report, never a leaked payload or stack. */ }
|
|
64
|
+
context.addIssue({ code: "custom", message: "Invalid encoded report rows" });
|
|
65
|
+
return z.NEVER;
|
|
66
|
+
})]);
|
|
67
|
+
/** Parse producers and consumers with exactly the same strict contract. */
|
|
68
|
+
export function validateGithubLabelMigrationReport(value) {
|
|
69
|
+
const result = reportBoundarySchema.safeParse(value);
|
|
70
|
+
if (!result.success)
|
|
71
|
+
refuse("invalid_output", "Discard this report and regenerate it with a supported package version.");
|
|
72
|
+
const report = result.data;
|
|
73
|
+
const c = report.counts;
|
|
74
|
+
const end = BigInt(report.offset) + BigInt(report.rows.length);
|
|
75
|
+
const expectedNext = end < BigInt(c.total) ? Number(end) : null;
|
|
76
|
+
if (BigInt(c.total) !== BigInt(c.tags) + BigInt(c.filters) + BigInt(c.mappings) || c.items > c.scanned || c.review > c.total ||
|
|
77
|
+
end > BigInt(c.total) && report.rows.length > 0 || report.next !== expectedNext ||
|
|
78
|
+
report.next !== null && report.rows.length === 0) {
|
|
79
|
+
refuse("invalid_output", "Regenerate a report with consistent complete counts and continuation.");
|
|
80
|
+
}
|
|
81
|
+
return report;
|
|
82
|
+
}
|
|
83
|
+
/** Hash complete evidence rather than displayed pages; revisions prevent content-only replay approvals. */
|
|
84
|
+
function digest(value) { return createHash("sha256").update(JSON.stringify(value)).digest("hex"); }
|
|
85
|
+
/** Canonical order is bytewise and independent of the host's locale. */
|
|
86
|
+
function order(a, b) { return a < b ? -1 : a > b ? 1 : 0; }
|
|
87
|
+
/** Refuse duplicate identities instead of silently collapsing user policy or provider labels. */
|
|
88
|
+
function unique(ids) {
|
|
89
|
+
if (new Set(ids).size !== ids.length)
|
|
90
|
+
refuse("invalid_input", "Use distinct source, catalog, filter and mapping IDs; remove duplicate identities.");
|
|
91
|
+
}
|
|
92
|
+
/** Drain every provider page with the existing authenticated HTTP client and constrained pagination. */
|
|
93
|
+
export async function readGithubLabelCatalog(repo) {
|
|
94
|
+
if (!requestSchema.shape.repo.safeParse(repo).success)
|
|
95
|
+
refuse("invalid_input", "Supply an explicit owner/repo.");
|
|
96
|
+
const base = `${githubApiBase()}/repos/${repo}/labels`;
|
|
97
|
+
let next = `${base}?per_page=100`;
|
|
98
|
+
const seen = new Set();
|
|
99
|
+
const labels = [];
|
|
100
|
+
try {
|
|
101
|
+
while (next) {
|
|
102
|
+
const url = new URL(next);
|
|
103
|
+
if (url.origin !== new URL(base).origin || url.pathname !== new URL(base).pathname || seen.has(next) || seen.size >= 100)
|
|
104
|
+
throw new Error("incomplete pagination");
|
|
105
|
+
seen.add(next);
|
|
106
|
+
const response = await fetchJSON(next, resolveGitHubToken());
|
|
107
|
+
const page = JSON.parse(response.body);
|
|
108
|
+
if (!Array.isArray(page) || page.length > 100)
|
|
109
|
+
throw new Error("invalid label page");
|
|
110
|
+
for (const entry of page) {
|
|
111
|
+
const node = entry;
|
|
112
|
+
labels.push({ id: node?.node_id, name: node?.name });
|
|
113
|
+
}
|
|
114
|
+
next = parseNextLink(response.linkHeader);
|
|
115
|
+
}
|
|
116
|
+
const catalog = catalogSchema.parse({ complete: true, labels });
|
|
117
|
+
unique(catalog.labels.map(entry => entry.id));
|
|
118
|
+
return catalog;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
refuse("catalog_unavailable", "Restore read access to the complete repository label catalog and retry; partial catalogs cannot authorize a plan.");
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** Read bounded JSON using a descriptor, refusing linked/special files before consuming bytes. */
|
|
125
|
+
export function readLabelMigrationJson(file) {
|
|
126
|
+
try {
|
|
127
|
+
const descriptor = openSync(file, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
|
|
128
|
+
try {
|
|
129
|
+
const stat = fstatSync(descriptor);
|
|
130
|
+
if (!stat.isFile())
|
|
131
|
+
throw new Error("special input");
|
|
132
|
+
const buffer = Buffer.alloc(1048577);
|
|
133
|
+
const size = readSync(descriptor, buffer, 0, buffer.length, 0);
|
|
134
|
+
if (size > 1048576)
|
|
135
|
+
throw new Error("unbounded input");
|
|
136
|
+
return JSON.parse(buffer.subarray(0, size).toString("utf8"));
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
closeSync(descriptor);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
refuse("invalid_input", "Supply a regular JSON file of at most 1 MiB with the documented label migration contract.");
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/** Preview or revalidate a plan through complete isolated SDK reads, without creating a journal or writing targets. */
|
|
147
|
+
export async function planGithubLabelMigration(pmRoot, input, options = {}) {
|
|
148
|
+
const parsed = boundarySchema.safeParse({ request: input, page: options.page ?? {}, approval: options.approval });
|
|
149
|
+
if (!parsed.success)
|
|
150
|
+
refuse("invalid_input", "Use the strict contract with dense bounded arrays, exact IDs/names, explicit choices, limit 1..100, a safe offset and full approval digest.");
|
|
151
|
+
const { request, page, approval } = parsed.data;
|
|
152
|
+
let catalog;
|
|
153
|
+
try {
|
|
154
|
+
catalog = await (options.readCatalog ?? readGithubLabelCatalog)(request.repo);
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
refuse("catalog_unavailable", "Fetch a fresh complete label catalog with repository read access, then retry.");
|
|
158
|
+
}
|
|
159
|
+
const catalogResult = catalogSchema.safeParse(catalog);
|
|
160
|
+
if (!catalogResult.success)
|
|
161
|
+
refuse("invalid_input", "Supply the strict complete catalog shape with dense bounded label records.");
|
|
162
|
+
const labels = catalogResult.data.labels.sort((a, b) => order(a.id, b.id));
|
|
163
|
+
for (const entries of [request.sources, labels, request.filters, request.mappings])
|
|
164
|
+
unique(entries.map(entry => entry.id));
|
|
165
|
+
const selected = request.change.kind === "rename" ? request.sources : [...request.sources, request.change.target];
|
|
166
|
+
for (const source of selected)
|
|
167
|
+
if (!labels.some(current => current.id === source.id && current.name === source.name)) {
|
|
168
|
+
refuse("stale_labels", "A selected label ID or expected name changed. Fetch the current catalog, choose exact identities and preview again.");
|
|
169
|
+
}
|
|
170
|
+
const destination = request.change.kind === "rename" ? { id: request.sources[0].id, name: request.change.name } : request.change.target;
|
|
171
|
+
if (request.change.kind === "rename" && (request.sources.length !== 1 || labels.some(current => current.id !== destination.id && githubLabelNameKey(current.name) === githubLabelNameKey(destination.name))) ||
|
|
172
|
+
request.change.kind === "consolidate" && request.sources.some(source => source.id === destination.id)) {
|
|
173
|
+
refuse("invalid_input", "Rename exactly one ID to an unused name, or explicitly consolidate distinct source IDs into a separate target ID.");
|
|
174
|
+
}
|
|
175
|
+
let items;
|
|
176
|
+
try {
|
|
177
|
+
items = await readRefreshItems(pmRoot);
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
refuse("incomplete_read", "Restore a complete readable tracker copy; omitted or corrupt items cannot produce safe counts.");
|
|
181
|
+
}
|
|
182
|
+
items.sort((a, b) => order(a.id, b.id));
|
|
183
|
+
const rows = [];
|
|
184
|
+
const counts = { scanned: items.length, items: 0, tags: 0, filters: 0, mappings: 0, review: 0, total: 0 };
|
|
185
|
+
const sourceTags = request.sources.map(source => ({ source, tags: githubLabelsToTags([source.name]) }));
|
|
186
|
+
const destinationTags = githubLabelsToTags([destination.name]);
|
|
187
|
+
/** Count every occurrence while retaining only the requested bounded page. */
|
|
188
|
+
function add(row) {
|
|
189
|
+
counts[row.kind]++;
|
|
190
|
+
if (row.choice === "review")
|
|
191
|
+
counts.review++;
|
|
192
|
+
if (counts.total >= page.offset && rows.length < page.limit)
|
|
193
|
+
rows.push(row);
|
|
194
|
+
counts.total++;
|
|
195
|
+
}
|
|
196
|
+
for (const item of items) {
|
|
197
|
+
let affected = false;
|
|
198
|
+
const identities = [...new Set(item.tags.filter(tag => {
|
|
199
|
+
const parsed = parseProvenanceTag(tag);
|
|
200
|
+
return parsed?.repo === request.repo.toLowerCase() && Number.isSafeInteger(parsed.number) && parsed.number > 0 && tag.length <= 240;
|
|
201
|
+
}))].sort(order);
|
|
202
|
+
const localTags = new Set(toImportTags(item.tags));
|
|
203
|
+
for (const { source, tags } of sourceTags)
|
|
204
|
+
for (const tag of tags)
|
|
205
|
+
if (localTags.has(tag)) {
|
|
206
|
+
affected = true;
|
|
207
|
+
add({ kind: "tags", id: item.id, source: source.id, before: tag, after: destination.name, after_tags: destinationTags, local_tag: tag, choice: request.choices.tags,
|
|
208
|
+
evidence: "unverified_name", identities: identities.slice(0, 100), identities_omitted: Math.max(0, identities.length - 100) });
|
|
209
|
+
}
|
|
210
|
+
if (affected)
|
|
211
|
+
counts.items++;
|
|
212
|
+
}
|
|
213
|
+
for (const filter of request.filters)
|
|
214
|
+
for (const source of request.sources) {
|
|
215
|
+
const before = filter.labels.find(name => githubLabelNameKey(name) === githubLabelNameKey(source.name));
|
|
216
|
+
if (before !== undefined)
|
|
217
|
+
add({ kind: "filters", id: filter.id, source: source.id, before, after: destination.name,
|
|
218
|
+
after_tags: null, local_tag: null, choice: request.choices.filters, evidence: "declared_policy", identities: [], identities_omitted: 0 });
|
|
219
|
+
}
|
|
220
|
+
for (const mapping of request.mappings)
|
|
221
|
+
for (const source of request.sources)
|
|
222
|
+
if (githubLabelNameKey(mapping.to) === githubLabelNameKey(source.name)) {
|
|
223
|
+
add({ kind: "mappings", id: mapping.id, source: source.id, before: mapping.to, after: destination.name,
|
|
224
|
+
after_tags: null, local_tag: mapping.from, choice: request.choices.mappings, evidence: "declared_policy", identities: [], identities_omitted: 0 });
|
|
225
|
+
}
|
|
226
|
+
const current = digest({ request, labels, revisions: items.map(item => [item.id, item.updated_at, item.tags]) });
|
|
227
|
+
if (approval !== undefined && approval !== current)
|
|
228
|
+
refuse("stale_plan", "Provider labels, policy or tracker revisions changed. Preview and review the new plan; never replay the saved plan.");
|
|
229
|
+
if (approval !== undefined && counts.review > 0)
|
|
230
|
+
refuse("unresolved_choices", "Resolve every affected policy choice to keep or replace, then preview and check its new approval.");
|
|
231
|
+
return validateGithubLabelMigrationReport({ ok: true, repo: request.repo, approval: current, checked: approval !== undefined,
|
|
232
|
+
sources: request.sources, destination, counts, offset: page.offset,
|
|
233
|
+
next: BigInt(page.offset) + BigInt(rows.length) < BigInt(counts.total) ? page.offset + rows.length : null, rows });
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../labels.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAI7G,+EAA+E;AAC/E,SAAS,MAAM,CAAC,IAA+B,EAAE,MAAc;IAC7D,MAAM,wBAAwB,CAAC,2BAA2B,IAAI,KAAK,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACrI,CAAC;AAED,sFAAsF;AACtF,SAAS,WAAW,CAAC,OAAe,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnJ,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AACnC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACnE,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACrD,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gDAAgD,CAAC;IACxE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KAClE,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;CAC7E,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACvG,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrH,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU;IAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7D,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;IAChF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAClJ,MAAM,SAAS,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC7C,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IACxH,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACnI,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;CACxH,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACrI,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK;IACzE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnI,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACxG,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1J,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACxF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5G,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM;IAC3G,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM;IAC5H,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAC9H,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACjG,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YACjH,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC,CAAC,sFAAsF,CAAC,CAAC;QAClG,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC,CAAC,CAAC;AAWL,2EAA2E;AAC3E,MAAM,UAAU,kCAAkC,CAAC,KAAc;IAC/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,gBAAgB,EAAE,yEAAyE,CAAC,CAAC;IACzH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK;QAC1H,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;QAC/E,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,gBAAgB,EAAE,uEAAuE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2GAA2G;AAC3G,SAAS,MAAM,CAAC,KAAc,IAAY,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpH,wEAAwE;AACxE,SAAS,KAAK,CAAC,CAAS,EAAE,CAAS,IAAY,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,iGAAiG;AACjG,SAAS,MAAM,CAAC,GAAa;IAC3B,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM;QAAE,MAAM,CAAC,eAAe,EAAE,oFAAoF,CAAC,CAAC;AACtJ,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,GAAG,aAAa,EAAE,UAAU,IAAI,SAAS,CAAC;IACvD,IAAI,IAAI,GAAuB,GAAG,IAAI,eAAe,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACnK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACrF,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,KAAqD,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,CAAC,qBAAqB,EAAE,mHAAmH,CAAC,CAAC;IAAC,CAAC;AACjK,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACpG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,IAAI,GAAG,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAC;QAC1E,CAAC;gBAAS,CAAC;YAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,CAAC,eAAe,EAAE,2FAA2F,CAAC,CAAC;IAAC,CAAC;AACnI,CAAC;AAED,uHAAuH;AACvH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAc,EAAE,KAAgC,EAC7F,OAAO,GAA8G,EAAE;IACvH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClH,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,eAAe,EAAE,6IAA6I,CAAC,CAAC;IAC5L,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAChD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IACtF,MAAM,CAAC;QAAC,MAAM,CAAC,qBAAqB,EAAE,+EAA+E,CAAC,CAAC;IAAC,CAAC;IACzH,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,OAAO;QAAE,MAAM,CAAC,eAAe,EAAE,4EAA4E,CAAC,CAAC;IAClI,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3H,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClH,KAAK,MAAM,MAAM,IAAI,QAAQ;QAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrH,MAAM,CAAC,cAAc,EAAE,qHAAqH,CAAC,CAAC;QAChJ,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACzI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1M,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACxG,MAAM,CAAC,eAAe,EAAE,mHAAmH,CAAC,CAAC;IAC/I,CAAC;IACD,IAAI,KAAmD,CAAC;IACxD,IAAI,CAAC;QAAC,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAC/C,MAAM,CAAC;QAAC,MAAM,CAAC,iBAAiB,EAAE,gGAAgG,CAAC,CAAC;IAAC,CAAC;IACtI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAG,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAuC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC1G,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,8EAA8E;IAC9E,SAAS,GAAG,CAAC,GAA+C;QAC1D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACvC,OAAO,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;YACtI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,UAAU;YAAE,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1F,QAAQ,GAAG,IAAI,CAAC;oBAChB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;wBAClK,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnI,CAAC;QACD,IAAI,QAAQ;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACxG,IAAI,MAAM,KAAK,SAAS;gBAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI;oBAChH,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9I,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ;QAAE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrJ,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI;oBACpG,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;YACvJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACjH,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO;QAAE,MAAM,CAAC,YAAY,EAAE,qHAAqH,CAAC,CAAC;IAChM,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,oBAAoB,EAAE,mGAAmG,CAAC,CAAC;IACnL,OAAO,kCAAkC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,KAAK,SAAS;QAC1H,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;QAClE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACvH,CAAC"}
|