@selfcommunity/utils 0.1.7 → 0.1.8-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{types → cjs}/index.d.ts +2 -2
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +35 -50
- package/lib/cjs/index.js.map +1 -0
- package/lib/{types → cjs}/utils/browser.d.ts +0 -0
- package/lib/{types → cjs}/utils/browser.d.ts.map +0 -0
- package/lib/cjs/utils/browser.js +62 -78
- package/lib/cjs/utils/browser.js.map +1 -0
- package/lib/{types → cjs}/utils/logger.d.ts +0 -0
- package/lib/{types → cjs}/utils/logger.d.ts.map +0 -0
- package/lib/cjs/utils/logger.js +18 -25
- package/lib/cjs/utils/logger.js.map +1 -0
- package/lib/{types → cjs}/utils/object.d.ts +0 -0
- package/lib/{types → cjs}/utils/object.d.ts.map +0 -0
- package/lib/cjs/utils/object.js +23 -29
- package/lib/cjs/utils/object.js.map +1 -0
- package/lib/{types → cjs}/utils/string.d.ts +0 -0
- package/lib/{types → cjs}/utils/string.d.ts.map +0 -0
- package/lib/cjs/utils/string.js +56 -65
- package/lib/cjs/utils/string.js.map +1 -0
- package/lib/{types → cjs}/utils/url.d.ts +0 -0
- package/lib/{types → cjs}/utils/url.d.ts.map +0 -0
- package/lib/cjs/utils/url.js +52 -77
- package/lib/cjs/utils/url.js.map +1 -0
- package/lib/{types → cjs}/utils/websocket.d.ts +0 -0
- package/lib/{types → cjs}/utils/websocket.d.ts.map +0 -0
- package/lib/cjs/utils/websocket.js +221 -284
- package/lib/cjs/utils/websocket.js.map +1 -0
- package/lib/cjs/utils/window.d.ts +5 -0
- package/lib/cjs/utils/window.d.ts.map +1 -0
- package/lib/cjs/utils/window.js +34 -32
- package/lib/cjs/utils/window.js.map +1 -0
- package/lib/esm/index.d.ts +12 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +12 -51
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/utils/browser.d.ts +9 -0
- package/lib/esm/utils/browser.d.ts.map +1 -0
- package/lib/esm/utils/browser.js +61 -81
- package/lib/esm/utils/browser.js.map +1 -0
- package/lib/esm/utils/logger.d.ts +11 -0
- package/lib/esm/utils/logger.d.ts.map +1 -0
- package/lib/esm/utils/logger.js +17 -28
- package/lib/esm/utils/logger.js.map +1 -0
- package/lib/esm/utils/object.d.ts +13 -0
- package/lib/esm/utils/object.d.ts.map +1 -0
- package/lib/esm/utils/object.js +21 -32
- package/lib/esm/utils/object.js.map +1 -0
- package/lib/esm/utils/string.d.ts +43 -0
- package/lib/esm/utils/string.d.ts.map +1 -0
- package/lib/esm/utils/string.js +54 -73
- package/lib/esm/utils/string.js.map +1 -0
- package/lib/esm/utils/url.d.ts +33 -0
- package/lib/esm/utils/url.d.ts.map +1 -0
- package/lib/esm/utils/url.js +46 -80
- package/lib/esm/utils/url.js.map +1 -0
- package/lib/esm/utils/websocket.d.ts +177 -0
- package/lib/esm/utils/websocket.d.ts.map +1 -0
- package/lib/esm/utils/websocket.js +220 -286
- package/lib/esm/utils/websocket.js.map +1 -0
- package/lib/esm/utils/window.d.ts +5 -0
- package/lib/esm/utils/window.d.ts.map +1 -0
- package/lib/esm/utils/window.js +31 -36
- package/lib/esm/utils/window.js.map +1 -0
- package/lib/umd/utils.js +1 -1
- package/lib/umd/utils.js.map +1 -1
- package/package.json +5 -7
- package/lib/cjs/index.d.js +0 -2
- package/lib/esm/index.d.js +0 -2
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility Url Replacer
|
|
3
|
+
* @param path
|
|
4
|
+
*/
|
|
5
|
+
export declare const urlReplacer: (path: string) => (params: object) => any;
|
|
6
|
+
/**
|
|
7
|
+
* Get domain
|
|
8
|
+
* @param url
|
|
9
|
+
*/
|
|
10
|
+
export declare const getDomain: (url: string) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Check a str is a valid url pattern
|
|
13
|
+
* @param url
|
|
14
|
+
*/
|
|
15
|
+
export declare const isValidUrl: (url: string) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Check a str is a valid list of urls separated by delimiter
|
|
18
|
+
* @param value
|
|
19
|
+
* @param delimiter
|
|
20
|
+
*/
|
|
21
|
+
export declare const isValidUrls: (value: string, delimiter: string) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Append params
|
|
24
|
+
* @param baseUrl
|
|
25
|
+
* @param queryParams
|
|
26
|
+
*/
|
|
27
|
+
export declare function appendURLSearchParams(baseUrl: string, queryParams: Record<string, string | number>[]): string;
|
|
28
|
+
/**
|
|
29
|
+
* Take the application server's public key, which is Base64 URL-safe encoded,
|
|
30
|
+
* and convert it to a UInt8Array, because this is the expected input of the subscribe()
|
|
31
|
+
*/
|
|
32
|
+
export declare const urlB64ToUint8Array: (base64String: any) => Uint8Array;
|
|
33
|
+
//# sourceMappingURL=url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,cAWtB,MAAM,QACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAOvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,OAGxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,aAAa,MAAM,KAAG,OAG9D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,UAWpG;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,mCAW9B,CAAC"}
|
package/lib/esm/utils/url.js
CHANGED
|
@@ -1,112 +1,78 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.appendURLSearchParams = appendURLSearchParams;
|
|
5
|
-
exports.urlReplacer = exports.urlB64ToUint8Array = exports.isValidUrls = exports.isValidUrl = exports.getDomain = void 0;
|
|
6
|
-
|
|
7
1
|
/**
|
|
8
2
|
* Utility Url Replacer
|
|
9
3
|
* @param path
|
|
10
4
|
*/
|
|
11
|
-
const urlReplacer = path => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
return params => replacer(path, params);
|
|
5
|
+
export const urlReplacer = (path) => {
|
|
6
|
+
const replacer = function (tpl, data) {
|
|
7
|
+
const re = /\$\(([^)]+)?\)/g;
|
|
8
|
+
let match = re.exec(tpl);
|
|
9
|
+
while (match) {
|
|
10
|
+
tpl = tpl.replace(match[0], data[match[1]]);
|
|
11
|
+
re.lastIndex = 0;
|
|
12
|
+
match = re.exec(tpl);
|
|
13
|
+
}
|
|
14
|
+
return tpl;
|
|
15
|
+
};
|
|
16
|
+
return (params) => replacer(path, params);
|
|
26
17
|
};
|
|
27
18
|
/**
|
|
28
19
|
* Get domain
|
|
29
20
|
* @param url
|
|
30
21
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (matches && matches[1]) {
|
|
40
|
-
return matches[1];
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return '';
|
|
22
|
+
export const getDomain = (url) => {
|
|
23
|
+
// eslint-disable-next-line no-useless-escape,@typescript-eslint/prefer-regexp-exec
|
|
24
|
+
const matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
|
|
25
|
+
if (matches && matches[1]) {
|
|
26
|
+
return matches[1];
|
|
27
|
+
}
|
|
28
|
+
return '';
|
|
44
29
|
};
|
|
45
30
|
/**
|
|
46
31
|
* Check a str is a valid url pattern
|
|
47
32
|
* @param url
|
|
48
33
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const isValidUrl = url => {
|
|
54
|
-
const regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?/;
|
|
55
|
-
return regexp.test(url);
|
|
34
|
+
export const isValidUrl = (url) => {
|
|
35
|
+
const regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?/;
|
|
36
|
+
return regexp.test(url);
|
|
56
37
|
};
|
|
57
38
|
/**
|
|
58
39
|
* Check a str is a valid list of urls separated by delimiter
|
|
59
40
|
* @param value
|
|
60
41
|
* @param delimiter
|
|
61
42
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const isValidUrls = (value, delimiter) => {
|
|
67
|
-
const urls = value.trim().split(delimiter);
|
|
68
|
-
return urls.every(isValidUrl);
|
|
43
|
+
export const isValidUrls = (value, delimiter) => {
|
|
44
|
+
const urls = value.trim().split(delimiter);
|
|
45
|
+
return urls.every(isValidUrl);
|
|
69
46
|
};
|
|
70
47
|
/**
|
|
71
48
|
* Append params
|
|
72
49
|
* @param baseUrl
|
|
73
50
|
* @param queryParams
|
|
74
51
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const key = Object.keys(p)[0];
|
|
87
|
-
_url += `&${key}=${p[key]}`;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return _url;
|
|
52
|
+
export function appendURLSearchParams(baseUrl, queryParams) {
|
|
53
|
+
let _url = baseUrl;
|
|
54
|
+
if (queryParams.length && _url) {
|
|
55
|
+
const key = Object.keys(queryParams[0])[0];
|
|
56
|
+
_url += (_url.split('?')[1] ? '&' : '?') + `${key}=${queryParams[0][key]}`;
|
|
57
|
+
queryParams.slice(1).map((p) => {
|
|
58
|
+
const key = Object.keys(p)[0];
|
|
59
|
+
_url += `&${key}=${p[key]}`;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return _url;
|
|
92
63
|
}
|
|
93
64
|
/**
|
|
94
65
|
* Take the application server's public key, which is Base64 URL-safe encoded,
|
|
95
66
|
* and convert it to a UInt8Array, because this is the expected input of the subscribe()
|
|
96
67
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
outputArray[i] = rawData.charCodeAt(i);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return outputArray;
|
|
68
|
+
export const urlB64ToUint8Array = (base64String) => {
|
|
69
|
+
const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
|
|
70
|
+
const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
|
|
71
|
+
const rawData = window.atob(base64);
|
|
72
|
+
const outputArray = new Uint8Array(rawData.length);
|
|
73
|
+
for (let i = 0; i < rawData.length; ++i) {
|
|
74
|
+
outputArray[i] = rawData.charCodeAt(i);
|
|
75
|
+
}
|
|
76
|
+
return outputArray;
|
|
110
77
|
};
|
|
111
|
-
|
|
112
|
-
exports.urlB64ToUint8Array = urlB64ToUint8Array;
|
|
78
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WSClientPropTypes interface
|
|
3
|
+
*/
|
|
4
|
+
export interface WSClientPropTypes {
|
|
5
|
+
/**
|
|
6
|
+
* The Websocket URI
|
|
7
|
+
*/
|
|
8
|
+
uri: string;
|
|
9
|
+
/**
|
|
10
|
+
* The Websocket Protocols
|
|
11
|
+
*/
|
|
12
|
+
protocols: string | string[];
|
|
13
|
+
/**
|
|
14
|
+
* String to identify the heartbeat message.
|
|
15
|
+
*/
|
|
16
|
+
heartbeatMsg?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Reconnect the websocket if close
|
|
19
|
+
*/
|
|
20
|
+
mustReconnect?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Callback called after the websocket is connected.
|
|
23
|
+
*/
|
|
24
|
+
connected?: () => any;
|
|
25
|
+
/**
|
|
26
|
+
* Callback called when the websocket is connecting.
|
|
27
|
+
*/
|
|
28
|
+
connecting?: () => any;
|
|
29
|
+
/**
|
|
30
|
+
* Callback called after the websocket is disconnected.
|
|
31
|
+
*/
|
|
32
|
+
disconnected?: (evt: any) => any;
|
|
33
|
+
/**
|
|
34
|
+
* Callback called when a message is received from the websocket.
|
|
35
|
+
*/
|
|
36
|
+
receiveMessage?: (data: any) => any;
|
|
37
|
+
/**
|
|
38
|
+
* Enable/disable debug
|
|
39
|
+
*/
|
|
40
|
+
debug?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface WSClientType {
|
|
43
|
+
/**
|
|
44
|
+
* Send message
|
|
45
|
+
* @param message
|
|
46
|
+
*/
|
|
47
|
+
sendMessage: (message: any) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Get current state
|
|
50
|
+
*/
|
|
51
|
+
getState: () => string;
|
|
52
|
+
/**
|
|
53
|
+
* Get current connection state
|
|
54
|
+
*/
|
|
55
|
+
isConnecting: () => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Check if ws is connected
|
|
58
|
+
*/
|
|
59
|
+
isConnected: () => boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if ws is closing connection
|
|
62
|
+
*/
|
|
63
|
+
isClosing: () => boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Return if ws is closed
|
|
66
|
+
*/
|
|
67
|
+
isClosed: () => boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Close the connection
|
|
70
|
+
*/
|
|
71
|
+
close: () => void;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* WSClient: manage socket connection
|
|
75
|
+
* @param options
|
|
76
|
+
* @constructor
|
|
77
|
+
*/
|
|
78
|
+
export default class WSClient implements WSClientType {
|
|
79
|
+
private static _instance;
|
|
80
|
+
private _cfg;
|
|
81
|
+
private _ws;
|
|
82
|
+
private _timer;
|
|
83
|
+
private _attempts;
|
|
84
|
+
private _heartbeatInterval;
|
|
85
|
+
private _missedHeartbeats;
|
|
86
|
+
/**
|
|
87
|
+
* Constructor
|
|
88
|
+
* @param cfg
|
|
89
|
+
*/
|
|
90
|
+
constructor(cfg: WSClientPropTypes);
|
|
91
|
+
/**
|
|
92
|
+
* Get instance
|
|
93
|
+
*/
|
|
94
|
+
static getInstance(cfg: any): WSClient;
|
|
95
|
+
/**
|
|
96
|
+
* Connect
|
|
97
|
+
*/
|
|
98
|
+
connect(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Validate options
|
|
101
|
+
* @param cfg
|
|
102
|
+
*/
|
|
103
|
+
isValidOptions(cfg: WSClientPropTypes): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Try to reconnect if previous connection failed
|
|
106
|
+
* Generate an interval, after that try to reconnect
|
|
107
|
+
*/
|
|
108
|
+
tryToReconnect(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Reestablish the connection
|
|
111
|
+
* Increase the number of attempts
|
|
112
|
+
*/
|
|
113
|
+
reconnect(): void;
|
|
114
|
+
/**
|
|
115
|
+
* Send heartbeat every 5 seconds
|
|
116
|
+
* If missing more than 3 heartbeats close connection
|
|
117
|
+
*/
|
|
118
|
+
sendHeartbeat(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Established the new connection
|
|
121
|
+
* Reset this._attempts counter
|
|
122
|
+
*/
|
|
123
|
+
onOpen(): void;
|
|
124
|
+
/**
|
|
125
|
+
* Connection closed. Try to reconnect.
|
|
126
|
+
* @param evt
|
|
127
|
+
*/
|
|
128
|
+
onClose(evt: any): void;
|
|
129
|
+
/**
|
|
130
|
+
* An error occured
|
|
131
|
+
* @param evt
|
|
132
|
+
*/
|
|
133
|
+
onError(evt: any): void;
|
|
134
|
+
/**
|
|
135
|
+
* A message has arrived.
|
|
136
|
+
* If it is the heartbeat -> reset this._missedHeartbeats
|
|
137
|
+
* If it is data pass data to the callback
|
|
138
|
+
* @param evt
|
|
139
|
+
*/
|
|
140
|
+
onMessage(evt: any): any;
|
|
141
|
+
/**
|
|
142
|
+
* Generate an interval that is randomly between 0 and 2^k - 1, where k is
|
|
143
|
+
* the number of connection attmpts, with a maximum interval of 30 seconds,
|
|
144
|
+
* so it starts at 0 - 1 seconds and maxes out at 0 - 30 seconds
|
|
145
|
+
*/
|
|
146
|
+
generateInteval(k: any): number;
|
|
147
|
+
/**
|
|
148
|
+
* Send message
|
|
149
|
+
* @param message
|
|
150
|
+
*/
|
|
151
|
+
sendMessage(message: any): void;
|
|
152
|
+
/**
|
|
153
|
+
* Get the ws state
|
|
154
|
+
*/
|
|
155
|
+
getState(): any;
|
|
156
|
+
/**
|
|
157
|
+
* Check if ws is in connecting state
|
|
158
|
+
*/
|
|
159
|
+
isConnecting(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Check if ws is connected
|
|
162
|
+
*/
|
|
163
|
+
isConnected(): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Check if ws is in closing state
|
|
166
|
+
*/
|
|
167
|
+
isClosing(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Check if ws is closed
|
|
170
|
+
*/
|
|
171
|
+
isClosed(): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Close the connection
|
|
174
|
+
*/
|
|
175
|
+
close(): void;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/utils/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,GAAG,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAE/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,KAAA,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,YAAY;IACnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC;IACb,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;OAGG;gBACS,GAAG,EAAE,iBAAiB;IAQlC;;OAEG;WACW,WAAW,CAAC,GAAG,KAAA,GAAG,QAAQ;IAKxC;;OAEG;IACH,OAAO;IAyBP;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,iBAAiB;IAqCrC;;;OAGG;IACH,cAAc;IAQd;;;OAGG;IACH,SAAS;IAKT;;;OAGG;IACH,aAAa;IAeb;;;OAGG;IACH,MAAM;IAUN;;;OAGG;IACH,OAAO,CAAC,GAAG,KAAA;IAMX;;;OAGG;IACH,OAAO,CAAC,GAAG,KAAA;IAKX;;;;;OAKG;IACH,SAAS,CAAC,GAAG,KAAA;IASb;;;;OAIG;IACH,eAAe,CAAC,CAAC,KAAA;IAUjB;;;OAGG;IACI,WAAW,CAAC,OAAO,KAAA;IAI1B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,YAAY;IAInB;;OAEG;IACI,WAAW;IAIlB;;OAEG;IACI,SAAS;IAIhB;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,KAAK;CAQb"}
|