@memberjunction/core 4.3.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/__tests__/mocks/TestMetadataProvider.d.ts +45 -0
  2. package/dist/__tests__/mocks/TestMetadataProvider.d.ts.map +1 -0
  3. package/dist/__tests__/mocks/TestMetadataProvider.js +217 -0
  4. package/dist/__tests__/mocks/TestMetadataProvider.js.map +1 -0
  5. package/dist/__tests__/providerBase.concurrency.test.d.ts +10 -0
  6. package/dist/__tests__/providerBase.concurrency.test.d.ts.map +1 -0
  7. package/dist/__tests__/providerBase.concurrency.test.js +253 -0
  8. package/dist/__tests__/providerBase.concurrency.test.js.map +1 -0
  9. package/dist/__tests__/providerBase.refresh.test.d.ts +10 -0
  10. package/dist/__tests__/providerBase.refresh.test.d.ts.map +1 -0
  11. package/dist/__tests__/providerBase.refresh.test.js +161 -0
  12. package/dist/__tests__/providerBase.refresh.test.js.map +1 -0
  13. package/dist/__tests__/setup.d.ts +5 -0
  14. package/dist/__tests__/setup.d.ts.map +1 -0
  15. package/dist/__tests__/setup.js +17 -0
  16. package/dist/__tests__/setup.js.map +1 -0
  17. package/dist/generic/baseEntity.d.ts +92 -4
  18. package/dist/generic/baseEntity.d.ts.map +1 -1
  19. package/dist/generic/baseEntity.js +163 -23
  20. package/dist/generic/baseEntity.js.map +1 -1
  21. package/dist/generic/entityInfo.d.ts +17 -0
  22. package/dist/generic/entityInfo.d.ts.map +1 -1
  23. package/dist/generic/entityInfo.js +19 -0
  24. package/dist/generic/entityInfo.js.map +1 -1
  25. package/dist/generic/interfaces.d.ts +20 -0
  26. package/dist/generic/interfaces.d.ts.map +1 -1
  27. package/dist/generic/interfaces.js.map +1 -1
  28. package/dist/generic/metadata.d.ts +5 -5
  29. package/dist/generic/metadata.js +5 -5
  30. package/dist/generic/metadata.js.map +1 -1
  31. package/dist/views/runView.js +1 -1
  32. package/dist/views/runView.js.map +1 -1
  33. package/package.json +2 -2
  34. package/readme.md +37 -2
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ /**
3
+ * Baseline Tests for ProviderBase.Refresh() and Config()
4
+ *
5
+ * Purpose: Document current behavior before implementing thread safety fixes
6
+ * These tests establish a baseline to ensure the fix doesn't break existing functionality
7
+ *
8
+ * Related: METADATA_THREAD_SAFETY_IMPLEMENTATION.md - Phase 1, Task 1.3
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const interfaces_1 = require("../generic/interfaces.js");
12
+ const TestMetadataProvider_1 = require("./mocks/TestMetadataProvider.js");
13
+ describe('ProviderBase.Refresh - Baseline Behavior', () => {
14
+ let provider;
15
+ let testConfig;
16
+ beforeEach(() => {
17
+ provider = new TestMetadataProvider_1.TestMetadataProvider();
18
+ testConfig = new interfaces_1.ProviderConfigDataBase({}, // data
19
+ '__mj', // MJCoreSchemaName
20
+ [], // includeSchemas
21
+ [], // excludeSchemas
22
+ true // ignoreExistingMetadata - don't copy from global
23
+ );
24
+ });
25
+ describe('Single Refresh Operations', () => {
26
+ test('Config() loads metadata successfully', async () => {
27
+ const result = await provider.Config(testConfig);
28
+ expect(result).toBe(true);
29
+ expect(provider.Entities).toBeDefined();
30
+ expect(provider.Entities.length).toBeGreaterThan(0);
31
+ });
32
+ test('Entities have Fields populated', async () => {
33
+ await provider.Config(testConfig);
34
+ const entity = provider.Entities[0];
35
+ expect(entity).toBeDefined();
36
+ expect(entity.Fields).toBeDefined();
37
+ expect(entity.Fields.length).toBe(2);
38
+ expect(entity.Fields[0].Name).toBe('ID');
39
+ });
40
+ test('Refresh() triggers Config() and reloads metadata', async () => {
41
+ // Initial load
42
+ await provider.Config(testConfig);
43
+ const initialCount = provider.Entities.length;
44
+ // Change mock data
45
+ provider.setMockMetadata({
46
+ ...await provider['GetAllMetadata'](),
47
+ Entities: [
48
+ {
49
+ ID: '3',
50
+ Name: 'New Entity',
51
+ SchemaName: 'dbo',
52
+ BaseView: 'vwNewEntity',
53
+ BaseTable: 'NewEntity',
54
+ Fields: [{ ID: 'f5', Name: 'ID', Type: 'uniqueidentifier', IsPrimaryKey: true }]
55
+ }
56
+ ]
57
+ });
58
+ // Refresh
59
+ await provider.Refresh();
60
+ // Should have new data
61
+ expect(provider.Entities.length).toBe(1);
62
+ expect(provider.Entities[0].Name).toBe('New Entity');
63
+ });
64
+ test('AllowRefresh=false prevents refresh', async () => {
65
+ await provider.Config(testConfig);
66
+ const initialCount = provider.Entities.length;
67
+ // Disable refresh
68
+ provider.setAllowRefresh(false);
69
+ // Try to refresh
70
+ const result = await provider.Refresh();
71
+ // Should return true but not actually refresh
72
+ expect(result).toBe(true);
73
+ expect(provider.Entities.length).toBe(initialCount);
74
+ });
75
+ });
76
+ describe('Metadata Access During Operations', () => {
77
+ test('Entities accessible immediately after Config()', async () => {
78
+ await provider.Config(testConfig);
79
+ // Should be able to access metadata immediately
80
+ const entities = provider.Entities;
81
+ expect(entities).toBeDefined();
82
+ expect(Array.isArray(entities)).toBe(true);
83
+ expect(entities.length).toBeGreaterThan(0);
84
+ });
85
+ test('Entities array is stable across multiple reads', async () => {
86
+ await provider.Config(testConfig);
87
+ const read1 = provider.Entities;
88
+ const read2 = provider.Entities;
89
+ const read3 = provider.Entities;
90
+ // Should return same array instance
91
+ expect(read1).toBe(read2);
92
+ expect(read2).toBe(read3);
93
+ });
94
+ test('Fields arrays are accessible', async () => {
95
+ await provider.Config(testConfig);
96
+ const entity = provider.Entities[0];
97
+ const fields1 = entity.Fields;
98
+ const fields2 = entity.Fields;
99
+ expect(fields1).toBeDefined();
100
+ expect(fields1).toBe(fields2); // Same array instance
101
+ expect(fields1.length).toBeGreaterThan(0);
102
+ });
103
+ });
104
+ describe('Current Behavior - Documenting Issues', () => {
105
+ test('KNOWN ISSUE: Reading metadata during Config() may see empty data', async () => {
106
+ /**
107
+ * This test documents the current race condition.
108
+ * When Config() is called, it immediately clears metadata (line 341 of providerBase.ts)
109
+ * before GetAllMetadata() completes.
110
+ *
111
+ * During this window, readers see empty metadata.
112
+ * This test will FAIL before the fix and PASS after the atomic update fix.
113
+ */
114
+ // Start config but don't await
115
+ const configPromise = provider.Config(testConfig);
116
+ // Try to read metadata during config (after slight delay)
117
+ await new Promise(resolve => setTimeout(resolve, 10));
118
+ const entitiesDuringConfig = provider.Entities;
119
+ // CURRENT BEHAVIOR: This might be empty or undefined
120
+ // DESIRED BEHAVIOR: Should return either old metadata (if any) or wait for new
121
+ // Note: On first call, there is no "old" metadata, so empty is expected
122
+ // Wait for config to complete
123
+ await configPromise;
124
+ // After config, should definitely have data
125
+ expect(provider.Entities.length).toBeGreaterThan(0);
126
+ // Document current behavior
127
+ console.log('Entities during config:', entitiesDuringConfig?.length ?? 'undefined/empty');
128
+ console.log('Entities after config:', provider.Entities.length);
129
+ });
130
+ test('✅ FIXED: Multiple concurrent Config() calls now safe', async () => {
131
+ /**
132
+ * This test verifies that concurrent Config() calls don't cause race conditions.
133
+ * With the atomic update fix, readers always see valid metadata (old or new).
134
+ *
135
+ * Before fix: Metadata would be cleared, causing empty array errors
136
+ * After fix: Metadata is atomically swapped, no intermediate empty state
137
+ */
138
+ provider.resetCallCount();
139
+ // Start 3 concurrent Config() calls
140
+ const promises = [
141
+ provider.Config(testConfig),
142
+ provider.Config(testConfig),
143
+ provider.Config(testConfig),
144
+ ];
145
+ // Wait for all to complete
146
+ const results = await Promise.all(promises);
147
+ // All should succeed
148
+ expect(results.every(r => r === true)).toBe(true);
149
+ // Should have valid metadata
150
+ expect(provider.Entities).toBeDefined();
151
+ expect(provider.Entities.length).toBeGreaterThan(0);
152
+ // Check efficiency - may coalesce some calls
153
+ const callCount = provider.getCallCount();
154
+ console.log('GetAllMetadata called:', callCount, 'times for 3 Config() calls');
155
+ console.log('Final entity count:', provider.Entities.length);
156
+ // ✅ FIXED: No more race conditions - metadata is always valid
157
+ // DESIRED BEHAVIOR: All calls complete safely, metadata is consistent
158
+ });
159
+ });
160
+ });
161
+ //# sourceMappingURL=providerBase.refresh.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerBase.refresh.test.js","sourceRoot":"","sources":["../../src/__tests__/providerBase.refresh.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Jest setup file for MJCore tests
3
+ * Runs before each test file
4
+ */
5
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Jest setup file for MJCore tests
3
+ * Runs before each test file
4
+ */
5
+ // Increase timeout for async operations
6
+ jest.setTimeout(30000);
7
+ // Mock console methods to reduce noise (can be enabled per test)
8
+ global.console = {
9
+ ...console,
10
+ // Uncomment to silence logs during tests
11
+ // log: jest.fn(),
12
+ // debug: jest.fn(),
13
+ // info: jest.fn(),
14
+ // warn: jest.fn(),
15
+ // error: jest.fn(),
16
+ };
17
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wCAAwC;AACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvB,iEAAiE;AACjE,MAAM,CAAC,OAAO,GAAG;IACf,GAAG,OAAO;IACV,yCAAyC;IACzC,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC"}
@@ -270,20 +270,55 @@ export declare abstract class BaseEntity<T = unknown> {
270
270
  *
271
271
  * All data routing (Set/Get), dirty tracking, validation, and save/delete
272
272
  * orchestration flow through this composition chain.
273
+ *
274
+ * ## Disjoint vs Overlapping Subtypes
275
+ *
276
+ * Two modes of child relationship exist, controlled by the parent entity's
277
+ * `AllowMultipleSubtypes` flag:
278
+ *
279
+ * **Disjoint (AllowMultipleSubtypes = false, default):**
280
+ * A parent record has at most ONE child type. _childEntity holds a live
281
+ * BaseEntity reference for composition chaining — save/delete delegates
282
+ * down to the leaf, and LeafEntity traverses through it.
283
+ * Product → _childEntity = MeetingEntity → _childEntity = WebinarEntity
284
+ *
285
+ * **Overlapping (AllowMultipleSubtypes = true):**
286
+ * A parent record can simultaneously exist as MULTIPLE child types.
287
+ * _childEntity is NOT used (ISAChild returns null). Instead,
288
+ * _childEntities stores an informational list of which child entity
289
+ * types have records for this PK. The overlapping parent is the leaf
290
+ * of its own chain — it does not delegate save/delete downward. Each
291
+ * child entity independently chains upward to the parent via
292
+ * _parentEntity, and save/delete flows upward through that chain.
293
+ * Person → _childEntities = [{entityName:'Members'}, {entityName:'Speakers'}]
294
+ * MemberEntity._parentEntity = PersonEntity (independent chain)
295
+ * SpeakerEntity._parentEntity = PersonEntity (independent chain)
296
+ *
297
+ * Record Change propagation for overlapping subtypes is handled at the
298
+ * provider level (SQLServerDataProvider.PropagateRecordChangesToSiblings),
299
+ * not in BaseEntity.
273
300
  **************************************************************************/
274
301
  /**
275
302
  * Persistent reference to the parent entity in the IS-A chain.
276
303
  * For example, if MeetingEntity IS-A ProductEntity, the MeetingEntity instance
277
304
  * holds a reference to a ProductEntity instance here. This is null for entities
278
- * that are not IS-A child types.
305
+ * that are not IS-A child types. Used identically for both disjoint and
306
+ * overlapping subtypes — child entities always chain upward to their parent.
279
307
  */
280
308
  private _parentEntity;
281
309
  /**
282
- * Persistent reference to the child entity in the IS-A chain.
310
+ * Persistent reference to the single child entity in a **disjoint** IS-A chain.
283
311
  * For example, if MeetingEntity has a Webinar child record with the same PK,
284
312
  * the MeetingEntity instance holds a reference to a WebinarEntity instance here.
285
313
  * Populated after Load/Hydrate when child discovery finds a matching record.
286
- * Null when this entity has no child record, is a leaf, or hasn't been loaded yet.
314
+ *
315
+ * **Only used for disjoint subtypes** (AllowMultipleSubtypes = false).
316
+ * For overlapping parents, this field is not populated — use _childEntities
317
+ * instead, which stores the list of child entity type names. The ISAChild
318
+ * getter returns null for overlapping parents to enforce this distinction.
319
+ *
320
+ * Null when: no child record exists, entity is a leaf, entity hasn't been
321
+ * loaded yet, or entity is an overlapping parent.
287
322
  */
288
323
  private _childEntity;
289
324
  /**
@@ -297,6 +332,23 @@ export declare abstract class BaseEntity<T = unknown> {
297
332
  * loaded record. Reset to false on NewRecord() and init().
298
333
  */
299
334
  private _childEntityDiscoveryDone;
335
+ /**
336
+ * For **overlapping** subtype parents (AllowMultipleSubtypes = true), stores
337
+ * the list of child entity type names that have records for this PK.
338
+ * Populated during InitializeChildEntity() via discoverOverlappingChildren().
339
+ *
340
+ * **Only used for overlapping subtypes.** For disjoint parents, this is null —
341
+ * use _childEntity instead, which holds a live BaseEntity reference for
342
+ * composition chaining. The ISAChildren getter exposes this publicly.
343
+ *
344
+ * This is an **informational list** (entity names only, no live object
345
+ * references) used for UI display (IS-A related panel, breadcrumb tree)
346
+ * and Record Change propagation. It does NOT participate in save/delete
347
+ * orchestration — each child entity chains independently via _parentEntity.
348
+ *
349
+ * Null for disjoint parents, non-parent entities, or entities not yet loaded.
350
+ */
351
+ private _childEntities;
300
352
  /**
301
353
  * Opaque provider-level transaction handle. Used by IS-A save/delete orchestration
302
354
  * to share a single SQL transaction across the parent chain.
@@ -326,12 +378,24 @@ export declare abstract class BaseEntity<T = unknown> {
326
378
  get ISAParent(): BaseEntity | null;
327
379
  /**
328
380
  * Returns the child entity in the IS-A composition chain, or null if this
329
- * entity has no child record or hasn't been loaded yet.
381
+ * entity has no child record, hasn't been loaded yet, or is an overlapping
382
+ * subtype parent (use `ISAChildren` instead for overlapping parents).
330
383
  *
331
384
  * Example: For a MeetingEntity where a Webinar record exists with the same PK,
332
385
  * `ISAChild` returns the WebinarEntity instance.
333
386
  */
334
387
  get ISAChild(): BaseEntity | null;
388
+ /**
389
+ * For overlapping subtype parents (AllowMultipleSubtypes = true), returns
390
+ * the list of child entity type names that have records for this PK.
391
+ * For disjoint parents or non-parent entities, returns null (use `ISAChild` instead).
392
+ *
393
+ * Example: For a PersonEntity with AllowMultipleSubtypes=true, might return
394
+ * [{entityName: 'Members'}, {entityName: 'Volunteers'}, {entityName: 'Speakers'}].
395
+ */
396
+ get ISAChildren(): {
397
+ entityName: string;
398
+ }[] | null;
335
399
  /**
336
400
  * @deprecated Use `ISAParent` instead. Kept for backward compatibility.
337
401
  */
@@ -365,8 +429,17 @@ export declare abstract class BaseEntity<T = unknown> {
365
429
  * Uses the provider's FindISAChildEntity method (single UNION ALL query) to
366
430
  * determine which child entity type, if any, has a record with our PK value.
367
431
  * Returns the child entity name or null if no child exists.
432
+ * Used for disjoint (non-overlapping) parent entities.
368
433
  */
369
434
  private discoverChildEntityName;
435
+ /**
436
+ * Discovers ALL child entity types that have records with our PK value.
437
+ * Used for overlapping subtype parents (AllowMultipleSubtypes = true) where
438
+ * multiple children can coexist. Stores the result in _childEntities but does
439
+ * NOT auto-chain to any single child — the caller must use GetEntityObject
440
+ * to load a specific child type when needed.
441
+ */
442
+ private discoverOverlappingChildren;
370
443
  /**
371
444
  * Creates the child entity instance, wires up the shared instance chain
372
445
  * (child._parentEntity = this, this._childEntity = child), loads the
@@ -386,6 +459,10 @@ export declare abstract class BaseEntity<T = unknown> {
386
459
  /**
387
460
  * Returns the leaf (most-derived) entity in the IS-A chain, walking
388
461
  * downward through child references. Returns `this` if no child exists.
462
+ *
463
+ * For overlapping subtype parents (AllowMultipleSubtypes = true), returns
464
+ * `this` because there is no single child chain to follow — the parent
465
+ * is the leaf from its own perspective.
389
466
  */
390
467
  get LeafEntity(): BaseEntity;
391
468
  /**
@@ -717,6 +794,13 @@ export declare abstract class BaseEntity<T = unknown> {
717
794
  * @returns
718
795
  */
719
796
  private _InnerSave;
797
+ /**
798
+ * Determines whether the parent entity should be deleted after this child entity
799
+ * has been deleted. For overlapping subtype parents (AllowMultipleSubtypes = true),
800
+ * the parent is preserved if other child records still exist. For disjoint parents
801
+ * (default), always returns true to continue the cascade.
802
+ */
803
+ private shouldDeleteParentAfterChildDelete;
720
804
  /**
721
805
  * Helper to rollback an IS-A provider transaction if one is active.
722
806
  * Only called by the IS-A initiator (the leaf entity that started the chain).
@@ -904,6 +988,10 @@ export declare abstract class BaseEntity<T = unknown> {
904
988
  * child types (excluding self) for records with the same PK value.
905
989
  * Throws if a sibling child record is found.
906
990
  *
991
+ * Only called when the parent entity has `AllowMultipleSubtypes = false` (default).
992
+ * When `AllowMultipleSubtypes = true`, this check is skipped entirely, allowing
993
+ * overlapping subtypes (e.g., a Person can be both a Member and a Volunteer).
994
+ *
907
995
  * Only runs on Database providers — client-side (Network/GraphQL) skips this
908
996
  * because the server-side save will perform the check authoritatively.
909
997
  */
@@ -1 +1 @@
1
- {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAuB,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACjL,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAqB,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAgB,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG5M,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAwE,YAAY,EAAa,MAAM,MAAM,CAAC;AACrH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,WAAW;IACpB;;;OAGG;IACH,gBAAuB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUxC;IAED;;;;OAIG;IACH,OAAO,CAAC,2BAA2B,CAAkB;IACrD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAiB;IAElC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,iBAAiB,CAEjC;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,GAAG,CAOf;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAuBnB;IAED;;;;OAIG;IACI,iBAAiB;IAIxB;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CA8DnB;IAED;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAc;IAIjE;;;;OAIG;IACI,QAAQ,IAAI,gBAAgB;gBA+CvB,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,GAAG;IA+EnD;;OAEG;IACI,aAAa;IAMpB;;;;OAIG;IACH,IAAW,sBAAsB,IAAI,OAAO,CAE3C;IACD,IAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAE/C;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,GAAG,CAEzB;CACJ;AAED,qBAAa,4BAA4B;IACrC,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,gBAAgB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;IAClC,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;gBAG9C,SAAS,GAAE,OAAe,EAC1B,cAAc,GAAE,OAAe,EAC/B,gBAAgB,GAAE,OAAe,EACjC,aAAa,GAAE,MAAM,EAAO,EAC5B,wBAAwB,GAAE,OAAe,EACzC,iBAAiB,GAAE,4BAA4B,EAAO;CAS7D;AAED,qBAAa,wBAAwB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,GAAG,CAAA;CACd;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf;;OAEG;IACH,cAAc,EAAE;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,EAAE,CAAM;IACvD;;OAEG;IACH,SAAS,EAAE;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,EAAE,CAAM;IAElD;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;gBAEF,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ;IAUvF;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CA6BnC;CACJ;AAGD;;;GAGG;AACH,qBAAa,eAAe;IACxB;;;;;;OAMG;IACH,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,mBAAmB,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,OAAO,CAAC;IAE9I;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAElC;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,8BAAsB,UAAU,CAAC,CAAC,GAAG,OAAO;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAoC;IAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAuC4E;IAE5E;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAA2B;IAEhD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAA4B;IAE3D;;;OAGG;IACH,OAAO,CAAC,yBAAyB,CAAkB;IAEnD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,cAAc,CAAyC;IAE/D;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;OAEG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAAsC;IAExE;;;OAGG;IACH,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAwC;IAE9E;;;;;;;;;OASG;IACH,IAAI,SAAS,IAAI,UAAU,GAAG,IAAI,CAA+B;IAEjE;;;;;;;OAOG;IACH,IAAI,QAAQ,IAAI,UAAU,GAAG,IAAI,CAMhC;IAED;;;;;;;OAOG;IACH,IAAI,WAAW,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAEjD;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,UAAU,GAAG,IAAI,CAA+B;gBAE3D,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAE,mBAAmB,GAAG,IAAW;IAQ3E;;;;;;;OAOG;IACU,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpD;;;;;;;;;;;;;OAaG;cACa,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtD;;;;;OAKG;YACW,uBAAuB;IAYrC;;;;;;OAMG;YACW,2BAA2B;IAYzC;;;;OAIG;YACW,wBAAwB;IA0BtC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;;;;;;OAOG;IACH,IAAI,UAAU,IAAI,UAAU,CAU3B;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,UAAU,CAM3B;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAmBnD;;;OAGG;IACH,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAQ/C;;OAEG;IACH,IAAW,aAAa,IAAI,mBAAmB,CAE9C;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,gBAAgB,CAElD;IAED;;OAEG;IACH,IAAW,qBAAqB,IAAI,iBAAiB,CAEpD;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,kBAAkB,CAEtD;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,YAAY;IAIrF;;;;OAIG;IACI,gCAAgC;IAMvC;;;;OAIG;IACI,wBAAwB;IAK/B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAqB;IAClD;;;OAGG;IACH,WAAkB,aAAa,IAAI,MAAM,CAExC;IAED;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAE,eAAe,CAAC,aAAa,CAAa;IAyBzH;;;;OAIG;IACU,MAAM,CAAC,WAAW,EAAE,QAAQ;IAIzC;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;;;;;;;OAeG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5C;;;;;;;;;;;;;;OAcG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;OAGG;IACH,IAAI,gBAAgB,IAAI,oBAAoB,CAE3C;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAE/C;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,gBAAgB,EAAE,CAE7C;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,gBAAgB,CAK1C;IAGD;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,MAAM,IAAI,WAAW,EAAE,CAE1B;IAED;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAS5D;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAInB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,WAAW,EAAE,CAE/B;IAED,OAAO,CAAC,aAAa,CAAsB;IAC3C;;;OAGG;IACH,IAAI,UAAU,IAAK,YAAY,CAM9B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,WAAW,CAEjC;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;;;;;;;OAWG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAYxC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAmChB;;;;;;;;OAQG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAoBlC;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe,EAAE,4BAA4B,GAAE,OAAe;IAqFtJ;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,GAAE,OAAe,EAAE,eAAe,GAAE,OAAe,GAAG,GAAG;IAqChF;;;;OAIG;IACI,uBAAuB,IAAI,OAAO,CAAC,CAAC,CAAC;IAI5C;;;;;OAKG;IACU,iBAAiB,CAAC,MAAM,GAAE,gBAAuB,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5G;;;;;OAKG;IACU,aAAa,CAAC,MAAM,GAAE,gBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;IAkD5D,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,GAAE,MAAa,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAKlH,uBAAuB,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,GAAE,MAAa,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,CAAC;IAejK,OAAO,CAAC,IAAI;IAeZ;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe,GAAG,OAAO;IAuBnH;;;;OAIG;IACH,IAAW,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAE3C;IACD,IAAW,kBAAkB,IAAI,QAAQ,CAExC;IAGD;;;;;OAKG;IACI,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAI,OAAO;IAmD5D,OAAO,CAAC,aAAa,CAAoC;IAEzD;;;;;;;;;OASG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BhE;;;;;OAKG;YACW,UAAU;IAwKxB;;;;;OAKG;YACW,kCAAkC;IA0BhD;;;OAGG;YACW,sBAAsB;IAWpC,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,SAAS,KAAK,UAAU,IAAI,QAAQ,CAEnC;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO;IA2EjF,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM;IAMrG;;;OAGG;IACI,MAAM,IAAI,OAAO;IAaxB;;;;;;;;OAQG;IACU,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,yBAAyB,GAAE,MAAM,EAAS,GAAI,OAAO,CAAC,OAAO,CAAC;IAkEjH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACU,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAuC1F;;;;;OAKG;IACI,QAAQ,IAAI,gBAAgB;IA6BnC;;;;;;;;;OASG;IACH,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED;;;;;;;;;;;;;OAaG;IACU,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQvD;;;;;;;OAOG;IACU,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAI,OAAO,CAAC,OAAO,CAAC;IAmBrE;;;;;OAKG;YACW,YAAY;IAuK1B;;;;;OAKG;cACa,oBAAoB,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BlG;;;;OAIG;cACa,wBAAwB,CACpC,UAAU,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,EAC7D,aAAa,EAAE,mBAAmB,GACnC,OAAO,CAAC,OAAO,CAAC;IAqBnB;;;;;;;;;;;OAWG;WACiB,iBAAiB,CACjC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,YAAY,EACxB,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAUvD;;;OAGG;mBACkB,0BAA0B;IAmC/C;;;;;;;;;;;;OAYG;cACa,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CvD;;;OAGG;IACU,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrF;;OAEG;IACU,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAmC;IACpE;;;;OAIG;IACH,WAAkB,QAAQ,IAAI,mBAAmB,CAMhD;IACD,WAAkB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAMpD;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOlD;IAED;;;;OAIG;IACI,aAAa,IAAI,GAAG;IAW3B;;;;OAIG;WACiB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,GAAE,mBAAmB,GAAG,IAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmBxJ;;;;OAIG;IACI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO;IAmBlF;;;OAGG;IACI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAmBlE;;;;;OAKG;cACa,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASpJ;;;;;;;OAOG;cACa,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAclI;;;;;OAKG;cACa,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,WAAW,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,WAAW,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5I;;;;;;;;OAQG;cACa,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA0B1H;;;;;;OAMG;cACa,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAInF;;;;;OAKG;IACI,sBAAsB,IAAI,OAAO;IAIxC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAsD;IAEtE;;;OAGG;IACH,IAAW,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE1C;IAED;;OAEG;IACI,YAAY,IAAI,IAAI;CAG9B"}