@geotechcli/core 0.4.44 → 0.4.45
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/agents/brain.d.ts.map +1 -1
- package/dist/agents/brain.js +2 -3
- package/dist/agents/brain.js.map +1 -1
- package/dist/agents/data-tools.js +44 -5
- package/dist/agents/data-tools.js.map +1 -1
- package/dist/agents/safety.d.ts +1 -0
- package/dist/agents/safety.d.ts.map +1 -1
- package/dist/agents/safety.js +26 -0
- package/dist/agents/safety.js.map +1 -1
- package/dist/agents/swarm.d.ts.map +1 -1
- package/dist/agents/swarm.js +2 -3
- package/dist/agents/swarm.js.map +1 -1
- package/dist/ingest/document-evidence-packet.d.ts +777 -0
- package/dist/ingest/document-evidence-packet.d.ts.map +1 -0
- package/dist/ingest/document-evidence-packet.js +542 -0
- package/dist/ingest/document-evidence-packet.js.map +1 -0
- package/dist/ingest/geotech-document-benchmark.d.ts +15 -0
- package/dist/ingest/geotech-document-benchmark.d.ts.map +1 -1
- package/dist/ingest/geotech-document-benchmark.js +18 -0
- package/dist/ingest/geotech-document-benchmark.js.map +1 -1
- package/dist/ingest/geotech-document.d.ts +2 -0
- package/dist/ingest/geotech-document.d.ts.map +1 -1
- package/dist/ingest/geotech-document.js +3 -1
- package/dist/ingest/geotech-document.js.map +1 -1
- package/dist/ingest/index.d.ts +1 -0
- package/dist/ingest/index.d.ts.map +1 -1
- package/dist/ingest/index.js +1 -0
- package/dist/ingest/index.js.map +1 -1
- package/dist/ingest/job-worker.d.ts.map +1 -1
- package/dist/ingest/job-worker.js +4 -2
- package/dist/ingest/job-worker.js.map +1 -1
- package/dist/meta/metadata.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-evidence-packet.d.ts","sourceRoot":"","sources":["../../src/ingest/document-evidence-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAGV,2BAA2B,EAE5B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,uCAAuC,IAAI,CAAC;AAEzD,eAAO,MAAM,4BAA4B,oFAMvC,CAAC;AAEH,eAAO,MAAM,kCAAkC,iEAK7C,CAAC;AAEH,eAAO,MAAM,qCAAqC,wDAIhD,CAAC;AAqFH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,MAAM,WAAW,8CAA8C;IAC7D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B,GAAG,sBAAsB,CA4GvG;AAED,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,2BAA2B,EAChF,MAAM,EAAE,CAAC,GACR,CAAC,GAAG;IAAE,cAAc,EAAE,sBAAsB,CAAA;CAAE,CAKhD;AAED,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,GAAE,8CAAmD,GAC3D,MAAM,CAqDR;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,2BAA2B,EACnC,OAAO,GAAE,8CAAmD,GAC3D,MAAM,CAKR"}
|
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const DOCUMENT_EVIDENCE_PACKET_SCHEMA_VERSION = 1;
|
|
3
|
+
export const DocumentEvidenceMethodSchema = z.enum([
|
|
4
|
+
'native-pdf-text',
|
|
5
|
+
'layout-ocr',
|
|
6
|
+
'visual-reasoning',
|
|
7
|
+
'hybrid',
|
|
8
|
+
'none',
|
|
9
|
+
]);
|
|
10
|
+
export const DocumentEvidenceReviewStatusSchema = z.enum([
|
|
11
|
+
'verified',
|
|
12
|
+
'needs_review',
|
|
13
|
+
'missing',
|
|
14
|
+
'uncertain',
|
|
15
|
+
]);
|
|
16
|
+
export const DocumentEvidenceObservationTypeSchema = z.enum([
|
|
17
|
+
'material',
|
|
18
|
+
'classification',
|
|
19
|
+
'parameter',
|
|
20
|
+
]);
|
|
21
|
+
const SourceSchema = z.object({
|
|
22
|
+
fileName: z.string().optional(),
|
|
23
|
+
filePath: z.string().optional(),
|
|
24
|
+
inputKind: z.enum(['image', 'pdf']),
|
|
25
|
+
pageRange: z.tuple([z.number().int().positive(), z.number().int().positive()]).optional(),
|
|
26
|
+
totalPages: z.number().int().nonnegative(),
|
|
27
|
+
successfulPages: z.number().int().nonnegative(),
|
|
28
|
+
failedPages: z.number().int().nonnegative(),
|
|
29
|
+
});
|
|
30
|
+
const DocumentSchema = z.object({
|
|
31
|
+
title: z.string().nullable(),
|
|
32
|
+
documentClass: z.string().nullable(),
|
|
33
|
+
parseStatus: z.enum(['parsed', 'partial', 'failed']),
|
|
34
|
+
confidence: z.number().min(0).max(100),
|
|
35
|
+
reviewRequired: z.boolean(),
|
|
36
|
+
canAutoProceed: z.boolean(),
|
|
37
|
+
});
|
|
38
|
+
const PageSchema = z.object({
|
|
39
|
+
pageNumber: z.number().int().positive(),
|
|
40
|
+
classification: z.string().nullable(),
|
|
41
|
+
parseStatus: z.enum(['parsed', 'partial', 'failed']),
|
|
42
|
+
confidence: z.number().min(0).max(100),
|
|
43
|
+
method: DocumentEvidenceMethodSchema,
|
|
44
|
+
rawSource: z.string(),
|
|
45
|
+
sourceCategory: z.enum(['native-text', 'layout-ocr', 'vision', 'none']),
|
|
46
|
+
cacheStatus: z.enum(['hit', 'miss', 'stored', 'skipped', 'unavailable']),
|
|
47
|
+
cacheEntryId: z.string().optional(),
|
|
48
|
+
counts: z.object({
|
|
49
|
+
materials: z.number().int().nonnegative(),
|
|
50
|
+
classifications: z.number().int().nonnegative(),
|
|
51
|
+
parameters: z.number().int().nonnegative(),
|
|
52
|
+
}),
|
|
53
|
+
warnings: z.array(z.string()),
|
|
54
|
+
});
|
|
55
|
+
const ObservationSchema = z.object({
|
|
56
|
+
id: z.string(),
|
|
57
|
+
type: DocumentEvidenceObservationTypeSchema,
|
|
58
|
+
label: z.string(),
|
|
59
|
+
value: z.union([z.string(), z.number(), z.boolean(), z.null()]),
|
|
60
|
+
numericValue: z.number().nullable().optional(),
|
|
61
|
+
unit: z.string().nullable().optional(),
|
|
62
|
+
material: z.string().nullable().optional(),
|
|
63
|
+
context: z.string().nullable().optional(),
|
|
64
|
+
sourcePages: z.array(z.number().int().positive()),
|
|
65
|
+
method: DocumentEvidenceMethodSchema,
|
|
66
|
+
confidence: z.number().min(0).max(100),
|
|
67
|
+
reviewStatus: DocumentEvidenceReviewStatusSchema,
|
|
68
|
+
warnings: z.array(z.string()),
|
|
69
|
+
});
|
|
70
|
+
const ContentChunkSchema = z.object({
|
|
71
|
+
chunkId: z.string(),
|
|
72
|
+
pageRange: z.tuple([z.number().int().positive(), z.number().int().positive()]),
|
|
73
|
+
headingAncestry: z.array(z.string()),
|
|
74
|
+
scope: z.enum(['page', 'table', 'figure', 'section']),
|
|
75
|
+
sectionType: z.string().optional(),
|
|
76
|
+
significance: z.number().optional(),
|
|
77
|
+
sourcePages: z.array(z.number().int().positive()),
|
|
78
|
+
text: z.string(),
|
|
79
|
+
});
|
|
80
|
+
const ReviewFindingSchema = z.object({
|
|
81
|
+
code: z.string(),
|
|
82
|
+
severity: z.enum(['advisory', 'review', 'blocking']),
|
|
83
|
+
scope: z.enum(['document', 'page', 'material']),
|
|
84
|
+
message: z.string(),
|
|
85
|
+
pageNumber: z.number().int().positive().optional(),
|
|
86
|
+
materialDescription: z.string().optional(),
|
|
87
|
+
});
|
|
88
|
+
const SynthesisSchema = z.object({
|
|
89
|
+
takeaways: z.array(z.string()),
|
|
90
|
+
groundModel: z.array(z.string()),
|
|
91
|
+
keyParameters: z.array(z.string()),
|
|
92
|
+
interpretation: z.array(z.string()),
|
|
93
|
+
limitations: z.array(z.string()),
|
|
94
|
+
sourcePages: z.array(z.number().int().positive()),
|
|
95
|
+
latencyMs: z.number().nonnegative().optional(),
|
|
96
|
+
}).nullable();
|
|
97
|
+
export const DocumentEvidencePacketSchema = z.object({
|
|
98
|
+
kind: z.literal('document-evidence-packet'),
|
|
99
|
+
schemaVersion: z.literal(DOCUMENT_EVIDENCE_PACKET_SCHEMA_VERSION),
|
|
100
|
+
generatedAt: z.string(),
|
|
101
|
+
providerContract: z.object({
|
|
102
|
+
providerNeutral: z.literal(true),
|
|
103
|
+
purpose: z.literal('byok-document-understanding'),
|
|
104
|
+
normalizedMethods: z.array(DocumentEvidenceMethodSchema),
|
|
105
|
+
reviewGates: z.array(z.string()),
|
|
106
|
+
}),
|
|
107
|
+
source: SourceSchema,
|
|
108
|
+
document: DocumentSchema,
|
|
109
|
+
pages: z.array(PageSchema),
|
|
110
|
+
observations: z.object({
|
|
111
|
+
materials: z.array(ObservationSchema),
|
|
112
|
+
classifications: z.array(ObservationSchema),
|
|
113
|
+
parameters: z.array(ObservationSchema),
|
|
114
|
+
}),
|
|
115
|
+
contentChunks: z.array(ContentChunkSchema),
|
|
116
|
+
synthesis: SynthesisSchema,
|
|
117
|
+
review: z.object({
|
|
118
|
+
warnings: z.array(z.string()),
|
|
119
|
+
reviewReasons: z.array(z.string()),
|
|
120
|
+
findings: z.array(ReviewFindingSchema),
|
|
121
|
+
}),
|
|
122
|
+
traceability: z.object({
|
|
123
|
+
sourcePages: z.array(z.number().int().positive()),
|
|
124
|
+
pagesWithEvidence: z.array(z.number().int().positive()),
|
|
125
|
+
directVisualPages: z.array(z.number().int().positive()),
|
|
126
|
+
layoutOcrPages: z.array(z.number().int().positive()),
|
|
127
|
+
nativeTextPages: z.array(z.number().int().positive()),
|
|
128
|
+
boreholeIds: z.array(z.string()),
|
|
129
|
+
maxDepthMeters: z.number().nullable(),
|
|
130
|
+
parametersWithSourcePage: z.number().int().nonnegative(),
|
|
131
|
+
parametersWithoutSourcePage: z.number().int().nonnegative(),
|
|
132
|
+
parameterTraceabilityRate: z.number().min(0).max(1),
|
|
133
|
+
methodCounts: z.record(z.string(), z.number().int().nonnegative()),
|
|
134
|
+
}),
|
|
135
|
+
});
|
|
136
|
+
export function buildDocumentEvidencePacket(result) {
|
|
137
|
+
const pages = result.pageAudits.map((audit) => buildEvidencePage(audit));
|
|
138
|
+
const traceability = buildTraceability(result, pages);
|
|
139
|
+
const packet = {
|
|
140
|
+
kind: 'document-evidence-packet',
|
|
141
|
+
schemaVersion: DOCUMENT_EVIDENCE_PACKET_SCHEMA_VERSION,
|
|
142
|
+
generatedAt: result.generatedAt,
|
|
143
|
+
providerContract: {
|
|
144
|
+
providerNeutral: true,
|
|
145
|
+
purpose: 'byok-document-understanding',
|
|
146
|
+
normalizedMethods: ['native-pdf-text', 'layout-ocr', 'visual-reasoning', 'hybrid', 'none'],
|
|
147
|
+
reviewGates: buildReviewGates(result),
|
|
148
|
+
},
|
|
149
|
+
source: {
|
|
150
|
+
...(result.source.fileName ? { fileName: result.source.fileName } : {}),
|
|
151
|
+
...(result.source.filePath ? { filePath: result.source.filePath } : {}),
|
|
152
|
+
inputKind: result.source.inputKind,
|
|
153
|
+
...(result.source.pageRange ? { pageRange: result.source.pageRange } : {}),
|
|
154
|
+
totalPages: result.source.totalPages,
|
|
155
|
+
successfulPages: result.source.successfulPages,
|
|
156
|
+
failedPages: result.source.failedPages,
|
|
157
|
+
},
|
|
158
|
+
document: {
|
|
159
|
+
title: result.title,
|
|
160
|
+
documentClass: result.documentClass,
|
|
161
|
+
parseStatus: result.parseStatus,
|
|
162
|
+
confidence: normalizeConfidence(result.confidence),
|
|
163
|
+
reviewRequired: result.reviewRequired,
|
|
164
|
+
canAutoProceed: result.canAutoProceed,
|
|
165
|
+
},
|
|
166
|
+
pages,
|
|
167
|
+
observations: {
|
|
168
|
+
materials: result.materials.map((material, index) => {
|
|
169
|
+
const sourcePages = sourcePagesFromObservation(material.sourcePages, material.description);
|
|
170
|
+
return {
|
|
171
|
+
id: observationId('material', index, material.description),
|
|
172
|
+
type: 'material',
|
|
173
|
+
label: material.kind,
|
|
174
|
+
value: material.description,
|
|
175
|
+
material: material.lithology,
|
|
176
|
+
context: material.uscsSymbol ? `USCS ${material.uscsSymbol}` : null,
|
|
177
|
+
sourcePages,
|
|
178
|
+
method: methodForSourcePages(sourcePages, pages),
|
|
179
|
+
confidence: confidenceForSourcePages(sourcePages, pages, result.confidence),
|
|
180
|
+
reviewStatus: sourcePages.length > 0 ? 'verified' : 'needs_review',
|
|
181
|
+
warnings: [],
|
|
182
|
+
};
|
|
183
|
+
}),
|
|
184
|
+
classifications: result.classifications.map((classification, index) => {
|
|
185
|
+
const sourcePages = sourcePagesFromObservation(classification.sourcePages, classification.context);
|
|
186
|
+
return {
|
|
187
|
+
id: observationId('classification', index, `${classification.system}:${classification.value}`),
|
|
188
|
+
type: 'classification',
|
|
189
|
+
label: classification.system,
|
|
190
|
+
value: classification.value,
|
|
191
|
+
context: classification.context,
|
|
192
|
+
sourcePages,
|
|
193
|
+
method: methodForSourcePages(sourcePages, pages),
|
|
194
|
+
confidence: confidenceForSourcePages(sourcePages, pages, result.confidence),
|
|
195
|
+
reviewStatus: sourcePages.length > 0 ? 'verified' : 'needs_review',
|
|
196
|
+
warnings: [],
|
|
197
|
+
};
|
|
198
|
+
}),
|
|
199
|
+
parameters: result.parameters.map((parameter, index) => {
|
|
200
|
+
const sourcePages = sourcePagesFromObservation(parameter.sourcePages, parameter.context);
|
|
201
|
+
const missing = isMissingValue(parameter.valueText, parameter.numericValue);
|
|
202
|
+
return {
|
|
203
|
+
id: observationId('parameter', index, `${parameter.name}:${parameter.valueText}`),
|
|
204
|
+
type: 'parameter',
|
|
205
|
+
label: parameter.name,
|
|
206
|
+
value: parameter.valueText,
|
|
207
|
+
numericValue: parameter.numericValue,
|
|
208
|
+
unit: parameter.unit,
|
|
209
|
+
material: parameter.material,
|
|
210
|
+
context: parameter.context,
|
|
211
|
+
sourcePages,
|
|
212
|
+
method: methodForSourcePages(sourcePages, pages),
|
|
213
|
+
confidence: missing ? 0 : confidenceForSourcePages(sourcePages, pages, result.confidence),
|
|
214
|
+
reviewStatus: missing
|
|
215
|
+
? 'missing'
|
|
216
|
+
: sourcePages.length > 0
|
|
217
|
+
? 'verified'
|
|
218
|
+
: 'needs_review',
|
|
219
|
+
warnings: missing ? ['Value is missing or not extracted.'] : [],
|
|
220
|
+
};
|
|
221
|
+
}),
|
|
222
|
+
},
|
|
223
|
+
contentChunks: (result.contentChunks ?? []).map(compactContentChunk),
|
|
224
|
+
synthesis: result.synthesis
|
|
225
|
+
? {
|
|
226
|
+
takeaways: result.synthesis.takeaways,
|
|
227
|
+
groundModel: result.synthesis.groundModel,
|
|
228
|
+
keyParameters: result.synthesis.keyParameters,
|
|
229
|
+
interpretation: result.synthesis.interpretation,
|
|
230
|
+
limitations: result.synthesis.limitations,
|
|
231
|
+
sourcePages: normalizePages(result.synthesis.sourcePages),
|
|
232
|
+
...(Number.isFinite(result.synthesis.latencyMs) ? { latencyMs: Math.max(0, Math.round(result.synthesis.latencyMs)) } : {}),
|
|
233
|
+
}
|
|
234
|
+
: null,
|
|
235
|
+
review: {
|
|
236
|
+
warnings: result.warnings,
|
|
237
|
+
reviewReasons: result.reviewReasons,
|
|
238
|
+
findings: result.reviewFindings.map(compactReviewFinding),
|
|
239
|
+
},
|
|
240
|
+
traceability,
|
|
241
|
+
};
|
|
242
|
+
return DocumentEvidencePacketSchema.parse(packet);
|
|
243
|
+
}
|
|
244
|
+
export function attachDocumentEvidencePacket(result) {
|
|
245
|
+
return {
|
|
246
|
+
...result,
|
|
247
|
+
evidencePacket: buildDocumentEvidencePacket(result),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
export function summarizeDocumentEvidencePacketForAgent(packet, options = {}) {
|
|
251
|
+
const maxObservationsPerGroup = options.maxObservationsPerGroup ?? 8;
|
|
252
|
+
const maxReviewGates = options.maxReviewGates ?? 8;
|
|
253
|
+
const maxContentChars = options.maxContentChars ?? 2400;
|
|
254
|
+
const pageOutcomes = countPageOutcomes(packet);
|
|
255
|
+
const methods = Object.entries(packet.traceability.methodCounts)
|
|
256
|
+
.filter(([, count]) => count > 0)
|
|
257
|
+
.map(([method, count]) => `${method}:${count}`)
|
|
258
|
+
.join(', ') || 'none';
|
|
259
|
+
const reviewGates = packet.providerContract.reviewGates.slice(0, maxReviewGates);
|
|
260
|
+
const missingParameters = packet.observations.parameters
|
|
261
|
+
.filter((parameter) => parameter.reviewStatus === 'missing')
|
|
262
|
+
.slice(0, maxObservationsPerGroup)
|
|
263
|
+
.map((parameter) => parameter.label);
|
|
264
|
+
const reviewParameters = packet.observations.parameters
|
|
265
|
+
.filter((parameter) => parameter.reviewStatus === 'needs_review' || parameter.reviewStatus === 'uncertain')
|
|
266
|
+
.slice(0, maxObservationsPerGroup)
|
|
267
|
+
.map((parameter) => `${parameter.label}${parameter.context ? ` (${parameter.context})` : ''}`);
|
|
268
|
+
const verifiedParameters = packet.observations.parameters
|
|
269
|
+
.filter((parameter) => parameter.reviewStatus === 'verified')
|
|
270
|
+
.slice(0, maxObservationsPerGroup)
|
|
271
|
+
.map((parameter) => formatObservationForAgent(parameter));
|
|
272
|
+
const materials = packet.observations.materials
|
|
273
|
+
.slice(0, maxObservationsPerGroup)
|
|
274
|
+
.map((material) => formatObservationForAgent(material));
|
|
275
|
+
const classifications = packet.observations.classifications
|
|
276
|
+
.slice(0, maxObservationsPerGroup)
|
|
277
|
+
.map((classification) => formatObservationForAgent(classification));
|
|
278
|
+
const synthesis = [
|
|
279
|
+
...(packet.synthesis?.takeaways.slice(0, 4) ?? []),
|
|
280
|
+
...(packet.synthesis?.groundModel.slice(0, 4) ?? []),
|
|
281
|
+
...(packet.synthesis?.interpretation.slice(0, 3) ?? []),
|
|
282
|
+
...(packet.synthesis?.limitations.slice(0, 3) ?? []),
|
|
283
|
+
];
|
|
284
|
+
return compactText([
|
|
285
|
+
'DocumentEvidencePacket v1 provider-neutral agent context.',
|
|
286
|
+
`Source: ${packet.source.fileName ?? packet.source.filePath ?? packet.source.inputKind}; pages ${packet.source.successfulPages}/${packet.source.totalPages}; evidence pages ${pageList(packet.traceability.pagesWithEvidence)}.`,
|
|
287
|
+
`Document: ${packet.document.title ?? 'untitled'}; class ${packet.document.documentClass ?? 'unknown'}; status ${packet.document.parseStatus}; confidence ${packet.document.confidence}%; reviewRequired ${packet.document.reviewRequired ? 'yes' : 'no'}; canAutoProceed ${packet.document.canAutoProceed ? 'yes' : 'no'}.`,
|
|
288
|
+
`Methods: ${methods}; native pages ${pageList(packet.traceability.nativeTextPages)}; layout/OCR pages ${pageList(packet.traceability.layoutOcrPages)}; direct visual pages ${pageList(packet.traceability.directVisualPages)}.`,
|
|
289
|
+
`Page outcomes: parsed ${pageOutcomes.parsed}, partial ${pageOutcomes.partial}, failed ${pageOutcomes.failed}.`,
|
|
290
|
+
`Traceability: source pages ${pageList(packet.traceability.sourcePages)}; parameter source-page rate ${Math.round(packet.traceability.parameterTraceabilityRate * 100)}%; with source ${packet.traceability.parametersWithSourcePage}, without source ${packet.traceability.parametersWithoutSourcePage}.`,
|
|
291
|
+
`Boreholes: ${packet.traceability.boreholeIds.join(', ') || 'not detected'}; max depth ${packet.traceability.maxDepthMeters != null ? `${packet.traceability.maxDepthMeters} m` : 'not extracted'}.`,
|
|
292
|
+
reviewGates.length > 0 ? `Review gates: ${reviewGates.join('; ')}.` : 'Review gates: none.',
|
|
293
|
+
missingParameters.length > 0 ? `Missing parameters: ${missingParameters.join('; ')}.` : 'Missing parameters: none flagged in packet.',
|
|
294
|
+
reviewParameters.length > 0 ? `Parameters needing review: ${reviewParameters.join('; ')}.` : '',
|
|
295
|
+
verifiedParameters.length > 0 ? `Verified parameters: ${verifiedParameters.join('; ')}.` : '',
|
|
296
|
+
materials.length > 0 ? `Materials: ${materials.join('; ')}.` : '',
|
|
297
|
+
classifications.length > 0 ? `Classifications: ${classifications.join('; ')}.` : '',
|
|
298
|
+
synthesis.length > 0 ? `Synthesis evidence: ${synthesis.map((item) => compactText(item, 180)).join(' | ')}.` : '',
|
|
299
|
+
packet.review.warnings.length > 0 ? `Warnings: ${packet.review.warnings.slice(0, 6).join('; ')}.` : '',
|
|
300
|
+
'Agent rule: cite source pages from this packet; do not run deterministic calculations from missing, direct-visual-only, or needs-review evidence without explicit review/approval.',
|
|
301
|
+
].filter(Boolean).join('\n'), maxContentChars);
|
|
302
|
+
}
|
|
303
|
+
export function summarizeGeotechDocumentResultForAgent(result, options = {}) {
|
|
304
|
+
return summarizeDocumentEvidencePacketForAgent(result.evidencePacket ?? buildDocumentEvidencePacket(result), options);
|
|
305
|
+
}
|
|
306
|
+
function buildEvidencePage(audit) {
|
|
307
|
+
const cache = audit.evidenceCache;
|
|
308
|
+
return {
|
|
309
|
+
pageNumber: audit.pageNumber,
|
|
310
|
+
classification: audit.classification,
|
|
311
|
+
parseStatus: audit.parseStatus,
|
|
312
|
+
confidence: normalizeConfidence(audit.confidence),
|
|
313
|
+
method: methodFromTextHintSource(audit.textHintSource),
|
|
314
|
+
rawSource: audit.textHintSource,
|
|
315
|
+
sourceCategory: sourceCategoryFromTextHintSource(audit.textHintSource),
|
|
316
|
+
cacheStatus: cache?.status ?? 'unavailable',
|
|
317
|
+
...(cache?.entryId ? { cacheEntryId: cache.entryId } : {}),
|
|
318
|
+
counts: {
|
|
319
|
+
materials: audit.materialCount,
|
|
320
|
+
classifications: audit.classificationCount,
|
|
321
|
+
parameters: audit.parameterCount,
|
|
322
|
+
},
|
|
323
|
+
warnings: audit.warnings,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
function countPageOutcomes(packet) {
|
|
327
|
+
return packet.pages.reduce((counts, page) => {
|
|
328
|
+
counts[page.parseStatus] += 1;
|
|
329
|
+
return counts;
|
|
330
|
+
}, { parsed: 0, partial: 0, failed: 0 });
|
|
331
|
+
}
|
|
332
|
+
function pageList(pages) {
|
|
333
|
+
return pages.length > 0 ? pages.join(', ') : 'none';
|
|
334
|
+
}
|
|
335
|
+
function formatObservationForAgent(observation) {
|
|
336
|
+
const value = observation.unit ? `${String(observation.value)} ${observation.unit}` : String(observation.value);
|
|
337
|
+
const pageSuffix = observation.sourcePages.length > 0 ? ` p${observation.sourcePages.join(',')}` : ' no-source-page';
|
|
338
|
+
const confidenceSuffix = observation.confidence > 0 ? ` ${observation.confidence}%` : '';
|
|
339
|
+
return `${observation.label}=${value}${observation.material ? ` ${observation.material}` : ''}${pageSuffix}${confidenceSuffix}`;
|
|
340
|
+
}
|
|
341
|
+
function buildTraceability(result, pages) {
|
|
342
|
+
const parameterSourcePages = result.parameters.map((parameter) => sourcePagesFromObservation(parameter.sourcePages, parameter.context));
|
|
343
|
+
const parametersWithSourcePage = parameterSourcePages.filter((pagesForParameter) => pagesForParameter.length > 0).length;
|
|
344
|
+
const sourcePages = normalizePages([
|
|
345
|
+
...parameterSourcePages.flat(),
|
|
346
|
+
...result.materials.flatMap((material) => sourcePagesFromObservation(material.sourcePages, material.description)),
|
|
347
|
+
...result.classifications.flatMap((classification) => sourcePagesFromObservation(classification.sourcePages, classification.context)),
|
|
348
|
+
...(result.synthesis?.sourcePages ?? []),
|
|
349
|
+
...(result.contentChunks ?? []).flatMap((chunk) => chunk.sourcePages),
|
|
350
|
+
]);
|
|
351
|
+
const pagesWithEvidence = pages
|
|
352
|
+
.filter((page) => page.counts.materials + page.counts.classifications + page.counts.parameters > 0)
|
|
353
|
+
.map((page) => page.pageNumber);
|
|
354
|
+
const methodCounts = countMethods(pages);
|
|
355
|
+
const evidenceText = collectEvidenceText(result);
|
|
356
|
+
return {
|
|
357
|
+
sourcePages,
|
|
358
|
+
pagesWithEvidence: normalizePages(pagesWithEvidence),
|
|
359
|
+
directVisualPages: normalizePages(pages.filter((page) => page.rawSource === 'vision-visual').map((page) => page.pageNumber)),
|
|
360
|
+
layoutOcrPages: normalizePages(pages.filter((page) => page.sourceCategory === 'layout-ocr').map((page) => page.pageNumber)),
|
|
361
|
+
nativeTextPages: normalizePages(pages.filter((page) => page.sourceCategory === 'native-text').map((page) => page.pageNumber)),
|
|
362
|
+
boreholeIds: inferBoreholeIds(evidenceText),
|
|
363
|
+
maxDepthMeters: inferMaxDepthMeters(evidenceText),
|
|
364
|
+
parametersWithSourcePage,
|
|
365
|
+
parametersWithoutSourcePage: Math.max(0, result.parameters.length - parametersWithSourcePage),
|
|
366
|
+
parameterTraceabilityRate: result.parameters.length > 0
|
|
367
|
+
? roundRatio(parametersWithSourcePage / result.parameters.length)
|
|
368
|
+
: 0,
|
|
369
|
+
methodCounts,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
function compactContentChunk(chunk) {
|
|
373
|
+
return {
|
|
374
|
+
chunkId: chunk.chunkId,
|
|
375
|
+
pageRange: chunk.pageRange,
|
|
376
|
+
headingAncestry: chunk.headingAncestry,
|
|
377
|
+
scope: chunk.scope,
|
|
378
|
+
...(chunk.sectionType ? { sectionType: chunk.sectionType } : {}),
|
|
379
|
+
...(Number.isFinite(chunk.significance) ? { significance: chunk.significance } : {}),
|
|
380
|
+
sourcePages: normalizePages(chunk.sourcePages),
|
|
381
|
+
text: compactText(chunk.text, 1200),
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
function compactReviewFinding(finding) {
|
|
385
|
+
return {
|
|
386
|
+
code: finding.code,
|
|
387
|
+
severity: finding.severity,
|
|
388
|
+
scope: finding.scope,
|
|
389
|
+
message: finding.message,
|
|
390
|
+
...(finding.pageNumber != null ? { pageNumber: finding.pageNumber } : {}),
|
|
391
|
+
...(finding.materialDescription ? { materialDescription: finding.materialDescription } : {}),
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
function methodFromTextHintSource(source) {
|
|
395
|
+
if (source === 'native-text' || source === 'pdfjs-text') {
|
|
396
|
+
return 'native-pdf-text';
|
|
397
|
+
}
|
|
398
|
+
if (source === 'glm-ocr' || source === 'local-ocr') {
|
|
399
|
+
return 'layout-ocr';
|
|
400
|
+
}
|
|
401
|
+
if (source === 'vision-ocr' || source === 'vision-visual') {
|
|
402
|
+
return 'visual-reasoning';
|
|
403
|
+
}
|
|
404
|
+
return 'none';
|
|
405
|
+
}
|
|
406
|
+
function sourceCategoryFromTextHintSource(source) {
|
|
407
|
+
if (source === 'native-text' || source === 'pdfjs-text') {
|
|
408
|
+
return 'native-text';
|
|
409
|
+
}
|
|
410
|
+
if (source === 'glm-ocr' || source === 'local-ocr') {
|
|
411
|
+
return 'layout-ocr';
|
|
412
|
+
}
|
|
413
|
+
if (source === 'vision-ocr' || source === 'vision-visual') {
|
|
414
|
+
return 'vision';
|
|
415
|
+
}
|
|
416
|
+
return 'none';
|
|
417
|
+
}
|
|
418
|
+
function methodForSourcePages(sourcePages, pages) {
|
|
419
|
+
const methods = new Set(pages
|
|
420
|
+
.filter((page) => sourcePages.includes(page.pageNumber))
|
|
421
|
+
.map((page) => page.method)
|
|
422
|
+
.filter((method) => method !== 'none'));
|
|
423
|
+
if (methods.size > 1) {
|
|
424
|
+
return 'hybrid';
|
|
425
|
+
}
|
|
426
|
+
return [...methods][0] ?? 'none';
|
|
427
|
+
}
|
|
428
|
+
function confidenceForSourcePages(sourcePages, pages, fallback) {
|
|
429
|
+
const matching = pages
|
|
430
|
+
.filter((page) => sourcePages.includes(page.pageNumber) && Number.isFinite(page.confidence))
|
|
431
|
+
.map((page) => page.confidence);
|
|
432
|
+
if (matching.length === 0) {
|
|
433
|
+
return normalizeConfidence(fallback);
|
|
434
|
+
}
|
|
435
|
+
return normalizeConfidence(matching.reduce((sum, value) => sum + value, 0) / matching.length);
|
|
436
|
+
}
|
|
437
|
+
function countMethods(pages) {
|
|
438
|
+
const counts = {
|
|
439
|
+
'native-pdf-text': 0,
|
|
440
|
+
'layout-ocr': 0,
|
|
441
|
+
'visual-reasoning': 0,
|
|
442
|
+
hybrid: 0,
|
|
443
|
+
none: 0,
|
|
444
|
+
};
|
|
445
|
+
for (const page of pages) {
|
|
446
|
+
counts[page.method] = (counts[page.method] ?? 0) + 1;
|
|
447
|
+
}
|
|
448
|
+
return counts;
|
|
449
|
+
}
|
|
450
|
+
function buildReviewGates(result) {
|
|
451
|
+
return [
|
|
452
|
+
result.reviewRequired ? 'human-review-required' : null,
|
|
453
|
+
result.pageFailures.length > 0 ? 'page-failures-present' : null,
|
|
454
|
+
result.pageAudits.some((audit) => audit.parseStatus === 'partial') ? 'partial-pages-present' : null,
|
|
455
|
+
result.pageAudits.some((audit) => audit.textHintSource === 'vision-visual') ? 'direct-visual-verification-required' : null,
|
|
456
|
+
result.parameters.some((parameter) => isMissingValue(parameter.valueText, parameter.numericValue)) ? 'missing-parameters-present' : null,
|
|
457
|
+
].filter((value) => value != null);
|
|
458
|
+
}
|
|
459
|
+
function sourcePagesFromObservation(sourcePages, context) {
|
|
460
|
+
return normalizePages([
|
|
461
|
+
...(sourcePages ?? []),
|
|
462
|
+
...extractPageNumbers(context),
|
|
463
|
+
]);
|
|
464
|
+
}
|
|
465
|
+
function extractPageNumbers(value) {
|
|
466
|
+
if (!value) {
|
|
467
|
+
return [];
|
|
468
|
+
}
|
|
469
|
+
return normalizePages([...value.matchAll(/\b(?:page|p\.?)\s*#?\s*(\d{1,4})\b/gi)]
|
|
470
|
+
.map((match) => Number(match[1])));
|
|
471
|
+
}
|
|
472
|
+
function normalizePages(values) {
|
|
473
|
+
return [...new Set(values
|
|
474
|
+
.map((value) => Number(value))
|
|
475
|
+
.filter((value) => Number.isInteger(value) && value > 0))].sort((left, right) => left - right);
|
|
476
|
+
}
|
|
477
|
+
function isMissingValue(valueText, numericValue) {
|
|
478
|
+
if (numericValue != null && Number.isFinite(numericValue)) {
|
|
479
|
+
return false;
|
|
480
|
+
}
|
|
481
|
+
const value = String(valueText ?? '').trim();
|
|
482
|
+
return !value || /^(?:-|--|—|n\/?a|nil|none|not\s+(?:reported|extracted|encountered|available)|unavailable|missing)$/i.test(value);
|
|
483
|
+
}
|
|
484
|
+
function normalizeConfidence(value) {
|
|
485
|
+
return Math.max(0, Math.min(100, Math.round(Number.isFinite(value) ? value : 0)));
|
|
486
|
+
}
|
|
487
|
+
function roundRatio(value) {
|
|
488
|
+
return Math.round(Math.max(0, Math.min(1, value)) * 1000) / 1000;
|
|
489
|
+
}
|
|
490
|
+
function observationId(type, index, label) {
|
|
491
|
+
const slug = label
|
|
492
|
+
.toLowerCase()
|
|
493
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
494
|
+
.replace(/^-+|-+$/g, '')
|
|
495
|
+
.slice(0, 28) || 'item';
|
|
496
|
+
return `${type}-${index + 1}-${slug}`;
|
|
497
|
+
}
|
|
498
|
+
function compactText(value, maxLength) {
|
|
499
|
+
const normalized = String(value ?? '').replace(/\s+/g, ' ').trim();
|
|
500
|
+
return normalized.length > maxLength
|
|
501
|
+
? `${normalized.slice(0, Math.max(0, maxLength - 3)).trimEnd()}...`
|
|
502
|
+
: normalized;
|
|
503
|
+
}
|
|
504
|
+
function collectEvidenceText(result) {
|
|
505
|
+
return [
|
|
506
|
+
result.title,
|
|
507
|
+
result.summary,
|
|
508
|
+
...result.materials.flatMap((material) => [material.description, material.uscsSymbol, material.lithology]),
|
|
509
|
+
...result.parameters.flatMap((parameter) => [parameter.name, parameter.valueText, parameter.material, parameter.context]),
|
|
510
|
+
...result.classifications.flatMap((classification) => [classification.system, classification.value, classification.context]),
|
|
511
|
+
...result.risks,
|
|
512
|
+
...result.recommendations,
|
|
513
|
+
...(result.contentChunks ?? []).flatMap((chunk) => [...chunk.headingAncestry, chunk.text]),
|
|
514
|
+
...(result.synthesis
|
|
515
|
+
? [
|
|
516
|
+
...result.synthesis.takeaways,
|
|
517
|
+
...result.synthesis.groundModel,
|
|
518
|
+
...result.synthesis.keyParameters,
|
|
519
|
+
...result.synthesis.interpretation,
|
|
520
|
+
...result.synthesis.limitations,
|
|
521
|
+
]
|
|
522
|
+
: []),
|
|
523
|
+
].filter((value) => typeof value === 'string' && value.trim().length > 0).join('\n');
|
|
524
|
+
}
|
|
525
|
+
function inferBoreholeIds(text) {
|
|
526
|
+
const patterns = [
|
|
527
|
+
/\bB\.?\s*H\.?\s*(?:NO\.?)?\s*[:#-]?\s*0*(\d{1,3})\b/gi,
|
|
528
|
+
/\bBORE\s*HOLE\s*NO\.?\s*[:#-]?\s*0*(\d{1,3})\b/gi,
|
|
529
|
+
/\bBOREHOLE\s*NO\.?\s*[:#-]?\s*0*(\d{1,3})\b/gi,
|
|
530
|
+
];
|
|
531
|
+
return [...new Set(patterns.flatMap((pattern) => [...text.matchAll(pattern)]
|
|
532
|
+
.map((match) => `BH${match[1]}`)
|
|
533
|
+
.filter((id) => !/^BH0$/.test(id))))].sort((left, right) => left.localeCompare(right, undefined, { numeric: true }));
|
|
534
|
+
}
|
|
535
|
+
function inferMaxDepthMeters(text) {
|
|
536
|
+
const depths = [
|
|
537
|
+
...[...text.matchAll(/\b(\d{1,3}(?:\.\d+)?)\s*m\b/gi)].map((match) => Number(match[1])),
|
|
538
|
+
...[...text.matchAll(/\b(?:maximum\s+depth|termination|terminated)\b[^0-9]{0,60}(\d{1,3}(?:\.\d+)?)\b/gi)].map((match) => Number(match[1])),
|
|
539
|
+
].filter((depth) => Number.isFinite(depth) && depth > 0 && depth <= 120);
|
|
540
|
+
return depths.length > 0 ? Math.max(...depths) : null;
|
|
541
|
+
}
|
|
542
|
+
//# sourceMappingURL=document-evidence-packet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-evidence-packet.js","sourceRoot":"","sources":["../../src/ingest/document-evidence-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,iBAAiB;IACjB,YAAY;IACZ,kBAAkB;IAClB,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,IAAI,CAAC;IACvD,UAAU;IACV,cAAc;IACd,SAAS;IACT,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1D,UAAU;IACV,gBAAgB;IAChB,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,MAAM,EAAE,4BAA4B;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACzC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAC3C,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,qCAAqC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjD,MAAM,EAAE,4BAA4B;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,YAAY,EAAE,kCAAkC;IAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC;IACjE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC;QACzB,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC;QACjD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;QACxD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACrC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC3C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;KACvC,CAAC;IACF,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAC1C,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;KACvC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACxD,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC3D,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;KACnE,CAAC;CACH,CAAC,CAAC;AAYH,MAAM,UAAU,2BAA2B,CAAC,MAAmC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,0BAAmC;QACzC,aAAa,EAAE,uCAAuC;QACtD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE;YAChB,eAAe,EAAE,IAAa;YAC9B,OAAO,EAAE,6BAAsC;YAC/C,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAA6B;YACtH,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC;SACtC;QACD,MAAM,EAAE;YACN,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe;YAC9C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;SACvC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC;YAClD,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC;QACD,KAAK;QACL,YAAY,EAAE;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAClD,MAAM,WAAW,GAAG,0BAA0B,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC3F,OAAO;oBACL,EAAE,EAAE,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC;oBAC1D,IAAI,EAAE,UAAmB;oBACzB,KAAK,EAAE,QAAQ,CAAC,IAAI;oBACpB,KAAK,EAAE,QAAQ,CAAC,WAAW;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,SAAS;oBAC5B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;oBACnE,WAAW;oBACX,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC;oBAChD,UAAU,EAAE,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;oBAC3E,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAmB,CAAC,CAAC,CAAC,cAAuB;oBACpF,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC,CAAC;YACF,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE;gBACpE,MAAM,WAAW,GAAG,0BAA0B,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;gBACnG,OAAO;oBACL,EAAE,EAAE,aAAa,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC9F,IAAI,EAAE,gBAAyB;oBAC/B,KAAK,EAAE,cAAc,CAAC,MAAM;oBAC5B,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,WAAW;oBACX,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC;oBAChD,UAAU,EAAE,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;oBAC3E,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAmB,CAAC,CAAC,CAAC,cAAuB;oBACpF,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC,CAAC;YACF,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBACrD,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzF,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC5E,OAAO;oBACL,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACjF,IAAI,EAAE,WAAoB;oBAC1B,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,KAAK,EAAE,SAAS,CAAC,SAAS;oBAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;oBACpC,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,WAAW;oBACX,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC;oBAChD,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;oBACzF,YAAY,EAAE,OAAO;wBACnB,CAAC,CAAC,SAAkB;wBACpB,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;4BACtB,CAAC,CAAC,UAAmB;4BACrB,CAAC,CAAC,cAAuB;oBAC7B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChE,CAAC;YACJ,CAAC,CAAC;SACH;QACD,aAAa,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACpE,SAAS,EAAE,MAAM,CAAC,SAAS;YACzB,CAAC,CAAC;gBACE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS;gBACrC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;gBACzC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa;gBAC7C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;gBAC/C,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;gBACzC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;gBACzD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrI;YACH,CAAC,CAAC,IAAI;QACR,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC;SAC1D;QACD,YAAY;KACb,CAAC;IAEF,OAAO,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAAS;IAET,OAAO;QACL,GAAG,MAAM;QACT,cAAc,EAAE,2BAA2B,CAAC,MAAM,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,MAA8B,EAC9B,UAA0D,EAAE;IAE5D,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;SAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACxB,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU;SACrD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS,CAAC;SAC3D,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU;SACpD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,cAAc,IAAI,SAAS,CAAC,YAAY,KAAK,WAAW,CAAC;SAC1G,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU;SACtD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,UAAU,CAAC;SAC5D,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS;SAC5C,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe;SACxD,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACrD,CAAC;IAEF,OAAO,WAAW,CAAC;QACjB,2DAA2D;QAC3D,WAAW,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,oBAAoB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG;QAChO,aAAa,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,UAAU,WAAW,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgB,MAAM,CAAC,QAAQ,CAAC,UAAU,qBAAqB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,oBAAoB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG;QAC5T,YAAY,OAAO,kBAAkB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,yBAAyB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG;QAC/N,yBAAyB,YAAY,CAAC,MAAM,aAAa,YAAY,CAAC,OAAO,YAAY,YAAY,CAAC,MAAM,GAAG;QAC/G,8BAA8B,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,GAAG,GAAG,CAAC,kBAAkB,MAAM,CAAC,YAAY,CAAC,wBAAwB,oBAAoB,MAAM,CAAC,YAAY,CAAC,2BAA2B,GAAG;QAC1S,cAAc,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,eAAe,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG;QACpM,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;QAC3F,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,6CAA6C;QACrI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC/F,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC7F,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACjE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnF,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACjH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACtG,oLAAoL;KACrL,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAmC,EACnC,UAA0D,EAAE;IAE5D,OAAO,uCAAuC,CAC5C,MAAM,CAAC,cAAc,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAC5D,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA+B;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;IAClC,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,cAAc,CAAC;QACtD,SAAS,EAAE,KAAK,CAAC,cAAc;QAC/B,cAAc,EAAE,gCAAgC,CAAC,KAAK,CAAC,cAAc,CAAC;QACtE,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,aAAa;QAC3C,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE;YACN,SAAS,EAAE,KAAK,CAAC,aAAa;YAC9B,eAAe,EAAE,KAAK,CAAC,mBAAmB;YAC1C,UAAU,EAAE,KAAK,CAAC,cAAc;SACjC;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8B;IACvD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,SAAS,yBAAyB,CAChC,WAAyE;IAEzE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACrH,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,GAAG,gBAAgB,EAAE,CAAC;AAClI,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAmC,EACnC,KAAsC;IAEtC,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,0BAA0B,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CACrE,CAAC;IACF,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACzH,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,GAAG,oBAAoB,CAAC,IAAI,EAAE;QAC9B,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjH,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACrI,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,KAAK;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;SAClG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO;QACL,WAAW;QACX,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC;QACpD,iBAAiB,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5H,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3H,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7H,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC;QAC3C,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC;QACjD,wBAAwB;QACxB,2BAA2B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,wBAAwB,CAAC;QAC7F,yBAAyB,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,UAAU,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAkC;IAC7D,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;QAC9C,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA+B;IAC3D,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA8B;IAC9D,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACxD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC1D,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gCAAgC,CAAC,MAA8B;IACtE,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACxD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAC3B,WAAqB,EACrB,KAAsC;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,KAAK;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CACzC,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAqB,EACrB,KAAsC,EACtC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,KAAK;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC3F,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,YAAY,CAAC,KAAsC;IAC1D,MAAM,MAAM,GAA2B;QACrC,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,kBAAkB,EAAE,CAAC;QACrB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;KACR,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmC;IAC3D,OAAO;QACL,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI;QACtD,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI;QAC/D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI;QACnG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,IAAI;QAC1H,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI;KACzI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CACjC,WAAwC,EACxC,OAAkC;IAElC,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACtB,GAAG,kBAAkB,CAAC,OAAO,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAgC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,cAAc,CACnB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;SACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAwC;IAC9D,OAAO,CAAC,GAAG,IAAI,GAAG,CAChB,MAAM;aACH,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAC3D,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,SAAoC,EAAE,YAAuC;IACnG,IAAI,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,CAAC,KAAK,IAAI,qGAAqG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrI,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa;IAC/D,MAAM,IAAI,GAAG,KAAK;SACf,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;IAC1B,OAAO,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,KAAgC,EAAE,SAAiB;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,UAAU,CAAC,MAAM,GAAG,SAAS;QAClC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK;QACnE,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmC;IAC9D,OAAO;QACL,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,OAAO;QACd,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1G,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACzH,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5H,GAAG,MAAM,CAAC,KAAK;QACf,GAAG,MAAM,CAAC,eAAe;QACzB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1F,GAAG,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC;gBACE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS;gBAC7B,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW;gBAC/B,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa;gBACjC,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc;gBAClC,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW;aAChC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,QAAQ,GAAG;QACf,uDAAuD;QACvD,kDAAkD;QAClD,+CAA+C;KAChD,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAChB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3B,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACrC,CACF,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5I,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PdfPageClassification } from './pdf.js';
|
|
2
2
|
import type { GeotechDocumentIngestResult, GeotechDocumentPageAudit, GeotechDocumentPageEvidenceCacheStatus } from './geotech-document.js';
|
|
3
3
|
import type { DocumentTextHintSource } from '../vision/ocr.js';
|
|
4
|
+
import { type DocumentEvidenceMethod } from './document-evidence-packet.js';
|
|
4
5
|
export interface GeotechDocumentBenchmarkJobContext {
|
|
5
6
|
jobId?: string;
|
|
6
7
|
createdAt?: string;
|
|
@@ -97,6 +98,20 @@ export interface GeotechDocumentBenchmark {
|
|
|
97
98
|
missingCriticalData: string[];
|
|
98
99
|
gates: string[];
|
|
99
100
|
};
|
|
101
|
+
evidenceContract: {
|
|
102
|
+
schemaVersion: number;
|
|
103
|
+
providerNeutral: true;
|
|
104
|
+
pages: number;
|
|
105
|
+
observations: {
|
|
106
|
+
materials: number;
|
|
107
|
+
classifications: number;
|
|
108
|
+
parameters: number;
|
|
109
|
+
total: number;
|
|
110
|
+
};
|
|
111
|
+
methodCounts: Record<DocumentEvidenceMethod, number>;
|
|
112
|
+
sourcePages: number[];
|
|
113
|
+
reviewGateCount: number;
|
|
114
|
+
};
|
|
100
115
|
pages: GeotechDocumentBenchmarkPage[];
|
|
101
116
|
}
|
|
102
117
|
export interface GeotechDocumentBenchmarkPage {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geotech-document-benchmark.d.ts","sourceRoot":"","sources":["../../src/ingest/geotech-document-benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EACV,2BAA2B,EAC3B,wBAAwB,EACxB,sCAAsC,EACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"geotech-document-benchmark.d.ts","sourceRoot":"","sources":["../../src/ingest/geotech-document-benchmark.ts"],"names":[],"mappings":"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"}
|