@nativescript-community/ui-drawer 0.1.17 → 0.1.19

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.
@@ -23,7 +23,7 @@ export declare class DrawerComponent {
23
23
  set gestureEnabled(value: boolean);
24
24
  private updateGestureEnabled;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "Drawer", never, {}, {}, never, ["*"], false>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "Drawer", never, {}, {}, never, ["*"], false, never>;
27
27
  }
28
28
  /**
29
29
  * Directive identifying the left drawer
@@ -32,7 +32,7 @@ export declare class LeftDrawerDirective {
32
32
  private _elementRef;
33
33
  constructor(_elementRef: ElementRef);
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<LeftDrawerDirective, never>;
35
- static ɵdir: i0.ɵɵDirectiveDeclaration<LeftDrawerDirective, "[leftDrawer]", never, {}, {}, never, never, false>;
35
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LeftDrawerDirective, "[leftDrawer]", never, {}, {}, never, never, false, never>;
36
36
  }
37
37
  /**
38
38
  * Directive identifying the right drawer
@@ -41,7 +41,7 @@ export declare class RightDrawerDirective {
41
41
  private _elementRef;
42
42
  constructor(_elementRef: ElementRef);
43
43
  static ɵfac: i0.ɵɵFactoryDeclaration<RightDrawerDirective, never>;
44
- static ɵdir: i0.ɵɵDirectiveDeclaration<RightDrawerDirective, "[rightDrawer]", never, {}, {}, never, never, false>;
44
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RightDrawerDirective, "[rightDrawer]", never, {}, {}, never, never, false, never>;
45
45
  }
46
46
  /**
47
47
  * Directive identifying the right drawer
@@ -50,7 +50,7 @@ export declare class TopDrawerDirective {
50
50
  private _elementRef;
51
51
  constructor(_elementRef: ElementRef);
52
52
  static ɵfac: i0.ɵɵFactoryDeclaration<TopDrawerDirective, never>;
53
- static ɵdir: i0.ɵɵDirectiveDeclaration<TopDrawerDirective, "[topDrawer]", never, {}, {}, never, never, false>;
53
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TopDrawerDirective, "[topDrawer]", never, {}, {}, never, never, false, never>;
54
54
  }
55
55
  /**
56
56
  * Directive identifying the right drawer
@@ -59,7 +59,7 @@ export declare class BottomDrawerDirective {
59
59
  private _elementRef;
60
60
  constructor(_elementRef: ElementRef);
61
61
  static ɵfac: i0.ɵɵFactoryDeclaration<BottomDrawerDirective, never>;
62
- static ɵdir: i0.ɵɵDirectiveDeclaration<BottomDrawerDirective, "[bottomDrawer]", never, {}, {}, never, never, false>;
62
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BottomDrawerDirective, "[bottomDrawer]", never, {}, {}, never, never, false, never>;
63
63
  }
64
64
  /**
65
65
  * Directive identifying the main content.
@@ -68,7 +68,7 @@ export declare class MainContentDirective {
68
68
  private _elementRef;
69
69
  constructor(_elementRef: ElementRef);
70
70
  static ɵfac: i0.ɵɵFactoryDeclaration<MainContentDirective, never>;
71
- static ɵdir: i0.ɵɵDirectiveDeclaration<MainContentDirective, "[mainContent]", never, {}, {}, never, never, false>;
71
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MainContentDirective, "[mainContent]", never, {}, {}, never, never, false, never>;
72
72
  }
73
73
  /**
74
74
  * Directives identifying the Drawer.
package/index.d.ts CHANGED
@@ -80,7 +80,6 @@ export declare class Drawer extends GridLayout {
80
80
  private mTranslationX;
81
81
  private mTranslationY;
82
82
  private mShowingSide;
83
- private mNeedToSetSide;
84
83
  private mModes;
85
84
  translationFunction?: TranslationFunctionType;
86
85
  animationFunction?: AnimationFunctionType;
@@ -95,16 +94,18 @@ export declare class Drawer extends GridLayout {
95
94
  disposeNativeView(): void;
96
95
  shouldStartSheetDraggingInternal(side: Side | VerticalSide): any;
97
96
  shouldStartGesture(data: any): any;
97
+ getDrawerToOpen(extraData: any): "left" | "right" | "bottom" | "top";
98
98
  onGestureState(args: GestureStateEventData): void;
99
+ isSideVisible(side: Side | VerticalSide): number;
99
100
  onGestureTouch(args: GestureTouchEventData): void;
100
101
  _onMainContentChanged(oldValue: View, newValue: View): void;
101
- onLeftLayoutChanged(event: EventData): void;
102
- onRightLayoutChanged(event: EventData): void;
103
- onTopLayoutChanged(event: EventData): void;
104
- onBottomLayoutChanged(event: EventData): void;
102
+ leftLayoutChanged(event: EventData): void;
103
+ rightLayoutChanged(event: EventData): void;
104
+ topLayoutChanged(event: EventData): void;
105
+ bottomLayoutChanged(event: EventData): void;
105
106
  addChild(child: any): void;
106
107
  _onDrawerContentChanged(side: Side | VerticalSide, oldValue: View, newValue: View): void;
107
- onSideModeChanged(side: Side | VerticalSide, mode: Mode, oldMode: Mode): void;
108
+ onSideModeChanged(side: Side | VerticalSide, mode: Mode, oldMode?: Mode): void;
108
109
  computeTranslationData(side: any, value: any): TrData | {
109
110
  [x: string]: {
110
111
  translateX: number;
@@ -173,6 +174,7 @@ export declare class Drawer extends GridLayout {
173
174
  animateToPosition(side: Side | VerticalSide, position: any, duration?: number): Promise<void>;
174
175
  isSideOpened(): boolean;
175
176
  isOpened(side?: Side | VerticalSide): boolean;
177
+ getDefaultSide(): "left" | "right" | "bottom" | "top";
176
178
  toggle(side?: Side | VerticalSide): Promise<void>;
177
179
  open(side?: Side | VerticalSide, duration?: number): Promise<void>;
178
180
  close(side?: Side | VerticalSide, duration?: number): Promise<void>;
package/index.js CHANGED
@@ -18,30 +18,22 @@ function transformAnimationValues(values) {
18
18
  export const leftDrawerContentProperty = new Property({
19
19
  name: 'leftDrawer',
20
20
  defaultValue: undefined,
21
- valueChanged: (target, oldValue, newValue) => {
22
- target._onDrawerContentChanged('left', oldValue, newValue);
23
- }
21
+ valueChanged: (target, oldValue, newValue) => target._onDrawerContentChanged('left', oldValue, newValue)
24
22
  });
25
23
  export const rightDrawerContentProperty = new Property({
26
24
  name: 'rightDrawer',
27
25
  defaultValue: undefined,
28
- valueChanged: (target, oldValue, newValue) => {
29
- target._onDrawerContentChanged('right', oldValue, newValue);
30
- }
26
+ valueChanged: (target, oldValue, newValue) => target._onDrawerContentChanged('right', oldValue, newValue)
31
27
  });
32
28
  export const topDrawerContentProperty = new Property({
33
29
  name: 'topDrawer',
34
30
  defaultValue: undefined,
35
- valueChanged: (target, oldValue, newValue) => {
36
- target._onDrawerContentChanged('top', oldValue, newValue);
37
- }
31
+ valueChanged: (target, oldValue, newValue) => target._onDrawerContentChanged('top', oldValue, newValue)
38
32
  });
39
33
  export const bottomDrawerContentProperty = new Property({
40
34
  name: 'bottomDrawer',
41
35
  defaultValue: undefined,
42
- valueChanged: (target, oldValue, newValue) => {
43
- target._onDrawerContentChanged('bottom', oldValue, newValue);
44
- }
36
+ valueChanged: (target, oldValue, newValue) => target._onDrawerContentChanged('bottom', oldValue, newValue)
45
37
  });
46
38
  export const gestureEnabledProperty = new Property({
47
39
  name: 'gestureEnabled',
@@ -116,6 +108,7 @@ let Drawer = class Drawer extends GridLayout {
116
108
  this.mTranslationX = { left: 0, right: 0 };
117
109
  this.mTranslationY = { bottom: 0, top: 0 };
118
110
  this.mShowingSide = null;
111
+ // private mNeedToSetSide: Side | VerticalSide;
119
112
  this.mModes = { left: 'slide', right: 'slide', bottom: 'slide', top: 'slide' };
120
113
  this.backDropEnabled = true;
121
114
  this.mViewByIdCache = {};
@@ -211,7 +204,7 @@ let Drawer = class Drawer extends GridLayout {
211
204
  return result;
212
205
  }
213
206
  shouldStartGesture(data) {
214
- const landscape = Application.orientation() === 'landscape';
207
+ // const landscape = Application.orientation() === 'landscape';
215
208
  const width = Utils.layout.toDeviceIndependentPixels(this.getMeasuredWidth());
216
209
  const height = Utils.layout.toDeviceIndependentPixels(this.getMeasuredHeight());
217
210
  const side = this.mShowingSide;
@@ -246,35 +239,53 @@ let Drawer = class Drawer extends GridLayout {
246
239
  needToSetSide = 'top';
247
240
  }
248
241
  if (needToSetSide && this[needToSetSide + 'ClosedDrawerAllowDraging']) {
249
- this.mNeedToSetSide = needToSetSide;
242
+ // this.mNeedToSetSide = needToSetSide;
250
243
  return true;
251
244
  }
252
245
  }
253
246
  return false;
254
247
  }
248
+ getDrawerToOpen(extraData) {
249
+ if (extraData.translationX < 0 && this.rightDrawer) {
250
+ return 'right';
251
+ }
252
+ else if (extraData.translationX > 0 && this.leftDrawer) {
253
+ return 'left';
254
+ }
255
+ else if (extraData.translationY < 0 && this.bottomDrawer) {
256
+ return 'bottom';
257
+ }
258
+ else if (extraData.translationY > 0 && this.topDrawer) {
259
+ return 'top';
260
+ }
261
+ return null;
262
+ }
255
263
  onGestureState(args) {
256
264
  const { state, prevState, extraData, view } = args.data;
257
265
  if (state === GestureState.ACTIVE) {
258
- this.notify({ eventName: 'start', side: this.mNeedToSetSide });
259
266
  if (!this.mShowingSide) {
260
- if (this.mNeedToSetSide === 'left') {
261
- this.leftDrawer.visibility = 'visible';
262
- }
263
- else if (this.mNeedToSetSide === 'right') {
264
- this.rightDrawer.visibility = 'visible';
265
- }
266
- else if (this.mNeedToSetSide === 'bottom') {
267
- this.bottomDrawer.visibility = 'visible';
268
- }
269
- else if (this.mNeedToSetSide === 'top') {
270
- this.topDrawer.visibility = 'visible';
267
+ const shouldShowSide = this.getDrawerToOpen(extraData);
268
+ if (shouldShowSide && shouldShowSide !== this.mShowingSide) {
269
+ this[shouldShowSide + 'Drawer'].visibility = 'visible';
270
+ this.mShowingSide = shouldShowSide;
271
+ this.notify({ eventName: 'start', side: this.mShowingSide });
271
272
  }
273
+ // if (this.mNeedToSetSide === 'left') {
274
+ // this.leftDrawer.visibility = 'visible';
275
+ // } else if (this.mNeedToSetSide === 'right') {
276
+ // this.rightDrawer.visibility = 'visible';
277
+ // } else if (this.mNeedToSetSide === 'bottom') {
278
+ // this.bottomDrawer.visibility = 'visible';
279
+ // } else if (this.mNeedToSetSide === 'top') {
280
+ // this.topDrawer.visibility = 'visible';
281
+ // }
272
282
  }
273
283
  }
274
284
  this.updateIsPanning(state);
275
285
  if (prevState === GestureState.ACTIVE) {
276
- const side = this.mShowingSide || this.mNeedToSetSide;
277
- this.mNeedToSetSide = null;
286
+ const side = this.mShowingSide;
287
+ // const side = this.mShowingSide || this.mNeedToSetSide;
288
+ // this.mNeedToSetSide = null;
278
289
  if (!side || (this.shouldPan && !this.shouldPan(side))) {
279
290
  return;
280
291
  }
@@ -350,14 +361,37 @@ let Drawer = class Drawer extends GridLayout {
350
361
  this.animateToPosition(side, destSnapPoint);
351
362
  }
352
363
  }
364
+ isSideVisible(side) {
365
+ if (side === 'left' || side === 'right') {
366
+ return this.mViewWidth[side] - this.mTranslationX[side];
367
+ }
368
+ else {
369
+ return this.mViewHeight[side] - this.mTranslationY[side];
370
+ }
371
+ }
353
372
  onGestureTouch(args) {
354
373
  const data = args.data;
355
- const side = this.mShowingSide || this.mNeedToSetSide;
356
- if (data.state !== GestureState.ACTIVE || !side || this.mIsAnimating) {
374
+ const { state, extraData, view } = args.data;
375
+ // const side = this.mShowingSide || this.mNeedToSetSide;
376
+ if (data.state !== GestureState.ACTIVE || this.mIsAnimating) {
377
+ return;
378
+ }
379
+ const shouldShowSide = this.getDrawerToOpen(extraData);
380
+ if (shouldShowSide && (!this.mShowingSide || (shouldShowSide !== this.mShowingSide && !this.isSideVisible(this.mShowingSide)))) {
381
+ if (this.mShowingSide) {
382
+ this[this.mShowingSide + 'Drawer'].visibility = 'hidden';
383
+ this.notify({ eventName: 'end', side: this.mShowingSide });
384
+ }
385
+ this[shouldShowSide + 'Drawer'].visibility = 'visible';
386
+ this.mShowingSide = shouldShowSide;
387
+ this.notify({ eventName: 'start', side: this.mShowingSide });
388
+ }
389
+ const side = this.mShowingSide;
390
+ if (!side || this.mIsAnimating) {
357
391
  return;
358
392
  }
359
393
  if (side === 'left' || side === 'right') {
360
- const deltaX = data.extraData.translationX;
394
+ const deltaX = extraData.translationX;
361
395
  if (this.mIsAnimating || !this.mIsPanning || deltaX === 0 || (this.shouldPan && !this.shouldPan(side))) {
362
396
  this.mPrevDeltaX = deltaX;
363
397
  return;
@@ -379,11 +413,11 @@ let Drawer = class Drawer extends GridLayout {
379
413
  this.backDrop.visibility = trData.backDrop && trData.backDrop.opacity > 0 ? 'visible' : 'hidden';
380
414
  }
381
415
  this.applyTrData(trData, side);
382
- this.updateIsPanning(data.state);
416
+ this.updateIsPanning(state);
383
417
  this.mPrevDeltaX = deltaX;
384
418
  }
385
419
  else {
386
- const deltaY = data.extraData.translationY;
420
+ const deltaY = extraData.translationY;
387
421
  if (this.mIsAnimating || !this.mIsPanning || deltaY === 0 || (this.shouldPan && !this.shouldPan(side))) {
388
422
  this.mPrevDeltaY = deltaY;
389
423
  return;
@@ -405,7 +439,7 @@ let Drawer = class Drawer extends GridLayout {
405
439
  this.backDrop.visibility = trData.backDrop && trData.backDrop.opacity > 0 ? 'visible' : 'hidden';
406
440
  }
407
441
  this.applyTrData(trData, side);
408
- this.updateIsPanning(data.state);
442
+ this.updateIsPanning(state);
409
443
  this.mPrevDeltaY = deltaY;
410
444
  }
411
445
  }
@@ -423,24 +457,16 @@ let Drawer = class Drawer extends GridLayout {
423
457
  }
424
458
  }
425
459
  [leftDrawerModeProperty.setNative](value) {
426
- const oldValue = this.mModes['left'];
427
- this.mModes['left'] = value;
428
- this.onSideModeChanged('left', value, oldValue);
460
+ this.onSideModeChanged('left', value);
429
461
  }
430
462
  [rightDrawerModeProperty.setNative](value) {
431
- const oldValue = this.mModes['right'];
432
- this.mModes['right'] = value;
433
- this.onSideModeChanged('right', value, oldValue);
463
+ this.onSideModeChanged('right', value);
434
464
  }
435
465
  [topDrawerModeProperty.setNative](value) {
436
- const oldValue = this.mModes['top'];
437
- this.mModes['top'] = value;
438
- this.onSideModeChanged('top', value, oldValue);
466
+ this.onSideModeChanged('top', value);
439
467
  }
440
468
  [bottomDrawerModeProperty.setNative](value) {
441
- const oldValue = this.mModes['bottom'];
442
- this.mModes['bottom'] = value;
443
- this.onSideModeChanged('bottom', value, oldValue);
469
+ this.onSideModeChanged('bottom', value);
444
470
  }
445
471
  [gestureHandlerOptionsProperty.setNative](value) {
446
472
  if (this.panGestureHandler) {
@@ -464,16 +490,16 @@ let Drawer = class Drawer extends GridLayout {
464
490
  }
465
491
  }
466
492
  }
467
- onLeftLayoutChanged(event) {
493
+ leftLayoutChanged(event) {
468
494
  return this.onLayoutChange('left', event);
469
495
  }
470
- onRightLayoutChanged(event) {
496
+ rightLayoutChanged(event) {
471
497
  return this.onLayoutChange('right', event);
472
498
  }
473
- onTopLayoutChanged(event) {
499
+ topLayoutChanged(event) {
474
500
  return this.onLayoutChange('top', event);
475
501
  }
476
- onBottomLayoutChanged(event) {
502
+ bottomLayoutChanged(event) {
477
503
  return this.onLayoutChange('bottom', event);
478
504
  }
479
505
  addChild(child) {
@@ -484,22 +510,12 @@ let Drawer = class Drawer extends GridLayout {
484
510
  // super.addChild(child);
485
511
  }
486
512
  _onDrawerContentChanged(side, oldValue, newValue) {
513
+ if (oldValue === newValue) {
514
+ return;
515
+ }
487
516
  this._onBackDropEnabledValueChanged();
488
517
  if (oldValue) {
489
- switch (side) {
490
- case 'right':
491
- oldValue.off('layoutChanged', this.onRightLayoutChanged, this);
492
- break;
493
- case 'left':
494
- oldValue.off('layoutChanged', this.onLeftLayoutChanged, this);
495
- break;
496
- case 'top':
497
- oldValue.off('layoutChanged', this.onTopLayoutChanged, this);
498
- break;
499
- case 'bottom':
500
- oldValue.off('layoutChanged', this.onBottomLayoutChanged, this);
501
- break;
502
- }
518
+ oldValue.off('layoutChanged', this[side + 'LayoutChanged'], this);
503
519
  this.removeChild(oldValue);
504
520
  }
505
521
  if (newValue) {
@@ -510,24 +526,11 @@ let Drawer = class Drawer extends GridLayout {
510
526
  else {
511
527
  newValue.verticalAlignment = side;
512
528
  }
513
- switch (side) {
514
- case 'right':
515
- newValue.on('layoutChanged', this.onRightLayoutChanged, this);
516
- break;
517
- case 'left':
518
- newValue.on('layoutChanged', this.onLeftLayoutChanged, this);
519
- break;
520
- case 'top':
521
- newValue.on('layoutChanged', this.onTopLayoutChanged, this);
522
- break;
523
- case 'bottom':
524
- newValue.on('layoutChanged', this.onBottomLayoutChanged, this);
525
- break;
526
- }
527
- this.onSideModeChanged(side, this.mModes[side], undefined);
529
+ newValue.on('layoutChanged', this[side + 'LayoutChanged'], this);
530
+ this.onSideModeChanged(side, this.mModes[side]);
528
531
  }
529
532
  }
530
- onSideModeChanged(side, mode, oldMode) {
533
+ onSideModeChanged(side, mode, oldMode = this.mModes[side]) {
531
534
  if ((oldMode && oldMode === mode) || (oldMode && oldMode !== 'under' && mode !== 'under')) {
532
535
  return;
533
536
  }
@@ -540,8 +543,10 @@ let Drawer = class Drawer extends GridLayout {
540
543
  drawer.visibility = this.mShowingSide === side ? 'visible' : 'hidden';
541
544
  if (mode === 'under') {
542
545
  if (index > indexBack - 1 && drawer.parent === this) {
546
+ drawer.reusable = true;
543
547
  this.removeChild(drawer);
544
548
  this.insertChild(drawer, Math.max(indexBack - 1, 0));
549
+ drawer.reusable = false;
545
550
  }
546
551
  else {
547
552
  // initial addition
@@ -551,8 +556,10 @@ let Drawer = class Drawer extends GridLayout {
551
556
  }
552
557
  else {
553
558
  if (index <= indexBack && drawer.parent === this) {
559
+ drawer.reusable = true;
554
560
  this.removeChild(drawer);
555
561
  this.insertChild(drawer, indexBack + 1);
562
+ drawer.reusable = false;
556
563
  }
557
564
  else {
558
565
  // initial addition
@@ -848,23 +855,25 @@ let Drawer = class Drawer extends GridLayout {
848
855
  }
849
856
  return !!this.mShowingSide;
850
857
  }
858
+ getDefaultSide() {
859
+ if (this.leftDrawer) {
860
+ return 'left';
861
+ }
862
+ else if (this.rightDrawer) {
863
+ return 'right';
864
+ }
865
+ else if (this.bottomDrawer) {
866
+ return 'bottom';
867
+ }
868
+ else if (this.topDrawer) {
869
+ return 'top';
870
+ }
871
+ return null;
872
+ }
851
873
  async toggle(side) {
874
+ side = this.getActualSide(side) || this.getDefaultSide();
852
875
  if (!side) {
853
- if (this.leftDrawer) {
854
- side = 'left';
855
- }
856
- else if (this.rightDrawer) {
857
- side = 'right';
858
- }
859
- else if (this.bottomDrawer) {
860
- side = 'bottom';
861
- }
862
- else if (this.topDrawer) {
863
- side = 'top';
864
- }
865
- else {
866
- return;
867
- }
876
+ return;
868
877
  }
869
878
  if (this.isOpened(side)) {
870
879
  this.close(side);
@@ -874,23 +883,9 @@ let Drawer = class Drawer extends GridLayout {
874
883
  }
875
884
  }
876
885
  async open(side, duration = this.openAnimationDuration) {
877
- side = this.getActualSide(side);
886
+ side = this.getActualSide(side) || this.getDefaultSide();
878
887
  if (!side) {
879
- if (this.leftDrawer) {
880
- side = 'left';
881
- }
882
- else if (this.rightDrawer) {
883
- side = 'right';
884
- }
885
- else if (this.bottomDrawer) {
886
- side = 'bottom';
887
- }
888
- else if (this.topDrawer) {
889
- side = 'top';
890
- }
891
- else {
892
- return;
893
- }
888
+ return;
894
889
  }
895
890
  if (this.mShowingSide && this.mShowingSide !== side) {
896
891
  this.close();
@@ -906,14 +901,9 @@ let Drawer = class Drawer extends GridLayout {
906
901
  }
907
902
  }
908
903
  async close(side, duration = this.closeAnimationDuration) {
909
- side = this.getActualSide(side);
904
+ side = this.getActualSide(side) || this.mShowingSide;
910
905
  if (!side) {
911
- if (this.mShowingSide) {
912
- side = this.mShowingSide;
913
- }
914
- else {
915
- return;
916
- }
906
+ return;
917
907
  }
918
908
  // this.mShowingSide = null;
919
909
  return this.animateToPosition(side, 0, duration);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EACxB,YAAY,EAGZ,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,OAAO,IAAI,eAAe,EAC7B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,SAAS,EAAuB,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5K,eAAe,CAAC,KAAK,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,SAAS,wBAAwB,CAAC,MAAM;IACpC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;IAC5E,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAChE,OAAO,MAAM,CAAC,UAAU,CAAC;IACzB,OAAO,MAAM,CAAC,UAAU,CAAC;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC;IACrB,OAAO,MAAM,CAAC,MAAM,CAAC;IACrB,OAAO,MAAM,CAAC;AAClB,CAAC;AAUD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,QAAQ,CAAe;IAChE,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,QAAQ,CAAe;IACjE,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,QAAQ,CAAe;IAC/D,IAAI,EAAE,WAAW;IACjB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,QAAQ,CAAe;IAClE,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,QAAQ,CAAkB;IAChE,IAAI,EAAE,gBAAgB;IACtB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,gBAAgB;CACnC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,QAAQ,CAAgB;IAC7D,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;CACnD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,QAAQ,CAAe;IAC7D,IAAI,EAAE,gBAAgB;CACzB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,QAAQ,CAAe;IAC9D,IAAI,EAAE,iBAAiB;CAC1B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,QAAQ,CAAe;IAC5D,IAAI,EAAE,eAAe;CACxB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,QAAQ,CAAe;IAC/D,IAAI,EAAE,kBAAkB;CAC3B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,QAAQ,CAAkC;IACrF,IAAI,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,QAAQ,CAAgC;IACjF,IAAI,EAAE,mBAAmB;CAC5B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,QAAQ,CAAkB;IACjE,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,gBAAgB;IAChC,IAAI,EAAE,iBAAiB;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,QAAQ,CAAuC;IACnF,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,IAAI;CACrB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,QAAQ,CAAC;IACtD,IAAI,EAAE,uBAAuB;CAChC,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAe1C,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAwDlC;QACI,KAAK,EAAE,CAAC;QA7CL,eAAU,GAAG,eAAe,CAAC;QAC7B,mBAAc,GAAG,EAAE,CAAC;QAEpB,YAAO,GAAG,EAAE,CAAC;QACb,yBAAoB,GAAG,EAAE,CAAC;QAG1B,sBAAiB,GAAG,EAAE,CAAC;QACvB,uBAAkB,GAAG,EAAE,CAAC;QACxB,wBAAmB,GAAG,EAAE,CAAC;QACzB,qBAAgB,GAAG,EAAE,CAAC;QACtB,kBAAa,GAAG,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChD,iCAA4B,GAAG,IAAI,CAAC;QACpC,kCAA6B,GAAG,IAAI,CAAC;QACrC,mCAA8B,GAAG,IAAI,CAAC;QACtC,gCAA2B,GAAG,IAAI,CAAC;QACnC,iCAA4B,GAAG,IAAI,CAAC;QACpC,kCAA6B,GAAG,IAAI,CAAC;QACrC,mCAA8B,GAAG,IAAI,CAAC;QACtC,gCAA2B,GAAG,IAAI,CAAC;QAEnC,mBAAc,GAAG,IAAI,CAAC;QACtB,8BAAyB,GAAG,IAAI,CAAC;QAEjC,0BAAqB,GAAG,aAAa,CAAC;QACtC,2BAAsB,GAAG,cAAc,CAAC;QAEvC,eAAU,GAAG,KAAK,CAAC;QACnB,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,CAAC,CAAC;QAChB,gBAAW,GAAG,CAAC,CAAC;QAChB,eAAU,GAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC5E,gBAAW,GAAoC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QACrF,kBAAa,GAA4B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,kBAAa,GAAoC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACvE,iBAAY,GAAwB,IAAI,CAAC;QAEzC,WAAM,GAAkD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAKjI,oBAAe,GAAY,IAAI,CAAC;QAylBhC,mBAAc,GAAG,EAAE,CAAC;QArlBhB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAC3C,CAAC;IACD,8BAA8B;QAC1B,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC;YAEpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACtC;aAAM,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;IACL,CAAC;IACD,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,KAAK;QACrC,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,IAAyB;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,IAAI;QACnB,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,KAA0B;QACvD,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;YAC7B,OAAO;SACV;QACD,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC1E;SACJ;aAAM,IAAI,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACvB;aAAM;YACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACxB;IACL,CAAC;IACD,aAAa;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACD,YAAY;QACR,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;YAClF,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACtD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,cAAc,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACvE,cAAc,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACvE,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,cAAqB,CAAC;IACnD,CAAC;IACD,cAAc;QACV,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACjE;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,yBAAyB,EAAE;YACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SACrD;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IACD,iBAAiB;QACb,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChF,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACjC;IACL,CAAC;IAED,gCAAgC,CAAC,IAAyB;QACtD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,CAAC;QACrD,IAAI,MAAM,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACzC,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,kBAAkB,CAAC,IAAI;QACnB,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,IAAI,EAAE;YACN,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,SAAS,CAAC,EAAE;oBAC/F,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;iBACtD;aACJ;iBAAM;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,GAAG,UAAU,CAAC,EAAE;oBAClG,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;iBACtD;aACJ;YACD,kDAAkD;YAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;SACxD;aAAM;YACH,IAAI,aAAa,CAAC;YAClB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE;gBAClF,aAAa,GAAG,MAAM,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE;gBACpG,aAAa,GAAG,OAAO,CAAC;aAC3B;iBAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACxG,aAAa,GAAG,QAAQ,CAAC;aAC5B;iBAAM,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBACtF,aAAa,GAAG,KAAK,CAAC;aACzB;YACD,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC,EAAE;gBACnE,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;gBACpC,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,cAAc,CAAC,IAA2B;QACtC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACxD,IAAI,KAAK,KAAK,YAAY,CAAC,MAAM,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACpB,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;oBAChC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;iBAC1C;qBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE;oBACxC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,SAAS,CAAC;iBAC3C;qBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;oBACzC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC;iBAC5C;qBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;oBACtC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC;iBACzC;aACJ;SACJ;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,SAAS,KAAK,YAAY,CAAC,MAAM,EAAE;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpD,OAAO;aACV;YACD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;YAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC;YAEtB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBACnD,MAAM,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;gBAE5C,IAAI,IAAI,KAAK,MAAM,EAAE;oBACjB,IAAI,UAAU,GAAG,CAAC,qBAAqB,EAAE;wBACrC,aAAa,GAAG,CAAC,CAAC;qBACrB;yBAAM,IAAI,UAAU,GAAG,qBAAqB,EAAE;wBAC3C,aAAa,GAAG,SAAS,CAAC;qBAC7B;yBAAM;wBACH,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;wBAClD,aAAa,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACJ;qBAAM,IAAI,IAAI,KAAK,OAAO,EAAE;oBACzB,IAAI,CAAC,UAAU,GAAG,CAAC,qBAAqB,EAAE;wBACtC,aAAa,GAAG,CAAC,CAAC;qBACrB;yBAAM,IAAI,CAAC,UAAU,GAAG,qBAAqB,EAAE;wBAC5C,aAAa,GAAG,SAAS,CAAC;qBAC7B;yBAAM;wBACH,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;wBAClD,aAAa,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACJ;aACJ;iBAAM;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;gBACpD,MAAM,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;gBAE5C,IAAI,IAAI,KAAK,KAAK,EAAE;oBAChB,IAAI,UAAU,GAAG,CAAC,sBAAsB,EAAE;wBACtC,aAAa,GAAG,CAAC,CAAC;qBACrB;yBAAM,IAAI,UAAU,GAAG,sBAAsB,EAAE;wBAC5C,aAAa,GAAG,UAAU,CAAC;qBAC9B;yBAAM;wBACH,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;wBACnD,aAAa,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnD;iBACJ;qBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;oBAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,sBAAsB,EAAE;wBACvC,aAAa,GAAG,CAAC,CAAC;qBACrB;yBAAM,IAAI,CAAC,UAAU,GAAG,sBAAsB,EAAE;wBAC7C,aAAa,GAAG,UAAU,CAAC;qBAC9B;yBAAM;wBACH,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;wBACnD,aAAa,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnD;iBACJ;aACJ;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SAC/C;IACL,CAAC;IACD,cAAc,CAAC,IAA2B;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC;QACtD,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YAClE,OAAO;SACV;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC3C,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,OAAO;aACV;YACD,6BAA6B;YAC7B,+CAA+C;YAC/C,kCAAkC;YAClC,IAAI;YACJ,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAE/C,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAClC,IAAI,IAAI,KAAK,MAAM,EAAE;gBACjB,CAAC,GAAG,CAAC,CAAC,CAAC;aACV;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAE7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpG;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;SAC7B;aAAM;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC3C,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,OAAO;aACV;YACD,6BAA6B;YAC7B,+CAA+C;YAC/C,kCAAkC;YAClC,IAAI;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAEhD,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAClC,IAAI,IAAI,KAAK,KAAK,EAAE;gBAChB,CAAC,GAAG,CAAC,CAAC,CAAC;aACV;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAE7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpG;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;SAC7B;IACL,CAAC;IACD,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,KAAK;QACpC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;SAC1C;aAAM,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IACD,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAAY;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;SACzC;IACL,CAAC;IACD,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,KAAW;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,KAAW;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAAW;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,KAAW;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IACD,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,KAAK;QAC3C,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;SACtD;IACL,CAAC;IACM,qBAAqB,CAAC,QAAc,EAAE,QAAc;QACvD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,IAAI,QAAQ,EAAE;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,SAAS,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE;gBACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aACzC;iBAAM;gBACH,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aACzC;SACJ;IACL,CAAC;IAED,mBAAmB,CAAC,KAAgB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,oBAAoB,CAAC,KAAgB;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,kBAAkB,CAAC,KAAgB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,qBAAqB,CAAC,KAAgB;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,QAAQ,CAAC,KAAK;QACV,yBAAyB;QACzB,sDAAsD;QACtD,mEAAmE;QACnE,kCAAkC;QAClC,yBAAyB;IAC7B,CAAC;IACM,uBAAuB,CAAC,IAAyB,EAAE,QAAc,EAAE,QAAc;QACpF,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,QAAQ,EAAE;YACV,QAAQ,IAAI,EAAE;gBACV,KAAK,OAAO;oBACR,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;oBAC/D,MAAM;gBAEV,KAAK,MAAM;oBACP,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;oBAC9D,MAAM;gBAEV,KAAK,KAAK;oBACN,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;oBAC7D,MAAM;gBAEV,KAAK,QAAQ;oBACT,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;oBAChE,MAAM;aACb;YAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,IAAI,QAAQ,EAAE;YACV,4BAA4B;YAC5B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;gBACrC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACvC;iBAAM;gBACH,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACrC;YACD,QAAQ,IAAI,EAAE;gBACV,KAAK,OAAO;oBACR,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;oBAC9D,MAAM;gBAEV,KAAK,MAAM;oBACP,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;oBAC7D,MAAM;gBAEV,KAAK,KAAK;oBACN,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;oBAC5D,MAAM;gBAEV,KAAK,QAAQ;oBACT,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;oBAC/D,MAAM;aACb;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;SAC9D;IACL,CAAC;IACD,iBAAiB,CAAC,IAAyB,EAAE,IAAU,EAAE,OAAa;QAClE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC,EAAE;YACvF,OAAO;SACV;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAS,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEtE,IAAI,IAAI,KAAK,OAAO,EAAE;YAClB,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;gBACjD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACxD;iBAAM;gBACH,mBAAmB;gBACnB,oGAAoG;gBACpG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC/B;SACJ;aAAM;YACH,IAAI,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;aAC3C;iBAAM;gBACH,mBAAmB;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IACD,sBAAsB,CAAC,IAAI,EAAE,KAAK;QAC9B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC9E;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE;gBAC/B,OAAO;oBACH,WAAW,EAAE;wBACT,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;qBAChD;oBACD,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE;wBACf,UAAU,EAAE,CAAC;qBAChB;oBACD,QAAQ,EAAE;wBACN,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;wBAC7C,OAAO,EAAE,QAAQ;qBACpB;iBACJ,CAAC;aACL;iBAAM;gBACH,OAAO;oBACH,WAAW,EAAE;oBACT,gBAAgB;qBACnB;oBACD,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE;wBACf,UAAU,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;qBAC/C;oBACD,QAAQ,EAAE;wBACN,iBAAiB;wBACjB,OAAO,EAAE,QAAQ;qBACpB;iBACJ,CAAC;aACL;SACJ;aAAM;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;YAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC/E;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE;gBAC/B,OAAO;oBACH,WAAW,EAAE;wBACT,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;qBACjD;oBACD,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE;wBACf,UAAU,EAAE,CAAC;qBAChB;oBACD,QAAQ,EAAE;wBACN,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;wBAC9C,OAAO,EAAE,QAAQ;qBACpB;iBACJ,CAAC;aACL;iBAAM;gBACH,OAAO;oBACH,WAAW,EAAE;wBACT,UAAU,EAAE,CAAC;qBAChB;oBACD,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE;wBACf,UAAU,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;qBAC9C;oBACD,QAAQ,EAAE;wBACN,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,QAAQ;qBACpB;iBACJ,CAAC;aACL;SACJ;IACL,CAAC;IACD,cAAc,CAAC,IAAyB,EAAE,KAAgB;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAoB,CAAC;QAC/C,IAAI,IAAI,CAAC;QACT,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC3F,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACrC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACpC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC7D,IAAI,iBAAiB,8CAAsC,EAAE;oBACzD,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;iBAC/D;qBAAM,IAAI,iBAAiB,+CAAuC,EAAE;oBACjE,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;iBAChE;aACJ;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACrD,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC9B,IAAI,QAAQ,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtD,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;aAC5C;iBAAM;gBACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACzE;SACJ;aAAM;YACH,cAAc,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACtD,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAChC,IAAI,QAAQ,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvD,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;aAC7C;iBAAM;gBACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC1E;SACJ;QACD,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,4DAA4D;YAC5D,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAChG;YACL,CAAC,EAAE,CAAC,CAAC,CAAC;SACT;IACL,CAAC;IACD,eAAe,CAAC,IAAyB;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAS,CAAC;QAClD,IAAI,IAAI,CAAC;QACT,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACrC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACpC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC7D,IAAI,iBAAiB,KAAK,CAAC,EAAE;oBACzB,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;iBAC/D;qBAAM,IAAI,iBAAiB,KAAK,CAAC,EAAE;oBAChC,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;iBAChE;aACJ;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;YACjH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACjC;aAAM;YACH,cAAc,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;YACnH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;SACnC;IACL,CAAC;IACD,iBAAiB,CAAC,IAA2B;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;IACL,CAAC;IACD,eAAe,CAAC,KAAmB;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,KAAK,YAAY,CAAC,MAAM,IAAI,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC;IACpF,CAAC;IAGD,WAAW,CAAC,MAA4B,EAAE,IAAyB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,MAAM,EAAE;oBACR,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;iBACrB;aACJ;YACD,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,CAAC;SACZ;aAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC;SACjB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,CAAC;SACZ;aAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACpB,OAAO,CAAC,MAAM,CAAC;SAClB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAyB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,qBAAqB;QAC9F,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1D;QACD,MAAM,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC;QACrG,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC;SAC/C;aAAM;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;SAChD;QACD,IAAI,QAAQ,KAAK,CAAC,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAS,CAAC;YAC7C,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;aACjC;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3G,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;aACxC;SACJ;aAAM;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;QAED,wDAAwD;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC7B,GAAG,CACA,CAAC,CAAC,EAAE,EAAE,CACF,IAAI,CAAC,CAAC,CAAC;YACP,MAAM,CAAC,MAAM,CACT;gBACI,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS;gBACzC,QAAQ;aACX,EACD,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7D,CACR;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI;YACA,IAAI,QAAQ,EAAE;gBACV,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;iBACtE;gBACD,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;aACtC;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,GAAG,CAAC;SACb;gBAAS;YACN,0CAA0C;YAC1C,wCAAwC;YACxC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1F,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC/B,IAAI,QAAQ,KAAK,CAAC,EAAE;oBAChB,yBAAyB;oBACzB,iCAAiC;oBACjC,IAAI;iBACP;qBAAM;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAS,CAAC;oBAC7C,IAAI,MAAM,EAAE;wBACR,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC;qBAChC;oBACD,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;wBAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC;qBACvC;iBACJ;aACJ;YACD,IAAI,eAAe,EAAE;gBACjB,IAAI,QAAQ,KAAK,CAAC,EAAE;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAqB,CAAC,CAAC;iBAC1E;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAqB,CAAC,CAAC;iBACzE;aACJ;SACJ;IACL,CAAC;IACD,YAAY;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,IAA0B;QAC/B,IAAI,IAAI,EAAE;YACN,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;SACrC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAA0B;QACnC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,GAAG,MAAM,CAAC;aACjB;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBACzB,IAAI,GAAG,OAAO,CAAC;aAClB;iBAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC1B,IAAI,GAAG,QAAQ,CAAC;aACnB;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBACvB,IAAI,GAAG,KAAK,CAAC;aAChB;iBAAM;gBACH,OAAO;aACV;SACJ;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAA0B,EAAE,QAAQ,GAAG,IAAI,CAAC,qBAAqB;QACxE,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,GAAG,MAAM,CAAC;aACjB;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBACzB,IAAI,GAAG,OAAO,CAAC;aAClB;iBAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC1B,IAAI,GAAG,QAAQ,CAAC;aACnB;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBACvB,IAAI,GAAG,KAAK,CAAC;aAChB;iBAAM;gBACH,OAAO;aACV;SACJ;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC9B;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;SACjE;aAAM;YACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClE;IACL,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,IAA0B,EAAE,QAAQ,GAAG,IAAI,CAAC,sBAAsB;QAC1E,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;aAC5B;iBAAM;gBACH,OAAO;aACV;SACJ;QACD,4BAA4B;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;CAOJ,CAAA;AAl1BY,MAAM;IADlB,OAAO,CAAC,QAAQ,CAAC;GACL,MAAM,CAk1BlB;SAl1BY,MAAM;AAo1BnB,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,QAAQ,CAAe;IAC1D,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;CACJ,CAAC,CAAC;AAEH,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3C,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7C,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7C,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3C,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtC,6BAA6B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE/C,MAAM,UAAU,OAAO;IACnB,eAAe,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-drawer",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "Easily add a side drawer (side menu) to your projects.",
5
5
  "main": "./index",
6
6
  "sideEffects": false,
@@ -54,5 +54,5 @@
54
54
  "dependencies": {
55
55
  "@nativescript-community/gesturehandler": "^2.0.8"
56
56
  },
57
- "gitHead": "a88e895a57cc5e1dca1fcda5c1e3ad2b74bdc395"
57
+ "gitHead": "5f59c2df55ea1a8a728bd5c4d5f254adf88f3736"
58
58
  }