@memberjunction/global 6.1.0-edge.4 → 6.1.0-edge.5
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/ClassFactory.d.ts +13 -0
- package/dist/ClassFactory.d.ts.map +1 -1
- package/dist/ClassFactory.js +35 -1
- package/dist/ClassFactory.js.map +1 -1
- package/dist/ClassUtils.d.ts +15 -0
- package/dist/ClassUtils.d.ts.map +1 -1
- package/dist/ClassUtils.js +26 -0
- package/dist/ClassUtils.js.map +1 -1
- package/dist/__tests__/ClassFactory.collision.test.d.ts +2 -0
- package/dist/__tests__/ClassFactory.collision.test.d.ts.map +1 -0
- package/dist/__tests__/ClassFactory.collision.test.js +136 -0
- package/dist/__tests__/ClassFactory.collision.test.js.map +1 -0
- package/dist/__tests__/util.jsonRepair.test.d.ts +2 -0
- package/dist/__tests__/util.jsonRepair.test.d.ts.map +1 -0
- package/dist/__tests__/util.jsonRepair.test.js +112 -0
- package/dist/__tests__/util.jsonRepair.test.js.map +1 -0
- package/dist/util.d.ts +61 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +197 -2
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
package/dist/ClassFactory.d.ts
CHANGED
|
@@ -147,6 +147,19 @@ export declare class ClassFactory {
|
|
|
147
147
|
* @param autoRegisterWithRootClass If true, will automatically register the subclass with the root class of the baseClass hierarchy. This ensures proper priority ordering when multiple subclasses are registered in a hierarchy. Defaults to false to preserve the original registration contract where classes are stored under the baseClass you specify.
|
|
148
148
|
*/
|
|
149
149
|
Register(baseClass: unknown, subClass: unknown, key?: string | null, priority?: number, skipNullKeyWarning?: boolean, autoRegisterWithRootClass?: boolean, metadata?: Record<string, unknown>): void;
|
|
150
|
+
/**
|
|
151
|
+
* Emits a single warning when an incoming registration collides with one or more EXISTING
|
|
152
|
+
* registrations for the same base class + key that are **not in its inheritance chain**.
|
|
153
|
+
*
|
|
154
|
+
* Relatedness is compared by class name (see {@link AreClassesRelated}) for the same reason
|
|
155
|
+
* {@link GetAllRegistrations} matches on name: the same class loaded through two module paths
|
|
156
|
+
* is two distinct constructor objects, and identity comparison would report that duplicate as
|
|
157
|
+
* a collision.
|
|
158
|
+
*
|
|
159
|
+
* Diagnostic only — the registration still proceeds, so this cannot change resolution for any
|
|
160
|
+
* existing consumer.
|
|
161
|
+
*/
|
|
162
|
+
private warnOnUnrelatedRegistrations;
|
|
150
163
|
/**
|
|
151
164
|
* Creates an instance of the class registered for the given base class and key.
|
|
152
165
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassFactory.d.ts","sourceRoot":"","sources":["../src/ClassFactory.ts"],"names":[],"mappings":"AAAA;;;;;;wGAMwG;AAWxG;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,SAAS,EAAE,GAAG,CAAC;IAEf,QAAQ,EAAE,GAAG,CAAC;IAEd,SAAS,EAAE,GAAG,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1B,QAAQ,EAAE,MAAM,CAAK;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACnC;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AAMH;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,cAAc,CAA2B;IAEjD,4FAA4F;IAC5F,OAAO,CAAC,oBAAoB,CAA6B;IACzD,mFAAmF;IACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAK;IAE1D;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB,CAAoD;IAE9E;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,CAAoE;IAExF;;;OAGG;IACH,OAAO,CAAC,2BAA2B,CAA0B;IAE7D;;;;;;;OAOG;IACI,kBAAkB,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAIjG;;;OAGG;YACW,WAAW;IAWzB;;;;;;;;OAQG;IACU,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAW7G;;;;;;;;OAQG;IACU,mBAAmB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAa3H;;;OAGG;IACU,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAQ9I;;;;;;;;OAQG;IACI,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,EAAE,QAAQ,GAAE,MAAU,EAAE,kBAAkB,GAAE,OAAe,EAAE,yBAAyB,GAAE,OAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ClassFactory.d.ts","sourceRoot":"","sources":["../src/ClassFactory.ts"],"names":[],"mappings":"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"}
|
package/dist/ClassFactory.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* instantiate whatever class we need. This allows any module at any time to register their new class for a given base class as a sub-class
|
|
6
6
|
* and we will dynamically instantiate that sub-class from that point forward
|
|
7
7
|
******************************************************************************************************/
|
|
8
|
-
import { GetRootClass } from './ClassUtils.js';
|
|
8
|
+
import { AreClassesRelated, GetRootClass } from './ClassUtils.js';
|
|
9
9
|
import { ClassRequiresSubclass } from './RequiresSubclass.js';
|
|
10
10
|
import { ClassIsOptionalKeyedSpecialization } from './OptionalKeyedSpecialization.js';
|
|
11
11
|
/**
|
|
@@ -184,6 +184,16 @@ export class ClassFactory {
|
|
|
184
184
|
if (registrations[i].Priority > highestPriority)
|
|
185
185
|
highestPriority = registrations[i].Priority;
|
|
186
186
|
}
|
|
187
|
+
// The auto-increment above makes this registration outrank every earlier one for the
|
|
188
|
+
// same base class + key. That is exactly right for an inheritance chain (a subclass
|
|
189
|
+
// loading after its parent SHOULD win — that is the documented contract on `priority`),
|
|
190
|
+
// but it is silent when the earlier registration is an UNRELATED class: two
|
|
191
|
+
// independently-installed Open Apps registering the same key clobber each other with
|
|
192
|
+
// no diagnostic anywhere, and the loser is simply never resolved. The `priority > 0`
|
|
193
|
+
// branch above already warns for explicit priorities; the decorator passes 0, so in
|
|
194
|
+
// practice nothing ever warned. Warn on precisely the unrelated case so a hierarchy
|
|
195
|
+
// override — the overwhelmingly common path — stays quiet.
|
|
196
|
+
this.warnOnUnrelatedRegistrations(registrations, subClass, subClassName, effectiveBaseClassName, key);
|
|
187
197
|
// now set the priority to one higher than the highest priority we found
|
|
188
198
|
priority = highestPriority + 1;
|
|
189
199
|
}
|
|
@@ -205,6 +215,30 @@ export class ClassFactory {
|
|
|
205
215
|
this._reportedResolutionFailures.clear();
|
|
206
216
|
}
|
|
207
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Emits a single warning when an incoming registration collides with one or more EXISTING
|
|
220
|
+
* registrations for the same base class + key that are **not in its inheritance chain**.
|
|
221
|
+
*
|
|
222
|
+
* Relatedness is compared by class name (see {@link AreClassesRelated}) for the same reason
|
|
223
|
+
* {@link GetAllRegistrations} matches on name: the same class loaded through two module paths
|
|
224
|
+
* is two distinct constructor objects, and identity comparison would report that duplicate as
|
|
225
|
+
* a collision.
|
|
226
|
+
*
|
|
227
|
+
* Diagnostic only — the registration still proceeds, so this cannot change resolution for any
|
|
228
|
+
* existing consumer.
|
|
229
|
+
*/
|
|
230
|
+
warnOnUnrelatedRegistrations(registrations, subClass, subClassName, effectiveBaseClassName, key) {
|
|
231
|
+
const unrelated = registrations.filter(r => !AreClassesRelated(r.SubClass, subClass));
|
|
232
|
+
if (unrelated.length === 0) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const names = unrelated.map(r => r.SubClass?.name ?? 'Anonymous').join(', ');
|
|
236
|
+
console.warn(`*** ClassFactory.Register: ${subClassName} is registering for base class ${effectiveBaseClassName} ` +
|
|
237
|
+
`with key '${key}', which is already registered by unrelated class(es): ${names}. These are not in the ` +
|
|
238
|
+
`same inheritance chain, so this is a COLLISION rather than a subclass override — ${subClassName} wins ` +
|
|
239
|
+
`only by virtue of registering last, and ${names} will never be resolved for this key. Give one of them ` +
|
|
240
|
+
`a distinct key, or set an explicit priority if one really is meant to supersede the other. ***`);
|
|
241
|
+
}
|
|
208
242
|
/**
|
|
209
243
|
* Creates an instance of the class registered for the given base class and key.
|
|
210
244
|
*
|
package/dist/ClassFactory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassFactory.js","sourceRoot":"","sources":["../src/ClassFactory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClassFactory.js","sourceRoot":"","sources":["../src/ClassFactory.ts"],"names":[],"mappings":"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"}
|
package/dist/ClassUtils.d.ts
CHANGED
|
@@ -57,6 +57,21 @@ export declare function GetClassInheritance(ClassRef: any): ClassInfo[];
|
|
|
57
57
|
* @returns Array of ClassInfo objects, ordered from the class itself up to root
|
|
58
58
|
*/
|
|
59
59
|
export declare function GetFullClassHierarchy(ClassRef: any): ClassInfo[];
|
|
60
|
+
/**
|
|
61
|
+
* Checks whether two classes are in the same inheritance chain, comparing by class NAME rather
|
|
62
|
+
* than by object identity.
|
|
63
|
+
*
|
|
64
|
+
* Name comparison is deliberate and matches `ClassFactory.GetAllRegistrations`: a module can be
|
|
65
|
+
* loaded more than once (bundler code-splitting, multiple resolution paths), which yields two
|
|
66
|
+
* distinct constructor objects for what is logically the same class. Identity comparison reads
|
|
67
|
+
* that duplicate as an unrelated class, and reads a genuine subclass whose ancestor came from the
|
|
68
|
+
* other copy of the module as unrelated too.
|
|
69
|
+
*
|
|
70
|
+
* @param ClassA First class constructor
|
|
71
|
+
* @param ClassB Second class constructor
|
|
72
|
+
* @returns True when the two are the same class, or one inherits from the other at any level
|
|
73
|
+
*/
|
|
74
|
+
export declare function AreClassesRelated(ClassA: any, ClassB: any): boolean;
|
|
60
75
|
/**
|
|
61
76
|
* Checks if a value is a class constructor (not an instance)
|
|
62
77
|
* @param value The value to check
|
package/dist/ClassUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassUtils.d.ts","sourceRoot":"","sources":["../src/ClassUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAavD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAmB/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,GAAG,OAAO,CA6BpF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CASlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,mBAAmB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,GAAG,OAAO,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,EAAE,CAwB9D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,EAAE,CAwBhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAqBtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAkBlD;AASD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CA4C5F"}
|
|
1
|
+
{"version":3,"file":"ClassUtils.d.ts","sourceRoot":"","sources":["../src/ClassUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAavD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAmB/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,GAAG,OAAO,CA6BpF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CASlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,mBAAmB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,GAAG,OAAO,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,EAAE,CAwB9D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,EAAE,CAwBhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAenE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAqBtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAkBlD;AASD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CA4C5F"}
|
package/dist/ClassUtils.js
CHANGED
|
@@ -139,6 +139,32 @@ export function GetFullClassHierarchy(ClassRef) {
|
|
|
139
139
|
}
|
|
140
140
|
return chain;
|
|
141
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Checks whether two classes are in the same inheritance chain, comparing by class NAME rather
|
|
144
|
+
* than by object identity.
|
|
145
|
+
*
|
|
146
|
+
* Name comparison is deliberate and matches `ClassFactory.GetAllRegistrations`: a module can be
|
|
147
|
+
* loaded more than once (bundler code-splitting, multiple resolution paths), which yields two
|
|
148
|
+
* distinct constructor objects for what is logically the same class. Identity comparison reads
|
|
149
|
+
* that duplicate as an unrelated class, and reads a genuine subclass whose ancestor came from the
|
|
150
|
+
* other copy of the module as unrelated too.
|
|
151
|
+
*
|
|
152
|
+
* @param ClassA First class constructor
|
|
153
|
+
* @param ClassB Second class constructor
|
|
154
|
+
* @returns True when the two are the same class, or one inherits from the other at any level
|
|
155
|
+
*/
|
|
156
|
+
export function AreClassesRelated(ClassA, ClassB) {
|
|
157
|
+
if (!ClassA || !ClassB || typeof ClassA !== 'function' || typeof ClassB !== 'function') {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
const nameA = GetClassName(ClassA);
|
|
161
|
+
const nameB = GetClassName(ClassB);
|
|
162
|
+
if (nameA === nameB) {
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
const inheritsByName = (descendant, ancestorName) => GetClassInheritance(descendant).some((c) => c.name === ancestorName);
|
|
166
|
+
return inheritsByName(ClassA, nameB) || inheritsByName(ClassB, nameA);
|
|
167
|
+
}
|
|
142
168
|
/**
|
|
143
169
|
* Checks if a value is a class constructor (not an instance)
|
|
144
170
|
* @param value The value to check
|
package/dist/ClassUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassUtils.js","sourceRoot":"","sources":["../src/ClassUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClassUtils.js","sourceRoot":"","sources":["../src/ClassUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassFactory.collision.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ClassFactory.collision.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
|
|
2
|
+
import { ClassFactory } from '../ClassFactory.js';
|
|
3
|
+
import { AreClassesRelated } from '../ClassUtils.js';
|
|
4
|
+
/**
|
|
5
|
+
* Two DIFFERENT classes registering for the same (base class, key) pair is almost always a bug —
|
|
6
|
+
* one silently shadows the other and the loser never runs. `@RegisterClass` passes `priority = 0`,
|
|
7
|
+
* which routes to the auto-increment branch (`highestPriority + 1`), so the LATER registration
|
|
8
|
+
* always wins. That is the documented, correct contract for an inheritance chain (a subclass
|
|
9
|
+
* overriding its base is the whole point), and it is silently wrong for two unrelated classes that
|
|
10
|
+
* merely collide on a key. Only `priority > 0` ever warned, so in practice nothing warned.
|
|
11
|
+
*
|
|
12
|
+
* These tests pin the distinction: an inheritance-chain override stays silent, an unrelated
|
|
13
|
+
* collision warns, and either way the registration itself still succeeds (the warning is a
|
|
14
|
+
* diagnostic, never a behavioral change — quietly refusing the registration would break every
|
|
15
|
+
* existing intentional override).
|
|
16
|
+
*/
|
|
17
|
+
// ── Hierarchy under test ────────────────────────────────────────────────
|
|
18
|
+
class Base {
|
|
19
|
+
}
|
|
20
|
+
class DerivedA extends Base {
|
|
21
|
+
}
|
|
22
|
+
class DerivedAChild extends DerivedA {
|
|
23
|
+
}
|
|
24
|
+
class UnrelatedB extends Base {
|
|
25
|
+
}
|
|
26
|
+
class TotallySeparate {
|
|
27
|
+
}
|
|
28
|
+
describe('ClassFactory.Register — unrelated-collision warning', () => {
|
|
29
|
+
let factory;
|
|
30
|
+
let warnSpy;
|
|
31
|
+
beforeEach(() => {
|
|
32
|
+
factory = new ClassFactory();
|
|
33
|
+
warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => undefined);
|
|
34
|
+
});
|
|
35
|
+
afterEach(() => {
|
|
36
|
+
warnSpy.mockRestore();
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Only the COLLISION diagnostic. ClassFactory also warns about keyless registrations from
|
|
40
|
+
* `GetAllRegistrations`, which is a separate pre-existing signal — asserting on all warnings
|
|
41
|
+
* would make these tests fail for a reason that has nothing to do with collisions.
|
|
42
|
+
*/
|
|
43
|
+
function warnings() {
|
|
44
|
+
const calls = warnSpy.mock.calls;
|
|
45
|
+
return calls
|
|
46
|
+
.map((args) => args.map((a) => String(a)).join(' '))
|
|
47
|
+
.filter((line) => line.includes('is registering for base class'))
|
|
48
|
+
.join('\n');
|
|
49
|
+
}
|
|
50
|
+
it('stays SILENT when a subclass overrides its ancestor on the same key', () => {
|
|
51
|
+
// The canonical, intentional case: DerivedAChild is meant to supersede DerivedA.
|
|
52
|
+
factory.Register(Base, DerivedA, 'shared-key');
|
|
53
|
+
factory.Register(Base, DerivedAChild, 'shared-key');
|
|
54
|
+
expect(warnings()).toBe('');
|
|
55
|
+
// and the later (more-derived) registration wins, per the documented contract
|
|
56
|
+
expect(factory.CreateInstance(Base, 'shared-key')).toBeInstanceOf(DerivedAChild);
|
|
57
|
+
});
|
|
58
|
+
it('stays SILENT when the SAME class re-registers (duplicate module load)', () => {
|
|
59
|
+
// A module loaded through two paths yields two distinct constructor objects with the same
|
|
60
|
+
// name. Comparing by identity alone would report that as a collision on every dual-load.
|
|
61
|
+
factory.Register(Base, DerivedA, 'shared-key');
|
|
62
|
+
factory.Register(Base, DerivedA, 'shared-key');
|
|
63
|
+
expect(warnings()).toBe('');
|
|
64
|
+
});
|
|
65
|
+
it('WARNS when two unrelated siblings collide on the same key', () => {
|
|
66
|
+
factory.Register(Base, DerivedA, 'shared-key');
|
|
67
|
+
factory.Register(Base, UnrelatedB, 'shared-key');
|
|
68
|
+
const text = warnings();
|
|
69
|
+
expect(text).toContain('UnrelatedB');
|
|
70
|
+
expect(text).toContain('DerivedA'); // names the class being shadowed
|
|
71
|
+
expect(text).toContain('shared-key');
|
|
72
|
+
});
|
|
73
|
+
it('still REGISTERS the colliding class — the warning is diagnostic only', () => {
|
|
74
|
+
// Refusing the registration would break intentional overrides that currently rely on
|
|
75
|
+
// last-one-wins, so behavior is unchanged; only the diagnostic is new.
|
|
76
|
+
factory.Register(Base, DerivedA, 'shared-key');
|
|
77
|
+
factory.Register(Base, UnrelatedB, 'shared-key');
|
|
78
|
+
expect(factory.CreateInstance(Base, 'shared-key')).toBeInstanceOf(UnrelatedB);
|
|
79
|
+
});
|
|
80
|
+
it('does not warn across DIFFERENT keys for the same base class', () => {
|
|
81
|
+
factory.Register(Base, DerivedA, 'key-one');
|
|
82
|
+
factory.Register(Base, UnrelatedB, 'key-two');
|
|
83
|
+
expect(warnings()).toBe('');
|
|
84
|
+
});
|
|
85
|
+
it('does not warn when no key is supplied and the classes share a chain', () => {
|
|
86
|
+
factory.Register(Base, DerivedA);
|
|
87
|
+
factory.Register(Base, DerivedAChild);
|
|
88
|
+
expect(warnings()).toBe('');
|
|
89
|
+
});
|
|
90
|
+
it('warns for an unrelated keyless collision too', () => {
|
|
91
|
+
factory.Register(Base, DerivedA);
|
|
92
|
+
factory.Register(Base, UnrelatedB);
|
|
93
|
+
expect(warnings()).toContain('UnrelatedB');
|
|
94
|
+
});
|
|
95
|
+
it('names every prior unrelated registration, not just the most recent', () => {
|
|
96
|
+
factory.Register(Base, DerivedA, 'k');
|
|
97
|
+
factory.Register(Base, UnrelatedB, 'k');
|
|
98
|
+
warnSpy.mockClear();
|
|
99
|
+
factory.Register(Base, TotallySeparate, 'k');
|
|
100
|
+
const text = warnings();
|
|
101
|
+
expect(text).toContain('DerivedA');
|
|
102
|
+
expect(text).toContain('UnrelatedB');
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('AreClassesRelated', () => {
|
|
106
|
+
it('is true for identical classes', () => {
|
|
107
|
+
expect(AreClassesRelated(DerivedA, DerivedA)).toBe(true);
|
|
108
|
+
});
|
|
109
|
+
it('is true for same-named distinct constructors (dual module load)', () => {
|
|
110
|
+
// Two separate `class DerivedA {}` objects — what a module loaded via two paths produces.
|
|
111
|
+
const dup = class DerivedA extends Base {
|
|
112
|
+
};
|
|
113
|
+
expect(dup).not.toBe(DerivedA);
|
|
114
|
+
expect(AreClassesRelated(DerivedA, dup)).toBe(true);
|
|
115
|
+
});
|
|
116
|
+
it('is true in BOTH directions for an ancestor/descendant pair', () => {
|
|
117
|
+
expect(AreClassesRelated(DerivedAChild, DerivedA)).toBe(true);
|
|
118
|
+
expect(AreClassesRelated(DerivedA, DerivedAChild)).toBe(true);
|
|
119
|
+
});
|
|
120
|
+
it('is true across a multi-level chain', () => {
|
|
121
|
+
expect(AreClassesRelated(DerivedAChild, Base)).toBe(true);
|
|
122
|
+
});
|
|
123
|
+
it('is false for unrelated siblings sharing only a common base', () => {
|
|
124
|
+
expect(AreClassesRelated(DerivedA, UnrelatedB)).toBe(false);
|
|
125
|
+
});
|
|
126
|
+
it('is false for classes in entirely separate hierarchies', () => {
|
|
127
|
+
expect(AreClassesRelated(DerivedA, TotallySeparate)).toBe(false);
|
|
128
|
+
});
|
|
129
|
+
it('is false — never throws — for null/undefined/non-constructor input', () => {
|
|
130
|
+
expect(AreClassesRelated(null, DerivedA)).toBe(false);
|
|
131
|
+
expect(AreClassesRelated(DerivedA, undefined)).toBe(false);
|
|
132
|
+
expect(AreClassesRelated({}, DerivedA)).toBe(false);
|
|
133
|
+
expect(AreClassesRelated('DerivedA', DerivedA)).toBe(false);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=ClassFactory.collision.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassFactory.collision.test.js","sourceRoot":"","sources":["../../src/__tests__/ClassFactory.collision.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.jsonRepair.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/util.jsonRepair.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { CleanJSON, RepairJSONEscaping } from '../util.js';
|
|
3
|
+
/**
|
|
4
|
+
* A response shaped like the ones that motivated this work: a JSON envelope whose string value
|
|
5
|
+
* holds fenced markdown, with the quotes inside the fence left unescaped. Everything else in the
|
|
6
|
+
* document — including the newlines — is escaped correctly, which is what makes the defect so
|
|
7
|
+
* narrow and so recoverable.
|
|
8
|
+
*/
|
|
9
|
+
const mermaidLabels = [
|
|
10
|
+
'vwMembers ||--o{ vwInvoices : "has invoices"',
|
|
11
|
+
'vwInvoices ||--o{ vwLineItems : "contains items"',
|
|
12
|
+
].join('\\n ');
|
|
13
|
+
const brokenEnvelope = '{"title":"Report","functionalRequirements":"## Data\\n\\n```mermaid\\nerDiagram\\n ' +
|
|
14
|
+
mermaidLabels +
|
|
15
|
+
'\\n```\\n\\nDone."}';
|
|
16
|
+
describe('CleanJSON — interior markdown fences', () => {
|
|
17
|
+
it('does not extract a fence that lives inside a string value', () => {
|
|
18
|
+
// The whole point: a ```mermaid fence inside a string value belongs to the value, not to
|
|
19
|
+
// the response. Extracting it silently discarded the entire document.
|
|
20
|
+
let thrown = null;
|
|
21
|
+
try {
|
|
22
|
+
CleanJSON(brokenEnvelope);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
thrown = error;
|
|
26
|
+
}
|
|
27
|
+
expect(thrown).not.toBeNull();
|
|
28
|
+
// The real defect must surface — not a phantom error about the fence contents.
|
|
29
|
+
expect(thrown.message).not.toContain('mermaid');
|
|
30
|
+
expect(thrown.message).toMatch(/position \d+/);
|
|
31
|
+
});
|
|
32
|
+
it('exposes the untouched top-level parse error as `cause`', () => {
|
|
33
|
+
let thrown = null;
|
|
34
|
+
try {
|
|
35
|
+
CleanJSON(brokenEnvelope);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
thrown = error;
|
|
39
|
+
}
|
|
40
|
+
const cause = thrown.cause;
|
|
41
|
+
expect(cause).toBeInstanceOf(Error);
|
|
42
|
+
expect(cause.message).toMatch(/position \d+/);
|
|
43
|
+
});
|
|
44
|
+
it('still extracts JSON from a genuinely fence-wrapped response', () => {
|
|
45
|
+
const result = CleanJSON('```json\n{"extracted": true}\n```');
|
|
46
|
+
expect(JSON.parse(result)).toEqual({ extracted: true });
|
|
47
|
+
});
|
|
48
|
+
it('still extracts JSON buried in surrounding prose', () => {
|
|
49
|
+
const result = CleanJSON('Some text ```json\n{"extracted": true}\n``` more text');
|
|
50
|
+
expect(JSON.parse(result)).toEqual({ extracted: true });
|
|
51
|
+
});
|
|
52
|
+
it('leaves a valid document containing a fence completely alone', () => {
|
|
53
|
+
const valid = JSON.stringify({ text: '```mermaid\nerDiagram\n A ||--o{ B : label\n```' });
|
|
54
|
+
const result = CleanJSON(valid);
|
|
55
|
+
expect(JSON.parse(result)).toEqual(JSON.parse(valid));
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('RepairJSONEscaping', () => {
|
|
59
|
+
it('escapes unescaped quotes inside a string value and preserves the content', () => {
|
|
60
|
+
const result = RepairJSONEscaping(brokenEnvelope);
|
|
61
|
+
expect(result.repaired).toBe(true);
|
|
62
|
+
// Two quoted labels, two quotes each.
|
|
63
|
+
expect(result.repairedOffsets).toHaveLength(4);
|
|
64
|
+
expect(result.value.title).toBe('Report');
|
|
65
|
+
// The diagram survives verbatim — repair adds escapes, it never rewrites content.
|
|
66
|
+
expect(result.value.functionalRequirements).toContain('vwMembers ||--o{ vwInvoices : "has invoices"');
|
|
67
|
+
expect(result.value.functionalRequirements).toContain('vwInvoices ||--o{ vwLineItems : "contains items"');
|
|
68
|
+
});
|
|
69
|
+
it('escapes raw control characters inside a string value', () => {
|
|
70
|
+
const result = RepairJSONEscaping('{"a":"line one\nline two"}');
|
|
71
|
+
expect(result.repaired).toBe(true);
|
|
72
|
+
expect(result.value.a).toBe('line one\nline two');
|
|
73
|
+
});
|
|
74
|
+
it('reports repaired: false for already-valid JSON, leaving it untouched', () => {
|
|
75
|
+
// Valid input needs no repair; `repaired` marks whether anything was changed.
|
|
76
|
+
const result = RepairJSONEscaping('{"a":1}');
|
|
77
|
+
expect(result.repaired).toBe(false);
|
|
78
|
+
expect(result.repairedOffsets).toHaveLength(0);
|
|
79
|
+
expect(result.value).toEqual({ a: 1 });
|
|
80
|
+
});
|
|
81
|
+
it('gives up rather than guessing on input that is not JSON at all', () => {
|
|
82
|
+
const result = RepairJSONEscaping('I am executing the action now.');
|
|
83
|
+
expect(result.repaired).toBe(false);
|
|
84
|
+
expect(result.value).toBeUndefined();
|
|
85
|
+
expect(result.reason).toBeTruthy();
|
|
86
|
+
});
|
|
87
|
+
it('gives up on truncated output instead of fabricating structure', () => {
|
|
88
|
+
// A response cut off mid-string cannot be recovered by escaping, and must not be
|
|
89
|
+
// "fixed" into something that parses but misrepresents what the model said.
|
|
90
|
+
const result = RepairJSONEscaping('{"a":"unterminated');
|
|
91
|
+
expect(result.repaired).toBe(false);
|
|
92
|
+
expect(result.value).toBeUndefined();
|
|
93
|
+
});
|
|
94
|
+
it('respects the repair ceiling', () => {
|
|
95
|
+
const result = RepairJSONEscaping(brokenEnvelope, 1);
|
|
96
|
+
expect(result.repaired).toBe(false);
|
|
97
|
+
expect(result.reason).toContain('after 1 repairs');
|
|
98
|
+
});
|
|
99
|
+
it('does not treat an already-escaped quote as needing repair', () => {
|
|
100
|
+
// `\\"` is a literal backslash followed by a real string terminator — the quote is NOT
|
|
101
|
+
// escaped. Miscounting the backslash run would corrupt the document.
|
|
102
|
+
const valid = JSON.stringify({ path: 'C:\\' });
|
|
103
|
+
const result = RepairJSONEscaping(valid);
|
|
104
|
+
expect(result.repaired).toBe(false);
|
|
105
|
+
expect(result.value).toEqual({ path: 'C:\\' });
|
|
106
|
+
});
|
|
107
|
+
it('handles null and empty input', () => {
|
|
108
|
+
expect(RepairJSONEscaping(null).repaired).toBe(false);
|
|
109
|
+
expect(RepairJSONEscaping('').repaired).toBe(false);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=util.jsonRepair.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.jsonRepair.test.js","sourceRoot":"","sources":["../../src/__tests__/util.jsonRepair.test.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -115,6 +115,67 @@ export declare function CleanAndParseJSON<T = any>(inputString: string | null, l
|
|
|
115
115
|
* // Returns: '{\n "extracted": true\n}'
|
|
116
116
|
*/
|
|
117
117
|
export declare function CleanJSON(inputString: string | null): string | null;
|
|
118
|
+
/**
|
|
119
|
+
* Outcome of a {@link RepairJSONEscaping} attempt.
|
|
120
|
+
*/
|
|
121
|
+
export interface JSONEscapingRepairResult {
|
|
122
|
+
/** True only when the input parsed after repair. */
|
|
123
|
+
repaired: boolean;
|
|
124
|
+
/** The repaired JSON text, present only when `repaired` is true. */
|
|
125
|
+
text?: string;
|
|
126
|
+
/** The parsed value, present only when `repaired` is true. */
|
|
127
|
+
value?: any;
|
|
128
|
+
/** Zero-based offsets that were escaped, in the order they were fixed. */
|
|
129
|
+
repairedOffsets: number[];
|
|
130
|
+
/** Why the repair stopped, when `repaired` is false. */
|
|
131
|
+
reason?: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Deterministically repairs the single most common way an LLM breaks otherwise-valid JSON:
|
|
135
|
+
* a double quote or raw control character left unescaped inside a string value.
|
|
136
|
+
*
|
|
137
|
+
* ## Why this exists
|
|
138
|
+
*
|
|
139
|
+
* Models embed rich markdown in string fields — mermaid diagrams, HTML mockups, code samples —
|
|
140
|
+
* and reliably escape most of it. A single missed quote inside a 25KB response invalidates the
|
|
141
|
+
* whole document. Nothing else in the repair chain recovers that: JSON5's leniency covers trailing
|
|
142
|
+
* commas, comments and unquoted keys, but an unescaped `"` terminates a string in JSON5 exactly as
|
|
143
|
+
* it does in JSON. The remaining fallback is an LLM round-trip on the full payload, which is slow,
|
|
144
|
+
* costly, and itself unreliable at that size.
|
|
145
|
+
*
|
|
146
|
+
* ## How it works
|
|
147
|
+
*
|
|
148
|
+
* Purely error-driven, one character per pass:
|
|
149
|
+
*
|
|
150
|
+
* 1. `JSON.parse` the text and read the failure offset from the thrown error.
|
|
151
|
+
* 2. Scan backwards from that offset for the character that ended the string early.
|
|
152
|
+
* 3. Escape that one character.
|
|
153
|
+
* 4. Re-parse. Repeat until it parses or a stopping condition trips.
|
|
154
|
+
*
|
|
155
|
+
* Every pass is validated by a real parse, so this never "pattern matches" its way to a wrong
|
|
156
|
+
* answer the way a global regex rewrite would. It converges in one pass per offending character
|
|
157
|
+
* (about two per quoted mermaid label) and gives up rather than guessing when it cannot make
|
|
158
|
+
* progress.
|
|
159
|
+
*
|
|
160
|
+
* ## Safety
|
|
161
|
+
*
|
|
162
|
+
* This can, in principle, produce valid-but-wrong JSON: escaping a quote that legitimately ended a
|
|
163
|
+
* string would merge two pieces of structure. Three properties keep that in check — it only runs
|
|
164
|
+
* after a parse has already failed (so a correct document is never touched), it only ever *adds*
|
|
165
|
+
* escapes and never deletes or reorders content, and it reports every offset it changed so callers
|
|
166
|
+
* can log, audit, or schema-check the result before trusting it. Callers holding an expected shape
|
|
167
|
+
* should validate against it; a wrong guess almost always fails shape validation.
|
|
168
|
+
*
|
|
169
|
+
* @param inputString - Raw model output, expected to be a JSON envelope
|
|
170
|
+
* @param maxRepairs - Maximum characters to escape before giving up
|
|
171
|
+
* @returns The repair outcome; `repaired` is false when the input could not be recovered
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* // A mermaid relationship label whose quotes were not escaped
|
|
175
|
+
* RepairJSONEscaping('{"doc":"```mermaid\\nerDiagram\\n A ||--o{ B : "has items"\\n```"}')
|
|
176
|
+
* // => { repaired: true, repairedOffsets: [...], value: { doc: '...' } }
|
|
177
|
+
*/
|
|
178
|
+
export declare function RepairJSONEscaping(inputString: string | null, maxRepairs?: number): JSONEscapingRepairResult;
|
|
118
179
|
/**
|
|
119
180
|
* This function takes in a string that may contain JavaScript code in a markdown code block and returns the JavaScript code without the code block.
|
|
120
181
|
* @param javaScriptCode
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAE9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AASD,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CA6B/D;AAGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9E;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACjD,KAAK,EAAE,CAAC,EACR,yBAAyB,GAAE,OAAe,EAC1C,QAAQ,GAAE,MAAW,GACtB,OAAO,CAAC,CAAC,CAAC,CAkHZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,GAAE,OAAe,GAAG,CAAC,GAAG,IAAI,CAS3G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/dist/util.js
CHANGED
|
@@ -334,8 +334,23 @@ export function CleanJSON(inputString) {
|
|
|
334
334
|
// This regex looks for ``` (including when the ` is escaped like \`)
|
|
335
335
|
// optionally followed by js or javascript (case-insensitive), then captures until the closing ```
|
|
336
336
|
const markdownRegex = /(?:```|\\`\\`\\`)(?:json|JSON)?\s*([\s\S]*?)(?:```|\\`\\`\\`)/gi;
|
|
337
|
+
// Fence extraction is for responses that WRAP their JSON in a fence, or bury it in prose.
|
|
338
|
+
// It must not run on something that is already shaped like a JSON envelope: a fence found
|
|
339
|
+
// inside such a string belongs to a string VALUE, not to the response, and extracting it
|
|
340
|
+
// throws the whole document away.
|
|
341
|
+
//
|
|
342
|
+
// This was not hypothetical. An agent response embedded a mermaid diagram in a markdown
|
|
343
|
+
// string field and left one quote in the diagram unescaped. The top-level parse failed on
|
|
344
|
+
// that quote, control reached here, the regex matched the ```mermaid fence inside the string
|
|
345
|
+
// value, and CleanJSON returned the diagram's contents — discarding a 28KB response and
|
|
346
|
+
// reporting "Unexpected token 'm'". The real defect (one quote, at a known offset) never
|
|
347
|
+
// surfaced, so neither the JSON5 stage nor the AI repair stage that followed had any chance.
|
|
348
|
+
//
|
|
349
|
+
// A genuinely fence-wrapped response starts with the fence, and a prose-buried one starts
|
|
350
|
+
// with prose, so neither is affected by this guard.
|
|
351
|
+
const looksLikeJSONEnvelope = processedString.startsWith('{') || processedString.startsWith('[');
|
|
337
352
|
// Check if the input contains Markdown code fences for JavaScript
|
|
338
|
-
const matches = Array.from(processedString.matchAll(markdownRegex));
|
|
353
|
+
const matches = looksLikeJSONEnvelope ? [] : Array.from(processedString.matchAll(markdownRegex));
|
|
339
354
|
if (matches.length > 0) {
|
|
340
355
|
// If there are matches, concatenate all captured groups (in case there are multiple code blocks)
|
|
341
356
|
const extracted = matches.map(match => match[1].trim()).join('\n');
|
|
@@ -371,10 +386,190 @@ export function CleanJSON(inputString) {
|
|
|
371
386
|
catch (error) {
|
|
372
387
|
// that was our last attempt and it failed so we need
|
|
373
388
|
// to throw an exception here with the orignal exception
|
|
374
|
-
|
|
389
|
+
//
|
|
390
|
+
// `cause` carries the untouched top-level parse error. The message is a summary that
|
|
391
|
+
// has been mangled by every transform above it; callers that need to act on the actual
|
|
392
|
+
// syntax error (a repair pass needing the failure offset, for instance) must not have
|
|
393
|
+
// to scrape it back out of this string.
|
|
394
|
+
throw new Error(`Failed to find a path to CleanJSON\n\n${originalException?.message}`, {
|
|
395
|
+
cause: originalException ?? undefined
|
|
396
|
+
});
|
|
375
397
|
}
|
|
376
398
|
}
|
|
377
399
|
}
|
|
400
|
+
/** Upper bound on repair passes. Each pass fixes exactly one character. */
|
|
401
|
+
const MAX_JSON_ESCAPING_REPAIRS = 40;
|
|
402
|
+
/**
|
|
403
|
+
* Deterministically repairs the single most common way an LLM breaks otherwise-valid JSON:
|
|
404
|
+
* a double quote or raw control character left unescaped inside a string value.
|
|
405
|
+
*
|
|
406
|
+
* ## Why this exists
|
|
407
|
+
*
|
|
408
|
+
* Models embed rich markdown in string fields — mermaid diagrams, HTML mockups, code samples —
|
|
409
|
+
* and reliably escape most of it. A single missed quote inside a 25KB response invalidates the
|
|
410
|
+
* whole document. Nothing else in the repair chain recovers that: JSON5's leniency covers trailing
|
|
411
|
+
* commas, comments and unquoted keys, but an unescaped `"` terminates a string in JSON5 exactly as
|
|
412
|
+
* it does in JSON. The remaining fallback is an LLM round-trip on the full payload, which is slow,
|
|
413
|
+
* costly, and itself unreliable at that size.
|
|
414
|
+
*
|
|
415
|
+
* ## How it works
|
|
416
|
+
*
|
|
417
|
+
* Purely error-driven, one character per pass:
|
|
418
|
+
*
|
|
419
|
+
* 1. `JSON.parse` the text and read the failure offset from the thrown error.
|
|
420
|
+
* 2. Scan backwards from that offset for the character that ended the string early.
|
|
421
|
+
* 3. Escape that one character.
|
|
422
|
+
* 4. Re-parse. Repeat until it parses or a stopping condition trips.
|
|
423
|
+
*
|
|
424
|
+
* Every pass is validated by a real parse, so this never "pattern matches" its way to a wrong
|
|
425
|
+
* answer the way a global regex rewrite would. It converges in one pass per offending character
|
|
426
|
+
* (about two per quoted mermaid label) and gives up rather than guessing when it cannot make
|
|
427
|
+
* progress.
|
|
428
|
+
*
|
|
429
|
+
* ## Safety
|
|
430
|
+
*
|
|
431
|
+
* This can, in principle, produce valid-but-wrong JSON: escaping a quote that legitimately ended a
|
|
432
|
+
* string would merge two pieces of structure. Three properties keep that in check — it only runs
|
|
433
|
+
* after a parse has already failed (so a correct document is never touched), it only ever *adds*
|
|
434
|
+
* escapes and never deletes or reorders content, and it reports every offset it changed so callers
|
|
435
|
+
* can log, audit, or schema-check the result before trusting it. Callers holding an expected shape
|
|
436
|
+
* should validate against it; a wrong guess almost always fails shape validation.
|
|
437
|
+
*
|
|
438
|
+
* @param inputString - Raw model output, expected to be a JSON envelope
|
|
439
|
+
* @param maxRepairs - Maximum characters to escape before giving up
|
|
440
|
+
* @returns The repair outcome; `repaired` is false when the input could not be recovered
|
|
441
|
+
*
|
|
442
|
+
* @example
|
|
443
|
+
* // A mermaid relationship label whose quotes were not escaped
|
|
444
|
+
* RepairJSONEscaping('{"doc":"```mermaid\\nerDiagram\\n A ||--o{ B : "has items"\\n```"}')
|
|
445
|
+
* // => { repaired: true, repairedOffsets: [...], value: { doc: '...' } }
|
|
446
|
+
*/
|
|
447
|
+
export function RepairJSONEscaping(inputString, maxRepairs = MAX_JSON_ESCAPING_REPAIRS) {
|
|
448
|
+
if (!inputString) {
|
|
449
|
+
return { repaired: false, repairedOffsets: [], reason: 'Input was empty.' };
|
|
450
|
+
}
|
|
451
|
+
let text = inputString;
|
|
452
|
+
const repairedOffsets = [];
|
|
453
|
+
for (let pass = 0; pass <= maxRepairs; pass++) {
|
|
454
|
+
try {
|
|
455
|
+
const value = JSON.parse(text);
|
|
456
|
+
return { repaired: pass > 0, text, value, repairedOffsets };
|
|
457
|
+
}
|
|
458
|
+
catch (error) {
|
|
459
|
+
if (pass === maxRepairs) {
|
|
460
|
+
return {
|
|
461
|
+
repaired: false,
|
|
462
|
+
repairedOffsets,
|
|
463
|
+
reason: `Still unparseable after ${maxRepairs} repairs.`
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
467
|
+
const offset = extractJSONErrorOffset(message);
|
|
468
|
+
if (offset === null) {
|
|
469
|
+
return { repaired: false, repairedOffsets, reason: `No failure offset in: ${message}` };
|
|
470
|
+
}
|
|
471
|
+
const target = findUnescapedStringTerminator(text, offset);
|
|
472
|
+
if (target === null) {
|
|
473
|
+
return {
|
|
474
|
+
repaired: false,
|
|
475
|
+
repairedOffsets,
|
|
476
|
+
reason: `No repairable character near offset ${offset}: ${message}`
|
|
477
|
+
};
|
|
478
|
+
}
|
|
479
|
+
text = text.slice(0, target) + escapeJSONStringChar(text[target]) + text.slice(target + 1);
|
|
480
|
+
repairedOffsets.push(target);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
return { repaired: false, repairedOffsets, reason: 'Repair loop exhausted.' };
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Reads the character offset out of a `JSON.parse` error message.
|
|
487
|
+
*
|
|
488
|
+
* Engines word these differently ("...at position 23011", "...at position 23011 (line 21 column
|
|
489
|
+
* 512)"), so this matches the offset itself rather than any one phrasing.
|
|
490
|
+
*
|
|
491
|
+
* @param errorMessage - Message thrown by JSON.parse
|
|
492
|
+
* @returns The offset, or null when the message carries none
|
|
493
|
+
*/
|
|
494
|
+
function extractJSONErrorOffset(errorMessage) {
|
|
495
|
+
const match = /position (\d+)/i.exec(errorMessage);
|
|
496
|
+
if (!match) {
|
|
497
|
+
return null;
|
|
498
|
+
}
|
|
499
|
+
const offset = Number.parseInt(match[1], 10);
|
|
500
|
+
return Number.isFinite(offset) ? offset : null;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Given the offset where parsing failed, finds the character that ended a string value early.
|
|
504
|
+
*
|
|
505
|
+
* The parser reports where it found something unexpected, which is at or just after the character
|
|
506
|
+
* that actually broke the document. Scanning backwards from there finds the closing quote the model
|
|
507
|
+
* should have escaped — or a raw control character, which is illegal inside a JSON string and is
|
|
508
|
+
* reported at its own offset.
|
|
509
|
+
*
|
|
510
|
+
* @param text - The JSON text being repaired
|
|
511
|
+
* @param errorOffset - Offset reported by JSON.parse
|
|
512
|
+
* @returns Offset of the character to escape, or null when nothing nearby is repairable
|
|
513
|
+
*/
|
|
514
|
+
function findUnescapedStringTerminator(text, errorOffset) {
|
|
515
|
+
// A raw control character is illegal inside a string and is flagged where it sits.
|
|
516
|
+
const atOffset = text[errorOffset];
|
|
517
|
+
if (atOffset !== undefined && isJSONControlCharacter(atOffset)) {
|
|
518
|
+
return errorOffset;
|
|
519
|
+
}
|
|
520
|
+
// Otherwise walk back to the quote that closed the string ahead of time. The scan is bounded:
|
|
521
|
+
// the culprit is adjacent to the failure by construction, and an unbounded walk could reach
|
|
522
|
+
// back into unrelated, correctly-formed structure.
|
|
523
|
+
const lowestOffset = Math.max(0, errorOffset - 64);
|
|
524
|
+
for (let i = Math.min(errorOffset, text.length - 1); i >= lowestOffset; i--) {
|
|
525
|
+
const char = text[i];
|
|
526
|
+
if (isJSONControlCharacter(char)) {
|
|
527
|
+
return i;
|
|
528
|
+
}
|
|
529
|
+
if (char === '"' && !isEscaped(text, i)) {
|
|
530
|
+
return i;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
return null;
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* True when the character must be escaped to appear inside a JSON string literal.
|
|
537
|
+
*
|
|
538
|
+
* @param char - Character to test
|
|
539
|
+
*/
|
|
540
|
+
function isJSONControlCharacter(char) {
|
|
541
|
+
return char < ' ';
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* True when the character at `index` is escaped, accounting for runs of backslashes — in `\\"` the
|
|
545
|
+
* quote is NOT escaped, because the two backslashes escape each other.
|
|
546
|
+
*
|
|
547
|
+
* @param text - The text being inspected
|
|
548
|
+
* @param index - Index of the character in question
|
|
549
|
+
*/
|
|
550
|
+
function isEscaped(text, index) {
|
|
551
|
+
let backslashes = 0;
|
|
552
|
+
for (let i = index - 1; i >= 0 && text[i] === '\\'; i--) {
|
|
553
|
+
backslashes++;
|
|
554
|
+
}
|
|
555
|
+
return backslashes % 2 === 1;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Escapes one character for inclusion in a JSON string literal.
|
|
559
|
+
*
|
|
560
|
+
* @param char - Character to escape
|
|
561
|
+
*/
|
|
562
|
+
function escapeJSONStringChar(char) {
|
|
563
|
+
switch (char) {
|
|
564
|
+
case '"': return '\\"';
|
|
565
|
+
case '\n': return '\\n';
|
|
566
|
+
case '\r': return '\\r';
|
|
567
|
+
case '\t': return '\\t';
|
|
568
|
+
case '\b': return '\\b';
|
|
569
|
+
case '\f': return '\\f';
|
|
570
|
+
default: return '\\u' + char.charCodeAt(0).toString(16).padStart(4, '0');
|
|
571
|
+
}
|
|
572
|
+
}
|
|
378
573
|
/**
|
|
379
574
|
* This function takes in a string that may contain JavaScript code in a markdown code block and returns the JavaScript code without the code block.
|
|
380
575
|
* @param javaScriptCode
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,CAAC,MAAM,QAAQ,CAAC;AAWvB;;;;GAIG;AACH,IAAI,mBAAmB,GAAyC,SAAS,CAAC;AAE1E,MAAM,UAAU,oBAAoB;IAChC;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,mBAAmB,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC;IAClE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1C,mBAAmB,GAAG,MAAsC,CAAC;IACjE,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACvC,mBAAmB,GAAG,MAAsC,CAAC;IACjE,CAAC;SAAM,CAAC;QACJ,uFAAuF;QACvF,mBAAmB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,KAAQ,EACR,4BAAqC,KAAK,EAC1C,WAAmB,EAAE;IAErB,IAAI,yBAAyB,EAAE,CAAC;QAC5B,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,CAAC,KAAU,EAAE,KAAa,EAAO,EAAE;YAC5C,oBAAoB;YACpB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACnB,OAAO,qBAAqB,CAAC;YACjC,CAAC;YAED,wBAAwB;YACxB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,8CAA8C;YAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,iBAAiB;YACjB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,YAAY,CAAC;YACxB,CAAC;YAED,6BAA6B;YAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,sBAAsB,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEhB,gBAAgB;YAChB,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,yDAAyD;YACzD,sGAAsG;YACtG,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBACzB,OAAO;oBACH,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,kDAAkD;oBAClD,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;iBAClE,CAAC;YACN,CAAC;YAED,qGAAqG;YACrG,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAQ,EAAE,CAAC;gBACvB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC9C,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,4FAA4F;YAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAC;YACrD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,IAAI,QAAQ,GAAG,CAAC;YAC3B,CAAC;YAED,OAAO,kBAAkB,CAAC;QAC9B,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACJ,+FAA+F;QAC/F,4FAA4F;QAC5F,gEAAgE;QAChE,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAc,CAAC,CAAC;YACpC,6CAA6C;YAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,CAAC,GAAc,CAAC,GAAG,KAAK,CAAC;gBAC/B,OAAO;YACX,CAAC;YACD,4CAA4C;YAC5C,MAAM,WAAW,GAAI,KAA8B,CAAC,MAAM,CAAC;YAC3D,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAc,CAAC,GAAI,WAA6B,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;gBAClF,OAAO;YACX,CAAC;YACD,0IAA0I;YAC1I,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACtC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC;oBAC3D,MAAM,UAAU,GAAI,IAA6B,CAAC,MAAM,CAAC;oBACzD,IAAI,OAAO,UAAU,KAAK,UAAU;wBAAE,OAAQ,UAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtF,IAAK,IAAe,CAAC,WAAW,KAAK,MAAM;wBAAE,OAAO,oBAAoB,CAAC,IAAc,CAAC,CAAC;oBACzF,sFAAsF;oBACtF,6DAA6D;oBAC7D,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAe,CAAC;gBACjB,OAAO;YACX,CAAC;YACD,2EAA2E;YAC3E,IAAK,KAAgB,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAc,CAAC,GAAG,oBAAoB,CAAC,KAAe,CAAe,CAAC;YACjF,CAAC;YACD,2FAA2F;QAC/F,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAU,WAA0B,EAAE,YAAqB,KAAK;IAC7F,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,aAAa,CAAI,OAAO,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,SAAS,CAAC,WAA0B;IAChD,IAAI,CAAC,WAAW;QACZ,OAAO,IAAI,CAAC;IAEhB,IAAI,eAAe,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,iBAAiB,GAAiB,IAAI,CAAC;IAE3C,uCAAuC;IACvC,2EAA2E;IAC3E,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,uCAAuC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,mFAAmF;QACnF,iBAAiB,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,oEAAoE;QACpE,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,iCAAiC;YACjC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,yBAAyB;YACzB,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,qDAAqD;YACrD,8CAA8C;YAC9C,MAAM,UAAU,GAAG,eAAe,GAAG,GAAG,CAAC;YACzC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,wEAAwE;IACxE,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEtF,mCAAmC;IACnC,wDAAwD;IACxD,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC;YACD,kDAAkD;YAClD,sEAAsE;YACtE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,yEAAyE;YACzE,eAAe,GAAG,eAAe;iBAC5B,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAK,YAAY;iBACxC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAK,YAAY;iBACxC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAK,YAAY;iBACxC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAM,WAAW;iBACvC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAG,aAAa;QAClD,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,uCAAuC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,gEAAgE;IACpE,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,kGAAkG;IAClG,MAAM,aAAa,GAAG,iEAAiE,CAAC;IAExF,kEAAkE;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,iGAAiG;QACjG,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,uCAAuC;IACxE,CAAC;SAAM,CAAC;QACJ,mGAAmG;QACnG,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAElB,8EAA8E;QAC9E,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC,IAAI,iBAAiB,GAAG,eAAe,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9F,UAAU,GAAG,iBAAiB,CAAC;YAC/B,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,UAAU,GAAG,eAAe,CAAC;YAC7B,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO,eAAe,CAAC,CAAC,oDAAoD;QAChF,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC;YACD,gDAAgD;YAChD,4CAA4C;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,qDAAqD;YACrD,wDAAwD;YACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,cAAsB;IAClD,4EAA4E;IAC5E,2HAA2H;IAC3H,MAAM,aAAa,GAAG,yCAAyC,CAAC;IAEhE,kEAAkE;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAEnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,iGAAiG;QACjG,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACJ,kFAAkF;QAClF,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAAU,UAAkB,EAAE,YAAqB,KAAK;IACjF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAM,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,SAAS;YACT,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,YAAqC,EAAE,IAAY;IAC/F,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxG,OAAO,IAAI,OAAO,IAAI,SAAS,KAAK,OAAO,GAAG,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAoBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS,EAAE,OAA6B;IACtE,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;IAC3D,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAI,CAAC;IAE/D,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,gFAAgF;QAChF,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/B,GAAG,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,gBAAgB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,+CAA+C;QAC/C,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAS;IACxB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,kEAAkE;IAClE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,KAAK,CAAC,CAAC,uCAAuC;QAC/E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG;YAAE,SAAS,GAAG,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,CAAS,EAAE,aAAsB,EAAE,eAA0B;IACvF,2DAA2D;IAC3D,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,wBAAwB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,2DAA2D;YAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC5B,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;IAC1D,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACtD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;IACzD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IAC3D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACrC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,SAAS,wBAAwB,CAAC,CAAS,EAAE,eAA0B;IACnE,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAExD,oDAAoD;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACnB,CAAS,EACT,GAAW,EACX,IAAiB,EACjB,IAAkC;IAElC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,CAAC,mCAAmC;IAEnE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,yEAAyE;IACzE,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACtB,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,2DAA2D;QAC/D,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,IAAI,uBAAuB,GAAuB,IAAI,CAAC;AACvD,IAAI,4BAA4B,GAAyB,SAAS,CAAC;AAEnE,SAAS,yBAAyB,CAAC,eAA0B;IACzD,mDAAmD;IACnD,IAAI,uBAAuB,IAAI,4BAA4B,KAAK,eAAe,EAAE,CAAC;QAC9E,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,qCAAqC;IACrC,KAAK,MAAM,IAAI,IAAI,wBAAwB,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,iCAAiC;IACjC,IAAI,eAAe,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,uBAAuB,GAAG,IAAI,CAAC;IAC/B,4BAA4B,GAAG,eAAe,CAAC;IAC/C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,wBAAwB,GAAG;IAC7B,wBAAwB;IACxB,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAC/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU;IAC1E,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY;IAC9E,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW;IAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IACzE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IACrE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO;IACnD,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU;IACvE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa;IACjF,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ;IAChF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;IAC9E,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY;IAC5E,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc;IAClF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe;IAC/E,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;IAC3E,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAC1E,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IACvE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS;IAC1E,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO;IAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IACxE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ;IAC5E,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa;IAC5E,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;IACtE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU;IAC5E,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;IAC3E,KAAK,EAAE,UAAU,EAAE,MAAM;IACzB,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IACnE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY;IACjE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO;IACpE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa;IACpE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS;IACvE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY;IAC9E,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;IAC1E,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IACpE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;IACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU;IAC1E,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa;IAClE,UAAU,EAAE,MAAM,EAAE,SAAS;IAC7B,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ;IACpE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACzE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;IACnD,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IACpE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ;IACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa;IACrE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;IACjE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU;IACpE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;IACjE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IACtD,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc;IACzC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW;IACrC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IACjE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IACnE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;IACvE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IACnE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IACvD,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY;IAC/D,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;IACnE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK;IACrE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM;IACvE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ;IAC3E,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ;IAC1E,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;IACxE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;IACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO;IACnE,cAAc,EAAE,QAAQ;IACxB,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IACjE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa;IAC/D,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU;IACjE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU;IACzE,UAAU,EAAE,OAAO,EAAE,WAAW;IAChC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;IACjE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS;IACxE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY;IAC9D,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO;IACpE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IACrE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW;IACxE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY;IACnE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ;IACxE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS;IACxE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;IACtE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU;IACxE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IACnE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO;IACnE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;IACtD,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO;IACvE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IACpE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW;IACpE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY;IACjE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc;IACvE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc;IACxE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IAC1E,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB;IACpE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO;IACvE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ;IACvE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU;IACpE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;IACvE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC/B,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO;IACvE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;IACpE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ;IACnE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IACxE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU;IACtE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU;IAC/D,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IACxE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc;IACjE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe;IAC5E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;IACvE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;IACpE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;IACnE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ;IACzE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS;IACpE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;IAClE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IAC/D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY;IAC7D,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;IAChE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;IACvE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IACjE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;IAChE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB;IAClE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;IACjE,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IAC7D,SAAS;IACT,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;IACpE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAC/D,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IACrD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;IAC9D,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ;IAC1D,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IACrD,MAAM,EAAE,QAAQ,EAAE,OAAO;IACzB,KAAK,EAAE,MAAM;CAChB,CAAC;AAEF;;;;;EAKE;AACF,MAAM,UAAU,4BAA4B,CAAC,CAAS;IAClD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACjC,IACG,CAAC,GAAG,CAAC,IAAI,0BAA0B;YACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,yCAAyC;gBAC/G,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,kDAAkD;oBACzH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,0BAA0B;UACxF,CAAC;YACA,MAAM,IAAI,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS;IACrC,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,gEAAgE;QAChE,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,2DAA2D;AAC7F,CAAC;AAOD,MAAM,kBAAkB,GAA2B;IAC/C,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;CACjB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACnD,OAAO,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAY;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,wDAAwD;IACxD,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAC/C,CAAC;IACF,IAAI,qBAAqB,EAAE,CAAC;QACxB,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAChE,CAAC;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,uBAAuB;IAChE,CAAC;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,2CAA2C;QACjF,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;IACtD,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;IACrD,CAAC;IAED,8EAA8E;IAC9E,0EAA0E;IAC1E,oDAAoD;IACpD,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB,EAAE,OAAkF;IACvI,+BAA+B;IAC/B,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,6DAA6D;QAC7D,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;SACI,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACnF,2EAA2E;QAC3E,+EAA+E;QAC/E,qFAAqF;QACrF,+DAA+D;QAC/D,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,8BAA8B;IAC9B,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,oCAAoC;IACpC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3E,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,sCAAsC;YACtC,OAAO,YAAY,CAAC,YAAY,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,oDAAoD;YACpD,OAAO,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,mDAAmD;QACnD,OAAO,YAAY,CAAC,YAAY,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,6CAA6C;IAC7C,OAAO,YAAY,CAAC,YAAY,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAGH;IACpC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;aACI,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;gBACnC,0DAA0D;gBAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtE,CAAC;iBACI,CAAC;gBACF,+DAA+D;gBAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;aACI,CAAC;YACF,mCAAmC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;SACI,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,yEAAyE;IAC1F,CAAC;AACL,CAAC;AAID;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS,EAAE,YAAoB,EAAE,gBAAyB;IACzF,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,sDAAsD;QACtD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GACb,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxB,CAAC,CAAC,gBAAgB,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;IAE9C,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAGD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACtC,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,gDAAgD;QAChD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,qEAAqE;QACrE,OAAO,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,OAAO,CAAC,CAAC;AACb,CAAC;AAGD;;;GAGG;AACH,MAAM,UAAU,MAAM;IAClB,OAAO,EAAE,EAAE,CAAC;AAChB,CAAC;AAGD;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAY,EAAE,eAAwB,IAAI;IACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,SAAS,IAAI,CAAE,OAAe;QAC1B,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;YAE3B,kDAAkD;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5D,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;oBAC9E,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;oBAC9E,IAAI,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;oBACrE,MAAM;gBACV,CAAC;YACL,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,IAAI,CAAC,aAAa,QAAQ,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAClE,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,UAA4B,EAAE;IACzE,yEAAyE;IACzE,MAAM,IAAI,GAA+B;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG;QACjC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,KAAK;QACrD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;KAC9B,CAAC;IAEF,uCAAuC;IACvC,OAAO,2BAA2B,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAQ,EAAE,OAAmC,EAAE,KAAa,EAAE,IAAY;IAC7G,oBAAoB;IACpB,IAAI,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,yCAAyC,OAAO,CAAC,QAAQ,qBAAqB,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAwB;IACxB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kDAAkD;IAClD,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAU,EAAE,OAAmC,EAAE,KAAa,EAAE,IAAY;IACvG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,WAAW,IAAI,WAAW,OAAO,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrI,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;SACI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,uDAAuD;QACvD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;SACI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACrD,wDAAwD;QACxD,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,aAAa,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,CAAC;QACJ,OAAO,KAAK,CAAC,CAAC,+DAA+D;IAC/E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgC;IAC9D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAQD,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD;;;GAGG;AACH,MAAM,wBAAwB,GAC1B,yMAAyM,CAAC;AAE9M,4FAA4F;AAC5F,MAAM,wBAAwB,GAAsB;IAChD,eAAe,EAAkB,0BAA0B;IAC3D,OAAO,EAA2B,oBAAoB;IACtD,OAAO,EAA2B,gCAAgC;IAClE,qBAAqB,EAAa,qBAAqB;IACvD,sBAAsB,EAAY,qBAAqB;IACvD,0CAA0C,EAAE,+BAA+B;CAC9E,CAAC;AAEF,yFAAyF;AACzF,MAAM,sBAAsB,GAAsB;IAC9C,iBAAiB,EAAiB,sBAAsB;IACxD,iBAAiB,EAAiB,oBAAoB;IACtD,qBAAqB,EAAa,WAAW;IAC7C,iCAAiC,EAAC,WAAW;IAC7C,uBAAuB,EAAW,gBAAgB;IAClD,UAAU,EAAwB,eAAe;IACjD,+BAA+B,EAAG,gCAAgC;CACrE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAChC,KAAgC,EAChC,gBAAwB,6BAA6B;IAErD,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAE3B,MAAM,KAAK,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,6BAA6B,CAAC;IAChF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAE/C,wEAAwE;IACxE,IAAI,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAElD,uEAAuE;IACvE,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9C,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,wFAAwF;AACxF,SAAS,kBAAkB,CAAC,MAAc;IACtC,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,sBAAsB,EAAE,CAAC;QACtC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CAAC,MAAc;IACjC,wBAAwB,CAAC,SAAS,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,CAAC;YAAE,MAAM;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,KAAa,EAAE,SAAkB;IACpF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEvD,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEjF,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;QACvE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;QAC/B,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAW,EAAE,KAAW;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3D,yDAAyD;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC;IAE9C,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAEhC,yDAAyD;IACzD,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,OAAO,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,OAAmC,EAAE,KAAa,EAAE,IAAY;IAC3G,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,4DAA4D;IAC5D,2FAA2F;IAC3F,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7F,yFAAyF;QACzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC;QACb,CAAC;QACD,+FAA+F;IACjG,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE/B,mFAAmF;YACnF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,gEAAgE,IAAI,YAAY,CAAC,CAAC;gBAChG,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,0DAA0D,IAAI,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,OAAO,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC,CAAC,2BAA2B;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,8DAA8D;QAChE,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC7B,2CAA2C;QAC3C,2BAA2B;QAC3B,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;oBAC/C,IAAI,EAAE,2BAA2B,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC;iBAC5F,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,wDAAwD;YACxD,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,UAAU,IAAI,SAAS;oBAC7B,IAAI,EAAE,2BAA2B,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC;iBAC5F,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,2DAA2D;YAC7D,CAAC;QACH,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,OAAO,GAAG,CAAC;AACb,CAAC;AAGD;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAgD;IACtE,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED