hippo-memory 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +862 -861
  2. package/dist/audit.d.ts +1 -1
  3. package/dist/audit.d.ts.map +1 -1
  4. package/dist/audit.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +1594 -229
  7. package/dist/cli.js.map +1 -1
  8. package/dist/customer-notes.d.ts +95 -0
  9. package/dist/customer-notes.d.ts.map +1 -0
  10. package/dist/customer-notes.js +296 -0
  11. package/dist/customer-notes.js.map +1 -0
  12. package/dist/db.d.ts.map +1 -1
  13. package/dist/db.js +1286 -472
  14. package/dist/db.js.map +1 -1
  15. package/dist/decisions.d.ts +91 -0
  16. package/dist/decisions.d.ts.map +1 -0
  17. package/dist/decisions.js +278 -0
  18. package/dist/decisions.js.map +1 -0
  19. package/dist/graph-extract.d.ts +39 -0
  20. package/dist/graph-extract.d.ts.map +1 -0
  21. package/dist/graph-extract.js +141 -0
  22. package/dist/graph-extract.js.map +1 -0
  23. package/dist/graph-recall.d.ts +41 -0
  24. package/dist/graph-recall.d.ts.map +1 -0
  25. package/dist/graph-recall.js +246 -0
  26. package/dist/graph-recall.js.map +1 -0
  27. package/dist/graph.d.ts +137 -0
  28. package/dist/graph.d.ts.map +1 -0
  29. package/dist/graph.js +433 -0
  30. package/dist/graph.js.map +1 -0
  31. package/dist/incidents.d.ts +100 -0
  32. package/dist/incidents.d.ts.map +1 -0
  33. package/dist/incidents.js +322 -0
  34. package/dist/incidents.js.map +1 -0
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/memory.d.ts +6 -0
  40. package/dist/memory.d.ts.map +1 -1
  41. package/dist/memory.js +6 -0
  42. package/dist/memory.js.map +1 -1
  43. package/dist/policies.d.ts +149 -0
  44. package/dist/policies.d.ts.map +1 -0
  45. package/dist/policies.js +380 -0
  46. package/dist/policies.js.map +1 -0
  47. package/dist/processes.d.ts +104 -0
  48. package/dist/processes.d.ts.map +1 -0
  49. package/dist/processes.js +330 -0
  50. package/dist/processes.js.map +1 -0
  51. package/dist/project-briefs.d.ts +126 -0
  52. package/dist/project-briefs.d.ts.map +1 -0
  53. package/dist/project-briefs.js +453 -0
  54. package/dist/project-briefs.js.map +1 -0
  55. package/dist/search.d.ts +7 -0
  56. package/dist/search.d.ts.map +1 -1
  57. package/dist/search.js.map +1 -1
  58. package/dist/server.d.ts.map +1 -1
  59. package/dist/server.js +1181 -8
  60. package/dist/server.js.map +1 -1
  61. package/dist/skills.d.ts +98 -0
  62. package/dist/skills.d.ts.map +1 -0
  63. package/dist/skills.js +339 -0
  64. package/dist/skills.js.map +1 -0
  65. package/dist/src/audit.js.map +1 -1
  66. package/dist/src/cli.js +1594 -229
  67. package/dist/src/cli.js.map +1 -1
  68. package/dist/src/customer-notes.js +296 -0
  69. package/dist/src/customer-notes.js.map +1 -0
  70. package/dist/src/db.js +1286 -472
  71. package/dist/src/db.js.map +1 -1
  72. package/dist/src/decisions.js +278 -0
  73. package/dist/src/decisions.js.map +1 -0
  74. package/dist/src/graph-extract.js +141 -0
  75. package/dist/src/graph-extract.js.map +1 -0
  76. package/dist/src/graph-recall.js +246 -0
  77. package/dist/src/graph-recall.js.map +1 -0
  78. package/dist/src/graph.js +433 -0
  79. package/dist/src/graph.js.map +1 -0
  80. package/dist/src/incidents.js +322 -0
  81. package/dist/src/incidents.js.map +1 -0
  82. package/dist/src/index.js +1 -0
  83. package/dist/src/index.js.map +1 -1
  84. package/dist/src/memory.js +6 -0
  85. package/dist/src/memory.js.map +1 -1
  86. package/dist/src/policies.js +380 -0
  87. package/dist/src/policies.js.map +1 -0
  88. package/dist/src/processes.js +330 -0
  89. package/dist/src/processes.js.map +1 -0
  90. package/dist/src/project-briefs.js +453 -0
  91. package/dist/src/project-briefs.js.map +1 -0
  92. package/dist/src/search.js.map +1 -1
  93. package/dist/src/server.js +1181 -8
  94. package/dist/src/server.js.map +1 -1
  95. package/dist/src/skills.js +339 -0
  96. package/dist/src/skills.js.map +1 -0
  97. package/dist/src/version.js +1 -1
  98. package/dist/src/version.js.map +1 -1
  99. package/dist/version.d.ts +1 -1
  100. package/dist/version.d.ts.map +1 -1
  101. package/dist/version.js +1 -1
  102. package/dist/version.js.map +1 -1
  103. package/extensions/openclaw-plugin/openclaw.plugin.json +46 -46
  104. package/extensions/openclaw-plugin/package.json +14 -14
  105. package/openclaw.plugin.json +45 -45
  106. package/package.json +75 -75
