@taiga-ui/addon-mobile 2.26.0 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +4 -5
  2. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js +10 -10
  3. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js.map +1 -1
  4. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js +1 -1
  5. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js +19 -15
  7. package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-mobile-components-sheet.umd.min.js +1 -1
  9. package/bundles/taiga-ui-addon-mobile-components-sheet.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js +6 -6
  11. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.min.js +1 -1
  13. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js +1 -1
  15. package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.min.js +1 -1
  17. package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.min.js.map +1 -1
  18. package/components/mobile-calendar/mobile-calendar.component.d.ts +7 -7
  19. package/components/mobile-calendar/mobile-calendar.strategy.d.ts +1 -1
  20. package/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.metadata.json +1 -1
  21. package/components/sheet/components/sheet/sheet.component.d.ts +4 -4
  22. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +3 -2
  23. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +1 -1
  24. package/components/sheet/taiga-ui-addon-mobile-components-sheet.metadata.json +1 -1
  25. package/directives/ripple/ripple.providers.d.ts +2 -2
  26. package/directives/ripple/taiga-ui-addon-mobile-directives-ripple.metadata.json +1 -1
  27. package/directives/sidebar/sidebar.directive.d.ts +1 -1
  28. package/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.metadata.json +1 -1
  29. package/esm2015/components/mobile-calendar/mobile-calendar.component.js +11 -11
  30. package/esm2015/components/mobile-calendar/mobile-calendar.strategy.js +1 -1
  31. package/esm2015/components/sheet/components/sheet/sheet.component.js +10 -9
  32. package/esm2015/components/sheet/directives/sheet-close/sheet-close.directive.js +14 -11
  33. package/esm2015/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +1 -1
  34. package/esm2015/directives/ripple/ripple.providers.js +8 -8
  35. package/esm2015/directives/sidebar/sidebar.directive.js +2 -2
  36. package/esm5/components/mobile-calendar/mobile-calendar.component.js +11 -11
  37. package/esm5/components/mobile-calendar/mobile-calendar.strategy.js +1 -1
  38. package/esm5/components/sheet/components/sheet/sheet.component.js +10 -9
  39. package/esm5/components/sheet/directives/sheet-close/sheet-close.directive.js +14 -11
  40. package/esm5/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +1 -1
  41. package/esm5/directives/ripple/ripple.providers.js +8 -8
  42. package/esm5/directives/sidebar/sidebar.directive.js +2 -2
  43. package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js +12 -12
  44. package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
  45. package/fesm2015/taiga-ui-addon-mobile-components-sheet.js +20 -16
  46. package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
  47. package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js +7 -7
  48. package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
  49. package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js +1 -1
  50. package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
  51. package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js +12 -12
  52. package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
  53. package/fesm5/taiga-ui-addon-mobile-components-sheet.js +20 -16
  54. package/fesm5/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
  55. package/fesm5/taiga-ui-addon-mobile-directives-ripple.js +7 -7
  56. package/fesm5/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
  57. package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js +1 -1
  58. package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
  59. package/package.json +6 -6
  60. package/styles/tinkoff-ui-angular-mobile.less +1 -0
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiSidebarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"aside[tuiSidebar]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":23,"character":21},"member":"OnPush"},"animations":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"tuiSlideIn","line":24,"character":17}],"template":"<div\n polymorpheus-outlet\n tuiActiveZone\n class=\"t-wrapper\"\n [content]=\"content\"\n [class.t-wrapper_auto-width]=\"autoWidth\"\n></div>\n","styles":[":host{position:fixed;top:0;left:0;width:100%;height:100%;display:flex}:host:after,:host:before{position:absolute;top:0;left:0;width:100%;content:'';height:100vh;background:rgba(0,0,0,.38);-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:before{left:-100%;width:200%}:host:after{left:100%}:host.ng-animating:after,:host.ng-animating:before{opacity:0;transition:opacity var(--tui-duration)}:host.right{justify-content:flex-end}:host.left{justify-content:flex-start}.t-wrapper{position:relative;display:flex;flex-direction:column;background:var(--tui-base-01);box-shadow:0 10rem var(--tui-base-01);width:17.25rem}.t-wrapper_auto-width{width:auto}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_ANIMATION_OPTIONS","line":38,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiSidebarDirective"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/animations","name":"AnimationOptions","line":38,"character":65},{"__symbolic":"reference","name":"TuiSidebarDirective"}]}],"animation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":42,"character":5},"arguments":["@tuiSlideIn"]}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":47,"character":5},"arguments":["class"]}]}],"ngDoCheck":[{"__symbolic":"method"}]}},"TuiSidebarDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusTemplate","line":20,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"[tuiSidebar]"}]}],"members":{"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5},"arguments":["tuiSidebarDirection"]}]}],"autoWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["tuiSidebarAutoWidth"]}]}],"tuiSidebar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":39,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":40,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":41,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":41,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPortalService","line":43,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":44,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":39,"character":59,"module":"./sidebar.directive"}]},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":40,"character":53},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":42,"character":51},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPortalService","line":43,"character":66},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":44,"character":54}]}],"ngOnDestroy":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}]}},"TuiSidebarModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":8,"character":14},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":8,"character":35}],"declarations":[{"__symbolic":"reference","name":"TuiSidebarDirective"},{"__symbolic":"reference","name":"TuiSidebarComponent"}],"entryComponents":[{"__symbolic":"reference","name":"TuiSidebarComponent"}],"exports":[{"__symbolic":"reference","name":"TuiSidebarDirective"}]}]}],"members":{}}},"origins":{"TuiSidebarComponent":"./sidebar.component","TuiSidebarDirective":"./sidebar.directive","TuiSidebarModule":"./sidebar.module"},"importAs":"@taiga-ui/addon-mobile/directives/sidebar"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiSidebarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"aside[tuiSidebar]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":23,"character":21},"member":"OnPush"},"animations":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"tuiSlideIn","line":24,"character":17}],"template":"<div\n polymorpheus-outlet\n tuiActiveZone\n class=\"t-wrapper\"\n [content]=\"content\"\n [class.t-wrapper_auto-width]=\"autoWidth\"\n></div>\n","styles":[":host{position:fixed;top:0;left:0;width:100%;height:100%;display:flex}:host:after,:host:before{position:absolute;top:0;left:0;width:100%;content:'';height:100vh;background:rgba(0,0,0,.38);-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:before{left:-100%;width:200%}:host:after{left:100%}:host.ng-animating:after,:host.ng-animating:before{opacity:0;transition:opacity var(--tui-duration)}:host.right{justify-content:flex-end}:host.left{justify-content:flex-start}.t-wrapper{position:relative;display:flex;flex-direction:column;background:var(--tui-base-01);box-shadow:0 10rem var(--tui-base-01);width:17.25rem}.t-wrapper_auto-width{width:auto}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_ANIMATION_OPTIONS","line":38,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiSidebarDirective"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/animations","name":"AnimationOptions","line":38,"character":65},{"__symbolic":"reference","name":"TuiSidebarDirective"}]}],"animation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":42,"character":5},"arguments":["@tuiSlideIn"]}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":47,"character":5},"arguments":["class"]}]}],"ngDoCheck":[{"__symbolic":"method"}]}},"TuiSidebarDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusTemplate","line":20,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"[tuiSidebar]"}]}],"members":{"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5},"arguments":["tuiSidebarDirection"]}]}],"autoWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5},"arguments":["tuiSidebarAutoWidth"]}]}],"tuiSidebar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":39,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":40,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":41,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":41,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPortalService","line":43,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":44,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":39,"character":59,"module":"./sidebar.directive"}]},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":40,"character":53},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":42,"character":51},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPortalService","line":43,"character":66},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":44,"character":54}]}],"ngOnDestroy":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}]}},"TuiSidebarModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":8,"character":14},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":8,"character":35}],"declarations":[{"__symbolic":"reference","name":"TuiSidebarDirective"},{"__symbolic":"reference","name":"TuiSidebarComponent"}],"entryComponents":[{"__symbolic":"reference","name":"TuiSidebarComponent"}],"exports":[{"__symbolic":"reference","name":"TuiSidebarDirective"}]}]}],"members":{}}},"origins":{"TuiSidebarComponent":"./sidebar.component","TuiSidebarDirective":"./sidebar.directive","TuiSidebarModule":"./sidebar.module"},"importAs":"@taiga-ui/addon-mobile/directives/sidebar"}
@@ -18,21 +18,21 @@ let TuiMobileCalendarComponent = class TuiMobileCalendarComponent {
18
18
  this.doneWord$ = doneWord$;
19
19
  this.weekDays$ = weekDays$;
20
20
  this.chooseDayOrRangeTexts$ = chooseDayOrRangeTexts$;
21
+ this.today = TuiDay.currentLocal();
22
+ this.activeYear = this.initialYear;
23
+ this.activeMonth = this.initialMonth;
21
24
  this.single = true;
22
25
  this.min = TUI_FIRST_DAY;
23
26
  this.max = TUI_LAST_DAY;
24
27
  this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
25
- this.value = null;
26
28
  this.cancel = new EventEmitter();
27
29
  this.confirm = new EventEmitter();
30
+ this.value = null;
28
31
  this.years = Array.from({ length: RANGE }, (_, i) => i + STARTING_YEAR);
29
32
  this.months = Array.from({ length: RANGE * 12 }, (_, i) => new TuiMonth(Math.floor(i / MONTHS_IN_YEAR) + STARTING_YEAR, i % MONTHS_IN_YEAR));
30
33
  this.disabledItemHandlerMapper = (disabledItemHandler, min, max) => item => item.dayBefore(min) ||
31
34
  (max !== null && item.dayAfter(max)) ||
32
35
  disabledItemHandler(item);
33
- this.today = TuiDay.currentLocal();
34
- this.activeYear = this.initialYear;
35
- this.activeMonth = this.initialMonth;
36
36
  this.isIOS = isIOS;
37
37
  valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {
38
38
  this.value = value;
@@ -207,6 +207,12 @@ TuiMobileCalendarComponent.ctorParameters = () => [
207
207
  { type: Observable, decorators: [{ type: Inject, args: [TUI_ORDERED_SHORT_WEEK_DAYS,] }] },
208
208
  { type: Observable, decorators: [{ type: Inject, args: [TUI_CHOOSE_DAY_OR_RANGE_TEXTS,] }] }
209
209
  ];
210
+ __decorate([
211
+ ViewChild('yearsScrollRef')
212
+ ], TuiMobileCalendarComponent.prototype, "yearsScrollRef", void 0);
213
+ __decorate([
214
+ ViewChild('monthsScrollRef')
215
+ ], TuiMobileCalendarComponent.prototype, "monthsScrollRef", void 0);
210
216
  __decorate([
211
217
  Input(),
212
218
  tuiDefaultProp()
@@ -232,12 +238,6 @@ __decorate([
232
238
  __decorate([
233
239
  HostBinding('class._ios')
234
240
  ], TuiMobileCalendarComponent.prototype, "isIOS", void 0);
235
- __decorate([
236
- ViewChild('yearsScrollRef')
237
- ], TuiMobileCalendarComponent.prototype, "yearsScrollRef", void 0);
238
- __decorate([
239
- ViewChild('monthsScrollRef')
240
- ], TuiMobileCalendarComponent.prototype, "monthsScrollRef", void 0);
241
241
  TuiMobileCalendarComponent = __decorate([
242
242
  Component({
243
243
  selector: 'tui-mobile-calendar',
@@ -257,4 +257,4 @@ TuiMobileCalendarComponent = __decorate([
257
257
  __param(8, Inject(TUI_CHOOSE_DAY_OR_RANGE_TEXTS))
258
258
  ], TuiMobileCalendarComponent);
259
259
  export { TuiMobileCalendarComponent };
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXIvIiwic291cmNlcyI6WyJtb2JpbGUtY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsYUFBYSxFQUNiLFVBQVUsRUFDVixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixXQUFXLEVBQ1gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFDSCxlQUFlLEVBQ2YsNkJBQTZCLEVBQzdCLGFBQWEsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFDSCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1AsR0FBRyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gsS0FBSyxFQUNMLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsWUFBWSxHQUNmLE1BQU0seUJBQXlC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Y0FBYyxFQUFFO3VEQUNHO0FBSXBCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3VEQUNFO0FBSW5CO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3VFQUNxRDtBQUt0RTtJQURDLE1BQU0sRUFBRTswREFDa0M7QUFHM0M7SUFEQyxNQUFNLEVBQUU7MkRBQ21EO0FBRzVEO0lBREMsV0FBVyxDQUFDLFlBQVksQ0FBQzt5REFDRjtBQTRCeEI7SUFEQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7a0VBQytCO0FBRzNEO0lBREMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO21FQUMrQjtBQXpEbkQsMEJBQTBCO0lBUHRDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsbzBFQUE4QztRQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUUsNkJBQTZCOztLQUMzQyxDQUFDO0lBNkRPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUV4QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN0QixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNyQixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBSW5DLFdBQUEsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7R0F6RWpDLDBCQUEwQixDQStVdEM7U0EvVVksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIE1PTlRIU19JTl9ZRUFSLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0lTX0lPUyxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aU1hcHBlcixcbiAgICBUdWlNb250aCxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9DTE9TRV9XT1JELCBUVUlfT1JERVJFRF9TSE9SVF9XRUVLX0RBWVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgVFVJX0NBTkNFTF9XT1JELFxuICAgIFRVSV9DSE9PU0VfREFZX09SX1JBTkdFX1RFWFRTLFxuICAgIFRVSV9ET05FX1dPUkQsXG59IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCByYWNlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlYm91bmNlVGltZSxcbiAgICBkZWxheSxcbiAgICBmaWx0ZXIsXG4gICAgZmxhdE1hcCxcbiAgICBtYXAsXG4gICAgc3dpdGNoTWFwLFxuICAgIHN3aXRjaE1hcFRvLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHdpbmRvd1RvZ2dsZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICAgIFJBTkdFLFxuICAgIFNDUk9MTF9ERUJPVU5DRV9USU1FLFxuICAgIFNUQVJUSU5HX1lFQVIsXG4gICAgWUVBUlNfSU5fUk9XLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5jb25zdCc7XG5pbXBvcnQge1xuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTLFxuICAgIFRVSV9WQUxVRV9TVFJFQU0sXG59IGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb2JpbGUtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWNhbGVuZGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpbmdsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgdmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXlSYW5nZSB8IFR1aURheT4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2lvcycpXG4gICAgcmVhZG9ubHkgaXNJT1M6IGJvb2xlYW47XG5cbiAgICByZWFkb25seSB5ZWFycyA9IEFycmF5LmZyb20oe2xlbmd0aDogUkFOR0V9LCAoXywgaSkgPT4gaSArIFNUQVJUSU5HX1lFQVIpO1xuXG4gICAgcmVhZG9ubHkgbW9udGhzID0gQXJyYXkuZnJvbShcbiAgICAgICAge2xlbmd0aDogUkFOR0UgKiAxMn0sXG4gICAgICAgIChfLCBpKSA9PlxuICAgICAgICAgICAgbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoaSAvIE1PTlRIU19JTl9ZRUFSKSArIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgaSAlIE1PTlRIU19JTl9ZRUFSLFxuICAgICAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcmVhZG9ubHkgZGlzYWJsZWRJdGVtSGFuZGxlck1hcHBlcjogVHVpTWFwcGVyPFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+LFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+XG4gICAgPiA9IChkaXNhYmxlZEl0ZW1IYW5kbGVyLCBtaW46IFR1aURheSwgbWF4OiBUdWlEYXkpID0+IGl0ZW0gPT5cbiAgICAgICAgaXRlbS5kYXlCZWZvcmUobWluKSB8fFxuICAgICAgICAobWF4ICE9PSBudWxsICYmIGl0ZW0uZGF5QWZ0ZXIobWF4KSkgfHxcbiAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBwcml2YXRlIGFjdGl2ZVllYXIgPSB0aGlzLmluaXRpYWxZZWFyO1xuXG4gICAgcHJpdmF0ZSBhY3RpdmVNb250aCA9IHRoaXMuaW5pdGlhbE1vbnRoO1xuXG4gICAgQFZpZXdDaGlsZCgneWVhcnNTY3JvbGxSZWYnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgeWVhcnNTY3JvbGxSZWY/OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgICBAVmlld0NoaWxkKCdtb250aHNTY3JvbGxSZWYnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9udGhzU2Nyb2xsUmVmPzogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgaXNJT1M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChUVUlfVkFMVUVfU1RSRUFNKVxuICAgICAgICB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8VHVpRGF5UmFuZ2UgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfQ0xPU0VfV09SRCkgcmVhZG9ubHkgY2xvc2VXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KFRVSV9DQU5DRUxfV09SRCkgcmVhZG9ubHkgY2FuY2VsV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfRE9ORV9XT1JEKSByZWFkb25seSBkb25lV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfT1JERVJFRF9TSE9SVF9XRUVLX0RBWVMpXG4gICAgICAgIHJlYWRvbmx5IHdlZWtEYXlzJDogT2JzZXJ2YWJsZTxcbiAgICAgICAgICAgIFtzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddXG4gICAgICAgID4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGNob29zZURheU9yUmFuZ2VUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaXNJT1MgPSBpc0lPUztcblxuICAgICAgICB2YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCB5ZWFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRSZWYuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gWUVBUlNfSU5fUk9XO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vbnRoc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmlydHVhbCBzY3JvbGwgaGFzIG5vdCB5ZXQgcmVuZGVyZWQgaXRlbXMgZXZlbiBpbiBuZ0FmdGVyVmlld0luaXRcbiAgICAgICAgdGhpcy5tb250aHNTY3JvbGxSZWYuc2Nyb2xsZWRJbmRleENoYW5nZVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRZZWFyU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0TW9udGhTY3JvbGwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkNvbmZpcm0oKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpIHtcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF5O1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlID09PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5IHx8XG4gICAgICAgICAgICAhdGhpcy52YWx1ZS5pc1NpbmdsZURheVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgVHVpRGF5UmFuZ2UoZGF5LCBkYXkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gVHVpRGF5UmFuZ2Uuc29ydCh0aGlzLnZhbHVlLmZyb20sIGRheSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGUoaW5kZXg6IG51bWJlcik6ICdhY3RpdmUnIHwgJ2FkamFjZW50JyB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXggLSAxKSB8fCB0aGlzLmlzWWVhckFjdGl2ZShpbmRleCArIDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FkamFjZW50JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG9uTW9udGhDaGFuZ2UobW9udGg6IG51bWJlcikge1xuICAgICAgICAvLyBTa2lwcGluZyBpbml0aWFsIGNhbGxiYWNrIHdoZXJlIGluZGV4ID09PSAwXG4gICAgICAgIGlmICghbW9udGggfHwgdGhpcy5hY3RpdmVNb250aCA9PT0gbW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlTW9udGggPSBtb250aDtcblxuICAgICAgICBjb25zdCBhY3RpdmVZZWFyID0gdGhpcy5tb250aFRvWWVhcihtb250aCk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZVllYXIgPT09IHRoaXMuYWN0aXZlWWVhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0gYWN0aXZlWWVhcjtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoKTtcbiAgICB9XG5cbiAgICBzZXRZZWFyKHllYXI6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVZZWFyID09PSB5ZWFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoICs9IHRoaXMuZ2V0TW9udGhPZmZzZXQoeWVhcik7XG4gICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IHllYXI7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCdzbW9vdGgnKTtcblxuICAgICAgICAvLyBEZWxheSBpcyByZXF1aXJlZCB0byBydW4gbW9udGhzIHNjcm9sbCBpbiB0aGUgbmV4dCBmcmFtZSB0byBwcmV2ZW50IGZsaWNrZXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2RheS55ZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnllYXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5mcm9tLnllYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkubW9udGggKyAodGhpcy50b2RheS55ZWFyIC0gU1RBUlRJTkdfWUVBUikgKiBNT05USFNfSU5fWUVBUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tb250aCArICh0aGlzLnZhbHVlLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudmFsdWUuZnJvbS5tb250aCArXG4gICAgICAgICAgICAodGhpcy52YWx1ZS5mcm9tLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0WWVhclNjcm9sbCgpIHtcbiAgICAgICAgY29uc3Qge3llYXJzU2Nyb2xsUmVmfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF5ZWFyc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG91Y2hzdGFydCQgPSB0eXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdG91Y2hlbmQkID0gdHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hlbmQnLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjbGljayQgPSB0eXBlZEZyb21FdmVudCh5ZWFyc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggYWN0aXZlWWVhclxuICAgICAgICB5ZWFyc1Njcm9sbFJlZlxuICAgICAgICAgICAgLmVsZW1lbnRTY3JvbGxlZCgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgc21vb3RoIHNjcm9sbCByZXN1bHRpbmcgZnJvbSBjbGljayBvbiB0aGUgZXhhY3QgeWVhclxuICAgICAgICAgICAgICAgIHdpbmRvd1RvZ2dsZSh0b3VjaHN0YXJ0JCwgKCkgPT4gY2xpY2skKSxcbiAgICAgICAgICAgICAgICBmbGF0TWFwKHggPT4geCksXG4gICAgICAgICAgICAgICAgLy8gRGVsYXkgaXMgcmVxdWlyZWQgdG8gcnVuIG1vbnRocyBzY3JvbGwgaW4gdGhlIG5leHQgZnJhbWUgdG8gcHJldmVudCBmbGlja2VyXG4gICAgICAgICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5tZWFzdXJlU2Nyb2xsT2Zmc2V0KCkgLyB0aGlzLnllYXJXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcihZRUFSU19JTl9ST1cgLyAyKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBTVEFSVElOR19ZRUFSLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGFjdGl2ZVllYXIgPT4gYWN0aXZlWWVhciAhPT0gdGhpcy5hY3RpdmVZZWFyKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFjdGl2ZVllYXIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTW9udGggKz0gdGhpcy5nZXRNb250aE9mZnNldChhY3RpdmVZZWFyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSBhY3RpdmVZZWFyO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU21vb3RoIHNjcm9sbCB0byBhY3RpdmVZZWFyIGFmdGVyIHNjcm9sbGluZyBpcyBkb25lXG4gICAgICAgIHRvdWNoc3RhcnQkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdG91Y2hlbmQkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmFjZTx1bmtub3duPihcbiAgICAgICAgICAgICAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRTY3JvbGxlZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIoU0NST0xMX0RFQk9VTkNFX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoU0NST0xMX0RFQk9VTkNFX1RJTUUgKiAyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodG91Y2hzdGFydCQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoJ3Ntb290aCcpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TW9udGhTY3JvbGwoKSB7XG4gICAgICAgIGNvbnN0IHttb250aHNTY3JvbGxSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIW1vbnRoc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG91Y2hzdGFydCQgPSB0eXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIG1vbnRoc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hzdGFydCcsXG4gICAgICAgICAgICB7cGFzc2l2ZTogdHJ1ZX0sXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRvdWNoZW5kJCA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaGVuZCcsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gU21vb3RoIHNjcm9sbCB0byBjbG9zZXN0IG1vbnRoIGFmdGVyIHNjcm9sbGluZyBpcyBkb25lXG4gICAgICAgIHRvdWNoc3RhcnQkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXBUbyh0b3VjaGVuZCQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgICAgICByYWNlPHVua25vd24+KFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRTY3JvbGxlZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIoU0NST0xMX0RFQk9VTkNFX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoU0NST0xMX0RFQk9VTkNFX1RJTUUgKiAyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodG91Y2hzdGFydCQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCdzbW9vdGgnKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2Nyb2xsVG9BY3RpdmVZZWFyKGJlaGF2aW9yPzogU2Nyb2xsQmVoYXZpb3IpIHtcbiAgICAgICAgaWYgKHRoaXMueWVhcnNTY3JvbGxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMueWVhcnNTY3JvbGxSZWYuc2Nyb2xsVG9JbmRleChcbiAgICAgICAgICAgICAgICBNYXRoLm1heCh0aGlzLmFjdGl2ZVllYXIgLSBTVEFSVElOR19ZRUFSIC0gMiwgMCksXG4gICAgICAgICAgICAgICAgYmVoYXZpb3IsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0FjdGl2ZU1vbnRoKGJlaGF2aW9yPzogU2Nyb2xsQmVoYXZpb3IpIHtcbiAgICAgICAgaWYgKHRoaXMubW9udGhzU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm1vbnRoc1Njcm9sbFJlZi5zY3JvbGxUb0luZGV4KHRoaXMuYWN0aXZlTW9udGgsIGJlaGF2aW9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNZZWFyQWN0aXZlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmFjdGl2ZVllYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb250aFRvWWVhcihtb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCgobW9udGggKyAxKSAvIE1PTlRIU19JTl9ZRUFSKSArIFNUQVJUSU5HX1lFQVIgLSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9udGhPZmZzZXQoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh5ZWFyIC0gdGhpcy5hY3RpdmVZZWFyKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgIH1cbn1cbiJdfQ==
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXIvIiwic291cmNlcyI6WyJtb2JpbGUtY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsYUFBYSxFQUNiLFVBQVUsRUFDVixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixXQUFXLEVBQ1gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFDSCxlQUFlLEVBQ2YsNkJBQTZCLEVBQzdCLGFBQWEsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFDSCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1AsR0FBRyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gsS0FBSyxFQUNMLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsWUFBWSxHQUNmLE1BQU0seUJBQXlC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aUIsQ0FBQzttRUFDK0I7QUFRNUQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7MERBQ0g7QUFJZDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1REFDRztBQUlwQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1REFDRTtBQUluQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1RUFDcUQ7QUFHdEU7SUFEQyxNQUFNLEVBQUU7MERBQ2tDO0FBRzNDO0lBREMsTUFBTSxFQUFFOzJEQUNtRDtBQUc1RDtJQURDLFdBQVcsQ0FBQyxZQUFZLENBQUM7eURBQ0Y7QUFsQ2YsMEJBQTBCO0lBUHRDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsbzBFQUE4QztRQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUUsNkJBQTZCOztLQUMzQyxDQUFDO0lBbURPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUV4QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN0QixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNyQixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBSW5DLFdBQUEsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7R0EvRGpDLDBCQUEwQixDQTZVdEM7U0E3VVksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIE1PTlRIU19JTl9ZRUFSLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0lTX0lPUyxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aU1hcHBlcixcbiAgICBUdWlNb250aCxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9DTE9TRV9XT1JELCBUVUlfT1JERVJFRF9TSE9SVF9XRUVLX0RBWVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgVFVJX0NBTkNFTF9XT1JELFxuICAgIFRVSV9DSE9PU0VfREFZX09SX1JBTkdFX1RFWFRTLFxuICAgIFRVSV9ET05FX1dPUkQsXG59IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCByYWNlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlYm91bmNlVGltZSxcbiAgICBkZWxheSxcbiAgICBmaWx0ZXIsXG4gICAgZmxhdE1hcCxcbiAgICBtYXAsXG4gICAgc3dpdGNoTWFwLFxuICAgIHN3aXRjaE1hcFRvLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHdpbmRvd1RvZ2dsZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICAgIFJBTkdFLFxuICAgIFNDUk9MTF9ERUJPVU5DRV9USU1FLFxuICAgIFNUQVJUSU5HX1lFQVIsXG4gICAgWUVBUlNfSU5fUk9XLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5jb25zdCc7XG5pbXBvcnQge1xuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTLFxuICAgIFRVSV9WQUxVRV9TVFJFQU0sXG59IGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb2JpbGUtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWNhbGVuZGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhckNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgneWVhcnNTY3JvbGxSZWYnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgeWVhcnNTY3JvbGxSZWY/OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgICBAVmlld0NoaWxkKCdtb250aHNTY3JvbGxSZWYnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9udGhzU2Nyb2xsUmVmPzogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcbiAgICBwcml2YXRlIGFjdGl2ZVllYXIgPSB0aGlzLmluaXRpYWxZZWFyO1xuICAgIHByaXZhdGUgYWN0aXZlTW9udGggPSB0aGlzLmluaXRpYWxNb250aDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaW5nbGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheVJhbmdlIHwgVHVpRGF5PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faW9zJylcbiAgICByZWFkb25seSBpc0lPUzogYm9vbGVhbjtcblxuICAgIHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IG51bGwgPSBudWxsO1xuXG4gICAgcmVhZG9ubHkgeWVhcnMgPSBBcnJheS5mcm9tKHtsZW5ndGg6IFJBTkdFfSwgKF8sIGkpID0+IGkgKyBTVEFSVElOR19ZRUFSKTtcblxuICAgIHJlYWRvbmx5IG1vbnRocyA9IEFycmF5LmZyb20oXG4gICAgICAgIHtsZW5ndGg6IFJBTkdFICogMTJ9LFxuICAgICAgICAoXywgaSkgPT5cbiAgICAgICAgICAgIG5ldyBUdWlNb250aChcbiAgICAgICAgICAgICAgICBNYXRoLmZsb29yKGkgLyBNT05USFNfSU5fWUVBUikgKyBTVEFSVElOR19ZRUFSLFxuICAgICAgICAgICAgICAgIGkgJSBNT05USFNfSU5fWUVBUixcbiAgICAgICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIGlzSU9TOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX1ZBTFVFX1NUUkVBTSlcbiAgICAgICAgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPFR1aURheVJhbmdlIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NMT1NFX1dPUkQpIHJlYWRvbmx5IGNsb3NlV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfQ0FOQ0VMX1dPUkQpIHJlYWRvbmx5IGNhbmNlbFdvcmQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPTkVfV09SRCkgcmVhZG9ubHkgZG9uZVdvcmQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoVFVJX09SREVSRURfU0hPUlRfV0VFS19EQVlTKVxuICAgICAgICByZWFkb25seSB3ZWVrRGF5cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nXVxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9DSE9PU0VfREFZX09SX1JBTkdFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBjaG9vc2VEYXlPclJhbmdlVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICB0aGlzLmlzSU9TID0gaXNJT1M7XG5cbiAgICAgICAgdmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgeWVhcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50UmVmLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIFlFQVJTX0lOX1JPVztcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5tb250aHNTY3JvbGxSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZpcnR1YWwgc2Nyb2xsIGhhcyBub3QgeWV0IHJlbmRlcmVkIGl0ZW1zIGV2ZW4gaW4gbmdBZnRlclZpZXdJbml0XG4gICAgICAgIHRoaXMubW9udGhzU2Nyb2xsUmVmLnNjcm9sbGVkSW5kZXhDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0WWVhclNjcm9sbCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdE1vbnRoU2Nyb2xsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKCkge1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25Db25maXJtKCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb25maXJtLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKGRheTogVHVpRGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNpbmdsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRheTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSB8fFxuICAgICAgICAgICAgIXRoaXMudmFsdWUuaXNTaW5nbGVEYXlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IFR1aURheVJhbmdlKGRheSwgZGF5KTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IFR1aURheVJhbmdlLnNvcnQodGhpcy52YWx1ZS5mcm9tLCBkYXkpO1xuICAgIH1cblxuICAgIGdldFN0YXRlKGluZGV4OiBudW1iZXIpOiAnYWN0aXZlJyB8ICdhZGphY2VudCcgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaXNZZWFyQWN0aXZlKGluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNZZWFyQWN0aXZlKGluZGV4IC0gMSkgfHwgdGhpcy5pc1llYXJBY3RpdmUoaW5kZXggKyAxKSkge1xuICAgICAgICAgICAgcmV0dXJuICdhZGphY2VudCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBudW1iZXIpIHtcbiAgICAgICAgLy8gU2tpcHBpbmcgaW5pdGlhbCBjYWxsYmFjayB3aGVyZSBpbmRleCA9PT0gMFxuICAgICAgICBpZiAoIW1vbnRoIHx8IHRoaXMuYWN0aXZlTW9udGggPT09IG1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGg7XG5cbiAgICAgICAgY29uc3QgYWN0aXZlWWVhciA9IHRoaXMubW9udGhUb1llYXIobW9udGgpO1xuXG4gICAgICAgIGlmIChhY3RpdmVZZWFyID09PSB0aGlzLmFjdGl2ZVllYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCk7XG4gICAgfVxuXG4gICAgc2V0WWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlWWVhciA9PT0geWVhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCArPSB0aGlzLmdldE1vbnRoT2Zmc2V0KHllYXIpO1xuICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcignc21vb3RoJyk7XG5cbiAgICAgICAgLy8gRGVsYXkgaXMgcmVxdWlyZWQgdG8gcnVuIG1vbnRocyBzY3JvbGwgaW4gdGhlIG5leHQgZnJhbWUgdG8gcHJldmVudCBmbGlja2VyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PixcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PlxuICAgID4gPSAoZGlzYWJsZWRJdGVtSGFuZGxlciwgbWluOiBUdWlEYXksIG1heDogVHVpRGF5KSA9PiBpdGVtID0+XG4gICAgICAgIGl0ZW0uZGF5QmVmb3JlKG1pbikgfHxcbiAgICAgICAgKG1heCAhPT0gbnVsbCAmJiBpdGVtLmRheUFmdGVyKG1heCkpIHx8XG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSk7XG5cbiAgICBwcml2YXRlIGdldCBpbml0aWFsWWVhcigpOiBudW1iZXIge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvZGF5LnllYXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUueWVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmZyb20ueWVhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpbml0aWFsTW9udGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2RheS5tb250aCArICh0aGlzLnRvZGF5LnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1vbnRoICsgKHRoaXMudmFsdWUueWVhciAtIFNUQVJUSU5HX1lFQVIpICogTU9OVEhTX0lOX1lFQVI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZS5mcm9tLm1vbnRoICtcbiAgICAgICAgICAgICh0aGlzLnZhbHVlLmZyb20ueWVhciAtIFNUQVJUSU5HX1lFQVIpICogTU9OVEhTX0lOX1lFQVJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRZZWFyU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCB7eWVhcnNTY3JvbGxSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIXllYXJzU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB0b3VjaGVuZCQgPSB0eXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaGVuZCcsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNsaWNrJCA9IHR5cGVkRnJvbUV2ZW50KHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJyk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBhY3RpdmVZZWFyXG4gICAgICAgIHllYXJzU2Nyb2xsUmVmXG4gICAgICAgICAgICAuZWxlbWVudFNjcm9sbGVkKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIElnbm9yZSBzbW9vdGggc2Nyb2xsIHJlc3VsdGluZyBmcm9tIGNsaWNrIG9uIHRoZSBleGFjdCB5ZWFyXG4gICAgICAgICAgICAgICAgd2luZG93VG9nZ2xlKHRvdWNoc3RhcnQkLCAoKSA9PiBjbGljayQpLFxuICAgICAgICAgICAgICAgIGZsYXRNYXAoeCA9PiB4KSxcbiAgICAgICAgICAgICAgICAvLyBEZWxheSBpcyByZXF1aXJlZCB0byBydW4gbW9udGhzIHNjcm9sbCBpbiB0aGUgbmV4dCBmcmFtZSB0byBwcmV2ZW50IGZsaWNrZXJcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnJvdW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLm1lYXN1cmVTY3JvbGxPZmZzZXQoKSAvIHRoaXMueWVhcldpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKFlFQVJTX0lOX1JPVyAvIDIpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoYWN0aXZlWWVhciA9PiBhY3RpdmVZZWFyICE9PSB0aGlzLmFjdGl2ZVllYXIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoYWN0aXZlWWVhciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCArPSB0aGlzLmdldE1vbnRoT2Zmc2V0KGFjdGl2ZVllYXIpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIHRvIGFjdGl2ZVllYXIgYWZ0ZXIgc2Nyb2xsaW5nIGlzIGRvbmVcbiAgICAgICAgdG91Y2hzdGFydCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0b3VjaGVuZCQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICByYWNlPHVua25vd24+KFxuICAgICAgICAgICAgICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFNjcm9sbGVkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lcihTQ1JPTExfREVCT1VOQ0VfVElNRSksXG4gICAgICAgICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZShTQ1JPTExfREVCT1VOQ0VfVElNRSAqIDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0b3VjaHN0YXJ0JCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcignc21vb3RoJyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRNb250aFNjcm9sbCgpIHtcbiAgICAgICAgY29uc3Qge21vbnRoc1Njcm9sbFJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbW9udGhzU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdG91Y2hlbmQkID0gdHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICBtb250aHNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoZW5kJyxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIHRvIGNsb3Nlc3QgbW9udGggYWZ0ZXIgc2Nyb2xsaW5nIGlzIGRvbmVcbiAgICAgICAgdG91Y2hzdGFydCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKHRvdWNoZW5kJCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwVG8oXG4gICAgICAgICAgICAgICAgICAgIHJhY2U8dW5rbm93bj4oXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aHNTY3JvbGxSZWYuZWxlbWVudFNjcm9sbGVkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lcihTQ1JPTExfREVCT1VOQ0VfVElNRSksXG4gICAgICAgICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZShTQ1JPTExfREVCT1VOQ0VfVElNRSAqIDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0b3VjaHN0YXJ0JCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoJ3Ntb290aCcpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0FjdGl2ZVllYXIoYmVoYXZpb3I/OiBTY3JvbGxCZWhhdmlvcikge1xuICAgICAgICBpZiAodGhpcy55ZWFyc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgdGhpcy55ZWFyc1Njcm9sbFJlZi5zY3JvbGxUb0luZGV4KFxuICAgICAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuYWN0aXZlWWVhciAtIFNUQVJUSU5HX1lFQVIgLSAyLCAwKSxcbiAgICAgICAgICAgICAgICBiZWhhdmlvcixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvQWN0aXZlTW9udGgoYmVoYXZpb3I/OiBTY3JvbGxCZWhhdmlvcikge1xuICAgICAgICBpZiAodGhpcy5tb250aHNTY3JvbGxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMubW9udGhzU2Nyb2xsUmVmLnNjcm9sbFRvSW5kZXgodGhpcy5hY3RpdmVNb250aCwgYmVoYXZpb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1llYXJBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuYWN0aXZlWWVhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vbnRoVG9ZZWFyKG1vbnRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKChtb250aCArIDEpIC8gTU9OVEhTX0lOX1lFQVIpICsgU1RBUlRJTkdfWUVBUiAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNb250aE9mZnNldCh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKHllYXIgLSB0aGlzLmFjdGl2ZVllYXIpICogTU9OVEhTX0lOX1lFQVI7XG4gICAgfVxufVxuIl19
@@ -119,4 +119,4 @@ export class TuiMobileCalendarStrategy {
119
119
  __decorate([
120
120
  tuiPure
121
121
  ], TuiMobileCalendarStrategy.prototype, "scrolledIndexChange", null);
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci8iLCJzb3VyY2VzIjpbIm1vYmlsZS1jYWxlbmRhci5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUNILGFBQWEsRUFDYixNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN4RCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVoRCxTQUFTLFdBQVcsQ0FDaEIsS0FBdUMsRUFDdkMsV0FBbUIsRUFBRSxFQUNyQixZQUFvQixFQUFFO0lBRXRCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDdkIsU0FBUyxJQUFJLFFBQVE7UUFDakIsQ0FBQyxDQUFDLEtBQUs7WUFDTCxJQUFJLENBQUMsTUFBTSxDQUNQLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUN2QixTQUFTLEdBQUcsUUFBUTtnQkFDcEIsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzlDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSztnQkFDYixDQUFDLENBQUMsR0FBRyxFQUNiLENBQUMsQ0FDSjtRQUNILENBQUMsQ0FBQyxL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QUFDLENBQUM7Z0JBQ3RFLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDbkIsVUFBVSxFQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDN0QsQ0FBQzthQUNMO1NBQ0o7UUFFRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQXJIRztJQURDLE9BQU87b0VBR1AiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgVmlydHVhbFNjcm9sbFN0cmF0ZWd5fSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7TU9OVEhTX0lOX1lFQVIsIHR1aVB1cmUsIFR1aVNjcm9sbFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBBTkRST0lEX0NZQ0xFLFxuICAgIEJVRkZFUixcbiAgICBJT1NfQ1lDTEUsXG4gICAgUkFOR0UsXG4gICAgWUVBUkxZX0NZQ0xFLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5jb25zdCc7XG5cbmNvbnN0IEFORFJPSURfQ1lDTEVfSEVJR0hUID0gcmVkdWNlQ3ljbGUoQU5EUk9JRF9DWUNMRSk7XG5jb25zdCBJT1NfQ1lDTEVfSEVJR0hUID0gcmVkdWNlQ3ljbGUoSU9TX0NZQ0xFKTtcblxuZnVuY3Rpb24gcmVkdWNlQ3ljbGUoXG4gICAgY3ljbGU6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgbnVtYmVyW10+LFxuICAgIGxhc3RZZWFyOiBudW1iZXIgPSAyOCxcbiAgICBsYXN0TW9udGg6IG51bWJlciA9IDEyLFxuKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY3ljbGUucmVkdWNlKFxuICAgICAgICAodG90YWwsIHllYXIsIHllYXJJbmRleCkgPT5cbiAgICAgICAgICAgIHllYXJJbmRleCA8PSBsYXN0WWVhclxuICAgICAgICAgICAgICAgID8gdG90YWwgK1xuICAgICAgICAgICAgICAgICAgeWVhci5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgKHN1bSwgbW9udGgsIG1vbnRoSW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHllYXJJbmRleCA8IGxhc3RZZWFyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICh5ZWFySW5kZXggPT09IGxhc3RZZWFyICYmIG1vbnRoSW5kZXggPCBsYXN0TW9udGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHN1bSArIG1vbnRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHN1bSxcbiAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdG90YWwsXG4gICAgICAgIDAsXG4gICAgKTtcbn1cblxuLyoqXG4gKiBUaGlzIHNjcm9sbCBzdHJhdGVneSBpcyBoYXJkIHdpcmVkIHdpdGggc3R5bGVzIGZvciBpT1MgYW5kIEFuZHJvaWQuXG4gKiBJdCBpcyBkZXBlbmRlbnQgb24gbW9udGggaGVpZ2h0IG9uIHRob3NlIHBsYXRmb3JtcyBhbmQgaXMgZGVzaWduZWQgdG9cbiAqIHdvcmsgZm9yIHtAbGluayBUdWlNb2JpbGVDYWxlbmRhckNvbXBvbmVudH0gd2l0aCB5ZWFycyAxOTA2IHRvIDIxMDJcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aU1vYmlsZUNhbGVuZGFyU3RyYXRlZ3kgaW1wbGVtZW50cyBWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3kge1xuICAgIHByaXZhdGUgaW5kZXgkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxTZXJ2aWNlOiBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IHNjcm9sbGVkSW5kZXhDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXgkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgYXR0YWNoKHZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHtcbiAgICAgICAgY29uc3QgY3ljbGUgPSB0aGlzLmlzSW9zID8gSU9TX0NZQ0xFX0hFSUdIVCA6IEFORFJPSURfQ1lDTEVfSEVJR0hUO1xuXG4gICAgICAgIHRoaXMudmlld3BvcnQgPSB2aWV3cG9ydDtcbiAgICAgICAgdGhpcy52aWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKGN5Y2xlICogNyk7XG4gICAgICAgIHRoaXMudXBkYXRlUmVuZGVyZWRSYW5nZSh0aGlzLnZpZXdwb3J0KTtcbiAgICB9XG5cbiAgICBkZXRhY2goKSB7XG4gICAgICAgIHRoaXMuaW5kZXgkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudmlld3BvcnQgPSBudWxsO1xuICAgIH1cblxuICAgIG9uQ29udGVudFNjcm9sbGVkKCkge1xuICAgICAgICBpZiAodGhpcy52aWV3cG9ydCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVSZW5kZXJlZFJhbmdlKHRoaXMudmlld3BvcnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRoZXNlIGRvIG5vdCBtYXR0ZXIgZm9yIHRoaXMgY2FzZSAqL1xuICAgIG9uRGF0YUxlbmd0aENoYW5nZWQoKSB7fVxuICAgIG9uQ29udGVudFJlbmRlcmVkKCkge31cbiAgICBvblJlbmRlcmVkT2Zmc2V0Q2hhbmdlZCgpIHt9XG5cbiAgICBzY3JvbGxUb0luZGV4KGluZGV4OiBudW1iZXIsIGJlaGF2aW9yOiBTY3JvbGxCZWhhdmlvcikge1xuICAgICAgICBpZiAoIXRoaXMudmlld3BvcnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuZ2V0T2Zmc2V0Rm9ySW5kZXgoaW5kZXgpO1xuXG4gICAgICAgIGlmIChiZWhhdmlvciAhPT0gJ3Ntb290aCcpIHtcbiAgICAgICAgICAgIHRoaXMudmlld3BvcnQuc2Nyb2xsVG9PZmZzZXQoc2Nyb2xsVG9wLCBiZWhhdmlvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2Nyb2xsU2VydmljZVxuICAgICAgICAgICAgLnNjcm9sbCQodGhpcy52aWV3cG9ydC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHNjcm9sbFRvcClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9mZnNldEZvckluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBtb250aCA9IGluZGV4ICUgTU9OVEhTX0lOX1lFQVI7XG4gICAgICAgIGNvbnN0IHllYXIgPSAoaW5kZXggLSBtb250aCkgLyBNT05USFNfSU5fWUVBUjtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlSGVpZ2h0KHllYXIsIG1vbnRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY3ljbGUgPSB0aGlzLmlzSW9zID8gSU9TX0NZQ0xFIDogQU5EUk9JRF9DWUNMRTtcbiAgICAgICAgY29uc3QgY3ljbGVIZWlnaHQgPSB0aGlzLmlzSW9zID8gSU9TX0NZQ0xFX0hFSUdIVCA6IEFORFJPSURfQ1lDTEVfSEVJR0hUO1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSBvZmZzZXQgJSBjeWNsZUhlaWdodDtcbiAgICAgICAgY29uc3QgeWVhcnMgPSAoKG9mZnNldCAtIHJlbWFpbmRlcikgLyBjeWNsZUhlaWdodCkgKiBZRUFSTFlfQ1lDTEU7XG5cbiAgICAgICAgbGV0IGFjY3VtdWxhdG9yID0gMDtcblxuICAgICAgICBmb3IgKGxldCB5ZWFyID0gMDsgeWVhciA8IGN5Y2xlLmxlbmd0aDsgeWVhcisrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBtb250aCA9IDA7IG1vbnRoIDwgY3ljbGVbeWVhcl0ubGVuZ3RoOyBtb250aCsrKSB7XG4gICAgICAgICAgICAgICAgYWNjdW11bGF0b3IgKz0gY3ljbGVbeWVhcl1bbW9udGhdO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFjY3VtdWxhdG9yIC0gY3ljbGVbeWVhcl1bbW9udGhdIC8gMiA+IHJlbWFpbmRlcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoKHllYXJzICsgeWVhcikgKiBNT05USFNfSU5fWUVBUiArIG1vbnRoLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUkFOR0U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlSGVpZ2h0KHllYXI6IG51bWJlciwgbW9udGg/OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjeWNsZSA9IHRoaXMuaXNJb3MgPyBJT1NfQ1lDTEUgOiBBTkRST0lEX0NZQ0xFO1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSB5ZWFyICUgWUVBUkxZX0NZQ0xFO1xuICAgICAgICBjb25zdCByZW1haW5kZXJIZWlnaHQgPSByZWR1Y2VDeWNsZShjeWNsZSwgcmVtYWluZGVyLCBtb250aCk7XG4gICAgICAgIGNvbnN0IGZ1bGxDeWNsZXMgPSAoeWVhciAtIHJlbWFpbmRlcikgLyBZRUFSTFlfQ1lDTEU7XG4gICAgICAgIGNvbnN0IGZ1bGxDeWNsZXNIZWlnaHQgPSB0aGlzLmlzSW9zXG4gICAgICAgICAgICA/IGZ1bGxDeWNsZXMgKiBJT1NfQ1lDTEVfSEVJR0hUXG4gICAgICAgICAgICA6IGZ1bGxDeWNsZXMgKiBBTkRST0lEX0NZQ0xFX0hFSUdIVDtcblxuICAgICAgICByZXR1cm4gZnVsbEN5Y2xlc0hlaWdodCArIHJlbWFpbmRlckhlaWdodDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlbmRlcmVkUmFuZ2Uodmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2aWV3cG9ydC5tZWFzdXJlU2Nyb2xsT2Zmc2V0KCk7XG4gICAgICAgIGNvbnN0IHtzdGFydCwgZW5kfSA9IHZpZXdwb3J0LmdldFJlbmRlcmVkUmFuZ2UoKTtcbiAgICAgICAgY29uc3Qgdmlld3BvcnRTaXplID0gdmlld3BvcnQuZ2V0Vmlld3BvcnRTaXplKCk7XG4gICAgICAgIGNvbnN0IGRhdGFMZW5ndGggPSB2aWV3cG9ydC5nZXREYXRhTGVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IG5ld1JhbmdlID0ge3N0YXJ0LCBlbmR9O1xuICAgICAgICBjb25zdCBmaXJzdFZpc2libGVJbmRleCA9IHRoaXMuZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0KTtcbiAgICAgICAgY29uc3Qgc3RhcnRCdWZmZXIgPSBvZmZzZXQgLSB0aGlzLmdldE9mZnNldEZvckluZGV4KHN0YXJ0KTtcblxuICAgICAgICBpZiAoc3RhcnRCdWZmZXIgPCBCVUZGRVIgJiYgc3RhcnQgIT09IDApIHtcbiAgICAgICAgICAgIG5ld1JhbmdlLnN0YXJ0ID0gTWF0aC5tYXgoMCwgdGhpcy5nZXRJbmRleEZvck9mZnNldChvZmZzZXQgLSBCVUZGRVIgKiAyKSk7XG4gICAgICAgICAgICBuZXdSYW5nZS5lbmQgPSBNYXRoLm1pbihcbiAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0ICsgdmlld3BvcnRTaXplICsgQlVGRkVSKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBlbmRCdWZmZXIgPSB0aGlzLmdldE9mZnNldEZvckluZGV4KGVuZCkgLSBvZmZzZXQgLSB2aWV3cG9ydFNpemU7XG5cbiAgICAgICAgICAgIGlmIChlbmRCdWZmZXIgPCBCVUZGRVIgJiYgZW5kICE9PSBkYXRhTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbmV3UmFuZ2Uuc3RhcnQgPSBNYXRoLm1heCgwLCB0aGlzLmdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldCAtIEJVRkZFUikpO1xuICAgICAgICAgICAgICAgIG5ld1JhbmdlLmVuZCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldCArIHZpZXdwb3J0U2l6ZSArIEJVRkZFUiAqIDIpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2aWV3cG9ydC5zZXRSZW5kZXJlZFJhbmdlKG5ld1JhbmdlKTtcbiAgICAgICAgdmlld3BvcnQuc2V0UmVuZGVyZWRDb250ZW50T2Zmc2V0KHRoaXMuZ2V0T2Zmc2V0Rm9ySW5kZXgobmV3UmFuZ2Uuc3RhcnQpKTtcbiAgICAgICAgdGhpcy5pbmRleCQubmV4dChmaXJzdFZpc2libGVJbmRleCk7XG4gICAgfVxufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci8iLCJzb3VyY2VzIjpbIm1vYmlsZS1jYWxlbmRhci5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUNILGFBQWEsRUFDYixNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN4RCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVoRCxTQUFTLFdBQVcsQ0FDaEIsS0FBdUMsRUFDdkMsV0FBbUIsRUFBRSxFQUNyQixZQUFvQixFQUFFO0lBRXRCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDdkIsU0FBUyxJQUFJLFFBQVE7UUFDakIsQ0FBQyxDQUFDLEtBQUs7WUFDTCxJQUFJLENBQUMsTUFBTSxDQUNQLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUN2QixTQUFTLEdBQUcsUUFBUTtnQkFDcEIsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzlDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSztnQkFDYixDQUFDLENBQUMsR0FBRyxFQUNiLENBQUMsQ0FDSjtRQUNILENBQUMsQ0FBQyxL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QUFDLENBQUM7Z0JBQ3RFLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDbkIsVUFBVSxFQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDN0QsQ0FBQzthQUNMO1NBQ0o7UUFFRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQXJIRztJQURDLE9BQU87b0VBR1AiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgVmlydHVhbFNjcm9sbFN0cmF0ZWd5fSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7TU9OVEhTX0lOX1lFQVIsIHR1aVB1cmUsIFR1aVNjcm9sbFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBBTkRST0lEX0NZQ0xFLFxuICAgIEJVRkZFUixcbiAgICBJT1NfQ1lDTEUsXG4gICAgUkFOR0UsXG4gICAgWUVBUkxZX0NZQ0xFLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5jb25zdCc7XG5cbmNvbnN0IEFORFJPSURfQ1lDTEVfSEVJR0hUID0gcmVkdWNlQ3ljbGUoQU5EUk9JRF9DWUNMRSk7XG5jb25zdCBJT1NfQ1lDTEVfSEVJR0hUID0gcmVkdWNlQ3ljbGUoSU9TX0NZQ0xFKTtcblxuZnVuY3Rpb24gcmVkdWNlQ3ljbGUoXG4gICAgY3ljbGU6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgbnVtYmVyW10+LFxuICAgIGxhc3RZZWFyOiBudW1iZXIgPSAyOCxcbiAgICBsYXN0TW9udGg6IG51bWJlciA9IDEyLFxuKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY3ljbGUucmVkdWNlKFxuICAgICAgICAodG90YWwsIHllYXIsIHllYXJJbmRleCkgPT5cbiAgICAgICAgICAgIHllYXJJbmRleCA8PSBsYXN0WWVhclxuICAgICAgICAgICAgICAgID8gdG90YWwgK1xuICAgICAgICAgICAgICAgICAgeWVhci5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgKHN1bSwgbW9udGgsIG1vbnRoSW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHllYXJJbmRleCA8IGxhc3RZZWFyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICh5ZWFySW5kZXggPT09IGxhc3RZZWFyICYmIG1vbnRoSW5kZXggPCBsYXN0TW9udGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHN1bSArIG1vbnRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHN1bSxcbiAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdG90YWwsXG4gICAgICAgIDAsXG4gICAgKTtcbn1cblxuLyoqXG4gKiBUaGlzIHNjcm9sbCBzdHJhdGVneSBpcyBoYXJkIHdpcmVkIHdpdGggc3R5bGVzIGZvciBpT1MgYW5kIEFuZHJvaWQuXG4gKiBJdCBpcyBkZXBlbmRlbnQgb24gbW9udGggaGVpZ2h0IG9uIHRob3NlIHBsYXRmb3JtcyBhbmQgaXMgZGVzaWduZWQgdG9cbiAqIHdvcmsgZm9yIHtAbGluayBUdWlNb2JpbGVDYWxlbmRhckNvbXBvbmVudH0gd2l0aCB5ZWFycyAxOTA2IHRvIDIxMDJcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aU1vYmlsZUNhbGVuZGFyU3RyYXRlZ3kgaW1wbGVtZW50cyBWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5kZXgkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxTZXJ2aWNlOiBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IHNjcm9sbGVkSW5kZXhDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXgkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgYXR0YWNoKHZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHtcbiAgICAgICAgY29uc3QgY3ljbGUgPSB0aGlzLmlzSW9zID8gSU9TX0NZQ0xFX0hFSUdIVCA6IEFORFJPSURfQ1lDTEVfSEVJR0hUO1xuXG4gICAgICAgIHRoaXMudmlld3BvcnQgPSB2aWV3cG9ydDtcbiAgICAgICAgdGhpcy52aWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKGN5Y2xlICogNyk7XG4gICAgICAgIHRoaXMudXBkYXRlUmVuZGVyZWRSYW5nZSh0aGlzLnZpZXdwb3J0KTtcbiAgICB9XG5cbiAgICBkZXRhY2goKSB7XG4gICAgICAgIHRoaXMuaW5kZXgkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudmlld3BvcnQgPSBudWxsO1xuICAgIH1cblxuICAgIG9uQ29udGVudFNjcm9sbGVkKCkge1xuICAgICAgICBpZiAodGhpcy52aWV3cG9ydCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVSZW5kZXJlZFJhbmdlKHRoaXMudmlld3BvcnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRoZXNlIGRvIG5vdCBtYXR0ZXIgZm9yIHRoaXMgY2FzZSAqL1xuICAgIG9uRGF0YUxlbmd0aENoYW5nZWQoKSB7fVxuICAgIG9uQ29udGVudFJlbmRlcmVkKCkge31cbiAgICBvblJlbmRlcmVkT2Zmc2V0Q2hhbmdlZCgpIHt9XG5cbiAgICBzY3JvbGxUb0luZGV4KGluZGV4OiBudW1iZXIsIGJlaGF2aW9yOiBTY3JvbGxCZWhhdmlvcikge1xuICAgICAgICBpZiAoIXRoaXMudmlld3BvcnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuZ2V0T2Zmc2V0Rm9ySW5kZXgoaW5kZXgpO1xuXG4gICAgICAgIGlmIChiZWhhdmlvciAhPT0gJ3Ntb290aCcpIHtcbiAgICAgICAgICAgIHRoaXMudmlld3BvcnQuc2Nyb2xsVG9PZmZzZXQoc2Nyb2xsVG9wLCBiZWhhdmlvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2Nyb2xsU2VydmljZVxuICAgICAgICAgICAgLnNjcm9sbCQodGhpcy52aWV3cG9ydC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHNjcm9sbFRvcClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9mZnNldEZvckluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBtb250aCA9IGluZGV4ICUgTU9OVEhTX0lOX1lFQVI7XG4gICAgICAgIGNvbnN0IHllYXIgPSAoaW5kZXggLSBtb250aCkgLyBNT05USFNfSU5fWUVBUjtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlSGVpZ2h0KHllYXIsIG1vbnRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY3ljbGUgPSB0aGlzLmlzSW9zID8gSU9TX0NZQ0xFIDogQU5EUk9JRF9DWUNMRTtcbiAgICAgICAgY29uc3QgY3ljbGVIZWlnaHQgPSB0aGlzLmlzSW9zID8gSU9TX0NZQ0xFX0hFSUdIVCA6IEFORFJPSURfQ1lDTEVfSEVJR0hUO1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSBvZmZzZXQgJSBjeWNsZUhlaWdodDtcbiAgICAgICAgY29uc3QgeWVhcnMgPSAoKG9mZnNldCAtIHJlbWFpbmRlcikgLyBjeWNsZUhlaWdodCkgKiBZRUFSTFlfQ1lDTEU7XG5cbiAgICAgICAgbGV0IGFjY3VtdWxhdG9yID0gMDtcblxuICAgICAgICBmb3IgKGxldCB5ZWFyID0gMDsgeWVhciA8IGN5Y2xlLmxlbmd0aDsgeWVhcisrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBtb250aCA9IDA7IG1vbnRoIDwgY3ljbGVbeWVhcl0ubGVuZ3RoOyBtb250aCsrKSB7XG4gICAgICAgICAgICAgICAgYWNjdW11bGF0b3IgKz0gY3ljbGVbeWVhcl1bbW9udGhdO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFjY3VtdWxhdG9yIC0gY3ljbGVbeWVhcl1bbW9udGhdIC8gMiA+IHJlbWFpbmRlcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoKHllYXJzICsgeWVhcikgKiBNT05USFNfSU5fWUVBUiArIG1vbnRoLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUkFOR0U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlSGVpZ2h0KHllYXI6IG51bWJlciwgbW9udGg/OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjeWNsZSA9IHRoaXMuaXNJb3MgPyBJT1NfQ1lDTEUgOiBBTkRST0lEX0NZQ0xFO1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSB5ZWFyICUgWUVBUkxZX0NZQ0xFO1xuICAgICAgICBjb25zdCByZW1haW5kZXJIZWlnaHQgPSByZWR1Y2VDeWNsZShjeWNsZSwgcmVtYWluZGVyLCBtb250aCk7XG4gICAgICAgIGNvbnN0IGZ1bGxDeWNsZXMgPSAoeWVhciAtIHJlbWFpbmRlcikgLyBZRUFSTFlfQ1lDTEU7XG4gICAgICAgIGNvbnN0IGZ1bGxDeWNsZXNIZWlnaHQgPSB0aGlzLmlzSW9zXG4gICAgICAgICAgICA/IGZ1bGxDeWNsZXMgKiBJT1NfQ1lDTEVfSEVJR0hUXG4gICAgICAgICAgICA6IGZ1bGxDeWNsZXMgKiBBTkRST0lEX0NZQ0xFX0hFSUdIVDtcblxuICAgICAgICByZXR1cm4gZnVsbEN5Y2xlc0hlaWdodCArIHJlbWFpbmRlckhlaWdodDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlbmRlcmVkUmFuZ2Uodmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2aWV3cG9ydC5tZWFzdXJlU2Nyb2xsT2Zmc2V0KCk7XG4gICAgICAgIGNvbnN0IHtzdGFydCwgZW5kfSA9IHZpZXdwb3J0LmdldFJlbmRlcmVkUmFuZ2UoKTtcbiAgICAgICAgY29uc3Qgdmlld3BvcnRTaXplID0gdmlld3BvcnQuZ2V0Vmlld3BvcnRTaXplKCk7XG4gICAgICAgIGNvbnN0IGRhdGFMZW5ndGggPSB2aWV3cG9ydC5nZXREYXRhTGVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IG5ld1JhbmdlID0ge3N0YXJ0LCBlbmR9O1xuICAgICAgICBjb25zdCBmaXJzdFZpc2libGVJbmRleCA9IHRoaXMuZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0KTtcbiAgICAgICAgY29uc3Qgc3RhcnRCdWZmZXIgPSBvZmZzZXQgLSB0aGlzLmdldE9mZnNldEZvckluZGV4KHN0YXJ0KTtcblxuICAgICAgICBpZiAoc3RhcnRCdWZmZXIgPCBCVUZGRVIgJiYgc3RhcnQgIT09IDApIHtcbiAgICAgICAgICAgIG5ld1JhbmdlLnN0YXJ0ID0gTWF0aC5tYXgoMCwgdGhpcy5nZXRJbmRleEZvck9mZnNldChvZmZzZXQgLSBCVUZGRVIgKiAyKSk7XG4gICAgICAgICAgICBuZXdSYW5nZS5lbmQgPSBNYXRoLm1pbihcbiAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0ICsgdmlld3BvcnRTaXplICsgQlVGRkVSKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBlbmRCdWZmZXIgPSB0aGlzLmdldE9mZnNldEZvckluZGV4KGVuZCkgLSBvZmZzZXQgLSB2aWV3cG9ydFNpemU7XG5cbiAgICAgICAgICAgIGlmIChlbmRCdWZmZXIgPCBCVUZGRVIgJiYgZW5kICE9PSBkYXRhTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbmV3UmFuZ2Uuc3RhcnQgPSBNYXRoLm1heCgwLCB0aGlzLmdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldCAtIEJVRkZFUikpO1xuICAgICAgICAgICAgICAgIG5ld1JhbmdlLmVuZCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldCArIHZpZXdwb3J0U2l6ZSArIEJVRkZFUiAqIDIpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2aWV3cG9ydC5zZXRSZW5kZXJlZFJhbmdlKG5ld1JhbmdlKTtcbiAgICAgICAgdmlld3BvcnQuc2V0UmVuZGVyZWRDb250ZW50T2Zmc2V0KHRoaXMuZ2V0T2Zmc2V0Rm9ySW5kZXgobmV3UmFuZ2Uuc3RhcnQpKTtcbiAgICAgICAgdGhpcy5pbmRleCQubmV4dChmaXJzdFZpc2libGVJbmRleCk7XG4gICAgfVxufVxuIl19
@@ -16,9 +16,9 @@ let TuiSheetComponent = class TuiSheetComponent {
16
16
  this.ngZone = ngZone;
17
17
  this.isIos = isIos;
18
18
  this.moreWord$ = moreWord$;
19
+ this.stopsRefs = EMPTY_QUERY;
19
20
  this.id = '';
20
21
  this.stuck$ = this.scroll$.pipe(map(y => Math.floor(y) > this.contentTop));
21
- this.stopsRefs = EMPTY_QUERY;
22
22
  }
23
23
  get stops() {
24
24
  return this.getStops(this.stopsRefs);
@@ -32,13 +32,13 @@ let TuiSheetComponent = class TuiSheetComponent {
32
32
  get context() {
33
33
  return Object.assign(Object.assign({}, this.item), { scroll$: this.scroll$.pipe(tuiZonefull(this.ngZone)) });
34
34
  }
35
+ onId(id) {
36
+ this.id = id;
37
+ }
35
38
  ngAfterViewInit() {
36
39
  const stops = [...this.stops, this.sheetTop, this.contentTop];
37
40
  this.elementRef.nativeElement.scrollTop = stops[this.item.initial];
38
41
  }
39
- onId(id) {
40
- this.id = id;
41
- }
42
42
  scrollTo(top = this.sheetTop) {
43
43
  const { nativeElement } = this.elementRef;
44
44
  if (this.isIos) {
@@ -67,9 +67,6 @@ TuiSheetComponent.ctorParameters = () => [
67
67
  { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
68
68
  { type: Observable, decorators: [{ type: Inject, args: [TUI_MORE_WORD,] }] }
69
69
  ];
70
- __decorate([
71
- Input()
72
- ], TuiSheetComponent.prototype, "item", void 0);
73
70
  __decorate([
74
71
  ViewChild('sheet')
75
72
  ], TuiSheetComponent.prototype, "sheet", void 0);
@@ -79,6 +76,9 @@ __decorate([
79
76
  __decorate([
80
77
  ViewChildren('stops')
81
78
  ], TuiSheetComponent.prototype, "stopsRefs", void 0);
79
+ __decorate([
80
+ Input()
81
+ ], TuiSheetComponent.prototype, "item", void 0);
82
82
  __decorate([
83
83
  tuiPure
84
84
  ], TuiSheetComponent.prototype, "context", null);
@@ -99,10 +99,11 @@ TuiSheetComponent = __decorate([
99
99
  role: 'dialog',
100
100
  '[attr.aria-labelledby]': 'id',
101
101
  '[class._ios]': 'isIos',
102
+ '[class._stuck]': 'true',
102
103
  '[$.class._stuck]': 'stuck$',
103
104
  '($.class._stuck)': 'stuck$',
104
105
  },
105
- styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;box-shadow:0 4rem var(--tui-base-01);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);-webkit-clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._stuck{-ms-scroll-snap-type:none;scroll-snap-type:none}.t-bumpers{display:flex;height:100%;scroll-snap-align:start;scroll-margin:-1px}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;height:1rem}.t-wrapper{border-radius:inherit;pointer-events:auto;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12)}.t-top{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:sticky;top:0;pointer-events:auto;border-radius:.8rem .8rem 0 0;transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;width:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1);box-shadow:0 4rem var(--tui-base-01)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;height:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-base-01);box-shadow:inset 0 1px rgba(255,255,255,.25)}.t-button{position:absolute;top:0;height:1.5rem;width:3rem;padding:0;border:0;opacity:0}.t-content{padding:0 1rem 1rem;border-radius:inherit;background:var(--tui-base-01)}.t-heading{padding-bottom:.5rem}"]
106
+ styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;box-shadow:0 4rem var(--tui-base-01);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);-webkit-clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._stuck{-ms-scroll-snap-type:none;scroll-snap-type:none}.t-bumpers{display:flex;height:100%}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always;scroll-snap-align:start;scroll-margin:-1px}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;height:1rem}.t-wrapper{border-radius:inherit;pointer-events:auto;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12)}.t-top{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:sticky;top:0;pointer-events:auto;border-radius:.8rem .8rem 0 0;transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;width:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1);box-shadow:0 4rem var(--tui-base-01)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;height:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-base-01);box-shadow:inset 0 1px rgba(255,255,255,.25)}.t-button{position:absolute;top:0;height:1.5rem;width:3rem;padding:0;border:0;opacity:0}.t-content{padding:0 1rem 1rem;border-radius:inherit;background:var(--tui-base-01)}.t-heading{padding-bottom:.5rem}"]
106
107
  }),
107
108
  __param(0, Inject(TUI_SHEET_SCROLL)),
108
109
  __param(1, Inject(ElementRef)),
@@ -111,4 +112,4 @@ TuiSheetComponent = __decorate([
111
112
  __param(4, Inject(TUI_MORE_WORD))
112
113
  ], TuiSheetComponent);
113
114
  export { TuiSheetComponent };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zaGVldC9zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLFdBQVc7QUFnQlgsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFpQjFCLFlBQytDLE9BQTJCLEVBQ2pDLFVBQW1DLEVBQ3ZDLE1BQWMsRUFDbEIsS0FBYyxFQUNYLFNBQTZCO1FBSmxCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ3ZDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDbEIs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QyxPQUFPLENBQUM7Z0RBQzhCO0FBR2pEO0lBREMsU0FBUyxDQUFDLFNBQVMsQ0FBQztrREFDOEI7QUFHbkQ7SUFEQyxZQUFZLENBQUMsT0FBTyxDQUFDO29EQUN1RDtBQXVCN0U7SUFEQyxPQUFPO2dEQU1QO0FBU0Q7SUFEQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7NkNBRzdDO0FBcUJEO0lBREMsT0FBTztpREFPUDtBQWpGUSxpQkFBaUI7SUFmN0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLFdBQVc7UUFDckIsa3dDQUFrQztRQUVsQyxTQUFTLEVBQUUsbUJBQW1CO1FBQzlCLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMzQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtZQUNkLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsY0FBYyxFQUFFLE9BQU87WUFDdkIsa0JBQWtCLEVBQUUsUUFBUTtZQUM1QixrQkFBa0IsRUFBRSxRQUFRO1NBQy9COztLQUNKLENBQUM7SUFtQk8sV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUN4QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNkLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0dBdEJqQixpQkFBaUIsQ0FrRjdCO1NBbEZZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZLCBUVUlfSVNfSU9TLCB0dWlQdXJlLCB0dWlab25lZnVsbH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aVNsaWRlSW5Ub3B9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX01PUkVfV09SRH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtmYWtlU21vb3RoU2Nyb2xsfSBmcm9tICcuLi8uLi9pb3MuaGFja3MnO1xuaW1wb3J0IHtUdWlTaGVldH0gZnJvbSAnLi4vLi4vc2hlZXQnO1xuaW1wb3J0IHtUVUlfU0hFRVRfSUR9IGZyb20gJy4uL3NoZWV0LWhlYWRpbmcvc2hlZXQtaGVhZGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfU0hFRVRfUFJPVklERVJTLCBUVUlfU0hFRVRfU0NST0xMfSBmcm9tICcuL3NoZWV0LnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1zaGVldCcsXG4gICAgdGVtcGxhdGVVcmw6ICdzaGVldC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnc2hlZXQuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogVFVJX1NIRUVUX1BST1ZJREVSUyxcbiAgICBhbmltYXRpb25zOiBbdHVpU2xpZGVJblRvcF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnZGlhbG9nJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnaWQnLFxuICAgICAgICAnW2NsYXNzLl9pb3NdJzogJ2lzSW9zJyxcbiAgICAgICAgJ1skLmNsYXNzLl9zdHVja10nOiAnc3R1Y2skJyxcbiAgICAgICAgJygkLmNsYXNzLl9zdHVjayknOiAnc3R1Y2skJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTaGVldENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbSE6IFR1aVNoZWV0PFQ+O1xuXG4gICAgaWQgPSAnJztcblxuICAgIHJlYWRvbmx5IHN0dWNrJCA9IHRoaXMuc2Nyb2xsJC5waXBlKG1hcCh5ID0+IE1hdGguZmxvb3IoeSkgPiB0aGlzLmNvbnRlbnRUb3ApKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NoZWV0JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWV0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3N0b3BzJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3BzUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1NIRUVUX1NDUk9MTCkgcHJpdmF0ZSByZWFkb25seSBzY3JvbGwkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcmVhZG9ubHkgaXNJb3M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PUkVfV09SRCkgcmVhZG9ubHkgbW9yZVdvcmQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IHN0b3BzKCk6IHJlYWRvbmx5IG51bWJlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RvcHModGhpcy5zdG9wc1JlZnMpO1xuICAgIH1cblxuICAgIGdldCBpbWFnZVN0b3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLml0ZW0uaW1hZ2VTbGlkZSAmJiB0aGlzLnN0b3BzW3RoaXMuc3RvcHMubGVuZ3RoIC0gMV0pIHx8IDA7XG4gICAgfVxuXG4gICAgZ2V0IGltYWdlSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRUb3AgLSB0aGlzLnNoZWV0VG9wO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGNvbnRleHQoKTogVHVpU2hlZXQ8VD4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcy5pdGVtLFxuICAgICAgICAgICAgc2Nyb2xsJDogdGhpcy5zY3JvbGwkLnBpcGUodHVpWm9uZWZ1bGwodGhpcy5uZ1pvbmUpKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IHN0b3BzID0gWy4uLnRoaXMuc3RvcHMsIHRoaXMuc2hlZXRUb3AsIHRoaXMuY29udGVudFRvcF07XG5cbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gc3RvcHNbdGhpcy5pdGVtLmluaXRpYWxdO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoVFVJX1NIRUVUX0lELCBbJyRldmVudC5kZXRhaWwnXSlcbiAgICBvbklkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgIH1cblxuICAgIHNjcm9sbFRvKHRvcDogbnVtYmVyID0gdGhpcy5zaGVldFRvcCkge1xuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmVsZW1lbnRSZWY7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNJb3MpIHtcbiAgICAgICAgICAgIGZha2VTbW9vdGhTY3JvbGwobmF0aXZlRWxlbWVudCwgdG9wIC0gbmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgLSAxNik7XG4gICAgICAgIH1cblxuICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbFRvKHt0b3AsIGJlaGF2aW9yOiAnc21vb3RoJ30pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbnRlbnRUb3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgPz8gSW5maW5pdHk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2hlZXRUb3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlZXQ/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wID8/IEluZmluaXR5O1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRTdG9wcyhzdG9wczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pik6IHJlYWRvbmx5IG51bWJlcltdIHtcbiAgICAgICAgcmV0dXJuIHN0b3BzXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wICsgbmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQsXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zaGVldC9zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLFdBQVc7QUFpQlgsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFpQjFCLFlBQytDLE9BQTJCLEVBQ2pDLFVBQW1DLEVBQ3ZDLE1BQWMsRUFDbEIsS0FBYyxFQUNYLFNBQTZCO1FBSmxCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ3ZDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUNYLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBZGhELGNBQVMsR0FBdUMsV0FBVyxDQUFDO1FBSzdFLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFFQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQVE1RSxDQUFDO0lBRUosSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFHRCxJQUFJLE9BQU87UUFDUCx1Q0FDTyxJQUFJLENBQUMsSUFBSSxLQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQ3REO0lBQ04sQ0FBQztJQUdELElBQUksQ0FBQyxFQUFVO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGVBQWU7UUFDWCxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFjLElBQUksQ0FBQyxRQUFRO1FBQ2hDLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRXhDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUVELGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQVksVUFBVTs7UUFDbEIsbUJBQU8sSUFBSSxDQUFDLE9BQU8sMENBQUUsYUFBYSxDQUFDLFNBQVMsbUNBQUksUUFBUSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFZLFFBQVE7O1FBQ2hCLG1CQUFPLElBQUksQ0FBQyxLQUFLLDBDQUFFLGFBQWEsQ0FBQyxTQUFTLG1DQUFJLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0lBR08sUUFBUSxDQUFDLEtBQXlDO1FBQ3RELE9BQU8sS0FBSzthQUNQLE9BQU8sRUFBRTthQUNULEdBQUcsQ0FDQSxDQUFDLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FDNUUsQ0FBQztJQUNWLENBQUM7Q0FDSixDQUFBOztZQWhFMkQsVUFBVSx1QkFBN0QsTUFBTSxTQUFDLGdCQUFnQjtZQUN5QixVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTtZQUN1QixNQUFNLHVCQUE5QyxNQUFNLFNBQUMsTUFBTTswQ0FDYixNQUFNLFNBQUMsVUFBVTtZQUN5QixVQUFVLHVCQUFwRCxNQUFNLFNBQUMsYUFBYTs7QUFwQnpCO0lBREMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnREFDOEI7QUFHakQ7SUFEQyxTQUFTLENBQUMsU0FBUyxDQUFDO2tEQUM4QjtBQUduRDtJQURDLFlBQVksQ0FBQyxPQUFPLENBQUM7b0RBQ3VEO0FBRzdFO0lBREMsS0FBSyxFQUFFOytDQUNXO0FBMkJuQjtJQURDLE9BQU87Z0RBTVA7QUFHRDtJQURDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQzs2Q0FHN0M7QUEyQkQ7SUFEQyxPQUFPO2lEQU9QO0FBakZRLGlCQUFpQjtJQWhCN0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLFdBQVc7UUFDckIsa3dDQUFrQztRQUVsQyxTQUFTLEVBQUUsbUJBQW1CO1FBQzlCLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMzQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtZQUNkLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsY0FBYyxFQUFFLE9BQU87WUFDdkIsZ0JBQWdCLEVBQUUsTUFBTTtZQUN4QixrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLGtCQUFrQixFQUFFLFFBQVE7U0FDL0I7O0tBQ0osQ0FBQztJQW1CTyxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7R0F0QmpCLGlCQUFpQixDQWtGN0I7U0FsRlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfUVVFUlksIFRVSV9JU19JT1MsIHR1aVB1cmUsIHR1aVpvbmVmdWxsfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfTU9SRV9XT1JEfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge2Zha2VTbW9vdGhTY3JvbGx9IGZyb20gJy4uLy4uL2lvcy5oYWNrcyc7XG5pbXBvcnQge1R1aVNoZWV0fSBmcm9tICcuLi8uLi9zaGVldCc7XG5pbXBvcnQge1RVSV9TSEVFVF9JRH0gZnJvbSAnLi4vc2hlZXQtaGVhZGluZy9zaGVldC1oZWFkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQge1RVSV9TSEVFVF9QUk9WSURFUlMsIFRVSV9TSEVFVF9TQ1JPTEx9IGZyb20gJy4vc2hlZXQucHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNoZWV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NoZWV0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzaGVldC5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBUVUlfU0hFRVRfUFJPVklERVJTLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdpZCcsXG4gICAgICAgICdbY2xhc3MuX2lvc10nOiAnaXNJb3MnLFxuICAgICAgICAnW2NsYXNzLl9zdHVja10nOiAndHJ1ZScsIC8vIEluaXRpYWxseSBkaXNhYmxlIHNuYXBwaW5nIGZvciBGaXJlZm94XG4gICAgICAgICdbJC5jbGFzcy5fc3R1Y2tdJzogJ3N0dWNrJCcsXG4gICAgICAgICcoJC5jbGFzcy5fc3R1Y2spJzogJ3N0dWNrJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2hlZXRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdzaGVldCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaGVldD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKCdzdG9wcycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9wc1JlZnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgaXRlbSE6IFR1aVNoZWV0PFQ+O1xuXG4gICAgaWQgPSAnJztcblxuICAgIHJlYWRvbmx5IHN0dWNrJCA9IHRoaXMuc2Nyb2xsJC5waXBlKG1hcCh5ID0+IE1hdGguZmxvb3IoeSkgPiB0aGlzLmNvbnRlbnRUb3ApKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9TSEVFVF9TQ1JPTEwpIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9NT1JFX1dPUkQpIHJlYWRvbmx5IG1vcmVXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge31cblxuICAgIGdldCBzdG9wcygpOiByZWFkb25seSBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0b3BzKHRoaXMuc3RvcHNSZWZzKTtcbiAgICB9XG5cbiAgICBnZXQgaW1hZ2VTdG9wKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAodGhpcy5pdGVtLmltYWdlU2xpZGUgJiYgdGhpcy5zdG9wc1t0aGlzLnN0b3BzLmxlbmd0aCAtIDFdKSB8fCAwO1xuICAgIH1cblxuICAgIGdldCBpbWFnZUhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50VG9wIC0gdGhpcy5zaGVldFRvcDtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBjb250ZXh0KCk6IFR1aVNoZWV0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRoaXMuaXRlbSxcbiAgICAgICAgICAgIHNjcm9sbCQ6IHRoaXMuc2Nyb2xsJC5waXBlKHR1aVpvbmVmdWxsKHRoaXMubmdab25lKSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihUVUlfU0hFRVRfSUQsIFsnJGV2ZW50LmRldGFpbCddKVxuICAgIG9uSWQoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBzdG9wcyA9IFsuLi50aGlzLnN0b3BzLCB0aGlzLnNoZWV0VG9wLCB0aGlzLmNvbnRlbnRUb3BdO1xuXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHN0b3BzW3RoaXMuaXRlbS5pbml0aWFsXTtcbiAgICB9XG5cbiAgICBzY3JvbGxUbyh0b3A6IG51bWJlciA9IHRoaXMuc2hlZXRUb3ApIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIGlmICh0aGlzLmlzSW9zKSB7XG4gICAgICAgICAgICBmYWtlU21vb3RoU2Nyb2xsKG5hdGl2ZUVsZW1lbnQsIHRvcCAtIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wIC0gMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7dG9wLCBiZWhhdmlvcjogJ3Ntb290aCd9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb250ZW50VG9wKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wID8/IEluZmluaXR5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHNoZWV0VG9wKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWV0Py5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCA/PyBJbmZpbml0eTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U3RvcHMoc3RvcHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4pOiByZWFkb25seSBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBzdG9wc1xuICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAoe25hdGl2ZUVsZW1lbnR9KSA9PiBuYXRpdmVFbGVtZW50Lm9mZnNldFRvcCArIG5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,15 +1,16 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { Directive, ElementRef, Inject, Output } from '@angular/core';
2
+ import { Directive, ElementRef, Inject, NgZone, Output } from '@angular/core';
3
3
  import { WINDOW } from '@ng-web-apis/common';
4
- import { typedFromEvent } from '@taiga-ui/cdk';
4
+ import { tuiZonefull, typedFromEvent } from '@taiga-ui/cdk';
5
5
  import { EMPTY, merge, Observable } from 'rxjs';
6
- import { filter, startWith, switchMap } from 'rxjs/operators';
6
+ import { distinctUntilChanged, filter, startWith, switchMap } from 'rxjs/operators';
7
7
  import { TuiSheetComponent } from '../../components/sheet/sheet.component';
8
8
  import { TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL, } from '../../components/sheet/sheet.providers';
9
9
  import { TUI_SHEET_CLOSE } from '../../components/sheet-heading/sheet-heading.component';
10
10
  // @dynamic
11
11
  let TuiSheetCloseDirective = class TuiSheetCloseDirective {
12
- constructor(dragged$, scroll$, windowRef, elementRef, sheet) {
12
+ constructor(ngZone, dragged$, scroll$, windowRef, elementRef, sheet) {
13
+ this.ngZone = ngZone;
13
14
  this.dragged$ = dragged$;
14
15
  this.scroll$ = scroll$;
15
16
  this.windowRef = windowRef;
@@ -17,7 +18,7 @@ let TuiSheetCloseDirective = class TuiSheetCloseDirective {
17
18
  this.sheet = sheet;
18
19
  this.close = merge(typedFromEvent(this.elementRef.nativeElement, TUI_SHEET_CLOSE), this.dragged$.pipe(startWith(false), switchMap(dragged => dragged
19
20
  ? EMPTY
20
- : this.scroll$.pipe(startWith(this.elementRef.nativeElement.scrollTop))), filter(y => { var _a; return ((_a = this.sheet.item) === null || _a === void 0 ? void 0 : _a.closeable) && this.shouldClose(y); })));
21
+ : this.scroll$.pipe(startWith(this.elementRef.nativeElement.scrollTop))), filter(y => { var _a; return ((_a = this.sheet.item) === null || _a === void 0 ? void 0 : _a.closeable) && this.shouldClose(y); }), distinctUntilChanged(), tuiZonefull(this.ngZone)));
21
22
  }
22
23
  shouldClose(scrollTop) {
23
24
  const min = Math.min(this.elementRef.nativeElement.scrollHeight - this.windowRef.innerHeight, this.sheet.stops[0] || Infinity);
@@ -25,6 +26,7 @@ let TuiSheetCloseDirective = class TuiSheetCloseDirective {
25
26
  }
26
27
  };
27
28
  TuiSheetCloseDirective.ctorParameters = () => [
29
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
28
30
  { type: Observable, decorators: [{ type: Inject, args: [TUI_SHEET_DRAGGED,] }] },
29
31
  { type: Observable, decorators: [{ type: Inject, args: [TUI_SHEET_SCROLL,] }] },
30
32
  { type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
@@ -38,11 +40,12 @@ TuiSheetCloseDirective = __decorate([
38
40
  Directive({
39
41
  selector: 'tui-sheet[close]',
40
42
  }),
41
- __param(0, Inject(TUI_SHEET_DRAGGED)),
42
- __param(1, Inject(TUI_SHEET_SCROLL)),
43
- __param(2, Inject(WINDOW)),
44
- __param(3, Inject(ElementRef)),
45
- __param(4, Inject(TuiSheetComponent))
43
+ __param(0, Inject(NgZone)),
44
+ __param(1, Inject(TUI_SHEET_DRAGGED)),
45
+ __param(2, Inject(TUI_SHEET_SCROLL)),
46
+ __param(3, Inject(WINDOW)),
47
+ __param(4, Inject(ElementRef)),
48
+ __param(5, Inject(TuiSheetComponent))
46
49
  ], TuiSheetCloseDirective);
47
50
  export { TuiSheetCloseDirective };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zaGVldC1jbG9zZS9zaGVldC1jbG9zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ25CLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRXZGLFdBQVc7QUFJWCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQWlCL0IsWUFDZ0QsUUFBNkIsRUFDOUIsT0FBMkIsRUFDckMsU0FBaUIsRUFDYixVQUFtQyxFQUM1QixLQUFpQztRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUM5QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBNEI7UUFwQnhFLFVBQUssR0FBd0IsS0FBSyxDQUN2QyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLEVBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNkLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFDaEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ2hCLE9BQU87WUFDSCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDYixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQ3JELENBQ1YsRUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBQyxPQUFBLE9BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLDBDQUFFLFNBQVMsS0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUNqRSxDQUNKLENBQUM7SUFRQyxDQUFDO0lBRUksV0FBVyxDQUFDLFNBQWlCO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFDdkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUNsQyxDQUFDO1FBRUYsT0FBTyxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0osQ0FBQTs7WUFmNkQsVUFBVSx1QkFBL0QsTUFBTSxTQUFDLGlCQUFpQjtZQUMyQixVQUFVLHVCQUE3RCxNQUFNLFNBQUMsZ0JBQWdCO1lBQ29CLE1BQU0sdUJBQWpELE1BQU0sU0FBQyxNQUFNO1lBQ21DLFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO1lBQ2lDLGlCQUFpQix1QkFBbkUsTUFBTSxTQUFDLGlCQUFpQjs7QUFwQjdCO0lBREMsTUFBTSxFQUFFO3FEQWNQO0FBZk8sc0JBQXNCO0lBSGxDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsQ0FBQztJQW1CTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDeEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBdEJyQixzQkFBc0IsQ0FpQ2xDO1NBakNZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7RU1QVFksIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVNoZWV0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoZWV0L3NoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIFRVSV9TSEVFVF9EUkFHR0VELFxuICAgIFRVSV9TSEVFVF9TQ1JPTEwsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hlZXQvc2hlZXQucHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1NIRUVUX0NMT1NFfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoZWV0LWhlYWRpbmcvc2hlZXQtaGVhZGluZy5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2hlZXRbY2xvc2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2hlZXRDbG9zZURpcmVjdGl2ZSB7XG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2xvc2U6IE9ic2VydmFibGU8dW5rbm93bj4gPSBtZXJnZShcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFRVSV9TSEVFVF9DTE9TRSksXG4gICAgICAgIHRoaXMuZHJhZ2dlZCQucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoZHJhZ2dlZCA9PlxuICAgICAgICAgICAgICAgIGRyYWdnZWRcbiAgICAgICAgICAgICAgICAgICAgPyBFTVBUWVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc2Nyb2xsJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wKSxcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZpbHRlcih5ID0+IHRoaXMuc2hlZXQuaXRlbT8uY2xvc2VhYmxlICYmIHRoaXMuc2hvdWxkQ2xvc2UoeSkpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfU0hFRVRfRFJBR0dFRCkgcHJpdmF0ZSByZWFkb25seSBkcmFnZ2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICAgICAgQEluamVjdChUVUlfU0hFRVRfU0NST0xMKSBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbCQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlTaGVldENvbXBvbmVudCkgcHJpdmF0ZSByZWFkb25seSBzaGVldDogVHVpU2hlZXRDb21wb25lbnQ8dW5rbm93bj4sXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBzaG91bGRDbG9zZShzY3JvbGxUb3A6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtaW4gPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgdGhpcy5zaGVldC5zdG9wc1swXSB8fCBJbmZpbml0eSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gc2Nyb2xsVG9wIDwgbWluIC8gMjtcbiAgICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zaGVldC1jbG9zZS9zaGVldC1jbG9zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUNILGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFdkYsV0FBVztBQUlYLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBbUIvQixZQUNxQyxNQUFjLEVBQ0gsUUFBNkIsRUFDOUIsT0FBMkIsRUFDckMsU0FBaUIsRUFDYixVQUFtQyxFQUM1QixLQUFpQztRQUw1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0gsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNiLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQTRCO1FBdkJ4RSxVQUFLLEdBQXdCLEtBQUssQ0FDdkMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxFQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDZCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ2hCLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNoQixPQUFPO1lBQ0gsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUNyRCxDQUNWLEVBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQUMsT0FBQSxPQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwwQ0FBRSxTQUFTLEtBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxFQUFBLENBQUMsRUFDOUQsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDM0IsQ0FDSixDQUFDO0lBU0MsQ0FBQztJQUVJLFdBQVcsQ0FBQyxTQUFpQjtRQUNqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FDbEMsQ0FBQztRQUVGLE9BQU8sU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKLENBQUE7O1lBaEJnRCxNQUFNLHVCQUE5QyxNQUFNLFNBQUMsTUFBTTtZQUN3QyxVQUFVLHVCQUEvRCxNQUFNLFNBQUMsaUJBQWlCO1lBQzJCLFVBQVUsdUJBQTdELE1BQU0sU0FBQyxnQkFBZ0I7WUFDb0IsTUFBTSx1QkFBakQsTUFBTSxTQUFDLE1BQU07WUFDbUMsVUFBVSx1QkFBMUQsTUFBTSxTQUFDLFVBQVU7WUFDaUMsaUJBQWlCLHVCQUFuRSxNQUFNLFNBQUMsaUJBQWlCOztBQXZCN0I7SUFEQyxNQUFNLEVBQUU7cURBZ0JQO0FBakJPLHNCQUFzQjtJQUhsQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUM7SUFxQk8sV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDeEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBekJyQixzQkFBc0IsQ0FvQ2xDO1NBcENZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE5nWm9uZSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpWm9uZWZ1bGwsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7RU1QVFksIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlTaGVldENvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGVldC9zaGVldC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBUVUlfU0hFRVRfRFJBR0dFRCxcbiAgICBUVUlfU0hFRVRfU0NST0xMLFxufSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoZWV0L3NoZWV0LnByb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9TSEVFVF9DTE9TRX0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGVldC1oZWFkaW5nL3NoZWV0LWhlYWRpbmcuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNoZWV0W2Nsb3NlXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNoZWV0Q2xvc2VEaXJlY3RpdmUge1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNsb3NlOiBPYnNlcnZhYmxlPHVua25vd24+ID0gbWVyZ2UoXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBUVUlfU0hFRVRfQ0xPU0UpLFxuICAgICAgICB0aGlzLmRyYWdnZWQkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKGRyYWdnZWQgPT5cbiAgICAgICAgICAgICAgICBkcmFnZ2VkXG4gICAgICAgICAgICAgICAgICAgID8gRU1QVFlcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNjcm9sbCQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWx0ZXIoeSA9PiB0aGlzLnNoZWV0Lml0ZW0/LmNsb3NlYWJsZSAmJiB0aGlzLnNob3VsZENsb3NlKHkpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICB0dWlab25lZnVsbCh0aGlzLm5nWm9uZSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUVUlfU0hFRVRfRFJBR0dFRCkgcHJpdmF0ZSByZWFkb25seSBkcmFnZ2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICAgICAgQEluamVjdChUVUlfU0hFRVRfU0NST0xMKSBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbCQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlTaGVldENvbXBvbmVudCkgcHJpdmF0ZSByZWFkb25seSBzaGVldDogVHVpU2hlZXRDb21wb25lbnQ8dW5rbm93bj4sXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBzaG91bGRDbG9zZShzY3JvbGxUb3A6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtaW4gPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgdGhpcy5zaGVldC5zdG9wc1swXSB8fCBJbmZpbml0eSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gc2Nyb2xsVG9wIDwgbWluIC8gMjtcbiAgICB9XG59XG4iXX0=
@@ -73,4 +73,4 @@ TuiSheetWrapperDirective = __decorate([
73
73
  __param(1, Inject(TUI_SHEET_OFFSET))
74
74
  ], TuiSheetWrapperDirective);
75
75
  export { TuiSheetWrapperDirective };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtd3JhcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL3NoZWV0LXdyYXBwZXIvc2hlZXQtd3JhcHBlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNuQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQywyQkFBMkI7QUFDM0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBRWxCLFdBQVc7QUFZWCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQWFqQyxZQUNxQyxTQUFpQixFQUNQLE1BQWM7UUFEeEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNQLFdBQU0sR0FBTixNQUFNLENBQVE7UUFkN0Qsa0VBQWtFO1FBQ2xFLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFjYixDQUFDO0lBR0osSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQzlELENBQUM7SUFDTixDQUFDO0lBR0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDM0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFhOztRQUMzQixPQUFPLFFBQUMsSUFBSSxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFBLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDckUsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ3pDLENBQUM7Q0FDSixDQUFBOztZQTlCbUQsTUFBTSx1QkFBakQsTUFBTSxTQUFDLE1BQU07eUNBQ2IsTUFBTSxTQUFDLGdCQUFnQjs7QUFWNUI7SUFEQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7dURBQ29CO0FBR3BEO0lBREMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFDLENBQUM7MERBQ1g7QUFHaEQ7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQzt5REFDWjtBQVE5QztJQURDLE9BQU87d0RBS1A7QUFHRDtJQURDLE9BQU87d0RBR1A7QUFHRDtJQURDLE9BQU87dURBR1A7QUFqQ1Esd0JBQXdCO0lBWHBDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsSUFBSSxFQUFFO1lBQ0Ysb0JBQW9CLEVBQUUsVUFBVTtZQUNoQyxvQkFBb0IsRUFBRSxVQUFVO1lBQ2hDLG9CQUFvQixFQUFFLFVBQVU7WUFDaEMsb0JBQW9CLEVBQUUsVUFBVTtZQUNoQyxxQkFBcUIsRUFBRSxTQUFTO1lBQ2hDLHFCQUFxQixFQUFFLFNBQVM7U0FDbkM7S0FDSixDQUFDO0lBZU8sV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0dBZnBCLHdCQUF3QixDQTRDcEM7U0E1Q1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7Y2xhbXAsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpU2hlZXRDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hlZXQvc2hlZXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgVFVJX1NIRUVUX0RSQUdHRUQsXG4gICAgVFVJX1NIRUVUX09GRlNFVCxcbiAgICBUVUlfU0hFRVRfU0NST0xMLFxufSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoZWV0L3NoZWV0LnByb3ZpZGVycyc7XG5pbXBvcnQge3Byb2Nlc3NEcmFnZ2VkfSBmcm9tICcuLi8uLi9pb3MuaGFja3MnO1xuXG4vLyBTYWZldHkgb2Zmc2V0IGZvciBzaGFkb3dcbmNvbnN0IE9GRlNFVCA9IDE2O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2hlZXRXcmFwcGVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnWyQuY2xhc3MuX292ZXJsYXldJzogJ292ZXJsYXkkJyxcbiAgICAgICAgJygkLmNsYXNzLl9vdmVybGF5KSc6ICdvdmVybGF5JCcsXG4gICAgICAgICdbJC5jbGFzcy5fdmlzaWJsZV0nOiAndmlzaWJsZSQnLFxuICAgICAgICAnKCQuY2xhc3MuX3Zpc2libGUpJzogJ3Zpc2libGUkJyxcbiAgICAgICAgJ1skLnN0eWxlLmhlaWdodC5weF0nOiAnaGVpZ2h0JCcsXG4gICAgICAgICcoJC5zdHlsZS5oZWlnaHQucHgpJzogJ2hlaWdodCQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNoZWV0V3JhcHBlckRpcmVjdGl2ZSB7XG4gICAgLy8gVHJ5aW5nIHRvIGdldCBvdmVyZmxvdzogdmlzaWJsZSBhcyBlYXJseSBhcyBwb3NzaWJsZSBmb3IgU2FmYXJpXG4gICAgdG91Y2hlZCA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlTaGVldENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWV0PzogVHVpU2hlZXRDb21wb25lbnQ8dW5rbm93bj47XG5cbiAgICBAQ29udGVudENoaWxkKFR1aVNoZWV0Q29tcG9uZW50LCB7cmVhZDogVFVJX1NIRUVUX0RSQUdHRUR9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJhZ2dlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlTaGVldENvbXBvbmVudCwge3JlYWQ6IFRVSV9TSEVFVF9TQ1JPTEx9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsJCE6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfU0hFRVRfT0ZGU0VUKSBwcml2YXRlIHJlYWRvbmx5IG9mZnNldDogbnVtYmVyLFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IG92ZXJsYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGwkLnBpcGUoXG4gICAgICAgICAgICBtYXAoeSA9PiB5ICsgMTYgPiB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodCAtIHRoaXMub2Zmc2V0KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHByb2Nlc3NEcmFnZ2VkKHRoaXMuZHJhZ2dlZCQsIHRoaXMuc2Nyb2xsJCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgaGVpZ2h0JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGwkLnBpcGUobWFwKHRoaXMuZ2V0SGVpZ2h0LmJpbmQodGhpcykpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlaWdodCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGNsYW1wKHRoaXMud2l0aEltYWdlKHZhbHVlKSArIE9GRlNFVCwgT0ZGU0VULCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3aXRoSW1hZ2UodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaGVldD8uaW1hZ2VTdG9wIHx8IE1hdGguZmxvb3IodmFsdWUpID4gdGhpcy5zaGVldC5pbWFnZVN0b3BcbiAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgIDogdmFsdWUgLSB0aGlzLnNoZWV0LmltYWdlSGVpZ2h0O1xuICAgIH1cbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtd3JhcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL3NoZWV0LXdyYXBwZXIvc2hlZXQtd3JhcHBlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNuQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQywyQkFBMkI7QUFDM0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBRWxCLFdBQVc7QUFZWCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQWFqQyxZQUNxQyxTQUFpQixFQUNQLE1BQWM7UUFEeEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNQLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMN0Qsa0VBQWtFO1FBQ2xFLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFLYixDQUFDO0lBR0osSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQzlELENBQUM7SUFDTixDQUFDO0lBR0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDM0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFhOztRQUMzQixPQUFPLFFBQUMsSUFBSSxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFBLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDckUsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ3pDLENBQUM7Q0FDSixDQUFBOztZQTlCbUQsTUFBTSx1QkFBakQsTUFBTSxTQUFDLE1BQU07eUNBQ2IsTUFBTSxTQUFDLGdCQUFnQjs7QUFiNUI7SUFEQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7dURBQ29CO0FBR3BEO0lBREMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFDLENBQUM7MERBQ1g7QUFHaEQ7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQzt5REFDWjtBQVc5QztJQURDLE9BQU87d0RBS1A7QUFHRDtJQURDLE9BQU87d0RBR1A7QUFHRDtJQURDLE9BQU87dURBR1A7QUFqQ1Esd0JBQXdCO0lBWHBDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsSUFBSSxFQUFFO1lBQ0Ysb0JBQW9CLEVBQUUsVUFBVTtZQUNoQyxvQkFBb0IsRUFBRSxVQUFVO1lBQ2hDLG9CQUFvQixFQUFFLFVBQVU7WUFDaEMsb0JBQW9CLEVBQUUsVUFBVTtZQUNoQyxxQkFBcUIsRUFBRSxTQUFTO1lBQ2hDLHFCQUFxQixFQUFFLFNBQVM7U0FDbkM7S0FDSixDQUFDO0lBZU8sV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0dBZnBCLHdCQUF3QixDQTRDcEM7U0E1Q1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7Y2xhbXAsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpU2hlZXRDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hlZXQvc2hlZXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgVFVJX1NIRUVUX0RSQUdHRUQsXG4gICAgVFVJX1NIRUVUX09GRlNFVCxcbiAgICBUVUlfU0hFRVRfU0NST0xMLFxufSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoZWV0L3NoZWV0LnByb3ZpZGVycyc7XG5pbXBvcnQge3Byb2Nlc3NEcmFnZ2VkfSBmcm9tICcuLi8uLi9pb3MuaGFja3MnO1xuXG4vLyBTYWZldHkgb2Zmc2V0IGZvciBzaGFkb3dcbmNvbnN0IE9GRlNFVCA9IDE2O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2hlZXRXcmFwcGVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnWyQuY2xhc3MuX292ZXJsYXldJzogJ292ZXJsYXkkJyxcbiAgICAgICAgJygkLmNsYXNzLl9vdmVybGF5KSc6ICdvdmVybGF5JCcsXG4gICAgICAgICdbJC5jbGFzcy5fdmlzaWJsZV0nOiAndmlzaWJsZSQnLFxuICAgICAgICAnKCQuY2xhc3MuX3Zpc2libGUpJzogJ3Zpc2libGUkJyxcbiAgICAgICAgJ1skLnN0eWxlLmhlaWdodC5weF0nOiAnaGVpZ2h0JCcsXG4gICAgICAgICcoJC5zdHlsZS5oZWlnaHQucHgpJzogJ2hlaWdodCQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNoZWV0V3JhcHBlckRpcmVjdGl2ZSB7XG4gICAgQENvbnRlbnRDaGlsZChUdWlTaGVldENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWV0PzogVHVpU2hlZXRDb21wb25lbnQ8dW5rbm93bj47XG5cbiAgICBAQ29udGVudENoaWxkKFR1aVNoZWV0Q29tcG9uZW50LCB7cmVhZDogVFVJX1NIRUVUX0RSQUdHRUR9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJhZ2dlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlTaGVldENvbXBvbmVudCwge3JlYWQ6IFRVSV9TSEVFVF9TQ1JPTEx9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsJCE6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgIC8vIFRyeWluZyB0byBnZXQgb3ZlcmZsb3c6IHZpc2libGUgYXMgZWFybHkgYXMgcG9zc2libGUgZm9yIFNhZmFyaVxuICAgIHRvdWNoZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfU0hFRVRfT0ZGU0VUKSBwcml2YXRlIHJlYWRvbmx5IG9mZnNldDogbnVtYmVyLFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IG92ZXJsYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGwkLnBpcGUoXG4gICAgICAgICAgICBtYXAoeSA9PiB5ICsgMTYgPiB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodCAtIHRoaXMub2Zmc2V0KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHByb2Nlc3NEcmFnZ2VkKHRoaXMuZHJhZ2dlZCQsIHRoaXMuc2Nyb2xsJCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgaGVpZ2h0JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGwkLnBpcGUobWFwKHRoaXMuZ2V0SGVpZ2h0LmJpbmQodGhpcykpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlaWdodCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGNsYW1wKHRoaXMud2l0aEltYWdlKHZhbHVlKSArIE9GRlNFVCwgT0ZGU0VULCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3aXRoSW1hZ2UodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaGVldD8uaW1hZ2VTdG9wIHx8IE1hdGguZmxvb3IodmFsdWUpID4gdGhpcy5zaGVldC5pbWFnZVN0b3BcbiAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgIDogdmFsdWUgLSB0aGlzLnNoZWV0LmltYWdlSGVpZ2h0O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, InjectionToken, Renderer2 } from '@angular/core';
2
- import { isPresent, TUI_IS_ANDROID, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
2
+ import { isPresent, TUI_IS_IOS, TUI_TOUCH_SUPPORTED, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
3
3
  import { EMPTY } from 'rxjs';
4
4
  import { filter, map, takeUntil } from 'rxjs/operators';
5
5
  export const RIPPLE_ON = 'tuiRippleOn';
@@ -10,17 +10,17 @@ export const TUI_RIPPLE_PROVIDERS = [
10
10
  TuiDestroyService,
11
11
  {
12
12
  provide: TUI_RIPPLE_START,
13
- deps: [TUI_IS_ANDROID, ElementRef, Renderer2],
13
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],
14
14
  useFactory: rippleStartFactory,
15
15
  },
16
16
  {
17
17
  provide: TUI_RIPPLE_END,
18
- deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],
18
+ deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],
19
19
  useFactory: rippleEndFactory,
20
20
  },
21
21
  ];
22
- export function rippleStartFactory(isAndroid, { nativeElement }, renderer) {
23
- return !isAndroid
22
+ export function rippleStartFactory(touchSupported, isIOS, { nativeElement }, renderer) {
23
+ return isIOS || !touchSupported
24
24
  ? EMPTY
25
25
  : typedFromEvent(nativeElement, 'touchstart').pipe(map(({ touches }) => {
26
26
  const { clientX, clientY } = touches[touches.length - 1];
@@ -41,9 +41,9 @@ export function rippleStartFactory(isAndroid, { nativeElement }, renderer) {
41
41
  return ripple;
42
42
  }));
43
43
  }
44
- export function rippleEndFactory(isAndroid, { nativeElement }, destroy$) {
45
- return !isAndroid
44
+ export function rippleEndFactory(touchSupported, isIOS, { nativeElement }, destroy$) {
45
+ return isIOS || !touchSupported
46
46
  ? EMPTY
47
47
  : typedFromEvent(nativeElement, 'animationend').pipe(filter(({ animationName }) => animationName === RIPPLE_OFF), map(({ target }) => target), filter(isPresent), takeUntil(destroy$));
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsa0NBQWtDLENBQ3JDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQzVDLHFDQUFxQyxDQUN4QyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWU7SUFDNUMsaUJBQWlCO0lBQ2pCO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztRQUM3QyxVQUFVLEVBQUUsa0JBQWtCO0tBQ2pDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsY0FBYztRQUN2QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO1FBQ3JELFVBQVUsRUFBRSxnQkFBZ0I7S0FDL0I7Q0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixTQUFrQixFQUNsQixFQUFDLGFBQWEsRUFBMEIsRUFDeEMsUUFBbUI7SUFFbkIsT0FBTyxDQUFDLFNBQVM7UUFDYixDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFO1lBQ2QsTUFBTSxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxNQUFNLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLEdBQzVCLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDMUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM3QixNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNsQyxNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNqQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxZQUFZLENBQ2pCLE1BQU0sRUFDTixPQUFPLEVBQ1A7aUNBQ1csU0FBUztrQ0FDUixTQUFTO2dDQUNYLENBQUM7K0JBQ0YsQ0FBQzswQ0FDVSxTQUFTO3FCQUM5QixDQUNGLENBQUM7WUFFRixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsU0FBa0IsRUFDbEIsRUFBQyxhQUFhLEVBQTBCLEVBQ3hDLFFBQTBCO0lBRTFCLE9BQU8sQ0FBQyxTQUFTO1FBQ2IsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQzlDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxVQUFVLENBQUMsRUFDekQsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQ3pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDakIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBpc1ByZXNlbnQsXG4gICAgVFVJX0lTX0FORFJPSUQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFJJUFBMRV9PTiA9ICd0dWlSaXBwbGVPbic7XG5leHBvcnQgY29uc3QgUklQUExFX09GRiA9ICd0dWlSaXBwbGVPZmYnO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfU1RBUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgICdTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIGFkZCcsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfRU5EID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+PihcbiAgICAnU3RyZWFtIG9mIHJpcHBsZSBlbGVtZW50cyB0byByZW1vdmUnLFxuKTtcbmV4cG9ydCBjb25zdCBUVUlfUklQUExFX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9SSVBQTEVfU1RBUlQsXG4gICAgICAgIGRlcHM6IFtUVUlfSVNfQU5EUk9JRCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyXSxcbiAgICAgICAgdXNlRmFjdG9yeTogcmlwcGxlU3RhcnRGYWN0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfUklQUExFX0VORCxcbiAgICAgICAgZGVwczogW1RVSV9JU19BTkRST0lELCBFbGVtZW50UmVmLCBUdWlEZXN0cm95U2VydmljZV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHJpcHBsZUVuZEZhY3RvcnksXG4gICAgfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiByaXBwbGVTdGFydEZhY3RvcnkoXG4gICAgaXNBbmRyb2lkOiBib29sZWFuLFxuICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbik6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+IHtcbiAgICByZXR1cm4gIWlzQW5kcm9pZFxuICAgICAgICA/IEVNUFRZXG4gICAgICAgIDogdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHt0b3VjaGVzfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3Qge2NsaWVudFgsIGNsaWVudFl9ID0gdG91Y2hlc1t0b3VjaGVzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgY29uc3Qge3dpZHRoLCBoZWlnaHQsIHRvcCwgbGVmdH0gPVxuICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLnNxcnQod2lkdGggKiB3aWR0aCArIGhlaWdodCAqIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkaW1lbnNpb24gPSByYWRpdXMgKiAyO1xuICAgICAgICAgICAgICAgICAgY29uc3QgeCA9IGNsaWVudFggLSBsZWZ0IC0gcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGNsaWVudFkgLSB0b3AgLSByYWRpdXM7XG4gICAgICAgICAgICAgICAgICBjb25zdCByaXBwbGUgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MocmlwcGxlLCAndHVpLXJpcHBsZScpO1xuICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgIHJpcHBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAke2RpbWVuc2lvbn1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHtkaW1lbnNpb259cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAke3h9cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICR7eX1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAke1JJUFBMRV9PTn07XG4gICAgICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmlwcGxlO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlwcGxlRW5kRmFjdG9yeShcbiAgICBpc0FuZHJvaWQ6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbik6IE9ic2VydmFibGU8RXZlbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gIWlzQW5kcm9pZFxuICAgICAgICA/IEVNUFRZXG4gICAgICAgIDogdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2FuaW1hdGlvbmVuZCcpLnBpcGUoXG4gICAgICAgICAgICAgIGZpbHRlcigoe2FuaW1hdGlvbk5hbWV9KSA9PiBhbmltYXRpb25OYW1lID09PSBSSVBQTEVfT0ZGKSxcbiAgICAgICAgICAgICAgbWFwKCh7dGFyZ2V0fSkgPT4gdGFyZ2V0KSxcbiAgICAgICAgICAgICAgZmlsdGVyKGlzUHJlc2VudCksXG4gICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgKTtcbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLGtDQUFrQyxDQUNyQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUM1QyxxQ0FBcUMsQ0FDeEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFlO0lBQzVDLGlCQUFpQjtJQUNqQjtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDOUQsVUFBVSxFQUFFLGtCQUFrQjtLQUNqQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztRQUN0RSxVQUFVLEVBQUUsZ0JBQWdCO0tBQy9CO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsY0FBdUIsRUFDdkIsS0FBYyxFQUNkLEVBQUMsYUFBYSxFQUEwQixFQUN4QyxRQUFtQjtJQUVuQixPQUFPLEtBQUssSUFBSSxDQUFDLGNBQWM7UUFDM0IsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRTtZQUNkLE1BQU0sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxHQUM1QixhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQzFELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7WUFDbEMsTUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3QyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsWUFBWSxDQUNqQixNQUFNLEVBQ04sT0FBTyxFQUNQO2lDQUNXLFNBQVM7a0NBQ1IsU0FBUztnQ0FDWCxDQUFDOytCQUNGLENBQUM7MENBQ1UsU0FBUztxQkFDOUIsQ0FDRixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLGNBQXVCLEVBQ3ZCLEtBQWMsRUFDZCxFQUFDLGFBQWEsRUFBMEIsRUFDeEMsUUFBMEI7SUFFMUIsT0FBTyxLQUFLLElBQUksQ0FBQyxjQUFjO1FBQzNCLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLEVBQ3pELEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgaXNQcmVzZW50LFxuICAgIFRVSV9JU19JT1MsXG4gICAgVFVJX1RPVUNIX1NVUFBPUlRFRCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgUklQUExFX09OID0gJ3R1aVJpcHBsZU9uJztcbmV4cG9ydCBjb25zdCBSSVBQTEVfT0ZGID0gJ3R1aVJpcHBsZU9mZic7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEhUTUxFbGVtZW50Pj4oXG4gICAgJ1N0cmVhbSBvZiByaXBwbGUgZWxlbWVudHMgdG8gYWRkJyxcbik7XG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9FTkQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgICdTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIHJlbW92ZScsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1JJUFBMRV9TVEFSVCxcbiAgICAgICAgZGVwczogW1RVSV9UT1VDSF9TVVBQT1JURUQsIFRVSV9JU19JT1MsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMl0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHJpcHBsZVN0YXJ0RmFjdG9yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1JJUFBMRV9FTkQsXG4gICAgICAgIGRlcHM6IFtUVUlfVE9VQ0hfU1VQUE9SVEVELCBUVUlfSVNfSU9TLCBFbGVtZW50UmVmLCBUdWlEZXN0cm95U2VydmljZV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHJpcHBsZUVuZEZhY3RvcnksXG4gICAgfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiByaXBwbGVTdGFydEZhY3RvcnkoXG4gICAgdG91Y2hTdXBwb3J0ZWQ6IGJvb2xlYW4sXG4gICAgaXNJT1M6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuKTogT2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiBpc0lPUyB8fCAhdG91Y2hTdXBwb3J0ZWRcbiAgICAgICAgPyBFTVBUWVxuICAgICAgICA6IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0JykucGlwZShcbiAgICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHtjbGllbnRYLCBjbGllbnRZfSA9IHRvdWNoZXNbdG91Y2hlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0LCB0b3AsIGxlZnR9ID1cbiAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmFkaXVzID0gTWF0aC5zcXJ0KHdpZHRoICogd2lkdGggKyBoZWlnaHQgKiBoZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGltZW5zaW9uID0gcmFkaXVzICogMjtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHggPSBjbGllbnRYIC0gbGVmdCAtIHJhZGl1cztcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHkgPSBjbGllbnRZIC0gdG9wIC0gcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmlwcGxlID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKHJpcHBsZSwgJ3R1aS1yaXBwbGUnKTtcbiAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICByaXBwbGUsXG4gICAgICAgICAgICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHtkaW1lbnNpb259cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR7ZGltZW5zaW9ufXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogJHt4fXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAke3l9cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogJHtSSVBQTEVfT059O1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHJpcHBsZTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJpcHBsZUVuZEZhY3RvcnkoXG4gICAgdG91Y2hTdXBwb3J0ZWQ6IGJvb2xlYW4sXG4gICAgaXNJT1M6IGJvb2xlYW4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbik6IE9ic2VydmFibGU8RXZlbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gaXNJT1MgfHwgIXRvdWNoU3VwcG9ydGVkXG4gICAgICAgID8gRU1QVFlcbiAgICAgICAgOiB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnYW5pbWF0aW9uZW5kJykucGlwZShcbiAgICAgICAgICAgICAgZmlsdGVyKCh7YW5pbWF0aW9uTmFtZX0pID0+IGFuaW1hdGlvbk5hbWUgPT09IFJJUFBMRV9PRkYpLFxuICAgICAgICAgICAgICBtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpLFxuICAgICAgICAgICAgICBmaWx0ZXIoaXNQcmVzZW50KSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICApO1xufVxuIl19