@nstudio/nativescript-loading-indicator 3.0.4 → 4.1.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/LICENSE +0 -0
- package/README.md +18 -34
- package/common.d.ts +83 -0
- package/{loading-indicator.common.js → common.js} +3 -5
- package/common.js.map +1 -0
- package/{loading-indicator.android.d.ts → index.android.d.ts} +5 -2
- package/index.android.js +547 -0
- package/index.android.js.map +1 -0
- package/index.d.ts +103 -102
- package/{loading-indicator.ios.d.ts → index.ios.d.ts} +2 -2
- package/{loading-indicator.ios.js → index.ios.js} +32 -33
- package/index.ios.js.map +1 -0
- package/package.json +16 -62
- package/platforms/android/AndroidManifest.xml +2 -0
- package/platforms/android/nativescript_loading_indicator.aar +0 -0
- package/platforms/android/res/drawable/circle_shape.xml +6 -0
- package/platforms/android/res/drawable/circular_progress_bar.xml +18 -0
- package/platforms/android/res/drawable/circular_progress_bar_thick.xml +18 -0
- package/loading-indicator.android.js +0 -531
- package/loading-indicator.common.d.ts +0 -38
- package/references.d.ts +0 -3
- package/typings/objc!MBProgressHUD.d.ts +0 -240
package/index.android.js
ADDED
@@ -0,0 +1,547 @@
|
|
1
|
+
import { Application, Color, Frame, ImageSource, Screen } from '@nativescript/core';
|
2
|
+
import { Mode } from './common';
|
3
|
+
export * from './common';
|
4
|
+
const R_ATTR_PROGRESS_BAR_STYLE_HORIZONTAL = 0x01010078;
|
5
|
+
const PACKAGE = 'com.github.triniwiz.ns.loading.indicator';
|
6
|
+
const ViewCompatNamespace = useAndroidX() ? androidx.core.view : android.support.v4.view;
|
7
|
+
function useAndroidX() {
|
8
|
+
return global.androidx && global.androidx.core.view;
|
9
|
+
}
|
10
|
+
const HIDE_RETRY_MS = 100;
|
11
|
+
export class LoadingIndicator {
|
12
|
+
constructor() {
|
13
|
+
this._defaultProgressColor = new Color('#007DD6');
|
14
|
+
this._progressId = android.view.View.generateViewId();
|
15
|
+
this._messageId = android.view.View.generateViewId();
|
16
|
+
this._detailsId = android.view.View.generateViewId();
|
17
|
+
this._customViewId = android.view.View.generateViewId();
|
18
|
+
this._loadersInstances = [];
|
19
|
+
this._isCreatingPopOver = false;
|
20
|
+
}
|
21
|
+
show(options) {
|
22
|
+
const context = Application.android.foregroundActivity || Application.android.startActivity;
|
23
|
+
if (context) {
|
24
|
+
options = options || {};
|
25
|
+
options.android = options.android || {};
|
26
|
+
options.userInteractionEnabled = options.userInteractionEnabled !== undefined;
|
27
|
+
if (!this._popOver) {
|
28
|
+
this._isCreatingPopOver = true;
|
29
|
+
new Promise((resolve) => {
|
30
|
+
this._createPopOver(context, options);
|
31
|
+
this._loadersInstances.push(this._popOver);
|
32
|
+
resolve();
|
33
|
+
})
|
34
|
+
.then(() => {
|
35
|
+
this._isCreatingPopOver = false;
|
36
|
+
})
|
37
|
+
.catch((error) => {
|
38
|
+
// Ensure this is left in a clean state.
|
39
|
+
this._isCreatingPopOver = false;
|
40
|
+
const message = error && error.message ? `: ${error.message}` : '';
|
41
|
+
console.error(`Error creating Loading Indicator Pop Over${message}`);
|
42
|
+
});
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
this._updatePopOver(context, options);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
hide(targetView, attemptTimeout = 1000) {
|
49
|
+
if (this._isCreatingPopOver) {
|
50
|
+
this._waitForCreatePopOver(attemptTimeout);
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
this._tryHide();
|
54
|
+
}
|
55
|
+
_tryHide() {
|
56
|
+
try {
|
57
|
+
for (let i = 0; i < this._loadersInstances.length; i++) {
|
58
|
+
const loader = this._loadersInstances[i];
|
59
|
+
if (loader) {
|
60
|
+
if (this._isShowing(loader)) {
|
61
|
+
loader.dismiss();
|
62
|
+
this._loadersInstances.splice(i, 1);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
this._popOver = null;
|
67
|
+
this._currentProgressColor = null;
|
68
|
+
}
|
69
|
+
catch (e) {
|
70
|
+
console.log(e);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
_waitForCreatePopOver(attemptTimeout) {
|
74
|
+
const startTime = Date.now();
|
75
|
+
const awaitCreation = async () => {
|
76
|
+
if (!this._isCreatingPopOver) {
|
77
|
+
return this._tryHide();
|
78
|
+
}
|
79
|
+
if (Date.now() > startTime + attemptTimeout) {
|
80
|
+
console.warn('Hide attempt timeout exceeded');
|
81
|
+
return;
|
82
|
+
}
|
83
|
+
await new Promise((resolve) => setTimeout(resolve, HIDE_RETRY_MS));
|
84
|
+
return awaitCreation();
|
85
|
+
};
|
86
|
+
return awaitCreation();
|
87
|
+
}
|
88
|
+
_isShowing(loader) {
|
89
|
+
return loader.isShowing();
|
90
|
+
}
|
91
|
+
_createPopOver(context, options) {
|
92
|
+
this._popOver = new android.widget.PopupWindow();
|
93
|
+
const ref = new WeakRef(this);
|
94
|
+
this._popOver.setTouchable(options.userInteractionEnabled);
|
95
|
+
const contentView = new android.widget.LinearLayout(context);
|
96
|
+
const defaultTextColor = new Color(options.color || '#000');
|
97
|
+
const defaultTextNativeColor = defaultTextColor.android ? defaultTextColor.android : android.graphics.Color.BLACK;
|
98
|
+
const defaultDetailsNativeColor = new Color(255 * 0.8, defaultTextColor.r, defaultTextColor.g, defaultTextColor.b).android;
|
99
|
+
contentView.setOnTouchListener(new android.view.View.OnTouchListener({
|
100
|
+
onTouch(view, event) {
|
101
|
+
const cancelListener = options.android.cancelListener;
|
102
|
+
const cancelable = options.android.cancelable;
|
103
|
+
const owner = ref.get();
|
104
|
+
if (cancelListener && typeof cancelListener === 'function') {
|
105
|
+
if (owner && cancelable) {
|
106
|
+
owner._popOver.dismiss();
|
107
|
+
cancelListener(owner._popOver);
|
108
|
+
owner._popOver = null;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
return true;
|
112
|
+
},
|
113
|
+
}));
|
114
|
+
const defaultBackgroundColor = android.graphics.Color.WHITE;
|
115
|
+
// handle dimming background option
|
116
|
+
contentView.setBackgroundColor(options.dimBackground ? new Color(255 * 0.6, 0, 0, 0).android : android.graphics.Color.TRANSPARENT);
|
117
|
+
contentView.setGravity(android.view.Gravity.CENTER);
|
118
|
+
contentView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.FILL_PARENT));
|
119
|
+
const parentView = new android.widget.LinearLayout(context);
|
120
|
+
parentView.setOnTouchListener(new android.view.View.OnTouchListener({
|
121
|
+
onTouch(view, event) {
|
122
|
+
return true;
|
123
|
+
},
|
124
|
+
}));
|
125
|
+
// Use the ViewCompatNamespace to properly map to `ViewCompat` for AndroidX and support lib versions to avoid breaking change
|
126
|
+
ViewCompatNamespace.ViewCompat.setElevation(parentView, 9.0);
|
127
|
+
const params = parentView.getLayoutParams();
|
128
|
+
const parentViewParams = params ? params : new android.widget.LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
|
129
|
+
const defaultPadding = 10 * Screen.mainScreen.scale;
|
130
|
+
parentView.setPadding(defaultPadding, defaultPadding, defaultPadding, defaultPadding);
|
131
|
+
// handle margin option
|
132
|
+
if (options.margin !== undefined) {
|
133
|
+
const margin = options.margin * Screen.mainScreen.scale;
|
134
|
+
parentViewParams.setMargins(margin, margin, margin, margin);
|
135
|
+
}
|
136
|
+
parentView.setLayoutParams(parentViewParams);
|
137
|
+
const backgroundColor = options.backgroundColor ? new Color(options.backgroundColor).android : defaultBackgroundColor;
|
138
|
+
// handle hideBezel option
|
139
|
+
if (options.hideBezel) {
|
140
|
+
parentView.setBackgroundColor(android.graphics.Color.TRANSPARENT);
|
141
|
+
}
|
142
|
+
else {
|
143
|
+
const border = new android.graphics.drawable.ShapeDrawable();
|
144
|
+
border.getPaint().setColor(backgroundColor);
|
145
|
+
const cornerRadiusValue = 8;
|
146
|
+
const cornerRadius = Array.create('float', 8);
|
147
|
+
cornerRadius[0] = cornerRadiusValue;
|
148
|
+
cornerRadius[1] = cornerRadiusValue;
|
149
|
+
cornerRadius[2] = cornerRadiusValue;
|
150
|
+
cornerRadius[3] = cornerRadiusValue;
|
151
|
+
cornerRadius[4] = cornerRadiusValue;
|
152
|
+
cornerRadius[5] = cornerRadiusValue;
|
153
|
+
cornerRadius[6] = cornerRadiusValue;
|
154
|
+
cornerRadius[7] = cornerRadiusValue;
|
155
|
+
const shape = new android.graphics.drawable.shapes.RoundRectShape(cornerRadius, null, null);
|
156
|
+
border.setShape(shape);
|
157
|
+
parentView.setBackgroundDrawable(border);
|
158
|
+
}
|
159
|
+
parentView.setGravity(android.view.Gravity.CENTER);
|
160
|
+
parentView.setOrientation(android.widget.LinearLayout.VERTICAL);
|
161
|
+
let progressView;
|
162
|
+
const customOrText = options.mode === Mode.CustomView || options.mode === Mode.Text;
|
163
|
+
if (!customOrText) {
|
164
|
+
const determinate = options.progress !== undefined || options.mode === Mode.Determinate || options.mode === Mode.DeterminateHorizontalBar || options.mode === Mode.AnnularDeterminate;
|
165
|
+
if (determinate) {
|
166
|
+
progressView = new android.widget.ProgressBar(context, null, R_ATTR_PROGRESS_BAR_STYLE_HORIZONTAL);
|
167
|
+
}
|
168
|
+
else {
|
169
|
+
progressView = new android.widget.ProgressBar(context);
|
170
|
+
}
|
171
|
+
progressView.setId(this._progressId);
|
172
|
+
parentView.addView(progressView);
|
173
|
+
}
|
174
|
+
// handle customView option
|
175
|
+
if (options.mode === Mode.CustomView) {
|
176
|
+
if (options.customView) {
|
177
|
+
const customView = this._createCustomView(context, options);
|
178
|
+
if (customView) {
|
179
|
+
parentView.addView(customView);
|
180
|
+
}
|
181
|
+
}
|
182
|
+
}
|
183
|
+
if (options.message) {
|
184
|
+
const messageView = new android.widget.TextView(context);
|
185
|
+
messageView.setText(options.message);
|
186
|
+
messageView.setId(this._messageId);
|
187
|
+
if (options.color) {
|
188
|
+
messageView.setTextColor(defaultTextNativeColor);
|
189
|
+
}
|
190
|
+
messageView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
|
191
|
+
parentView.addView(messageView);
|
192
|
+
}
|
193
|
+
// handle details message text
|
194
|
+
if (options.details) {
|
195
|
+
const detailsView = new android.widget.TextView(context);
|
196
|
+
detailsView.setText(options.details);
|
197
|
+
detailsView.setId(this._detailsId);
|
198
|
+
detailsView.setTextColor(defaultDetailsNativeColor);
|
199
|
+
detailsView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
|
200
|
+
parentView.addView(detailsView);
|
201
|
+
}
|
202
|
+
switch (options.mode) {
|
203
|
+
case Mode.CustomView:
|
204
|
+
break;
|
205
|
+
case Mode.AnnularDeterminate:
|
206
|
+
if (!this._progressDrawable) {
|
207
|
+
this._progressDrawable = this._getProgressDrawable();
|
208
|
+
}
|
209
|
+
if (!this._backgroundDrawable) {
|
210
|
+
this._backgroundDrawable = this._getBackgroundDrawable();
|
211
|
+
}
|
212
|
+
progressView.setIndeterminate(false);
|
213
|
+
progressView.setMax(100);
|
214
|
+
progressView.setProgress(0);
|
215
|
+
if (this._progressDrawable) {
|
216
|
+
progressView.setProgressDrawable(this._progressDrawable);
|
217
|
+
}
|
218
|
+
if (this._backgroundDrawable) {
|
219
|
+
progressView.setBackgroundDrawable(this._backgroundDrawable);
|
220
|
+
}
|
221
|
+
progressView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(60 * Screen.mainScreen.scale, 60 * Screen.mainScreen.scale));
|
222
|
+
break;
|
223
|
+
case Mode.Determinate:
|
224
|
+
if (!this._backgroundDrawable) {
|
225
|
+
this._backgroundDrawable = this._getBackgroundDrawable();
|
226
|
+
}
|
227
|
+
if (!this._progressDrawableThick) {
|
228
|
+
this._progressDrawableThick = this._getProgressDrawableThick();
|
229
|
+
}
|
230
|
+
progressView.setIndeterminate(false);
|
231
|
+
progressView.setMax(100);
|
232
|
+
progressView.setProgress(0);
|
233
|
+
if (this._progressDrawableThick) {
|
234
|
+
progressView.setProgressDrawable(this._progressDrawableThick);
|
235
|
+
}
|
236
|
+
if (this._backgroundDrawable) {
|
237
|
+
progressView.setBackgroundDrawable(this._backgroundDrawable);
|
238
|
+
}
|
239
|
+
progressView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(60 * Screen.mainScreen.scale, 60 * Screen.mainScreen.scale));
|
240
|
+
break;
|
241
|
+
case Mode.DeterminateHorizontalBar:
|
242
|
+
progressView.setIndeterminate(false);
|
243
|
+
progressView.setMax(100);
|
244
|
+
progressView.setProgress(0);
|
245
|
+
break;
|
246
|
+
case Mode.Text:
|
247
|
+
break;
|
248
|
+
case Mode.Indeterminate:
|
249
|
+
progressView.setIndeterminate(true);
|
250
|
+
break;
|
251
|
+
default:
|
252
|
+
progressView.setIndeterminate(options.progress !== undefined ? false : true);
|
253
|
+
break;
|
254
|
+
}
|
255
|
+
if (options.progress !== undefined || options.mode === Mode.Determinate || options.mode === Mode.AnnularDeterminate || options.mode === Mode.DeterminateHorizontalBar || options.mode === Mode.Indeterminate || !options.mode) {
|
256
|
+
if (options.color) {
|
257
|
+
this._setColor(options.color, progressView);
|
258
|
+
this._currentProgressColor = new Color(options.color);
|
259
|
+
}
|
260
|
+
// handle background color
|
261
|
+
if (options.backgroundColor) {
|
262
|
+
this._setBackgroundColor(options.backgroundColor, progressView);
|
263
|
+
}
|
264
|
+
}
|
265
|
+
contentView.addView(parentView);
|
266
|
+
this._popOver.setContentView(contentView);
|
267
|
+
// handle anchoring target view
|
268
|
+
if (options.android && options.android.view) {
|
269
|
+
const nativeView = options.android.view;
|
270
|
+
this._popOver.setWidth(nativeView.getWidth());
|
271
|
+
this._popOver.setHeight(nativeView.getHeight());
|
272
|
+
this._popOver.showAtLocation(nativeView, android.view.Gravity.CENTER, 0, 0);
|
273
|
+
}
|
274
|
+
else if (Frame.topmost() && (Frame.topmost().android || (Frame.topmost().currentPage && Frame.topmost().currentPage.android))) {
|
275
|
+
const view = Frame.topmost().android.rootViewGroup || Frame.topmost().currentPage.android;
|
276
|
+
this._popOver.setWidth(Screen.mainScreen.widthPixels);
|
277
|
+
this._popOver.setHeight(Screen.mainScreen.heightPixels);
|
278
|
+
this._popOver.showAtLocation(view, android.view.Gravity.CENTER, 0, 0);
|
279
|
+
}
|
280
|
+
}
|
281
|
+
_updatePopOver(context, options) {
|
282
|
+
const contentView = this._popOver.getContentView();
|
283
|
+
const parentView = contentView.getChildAt(0);
|
284
|
+
let count = parentView.getChildCount();
|
285
|
+
const defaultTextColor = new Color(options.color || 'black');
|
286
|
+
const defaultTextNativeColor = defaultTextColor.android ? defaultTextColor.android : android.graphics.Color.BLACK;
|
287
|
+
const defaultDetailsNativeColor = new Color(255 * 0.8, defaultTextColor.r, defaultTextColor.g, defaultTextColor.b).android;
|
288
|
+
if (options.mode === Mode.Text) {
|
289
|
+
const progressView = parentView.getChildAt(0);
|
290
|
+
if (progressView) {
|
291
|
+
const progressViewId = progressView.getId();
|
292
|
+
if (progressViewId === this._progressId) {
|
293
|
+
parentView.removeView(progressView);
|
294
|
+
count = parentView.getChildCount();
|
295
|
+
}
|
296
|
+
}
|
297
|
+
}
|
298
|
+
if (options.mode === Mode.CustomView) {
|
299
|
+
for (let i = 0; i < count; i++) {
|
300
|
+
const view = parentView.getChildAt(i);
|
301
|
+
parentView.removeView(view);
|
302
|
+
}
|
303
|
+
const customView = this._createCustomView(context, options);
|
304
|
+
if (customView) {
|
305
|
+
parentView.addView(customView);
|
306
|
+
}
|
307
|
+
count = parentView.getChildCount();
|
308
|
+
}
|
309
|
+
if (options.progress && options.mode !== Mode.Text && options.mode !== Mode.CustomView) {
|
310
|
+
let progressView = parentView.getChildAt(0);
|
311
|
+
if (progressView) {
|
312
|
+
const progressViewId = progressView.getId();
|
313
|
+
if (progressView instanceof android.widget.ProgressBar && progressViewId === this._progressId && progressView.isIndeterminate()) {
|
314
|
+
parentView.removeView(progressView);
|
315
|
+
progressView = this._createDeterminateProgressView(context);
|
316
|
+
parentView.addView(progressView, 0);
|
317
|
+
}
|
318
|
+
if (!(progressView instanceof android.widget.ProgressBar)) {
|
319
|
+
progressView = this._createDeterminateProgressView(context);
|
320
|
+
parentView.addView(progressView, 0);
|
321
|
+
}
|
322
|
+
count = parentView.getChildCount();
|
323
|
+
if (options.color) {
|
324
|
+
this._setColor(options.color, progressView);
|
325
|
+
this._currentProgressColor = new Color(options.color);
|
326
|
+
}
|
327
|
+
// handle background color
|
328
|
+
if (options.backgroundColor) {
|
329
|
+
this._setBackgroundColor(options.backgroundColor, progressView);
|
330
|
+
}
|
331
|
+
progressView.setProgress(options.progress * 100);
|
332
|
+
}
|
333
|
+
}
|
334
|
+
if (!options.progress && options.mode !== Mode.Text && options.mode !== Mode.CustomView && options.mode === Mode.Indeterminate) {
|
335
|
+
/**
|
336
|
+
* Get the existing indicator if it exists, assess whether or not the
|
337
|
+
* acquired child is the correct class.
|
338
|
+
*/
|
339
|
+
let progressView = parentView.getChildAt(0);
|
340
|
+
if (progressView instanceof android.widget.ProgressBar === false || progressView === undefined) {
|
341
|
+
progressView = new android.widget.ProgressBar(context);
|
342
|
+
}
|
343
|
+
if (options.color) {
|
344
|
+
this._setColor(options.color, progressView);
|
345
|
+
this._currentProgressColor = new Color(options.color);
|
346
|
+
}
|
347
|
+
// handle background color
|
348
|
+
if (options.backgroundColor) {
|
349
|
+
this._setBackgroundColor(options.backgroundColor, progressView);
|
350
|
+
}
|
351
|
+
count = parentView.getChildCount();
|
352
|
+
}
|
353
|
+
if (options.message) {
|
354
|
+
let messageView;
|
355
|
+
let view;
|
356
|
+
const firstView = parentView.getChildAt(0);
|
357
|
+
switch (count) {
|
358
|
+
case 1:
|
359
|
+
if (firstView) {
|
360
|
+
if (firstView.getId() === this._messageId) {
|
361
|
+
firstView.setTextColor(defaultTextNativeColor);
|
362
|
+
firstView.setText(options.message);
|
363
|
+
}
|
364
|
+
else {
|
365
|
+
messageView = new android.widget.TextView(context);
|
366
|
+
messageView.setId(this._messageId);
|
367
|
+
messageView.setText(options.message);
|
368
|
+
messageView.setTextColor(defaultTextNativeColor);
|
369
|
+
messageView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
|
370
|
+
parentView.addView(messageView);
|
371
|
+
}
|
372
|
+
}
|
373
|
+
break;
|
374
|
+
case 2:
|
375
|
+
view = parentView.getChildAt(1);
|
376
|
+
const viewId = view.getId();
|
377
|
+
if (viewId === this._messageId) {
|
378
|
+
if (view) {
|
379
|
+
view.setText(options.message);
|
380
|
+
view.setTextColor(defaultTextNativeColor);
|
381
|
+
}
|
382
|
+
}
|
383
|
+
else if (viewId === this._detailsId) {
|
384
|
+
messageView = new android.widget.TextView(context);
|
385
|
+
messageView.setId(this._messageId);
|
386
|
+
messageView.setText(options.message);
|
387
|
+
messageView.setTextColor(defaultTextNativeColor);
|
388
|
+
messageView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
|
389
|
+
parentView.addView(messageView, 1);
|
390
|
+
}
|
391
|
+
break;
|
392
|
+
case 3:
|
393
|
+
view = parentView.getChildAt(2);
|
394
|
+
if (view) {
|
395
|
+
view.setTextColor(defaultTextNativeColor);
|
396
|
+
view.setText(options.message);
|
397
|
+
}
|
398
|
+
break;
|
399
|
+
default:
|
400
|
+
break;
|
401
|
+
}
|
402
|
+
count = parentView.getChildCount();
|
403
|
+
}
|
404
|
+
// handle details message text
|
405
|
+
if (options.details) {
|
406
|
+
let detailsView;
|
407
|
+
switch (count) {
|
408
|
+
case 1:
|
409
|
+
const firstView = parentView.getChildAt(0);
|
410
|
+
if (firstView === this._detailsId) {
|
411
|
+
if (firstView) {
|
412
|
+
firstView.setTextColor(defaultDetailsNativeColor);
|
413
|
+
firstView.setText(options.details);
|
414
|
+
}
|
415
|
+
}
|
416
|
+
else {
|
417
|
+
detailsView = new android.widget.TextView(context);
|
418
|
+
detailsView.setId(this._detailsId);
|
419
|
+
detailsView.setTextColor(defaultDetailsNativeColor);
|
420
|
+
detailsView.setText(options.details);
|
421
|
+
detailsView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
|
422
|
+
parentView.addView(detailsView);
|
423
|
+
}
|
424
|
+
break;
|
425
|
+
case 2:
|
426
|
+
detailsView = parentView.getChildAt(1);
|
427
|
+
if (detailsView) {
|
428
|
+
const detailsViewId = detailsView.getId();
|
429
|
+
if (detailsViewId === this._detailsId) {
|
430
|
+
detailsView.setTextColor(defaultDetailsNativeColor);
|
431
|
+
detailsView.setText(options.details);
|
432
|
+
}
|
433
|
+
else if (detailsViewId === this._messageId) {
|
434
|
+
detailsView = new android.widget.TextView(context);
|
435
|
+
detailsView.setId(this._detailsId);
|
436
|
+
detailsView.setTextColor(defaultDetailsNativeColor);
|
437
|
+
detailsView.setText(options.details);
|
438
|
+
detailsView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
|
439
|
+
parentView.addView(detailsView, 2);
|
440
|
+
}
|
441
|
+
}
|
442
|
+
break;
|
443
|
+
case 3:
|
444
|
+
detailsView = parentView.getChildAt(2);
|
445
|
+
if (detailsView) {
|
446
|
+
detailsView.setTextColor(defaultDetailsNativeColor);
|
447
|
+
detailsView.setText(options.details);
|
448
|
+
}
|
449
|
+
break;
|
450
|
+
default:
|
451
|
+
break;
|
452
|
+
}
|
453
|
+
}
|
454
|
+
this._popOver.update();
|
455
|
+
}
|
456
|
+
_createCustomView(context, options) {
|
457
|
+
let customView;
|
458
|
+
if (options.customView instanceof android.graphics.Bitmap) {
|
459
|
+
customView = new android.widget.ImageView(context);
|
460
|
+
customView.setImageBitmap(options.customView);
|
461
|
+
}
|
462
|
+
else if (options.customView instanceof android.view.View) {
|
463
|
+
customView = options.customView;
|
464
|
+
}
|
465
|
+
else if (typeof options.customView === 'string') {
|
466
|
+
customView = new android.widget.ImageView(context);
|
467
|
+
const fileName = options.customView.replace('.jpg', '').replace('.png', '').replace('.jpeg', '');
|
468
|
+
const image = ImageSource.fromFileOrResourceSync('res://' + fileName);
|
469
|
+
if (image && image.android) {
|
470
|
+
customView.setImageBitmap(image.android);
|
471
|
+
}
|
472
|
+
}
|
473
|
+
if (customView) {
|
474
|
+
customView.setId(this._customViewId);
|
475
|
+
}
|
476
|
+
return customView;
|
477
|
+
}
|
478
|
+
_createDeterminateProgressView(context) {
|
479
|
+
const progressView = new android.widget.ProgressBar(context, null, R_ATTR_PROGRESS_BAR_STYLE_HORIZONTAL);
|
480
|
+
progressView.setId(this._progressId);
|
481
|
+
progressView.setMax(100);
|
482
|
+
progressView.setProgress(0);
|
483
|
+
if (!this._progressDrawable) {
|
484
|
+
this._progressDrawable = this._getProgressDrawable();
|
485
|
+
}
|
486
|
+
if (this._progressDrawable) {
|
487
|
+
progressView.setProgressDrawable(this._progressDrawable);
|
488
|
+
}
|
489
|
+
if (!this._backgroundDrawable) {
|
490
|
+
this._backgroundDrawable = this._getBackgroundDrawable();
|
491
|
+
}
|
492
|
+
if (this._backgroundDrawable) {
|
493
|
+
progressView.setBackgroundDrawable(this._backgroundDrawable);
|
494
|
+
}
|
495
|
+
progressView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(60 * Screen.mainScreen.scale, 60 * Screen.mainScreen.scale));
|
496
|
+
return progressView;
|
497
|
+
}
|
498
|
+
_setBackgroundColor(color, view) {
|
499
|
+
const progressDrawable = view.getProgressDrawable();
|
500
|
+
const indeterminateDrawable = view.getIndeterminateDrawable();
|
501
|
+
if (progressDrawable instanceof android.graphics.drawable.LayerDrawable && progressDrawable.getNumberOfLayers() > 0) {
|
502
|
+
const backgroundDrawable = progressDrawable.getDrawable(0);
|
503
|
+
if (backgroundDrawable) {
|
504
|
+
backgroundDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
|
505
|
+
}
|
506
|
+
}
|
507
|
+
if (indeterminateDrawable instanceof android.graphics.drawable.LayerDrawable && indeterminateDrawable.getNumberOfLayers() > 0) {
|
508
|
+
const backgroundDrawable = indeterminateDrawable.getDrawable(0);
|
509
|
+
if (backgroundDrawable) {
|
510
|
+
backgroundDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
|
511
|
+
}
|
512
|
+
}
|
513
|
+
}
|
514
|
+
_setColor(color, view) {
|
515
|
+
const progressDrawable = view.getProgressDrawable();
|
516
|
+
const indeterminateDrawable = view.getIndeterminateDrawable();
|
517
|
+
if (progressDrawable) {
|
518
|
+
progressDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
|
519
|
+
}
|
520
|
+
if (indeterminateDrawable) {
|
521
|
+
indeterminateDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
|
522
|
+
}
|
523
|
+
}
|
524
|
+
_getResources() {
|
525
|
+
const ctx = Application.android.foregroundActivity;
|
526
|
+
return ctx.getResources();
|
527
|
+
}
|
528
|
+
_getBackgroundDrawable() {
|
529
|
+
if (com.github.triniwiz.ns.loading.indicator.R) {
|
530
|
+
return this._getResources().getDrawable(com.github.triniwiz.ns.loading.indicator.R.drawable.circle_shape);
|
531
|
+
}
|
532
|
+
return null;
|
533
|
+
}
|
534
|
+
_getProgressDrawable() {
|
535
|
+
if (com.github.triniwiz.ns.loading.indicator.R) {
|
536
|
+
return this._getResources().getDrawable(com.github.triniwiz.ns.loading.indicator.R.drawable.circular_progress_bar);
|
537
|
+
}
|
538
|
+
return null;
|
539
|
+
}
|
540
|
+
_getProgressDrawableThick() {
|
541
|
+
if (com.github.triniwiz.ns.loading.indicator.R) {
|
542
|
+
return this._getResources().getDrawable(com.github.triniwiz.ns.loading.indicator.R.drawable.circular_progress_bar_thick);
|
543
|
+
}
|
544
|
+
return null;
|
545
|
+
}
|
546
|
+
}
|
547
|
+
//# sourceMappingURL=index.android.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/nativescript-loading-indicator/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAS,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAiB,MAAM,UAAU,CAAC;AAE/C,cAAc,UAAU,CAAC;AAIzB,MAAM,oCAAoC,GAAG,UAAU,CAAC;AACxD,MAAM,OAAO,GAAG,0CAA0C,CAAC;AAE3D,MAAM,mBAAmB,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,OAAO,CAAC,OAAO,CAAC,EAAU,CAAC,IAAI,CAAC;AAElG,SAAS,WAAW;IACnB,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,OAAO,gBAAgB;IAc5B;QACC,IAAI,CAAC,qBAAqB,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,OAAuB;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5F,IAAI,OAAO,EAAE;YACZ,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YACxC,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,KAAK,SAAS,CAAC;YAE9E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC7B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACX,CAAC,CAAC;qBACA,IAAI,CAAC,GAAG,EAAE;oBACV,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACjC,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBAChB,wCAAwC;oBACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,OAAO,CAAC,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBACJ,OAAO;aACP;YACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACtC;IACF,CAAC;IAED,IAAI,CAAC,UAAgB,EAAE,iBAAyB,IAAI;QACnD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAC3C,OAAO;SACP;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAEO,QAAQ;QACf,IAAI;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,MAAM,EAAE;oBACX,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;wBAC5B,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACpC;iBACD;aACD;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;SAClC;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACf;IACF,CAAC;IAEO,qBAAqB,CAAC,cAAsB;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;aACvB;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,cAAc,EAAE;gBAC5C,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC9C,OAAO;aACP;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACnE,OAAO,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC;QACF,OAAO,aAAa,EAAE,CAAC;IACxB,CAAC;IAEO,UAAU,CAAC,MAAkC;QACpD,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAEO,cAAc,CAAC,OAAO,EAAE,OAAuB;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QAC5D,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAClH,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE3H,WAAW,CAAC,kBAAkB,CAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YACrC,OAAO,CAAC,IAAuB,EAAE,KAA+B;gBAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;gBACtD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;gBACxB,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;oBAC3D,IAAI,KAAK,IAAI,UAAU,EAAE;wBACxB,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACzB,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC/B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACtB;iBACD;gBACD,OAAO,IAAI,CAAC;YACb,CAAC;SACD,CAAC,CACF,CAAC;QACF,MAAM,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAE5D,mCAAmC;QACnC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QACvK,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5D,UAAU,CAAC,kBAAkB,CAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YACrC,OAAO,CAAC,IAAuB,EAAE,KAA+B;gBAC/D,OAAO,IAAI,CAAC;YACb,CAAC;SACD,CAAC,CACF,CAAC;QAEF,6HAA6H;QAC7H,mBAAmB,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,EAA8C,CAAC;QACxF,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAE5L,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACpD,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAEtF,uBAAuB;QACvB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;YACxD,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAC5D;QAED,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAEtH,0BAA0B;QAC1B,IAAI,OAAO,CAAC,SAAS,EAAE;YACtB,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAClE;aAAM;YACN,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC7D,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5C,MAAM,iBAAiB,GAAG,CAAC,CAAC;YAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9C,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5F,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;SACzC;QAED,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEhE,IAAI,YAAwC,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;QACpF,IAAI,CAAC,YAAY,EAAE;YAClB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,wBAAwB,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,kBAAkB,CAAC;YAEtL,IAAI,WAAW,EAAE;gBAChB,YAAY,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;aACnG;iBAAM;gBACN,YAAY,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACvD;YAED,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAErC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SACjC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;YACrC,IAAI,OAAO,CAAC,UAAU,EAAE;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,UAAU,EAAE;oBACf,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBAC/B;aACD;SACD;QAED,IAAI,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,EAAE;gBAClB,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;aACjD;YACD,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;YACxL,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;YACpD,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;YACxL,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE;YACrB,KAAK,IAAI,CAAC,UAAU;gBACnB,MAAM;YACP,KAAK,IAAI,CAAC,kBAAkB;gBAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;iBACrD;gBACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBACzD;gBACD,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACrC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAC3B,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBACzD;gBACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBAC7D;gBACD,YAAY,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvI,MAAM;YACP,KAAK,IAAI,CAAC,WAAW;gBACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBACzD;gBACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;iBAC/D;gBAED,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACrC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE;oBAChC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;iBAC9D;gBACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBAC7D;gBACD,YAAY,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvI,MAAM;YACP,KAAK,IAAI,CAAC,wBAAwB;gBACjC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACrC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACP,KAAK,IAAI,CAAC,IAAI;gBACb,MAAM;YACP,KAAK,IAAI,CAAC,aAAa;gBACtB,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACP;gBACC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7E,MAAM;SACP;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,wBAAwB,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAC9N,IAAI,OAAO,CAAC,KAAK,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACtD;YACD,0BAA0B;YAC1B,IAAI,OAAO,CAAC,eAAe,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;aAChE;SACD;QAED,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;YAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAyB,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5E;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE;YAChI,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;YAE1F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACtE;IACF,CAAC;IAEO,cAAc,CAAC,OAAO,EAAE,OAAuB;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAiC,CAAC;QAClF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAgC,CAAC;QAC5E,IAAI,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;QAC7D,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAElH,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE3H,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YACrD,IAAI,YAAY,EAAE;gBACjB,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC5C,IAAI,cAAc,KAAK,IAAI,CAAC,WAAW,EAAE;oBACxC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACpC,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;iBACnC;aACD;SACD;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC5B;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5D,IAAI,UAAU,EAAE;gBACf,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC/B;YACD,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;SACnC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;YACvF,IAAI,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YACnD,IAAI,YAAY,EAAE;gBACjB,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;gBAE5C,IAAI,YAAY,YAAY,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,eAAe,EAAE,EAAE;oBAChI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACpC,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;oBAC5D,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;iBACpC;gBAED,IAAI,CAAC,CAAC,YAAY,YAAY,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBAC1D,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;oBAC5D,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;iBACpC;gBACD,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;gBAEnC,IAAI,OAAO,CAAC,KAAK,EAAE;oBAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACtD;gBAED,0BAA0B;gBAC1B,IAAI,OAAO,CAAC,eAAe,EAAE;oBAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;iBAChE;gBAED,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;aACjD;SACD;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE;YAC/H;;;eAGG;YACH,IAAI,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,YAAY,YAAY,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC/F,YAAY,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACvD;YAED,IAAI,OAAO,CAAC,KAAK,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACtD;YACD,0BAA0B;YAC1B,IAAI,OAAO,CAAC,eAAe,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;aAChE;YACD,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;SACnC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE;YACpB,IAAI,WAAW,CAAC;YAChB,IAAI,IAAI,CAAC;YACT,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YAClD,QAAQ,KAAK,EAAE;gBACd,KAAK,CAAC;oBACL,IAAI,SAAS,EAAE;wBACd,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,UAAU,EAAE;4BAC1C,SAAS,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;4BAC/C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;yBACnC;6BAAM;4BACN,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BACnD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACnC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACrC,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;4BACjD,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;4BACxL,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;yBAChC;qBACD;oBAED,MAAM;gBACP,KAAK,CAAC;oBACL,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;wBAC/B,IAAI,IAAI,EAAE;4BACT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC9B,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;yBAC1C;qBACD;yBAAM,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;wBACtC,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACnD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACnC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACrC,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;wBACjD,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;wBACxL,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;qBACnC;oBACD,MAAM;gBACP,KAAK,CAAC;oBACL,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;oBACvC,IAAI,IAAI,EAAE;wBACT,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;wBAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBAC9B;oBACD,MAAM;gBACP;oBACC,MAAM;aACP;YACD,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;SACnC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,OAAO,EAAE;YACpB,IAAI,WAAW,CAAC;YAChB,QAAQ,KAAK,EAAE;gBACd,KAAK,CAAC;oBACL,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;oBAClD,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;wBAClC,IAAI,SAAS,EAAE;4BACd,SAAS,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;4BAClD,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;yBACnC;qBACD;yBAAM;wBACN,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACnD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACnC,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;wBACpD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACrC,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;wBACxL,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;qBAChC;oBAED,MAAM;gBACP,KAAK,CAAC;oBACL,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAA4B,CAAC;oBAClE,IAAI,WAAW,EAAE;wBAChB,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;wBAC1C,IAAI,aAAa,KAAK,IAAI,CAAC,UAAU,EAAE;4BACtC,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;4BACpD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;yBACrC;6BAAM,IAAI,aAAa,KAAK,IAAI,CAAC,UAAU,EAAE;4BAC7C,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BACnD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACnC,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;4BACpD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACrC,WAAW,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;4BACxL,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;yBACnC;qBACD;oBACD,MAAM;gBACP,KAAK,CAAC;oBACL,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAA4B,CAAC;oBAClE,IAAI,WAAW,EAAE;wBAChB,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;wBACpD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBACrC;oBACD,MAAM;gBACP;oBACC,MAAM;aACP;SACD;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEO,iBAAiB,CAAC,OAAO,EAAE,OAAO;QACzC,IAAI,UAAU,CAAC;QACf,IAAI,OAAO,CAAC,UAAU,YAAY,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1D,UAAU,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnD,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;aAAM,IAAI,OAAO,CAAC,UAAU,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YAC3D,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SAChC;aAAM,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;YAClD,UAAU,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,KAAK,GAAG,WAAW,CAAC,sBAAsB,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;YACtE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;gBAC3B,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACzC;SACD;QACD,IAAI,UAAU,EAAE;YACf,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACrC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,8BAA8B,CAAC,OAAO;QAC7C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;QACzG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrD;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACzD;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC7D;QACD,YAAY,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvI,OAAO,YAAY,CAAC;IACrB,CAAC;IAEO,mBAAmB,CAAC,KAAa,EAAE,IAAS;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAS,CAAC;QAC3D,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAS,CAAC;QACrE,IAAI,gBAAgB,YAAY,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE;YACpH,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,kBAAkB,EAAE;gBACvB,kBAAkB,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrG;SACD;QAED,IAAI,qBAAqB,YAAY,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,qBAAqB,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE;YAC9H,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,kBAAkB,EAAE;gBACvB,kBAAkB,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrG;SACD;IACF,CAAC;IAEO,SAAS,CAAC,KAAa,EAAE,IAAS;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9D,IAAI,gBAAgB,EAAE;YACrB,gBAAgB,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnG;QACD,IAAI,qBAAqB,EAAE;YAC1B,qBAAqB,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACxG;IACF,CAAC;IAEO,aAAa;QACpB,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,kBAA0C,CAAC;QAC3E,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAEO,sBAAsB;QAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SAC1G;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,oBAAoB;QAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SACnH;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,yBAAyB;QAChC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;SACzH;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
|