instar 1.3.997 → 1.3.999
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/core/CapabilityMapper.d.ts +86 -0
- package/dist/core/CapabilityMapper.d.ts.map +1 -1
- package/dist/core/CapabilityMapper.js +129 -12
- package/dist/core/CapabilityMapper.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.998.md +63 -0
- package/upgrades/1.3.999.md +86 -0
- package/upgrades/side-effects/builtin-manifest-path.md +93 -0
- package/upgrades/side-effects/rearm-parked-tests.md +73 -0
|
@@ -54,6 +54,13 @@ export interface CapabilityMap {
|
|
|
54
54
|
agentEvolved: number;
|
|
55
55
|
userConfigured: number;
|
|
56
56
|
unmapped: number;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the builtin manifest — the source of `instarProvided` provenance — was
|
|
59
|
+
* actually readable. When this is not `loaded`, a low `instarProvided` count means
|
|
60
|
+
* the provenance data is MISSING, not that the agent lacks builtin capabilities.
|
|
61
|
+
* Reported so an absent manifest can never be read as a finding about the agent.
|
|
62
|
+
*/
|
|
63
|
+
builtinManifest: 'loaded' | 'not-found' | 'unreadable';
|
|
57
64
|
};
|
|
58
65
|
domains: CapabilityDomain[];
|
|
59
66
|
_links: {
|
|
@@ -107,6 +114,48 @@ export interface DriftReport {
|
|
|
107
114
|
impact: string;
|
|
108
115
|
}>;
|
|
109
116
|
}
|
|
117
|
+
/** Outcome of a builtin-manifest load — see loadBuiltinManifestFrom(). */
|
|
118
|
+
export interface BuiltinManifestLoad {
|
|
119
|
+
entries: Record<string, BuiltinManifestEntry>;
|
|
120
|
+
state: 'loaded' | 'not-found' | 'unreadable';
|
|
121
|
+
path: string | null;
|
|
122
|
+
error: string | null;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Candidate locations for the generated builtin manifest, in resolution order, relative
|
|
126
|
+
* to the directory of the module doing the reading.
|
|
127
|
+
*
|
|
128
|
+
* WHY A LIST AND NOT ONE PATH. The manifest is generated by
|
|
129
|
+
* scripts/generate-builtin-manifest.cjs into `src/data/`, and package.json's `files`
|
|
130
|
+
* ships `src/data` — so the data IS published. But the reader resolved
|
|
131
|
+
* `__dirname/../data`, which is `src/data` in a SOURCE checkout and `dist/data` in a
|
|
132
|
+
* COMPILED install. `dist/data` does not exist: tsc does not copy .json, and nothing else
|
|
133
|
+
* writes it. Verified in a real install — dist/data/builtin-manifest.json ABSENT,
|
|
134
|
+
* src/data/builtin-manifest.json PRESENT (62,717 bytes).
|
|
135
|
+
*
|
|
136
|
+
* So the old path worked in every source checkout (hence every test) and failed in every
|
|
137
|
+
* deployed agent. Both layouts are enumerated rather than picking one, because a build
|
|
138
|
+
* step that copies the file into dist/ is a step that can be skipped — and this read must
|
|
139
|
+
* not depend on it.
|
|
140
|
+
*
|
|
141
|
+
* EXPORTED, and parameterised by `moduleDir`, so tests exercise THIS function rather than
|
|
142
|
+
* a copy of its logic. A test that reimplements the resolution it is checking cannot fail
|
|
143
|
+
* when the resolution changes — which is precisely the class of blindness this bug is
|
|
144
|
+
* made of.
|
|
145
|
+
*/
|
|
146
|
+
export declare function builtinManifestCandidates(moduleDir: string): string[];
|
|
147
|
+
/**
|
|
148
|
+
* Load the builtin manifest, reporting WHICH of the three outcomes occurred.
|
|
149
|
+
*
|
|
150
|
+
* The previous implementation returned a bare `{}` for all three — found-and-empty,
|
|
151
|
+
* not-found, and unparseable alike — so a deployed agent reporting zero builtin
|
|
152
|
+
* capabilities was indistinguishable from an agent that genuinely has none. That is the
|
|
153
|
+
* same shape as `catch { return []; }`: an absence rendered as a confident answer.
|
|
154
|
+
*
|
|
155
|
+
* This stays a SIGNAL: a missing manifest still yields an empty entry set and the map
|
|
156
|
+
* still builds. Nothing here throws in production.
|
|
157
|
+
*/
|
|
158
|
+
export declare function loadBuiltinManifestFrom(moduleDir: string): BuiltinManifestLoad;
|
|
110
159
|
export interface BuiltinManifestEntry {
|
|
111
160
|
id: string;
|
|
112
161
|
type: string;
|
|
@@ -128,11 +177,19 @@ export interface CapabilityMapperConfig {
|
|
|
128
177
|
export declare class CapabilityMapper {
|
|
129
178
|
private config;
|
|
130
179
|
private builtinManifest;
|
|
180
|
+
/** How the builtin manifest load actually went — see loadBuiltinManifest(). */
|
|
181
|
+
private builtinManifestState;
|
|
131
182
|
private integrity;
|
|
132
183
|
private isRefreshing;
|
|
133
184
|
private lastMap;
|
|
134
185
|
private lastRefreshTime;
|
|
135
186
|
constructor(config: CapabilityMapperConfig);
|
|
187
|
+
/**
|
|
188
|
+
* Whether the builtin manifest actually loaded, for callers that must not read an
|
|
189
|
+
* empty capability set as a finding. `not-found`/`unreadable` mean the provenance
|
|
190
|
+
* data is MISSING, not that the agent has no builtin capabilities.
|
|
191
|
+
*/
|
|
192
|
+
getBuiltinManifestState(): 'loaded' | 'not-found' | 'unreadable';
|
|
136
193
|
/**
|
|
137
194
|
* Perform a full scan and return the capability map.
|
|
138
195
|
* Persists the manifest with HMAC signing.
|
|
@@ -178,6 +235,35 @@ export declare class CapabilityMapper {
|
|
|
178
235
|
private get manifestPath();
|
|
179
236
|
private persistManifest;
|
|
180
237
|
private loadPersistedManifest;
|
|
238
|
+
/**
|
|
239
|
+
* Candidate locations for the generated builtin manifest, in resolution order.
|
|
240
|
+
*
|
|
241
|
+
* WHY A LIST AND NOT ONE PATH. The manifest is generated by
|
|
242
|
+
* scripts/generate-builtin-manifest.cjs into `src/data/`, and package.json's `files`
|
|
243
|
+
* ships `src/data` — so the data IS published. But the reader resolved
|
|
244
|
+
* `__dirname/../data`, which is `src/data` in a SOURCE checkout and `dist/data` in a
|
|
245
|
+
* COMPILED install. `dist/data` does not exist: tsc does not copy .json, and nothing
|
|
246
|
+
* else writes it. Verified in a real install — dist/data/builtin-manifest.json ABSENT,
|
|
247
|
+
* src/data/builtin-manifest.json PRESENT (62,717 bytes).
|
|
248
|
+
*
|
|
249
|
+
* So the old path worked in every source checkout (hence every test) and failed in
|
|
250
|
+
* every deployed agent. Both layouts are enumerated here rather than picking one,
|
|
251
|
+
* because a build step that copies the file into dist/ is a step that can be skipped —
|
|
252
|
+
* and this read must not depend on it.
|
|
253
|
+
*/
|
|
254
|
+
private builtinManifestCandidates;
|
|
255
|
+
/**
|
|
256
|
+
* Load the builtin manifest, reporting WHICH of the three outcomes occurred.
|
|
257
|
+
*
|
|
258
|
+
* The previous implementation returned a bare `{}` for all three — found-and-empty,
|
|
259
|
+
* not-found, and unparseable — so a deployed agent reporting zero builtin capabilities
|
|
260
|
+
* was indistinguishable from an agent that genuinely has none. That is the same shape
|
|
261
|
+
* as `catch { return []; }`: an absence rendered as a confident answer. The state is
|
|
262
|
+
* returned alongside the entries so a caller can tell the difference.
|
|
263
|
+
*
|
|
264
|
+
* This stays a SIGNAL: a missing manifest still yields an empty entry set and the map
|
|
265
|
+
* still builds. Nothing here throws in production.
|
|
266
|
+
*/
|
|
181
267
|
private loadBuiltinManifest;
|
|
182
268
|
private loadEvolutionProposals;
|
|
183
269
|
private hashContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityMapper.d.ts","sourceRoot":"","sources":["../../src/core/CapabilityMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,OAAO,GACP,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,WAAW,GACX,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC7F,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"CapabilityMapper.d.ts","sourceRoot":"","sources":["../../src/core/CapabilityMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,89 @@ import * as path from 'path';
|
|
|
18
18
|
import * as crypto from 'crypto';
|
|
19
19
|
import { fileURLToPath } from 'node:url';
|
|
20
20
|
import { ManifestIntegrity } from '../security/ManifestIntegrity.js';
|
|
21
|
+
/**
|
|
22
|
+
* Candidate locations for the generated builtin manifest, in resolution order, relative
|
|
23
|
+
* to the directory of the module doing the reading.
|
|
24
|
+
*
|
|
25
|
+
* WHY A LIST AND NOT ONE PATH. The manifest is generated by
|
|
26
|
+
* scripts/generate-builtin-manifest.cjs into `src/data/`, and package.json's `files`
|
|
27
|
+
* ships `src/data` — so the data IS published. But the reader resolved
|
|
28
|
+
* `__dirname/../data`, which is `src/data` in a SOURCE checkout and `dist/data` in a
|
|
29
|
+
* COMPILED install. `dist/data` does not exist: tsc does not copy .json, and nothing else
|
|
30
|
+
* writes it. Verified in a real install — dist/data/builtin-manifest.json ABSENT,
|
|
31
|
+
* src/data/builtin-manifest.json PRESENT (62,717 bytes).
|
|
32
|
+
*
|
|
33
|
+
* So the old path worked in every source checkout (hence every test) and failed in every
|
|
34
|
+
* deployed agent. Both layouts are enumerated rather than picking one, because a build
|
|
35
|
+
* step that copies the file into dist/ is a step that can be skipped — and this read must
|
|
36
|
+
* not depend on it.
|
|
37
|
+
*
|
|
38
|
+
* EXPORTED, and parameterised by `moduleDir`, so tests exercise THIS function rather than
|
|
39
|
+
* a copy of its logic. A test that reimplements the resolution it is checking cannot fail
|
|
40
|
+
* when the resolution changes — which is precisely the class of blindness this bug is
|
|
41
|
+
* made of.
|
|
42
|
+
*/
|
|
43
|
+
export function builtinManifestCandidates(moduleDir) {
|
|
44
|
+
return [
|
|
45
|
+
// Source checkout: src/core → src/data. Also an installed layout IF a build ever
|
|
46
|
+
// copies the manifest into dist/data.
|
|
47
|
+
path.join(moduleDir, '..', 'data', 'builtin-manifest.json'),
|
|
48
|
+
// Installed package: dist/core → <packageRoot>/src/data (what `files` actually ships).
|
|
49
|
+
path.join(moduleDir, '..', '..', 'src', 'data', 'builtin-manifest.json'),
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Load the builtin manifest, reporting WHICH of the three outcomes occurred.
|
|
54
|
+
*
|
|
55
|
+
* The previous implementation returned a bare `{}` for all three — found-and-empty,
|
|
56
|
+
* not-found, and unparseable alike — so a deployed agent reporting zero builtin
|
|
57
|
+
* capabilities was indistinguishable from an agent that genuinely has none. That is the
|
|
58
|
+
* same shape as `catch { return []; }`: an absence rendered as a confident answer.
|
|
59
|
+
*
|
|
60
|
+
* This stays a SIGNAL: a missing manifest still yields an empty entry set and the map
|
|
61
|
+
* still builds. Nothing here throws in production.
|
|
62
|
+
*/
|
|
63
|
+
export function loadBuiltinManifestFrom(moduleDir) {
|
|
64
|
+
for (const manifestPath of builtinManifestCandidates(moduleDir)) {
|
|
65
|
+
let raw;
|
|
66
|
+
try {
|
|
67
|
+
if (!fs.existsSync(manifestPath))
|
|
68
|
+
continue;
|
|
69
|
+
raw = fs.readFileSync(manifestPath, 'utf-8');
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
// Present but unreadable (permissions, a truncated write) — a real failure, and NOT
|
|
73
|
+
// the same as absent. Reported rather than falling through to the next candidate,
|
|
74
|
+
// which would hide it behind a second miss.
|
|
75
|
+
//
|
|
76
|
+
// @silent-fallback-ok — this is the OPPOSITE of a silent fallback and is the point
|
|
77
|
+
// of this change. The exception is converted into an explicit, observable
|
|
78
|
+
// `unreadable` state carrying the path and the error message, surfaced to callers as
|
|
79
|
+
// `summary.builtinManifest`. The code this replaced was the genuine silent fallback:
|
|
80
|
+
// `catch { /* fall through */ } return {}`, which made an unreadable manifest
|
|
81
|
+
// indistinguishable from an agent with no builtin capabilities.
|
|
82
|
+
return {
|
|
83
|
+
entries: {}, state: 'unreadable', path: manifestPath,
|
|
84
|
+
error: err instanceof Error ? err.message : String(err),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
const data = JSON.parse(raw);
|
|
89
|
+
return { entries: data.entries ?? {}, state: 'loaded', path: manifestPath, error: null };
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
// @silent-fallback-ok — same rationale as the read catch above: a parse failure
|
|
93
|
+
// becomes an explicit `unreadable` state with the offending path and the parse
|
|
94
|
+
// error, not a swallowed exception. The whole purpose of this function is that
|
|
95
|
+
// "could not read it" and "it was empty" stop being the same answer.
|
|
96
|
+
return {
|
|
97
|
+
entries: {}, state: 'unreadable', path: manifestPath,
|
|
98
|
+
error: err instanceof Error ? err.message : String(err),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return { entries: {}, state: 'not-found', path: null, error: null };
|
|
103
|
+
}
|
|
21
104
|
// ── Domain Definitions ───────────────────────────────────────────────
|
|
22
105
|
const DOMAINS = {
|
|
23
106
|
communication: {
|
|
@@ -65,15 +148,27 @@ const DOMAINS = {
|
|
|
65
148
|
export class CapabilityMapper {
|
|
66
149
|
config;
|
|
67
150
|
builtinManifest;
|
|
151
|
+
/** How the builtin manifest load actually went — see loadBuiltinManifest(). */
|
|
152
|
+
builtinManifestState;
|
|
68
153
|
integrity;
|
|
69
154
|
isRefreshing = false;
|
|
70
155
|
lastMap = null;
|
|
71
156
|
lastRefreshTime = null;
|
|
72
157
|
constructor(config) {
|
|
73
158
|
this.config = config;
|
|
74
|
-
|
|
159
|
+
const manifest = this.loadBuiltinManifest();
|
|
160
|
+
this.builtinManifest = manifest.entries;
|
|
161
|
+
this.builtinManifestState = manifest.state;
|
|
75
162
|
this.integrity = new ManifestIntegrity(path.join(config.stateDir, 'state'));
|
|
76
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Whether the builtin manifest actually loaded, for callers that must not read an
|
|
166
|
+
* empty capability set as a finding. `not-found`/`unreadable` mean the provenance
|
|
167
|
+
* data is MISSING, not that the agent has no builtin capabilities.
|
|
168
|
+
*/
|
|
169
|
+
getBuiltinManifestState() {
|
|
170
|
+
return this.builtinManifestState;
|
|
171
|
+
}
|
|
77
172
|
// ── Public API ───────────────────────────────────────────────────
|
|
78
173
|
/**
|
|
79
174
|
* Perform a full scan and return the capability map.
|
|
@@ -689,6 +784,7 @@ export class CapabilityMapper {
|
|
|
689
784
|
agentEvolved: allCaps.filter(c => c.provenance === 'agent').length,
|
|
690
785
|
userConfigured: allCaps.filter(c => c.provenance === 'user').length,
|
|
691
786
|
unmapped: allCaps.filter(c => c.provenance === 'unknown').length,
|
|
787
|
+
builtinManifest: this.builtinManifestState,
|
|
692
788
|
};
|
|
693
789
|
const domainLinks = {};
|
|
694
790
|
for (const d of domains) {
|
|
@@ -848,18 +944,39 @@ export class CapabilityMapper {
|
|
|
848
944
|
}
|
|
849
945
|
}
|
|
850
946
|
// ── Helpers ──────────────────────────────────────────────────────
|
|
947
|
+
/**
|
|
948
|
+
* Candidate locations for the generated builtin manifest, in resolution order.
|
|
949
|
+
*
|
|
950
|
+
* WHY A LIST AND NOT ONE PATH. The manifest is generated by
|
|
951
|
+
* scripts/generate-builtin-manifest.cjs into `src/data/`, and package.json's `files`
|
|
952
|
+
* ships `src/data` — so the data IS published. But the reader resolved
|
|
953
|
+
* `__dirname/../data`, which is `src/data` in a SOURCE checkout and `dist/data` in a
|
|
954
|
+
* COMPILED install. `dist/data` does not exist: tsc does not copy .json, and nothing
|
|
955
|
+
* else writes it. Verified in a real install — dist/data/builtin-manifest.json ABSENT,
|
|
956
|
+
* src/data/builtin-manifest.json PRESENT (62,717 bytes).
|
|
957
|
+
*
|
|
958
|
+
* So the old path worked in every source checkout (hence every test) and failed in
|
|
959
|
+
* every deployed agent. Both layouts are enumerated here rather than picking one,
|
|
960
|
+
* because a build step that copies the file into dist/ is a step that can be skipped —
|
|
961
|
+
* and this read must not depend on it.
|
|
962
|
+
*/
|
|
963
|
+
builtinManifestCandidates() {
|
|
964
|
+
return builtinManifestCandidates(path.dirname(fileURLToPath(import.meta.url)));
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Load the builtin manifest, reporting WHICH of the three outcomes occurred.
|
|
968
|
+
*
|
|
969
|
+
* The previous implementation returned a bare `{}` for all three — found-and-empty,
|
|
970
|
+
* not-found, and unparseable — so a deployed agent reporting zero builtin capabilities
|
|
971
|
+
* was indistinguishable from an agent that genuinely has none. That is the same shape
|
|
972
|
+
* as `catch { return []; }`: an absence rendered as a confident answer. The state is
|
|
973
|
+
* returned alongside the entries so a caller can tell the difference.
|
|
974
|
+
*
|
|
975
|
+
* This stays a SIGNAL: a missing manifest still yields an empty entry set and the map
|
|
976
|
+
* still builds. Nothing here throws in production.
|
|
977
|
+
*/
|
|
851
978
|
loadBuiltinManifest() {
|
|
852
|
-
|
|
853
|
-
// Try loading from the installed package first
|
|
854
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
855
|
-
const manifestPath = path.join(__dirname, '..', 'data', 'builtin-manifest.json');
|
|
856
|
-
if (fs.existsSync(manifestPath)) {
|
|
857
|
-
const data = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
858
|
-
return data.entries ?? {};
|
|
859
|
-
}
|
|
860
|
-
}
|
|
861
|
-
catch { /* fall through */ }
|
|
862
|
-
return {};
|
|
979
|
+
return loadBuiltinManifestFrom(path.dirname(fileURLToPath(import.meta.url)));
|
|
863
980
|
}
|
|
864
981
|
loadEvolutionProposals() {
|
|
865
982
|
const map = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityMapper.js","sourceRoot":"","sources":["../../src/core/CapabilityMapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CapabilityMapper.js","sourceRoot":"","sources":["../../src/core/CapabilityMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAqHrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO;QACL,iFAAiF;QACjF,sCAAsC;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,CAAC;QAC3D,uFAAuF;QACvF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,CAAC;KACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,KAAK,MAAM,YAAY,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,SAAS;YAC3C,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oFAAoF;YACpF,kFAAkF;YAClF,4CAA4C;YAC5C,EAAE;YACF,mFAAmF;YACnF,0EAA0E;YAC1E,qFAAqF;YACrF,qFAAqF;YACrF,8EAA8E;YAC9E,gEAAgE;YAChE,OAAO;gBACL,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;gBACpD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gFAAgF;YAChF,+EAA+E;YAC/E,+EAA+E;YAC/E,qEAAqE;YACrE,OAAO;gBACL,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;gBACpD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACtE,CAAC;AAsBD,wEAAwE;AAExE,MAAM,OAAO,GAA0D;IACrE,aAAa,EAAE;QACb,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sDAAsD;KACpE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,iEAAiE;KAC/E;IACD,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,yDAAyD;KACvE;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,gEAAgE;KAC9E;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sDAAsD;KACpE;IACD,SAAS,EAAE;QACT,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,gDAAgD;KAC9D;IACD,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,qDAAqD;KACnE;IACD,cAAc,EAAE;QACd,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,kDAAkD;KAChE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,yDAAyD;KACvE;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,0DAA0D;KACxE;CACF,CAAC;AAEF,wEAAwE;AAExE,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAyB;IAC/B,eAAe,CAAuC;IAC9D,+EAA+E;IACvE,oBAAoB,CAAwC;IAC5D,SAAS,CAAoB;IAC7B,YAAY,GAAG,KAAK,CAAC;IACrB,OAAO,GAAyB,IAAI,CAAC;IACrC,eAAe,GAAkB,IAAI,CAAC;IAE9C,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC;YAEvC,OAAO,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,QAAQ,EAAE,WAAW,IAAI,OAAO,CAAC;QACtD,MAAM,UAAU,GAA8B,EAAE,CAAC;QAEjD,IAAI,OAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,YAAY;gBACZ,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;aACjF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;QAEhD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,4BAA4B;YAC5B,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChF,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,IAAI,CAAC,WAAW;oBAC1B,OAAO,EAAE,GAAG,CAAC,WAAW;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,0BAA0B;YAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAI,CAAC,UAAU;oBACzB,OAAO,EAAE,GAAG,CAAC,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,eAAe;QACf,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,YAAY;YACZ,KAAK;YACL,OAAO;YACP,OAAO;YACP,QAAQ;YACR,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAkB,EAAE,QAAuB,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe;YACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YAC5E,CAAC,CAAC,CAAC,CAAC,CAAC;QACP,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IACtE,CAAC;IAED,oEAAoE;IAE5D,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA6C,EAAE,CAAC;QAE5D,oDAAoD;QACpD,MAAM,QAAQ,GAAwC;YACpD,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9C,CAAC;QAEF,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU;QAChB,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEtC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEvC,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE;gBACF,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,MAAM;gBAChC,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC;gBACrE,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,SAAS,EAAE,mBAAmB;gBAC1C,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpE,WAAW,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC1D,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,CAAC,kBAAkB,MAAM,WAAW,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YAElD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE;gBACF,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;gBACpE,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpE,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;gBACnD,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS;QACf,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,wCAAwC;QACxC,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAElC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;oBAAE,SAAS;gBAElD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAE9C,IAAI,CAAC,IAAI,CAAC;oBACR,EAAE;oBACF,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC;oBAClE,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACtD,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpE,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;oBACnD,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;YAC1B,4CAA4C;YAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBAAE,SAAS;YAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE;gBACF,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,gBAAgB;gBAChD,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpE,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;gBACnD,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,QAAQ;QACd,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,IAAI;oBAAE,SAAS;gBACxB,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAE9C,IAAI,CAAC,IAAI,CAAC;oBACR,EAAE;oBACF,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI;oBAC1B,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;oBACrE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;oBACrD,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpE,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAClD,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACnD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc;QACpB,MAAM,IAAI,GAAiB,EAAE,CAAC;QAE9B,4DAA4D;QAC5D,MAAM,eAAe,GAMhB;YACH;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;oBACzF,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACxE,WAAW,EAAE,iDAAiD;aAC/D;YACD;gBACE,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBACjF,WAAW,EAAE,4DAA4D;aAC1E;YACD;gBACE,EAAE,EAAE,2BAA2B;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,iBAAiB;gBACpC,WAAW,EAAE,gDAAgD;aAC9D;YACD;gBACE,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;gBACjB,WAAW,EAAE,iDAAiD;aAC/D;YACD;gBACE,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;oBAChC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,0DAA0D;aACxE;YACD;gBACE,EAAE,EAAE,wBAAwB;gBAC5B,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;uBACzE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACnE,WAAW,EAAE,iDAAiD;aAC/D;YACD;gBACE,EAAE,EAAE,sBAAsB;gBAC1B,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC7B,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,iEAAiE;aAC/E;YACD;gBACE,EAAE,EAAE,sBAAsB;gBAC1B,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;oBACtC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,8CAA8C;aAC5D;YACD;gBACE,EAAE,EAAE,wBAAwB;gBAC5B,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC1B,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACvE,WAAW,EAAE,0DAA0D;aACxE;YACD;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,0CAA0C;aACxD;YACD;gBACE,EAAE,EAAE,kBAAkB;gBACtB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAClC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,KAAK,CAAC;oBAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,EAAE,2CAA2C;aACzD;SACF,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM;gBAC1C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBACvC,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,YAAY;gBAC1C,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB;QACzB,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,WAAW,IAAI,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE9C,qDAAqD;YACrD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;YAEzF,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE;gBACF,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,UAAU;gBAC1C,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACK,QAAQ,CAAC,YAA0B;QACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEzD,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,+CAA+C;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,YAAY,EAAE,CAAC;gBACjB,4CAA4C;gBAC5C,IAAI,GAAG,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;oBAChG,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,WAAyB,EAAE,CAAC;gBAC3D,CAAC;gBACD,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,QAAsB,EAAE,CAAC;YACxD,CAAC;YAED,yCAAyC;YACzC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAc,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CACnG,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;wBAC9F,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,WAAyB,EAAE,CAAC;oBAC3D,CAAC;oBACD,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,QAAsB,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,OAAqB,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACnF,CAAC;YAED,wCAAwC;YACxC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACxE,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,OAAqB,EAAE,CAAC;YACvD,CAAC;YAED,sEAAsE;YACtE,4EAA4E;YAC5E,8EAA8E;YAC9E,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,MAAoB,EAAE,CAAC;YACtD,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IAE5D,SAAS,CAAC,YAA0B;QAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;QAElD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,EAAE,EAAE,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/D,YAAY,EAAE,IAAI,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YAC3C,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC;YACzB,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;YACxB,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IAE5D,QAAQ,CAAC,OAA2B;QAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG;YACd,iBAAiB,EAAE,OAAO,CAAC,MAAM;YACjC,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,MAAM;YACrE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,MAAM;YAClE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,MAAM;YACnE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM;YAChE,eAAe,EAAE,IAAI,CAAC,oBAAoB;SAC3C,CAAC;QAEF,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE,GAAG;YAChB,OAAO;YACP,OAAO;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,gCAAgC;gBACzC,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,WAAW;aACrB;YACD,SAAS,EAAE;gBACT,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,GAAG;aACjB;SACF,CAAC;IACJ,CAAC;IAED,oEAAoE;IAE5D,qBAAqB,CAAC,GAAkB;QAC9C,MAAM,KAAK,GAAa;YACtB,sBAAsB,GAAG,CAAC,KAAK,EAAE;YACjC,cAAc,GAAG,CAAC,WAAW,aAAa,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,wBAAwB,GAAG,CAAC,OAAO,CAAC,OAAO,UAAU;YAC7I,EAAE;YACF,qDAAqD;YACrD,qDAAqD;SACtD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;YACjH,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YACjF,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,MAAM,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC;QAC3F,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAEhF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,oBAAoB,CAAC,GAAkB;QAC7C,MAAM,KAAK,GAAa;YACtB,sBAAsB,GAAG,CAAC,KAAK,EAAE;YACjC,cAAc,GAAG,CAAC,WAAW,aAAa,GAAG,CAAC,OAAO,EAAE;YACvD,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,GAAG,CAAC,OAAO,CAAC,cAAc,YAAY,GAAG,CAAC,OAAO,CAAC,YAAY,WAAW,GAAG,CAAC,OAAO,CAAC,cAAc,UAAU,GAAG,CAAC,OAAO,CAAC,QAAQ,WAAW;YAC9L,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,gBAAgB,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAEjE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB;oBAChC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,iBAAiB,GAAG;oBAChD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM,IAAI,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YACvF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,kBAAkB,CAAC,GAAkB;QAC3C,MAAM,KAAK,GAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzD,yCAAyC;QACzC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,UAAU,WAAW,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvE,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1C,IAAI,GAAG,CAAC,WAAW;oBAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzE,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtF,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1E,IAAI,GAAG,CAAC,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBAChE,IAAI,GAAG,CAAC,cAAc;oBAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnF,IAAI,GAAG,CAAC,iBAAiB;oBAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACnF,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,oEAAoE;IAEpE,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAC9E,CAAC;IAEO,eAAe,CAAC,YAA0B;QAChD,MAAM,OAAO,GAAkC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE9C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACtD,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACtC,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,oBAAoB,EAAE,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB;oBAC1E,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,wCAAwC;wBAC3E,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,kBAAkB;4BACjH,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,8BAA8B;gCAC5D,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAuB;YACnC,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,OAAO;SACR,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,QAA8C,CAAC,CAAC;QACjG,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;YAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;YAE3D,4BAA4B;YAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAA8C,CAAC,CAAC;gBACvF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAChC,2CAA2C;oBAC3C,qDAAqD;oBACrD,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;;;;;;;OAeG;IACK,yBAAyB;QAC/B,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;;OAWG;IACK,mBAAmB;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEO,sBAAsB;QAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAE5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,GAAG,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;wBACvC,6DAA6D;wBAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;4BACpC,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gCACzB,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oCAClC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gCAChD,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAE/B,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,WAAW,CAAC,OAAe;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,SAAS;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC9C,kDAAkD;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3E,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,EAAU,EAAE,IAAY,EAAE,IAAY;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,eAAe,CAAC;QAC9I,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,YAAY,CAAC;QACjI,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,YAAY,CAAC;QACjK,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC;QACpI,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QACzI,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,YAAY,CAAC;QAC5G,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAClK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,UAAU,CAAC;QAC/L,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,cAAc,CAAC;QAE7I,wBAAwB;QACxB,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,UAAU,CAAC;QACvC,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,YAAY,CAAC;QACxC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,gBAAgB,CAAC;QAE9C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-27T09:13:24.898Z",
|
|
5
|
+
"instarVersion": "1.3.999",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
`tests/unit/agent-registry.test.ts` and `tests/unit/builtin-manifest.test.ts` were removed from
|
|
9
|
+
`FLAKY_TESTS` in `vitest.push.config.ts`, so both run in the push/CI unit gate again. The surrounding
|
|
10
|
+
comment now records the measurements and the falsified hypothesis rather than a bare heading.
|
|
11
|
+
|
|
12
|
+
Neither test is flaky. Both arrived in `f193df789` ("exclude pre-existing flaky tests from push
|
|
13
|
+
gate") — a bulk exclusion, not an individual diagnosis — and sat under a
|
|
14
|
+
"Environment-dependent / non-deterministic" heading that was thereafter read as a finding about each
|
|
15
|
+
one.
|
|
16
|
+
|
|
17
|
+
## What to Tell Your User
|
|
18
|
+
|
|
19
|
+
None — internal change (no user-facing surface).
|
|
20
|
+
|
|
21
|
+
## Summary of New Capabilities
|
|
22
|
+
|
|
23
|
+
None — internal change (no user-facing surface).
|
|
24
|
+
|
|
25
|
+
## Evidence
|
|
26
|
+
|
|
27
|
+
Measured on current `main`, three consecutive runs each:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
agent-registry.test.ts → 42 passed | 42 passed | 42 passed
|
|
31
|
+
builtin-manifest.test.ts → 9 passed | 9 passed | 9 passed
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The one concrete environmental hypothesis was tested and falsified. `builtin-manifest.test.ts` reads
|
|
35
|
+
`src/data/builtin-manifest.json`, a generated and gitignored artifact that a job which never builds
|
|
36
|
+
would not have. Deleting the file and re-running:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Tests 9 passed (9)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
It still passes because the test's own `beforeAll` regenerates it via
|
|
43
|
+
`scripts/generate-builtin-manifest.cjs` — it was already self-sufficient by design.
|
|
44
|
+
|
|
45
|
+
After the change, verified by parsing the resolved `FLAKY_TESTS` array rather than assuming the edit
|
|
46
|
+
took: both paths report `NO LONGER EXCLUDED`, 92 entries remain. Both tests run green together
|
|
47
|
+
(`Test Files 2 passed (2) · Tests 51 passed (51)`); `tsc --noEmit` exit 0.
|
|
48
|
+
|
|
49
|
+
## Known limits
|
|
50
|
+
|
|
51
|
+
The remaining 92 entries are untouched and unexamined. Several — the supertest/port-collision group
|
|
52
|
+
especially — are plausibly genuinely environment-bound, and emptying the list wholesale would repeat
|
|
53
|
+
the bulk move that caused this. Local determinism is also not proof of CI determinism: if either test
|
|
54
|
+
fails in CI, that is a real finding to diagnose, not a reason to re-park it.
|
|
55
|
+
|
|
56
|
+
## Why the comment is verbose
|
|
57
|
+
|
|
58
|
+
The note two entries below already described this same mistake: two other tests were re-armed on
|
|
59
|
+
2026-06-05 from the same heading, with the observation that the label had been wrong and that both
|
|
60
|
+
had rotted while parked. The diagnosis, the precedent and the warning were already in the file,
|
|
61
|
+
three lines above two more mislabelled tests. The replacement comment therefore carries the
|
|
62
|
+
measurements and the falsified theory, so the next person reaching for that label has to argue with
|
|
63
|
+
evidence instead of reapplying a heading.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
`CapabilityMapper.loadBuiltinManifest()` resolved the builtin manifest as
|
|
9
|
+
`__dirname/../data/builtin-manifest.json`. In a source checkout that is `src/core → src/data`, which
|
|
10
|
+
exists. In a compiled install it is `dist/core → dist/data`, which does not — tsc does not copy JSON
|
|
11
|
+
and nothing else writes it, while the manifest actually ships at `src/data/` via package.json
|
|
12
|
+
`files`.
|
|
13
|
+
|
|
14
|
+
Verified on a real install: `dist/data/builtin-manifest.json` **absent**,
|
|
15
|
+
`src/data/builtin-manifest.json` **present (62,717 bytes)**.
|
|
16
|
+
|
|
17
|
+
The failure was then silent twice over: a missing file fell through to `return {}`, and a parse error
|
|
18
|
+
was caught and also returned `{}`. An empty map is indistinguishable from "this agent has no builtin
|
|
19
|
+
capabilities", so every deployed agent reported zero builtins with nothing saying why.
|
|
20
|
+
|
|
21
|
+
Resolution now enumerates both layouts, and the loader reports `loaded` / `not-found` / `unreadable`.
|
|
22
|
+
That state is surfaced as `summary.builtinManifest` on the capability map, so a low builtin count can
|
|
23
|
+
be told apart from unreadable provenance data. It remains a signal: a missing manifest still yields an
|
|
24
|
+
empty entry set, the map still builds, and nothing throws.
|
|
25
|
+
|
|
26
|
+
## What to Tell Your User
|
|
27
|
+
|
|
28
|
+
Your agent can now correctly tell which of its abilities came built in.
|
|
29
|
+
|
|
30
|
+
It ships with a list of everything it has out of the box, and it was looking for that list in a
|
|
31
|
+
folder that only exists while the code is being developed, not in the version you actually install.
|
|
32
|
+
So on every installed agent the list came back empty, and your agent quietly reported that it had no
|
|
33
|
+
built-in abilities at all — with nothing to indicate the information had simply failed to load.
|
|
34
|
+
|
|
35
|
+
It now looks in the right place. And if that information is ever genuinely missing or damaged, it
|
|
36
|
+
says so plainly instead of reporting an empty answer as though it were the truth, because a confident
|
|
37
|
+
wrong answer is worse than an honest gap.
|
|
38
|
+
|
|
39
|
+
One thing you may notice: on your next update, the breakdown of where your agent's abilities came
|
|
40
|
+
from will shift, with more of them correctly attributed as built in. That is the fix working, not a
|
|
41
|
+
change in what your agent can do.
|
|
42
|
+
|
|
43
|
+
## Summary of New Capabilities
|
|
44
|
+
|
|
45
|
+
No new endpoint, command, or configuration. The capability map summary gains a field reporting
|
|
46
|
+
whether the builtin manifest loaded, was not found, or was unreadable.
|
|
47
|
+
|
|
48
|
+
## Evidence
|
|
49
|
+
|
|
50
|
+
Falsified by restoring each half of the defect in production and confirming the tests fail.
|
|
51
|
+
|
|
52
|
+
Collapsing the candidate list back to the single original path:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
× THE BUG: resolves in an INSTALLED layout, where the manifest ships at src/data
|
|
56
|
+
→ expected 'not-found' to be 'loaded'
|
|
57
|
+
× a genuinely EMPTY manifest reports loaded — the other side of the boundary
|
|
58
|
+
× an UNPARSEABLE manifest reports unreadable, with the path and the parse error
|
|
59
|
+
× enumerates both layouts, in order
|
|
60
|
+
Tests 4 failed | 4 passed (8)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Conflating a missing manifest with a loaded one:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
× a MISSING manifest reports not-found — never confused with loaded-and-empty
|
|
67
|
+
→ expected 'loaded' to be 'not-found'
|
|
68
|
+
Tests 2 failed | 6 passed (8)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Both restored byte-identical. Green across every suite touching the changed file:
|
|
72
|
+
`Test Files 4 passed (4) · Tests 181 passed (181)` (`builtin-manifest-resolution`,
|
|
73
|
+
`capability-mapper`, `capability-mapper-advanced`, `builtin-manifest`); `tsc --noEmit` exit 0.
|
|
74
|
+
|
|
75
|
+
The tests were rewritten before landing: the first draft reimplemented the resolution inside the test
|
|
76
|
+
and asserted against that copy, which cannot fail when production changes — the same blindness the
|
|
77
|
+
bug is made of. Production now exports the resolution parameterised by a module directory, and the
|
|
78
|
+
tests call it directly.
|
|
79
|
+
|
|
80
|
+
## Known limits
|
|
81
|
+
|
|
82
|
+
The load state is reported but not acted on — nothing raises an alert when it is `not-found` on a
|
|
83
|
+
deployed agent, so a broken install still looks normal to anyone not reading the field. And this does
|
|
84
|
+
not settle *why* `dist/data` was expected: if a build step was meant to copy the manifest there, that
|
|
85
|
+
step still does not exist. Reading from both locations is the safer direction, not an answer to that
|
|
86
|
+
question.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Side-effects review — builtin manifest path resolution + load-state honesty
|
|
2
|
+
|
|
3
|
+
**Change:** `CapabilityMapper.loadBuiltinManifest()` resolved `__dirname/../data/builtin-manifest.json`,
|
|
4
|
+
which is `dist/data/` in a compiled install — a directory that does not exist. Resolution now
|
|
5
|
+
enumerates both the source and installed layouts, and reports `loaded` / `not-found` / `unreadable`
|
|
6
|
+
instead of returning a bare `{}` for all three.
|
|
7
|
+
|
|
8
|
+
**Decision point touched?** Yes, in the weak sense: `builtinManifest[id]` drives capability
|
|
9
|
+
*provenance* (instar / agent / user). It gates no action and blocks nothing, but it does decide what
|
|
10
|
+
the map claims about origin — which is why an unreadable manifest silently reading as "no builtins"
|
|
11
|
+
mattered.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Over-block
|
|
16
|
+
|
|
17
|
+
Nothing is newly blocked or rejected. The change is strictly widening (one candidate path becomes
|
|
18
|
+
two) plus an added report field. No input that previously succeeded now fails.
|
|
19
|
+
|
|
20
|
+
The only behavioural sharpening: a manifest that is present but *unparseable* now returns
|
|
21
|
+
`state: 'unreadable'` instead of silently yielding `{}`. Callers still receive an empty entry set, so
|
|
22
|
+
nothing downstream breaks — they simply gain the ability to tell the difference.
|
|
23
|
+
|
|
24
|
+
## 2. Under-block
|
|
25
|
+
|
|
26
|
+
The load state is reported but not yet *acted on*. `summary.builtinManifest` makes an unreadable
|
|
27
|
+
manifest visible to a reader of `/capability-map`; nothing raises an attention item, logs a warning,
|
|
28
|
+
or fails a health check when it is `not-found` on a deployed agent. That is deliberate for this
|
|
29
|
+
change (signal before authority), and it means an install with a genuinely broken manifest will still
|
|
30
|
+
look normal to anyone not reading the field. Stated rather than implied.
|
|
31
|
+
|
|
32
|
+
Also not addressed: **why** `dist/data` was expected in the first place. If the intended design was
|
|
33
|
+
for the build to copy the manifest into `dist/`, that build step still does not exist. This change
|
|
34
|
+
makes the read work regardless, which is the safer direction, but it does not settle the question.
|
|
35
|
+
|
|
36
|
+
## 3. Level-of-abstraction fit
|
|
37
|
+
|
|
38
|
+
Correct layer. The defect is in how one module locates its own data file, and the fix is in that
|
|
39
|
+
module. The resolution is exported as a pure function taking a module directory — the minimum needed
|
|
40
|
+
to make it testable — rather than being pushed into a shared path helper, which would be a wider
|
|
41
|
+
change than the bug warrants.
|
|
42
|
+
|
|
43
|
+
## 4. Signal vs authority compliance
|
|
44
|
+
|
|
45
|
+
Compliant, and improved. The manifest was already a signal (provenance labelling). Previously it
|
|
46
|
+
failed *silently*, which is the pattern `docs/signal-vs-authority.md` warns about: a component that
|
|
47
|
+
cannot report its own degradation. It now reports state while retaining exactly the same
|
|
48
|
+
non-blocking, non-throwing behaviour. No new authority is introduced.
|
|
49
|
+
|
|
50
|
+
## 5. Interactions
|
|
51
|
+
|
|
52
|
+
`CapabilityMap.summary` gains one field (`builtinManifest`). This is an additive change to a
|
|
53
|
+
serialised read surface consumed by `/capability-map` and its compact rendering. Existing consumers
|
|
54
|
+
that read known fields are unaffected; a consumer doing exact-shape validation on the summary object
|
|
55
|
+
would see a new key.
|
|
56
|
+
|
|
57
|
+
`loadBuiltinManifestFrom` and `builtinManifestCandidates` are newly exported from
|
|
58
|
+
`CapabilityMapper.ts`. That widens the module's public surface by two pure functions with no side
|
|
59
|
+
effects beyond reading a file.
|
|
60
|
+
|
|
61
|
+
No change to when the manifest is loaded (still once, in the constructor), so no new I/O on any hot
|
|
62
|
+
path.
|
|
63
|
+
|
|
64
|
+
## 6. External surfaces
|
|
65
|
+
|
|
66
|
+
`GET /capability-map` responses gain `summary.builtinManifest`. No endpoint added or removed, no
|
|
67
|
+
config key, no agent-visible behaviour change beyond more accurate provenance on installs where the
|
|
68
|
+
manifest previously failed to load — which is expected to be *all* of them.
|
|
69
|
+
|
|
70
|
+
Worth stating plainly: on deployed agents this change will cause builtin provenance to start
|
|
71
|
+
resolving where it previously did not. Capability counts by provenance will shift — `instarProvided`
|
|
72
|
+
up, `unmapped` down. That is the fix working, but it will look like a change in the numbers.
|
|
73
|
+
|
|
74
|
+
## 7. Multi-machine posture
|
|
75
|
+
|
|
76
|
+
**Machine-local by design, and correctly so.** The manifest is a static artifact shipped inside the
|
|
77
|
+
installed package: every machine reads its own copy from its own filesystem, and there is nothing to
|
|
78
|
+
replicate, proxy, or reconcile. Two machines on different instar versions will legitimately hold
|
|
79
|
+
different manifests, which is the correct behaviour — the manifest describes *that install*.
|
|
80
|
+
|
|
81
|
+
No `machine-local-justification` marker is needed here because this introduces no new state surface;
|
|
82
|
+
it corrects the path of an existing per-install read.
|
|
83
|
+
|
|
84
|
+
## 8. Rollback cost
|
|
85
|
+
|
|
86
|
+
Low. Revert the module: the resolution returns to a single path and the summary field disappears.
|
|
87
|
+
No data migration, no persisted state, no schema change, no agent state to repair. Consumers of the
|
|
88
|
+
new summary field would see it vanish, which is why it is additive and optional rather than replacing
|
|
89
|
+
an existing field.
|
|
90
|
+
|
|
91
|
+
The one thing a rollback re-creates is the original defect — deployed agents silently reporting zero
|
|
92
|
+
builtins — so a rollback should be accompanied by an explanation of what failed, or it will look like
|
|
93
|
+
the bug returning on its own.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Side-effects review — re-arm two parked tests
|
|
2
|
+
|
|
3
|
+
**Change:** remove `tests/unit/agent-registry.test.ts` and `tests/unit/builtin-manifest.test.ts` from
|
|
4
|
+
`FLAKY_TESTS` in `vitest.push.config.ts`, and replace the surrounding comment with the measurements
|
|
5
|
+
and the falsified hypothesis.
|
|
6
|
+
|
|
7
|
+
**Decision point touched?** No new decision point. This *restores* an existing one: two guards that
|
|
8
|
+
were excluded from the CI gate now participate in it again. No runtime code changes; the diff is
|
|
9
|
+
config + comment only.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Over-block
|
|
14
|
+
|
|
15
|
+
Re-arming can only make the gate stricter, and that is the intent. The over-block risk is that a test
|
|
16
|
+
fails in CI for an environmental reason that does not exist locally — in which case CI turns red on
|
|
17
|
+
work unrelated to the failure, and the author is blocked by something they did not cause.
|
|
18
|
+
|
|
19
|
+
Mitigated by measurement rather than hope: both were run three consecutive times on current `main`
|
|
20
|
+
(42/42/42 and 9/9/9), and the one specific environmental hypothesis available —
|
|
21
|
+
`builtin-manifest.test.ts` depending on the generated, gitignored `src/data/builtin-manifest.json` —
|
|
22
|
+
was tested by deleting the file. The test still passed 9/9 because its `beforeAll` regenerates it.
|
|
23
|
+
|
|
24
|
+
Residual risk is real but bounded: local determinism is not proof of CI determinism. If either fails
|
|
25
|
+
in CI, the correct response is to diagnose it, not to re-park it. Re-parking without a diagnosis is
|
|
26
|
+
the exact move that created this situation.
|
|
27
|
+
|
|
28
|
+
## 2. Under-block
|
|
29
|
+
|
|
30
|
+
This change does not attempt to audit the rest of `FLAKY_TESTS` (92 entries remain). Several — the
|
|
31
|
+
supertest/port-collision group in particular — are plausibly genuinely environment-bound, and
|
|
32
|
+
emptying the list wholesale would be the same bulk move that caused the problem, run in reverse. So
|
|
33
|
+
the class is knowingly only partly addressed here: two members verified and fixed, the remainder
|
|
34
|
+
untouched and unexamined. Stated rather than implied.
|
|
35
|
+
|
|
36
|
+
## 3. Level-of-abstraction fit
|
|
37
|
+
|
|
38
|
+
Correct layer. The mislabel lives in the exclusion list, so the fix belongs in the exclusion list.
|
|
39
|
+
A deeper fix — something that would *prevent* a bulk exclusion from being read later as a per-test
|
|
40
|
+
finding — would need a mechanism requiring evidence at the point of exclusion (e.g. a required
|
|
41
|
+
measurement note per entry). That is a larger design change and is deliberately not attempted here.
|
|
42
|
+
|
|
43
|
+
## 4. Signal vs authority compliance
|
|
44
|
+
|
|
45
|
+
Unchanged. The tests are signals that CI (the authority) consumes. Nothing here gives any check new
|
|
46
|
+
blocking power it did not already have by design; it restores participation that was removed.
|
|
47
|
+
|
|
48
|
+
## 5. Interactions
|
|
49
|
+
|
|
50
|
+
The two files now execute inside the push/CI unit run, adding their runtime to that job and their
|
|
51
|
+
failures to its verdict. Both are fast unit tests. `builtin-manifest.test.ts` shells out to
|
|
52
|
+
`scripts/generate-builtin-manifest.cjs` in `beforeAll` if the generated file is missing, which writes
|
|
53
|
+
`src/data/builtin-manifest.json` — a gitignored artifact that `npm run build` writes anyway. It is
|
|
54
|
+
the only test that reads that file, so no cross-test read/write race is introduced. Worth naming
|
|
55
|
+
explicitly because a test that writes into the repo during a sharded run is the shape that *would*
|
|
56
|
+
cause genuine flakiness if another test ever read the same file.
|
|
57
|
+
|
|
58
|
+
## 6. External surfaces
|
|
59
|
+
|
|
60
|
+
None. No endpoint, no config key, no agent-visible behaviour, no user-visible behaviour. The only
|
|
61
|
+
observer of this change is CI.
|
|
62
|
+
|
|
63
|
+
## 7. Multi-machine posture
|
|
64
|
+
|
|
65
|
+
Not applicable — this is repo-level CI configuration, identical on every checkout, with no runtime
|
|
66
|
+
state, no per-machine data, and nothing to replicate or proxy.
|
|
67
|
+
|
|
68
|
+
## 8. Rollback cost
|
|
69
|
+
|
|
70
|
+
Trivial and immediate: re-add the two strings to `FLAKY_TESTS`. No data migration, no release
|
|
71
|
+
coupling, no agent state to repair. If a rollback happens, the comment block should record *why* the
|
|
72
|
+
test actually failed — otherwise the rollback recreates the original defect, which was an exclusion
|
|
73
|
+
carrying no evidence.
|