@aeye/ai 0.2.0 → 0.3.1
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/README.md +5 -128
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +8 -7
- package/dist/ai.js.map +1 -1
- package/dist/registry.d.ts +10 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +337 -72
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +42 -31
- package/dist/types.d.ts.map +1 -1
- package/package.json +53 -53
package/dist/registry.js
CHANGED
|
@@ -7,6 +7,164 @@
|
|
|
7
7
|
import { getModel } from '@aeye/core';
|
|
8
8
|
import { detectTier } from './modelDetection';
|
|
9
9
|
// ============================================================================
|
|
10
|
+
// Generic Constraint Helpers
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Recursively checks if a model value satisfies min/max constraints.
|
|
14
|
+
* Returns true if the value is acceptable, false otherwise.
|
|
15
|
+
*
|
|
16
|
+
* For primitive values (number, string, boolean), compares directly.
|
|
17
|
+
* For objects, recursively checks all properties that exist in both min/max and modelValue.
|
|
18
|
+
*/
|
|
19
|
+
function satisfiesConstraint(modelValue, min, max) {
|
|
20
|
+
// If no constraints, always satisfied
|
|
21
|
+
if (min === undefined && max === undefined) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
// If model doesn't have the value but constraints exist, it's not satisfied
|
|
25
|
+
if (modelValue === undefined) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
// Handle primitive types (numbers)
|
|
29
|
+
if (typeof modelValue === 'number') {
|
|
30
|
+
const minNum = min;
|
|
31
|
+
const maxNum = max;
|
|
32
|
+
if (minNum !== undefined && modelValue < minNum) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (maxNum !== undefined && modelValue > maxNum) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
// Handle objects recursively
|
|
41
|
+
if (typeof modelValue === 'object' && modelValue !== null) {
|
|
42
|
+
const minObj = min;
|
|
43
|
+
const maxObj = max;
|
|
44
|
+
// Check all properties that exist in constraints
|
|
45
|
+
const propsToCheck = new Set();
|
|
46
|
+
if (minObj && typeof minObj === 'object') {
|
|
47
|
+
Object.keys(minObj).forEach(key => propsToCheck.add(key));
|
|
48
|
+
}
|
|
49
|
+
if (maxObj && typeof maxObj === 'object') {
|
|
50
|
+
Object.keys(maxObj).forEach(key => propsToCheck.add(key));
|
|
51
|
+
}
|
|
52
|
+
for (const key of propsToCheck) {
|
|
53
|
+
const modelProp = modelValue[key];
|
|
54
|
+
const minProp = minObj?.[key];
|
|
55
|
+
const maxProp = maxObj?.[key];
|
|
56
|
+
if (!satisfiesConstraint(modelProp, minProp, maxProp)) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
// For other types, just check existence
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Recursively updates min/max range values based on a model value.
|
|
67
|
+
* Updates min to the minimum and max to the maximum across all models.
|
|
68
|
+
* Returns the updated min and max.
|
|
69
|
+
*/
|
|
70
|
+
function calculateRange(modelValue, currentMin, currentMax) {
|
|
71
|
+
// If model doesn't have the value, return current range
|
|
72
|
+
if (modelValue === undefined) {
|
|
73
|
+
return { min: currentMin, max: currentMax };
|
|
74
|
+
}
|
|
75
|
+
// Handle primitive types (numbers)
|
|
76
|
+
if (typeof modelValue === 'number') {
|
|
77
|
+
const minNum = currentMin;
|
|
78
|
+
const maxNum = currentMax;
|
|
79
|
+
return {
|
|
80
|
+
min: (minNum === undefined ? modelValue : Math.min(minNum, modelValue)),
|
|
81
|
+
max: (maxNum === undefined ? modelValue : Math.max(maxNum, modelValue))
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// Handle objects recursively
|
|
85
|
+
if (typeof modelValue === 'object' && modelValue !== null) {
|
|
86
|
+
const minObj = (currentMin ?? {});
|
|
87
|
+
const maxObj = (currentMax ?? {});
|
|
88
|
+
const resultMin = { ...minObj };
|
|
89
|
+
const resultMax = { ...maxObj };
|
|
90
|
+
// Process all properties in modelValue
|
|
91
|
+
for (const key in modelValue) {
|
|
92
|
+
const modelProp = modelValue[key];
|
|
93
|
+
const { min: newMin, max: newMax } = calculateRange(modelProp, minObj[key], maxObj[key]);
|
|
94
|
+
if (newMin !== undefined) {
|
|
95
|
+
resultMin[key] = newMin;
|
|
96
|
+
}
|
|
97
|
+
if (newMax !== undefined) {
|
|
98
|
+
resultMax[key] = newMax;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
min: (Object.keys(resultMin).length > 0 ? resultMin : undefined),
|
|
103
|
+
max: (Object.keys(resultMax).length > 0 ? resultMax : undefined)
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// For other types, just return the value
|
|
107
|
+
return { min: modelValue, max: modelValue };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Recursively calculates a normalized score based on how close modelValue is to target.
|
|
111
|
+
* Returns a score between 0 and 1, where 1 is closest to target.
|
|
112
|
+
*
|
|
113
|
+
* For primitive values, normalizes distance between min and max.
|
|
114
|
+
* For objects, calculates the average score across all defined numeric properties.
|
|
115
|
+
* Returns undefined if target is not specified or if no valid scores can be calculated.
|
|
116
|
+
*/
|
|
117
|
+
function calculateScore(modelValue, target, min, max) {
|
|
118
|
+
// If no target or no model value, can't calculate score
|
|
119
|
+
if (target === undefined || modelValue === undefined) {
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
// Handle primitive types (numbers)
|
|
123
|
+
if (typeof modelValue === 'number' && typeof target === 'number') {
|
|
124
|
+
const minNum = min;
|
|
125
|
+
const maxNum = max;
|
|
126
|
+
// Need both min and max to normalize
|
|
127
|
+
if (minNum === undefined || maxNum === undefined) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
// If min and max are the same, perfect score if value matches
|
|
131
|
+
const range = maxNum - minNum;
|
|
132
|
+
if (range === 0) {
|
|
133
|
+
return modelValue === target ? 1 : 0;
|
|
134
|
+
}
|
|
135
|
+
// Calculate normalized distance from target
|
|
136
|
+
const distance = Math.abs(target - modelValue);
|
|
137
|
+
const normalizedDistance = distance / range;
|
|
138
|
+
// Score is 1 - normalizedDistance, clamped to [0, 1]
|
|
139
|
+
return Math.max(0, Math.min(1, 1 - normalizedDistance));
|
|
140
|
+
}
|
|
141
|
+
// Handle objects recursively
|
|
142
|
+
if (typeof modelValue === 'object' && modelValue !== null && typeof target === 'object' && target !== null) {
|
|
143
|
+
const targetObj = target;
|
|
144
|
+
const minObj = min;
|
|
145
|
+
const maxObj = max;
|
|
146
|
+
const scores = [];
|
|
147
|
+
// Calculate scores for all properties in target
|
|
148
|
+
for (const key in targetObj) {
|
|
149
|
+
const modelProp = modelValue[key];
|
|
150
|
+
const targetProp = targetObj[key];
|
|
151
|
+
const minProp = minObj?.[key];
|
|
152
|
+
const maxProp = maxObj?.[key];
|
|
153
|
+
const score = calculateScore(modelProp, targetProp, minProp, maxProp);
|
|
154
|
+
if (score !== undefined) {
|
|
155
|
+
scores.push(score);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// Return average of all defined scores
|
|
159
|
+
if (scores.length === 0) {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
return scores.reduce((sum, score) => sum + score, 0) / scores.length;
|
|
163
|
+
}
|
|
164
|
+
// For other types, can't calculate meaningful score
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
// ============================================================================
|
|
10
168
|
// Provider Capability Detection
|
|
11
169
|
// ============================================================================
|
|
12
170
|
/**
|
|
@@ -237,13 +395,76 @@ export class ModelRegistry {
|
|
|
237
395
|
* Search and score models based on criteria
|
|
238
396
|
*/
|
|
239
397
|
searchModels(metadata) {
|
|
240
|
-
const scored = [];
|
|
241
398
|
// Filter list by models we have providers for
|
|
242
399
|
const providedModels = this.providedModels();
|
|
400
|
+
// Step 1: Filter to applicable models
|
|
401
|
+
const applicableModels = [];
|
|
243
402
|
for (const model of providedModels) {
|
|
244
|
-
const
|
|
245
|
-
if (
|
|
246
|
-
|
|
403
|
+
const applicability = this.isModelApplicable(model, metadata);
|
|
404
|
+
if (applicability) {
|
|
405
|
+
applicableModels.push({ model, applicability });
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
// If no applicable models, return empty
|
|
409
|
+
if (applicableModels.length === 0) {
|
|
410
|
+
return [];
|
|
411
|
+
}
|
|
412
|
+
// Step 2: Calculate ranges across all applicable models
|
|
413
|
+
let rangeMin = {};
|
|
414
|
+
let rangeMax = {};
|
|
415
|
+
for (const { model } of applicableModels) {
|
|
416
|
+
// Calculate range for pricing
|
|
417
|
+
if (model.pricing) {
|
|
418
|
+
const { min, max } = calculateRange(model.pricing, rangeMin.pricing, rangeMax.pricing);
|
|
419
|
+
rangeMin.pricing = min;
|
|
420
|
+
rangeMax.pricing = max;
|
|
421
|
+
}
|
|
422
|
+
// Calculate range for contextWindow
|
|
423
|
+
if (model.contextWindow) {
|
|
424
|
+
const { min, max } = calculateRange(model.contextWindow, rangeMin.contextWindow, rangeMax.contextWindow);
|
|
425
|
+
rangeMin.contextWindow = min;
|
|
426
|
+
rangeMax.contextWindow = max;
|
|
427
|
+
}
|
|
428
|
+
// Calculate range for maxOutputTokens
|
|
429
|
+
if (model.maxOutputTokens) {
|
|
430
|
+
const { min, max } = calculateRange(model.maxOutputTokens, rangeMin.maxOutputTokens, rangeMax.maxOutputTokens);
|
|
431
|
+
rangeMin.maxOutputTokens = min;
|
|
432
|
+
rangeMax.maxOutputTokens = max;
|
|
433
|
+
}
|
|
434
|
+
// Calculate range for metrics
|
|
435
|
+
if (model.metrics) {
|
|
436
|
+
const { min, max } = calculateRange(model.metrics, rangeMin.metrics, rangeMax.metrics);
|
|
437
|
+
rangeMin.metrics = min;
|
|
438
|
+
rangeMax.metrics = max;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
// Step 3: Score all applicable models with ranges
|
|
442
|
+
const scored = [];
|
|
443
|
+
for (const { model, applicability } of applicableModels) {
|
|
444
|
+
const result = {
|
|
445
|
+
model,
|
|
446
|
+
score: 0,
|
|
447
|
+
matchedRequired: applicability.matchedRequired,
|
|
448
|
+
matchedOptional: applicability.matchedOptional,
|
|
449
|
+
missingRequired: applicability.missingRequired,
|
|
450
|
+
};
|
|
451
|
+
// Determine weights
|
|
452
|
+
let weights;
|
|
453
|
+
if (metadata.weights) {
|
|
454
|
+
weights = metadata.weights;
|
|
455
|
+
}
|
|
456
|
+
else if (metadata.weightProfile && this.weightProfiles[metadata.weightProfile]) {
|
|
457
|
+
weights = this.weightProfiles[metadata.weightProfile];
|
|
458
|
+
}
|
|
459
|
+
else if (this.defaultWeights) {
|
|
460
|
+
weights = this.defaultWeights;
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
weights = { cost: 0.5, speed: 0.3, accuracy: 0.2 };
|
|
464
|
+
}
|
|
465
|
+
result.score = this.calculateWeightedScore(model, weights, metadata, rangeMin, rangeMax);
|
|
466
|
+
if (result.score > 0) {
|
|
467
|
+
scored.push(result);
|
|
247
468
|
}
|
|
248
469
|
}
|
|
249
470
|
// Sort by score descending
|
|
@@ -266,33 +487,10 @@ export class ModelRegistry {
|
|
|
266
487
|
if (!provider) {
|
|
267
488
|
return undefined;
|
|
268
489
|
}
|
|
269
|
-
//
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
// Check if provider supports this capability
|
|
274
|
-
const providerSupportsCap = !providerCaps || providerCaps.has(cap);
|
|
275
|
-
if (!providerSupportsCap) {
|
|
276
|
-
// Provider doesn't support this capability, cannot use this model
|
|
277
|
-
return undefined;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
// Validate that model supports required parameters
|
|
282
|
-
if (criteria.requiredParameters && criteria.requiredParameters.length > 0) {
|
|
283
|
-
const optionalParams = criteria.optionalParameters || [];
|
|
284
|
-
for (const param of criteria.requiredParameters) {
|
|
285
|
-
// If this param is marked as optional, skip the requirement check
|
|
286
|
-
if (optionalParams.includes(param)) {
|
|
287
|
-
continue;
|
|
288
|
-
}
|
|
289
|
-
// Check if model supports this parameter
|
|
290
|
-
const modelSupportsParam = model.supportedParameters?.has(param) ?? false;
|
|
291
|
-
if (!modelSupportsParam) {
|
|
292
|
-
// Required parameter not supported by model
|
|
293
|
-
return undefined;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
490
|
+
// Check if model is applicable
|
|
491
|
+
const applicability = this.isModelApplicable(model, criteria);
|
|
492
|
+
if (!applicability) {
|
|
493
|
+
return undefined;
|
|
296
494
|
}
|
|
297
495
|
return {
|
|
298
496
|
model,
|
|
@@ -345,25 +543,22 @@ export class ModelRegistry {
|
|
|
345
543
|
return this.providerCapabilities.get(name);
|
|
346
544
|
}
|
|
347
545
|
/**
|
|
348
|
-
*
|
|
546
|
+
* Check if a model is applicable given the criteria.
|
|
547
|
+
* Returns null if not applicable, or an object with matched capabilities if applicable.
|
|
349
548
|
*/
|
|
350
|
-
|
|
351
|
-
const result = {
|
|
352
|
-
model,
|
|
353
|
-
score: 0,
|
|
354
|
-
matchedRequired: [],
|
|
355
|
-
matchedOptional: [],
|
|
356
|
-
missingRequired: [],
|
|
357
|
-
};
|
|
549
|
+
isModelApplicable(model, criteria) {
|
|
358
550
|
// Check provider allowlist/blocklist
|
|
359
551
|
if (criteria.providers) {
|
|
360
552
|
if (criteria.providers.deny?.includes(model.provider)) {
|
|
361
|
-
return
|
|
553
|
+
return null;
|
|
362
554
|
}
|
|
363
555
|
if (criteria.providers.allow && !criteria.providers.allow.includes(model.provider)) {
|
|
364
|
-
return
|
|
556
|
+
return null;
|
|
365
557
|
}
|
|
366
558
|
}
|
|
559
|
+
const matchedRequired = [];
|
|
560
|
+
const matchedOptional = [];
|
|
561
|
+
const missingRequired = [];
|
|
367
562
|
// Check required capabilities against both model AND provider
|
|
368
563
|
if (criteria.required) {
|
|
369
564
|
const providerCaps = this.providerCapabilities.get(model.provider);
|
|
@@ -375,22 +570,22 @@ export class ModelRegistry {
|
|
|
375
570
|
const providerSupportsCap = !providerCaps || providerCaps.has(cap);
|
|
376
571
|
// Both model AND provider must support the capability
|
|
377
572
|
if (modelHasCap && providerSupportsCap) {
|
|
378
|
-
|
|
573
|
+
matchedRequired.push(cap);
|
|
379
574
|
}
|
|
380
575
|
else {
|
|
381
|
-
|
|
576
|
+
missingRequired.push(cap);
|
|
382
577
|
}
|
|
383
578
|
}
|
|
384
|
-
// If any required capabilities are missing,
|
|
385
|
-
if (
|
|
386
|
-
return
|
|
579
|
+
// If any required capabilities are missing, not applicable
|
|
580
|
+
if (missingRequired.length > 0) {
|
|
581
|
+
return null;
|
|
387
582
|
}
|
|
388
583
|
}
|
|
389
584
|
// Check optional capabilities
|
|
390
585
|
if (criteria.optional) {
|
|
391
586
|
for (const cap of criteria.optional) {
|
|
392
587
|
if (model.capabilities.has(cap)) {
|
|
393
|
-
|
|
588
|
+
matchedOptional.push(cap);
|
|
394
589
|
}
|
|
395
590
|
}
|
|
396
591
|
}
|
|
@@ -406,16 +601,54 @@ export class ModelRegistry {
|
|
|
406
601
|
const modelSupportsParam = model.supportedParameters?.has(param) ?? false;
|
|
407
602
|
if (!modelSupportsParam) {
|
|
408
603
|
// Required parameter not supported by model
|
|
409
|
-
return
|
|
604
|
+
return null;
|
|
410
605
|
}
|
|
411
606
|
}
|
|
412
607
|
}
|
|
413
|
-
// Check
|
|
414
|
-
if (
|
|
415
|
-
return
|
|
608
|
+
// Check pricing constraints
|
|
609
|
+
if (!satisfiesConstraint(model.pricing, criteria.pricing?.min, criteria.pricing?.max)) {
|
|
610
|
+
return null;
|
|
611
|
+
}
|
|
612
|
+
// Check context window constraints
|
|
613
|
+
if (!satisfiesConstraint(model.contextWindow, criteria.contextWindow?.min, criteria.contextWindow?.max)) {
|
|
614
|
+
return null;
|
|
615
|
+
}
|
|
616
|
+
// Check output tokens constraints
|
|
617
|
+
if (!satisfiesConstraint(model.maxOutputTokens, criteria.outputTokens?.min, criteria.outputTokens?.max)) {
|
|
618
|
+
return null;
|
|
619
|
+
}
|
|
620
|
+
// Check metrics constraints
|
|
621
|
+
if (!satisfiesConstraint(model.metrics, criteria.metrics?.min, criteria.metrics?.max)) {
|
|
622
|
+
return null;
|
|
416
623
|
}
|
|
417
624
|
if (criteria.tier && model.tier !== criteria.tier) {
|
|
418
|
-
return
|
|
625
|
+
return null;
|
|
626
|
+
}
|
|
627
|
+
return { matchedRequired, matchedOptional, missingRequired };
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Score a model against criteria
|
|
631
|
+
* @param skipApplicabilityCheck - If true, skips the applicability check (used when already filtered)
|
|
632
|
+
* @param rangeMin - Minimum values across all applicable models (for target scoring)
|
|
633
|
+
* @param rangeMax - Maximum values across all applicable models (for target scoring)
|
|
634
|
+
*/
|
|
635
|
+
scoreModel(model, criteria, skipApplicabilityCheck = false, rangeMin, rangeMax) {
|
|
636
|
+
const result = {
|
|
637
|
+
model,
|
|
638
|
+
score: 0,
|
|
639
|
+
matchedRequired: [],
|
|
640
|
+
matchedOptional: [],
|
|
641
|
+
missingRequired: [],
|
|
642
|
+
};
|
|
643
|
+
// Check if model is applicable (unless already checked)
|
|
644
|
+
if (!skipApplicabilityCheck) {
|
|
645
|
+
const applicability = this.isModelApplicable(model, criteria);
|
|
646
|
+
if (!applicability) {
|
|
647
|
+
return result; // score = 0
|
|
648
|
+
}
|
|
649
|
+
result.matchedRequired = applicability.matchedRequired;
|
|
650
|
+
result.matchedOptional = applicability.matchedOptional;
|
|
651
|
+
result.missingRequired = applicability.missingRequired;
|
|
419
652
|
}
|
|
420
653
|
// Determine weights with priority: metadata.weights > weightProfile > defaultWeights
|
|
421
654
|
let weights;
|
|
@@ -431,30 +664,54 @@ export class ModelRegistry {
|
|
|
431
664
|
else {
|
|
432
665
|
weights = { cost: 0.5, speed: 0.3, accuracy: 0.2 };
|
|
433
666
|
}
|
|
434
|
-
result.score = this.calculateWeightedScore(model, weights, criteria);
|
|
667
|
+
result.score = this.calculateWeightedScore(model, weights, criteria, rangeMin, rangeMax);
|
|
435
668
|
return result;
|
|
436
669
|
}
|
|
437
670
|
/**
|
|
438
671
|
* Calculate weighted score for a model
|
|
672
|
+
* @param rangeMin - Minimum values across all applicable models (for target scoring)
|
|
673
|
+
* @param rangeMax - Maximum values across all applicable models (for target scoring)
|
|
439
674
|
*/
|
|
440
|
-
calculateWeightedScore(model, weights, metadata) {
|
|
675
|
+
calculateWeightedScore(model, weights, metadata, rangeMin, rangeMax) {
|
|
441
676
|
let score = 0;
|
|
442
677
|
let weighted = 0;
|
|
443
|
-
// Cost score
|
|
678
|
+
// Cost score with optional target-based scoring
|
|
444
679
|
if (weights.cost) {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
680
|
+
let costScore;
|
|
681
|
+
// If target pricing specified and we have range, use target-based scoring
|
|
682
|
+
if (metadata.pricing?.target && rangeMin && rangeMax) {
|
|
683
|
+
costScore = calculateScore(model.pricing, metadata.pricing.target, rangeMin.pricing, rangeMax.pricing);
|
|
684
|
+
}
|
|
685
|
+
// Fallback to default scoring if no target or no range
|
|
686
|
+
if (costScore === undefined) {
|
|
687
|
+
// Extract average cost for simple scoring
|
|
688
|
+
const inputCost = model.pricing?.text?.input ?? 0;
|
|
689
|
+
const outputCost = model.pricing?.text?.output ?? 0;
|
|
690
|
+
const avgCost = (inputCost + outputCost) / 2;
|
|
691
|
+
if (avgCost > 0) {
|
|
692
|
+
// Default: lower cost is better
|
|
693
|
+
costScore = 1 / (1 + avgCost / 10);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
if (costScore !== undefined) {
|
|
697
|
+
score += weights.cost * costScore;
|
|
450
698
|
weighted++;
|
|
451
699
|
}
|
|
452
700
|
}
|
|
453
|
-
// Speed score
|
|
454
|
-
if (weights.speed
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
if (
|
|
701
|
+
// Speed score with optional target-based scoring
|
|
702
|
+
if (weights.speed) {
|
|
703
|
+
let speedScore;
|
|
704
|
+
// If target metrics specified and we have range, use target-based scoring
|
|
705
|
+
if (metadata.metrics?.target && rangeMin && rangeMax) {
|
|
706
|
+
speedScore = calculateScore(model.metrics, metadata.metrics.target, rangeMin.metrics, rangeMax.metrics);
|
|
707
|
+
}
|
|
708
|
+
// Fallback to default scoring if no target or no range
|
|
709
|
+
if (speedScore === undefined && model.metrics?.tokensPerSecond !== undefined) {
|
|
710
|
+
// Default: higher speed is better (normalize to 0-1)
|
|
711
|
+
speedScore = Math.min(model.metrics.tokensPerSecond / 100, 1);
|
|
712
|
+
}
|
|
713
|
+
if (speedScore !== undefined) {
|
|
714
|
+
score += weights.speed * speedScore;
|
|
458
715
|
weighted++;
|
|
459
716
|
}
|
|
460
717
|
}
|
|
@@ -462,21 +719,29 @@ export class ModelRegistry {
|
|
|
462
719
|
if (weights.accuracy) {
|
|
463
720
|
if (model.metrics?.accuracyScore) {
|
|
464
721
|
score += weights.accuracy * model.metrics.accuracyScore;
|
|
722
|
+
weighted++;
|
|
465
723
|
}
|
|
466
724
|
else if (model.tier) {
|
|
467
725
|
// Fallback to tier-based accuracy when metrics not available
|
|
468
726
|
const tierScore = model.tier === 'flagship' ? 1.0 : model.tier === 'efficient' ? 0.7 : 0.5;
|
|
469
727
|
score += weights.accuracy * tierScore;
|
|
470
|
-
}
|
|
471
|
-
if (model.metrics?.accuracyScore || model.tier) {
|
|
472
728
|
weighted++;
|
|
473
729
|
}
|
|
474
730
|
}
|
|
475
|
-
// Context window score
|
|
731
|
+
// Context window score with optional target-based scoring
|
|
476
732
|
if (weights.contextWindow) {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
if (
|
|
733
|
+
let contextScore;
|
|
734
|
+
// If target context window specified and we have range, use target-based scoring
|
|
735
|
+
if (metadata.contextWindow?.target && rangeMin && rangeMax) {
|
|
736
|
+
contextScore = calculateScore(model.contextWindow, metadata.contextWindow.target, rangeMin.contextWindow, rangeMax.contextWindow);
|
|
737
|
+
}
|
|
738
|
+
// Fallback to default scoring if no target or no range
|
|
739
|
+
if (contextScore === undefined && model.contextWindow > 0) {
|
|
740
|
+
// Default: larger context window is better (normalize to 0-1)
|
|
741
|
+
contextScore = Math.min(model.contextWindow / 100000, 1);
|
|
742
|
+
}
|
|
743
|
+
if (contextScore !== undefined) {
|
|
744
|
+
score += weights.contextWindow * contextScore;
|
|
480
745
|
weighted++;
|
|
481
746
|
}
|
|
482
747
|
}
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe9C,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,UAAyB,EACzB,GAAkB,EAClB,GAAkB;IAElB,sCAAsC;IACtC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,GAAyB,CAAC;QACzC,MAAM,MAAM,GAAG,GAAyB,CAAC;QAEzC,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAU,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAU,CAAC;QAE1B,iDAAiD;QACjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAI,UAAkB,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAwC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,UAAyB,EACzB,UAAyB,EACzB,UAAyB;IAEzB,wDAAwD;IACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,UAAgC,CAAC;QAChD,MAAM,MAAM,GAAG,UAAgC,CAAC;QAEhD,OAAO;YACL,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;YAC5E,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;SAC7E,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,CAAC,UAAU,IAAI,EAAE,CAAQ,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,UAAU,IAAI,EAAE,CAAQ,CAAC;QACzC,MAAM,SAAS,GAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QACrC,MAAM,SAAS,GAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QAErC,uCAAuC;QACvC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAI,UAAkB,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,CACjD,SAAS,EACT,MAAM,CAAC,GAAG,CAAC,EACX,MAAM,CAAC,GAAG,CAAC,CACZ,CAAC;YAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC1B,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO;YACL,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAkB;YACjF,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAkB;SAClF,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,UAAyB,EACzB,MAAqB,EACrB,GAAkB,EAClB,GAAkB;IAElB,wDAAwD;IACxD,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,GAAyB,CAAC;QACzC,MAAM,MAAM,GAAG,GAAyB,CAAC;QAEzC,qCAAqC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QAC9B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;QAE5C,qDAAqD;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3G,MAAM,SAAS,GAAG,MAAa,CAAC;QAChC,MAAM,MAAM,GAAG,GAAU,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAU,CAAC;QAE1B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,gDAAgD;QAChD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAI,UAAkB,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YAE9B,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACvE,CAAC;IAED,oDAAoD;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEhD,+BAA+B;IAC/B,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACnF,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,2CAA2C;IAC3C,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC1C,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,4DAA4D;IAC5D,oDAAoD;IACpD,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,IAAI,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACvF,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/E,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,wCAAwC;IACxC,4DAA4D;IAC5D,6DAA6D;IAC7D,oDAAoD;IACpD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE3B,mCAAmC;IACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,yCAAyC;IACzC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACjF,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,gCAAgC;IAChC,iFAAiF;IACjF,0EAA0E;IAC1E,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE1B,0BAA0B;IAC1B,0DAA0D;IAC1D,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzB,8CAA8C;IAC9C,0DAA0D;IAC1D,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE/B,kDAAkD;IAClD,0DAA0D;IAC1D,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9B,4BAA4B;IAC5B,iFAAiF;IACjF,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAExB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,OAAO,aAAa;IAMhB,MAAM,GAAyC,IAAI,GAAG,EAAE,CAAC,CAAC,wBAAwB;IAClF,aAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;IACrD,SAAS,GAAiC,IAAI,GAAG,EAAE,CAAC;IACpD,oBAAoB,GAA4C,IAAI,GAAG,EAAE,CAAC;IAC1E,YAAY,GAAkB,EAAE,CAAC;IACjC,cAAc,CAAkB;IAChC,2BAA2B,CAAS;IACpC,cAAc,CAAyB;IACvC,cAAc,CAAwC;IAE9D,YACE,SAAqB,EACrB,iBAAkC,EAAE,EACpC,8BAAsC,GAAG,EACzC,eAA8B,EAAE,EAChC,cAAsC,EACtC,iBAAwD,EAAE;QAE1D,kBAAkB;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAiC,CAAC;QAEpF,0EAA0E;QAC1E,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,gFAAgF;QAChF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAsB;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,KAA8B;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAElD,2BAA2B;QAC3B,MAAM,IAAI,GAAG;YACX,KAAK,CAAC,EAAE,EAA+B,4BAA4B;YACnE,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,EAAQ,8CAA8C;SACtF,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,sBAAsB;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAiC;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU;QACjB,iCAAiC;QACjC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,aAAa,GAAwC,SAAS,CAAC;QAEnE,6BAA6B;QAC7B,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,GAAG,YAAsB,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC;gBAC7D,aAAa,GAAG,KAAK,CAAC;gBACtB,gBAAgB,GAAG,QAAQ,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,EAAU;QACvB,IAAI,gBAAgB,GAA0B,SAAS,CAAC;QACxD,IAAI,WAAW,GAA6B,SAAS,CAAC;QAEtD,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,IAAI,QAAQ,GAAG,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,gBAAgB,GAAG,QAAQ,CAAC;gBAC5B,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,WAAW,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAwB,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAoC;QAC/C,8CAA8C;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE7C,sCAAsC;QACtC,MAAM,gBAAgB,GAAiF,EAAE,CAAC;QAE1G,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,aAAa,EAAE,CAAC;gBAClB,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,wDAAwD;QACxD,IAAI,QAAQ,GAAqC,EAAE,CAAC;QACpD,IAAI,QAAQ,GAAqC,EAAE,CAAC;QAEpD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC;YACzC,8BAA8B;YAC9B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvF,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;gBACvB,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;YACzB,CAAC;YAED,oCAAoC;YACpC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACzG,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC;gBAC7B,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC;YAC/B,CAAC;YAED,sCAAsC;YACtC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC/G,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC;gBAC/B,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC;YACjC,CAAC;YAED,8BAA8B;YAC9B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvF,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;gBACvB,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;YACzB,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAgC,EAAE,CAAC;QAE/C,KAAK,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,gBAAgB,EAAE,CAAC;YACxD,MAAM,MAAM,GAA8B;gBACxC,KAAK;gBACL,KAAK,EAAE,CAAC;gBACR,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,eAAe,EAAE,aAAa,CAAC,eAAe;aAC/C,CAAC;YAEF,oBAAoB;YACpB,IAAI,OAA8B,CAAC;YACnC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC7B,CAAC;iBAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjF,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/B,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACrD,CAAC;YAED,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEzF,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAoC;QAC9C,wCAAwC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC;QAE1B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,+BAA+B;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,QAAQ;gBACR,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,KAAK,EAAE,GAAG;aACX,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ;YACR,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAA0B;QACxC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB,EAAE,KAAa;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAkB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,IAAkB;QACxC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACK,iBAAiB,CACvB,KAA8B,EAC9B,QAAoC;QAEpC,qCAAqC;QACrC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAsB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAsB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAsB,EAAE,CAAC;QAE9C,8DAA8D;QAC9D,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnE,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpC,oCAAoC;gBACpC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEhD,4CAA4C;gBAC5C,0FAA0F;gBAC1F,MAAM,mBAAmB,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEnE,sDAAsD;gBACtD,IAAI,WAAW,IAAI,mBAAmB,EAAE,CAAC;oBACvC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAEzD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAChD,kEAAkE;gBAClE,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,yCAAyC;gBACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;gBAE1E,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,4CAA4C;oBAC5C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YACxG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;YACxG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAChB,KAA8B,EAC9B,QAAoC,EACpC,yBAAkC,KAAK,EACvC,QAA2C,EAC3C,QAA2C;QAE3C,MAAM,MAAM,GAA8B;YACxC,KAAK;YACL,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,wDAAwD;QACxD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,CAAC,YAAY;YAC7B,CAAC;YACD,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;YACvD,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;YACvD,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACzD,CAAC;QAED,qFAAqF;QACrF,IAAI,OAA8B,CAAC;QACnC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC7B,CAAC;aAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACjF,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEzF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,KAAgB,EAChB,OAA8B,EAC9B,QAAoC,EACpC,QAA2C,EAC3C,QAA2C;QAE3C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,gDAAgD;QAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,SAA6B,CAAC;YAElC,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACrD,SAAS,GAAG,cAAc,CACxB,KAAK,CAAC,OAAO,EACb,QAAQ,CAAC,OAAO,CAAC,MAAM,EACvB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAE7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,gCAAgC;oBAChC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBAClC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,UAA8B,CAAC;YAEnC,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACrD,UAAU,GAAG,cAAc,CACzB,KAAK,CAAC,OAAO,EACb,QAAQ,CAAC,OAAO,CAAC,MAAM,EACvB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC7E,qDAAqD;gBACrD,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;gBACpC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;gBACjC,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;gBACxD,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,6DAA6D;gBAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC3F,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;gBACtC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,YAAgC,CAAC;YAErC,iFAAiF;YACjF,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAC3D,YAAY,GAAG,cAAc,CAC3B,KAAK,CAAC,aAAa,EACnB,QAAQ,CAAC,aAAa,CAAC,MAAM,EAC7B,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,aAAa,CACvB,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,IAAI,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC1D,8DAA8D;gBAC9D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;gBAC9C,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,+FAA+F;QAC/F,4DAA4D;QAC5D,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5F,MAAM,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9D,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,UAAU,GAAG,GAAG,GAAG,UAAU,CAAC;YACpC,KAAK,IAAI,UAAU,CAAC;QACtB,CAAC;QAED,sFAAsF;QACtF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAChD,IAAI,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1C,uBAAuB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,MAAM,UAAU,GAAG,uBAAuB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAChF,uEAAuE;YACvE,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YAC5C,KAAK,IAAI,UAAU,CAAC;QACtB,CAAC;QAED,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAA8B;QACnD,IAAI,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAE1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,4BAA4B;YAC5B,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC9D,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YAED,kBAAkB;YAClB,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,GAAG,QAAQ,CAAC,SAAS;gBACrB,uBAAuB;gBACvB,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE;gBAC7D,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE;gBAC7D,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE;aACjE,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,IAA6B,EAAE,MAA+B;QACnF,qBAAqB;QACrB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAEnF,0DAA0D;QAC1D,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAE7D,6CAA6C;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAErD,gEAAgE;QAChE,MAAM,cAAc,GAAG;YACrB,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG,MAAM,CAAC,QAAQ;SACnB,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;YAC9B,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YAC9D,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa;YACnF,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe;YAC/D,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,cAAc;SACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEpB,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,EAA+B,CAAC;gBACvE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC5C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YACtC,OAAO,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;YAEjD,IAAI,CAAC;gBACH,gDAAgD;gBAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAE/C,+BAA+B;gBAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,wCAAwC;oBACxC,MAAM,GAAG,GAAG,GAAG,YAAsB,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;oBAExD,kCAAkC;oBAClC,IAAI,SAAS,GAA4B;wBACvC,EAAE,EAAE,SAAS,CAAC,EAAE;wBAChB,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE;wBACpC,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAsB,CAAC;wBAC3F,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;wBAClE,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI;4BAC5B,gBAAgB,EAAE,IAAI,CAAC,2BAA2B;4BAClD,iBAAiB,EAAE,IAAI,CAAC,2BAA2B,GAAG,CAAC;yBACxD;wBACD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,IAAI;wBAC9C,eAAe,EAAE,SAAS,CAAC,eAAe;wBAC1C,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;qBACnC,CAAC;oBAEF,4CAA4C;oBAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC1C,IAAI,WAAW,EAAE,CAAC;wBAChB,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,6CAA6C;gBAC7C,OAAO,CAAC,KAAK,CAAC,+BAA+B,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;CAEF"}
|