bytekit 1.0.0 → 1.0.2
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 +11 -0
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/type-generator.js +26 -32
- package/dist/cli/type-generator.js.map +1 -1
- package/dist/color-utils.d.ts +2 -0
- package/dist/color-utils.d.ts.map +1 -0
- package/dist/color-utils.js +2 -0
- package/dist/color-utils.js.map +1 -0
- package/dist/number-utils.d.ts +2 -0
- package/dist/number-utils.d.ts.map +1 -0
- package/dist/number-utils.js +2 -0
- package/dist/number-utils.js.map +1 -0
- package/dist/utils/core/ApiClient.d.ts +60 -6
- package/dist/utils/core/ApiClient.d.ts.map +1 -1
- package/dist/utils/core/ApiClient.js +232 -28
- package/dist/utils/core/ApiClient.js.map +1 -1
- package/dist/utils/core/BatchRequest.d.ts +5 -5
- package/dist/utils/core/BatchRequest.d.ts.map +1 -1
- package/dist/utils/core/BatchRequest.js +18 -4
- package/dist/utils/core/BatchRequest.js.map +1 -1
- package/dist/utils/core/ErrorBoundary.js +66 -15
- package/dist/utils/core/ErrorBoundary.js.map +1 -1
- package/dist/utils/core/Logger.d.ts.map +1 -1
- package/dist/utils/core/Logger.js +18 -3
- package/dist/utils/core/Logger.js.map +1 -1
- package/dist/utils/core/Profiler.d.ts.map +1 -1
- package/dist/utils/core/Profiler.js +19 -3
- package/dist/utils/core/Profiler.js.map +1 -1
- package/dist/utils/core/QueryClient.d.ts +129 -0
- package/dist/utils/core/QueryClient.d.ts.map +1 -0
- package/dist/utils/core/QueryClient.js +417 -0
- package/dist/utils/core/QueryClient.js.map +1 -0
- package/dist/utils/core/QueryState.d.ts +99 -0
- package/dist/utils/core/QueryState.d.ts.map +1 -0
- package/dist/utils/core/QueryState.js +65 -0
- package/dist/utils/core/QueryState.js.map +1 -0
- package/dist/utils/core/RateLimiter.js +48 -8
- package/dist/utils/core/RateLimiter.js.map +1 -1
- package/dist/utils/core/RequestCache.d.ts.map +1 -1
- package/dist/utils/core/RequestCache.js +30 -6
- package/dist/utils/core/RequestCache.js.map +1 -1
- package/dist/utils/core/RequestDeduplicator.js +18 -3
- package/dist/utils/core/RequestDeduplicator.js.map +1 -1
- package/dist/utils/core/ResponseValidator.d.ts +1 -0
- package/dist/utils/core/ResponseValidator.d.ts.map +1 -1
- package/dist/utils/core/ResponseValidator.js +14 -0
- package/dist/utils/core/ResponseValidator.js.map +1 -1
- package/dist/utils/core/RetryPolicy.d.ts.map +1 -1
- package/dist/utils/core/RetryPolicy.js +77 -13
- package/dist/utils/core/RetryPolicy.js.map +1 -1
- package/dist/utils/helpers/CacheManager.d.ts +1 -1
- package/dist/utils/helpers/CacheManager.d.ts.map +1 -1
- package/dist/utils/helpers/CacheManager.js +49 -10
- package/dist/utils/helpers/CacheManager.js.map +1 -1
- package/dist/utils/helpers/ColorUtils.d.ts +235 -0
- package/dist/utils/helpers/ColorUtils.d.ts.map +1 -0
- package/dist/utils/helpers/ColorUtils.js +594 -0
- package/dist/utils/helpers/ColorUtils.js.map +1 -0
- package/dist/utils/helpers/EnvManager.d.ts.map +1 -1
- package/dist/utils/helpers/EnvManager.js +12 -3
- package/dist/utils/helpers/EnvManager.js.map +1 -1
- package/dist/utils/helpers/EventEmitter.d.ts.map +1 -1
- package/dist/utils/helpers/EventEmitter.js +52 -18
- package/dist/utils/helpers/EventEmitter.js.map +1 -1
- package/dist/utils/helpers/FileUploadHelper.d.ts.map +1 -1
- package/dist/utils/helpers/FileUploadHelper.js +14 -22
- package/dist/utils/helpers/FileUploadHelper.js.map +1 -1
- package/dist/utils/helpers/FormUtils.js +25 -5
- package/dist/utils/helpers/FormUtils.js.map +1 -1
- package/dist/utils/helpers/NumberUtils.d.ts +230 -0
- package/dist/utils/helpers/NumberUtils.d.ts.map +1 -0
- package/dist/utils/helpers/NumberUtils.js +536 -0
- package/dist/utils/helpers/NumberUtils.js.map +1 -0
- package/dist/utils/helpers/PaginationHelper.d.ts.map +1 -1
- package/dist/utils/helpers/PaginationHelper.js +43 -7
- package/dist/utils/helpers/PaginationHelper.js.map +1 -1
- package/dist/utils/helpers/PollingHelper.d.ts +30 -0
- package/dist/utils/helpers/PollingHelper.d.ts.map +1 -1
- package/dist/utils/helpers/PollingHelper.js +123 -5
- package/dist/utils/helpers/PollingHelper.js.map +1 -1
- package/dist/utils/helpers/Signal.d.ts +92 -0
- package/dist/utils/helpers/Signal.d.ts.map +1 -0
- package/dist/utils/helpers/Signal.js +243 -0
- package/dist/utils/helpers/Signal.js.map +1 -0
- package/dist/utils/helpers/StorageUtils.js +6 -2
- package/dist/utils/helpers/StorageUtils.js.map +1 -1
- package/dist/utils/helpers/StreamingHelper.d.ts.map +1 -1
- package/dist/utils/helpers/StreamingHelper.js +9 -7
- package/dist/utils/helpers/StreamingHelper.js.map +1 -1
- package/dist/utils/helpers/UrlBuilder.js +12 -2
- package/dist/utils/helpers/UrlBuilder.js.map +1 -1
- package/dist/utils/helpers/Validator.d.ts.map +1 -1
- package/dist/utils/helpers/Validator.js +2 -1
- package/dist/utils/helpers/Validator.js.map +1 -1
- package/dist/utils/helpers/WebSocketHelper.d.ts.map +1 -1
- package/dist/utils/helpers/WebSocketHelper.js +50 -10
- package/dist/utils/helpers/WebSocketHelper.js.map +1 -1
- package/dist/utils/helpers/index.d.ts +2 -0
- package/dist/utils/helpers/index.d.ts.map +1 -1
- package/dist/utils/helpers/index.js +2 -0
- package/dist/utils/helpers/index.js.map +1 -1
- package/dist/utils/helpers/useSignal.d.ts +11 -0
- package/dist/utils/helpers/useSignal.d.ts.map +1 -0
- package/dist/utils/helpers/useSignal.js +11 -0
- package/dist/utils/helpers/useSignal.js.map +1 -0
- package/package.json +234 -208
|
@@ -6,11 +6,31 @@
|
|
|
6
6
|
* Memory cache with LRU eviction
|
|
7
7
|
*/
|
|
8
8
|
class MemoryCache {
|
|
9
|
-
cache = new Map();
|
|
10
|
-
maxSize;
|
|
11
|
-
hits = 0;
|
|
12
|
-
misses = 0;
|
|
13
9
|
constructor(maxSize = 100) {
|
|
10
|
+
Object.defineProperty(this, "cache", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
configurable: true,
|
|
13
|
+
writable: true,
|
|
14
|
+
value: new Map()
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(this, "maxSize", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true,
|
|
20
|
+
value: void 0
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(this, "hits", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
value: 0
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(this, "misses", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true,
|
|
32
|
+
value: 0
|
|
33
|
+
});
|
|
14
34
|
this.maxSize = maxSize;
|
|
15
35
|
}
|
|
16
36
|
set(key, value, ttl) {
|
|
@@ -62,8 +82,13 @@ class MemoryCache {
|
|
|
62
82
|
* LocalStorage cache wrapper
|
|
63
83
|
*/
|
|
64
84
|
class LocalStorageCache {
|
|
65
|
-
prefix;
|
|
66
85
|
constructor(prefix = "cache:") {
|
|
86
|
+
Object.defineProperty(this, "prefix", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true,
|
|
89
|
+
writable: true,
|
|
90
|
+
value: void 0
|
|
91
|
+
});
|
|
67
92
|
this.prefix = prefix;
|
|
68
93
|
}
|
|
69
94
|
set(key, value, ttl) {
|
|
@@ -124,10 +149,25 @@ class LocalStorageCache {
|
|
|
124
149
|
* Multi-tier cache manager
|
|
125
150
|
*/
|
|
126
151
|
export class CacheManager {
|
|
127
|
-
memoryCache;
|
|
128
|
-
storageCache;
|
|
129
|
-
defaultTTL;
|
|
130
152
|
constructor(options = {}) {
|
|
153
|
+
Object.defineProperty(this, "memoryCache", {
|
|
154
|
+
enumerable: true,
|
|
155
|
+
configurable: true,
|
|
156
|
+
writable: true,
|
|
157
|
+
value: void 0
|
|
158
|
+
});
|
|
159
|
+
Object.defineProperty(this, "storageCache", {
|
|
160
|
+
enumerable: true,
|
|
161
|
+
configurable: true,
|
|
162
|
+
writable: true,
|
|
163
|
+
value: void 0
|
|
164
|
+
});
|
|
165
|
+
Object.defineProperty(this, "defaultTTL", {
|
|
166
|
+
enumerable: true,
|
|
167
|
+
configurable: true,
|
|
168
|
+
writable: true,
|
|
169
|
+
value: void 0
|
|
170
|
+
});
|
|
131
171
|
this.memoryCache = new MemoryCache(options.maxMemorySize ?? 100);
|
|
132
172
|
this.storageCache = options.enableLocalStorage
|
|
133
173
|
? new LocalStorageCache()
|
|
@@ -206,8 +246,7 @@ export class CacheManager {
|
|
|
206
246
|
/**
|
|
207
247
|
* Invalidate keys matching pattern
|
|
208
248
|
*/
|
|
209
|
-
|
|
210
|
-
const regex = typeof pattern === "string" ? new RegExp(pattern) : pattern;
|
|
249
|
+
async clearPattern(_pattern) {
|
|
211
250
|
// Note: This is a simple implementation
|
|
212
251
|
// In production, you'd want to track all keys
|
|
213
252
|
this.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../src/utils/helpers/CacheManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH;;GAEG;AACH,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../src/utils/helpers/CacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color utilities for conversion, manipulation, and accessibility
|
|
3
|
+
* Isomorphic utilities for Node.js and browsers
|
|
4
|
+
* @module ColorUtils
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* RGB color representation
|
|
8
|
+
*/
|
|
9
|
+
export interface RGB {
|
|
10
|
+
r: number;
|
|
11
|
+
g: number;
|
|
12
|
+
b: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* RGBA color representation
|
|
16
|
+
*/
|
|
17
|
+
export interface RGBA extends RGB {
|
|
18
|
+
a: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* HSL color representation
|
|
22
|
+
*/
|
|
23
|
+
export interface HSL {
|
|
24
|
+
h: number;
|
|
25
|
+
s: number;
|
|
26
|
+
l: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* HSLA color representation
|
|
30
|
+
*/
|
|
31
|
+
export interface HSLA extends HSL {
|
|
32
|
+
a: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Color utilities
|
|
36
|
+
*/
|
|
37
|
+
export declare class ColorUtils {
|
|
38
|
+
private constructor();
|
|
39
|
+
/**
|
|
40
|
+
* Convert hex color to RGB
|
|
41
|
+
* @example
|
|
42
|
+
* ColorUtils.hexToRgb('#ff5733'); // { r: 255, g: 87, b: 51 }
|
|
43
|
+
* ColorUtils.hexToRgb('#f53'); // { r: 255, g: 85, b: 51 }
|
|
44
|
+
*/
|
|
45
|
+
static hexToRgb(hex: string): RGB | null;
|
|
46
|
+
/**
|
|
47
|
+
* Convert hex color to RGBA
|
|
48
|
+
* @example
|
|
49
|
+
* ColorUtils.hexToRgba('#ff573380'); // { r: 255, g: 87, b: 51, a: 0.5 }
|
|
50
|
+
*/
|
|
51
|
+
static hexToRgba(hex: string): RGBA | null;
|
|
52
|
+
/**
|
|
53
|
+
* Convert RGB to hex color
|
|
54
|
+
* @example
|
|
55
|
+
* ColorUtils.rgbToHex(255, 87, 51); // '#ff5733'
|
|
56
|
+
* ColorUtils.rgbToHex({ r: 255, g: 87, b: 51 }); // '#ff5733'
|
|
57
|
+
*/
|
|
58
|
+
static rgbToHex(rOrRgb: number | RGB, g?: number, b?: number): string;
|
|
59
|
+
/**
|
|
60
|
+
* Convert RGBA to hex color with alpha
|
|
61
|
+
* @example
|
|
62
|
+
* ColorUtils.rgbaToHex(255, 87, 51, 0.5); // '#ff573380'
|
|
63
|
+
*/
|
|
64
|
+
static rgbaToHex(rOrRgba: number | RGBA, g?: number, b?: number, a?: number): string;
|
|
65
|
+
/**
|
|
66
|
+
* Convert RGB to HSL
|
|
67
|
+
* @example
|
|
68
|
+
* ColorUtils.rgbToHsl(255, 87, 51); // { h: 11, s: 100, l: 60 }
|
|
69
|
+
*/
|
|
70
|
+
static rgbToHsl(rOrRgb: number | RGB, g?: number, b?: number): HSL;
|
|
71
|
+
/**
|
|
72
|
+
* Convert HSL to RGB
|
|
73
|
+
* @example
|
|
74
|
+
* ColorUtils.hslToRgb(11, 100, 60); // { r: 255, g: 87, b: 51 }
|
|
75
|
+
*/
|
|
76
|
+
static hslToRgb(hOrHsl: number | HSL, s?: number, l?: number): RGB;
|
|
77
|
+
/**
|
|
78
|
+
* Convert hex to HSL
|
|
79
|
+
*/
|
|
80
|
+
static hexToHsl(hex: string): HSL | null;
|
|
81
|
+
/**
|
|
82
|
+
* Convert HSL to hex
|
|
83
|
+
*/
|
|
84
|
+
static hslToHex(hOrHsl: number | HSL, s?: number, l?: number): string;
|
|
85
|
+
/**
|
|
86
|
+
* Lighten a color by a percentage
|
|
87
|
+
* @example
|
|
88
|
+
* ColorUtils.lighten('#ff5733', 20); // Lighter color
|
|
89
|
+
*/
|
|
90
|
+
static lighten(color: string, percent: number): string;
|
|
91
|
+
/**
|
|
92
|
+
* Darken a color by a percentage
|
|
93
|
+
* @example
|
|
94
|
+
* ColorUtils.darken('#ff5733', 20); // Darker color
|
|
95
|
+
*/
|
|
96
|
+
static darken(color: string, percent: number): string;
|
|
97
|
+
/**
|
|
98
|
+
* Saturate a color by a percentage
|
|
99
|
+
*/
|
|
100
|
+
static saturate(color: string, percent: number): string;
|
|
101
|
+
/**
|
|
102
|
+
* Desaturate a color by a percentage
|
|
103
|
+
*/
|
|
104
|
+
static desaturate(color: string, percent: number): string;
|
|
105
|
+
/**
|
|
106
|
+
* Convert color to grayscale
|
|
107
|
+
*/
|
|
108
|
+
static grayscale(color: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Get the complementary color (opposite on color wheel)
|
|
111
|
+
* @example
|
|
112
|
+
* ColorUtils.complement('#ff5733'); // Complementary color
|
|
113
|
+
*/
|
|
114
|
+
static complement(color: string): string;
|
|
115
|
+
/**
|
|
116
|
+
* Invert a color
|
|
117
|
+
* @example
|
|
118
|
+
* ColorUtils.invert('#ff5733'); // '#00a8cc'
|
|
119
|
+
*/
|
|
120
|
+
static invert(color: string): string;
|
|
121
|
+
/**
|
|
122
|
+
* Mix two colors together
|
|
123
|
+
* @example
|
|
124
|
+
* ColorUtils.mix('#ff0000', '#0000ff', 50); // Purple-ish
|
|
125
|
+
*/
|
|
126
|
+
static mix(color1: string, color2: string, weight?: number): string;
|
|
127
|
+
/**
|
|
128
|
+
* Set the alpha/opacity of a color
|
|
129
|
+
*/
|
|
130
|
+
static alpha(color: string, alpha: number): string;
|
|
131
|
+
/**
|
|
132
|
+
* Adjust hue of a color
|
|
133
|
+
*/
|
|
134
|
+
static adjustHue(color: string, degrees: number): string;
|
|
135
|
+
/**
|
|
136
|
+
* Calculate relative luminance of a color (WCAG definition)
|
|
137
|
+
*/
|
|
138
|
+
static luminance(color: string): number;
|
|
139
|
+
/**
|
|
140
|
+
* Calculate contrast ratio between two colors (WCAG)
|
|
141
|
+
* @example
|
|
142
|
+
* ColorUtils.contrast('#000000', '#ffffff'); // 21 (maximum)
|
|
143
|
+
* ColorUtils.contrast('#777777', '#ffffff'); // ~4.48
|
|
144
|
+
*/
|
|
145
|
+
static contrast(color1: string, color2: string): number;
|
|
146
|
+
/**
|
|
147
|
+
* Check if color is light (for determining text color)
|
|
148
|
+
* @example
|
|
149
|
+
* ColorUtils.isLight('#ffffff'); // true
|
|
150
|
+
* ColorUtils.isLight('#000000'); // false
|
|
151
|
+
*/
|
|
152
|
+
static isLight(color: string): boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Check if color is dark
|
|
155
|
+
*/
|
|
156
|
+
static isDark(color: string): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Get best text color (black or white) for a background
|
|
159
|
+
* @example
|
|
160
|
+
* ColorUtils.textColor('#ff5733'); // '#ffffff' (white text on orange)
|
|
161
|
+
* ColorUtils.textColor('#ffffff'); // '#000000' (black text on white)
|
|
162
|
+
*/
|
|
163
|
+
static textColor(backgroundColor: string): string;
|
|
164
|
+
/**
|
|
165
|
+
* Check if contrast meets WCAG AA standard (4.5:1 for normal text)
|
|
166
|
+
*/
|
|
167
|
+
static meetsContrastAA(color1: string, color2: string, largeText?: boolean): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Check if contrast meets WCAG AAA standard (7:1 for normal text)
|
|
170
|
+
*/
|
|
171
|
+
static meetsContrastAAA(color1: string, color2: string, largeText?: boolean): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Generate a random hex color
|
|
174
|
+
* @example
|
|
175
|
+
* ColorUtils.random(); // '#a3f2b1' (random)
|
|
176
|
+
*/
|
|
177
|
+
static random(): string;
|
|
178
|
+
/**
|
|
179
|
+
* Generate a random color with specific lightness
|
|
180
|
+
*/
|
|
181
|
+
static randomWithLightness(lightness: number): string;
|
|
182
|
+
/**
|
|
183
|
+
* Generate a color palette from a base color
|
|
184
|
+
* @example
|
|
185
|
+
* ColorUtils.palette('#ff5733', 5); // Array of 5 harmonious colors
|
|
186
|
+
*/
|
|
187
|
+
static palette(baseColor: string, count?: number): string[];
|
|
188
|
+
/**
|
|
189
|
+
* Generate complementary color palette
|
|
190
|
+
*/
|
|
191
|
+
static complementaryPalette(baseColor: string): string[];
|
|
192
|
+
/**
|
|
193
|
+
* Generate triadic color palette
|
|
194
|
+
*/
|
|
195
|
+
static triadicPalette(baseColor: string): string[];
|
|
196
|
+
/**
|
|
197
|
+
* Generate analogous color palette
|
|
198
|
+
*/
|
|
199
|
+
static analogousPalette(baseColor: string, angle?: number): string[];
|
|
200
|
+
/**
|
|
201
|
+
* Generate a gradient of colors between two colors
|
|
202
|
+
* @example
|
|
203
|
+
* ColorUtils.gradient('#ff0000', '#0000ff', 5); // Red to blue in 5 steps
|
|
204
|
+
*/
|
|
205
|
+
static gradient(startColor: string, endColor: string, steps: number): string[];
|
|
206
|
+
/**
|
|
207
|
+
* Generate shades (darker variations) of a color
|
|
208
|
+
*/
|
|
209
|
+
static shades(baseColor: string, count?: number): string[];
|
|
210
|
+
/**
|
|
211
|
+
* Generate tints (lighter variations) of a color
|
|
212
|
+
*/
|
|
213
|
+
static tints(baseColor: string, count?: number): string[];
|
|
214
|
+
/**
|
|
215
|
+
* Parse any color format to hex
|
|
216
|
+
* @example
|
|
217
|
+
* ColorUtils.parse('rgb(255, 87, 51)'); // '#ff5733'
|
|
218
|
+
* ColorUtils.parse('hsl(11, 100%, 60%)'); // '#ff5733'
|
|
219
|
+
* ColorUtils.parse('#ff5733'); // '#ff5733'
|
|
220
|
+
*/
|
|
221
|
+
static parse(color: string): string | null;
|
|
222
|
+
/**
|
|
223
|
+
* Format color as CSS rgb() string
|
|
224
|
+
*/
|
|
225
|
+
static toCssRgb(color: string): string | null;
|
|
226
|
+
/**
|
|
227
|
+
* Format color as CSS hsl() string
|
|
228
|
+
*/
|
|
229
|
+
static toCssHsl(color: string): string | null;
|
|
230
|
+
/**
|
|
231
|
+
* Check if a string is a valid hex color
|
|
232
|
+
*/
|
|
233
|
+
static isValidHex(color: string): boolean;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=ColorUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/ColorUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,GAAG;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,IAAK,SAAQ,GAAG;IAC7B,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,IAAK,SAAQ,GAAG;IAC7B,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO;IAIP;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IA+BxC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA+B1C;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAuBrE;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACZ,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,GACX,MAAM;IA8BT;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG;IAiDlE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG;IAiDlE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAMxC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAOrE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAQtD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAQrD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAQvD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAQzD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQxC;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOpC;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM;IAavE;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAUxD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAYvC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAQvD;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAItC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAIjD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO;IAK3F;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO;IAO5F;;;;OAIG;IACH,MAAM,CAAC,MAAM,IAAI,MAAM;IAOvB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMrD;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAe9D;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAWlD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,EAAE;IAWxE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAS9E;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAW7D;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAa5D;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqD1C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM7C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAG5C"}
|