package/dist/skills.js ADDED
@@ -0,0 +1,339 @@
1
+ /**
2
+ * E2 skill first-class object (docs/plans/2026-05-30-e2-skill-object.md).
3
+ *
4
+ * A `skill` is a reusable, agent-followable capability: an `instructions` body
5
+ * plus an optional `trigger` ("when to apply"), evolving via the supersede delta
6
+ * lifecycle. "Executable" is scoped to an agent-followable INSTRUCTION that, once
7
+ * exported into the agent's in-force rules (AGENTS.md / CLAUDE.md) via
8
+ * `exportSkills`, is executed by the agent reading it. Literal code/command
9
+ * execution is deferred (security; a future sandbox). The distinguishing
10
+ * capability is therefore the EXPORT renderer, not a runtime.
11
+ *
12
+ * Reuses the process/decision supersede machinery verbatim (superseded_by self-FK
13
+ * + CAS + INSERT-preflight + server-derived version + change_summary + supersede
14
+ * tenant-match trigger). It DROPS process's `steps` (a skill's content is a single
15
+ * `instructions` body) and ADDS `trigger` (stored in the `trigger_text` column -
16
+ * `trigger` is a SQLite reserved keyword).
17
+ *
18
+ * The `skills` table is the source of truth (survives memory decay); the memory
19
+ * mirror is for recall. memory_id is NULLABLE with ON DELETE SET NULL.
20
+ *
21
+ * Lifecycle: active -> superseded (a newer version replaces it) or active ->
22
+ * closed (retired). Export renders ACTIVE skills only.
23
+ */
24
+ import { openHippoDb, closeHippoDb } from './db.js';
25
+ import { writeEntry, assertTenantId } from './store.js';
26
+ import { createMemory, Layer, SKILL_HALF_LIFE_DAYS } from './memory.js';
27
+ import { appendAuditEvent } from './audit.js';
28
+ export const VALID_SKILL_STATES = new Set([
29
+ 'active',
30
+ 'superseded',
31
+ 'closed',
32
+ ]);
33
+ /** Field caps (untrusted at the HTTP/SDK boundary). instructions is a body, so a
34
+ * larger cap than the 4096 short-field convention. */
35
+ export const MAX_SKILL_NAME_LEN = 256;
36
+ export const MAX_SKILL_INSTRUCTIONS_LEN = 8192;
37
+ export const MAX_SKILL_TRIGGER_LEN = 1024;
38
+ /** Aggregate bound on a single export render (plan-eng-critic: cap the unbounded
39
+ * export body). Realistic active-skill counts are tens; 1000 is a generous bound. */
40
+ export const MAX_EXPORT_SKILLS = 1000;
41
+ // ---------------------------------------------------------------------------
42
+ // Validation
43
+ // ---------------------------------------------------------------------------
44
+ /**
45
+ * Validate + normalise skill fields. skill_name is trimmed and MUST be a single
46
+ * line (no newlines) so it cannot break the H2 header in the export render
47
+ * (plan-eng-critic). instructions are kept verbatim (operator content) but capped.
48
+ * Returns the normalised name + trigger (null when absent/empty).
49
+ */
50
+ function validateSkillFields(skillName, instructions, trigger) {
51
+ const name = (skillName ?? '').trim();
52
+ if (name.length === 0)
53
+ throw new Error('saveSkill: skillName is required');
54
+ if (/[\r\n]/.test(name))
55
+ throw new Error('saveSkill: skillName must be a single line (no newlines)');
56
+ if (name.length > MAX_SKILL_NAME_LEN) {
57
+ throw new Error(`saveSkill: skillName exceeds the ${MAX_SKILL_NAME_LEN}-char cap`);
58
+ }
59
+ if (!instructions || instructions.trim().length === 0) {
60
+ throw new Error('saveSkill: instructions are required');
61
+ }
62
+ if (instructions.length > MAX_SKILL_INSTRUCTIONS_LEN) {
63
+ throw new Error(`saveSkill: instructions exceed the ${MAX_SKILL_INSTRUCTIONS_LEN}-char cap`);
64
+ }
65
+ let triggerVal = null;
66
+ if (trigger !== undefined && trigger !== null && trigger.trim().length > 0) {
67
+ if (trigger.length > MAX_SKILL_TRIGGER_LEN) {
68
+ throw new Error(`saveSkill: trigger exceeds the ${MAX_SKILL_TRIGGER_LEN}-char cap`);
69
+ }
70
+ // Single-line, like skill_name: a trigger is a short "when to apply" phrase,
71
+ // and a newline would let it forge a heading inside the export **When:** line
72
+ // (independent-review 2026-05-30). Reject rather than emit a multi-line trigger.
73
+ if (/[\r\n]/.test(trigger)) {
74
+ throw new Error('saveSkill: trigger must be a single line (no newlines)');
75
+ }
76
+ triggerVal = trigger;
77
+ }
78
+ return { name, trigger: triggerVal };
79
+ }
80
+ function rowToSkill(row) {
81
+ return {
82
+ id: row.id,
83
+ memoryId: row.memory_id,
84
+ tenantId: row.tenant_id,
85
+ skillName: row.skill_name,
86
+ instructions: row.instructions,
87
+ trigger: row.trigger_text,
88
+ version: row.version,
89
+ status: row.status,
90
+ supersededBy: row.superseded_by,
91
+ supersededAt: row.superseded_at,
92
+ changeSummary: row.change_summary,
93
+ closedAt: row.closed_at,
94
+ createdAt: row.created_at,
95
+ };
96
+ }
97
+ const SKILL_COLS = `
98
+ id, memory_id, tenant_id, skill_name, instructions, trigger_text, version, status,
99
+ superseded_by, superseded_at, change_summary, closed_at, created_at
100
+ `;
101
+ /** Recall-surface content for the memory mirror: name + optional trigger +
102
+ * instructions. Named (mirrors buildProcessContent) so the recall surface is
103
+ * deterministic + unit-testable. */
104
+ function buildSkillContent(skillName, instructions, trigger) {
105
+ let content = skillName;
106
+ if (trigger)
107
+ content += `\n\nWhen: ${trigger}`;
108
+ content += `\n\n${instructions}`;
109
+ return content;
110
+ }
111
+ // ---------------------------------------------------------------------------
112
+ // Public API
113
+ // ---------------------------------------------------------------------------
114
+ /**
115
+ * Create a skill (or a new version that supersedes an existing one). Writes the
116
+ * memory mirror + the skills row atomically inside writeEntry's SAVEPOINT. When
117
+ * supersedesSkillId is given, the referenced ACTIVE row is preflighted (status +
118
+ * version) BEFORE the INSERT, then CAS-UPDATEd -> superseded in the same SAVEPOINT;
119
+ * the new version = predecessor.version + 1 (server-derived).
120
+ */
121
+ export function saveSkill(hippoRoot, tenantId, opts, actor = 'cli') {
122
+ assertTenantId('saveSkill', tenantId);
123
+ const { name, trigger } = validateSkillFields(opts.skillName, opts.instructions, opts.trigger);
124
+ const isSupersede = opts.supersedesSkillId !== undefined;
125
+ const changeSummary = isSupersede ? (opts.changeSummary ?? null) : null;
126
+ const now = new Date().toISOString();
127
+ const content = buildSkillContent(name, opts.instructions, trigger);
128
+ const tags = ['skill', ...(opts.extraTags ?? [])];
129
+ const mem = createMemory(content, {
130
+ tags,
131
+ layer: Layer.Semantic,
132
+ confidence: 'verified',
133
+ source: 'skill',
134
+ tenantId,
135
+ });
136
+ mem.half_life_days = SKILL_HALF_LIFE_DAYS;
137
+ let savedRow;
138
+ writeEntry(hippoRoot, mem, {
139
+ actor,
140
+ afterWrite: (db, memoryId) => {
141
+ // Preflight the supersede target BEFORE inserting the new row (so the new
142
+ // autoincrement id can never be its own supersede target); read the
143
+ // predecessor version in the same SELECT for server-derived versioning.
144
+ // Mirrors saveProcess / savePolicy (codex P1 2026-05-28).
145
+ let version = 1;
146
+ if (opts.supersedesSkillId !== undefined) {
147
+ const pred = db.prepare(`SELECT status, version FROM skills WHERE id = ? AND tenant_id = ?`).get(opts.supersedesSkillId, tenantId);
148
+ if (!pred) {
149
+ throw new Error(`saveSkill: skill ${opts.supersedesSkillId} to supersede not found for tenant ${tenantId}`);
150
+ }
151
+ if (pred.status !== 'active') {
152
+ throw new Error(`saveSkill: skill ${opts.supersedesSkillId} is not active (status='${pred.status}'); only active skills can be superseded.`);
153
+ }
154
+ version = pred.version + 1;
155
+ }
156
+ const result = db.prepare(`
157
+ INSERT INTO skills(
158
+ memory_id, tenant_id, skill_name, instructions, trigger_text, version,
159
+ status, superseded_by, superseded_at, change_summary, closed_at, created_at
160
+ ) VALUES (?, ?, ?, ?, ?, ?, 'active', NULL, NULL, ?, NULL, ?)
161
+ `).run(memoryId, tenantId, name, opts.instructions, trigger, version, changeSummary, now);
162
+ const skillId = Number(result.lastInsertRowid ?? 0);
163
+ if (opts.supersedesSkillId !== undefined) {
164
+ const sup = db.prepare(`
165
+ UPDATE skills
166
+ SET status = 'superseded', superseded_by = ?, superseded_at = ?
167
+ WHERE id = ? AND tenant_id = ? AND status = 'active' AND id != ?
168
+ `).run(skillId, now, opts.supersedesSkillId, tenantId, skillId);
169
+ if (sup.changes === 0) {
170
+ throw new Error(`saveSkill: skill ${opts.supersedesSkillId} could not be superseded (no longer active or self-reference).`);
171
+ }
172
+ appendAuditEvent(db, {
173
+ tenantId,
174
+ actor,
175
+ op: 'skill_supersede',
176
+ targetId: String(opts.supersedesSkillId),
177
+ metadata: {
178
+ skill_id: opts.supersedesSkillId,
179
+ superseded_by: skillId,
180
+ new_version: version,
181
+ },
182
+ });
183
+ }
184
+ const row = db.prepare(`SELECT ${SKILL_COLS} FROM skills WHERE id = ?`)
185
+ .get(skillId);
186
+ if (!row)
187
+ throw new Error('saveSkill: failed to reload saved skill row');
188
+ savedRow = row;
189
+ // GDPR-light metadata: ids + flags only, no skill text.
190
+ appendAuditEvent(db, {
191
+ tenantId,
192
+ actor,
193
+ op: 'skill_create',
194
+ targetId: String(skillId),
195
+ metadata: {
196
+ skill_id: skillId,
197
+ version,
198
+ has_trigger: trigger !== null,
199
+ },
200
+ });
201
+ },
202
+ });
203
+ if (!savedRow) {
204
+ throw new Error('saveSkill: afterWrite did not populate the row');
205
+ }
206
+ return rowToSkill(savedRow);
207
+ }
208
+ /**
209
+ * Close (retire) an active skill. CAS guard WHERE status='active'; 0 changes
210
+ * distinguishes not-found from not-active. A superseded row is terminal.
211
+ */
212
+ export function closeSkill(hippoRoot, tenantId, id, actor = 'cli') {
213
+ assertTenantId('closeSkill', tenantId);
214
+ const now = new Date().toISOString();
215
+ const db = openHippoDb(hippoRoot);
216
+ try {
217
+ db.exec('BEGIN IMMEDIATE');
218
+ try {
219
+ const updateResult = db.prepare(`
220
+ UPDATE skills
221
+ SET status = 'closed', closed_at = ?
222
+ WHERE id = ? AND tenant_id = ? AND status = 'active'
223
+ `).run(now, id, tenantId);
224
+ if (updateResult.changes === 0) {
225
+ const existing = db.prepare(`SELECT status FROM skills WHERE id = ? AND tenant_id = ?`).get(id, tenantId);
226
+ if (!existing) {
227
+ throw new Error(`closeSkill: skill ${id} not found for tenant ${tenantId}`);
228
+ }
229
+ throw new Error(`closeSkill: skill ${id} is not active (status='${existing.status}'); only active skills can be closed.`);
230
+ }
231
+ const row = db.prepare(`SELECT ${SKILL_COLS} FROM skills WHERE id = ? AND tenant_id = ?`)
232
+ .get(id, tenantId);
233
+ if (!row)
234
+ throw new Error(`closeSkill: skill ${id} not found after UPDATE`);
235
+ appendAuditEvent(db, {
236
+ tenantId,
237
+ actor,
238
+ op: 'skill_close',
239
+ targetId: String(id),
240
+ metadata: { skill_id: id },
241
+ });
242
+ db.exec('COMMIT');
243
+ return rowToSkill(row);
244
+ }
245
+ catch (e) {
246
+ try {
247
+ db.exec('ROLLBACK');
248
+ }
249
+ catch {
250
+ // Ignore rollback failures — the throw below is what matters.
251
+ }
252
+ throw e;
253
+ }
254
+ }
255
+ finally {
256
+ closeHippoDb(db);
257
+ }
258
+ }
259
+ export function loadSkillById(hippoRoot, tenantId, id) {
260
+ assertTenantId('loadSkillById', tenantId);
261
+ const db = openHippoDb(hippoRoot);
262
+ try {
263
+ const row = db.prepare(`SELECT ${SKILL_COLS} FROM skills WHERE id = ? AND tenant_id = ?`)
264
+ .get(id, tenantId);
265
+ return row ? rowToSkill(row) : null;
266
+ }
267
+ finally {
268
+ closeHippoDb(db);
269
+ }
270
+ }
271
+ export function loadSkills(hippoRoot, tenantId, opts = {}) {
272
+ assertTenantId('loadSkills', tenantId);
273
+ const limit = opts.limit ?? 100;
274
+ const db = openHippoDb(hippoRoot);
275
+ try {
276
+ let rows;
277
+ if (opts.status) {
278
+ if (!VALID_SKILL_STATES.has(opts.status)) {
279
+ throw new Error(`loadSkills: status must be one of ${Array.from(VALID_SKILL_STATES).join('|')}; got ${opts.status}`);
280
+ }
281
+ rows = db.prepare(`
282
+ SELECT ${SKILL_COLS} FROM skills
283
+ WHERE tenant_id = ? AND status = ?
284
+ ORDER BY created_at DESC, id DESC
285
+ LIMIT ?
286
+ `).all(tenantId, opts.status, limit);
287
+ }
288
+ else {
289
+ rows = db.prepare(`
290
+ SELECT ${SKILL_COLS} FROM skills
291
+ WHERE tenant_id = ?
292
+ ORDER BY created_at DESC, id DESC
293
+ LIMIT ?
294
+ `).all(tenantId, limit);
295
+ }
296
+ return rows.map(rowToSkill);
297
+ }
298
+ finally {
299
+ closeHippoDb(db);
300
+ }
301
+ }
302
+ export function loadActiveSkills(hippoRoot, tenantId, opts = {}) {
303
+ return loadSkills(hippoRoot, tenantId, { status: 'active', limit: opts.limit });
304
+ }
305
+ /**
306
+ * Render the tenant's ACTIVE skills into ONE AGENTS.md / CLAUDE.md-style markdown
307
+ * block (one H2 per skill, ordered by skill_name ASC for determinism), and RETURN
308
+ * the string. Does NOT write any file. Returns '' when there are no active skills.
309
+ *
310
+ * skill_name is single-line (validated on save) so it cannot break the H2 header;
311
+ * instructions are emitted verbatim (operator content). Bounded by MAX_EXPORT_SKILLS
312
+ * active rows; each field is capped on save, so the rendered string is bounded.
313
+ */
314
+ export function exportSkills(hippoRoot, tenantId) {
315
+ assertTenantId('exportSkills', tenantId);
316
+ const db = openHippoDb(hippoRoot);
317
+ try {
318
+ const rows = db.prepare(`
319
+ SELECT ${SKILL_COLS} FROM skills
320
+ WHERE tenant_id = ? AND status = 'active'
321
+ ORDER BY skill_name ASC, id ASC
322
+ LIMIT ?
323
+ `).all(tenantId, MAX_EXPORT_SKILLS);
324
+ return rows
325
+ .map(rowToSkill)
326
+ .map((s) => {
327
+ let block = `## ${s.skillName}`;
328
+ if (s.trigger)
329
+ block += `\n\n**When:** ${s.trigger}`;
330
+ block += `\n\n${s.instructions}`;
331
+ return block;
332
+ })
333
+ .join('\n\n');
334
+ }
335
+ finally {
336
+ closeHippoDb(db);
337
+ }
338
+ }
339
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IACnE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;IAC/D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACjE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACvE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;IACrE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM;IACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;CACpE,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC/C,MAAM,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,kCAAkC;IAClC,IAAI,oDAAoD,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,mCAAmC;IACnC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,gDAAgD;IAChD,IAAI,8DAA8D,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,gBAAgB;IAChB,IAAI,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,gBAAgB;IAChB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACnE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,SAAS,IAAI,aAAa,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAErC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC7F,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC9F,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,2CAA2C,EAAE,CAAC;IACjH,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;IAC3G,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,WAAW,kCAAkC,EAAE,CAAC;IAC7H,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,mDAAmD,EAAE,CAAC;IAC3H,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAwCD,uEAAuE;AACvE,0EAA0E;AAC1E,0EAA0E;AAC1E,wDAAwD;AACxD,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAc;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAoB,EAAE,IAAqB;IAC1E,EAAE,CAAC,OAAO,CACR,sGAAsG,CACvG,CAAC,GAAG,CACH,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CACxD,CAAC;AACJ,CAAC;AAmBD,MAAM,UAAU,gBAAgB,CAAC,EAAoB,EAAE,IAAoB;IACzE,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;8BACwB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAChF;SACA,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAQrB,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,EAAE,EAAE,CAAC,CAAC,EAAa;QACnB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;KACzC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IACnE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;IAC/D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACjE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACvE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;IACrE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM;IACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;CACpE,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC/C,MAAM,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,kCAAkC;IAClC,IAAI,oDAAoD,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,mCAAmC;IACnC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,gDAAgD;IAChD,IAAI,8DAA8D,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,gBAAgB;IAChB,IAAI,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,gBAAgB;IAChB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACnE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,SAAS,IAAI,aAAa,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAErC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC7F,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC9F,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,2CAA2C,EAAE,CAAC;IACjH,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;IAC3G,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,WAAW,kCAAkC,EAAE,CAAC;IAC7H,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,mDAAmD,EAAE,CAAC;IAC3H,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AA6DD,uEAAuE;AACvE,0EAA0E;AAC1E,0EAA0E;AAC1E,wDAAwD;AACxD,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAc;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAoB,EAAE,IAAqB;IAC1E,EAAE,CAAC,OAAO,CACR,sGAAsG,CACvG,CAAC,GAAG,CACH,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CACxD,CAAC;AACJ,CAAC;AAmBD,MAAM,UAAU,gBAAgB,CAAC,EAAoB,EAAE,IAAoB;IACzE,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;8BACwB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAChF;SACA,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAQrB,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,EAAE,EAAE,CAAC,CAAC,EAAa;QACnB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;KACzC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}