lazy-render-virtual-scroll 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/cjs/core/AdaptiveBufferCalculator.d.ts +46 -0
- package/dist/cjs/core/AdaptiveBufferCalculator.d.ts.map +1 -0
- package/dist/cjs/core/ContentComplexityAnalyzer.d.ts +13 -0
- package/dist/cjs/core/ContentComplexityAnalyzer.d.ts.map +1 -0
- package/dist/cjs/core/DevicePerformanceMonitor.d.ts +22 -0
- package/dist/cjs/core/DevicePerformanceMonitor.d.ts.map +1 -0
- package/dist/cjs/core/Engine.d.ts +2 -1
- package/dist/cjs/core/Engine.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +275 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/core/AdaptiveBufferCalculator.d.ts +46 -0
- package/dist/esm/core/AdaptiveBufferCalculator.d.ts.map +1 -0
- package/dist/esm/core/ContentComplexityAnalyzer.d.ts +13 -0
- package/dist/esm/core/ContentComplexityAnalyzer.d.ts.map +1 -0
- package/dist/esm/core/DevicePerformanceMonitor.d.ts +22 -0
- package/dist/esm/core/DevicePerformanceMonitor.d.ts.map +1 -0
- package/dist/esm/core/Engine.d.ts +2 -1
- package/dist/esm/core/Engine.d.ts.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +273 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +84 -2
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -28,8 +28,11 @@ A framework-agnostic virtual scrolling and lazy rendering solution that efficien
|
|
|
28
28
|
- **Framework Agnostic Core**: Pure logic implementation that works across different environments
|
|
29
29
|
- **Virtual Scrolling**: Only renders visible items to improve performance
|
|
30
30
|
- **Intelligent Scroll Detection**: Analyzes scroll velocity, direction, and patterns
|
|
31
|
-
- **Adaptive Buffer Management**: Dynamically adjusts buffer size based on
|
|
31
|
+
- **Adaptive Buffer Management**: Dynamically adjusts buffer size based on multiple factors
|
|
32
32
|
- **Smart Prefetching**: Loads data ahead of user scroll to prevent loading gaps
|
|
33
|
+
- **Network Awareness**: Adapts to network conditions and bandwidth limitations
|
|
34
|
+
- **Device Performance Monitoring**: Adjusts behavior based on device capabilities
|
|
35
|
+
- **Content Complexity Analysis**: Optimizes for different content types and complexity
|
|
33
36
|
- **Memory Efficient**: Automatically cleans up off-screen elements
|
|
34
37
|
- **React Adapter**: Easy integration with React applications
|
|
35
38
|
- **Configurable Buffer**: Adjustable buffer size for optimal performance
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare class AdaptiveBufferCalculator {
|
|
2
|
+
private scrollFactor;
|
|
3
|
+
private networkFactor;
|
|
4
|
+
private performanceFactor;
|
|
5
|
+
private contentFactor;
|
|
6
|
+
private performanceMonitor;
|
|
7
|
+
private contentAnalyzer;
|
|
8
|
+
constructor();
|
|
9
|
+
calculateOptimalBuffer(params: {
|
|
10
|
+
scrollVelocity: number;
|
|
11
|
+
networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
|
|
12
|
+
baseBuffer: number;
|
|
13
|
+
visibleItems: any[];
|
|
14
|
+
}): Promise<number>;
|
|
15
|
+
private calculateScrollBuffer;
|
|
16
|
+
private calculateNetworkAdjustment;
|
|
17
|
+
private calculatePerformanceAdjustment;
|
|
18
|
+
private calculateContentAdjustment;
|
|
19
|
+
getAdaptiveInsights(params: {
|
|
20
|
+
scrollVelocity: number;
|
|
21
|
+
networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
|
|
22
|
+
baseBuffer: number;
|
|
23
|
+
visibleItems: any[];
|
|
24
|
+
}): Promise<{
|
|
25
|
+
currentBuffer: number;
|
|
26
|
+
performance: {
|
|
27
|
+
frameRate: number;
|
|
28
|
+
score: number;
|
|
29
|
+
};
|
|
30
|
+
network: {
|
|
31
|
+
quality: string;
|
|
32
|
+
adjustment: number;
|
|
33
|
+
};
|
|
34
|
+
complexity: {
|
|
35
|
+
score: number;
|
|
36
|
+
breakdown: any;
|
|
37
|
+
};
|
|
38
|
+
factors: {
|
|
39
|
+
scroll: number;
|
|
40
|
+
network: number;
|
|
41
|
+
performance: number;
|
|
42
|
+
content: number;
|
|
43
|
+
};
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=AdaptiveBufferCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdaptiveBufferCalculator.d.ts","sourceRoot":"","sources":["../../src/core/AdaptiveBufferCalculator.ts"],"names":[],"mappings":"AAGA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,eAAe,CAA4B;;IAQ7C,sBAAsB,CAAC,MAAM,EAAE;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BnB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,0BAA0B;IAM5B,mBAAmB,CAAC,MAAM,EAAE;QAChC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,GAAG,CAAA;SAAE,CAAC;QAC9C,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CA2BH"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class ContentComplexityAnalyzer {
|
|
2
|
+
analyzeContentComplexity(items: any[]): number;
|
|
3
|
+
private analyzeTextComplexity;
|
|
4
|
+
private analyzeMediaComplexity;
|
|
5
|
+
private analyzeComponentComplexity;
|
|
6
|
+
getComplexityInsights(items: any[]): {
|
|
7
|
+
averageComplexity: number;
|
|
8
|
+
textComplexity: number;
|
|
9
|
+
mediaComplexity: number;
|
|
10
|
+
componentComplexity: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ContentComplexityAnalyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentComplexityAnalyzer.d.ts","sourceRoot":"","sources":["../../src/core/ContentComplexityAnalyzer.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAAyB;IAEpC,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAkB9C,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,0BAA0B;IAiBlC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG;QACnC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;CAyBF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class DevicePerformanceMonitor {
|
|
2
|
+
private frameRateHistory;
|
|
3
|
+
private memoryUsageHistory;
|
|
4
|
+
private gcMonitoring;
|
|
5
|
+
private readonly HISTORY_SIZE;
|
|
6
|
+
constructor();
|
|
7
|
+
getFrameRate(): Promise<number>;
|
|
8
|
+
getAverageFrameRate(): number;
|
|
9
|
+
getMemoryInfo(): {
|
|
10
|
+
used: number;
|
|
11
|
+
total: number;
|
|
12
|
+
} | null;
|
|
13
|
+
assessPerformance(): Promise<number>;
|
|
14
|
+
private setupPerformanceMonitoring;
|
|
15
|
+
getPerformanceInsights(): {
|
|
16
|
+
frameRate: number;
|
|
17
|
+
performanceScore: number;
|
|
18
|
+
memoryUsed: number | null;
|
|
19
|
+
memoryTotal: number | null;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=DevicePerformanceMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DevicePerformanceMonitor.d.ts","sourceRoot":"","sources":["../../src/core/DevicePerformanceMonitor.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;;IAO7B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBrC,mBAAmB,IAAI,MAAM;IAO7B,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI;IAelD,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB1C,OAAO,CAAC,0BAA0B;IAQlC,sBAAsB,IAAI;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;CAcF"}
|
|
@@ -8,6 +8,7 @@ export declare class Engine {
|
|
|
8
8
|
private networkDetector;
|
|
9
9
|
private networkAwarePrefetchManager;
|
|
10
10
|
private networkAwareRequestQueue;
|
|
11
|
+
private adaptiveBufferCalculator;
|
|
11
12
|
private state;
|
|
12
13
|
private fetchMoreCallback;
|
|
13
14
|
private totalItems;
|
|
@@ -15,7 +16,7 @@ export declare class Engine {
|
|
|
15
16
|
/**
|
|
16
17
|
* Update scroll position and recalculate visible range with intelligent detection
|
|
17
18
|
*/
|
|
18
|
-
updateScrollPosition(scrollTop: number): void
|
|
19
|
+
updateScrollPosition(scrollTop: number): Promise<void>;
|
|
19
20
|
/**
|
|
20
21
|
* Get the current visible range
|
|
21
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAUrF,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,2BAA2B,CAA8B;IACjE,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,wBAAwB,CAA2B;IAE3D,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,YAAY;IA8BhC;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B5D;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBzC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export { IntelligentScrollDetector } from './core/IntelligentScrollDetector';
|
|
|
6
6
|
export { NetworkSpeedDetector } from './core/NetworkSpeedDetector';
|
|
7
7
|
export { NetworkAwarePrefetchManager } from './core/NetworkAwarePrefetchManager';
|
|
8
8
|
export { NetworkAwareRequestQueue } from './core/NetworkAwareRequestQueue';
|
|
9
|
+
export { AdaptiveBufferCalculator } from './core/AdaptiveBufferCalculator';
|
|
10
|
+
export { DevicePerformanceMonitor } from './core/DevicePerformanceMonitor';
|
|
11
|
+
export { ContentComplexityAnalyzer } from './core/ContentComplexityAnalyzer';
|
|
9
12
|
export type { EngineConfig, VisibleRange, FetchMoreCallback, EngineState, ScrollAnalysis } from './core/types';
|
|
10
13
|
export { ScrollObserver } from './platform/browser/ScrollObserver';
|
|
11
14
|
export { useLazyList } from './adapters/react/useLazyList';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -488,6 +488,263 @@ class NetworkAwareRequestQueue {
|
|
|
488
488
|
}
|
|
489
489
|
}
|
|
490
490
|
|
|
491
|
+
class DevicePerformanceMonitor {
|
|
492
|
+
constructor() {
|
|
493
|
+
this.frameRateHistory = [];
|
|
494
|
+
this.memoryUsageHistory = [];
|
|
495
|
+
this.gcMonitoring = false;
|
|
496
|
+
this.HISTORY_SIZE = 10;
|
|
497
|
+
this.setupPerformanceMonitoring();
|
|
498
|
+
}
|
|
499
|
+
// Monitor frame rate
|
|
500
|
+
async getFrameRate() {
|
|
501
|
+
return new Promise(resolve => {
|
|
502
|
+
const start = performance.now();
|
|
503
|
+
let frames = 0;
|
|
504
|
+
const measure = () => {
|
|
505
|
+
frames++;
|
|
506
|
+
if (frames >= 60) { // Measure over 60 frames
|
|
507
|
+
const elapsed = performance.now() - start;
|
|
508
|
+
const fps = Math.round((frames / elapsed) * 1000);
|
|
509
|
+
this.frameRateHistory.push(fps);
|
|
510
|
+
if (this.frameRateHistory.length > this.HISTORY_SIZE) {
|
|
511
|
+
this.frameRateHistory.shift();
|
|
512
|
+
}
|
|
513
|
+
resolve(fps);
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
requestAnimationFrame(measure);
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
requestAnimationFrame(measure);
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
// Get average frame rate
|
|
523
|
+
getAverageFrameRate() {
|
|
524
|
+
if (this.frameRateHistory.length === 0)
|
|
525
|
+
return 60;
|
|
526
|
+
const sum = this.frameRateHistory.reduce((a, b) => a + b, 0);
|
|
527
|
+
return sum / this.frameRateHistory.length;
|
|
528
|
+
}
|
|
529
|
+
// Monitor memory usage (where available)
|
|
530
|
+
getMemoryInfo() {
|
|
531
|
+
if ('memory' in performance) {
|
|
532
|
+
// @ts-ignore - memory property is non-standard
|
|
533
|
+
const mem = performance.memory;
|
|
534
|
+
if (mem) {
|
|
535
|
+
return {
|
|
536
|
+
used: mem.usedJSHeapSize,
|
|
537
|
+
total: mem.jsHeapSizeLimit
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
return null;
|
|
542
|
+
}
|
|
543
|
+
// Assess overall device performance
|
|
544
|
+
async assessPerformance() {
|
|
545
|
+
const frameRate = await this.getFrameRate();
|
|
546
|
+
const memoryInfo = this.getMemoryInfo();
|
|
547
|
+
// Normalize frame rate (60fps = excellent, 30fps = poor)
|
|
548
|
+
const frameRateScore = Math.min(frameRate / 60, 1);
|
|
549
|
+
// If we have memory info, factor it in
|
|
550
|
+
if (memoryInfo) {
|
|
551
|
+
const memoryScore = 1 - (memoryInfo.used / memoryInfo.total);
|
|
552
|
+
return (frameRateScore * 0.7) + (memoryScore * 0.3);
|
|
553
|
+
}
|
|
554
|
+
return frameRateScore;
|
|
555
|
+
}
|
|
556
|
+
setupPerformanceMonitoring() {
|
|
557
|
+
// Set up performance monitoring intervals
|
|
558
|
+
setInterval(() => {
|
|
559
|
+
this.getFrameRate(); // Update frame rate history
|
|
560
|
+
}, 5000); // Every 5 seconds
|
|
561
|
+
}
|
|
562
|
+
// Get performance insights
|
|
563
|
+
getPerformanceInsights() {
|
|
564
|
+
const frameRate = this.getAverageFrameRate();
|
|
565
|
+
const memoryInfo = this.getMemoryInfo();
|
|
566
|
+
// Calculate performance score based on frame rate
|
|
567
|
+
const performanceScore = Math.min(frameRate / 60, 1);
|
|
568
|
+
return {
|
|
569
|
+
frameRate,
|
|
570
|
+
performanceScore,
|
|
571
|
+
memoryUsed: (memoryInfo === null || memoryInfo === void 0 ? void 0 : memoryInfo.used) || null,
|
|
572
|
+
memoryTotal: (memoryInfo === null || memoryInfo === void 0 ? void 0 : memoryInfo.total) || null
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
class ContentComplexityAnalyzer {
|
|
578
|
+
// Analyze content complexity based on various factors
|
|
579
|
+
analyzeContentComplexity(items) {
|
|
580
|
+
if (items.length === 0)
|
|
581
|
+
return 0.1; // Minimal complexity for empty
|
|
582
|
+
let totalComplexity = 0;
|
|
583
|
+
for (const item of items) {
|
|
584
|
+
// Analyze different aspects of complexity
|
|
585
|
+
const textComplexity = this.analyzeTextComplexity(item);
|
|
586
|
+
const mediaComplexity = this.analyzeMediaComplexity(item);
|
|
587
|
+
const componentComplexity = this.analyzeComponentComplexity(item);
|
|
588
|
+
totalComplexity += (textComplexity + mediaComplexity + componentComplexity) / 3;
|
|
589
|
+
}
|
|
590
|
+
// Return average complexity normalized to 0-1 scale
|
|
591
|
+
return Math.min(totalComplexity / items.length, 1);
|
|
592
|
+
}
|
|
593
|
+
analyzeTextComplexity(item) {
|
|
594
|
+
let complexity = 0;
|
|
595
|
+
// Length of text content
|
|
596
|
+
if (typeof item.text === 'string') {
|
|
597
|
+
complexity += Math.min(item.text.length / 1000, 0.5); // Max 0.5 for text
|
|
598
|
+
}
|
|
599
|
+
// Number of text elements
|
|
600
|
+
if (Array.isArray(item.textElements)) {
|
|
601
|
+
complexity += Math.min(item.textElements.length / 10, 0.3); // Max 0.3 for elements
|
|
602
|
+
}
|
|
603
|
+
// Formatting complexity
|
|
604
|
+
if (item.hasRichText)
|
|
605
|
+
complexity += 0.2;
|
|
606
|
+
return Math.min(complexity, 1);
|
|
607
|
+
}
|
|
608
|
+
analyzeMediaComplexity(item) {
|
|
609
|
+
let complexity = 0;
|
|
610
|
+
// Number of media elements
|
|
611
|
+
if (Array.isArray(item.media)) {
|
|
612
|
+
complexity += Math.min(item.media.length * 0.2, 0.5);
|
|
613
|
+
}
|
|
614
|
+
// Media types (images, videos are more complex than icons)
|
|
615
|
+
if (item.hasVideo)
|
|
616
|
+
complexity += 0.3;
|
|
617
|
+
if (item.hasImage)
|
|
618
|
+
complexity += 0.15;
|
|
619
|
+
if (item.hasSVG)
|
|
620
|
+
complexity += 0.1;
|
|
621
|
+
return Math.min(complexity, 1);
|
|
622
|
+
}
|
|
623
|
+
analyzeComponentComplexity(item) {
|
|
624
|
+
let complexity = 0;
|
|
625
|
+
// Number of nested components
|
|
626
|
+
if (typeof item.componentDepth === 'number') {
|
|
627
|
+
complexity += Math.min(item.componentDepth * 0.1, 0.4);
|
|
628
|
+
}
|
|
629
|
+
// Interactivity
|
|
630
|
+
if (item.interactive)
|
|
631
|
+
complexity += 0.2;
|
|
632
|
+
if (item.hasAnimations)
|
|
633
|
+
complexity += 0.2;
|
|
634
|
+
if (item.hasState)
|
|
635
|
+
complexity += 0.1;
|
|
636
|
+
return Math.min(complexity, 1);
|
|
637
|
+
}
|
|
638
|
+
// Get complexity insights
|
|
639
|
+
getComplexityInsights(items) {
|
|
640
|
+
if (items.length === 0) {
|
|
641
|
+
return {
|
|
642
|
+
averageComplexity: 0.1,
|
|
643
|
+
textComplexity: 0,
|
|
644
|
+
mediaComplexity: 0,
|
|
645
|
+
componentComplexity: 0
|
|
646
|
+
};
|
|
647
|
+
}
|
|
648
|
+
let totalText = 0, totalMedia = 0, totalComponent = 0;
|
|
649
|
+
for (const item of items) {
|
|
650
|
+
totalText += this.analyzeTextComplexity(item);
|
|
651
|
+
totalMedia += this.analyzeMediaComplexity(item);
|
|
652
|
+
totalComponent += this.analyzeComponentComplexity(item);
|
|
653
|
+
}
|
|
654
|
+
return {
|
|
655
|
+
averageComplexity: this.analyzeContentComplexity(items),
|
|
656
|
+
textComplexity: totalText / items.length,
|
|
657
|
+
mediaComplexity: totalMedia / items.length,
|
|
658
|
+
componentComplexity: totalComponent / items.length
|
|
659
|
+
};
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
class AdaptiveBufferCalculator {
|
|
664
|
+
constructor() {
|
|
665
|
+
this.scrollFactor = 0.3; // Weight for scroll velocity
|
|
666
|
+
this.networkFactor = 0.3; // Weight for network quality
|
|
667
|
+
this.performanceFactor = 0.2; // Weight for device performance
|
|
668
|
+
this.contentFactor = 0.2; // Weight for content complexity
|
|
669
|
+
this.performanceMonitor = new DevicePerformanceMonitor();
|
|
670
|
+
this.contentAnalyzer = new ContentComplexityAnalyzer();
|
|
671
|
+
}
|
|
672
|
+
// Calculate optimal buffer size based on multiple factors
|
|
673
|
+
async calculateOptimalBuffer(params) {
|
|
674
|
+
// Calculate scroll-based buffer
|
|
675
|
+
const scrollBuffer = this.calculateScrollBuffer(params.scrollVelocity, params.baseBuffer);
|
|
676
|
+
// Calculate network-based adjustment
|
|
677
|
+
const networkAdjustment = this.calculateNetworkAdjustment(params.networkQuality);
|
|
678
|
+
// Calculate performance-based adjustment
|
|
679
|
+
const performanceScore = await this.performanceMonitor.assessPerformance();
|
|
680
|
+
const performanceAdjustment = this.calculatePerformanceAdjustment(performanceScore);
|
|
681
|
+
// Calculate content-based adjustment
|
|
682
|
+
const contentComplexity = this.contentAnalyzer.analyzeContentComplexity(params.visibleItems);
|
|
683
|
+
const contentAdjustment = this.calculateContentAdjustment(contentComplexity);
|
|
684
|
+
// Combine all factors
|
|
685
|
+
const weightedBuffer = (scrollBuffer * this.scrollFactor +
|
|
686
|
+
(params.baseBuffer * networkAdjustment) * this.networkFactor +
|
|
687
|
+
(params.baseBuffer * performanceAdjustment) * this.performanceFactor +
|
|
688
|
+
(params.baseBuffer * contentAdjustment) * this.contentFactor);
|
|
689
|
+
// Apply reasonable bounds
|
|
690
|
+
return Math.max(3, Math.min(50, Math.round(weightedBuffer)));
|
|
691
|
+
}
|
|
692
|
+
calculateScrollBuffer(velocity, baseBuffer) {
|
|
693
|
+
const absVelocity = Math.abs(velocity);
|
|
694
|
+
if (absVelocity > 2.0)
|
|
695
|
+
return baseBuffer * 4; // Very fast scroll
|
|
696
|
+
if (absVelocity > 1.0)
|
|
697
|
+
return baseBuffer * 2.5; // Fast scroll
|
|
698
|
+
if (absVelocity > 0.3)
|
|
699
|
+
return baseBuffer * 1.5; // Medium scroll
|
|
700
|
+
return baseBuffer * 0.8; // Slow scroll
|
|
701
|
+
}
|
|
702
|
+
calculateNetworkAdjustment(quality) {
|
|
703
|
+
switch (quality) {
|
|
704
|
+
case 'excellent': return 1.5; // More buffer on fast networks
|
|
705
|
+
case 'good': return 1.2; // Slightly more
|
|
706
|
+
case 'poor': return 0.7; // Less buffer on slow networks
|
|
707
|
+
case 'offline': return 0.5; // Minimal buffer when offline
|
|
708
|
+
default: return 1.0;
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
calculatePerformanceAdjustment(performance) {
|
|
712
|
+
// performance is 0-1 scale (0 = poor, 1 = excellent)
|
|
713
|
+
return 0.5 + (performance * 0.8); // Range from 0.5 to 1.3
|
|
714
|
+
}
|
|
715
|
+
calculateContentAdjustment(complexity) {
|
|
716
|
+
// complexity is 0-1 scale (0 = simple, 1 = complex)
|
|
717
|
+
return 1.5 - (complexity * 0.8); // Range from 0.7 to 1.5
|
|
718
|
+
}
|
|
719
|
+
// Get adaptive insights
|
|
720
|
+
async getAdaptiveInsights(params) {
|
|
721
|
+
const buffer = await this.calculateOptimalBuffer(params);
|
|
722
|
+
const perfInsights = this.performanceMonitor.getPerformanceInsights();
|
|
723
|
+
const complexityInsights = this.contentAnalyzer.getComplexityInsights(params.visibleItems);
|
|
724
|
+
return {
|
|
725
|
+
currentBuffer: buffer,
|
|
726
|
+
performance: {
|
|
727
|
+
frameRate: perfInsights.frameRate,
|
|
728
|
+
score: perfInsights.performanceScore
|
|
729
|
+
},
|
|
730
|
+
network: {
|
|
731
|
+
quality: params.networkQuality,
|
|
732
|
+
adjustment: this.calculateNetworkAdjustment(params.networkQuality)
|
|
733
|
+
},
|
|
734
|
+
complexity: {
|
|
735
|
+
score: this.contentAnalyzer.analyzeContentComplexity(params.visibleItems),
|
|
736
|
+
breakdown: complexityInsights
|
|
737
|
+
},
|
|
738
|
+
factors: {
|
|
739
|
+
scroll: this.calculateScrollBuffer(params.scrollVelocity, params.baseBuffer),
|
|
740
|
+
network: this.calculateNetworkAdjustment(params.networkQuality),
|
|
741
|
+
performance: this.calculatePerformanceAdjustment(perfInsights.performanceScore),
|
|
742
|
+
content: this.calculateContentAdjustment(complexityInsights.averageComplexity)
|
|
743
|
+
}
|
|
744
|
+
};
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
|
|
491
748
|
class Engine {
|
|
492
749
|
constructor(config) {
|
|
493
750
|
this.fetchMoreCallback = null;
|
|
@@ -502,6 +759,7 @@ class Engine {
|
|
|
502
759
|
this.networkDetector = new NetworkSpeedDetector();
|
|
503
760
|
this.networkAwarePrefetchManager = new NetworkAwarePrefetchManager(this.networkDetector);
|
|
504
761
|
this.networkAwareRequestQueue = new NetworkAwareRequestQueue(this.networkDetector);
|
|
762
|
+
this.adaptiveBufferCalculator = new AdaptiveBufferCalculator();
|
|
505
763
|
this.totalItems = this.config.totalItems || Number.MAX_SAFE_INTEGER;
|
|
506
764
|
this.state = {
|
|
507
765
|
scrollTop: 0,
|
|
@@ -513,19 +771,26 @@ class Engine {
|
|
|
513
771
|
/**
|
|
514
772
|
* Update scroll position and recalculate visible range with intelligent detection
|
|
515
773
|
*/
|
|
516
|
-
updateScrollPosition(scrollTop) {
|
|
774
|
+
async updateScrollPosition(scrollTop) {
|
|
517
775
|
// Calculate velocity and other intelligent metrics
|
|
518
776
|
const velocity = this.intelligentScrollDetector.calculateVelocity(scrollTop);
|
|
519
777
|
this.intelligentScrollDetector.getDirection(velocity);
|
|
520
|
-
//
|
|
521
|
-
const
|
|
778
|
+
// Get network quality for adaptive buffering
|
|
779
|
+
const networkQuality = await this.networkDetector.assessConnectionQuality();
|
|
780
|
+
// Calculate adaptive buffer considering all factors
|
|
781
|
+
const adaptiveBuffer = await this.adaptiveBufferCalculator.calculateOptimalBuffer({
|
|
782
|
+
scrollVelocity: velocity,
|
|
783
|
+
networkQuality,
|
|
784
|
+
baseBuffer: this.intelligentScrollDetector.calculateBuffer(velocity),
|
|
785
|
+
visibleItems: [] // In a real implementation, this would be the actual visible items
|
|
786
|
+
});
|
|
522
787
|
// Update window manager with adaptive buffer
|
|
523
788
|
this.windowManager.updateBufferSize(adaptiveBuffer);
|
|
524
789
|
this.state.scrollTop = scrollTop;
|
|
525
790
|
this.state.visibleRange = this.windowManager.calculateVisibleRange(scrollTop);
|
|
526
791
|
// Check if we need to fetch more items
|
|
527
|
-
if (this.shouldFetchMore()) {
|
|
528
|
-
this.fetchMore();
|
|
792
|
+
if (await this.shouldFetchMore()) {
|
|
793
|
+
await this.fetchMore();
|
|
529
794
|
}
|
|
530
795
|
}
|
|
531
796
|
/**
|
|
@@ -546,6 +811,8 @@ class Engine {
|
|
|
546
811
|
return false;
|
|
547
812
|
// Get current velocity for intelligent prefetching
|
|
548
813
|
const velocity = this.intelligentScrollDetector.calculateVelocity(this.state.scrollTop);
|
|
814
|
+
// Get network quality for adaptive prefetching
|
|
815
|
+
await this.networkDetector.assessConnectionQuality();
|
|
549
816
|
// Calculate network-adjusted prefetch distance
|
|
550
817
|
const prefetchDistance = await this.networkAwarePrefetchManager.calculateNetworkAdjustedPrefetch(velocity);
|
|
551
818
|
// Use intelligent prefetch logic
|
|
@@ -842,6 +1109,9 @@ function throttle(func, limit) {
|
|
|
842
1109
|
};
|
|
843
1110
|
}
|
|
844
1111
|
|
|
1112
|
+
exports.AdaptiveBufferCalculator = AdaptiveBufferCalculator;
|
|
1113
|
+
exports.ContentComplexityAnalyzer = ContentComplexityAnalyzer;
|
|
1114
|
+
exports.DevicePerformanceMonitor = DevicePerformanceMonitor;
|
|
845
1115
|
exports.Engine = Engine;
|
|
846
1116
|
exports.IntelligentScrollDetector = IntelligentScrollDetector;
|
|
847
1117
|
exports.LazyList = LazyList;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/WindowManager.ts","../../src/core/PrefetchManager.ts","../../src/core/RequestQueue.ts","../../src/core/IntelligentScrollDetector.ts","../../src/core/NetworkSpeedDetector.ts","../../src/core/NetworkAwarePrefetchManager.ts","../../src/core/NetworkAwareRequestQueue.ts","../../src/core/Engine.ts","../../src/platform/browser/ScrollObserver.ts","../../src/adapters/react/useLazyList.ts","../../src/adapters/react/LazyList.tsx","../../src/utils/debounce.ts","../../src/utils/throttle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["useRef","useState","useEffect","useCallback","forwardRef"],"mappings":";;;;MAEa,aAAa,CAAA;AAKxB,IAAA,WAAA,CAAY,UAAkB,EAAE,cAAsB,EAAE,aAAqB,CAAC,EAAA;AAC5E,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAC9B;AAED;;AAEG;AACH,IAAA,qBAAqB,CAAC,SAAiB,EAAA;;AAErC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;;AAG1E,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;;AAG3D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAC/C,MAAM,CAAC,gBAAgB;SACxB,CAAC;QAEF,OAAO;AACL,YAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAChD,YAAA,GAAG,EAAE,QAAQ;SACd,CAAC;KACH;AAED;;AAEG;AACH,IAAA,oBAAoB,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;KAC9B;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,MAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;KAC1B;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;AACF;;MCvDY,eAAe,CAAA;AAC1B;;;AAGG;AACH,IAAA,WAAA,GAAA,GAAgB;AAEhB;;AAEG;IACH,cAAc,CAAC,UAAkB,EAAE,WAAmB,EAAA;;AAEpD,QAAA,OAAO,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC;KACtC;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,IAAY,EAAA;;;KAG5B;AACF;;MCtBY,YAAY,CAAA;AAKvB,IAAA,WAAA,CAAY,gBAAwB,CAAC,EAAA;QAJ7B,IAAK,CAAA,KAAA,GAA8B,EAAE,CAAC;QACtC,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAIlC,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;KACpC;AAED;;AAEG;AACH,IAAA,GAAG,CAAC,SAA6B,EAAA;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;AAG/D,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,YAAY,GAAA;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,OAAO;SACR;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;QAGvB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE9D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,EAAE;AACb,gBAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aACtC;SACF;AAED,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;SAC9C;;AAGD,QAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAC3B;AAED;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;AAED;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC1B;AACF;;MCpEY,yBAAyB,CAAA;AAQpC,IAAA,WAAA,GAAA;QAPQ,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;QACrB,IAAe,CAAA,eAAA,GAAa,EAAE,CAAC;QACtB,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;QAC1B,IAAa,CAAA,aAAA,GAAkB,IAAI,CAAC;QACpC,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AAG7B,QAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;KACnC;;AAGD,IAAA,iBAAiB,CAAC,SAAiB,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAC9B,QAAA,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;AAC9C,QAAA,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;;AAGtC,QAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;;AAGxD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AACnD,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;SAC9B;;AAGD,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;;AAGpB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;;AAGtB,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAClC;;IAGO,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACpE,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;KAC1C;;AAGD,IAAA,YAAY,CAAC,QAAgB,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;AAAE,YAAA,OAAO,YAAY,CAAC;QAClD,OAAO,QAAQ,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACrC;;AAGD,IAAA,eAAe,CAAC,QAAgB,EAAA;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;AAAM,aAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAC;SACX;AAAM,aAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YAC5B,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,CAAC,CAAC;SACV;KACF;;AAGD,IAAA,yBAAyB,CAAC,QAAgB,EAAA;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,WAAW,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,WAAW,GAAG,GAAG;YAAE,OAAO,GAAG,CAAC;QAClC,IAAI,WAAW,GAAG,GAAG;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,GAAG,CAAC;KACZ;;AAGD,IAAA,eAAe,CAAC,eAAuB,EAAE,QAAgB,EAAE,UAAkB,GAAG,EAAA;AAC9E,QAAA,OAAO,eAAe,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC;KAC/C;;IAGD,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;IAGO,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;AAC1C,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACrB,SAAC,EAAE,GAAG,CAAC,CAAC;KACT;;IAGD,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;KACF;AACF;;MCzGY,oBAAoB,CAAA;AAAjC,IAAA,WAAA,GAAA;QACU,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;QAChC,IAAc,CAAA,cAAA,GAAa,EAAE,CAAC;QACrB,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;KA0FnC;;AAvFC,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AACpC,QAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE7D,QAAA,IAAI;;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE;AAChD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC;AAC9C,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,YAAA,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AACpD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;aAC/B;AAED,YAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;;YAEd,OAAO,MAAM,CAAC;SACf;KACF;;AAGD,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,IAAI;AACF,YAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAEpC,YAAA,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;AAEzB,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAClC,YAAA,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAClD,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;aAC7B;AAED,YAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;;YAEd,OAAO,IAAI,CAAC;SACb;KACF;;AAGD,IAAA,MAAM,uBAAuB,GAAA;AAC3B,QAAA,IAAI;YACF,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7C,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,cAAc,EAAE;AACtB,aAAA,CAAC,CAAC;YAEH,IAAI,OAAO,GAAG,IAAI;gBAAE,OAAO,MAAM,CAAC;YAClC,IAAI,SAAS,GAAG,MAAM;gBAAE,OAAO,MAAM,CAAC;AACtC,YAAA,IAAI,OAAO,GAAG,GAAG,IAAI,SAAS,GAAG,MAAM;gBAAE,OAAO,MAAM,CAAC;YACvD,OAAO,WAAW,CAAC;SACpB;AAAC,QAAA,OAAA,EAAA,EAAM;AACN,YAAA,OAAO,SAAS,CAAC;SAClB;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;KAC3C;IAEO,iBAAiB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;KACzC;;IAGD,eAAe,GAAA;QACb,OAAO;AACL,YAAA,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;AACrC,YAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;AACjC,YAAA,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACpC,CAAC;KACH;AACF;;MC3FY,2BAA2B,CAAA;AAItC,IAAA,WAAA,CAAY,eAAqC,EAAA;AAFzC,QAAA,IAAA,CAAA,oBAAoB,GAAG,GAAG,CAAC;AAGjC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;;IAGD,MAAM,gCAAgC,CAAC,QAAgB,EAAA;QACrD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;;AAG/E,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAC7C,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,YAAY,GAAG,IAAI,CAAC;AAC7C,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,YAAY,GAAG,GAAG,CAAC;AACjD,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,YAAY,GAAG,GAAG,CAAC;;YACjD,YAAY,GAAG,GAAG,CAAC;;QAGxB,QAAO,iBAAiB;AACtB,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA;AACE,gBAAA,OAAO,YAAY,CAAC;SACvB;KACF;;IAGD,MAAM,iCAAiC,CAAC,QAAgB,EAAA;QACtD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;;AAG/E,QAAA,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;AAAE,YAAA,aAAa,GAAG,EAAE,CAAC;AAC5C,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,aAAa,GAAG,EAAE,CAAC;AACjD,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,aAAa,GAAG,EAAE,CAAC;;AACjD,YAAA,aAAa,GAAG,CAAC,CAAC;;QAGvB,QAAO,iBAAiB;AACtB,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,YAAA;AACE,gBAAA,OAAO,aAAa,CAAC;SACxB;KACF;;AAGD,IAAA,MAAM,mBAAmB,GAAA;QACvB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAC/E,OAAO,iBAAiB,KAAK,MAAM,CAAC;KACrC;AACF;;MCjEY,wBAAwB,CAAA;AAOnC,IAAA,WAAA,CAAY,eAAqC,EAAA;QALzC,IAAK,CAAA,KAAA,GAA8B,EAAE,CAAC;QACtC,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAC5B,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAY,CAAA,YAAA,GAA8B,EAAE,CAAC;AAGnD,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;;IAGD,MAAM,GAAG,CAAC,SAA6B,EAAA;;QAErC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAE/E,QAAO,iBAAiB;AACtB,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,SAAS;;AAEZ,gBAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC9C,YAAA;AACE,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SAC1B;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/D,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,MAAM,YAAY,GAAA;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,OAAO;SACR;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;QAGvB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE9D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,EAAE;AACb,gBAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aACtC;SACF;AAED,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;SAC5D;;AAGD,QAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAC3B;;IAGO,MAAM,oBAAoB,CAAC,SAA6B,EAAA;;QAE9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;YAErC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;YAGtE,MAAM,WAAW,GAAG,MAAK;AACvB,gBAAA,IAAI,SAAS,CAAC,MAAM,EAAE;;oBAEpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;AACL,oBAAA,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;iBAC/B;AACH,aAAC,CAAC;AAEF,YAAA,WAAW,EAAE,CAAC;AAChB,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,MAAM,mBAAmB,GAAA;QAC/B,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AAEvB,QAAA,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;AACvC,YAAA,IAAI;gBACF,MAAM,SAAS,EAAE,CAAC;aACnB;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;;AAEhD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACnC;SACF;KACF;;IAGD,cAAc,GAAA;QACZ,OAAO;AACL,YAAA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;AAC1B,YAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;KACH;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AACF;;MCtHY,MAAM,CAAA;AAcjB,IAAA,WAAA,CAAY,MAAoB,EAAA;QAHxB,IAAiB,CAAA,iBAAA,GAA6B,IAAI,CAAC;QAIzD,IAAI,CAAC,MAAM,GAAG;AACZ,YAAA,GAAG,MAAM;AACT,YAAA,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;SACnC,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,CAAC;AAEF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,2BAA2B,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzF,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAEnF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAEpE,IAAI,CAAC,KAAK,GAAG;AACX,YAAA,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAClC,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,SAAS,EAAE,KAAK;SACjB,CAAC;KACH;AAED;;AAEG;AACH,IAAA,oBAAoB,CAAC,SAAiB,EAAA;;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,QAAQ,EAAE;;QAGxE,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;;AAGhF,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;;AAG9E,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;AAED;;AAEG;IACH,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;KAChC;AAED;;AAEG;AACH,IAAA,MAAM,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,iBAAiB;AAAE,YAAA,OAAO,KAAK,CAAC;AAC1C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,KAAK,CAAC;;AAG5D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;QAGxF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;;QAG3G,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;AAC/C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;;AAG3C,QAAA,OAAO,UAAU,IAAI,WAAW,GAAG,gBAAgB,CAAC;KACrD;AAED;;AAEG;AACH,IAAA,MAAM,SAAS,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO;AAE5D,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAI;;AAEF,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;;YAG/E,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SACrE;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;SACpD;gBAAS;AACR,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;SAC9B;KACF;AAED;;AAEG;AACH,IAAA,oBAAoB,CAAC,QAA2B,EAAA;AAC9C,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACnC;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;KAC1B;AAED;;AAEG;IACH,gBAAgB,CAAC,cAAsB,EAAE,UAAkB,EAAA;AACzD,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;;AAGhD,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC1F;AAED;;AAEG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC;KAC1C;AACF;;MCtKY,cAAc,CAAA;AAOzB,IAAA,WAAA,CACE,SAAsB,EACtB,QAAqC,EACrC,OAA2C,EAAA;QANrC,IAAQ,CAAA,QAAA,GAAgC,IAAI,CAAC;QAC7C,IAAe,CAAA,eAAA,GAAuB,IAAI,CAAC;AA4CnD;;AAEG;QACK,IAAQ,CAAA,QAAA,GAAG,MAAW;;AAE5B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAK;gBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC1C,aAAC,EAAE,EAAE,CAAC,CAAC;AACT,SAAC,CAAC;AA7CA,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB,YAAA,GAAG,OAAO;SACX,CAAC;KACH;AAED;;AAEG;IACH,OAAO,GAAA;;QAEL,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;;QAG5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;QAGjD,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,KAAI;AACnD,YAAA,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;AACtB,gBAAA,IAAI,KAAK,CAAC,cAAc,EAAE;;oBAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;iBACzC;AACH,aAAC,CAAC,CAAC;AACL,SAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;AAG5C,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KAC7E;AAYD;;AAEG;IACK,QAAQ,CAAC,IAAgB,EAAE,IAAY,EAAA;AAC7C,QAAA,IAAI,OAAuB,CAAC;QAE5B,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,QAAA,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAClC;AAED;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC7D;AACF;;AC7EY,MAAA,WAAW,GAAG,CAAC,MAAsB,KAAI;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;AAC9C,IAAA,MAAM,SAAS,GAAGA,YAAM,CAAgB,IAAI,CAAC,CAAC;AAC9C,IAAA,MAAM,YAAY,GAAGA,YAAM,CAAqB,IAAI,CAAC,CAAC;AAEtD,IAAA,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAGC,cAAQ,CAAe,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,cAAQ,CAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,IAAA,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,cAAQ,CAAiB;AACnE,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,gBAAgB,EAAE,GAAG;AACrB,QAAA,iBAAiB,EAAE,CAAC;AACpB,QAAA,MAAM,EAAE,IAAI;AACb,KAAA,CAAC,CAAC;;IAGHC,eAAS,CAAC,MAAK;QACb,SAAS,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7C,QAAA,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAElD,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aAC7B;AACH,SAAC,CAAC;KACH,EAAE,EAAE,CAAC,CAAC;;IAGPA,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,YAAA,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAChC,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,UAAU,CACxB,CAAC;SACH;KACF,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;;AAG3D,IAAA,MAAM,YAAY,GAAGC,iBAAW,CAAC,CAAC,SAAiB,KAAI;AACrD,QAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,YAAA,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;;YAGlD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3C,YAAA,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACpC,YAAA,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/B;KACF,EAAE,EAAE,CAAC,CAAC;;AAGP,IAAA,MAAM,eAAe,GAAG,CAAC,OAA2B,KAAI;QACtD,IAAI,OAAO,EAAE;AACX,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;;AAG/B,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,EAAE;;;gBAG5C,MAAM,iBAAiB,GAAG,MAAK;AAC7B,oBAAA,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,iBAAC,CAAC;AAEF,gBAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;AAGzE,gBAAA,OAAO,MAAK;AACV,oBAAA,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC3D,iBAAC,CAAC;aACH;SACF;AACH,KAAC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,WAAW;QACX,SAAS;QACT,cAAc;QACd,eAAe;;QAEf,OAAO,EAAE,MAAK;;AACZ,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA,CAAA,EAAA,GAAA,YAAY,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,KAAI,CAAC,CAAC,CAAC;aAC9E;SACF;;QAED,iBAAiB,EAAE,MAAK;AACtB,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;;;AAGrB,gBAAA,OAAO,cAAc,CAAC;aACvB;YACD,OAAO;AACL,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,SAAS,EAAE,YAAY;AACvB,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,gBAAgB,EAAE,GAAG;AACrB,gBAAA,iBAAiB,EAAE,CAAC;AACpB,gBAAA,MAAM,EAAE,IAAI;aACb,CAAC;SACH;KACF,CAAC;AACJ;;ACnGa,MAAA,QAAQ,GAAGC,gBAAU,CAAgC,CAAC,KAAK,EAAE,GAAG,KAAI;IAC/E,MAAM,EACJ,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QAC/D,SAAS;QACT,UAAU;QACV,cAAc;QACd,UAAU;AACV,QAAA,GAAG,IAAI;AACR,KAAA,CAAC,CAAC;;AAGH,IAAA,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;AAClD,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;;AAGvE,IAAA,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC;AAEnD,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,EAAE,KAAI;YACV,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;oBAC7B,GAAG,CAAC,EAAE,CAAC,CAAC;iBACT;qBAAM;AACL,oBAAA,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;iBAClB;aACF;SACF,EACD,SAAS,EAAE,CAAA,UAAA,EAAa,SAAS,CAAE,CAAA,EACnC,KAAK,EAAE;YACL,MAAM,EAAE,CAAG,EAAA,cAAc,CAAI,EAAA,CAAA;AAC7B,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,GAAG,KAAK;AACT,SAAA,EAAA,GACG,IAAI,EAAA;QAGR,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,CAAG,EAAA,UAAU,CAAI,EAAA,CAAA,EAAE,EAAI,CAAA;QAG5C,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC5B,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,YAAY,CAAC,KAAK,GAAG,KAAK,EAC/B,KAAK,EAAE,EAAE,MAAM,EAAE,CAAA,EAAG,UAAU,CAAI,EAAA,CAAA,EAAE,EACpC,SAAS,EAAC,WAAW,EAEpB,EAAA,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,CACzC,CACP,CAAC;AAGF,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,IAAI,YAAY,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAI,EAAA,CAAA;aAC9E,EACD,CAAA;QAGD,SAAS,KACR,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,cAAc,EAEvB,EAAA,uBAAA,CAAA,CACP,CACG,EACN;AACJ,CAAC,EAAE;AAEH,QAAQ,CAAC,WAAW,GAAG,UAAU;;AC3FjC;;AAEG;AACa,SAAA,QAAQ,CACtB,IAAO,EACP,IAAY,EAAA;IAEZ,IAAI,OAAO,GAA0B,IAAI,CAAC;AAE1C,IAAA,OAAO,SAAS,gBAAgB,CAAC,GAAG,IAAmB,EAAA;QACrD,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;AAED,QAAA,OAAO,GAAG,UAAU,CAAC,MAAK;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB,EAAE,IAAI,CAAC,CAAC;AACX,KAAC,CAAC;AACJ;;AClBA;;AAEG;AACa,SAAA,QAAQ,CACtB,IAAO,EACP,KAAa,EAAA;AAEb,IAAA,IAAI,UAAmB,CAAC;AAExB,IAAA,OAAO,SAAS,gBAAgB,CAAC,GAAG,IAAmB,EAAA;QACrD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC;YAClB,UAAU,CAAC,MAAK;gBACd,UAAU,GAAG,KAAK,CAAC;aACpB,EAAE,KAAK,CAAC,CAAC;SACX;AACH,KAAC,CAAC;AACJ;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/WindowManager.ts","../../src/core/PrefetchManager.ts","../../src/core/RequestQueue.ts","../../src/core/IntelligentScrollDetector.ts","../../src/core/NetworkSpeedDetector.ts","../../src/core/NetworkAwarePrefetchManager.ts","../../src/core/NetworkAwareRequestQueue.ts","../../src/core/DevicePerformanceMonitor.ts","../../src/core/ContentComplexityAnalyzer.ts","../../src/core/AdaptiveBufferCalculator.ts","../../src/core/Engine.ts","../../src/platform/browser/ScrollObserver.ts","../../src/adapters/react/useLazyList.ts","../../src/adapters/react/LazyList.tsx","../../src/utils/debounce.ts","../../src/utils/throttle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["useRef","useState","useEffect","useCallback","forwardRef"],"mappings":";;;;MAEa,aAAa,CAAA;AAKxB,IAAA,WAAA,CAAY,UAAkB,EAAE,cAAsB,EAAE,aAAqB,CAAC,EAAA;AAC5E,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAC9B;AAED;;AAEG;AACH,IAAA,qBAAqB,CAAC,SAAiB,EAAA;;AAErC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;;AAG1E,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;;AAG3D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAC/C,MAAM,CAAC,gBAAgB;SACxB,CAAC;QAEF,OAAO;AACL,YAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAChD,YAAA,GAAG,EAAE,QAAQ;SACd,CAAC;KACH;AAED;;AAEG;AACH,IAAA,oBAAoB,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;KAC9B;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,MAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;KAC1B;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;AACF;;MCvDY,eAAe,CAAA;AAC1B;;;AAGG;AACH,IAAA,WAAA,GAAA,GAAgB;AAEhB;;AAEG;IACH,cAAc,CAAC,UAAkB,EAAE,WAAmB,EAAA;;AAEpD,QAAA,OAAO,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC;KACtC;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,IAAY,EAAA;;;KAG5B;AACF;;MCtBY,YAAY,CAAA;AAKvB,IAAA,WAAA,CAAY,gBAAwB,CAAC,EAAA;QAJ7B,IAAK,CAAA,KAAA,GAA8B,EAAE,CAAC;QACtC,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAIlC,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;KACpC;AAED;;AAEG;AACH,IAAA,GAAG,CAAC,SAA6B,EAAA;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;AAG/D,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,YAAY,GAAA;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,OAAO;SACR;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;QAGvB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE9D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,EAAE;AACb,gBAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aACtC;SACF;AAED,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;SAC9C;;AAGD,QAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAC3B;AAED;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;AAED;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC1B;AACF;;MCpEY,yBAAyB,CAAA;AAQpC,IAAA,WAAA,GAAA;QAPQ,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;QACrB,IAAe,CAAA,eAAA,GAAa,EAAE,CAAC;QACtB,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;QAC1B,IAAa,CAAA,aAAA,GAAkB,IAAI,CAAC;QACpC,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AAG7B,QAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;KACnC;;AAGD,IAAA,iBAAiB,CAAC,SAAiB,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAC9B,QAAA,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;AAC9C,QAAA,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;;AAGtC,QAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;;AAGxD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AACnD,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;SAC9B;;AAGD,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;;AAGpB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;;AAGtB,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAClC;;IAGO,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACpE,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;KAC1C;;AAGD,IAAA,YAAY,CAAC,QAAgB,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;AAAE,YAAA,OAAO,YAAY,CAAC;QAClD,OAAO,QAAQ,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACrC;;AAGD,IAAA,eAAe,CAAC,QAAgB,EAAA;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;AAAM,aAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAC;SACX;AAAM,aAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YAC5B,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,CAAC,CAAC;SACV;KACF;;AAGD,IAAA,yBAAyB,CAAC,QAAgB,EAAA;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,WAAW,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,WAAW,GAAG,GAAG;YAAE,OAAO,GAAG,CAAC;QAClC,IAAI,WAAW,GAAG,GAAG;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,GAAG,CAAC;KACZ;;AAGD,IAAA,eAAe,CAAC,eAAuB,EAAE,QAAgB,EAAE,UAAkB,GAAG,EAAA;AAC9E,QAAA,OAAO,eAAe,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC;KAC/C;;IAGD,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;IAGO,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;AAC1C,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACrB,SAAC,EAAE,GAAG,CAAC,CAAC;KACT;;IAGD,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;KACF;AACF;;MCzGY,oBAAoB,CAAA;AAAjC,IAAA,WAAA,GAAA;QACU,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;QAChC,IAAc,CAAA,cAAA,GAAa,EAAE,CAAC;QACrB,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;KA0FnC;;AAvFC,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AACpC,QAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE7D,QAAA,IAAI;;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE;AAChD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC;AAC9C,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,YAAA,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AACpD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;aAC/B;AAED,YAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;;YAEd,OAAO,MAAM,CAAC;SACf;KACF;;AAGD,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,IAAI;AACF,YAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAEpC,YAAA,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;AAEzB,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAClC,YAAA,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAClD,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;aAC7B;AAED,YAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;;YAEd,OAAO,IAAI,CAAC;SACb;KACF;;AAGD,IAAA,MAAM,uBAAuB,GAAA;AAC3B,QAAA,IAAI;YACF,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7C,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,cAAc,EAAE;AACtB,aAAA,CAAC,CAAC;YAEH,IAAI,OAAO,GAAG,IAAI;gBAAE,OAAO,MAAM,CAAC;YAClC,IAAI,SAAS,GAAG,MAAM;gBAAE,OAAO,MAAM,CAAC;AACtC,YAAA,IAAI,OAAO,GAAG,GAAG,IAAI,SAAS,GAAG,MAAM;gBAAE,OAAO,MAAM,CAAC;YACvD,OAAO,WAAW,CAAC;SACpB;AAAC,QAAA,OAAA,EAAA,EAAM;AACN,YAAA,OAAO,SAAS,CAAC;SAClB;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;KAC3C;IAEO,iBAAiB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;KACzC;;IAGD,eAAe,GAAA;QACb,OAAO;AACL,YAAA,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;AACrC,YAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;AACjC,YAAA,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACpC,CAAC;KACH;AACF;;MC3FY,2BAA2B,CAAA;AAItC,IAAA,WAAA,CAAY,eAAqC,EAAA;AAFzC,QAAA,IAAA,CAAA,oBAAoB,GAAG,GAAG,CAAC;AAGjC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;;IAGD,MAAM,gCAAgC,CAAC,QAAgB,EAAA;QACrD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;;AAG/E,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAC7C,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,YAAY,GAAG,IAAI,CAAC;AAC7C,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,YAAY,GAAG,GAAG,CAAC;AACjD,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,YAAY,GAAG,GAAG,CAAC;;YACjD,YAAY,GAAG,GAAG,CAAC;;QAGxB,QAAO,iBAAiB;AACtB,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACxC,YAAA;AACE,gBAAA,OAAO,YAAY,CAAC;SACvB;KACF;;IAGD,MAAM,iCAAiC,CAAC,QAAgB,EAAA;QACtD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;;AAG/E,QAAA,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;AAAE,YAAA,aAAa,GAAG,EAAE,CAAC;AAC5C,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,aAAa,GAAG,EAAE,CAAC;AACjD,aAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;YAAE,aAAa,GAAG,EAAE,CAAC;;AACjD,YAAA,aAAa,GAAG,CAAC,CAAC;;QAGvB,QAAO,iBAAiB;AACtB,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,YAAA;AACE,gBAAA,OAAO,aAAa,CAAC;SACxB;KACF;;AAGD,IAAA,MAAM,mBAAmB,GAAA;QACvB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAC/E,OAAO,iBAAiB,KAAK,MAAM,CAAC;KACrC;AACF;;MCjEY,wBAAwB,CAAA;AAOnC,IAAA,WAAA,CAAY,eAAqC,EAAA;QALzC,IAAK,CAAA,KAAA,GAA8B,EAAE,CAAC;QACtC,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAC5B,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAY,CAAA,YAAA,GAA8B,EAAE,CAAC;AAGnD,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;;IAGD,MAAM,GAAG,CAAC,SAA6B,EAAA;;QAErC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAE/E,QAAO,iBAAiB;AACtB,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,SAAS;;AAEZ,gBAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC9C,YAAA;AACE,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SAC1B;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/D,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,MAAM,YAAY,GAAA;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,OAAO;SACR;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;QAGvB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE9D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,EAAE;AACb,gBAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aACtC;SACF;AAED,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;SAC5D;;AAGD,QAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAC3B;;IAGO,MAAM,oBAAoB,CAAC,SAA6B,EAAA;;QAE9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;YAErC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;YAGtE,MAAM,WAAW,GAAG,MAAK;AACvB,gBAAA,IAAI,SAAS,CAAC,MAAM,EAAE;;oBAEpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;AACL,oBAAA,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;iBAC/B;AACH,aAAC,CAAC;AAEF,YAAA,WAAW,EAAE,CAAC;AAChB,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,MAAM,mBAAmB,GAAA;QAC/B,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AAEvB,QAAA,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;AACvC,YAAA,IAAI;gBACF,MAAM,SAAS,EAAE,CAAC;aACnB;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;;AAEhD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACnC;SACF;KACF;;IAGD,cAAc,GAAA;QACZ,OAAO;AACL,YAAA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;AAC1B,YAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;KACH;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AACF;;MC/HY,wBAAwB,CAAA;AAMnC,IAAA,WAAA,GAAA;QALQ,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;QAChC,IAAkB,CAAA,kBAAA,GAAa,EAAE,CAAC;QAClC,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;QACrB,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;QAGjC,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACnC;;AAGD,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;AAC3B,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,MAAM,OAAO,GAAG,MAAK;AACnB,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,MAAM,IAAI,EAAE,EAAE;oBAChB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAC1C,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC;AAClD,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AACpD,wBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;qBAC/B;oBACD,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBAAM;oBACL,qBAAqB,CAAC,OAAO,CAAC,CAAC;iBAChC;AACH,aAAC,CAAC;YAEF,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACJ;;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;KAC3C;;IAGD,aAAa,GAAA;AACX,QAAA,IAAI,QAAQ,IAAI,WAAW,EAAE;;AAE3B,YAAA,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;YAC/B,IAAI,GAAG,EAAE;gBACP,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,cAAc;oBACxB,KAAK,EAAE,GAAG,CAAC,eAAe;iBAC3B,CAAC;aACH;SACF;AACD,QAAA,OAAO,IAAI,CAAC;KACb;;AAGD,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;;AAGxC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;;QAGnD,IAAI,UAAU,EAAE;AACd,YAAA,MAAM,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7D,OAAO,CAAC,cAAc,GAAG,GAAG,KAAK,WAAW,GAAG,GAAG,CAAC,CAAC;SACrD;AAED,QAAA,OAAO,cAAc,CAAC;KACvB;IAEO,0BAA0B,GAAA;;QAEhC,WAAW,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,SAAC,EAAE,IAAI,CAAC,CAAC;KACV;;IAGD,sBAAsB,GAAA;AAMpB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC7C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;;AAGxC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAErD,OAAO;YACL,SAAS;YACT,gBAAgB;YAChB,UAAU,EAAE,CAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,IAAI;YACpC,WAAW,EAAE,CAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,KAAK,KAAI,IAAI;SACvC,CAAC;KACH;AACF;;MCrGY,yBAAyB,CAAA;;AAEpC,IAAA,wBAAwB,CAAC,KAAY,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAEnC,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;;YAExB,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAElE,eAAe,IAAI,CAAC,cAAc,GAAG,eAAe,GAAG,mBAAmB,IAAI,CAAC,CAAC;SACjF;;AAGD,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACpD;AAEO,IAAA,qBAAqB,CAAC,IAAS,EAAA;QACrC,IAAI,UAAU,GAAG,CAAC,CAAC;;AAGnB,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACjC,YAAA,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;SACtD;;QAGD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACpC,YAAA,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;SAC5D;;QAGD,IAAI,IAAI,CAAC,WAAW;YAAE,UAAU,IAAI,GAAG,CAAC;QAExC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;KAChC;AAEO,IAAA,sBAAsB,CAAC,IAAS,EAAA;QACtC,IAAI,UAAU,GAAG,CAAC,CAAC;;QAGnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7B,YAAA,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;SACtD;;QAGD,IAAI,IAAI,CAAC,QAAQ;YAAE,UAAU,IAAI,GAAG,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ;YAAE,UAAU,IAAI,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM;YAAE,UAAU,IAAI,GAAG,CAAC;QAEnC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;KAChC;AAEO,IAAA,0BAA0B,CAAC,IAAS,EAAA;QAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;;AAGnB,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;AAC3C,YAAA,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;SACxD;;QAGD,IAAI,IAAI,CAAC,WAAW;YAAE,UAAU,IAAI,GAAG,CAAC;QACxC,IAAI,IAAI,CAAC,aAAa;YAAE,UAAU,IAAI,GAAG,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,UAAU,IAAI,GAAG,CAAC;QAErC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;KAChC;;AAGD,IAAA,qBAAqB,CAAC,KAAY,EAAA;AAMhC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO;AACL,gBAAA,iBAAiB,EAAE,GAAG;AACtB,gBAAA,cAAc,EAAE,CAAC;AACjB,gBAAA,eAAe,EAAE,CAAC;AAClB,gBAAA,mBAAmB,EAAE,CAAC;aACvB,CAAC;SACH;QAED,IAAI,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC;AAEtD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC9C,YAAA,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAChD,YAAA,cAAc,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;SACzD;QAED,OAAO;AACL,YAAA,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;AACvD,YAAA,cAAc,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM;AACxC,YAAA,eAAe,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM;AAC1C,YAAA,mBAAmB,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM;SACnD,CAAC;KACH;AACF;;MCnGY,wBAAwB,CAAA;AASnC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,YAAY,GAAW,GAAG,CAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAAW,GAAG,CAAC;AAC5B,QAAA,IAAA,CAAA,iBAAiB,GAAW,GAAG,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAW,GAAG,CAAC;AAMlC,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAyB,EAAE,CAAC;KACxD;;IAGD,MAAM,sBAAsB,CAAC,MAK5B,EAAA;;AAEC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;;QAG1F,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;;QAGjF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;QAC3E,MAAM,qBAAqB,GAAG,IAAI,CAAC,8BAA8B,CAAC,gBAAgB,CAAC,CAAC;;AAGpF,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7F,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;;AAG7E,QAAA,MAAM,cAAc,IAClB,YAAY,GAAG,IAAI,CAAC,YAAY;YAChC,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,IAAI,IAAI,CAAC,aAAa;YAC5D,CAAC,MAAM,CAAC,UAAU,GAAG,qBAAqB,IAAI,IAAI,CAAC,iBAAiB;YACpE,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAC7D,CAAC;;QAGF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;KAC9D;IAEO,qBAAqB,CAAC,QAAgB,EAAE,UAAkB,EAAA;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,GAAG;AAAE,YAAA,OAAO,UAAU,GAAG,CAAC,CAAC;QAC7C,IAAI,WAAW,GAAG,GAAG;AAAE,YAAA,OAAO,UAAU,GAAG,GAAG,CAAC;QAC/C,IAAI,WAAW,GAAG,GAAG;AAAE,YAAA,OAAO,UAAU,GAAG,GAAG,CAAC;AAC/C,QAAA,OAAO,UAAU,GAAG,GAAG,CAAC;KACzB;AAEO,IAAA,0BAA0B,CAAC,OAAe,EAAA;QAChD,QAAO,OAAO;AACZ,YAAA,KAAK,WAAW,EAAE,OAAO,GAAG,CAAC;AAC7B,YAAA,KAAK,MAAM,EAAE,OAAO,GAAG,CAAC;AACxB,YAAA,KAAK,MAAM,EAAE,OAAO,GAAG,CAAC;AACxB,YAAA,KAAK,SAAS,EAAE,OAAO,GAAG,CAAC;AAC3B,YAAA,SAAS,OAAO,GAAG,CAAC;SACrB;KACF;AAEO,IAAA,8BAA8B,CAAC,WAAmB,EAAA;;QAExD,OAAO,GAAG,IAAI,WAAW,GAAG,GAAG,CAAC,CAAC;KAClC;AAEO,IAAA,0BAA0B,CAAC,UAAkB,EAAA;;QAEnD,OAAO,GAAG,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC;KACjC;;IAGD,MAAM,mBAAmB,CAAC,MAKzB,EAAA;QAYC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;AACtE,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE3F,OAAO;AACL,YAAA,aAAa,EAAE,MAAM;AACrB,YAAA,WAAW,EAAE;gBACX,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,KAAK,EAAE,YAAY,CAAC,gBAAgB;AACrC,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAC,cAAc;gBAC9B,UAAU,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC;AACnE,aAAA;AACD,YAAA,UAAU,EAAE;gBACV,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,YAAY,CAAC;AACzE,gBAAA,SAAS,EAAE,kBAAkB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC5E,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC;gBAC/D,WAAW,EAAE,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBAC/E,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;AAC/E,aAAA;SACF,CAAC;KACH;AACF;;MChHY,MAAM,CAAA;AAejB,IAAA,WAAA,CAAY,MAAoB,EAAA;QAHxB,IAAiB,CAAA,iBAAA,GAA6B,IAAI,CAAC;QAIzD,IAAI,CAAC,MAAM,GAAG;AACZ,YAAA,GAAG,MAAM;AACT,YAAA,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;SACnC,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,CAAC;AAEF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,2BAA2B,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzF,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAE/D,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAEpE,IAAI,CAAC,KAAK,GAAG;AACX,YAAA,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAClC,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,SAAS,EAAE,KAAK;SACjB,CAAC;KACH;AAED;;AAEG;IACH,MAAM,oBAAoB,CAAC,SAAiB,EAAA;;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,QAAQ,EAAE;;QAGxE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;;QAG5E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,CAAC;AAChF,YAAA,cAAc,EAAE,QAAQ;YACxB,cAAc;YACd,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,QAAQ,CAAC;YACpE,YAAY,EAAE,EAAE;AACjB,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;;AAG9E,QAAA,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE;AAChC,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;SACxB;KACF;AAED;;AAEG;IACH,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;KAChC;AAED;;AAEG;AACH,IAAA,MAAM,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,iBAAiB;AAAE,YAAA,OAAO,KAAK,CAAC;AAC1C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,KAAK,CAAC;;AAG5D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;QAGjE,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,GAAG;;QAG5E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;;QAG3G,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;AAC/C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;;AAG3C,QAAA,OAAO,UAAU,IAAI,WAAW,GAAG,gBAAgB,CAAC;KACrD;AAED;;AAEG;AACH,IAAA,MAAM,SAAS,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO;AAE5D,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAI;;AAEF,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;;YAG/E,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SACrE;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;SACpD;gBAAS;AACR,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;SAC9B;KACF;AAED;;AAEG;AACH,IAAA,oBAAoB,CAAC,QAA2B,EAAA;AAC9C,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACnC;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;KAC1B;AAED;;AAEG;IACH,gBAAgB,CAAC,cAAsB,EAAE,UAAkB,EAAA;AACzD,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;;AAGhD,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC1F;AAED;;AAEG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC;KAC1C;AACF;;MCpLY,cAAc,CAAA;AAOzB,IAAA,WAAA,CACE,SAAsB,EACtB,QAAqC,EACrC,OAA2C,EAAA;QANrC,IAAQ,CAAA,QAAA,GAAgC,IAAI,CAAC;QAC7C,IAAe,CAAA,eAAA,GAAuB,IAAI,CAAC;AA4CnD;;AAEG;QACK,IAAQ,CAAA,QAAA,GAAG,MAAW;;AAE5B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAK;gBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC1C,aAAC,EAAE,EAAE,CAAC,CAAC;AACT,SAAC,CAAC;AA7CA,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB,YAAA,GAAG,OAAO;SACX,CAAC;KACH;AAED;;AAEG;IACH,OAAO,GAAA;;QAEL,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;;QAG5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;QAGjD,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,KAAI;AACnD,YAAA,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;AACtB,gBAAA,IAAI,KAAK,CAAC,cAAc,EAAE;;oBAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;iBACzC;AACH,aAAC,CAAC,CAAC;AACL,SAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;AAG5C,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KAC7E;AAYD;;AAEG;IACK,QAAQ,CAAC,IAAgB,EAAE,IAAY,EAAA;AAC7C,QAAA,IAAI,OAAuB,CAAC;QAE5B,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,QAAA,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAClC;AAED;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC7D;AACF;;AC7EY,MAAA,WAAW,GAAG,CAAC,MAAsB,KAAI;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;AAC9C,IAAA,MAAM,SAAS,GAAGA,YAAM,CAAgB,IAAI,CAAC,CAAC;AAC9C,IAAA,MAAM,YAAY,GAAGA,YAAM,CAAqB,IAAI,CAAC,CAAC;AAEtD,IAAA,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAGC,cAAQ,CAAe,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,cAAQ,CAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,IAAA,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,cAAQ,CAAiB;AACnE,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,gBAAgB,EAAE,GAAG;AACrB,QAAA,iBAAiB,EAAE,CAAC;AACpB,QAAA,MAAM,EAAE,IAAI;AACb,KAAA,CAAC,CAAC;;IAGHC,eAAS,CAAC,MAAK;QACb,SAAS,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7C,QAAA,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAElD,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aAC7B;AACH,SAAC,CAAC;KACH,EAAE,EAAE,CAAC,CAAC;;IAGPA,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,YAAA,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAChC,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,UAAU,CACxB,CAAC;SACH;KACF,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;;AAG3D,IAAA,MAAM,YAAY,GAAGC,iBAAW,CAAC,CAAC,SAAiB,KAAI;AACrD,QAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,YAAA,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;;YAGlD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3C,YAAA,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACpC,YAAA,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/B;KACF,EAAE,EAAE,CAAC,CAAC;;AAGP,IAAA,MAAM,eAAe,GAAG,CAAC,OAA2B,KAAI;QACtD,IAAI,OAAO,EAAE;AACX,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;;AAG/B,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,EAAE;;;gBAG5C,MAAM,iBAAiB,GAAG,MAAK;AAC7B,oBAAA,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,iBAAC,CAAC;AAEF,gBAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;AAGzE,gBAAA,OAAO,MAAK;AACV,oBAAA,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC3D,iBAAC,CAAC;aACH;SACF;AACH,KAAC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,WAAW;QACX,SAAS;QACT,cAAc;QACd,eAAe;;QAEf,OAAO,EAAE,MAAK;;AACZ,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA,CAAA,EAAA,GAAA,YAAY,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,KAAI,CAAC,CAAC,CAAC;aAC9E;SACF;;QAED,iBAAiB,EAAE,MAAK;AACtB,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;;;AAGrB,gBAAA,OAAO,cAAc,CAAC;aACvB;YACD,OAAO;AACL,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,SAAS,EAAE,YAAY;AACvB,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,gBAAgB,EAAE,GAAG;AACrB,gBAAA,iBAAiB,EAAE,CAAC;AACpB,gBAAA,MAAM,EAAE,IAAI;aACb,CAAC;SACH;KACF,CAAC;AACJ;;ACnGa,MAAA,QAAQ,GAAGC,gBAAU,CAAgC,CAAC,KAAK,EAAE,GAAG,KAAI;IAC/E,MAAM,EACJ,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QAC/D,SAAS;QACT,UAAU;QACV,cAAc;QACd,UAAU;AACV,QAAA,GAAG,IAAI;AACR,KAAA,CAAC,CAAC;;AAGH,IAAA,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;AAClD,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;;AAGvE,IAAA,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC;AAEnD,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,EAAE,KAAI;YACV,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;oBAC7B,GAAG,CAAC,EAAE,CAAC,CAAC;iBACT;qBAAM;AACL,oBAAA,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;iBAClB;aACF;SACF,EACD,SAAS,EAAE,CAAA,UAAA,EAAa,SAAS,CAAE,CAAA,EACnC,KAAK,EAAE;YACL,MAAM,EAAE,CAAG,EAAA,cAAc,CAAI,EAAA,CAAA;AAC7B,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,GAAG,KAAK;AACT,SAAA,EAAA,GACG,IAAI,EAAA;QAGR,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,CAAG,EAAA,UAAU,CAAI,EAAA,CAAA,EAAE,EAAI,CAAA;QAG5C,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC5B,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,YAAY,CAAC,KAAK,GAAG,KAAK,EAC/B,KAAK,EAAE,EAAE,MAAM,EAAE,CAAA,EAAG,UAAU,CAAI,EAAA,CAAA,EAAE,EACpC,SAAS,EAAC,WAAW,EAEpB,EAAA,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,CACzC,CACP,CAAC;AAGF,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,IAAI,YAAY,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAI,EAAA,CAAA;aAC9E,EACD,CAAA;QAGD,SAAS,KACR,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,cAAc,EAEvB,EAAA,uBAAA,CAAA,CACP,CACG,EACN;AACJ,CAAC,EAAE;AAEH,QAAQ,CAAC,WAAW,GAAG,UAAU;;AC3FjC;;AAEG;AACa,SAAA,QAAQ,CACtB,IAAO,EACP,IAAY,EAAA;IAEZ,IAAI,OAAO,GAA0B,IAAI,CAAC;AAE1C,IAAA,OAAO,SAAS,gBAAgB,CAAC,GAAG,IAAmB,EAAA;QACrD,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;AAED,QAAA,OAAO,GAAG,UAAU,CAAC,MAAK;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB,EAAE,IAAI,CAAC,CAAC;AACX,KAAC,CAAC;AACJ;;AClBA;;AAEG;AACa,SAAA,QAAQ,CACtB,IAAO,EACP,KAAa,EAAA;AAEb,IAAA,IAAI,UAAmB,CAAC;AAExB,IAAA,OAAO,SAAS,gBAAgB,CAAC,GAAG,IAAmB,EAAA;QACrD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC;YAClB,UAAU,CAAC,MAAK;gBACd,UAAU,GAAG,KAAK,CAAC;aACpB,EAAE,KAAK,CAAC,CAAC;SACX;AACH,KAAC,CAAC;AACJ;;;;;;;;;;;;;;;;;;;"}
|