@taiga-ui/core 2.34.0 → 2.35.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 (89) hide show
  1. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -6
  2. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +2 -2
  4. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +2 -2
  6. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  7. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  9. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  11. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-root.umd.js +13 -7
  13. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-root.umd.min.js +2 -2
  15. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  17. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  19. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-directives-described-by.umd.js +4 -4
  21. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-directives-described-by.umd.min.js +1 -1
  23. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-tokens.umd.js +5 -0
  25. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  26. package/bundles/taiga-ui-core-tokens.umd.min.js +2 -2
  27. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  28. package/components/primitive-calendar/primitive-calendar.component.d.ts +0 -1
  29. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  30. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  31. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  32. package/components/root/root.component.d.ts +1 -1
  33. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  34. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  35. package/constants/version.d.ts +1 -1
  36. package/directives/described-by/taiga-ui-core-directives-described-by.metadata.json +1 -1
  37. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -7
  38. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  39. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  40. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  41. package/esm2015/components/root/root.component.js +11 -5
  42. package/esm2015/constants/version.js +2 -2
  43. package/esm2015/directives/described-by/described-by.providers.js +6 -6
  44. package/esm2015/tokens/index.js +2 -1
  45. package/esm2015/tokens/theme.js +5 -0
  46. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -7
  47. package/esm5/components/primitive-textfield/primitive-textfield.component.js +1 -1
  48. package/esm5/components/primitive-textfield/textfield/textfield.component.js +1 -1
  49. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  50. package/esm5/components/root/root.component.js +12 -5
  51. package/esm5/constants/version.js +2 -2
  52. package/esm5/directives/described-by/described-by.providers.js +7 -7
  53. package/esm5/tokens/index.js +2 -1
  54. package/esm5/tokens/theme.js +5 -0
  55. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -6
  56. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
  58. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  59. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  60. package/fesm2015/taiga-ui-core-components-root.js +10 -5
  61. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  62. package/fesm2015/taiga-ui-core-constants.js +1 -1
  63. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  64. package/fesm2015/taiga-ui-core-directives-described-by.js +6 -6
  65. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  66. package/fesm2015/taiga-ui-core-tokens.js +5 -1
  67. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  68. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -6
  69. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  70. package/fesm5/taiga-ui-core-components-primitive-textfield.js +2 -2
  71. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  72. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  73. package/fesm5/taiga-ui-core-components-root.js +11 -5
  74. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  75. package/fesm5/taiga-ui-core-constants.js +1 -1
  76. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  77. package/fesm5/taiga-ui-core-directives-described-by.js +7 -7
  78. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  79. package/fesm5/taiga-ui-core-tokens.js +5 -1
  80. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  81. package/package.json +4 -4
  82. package/styles/markup/tui-form.less +4 -9
  83. package/styles/mixins/picker.less +10 -10
  84. package/styles/mixins/picker.scss +10 -10
  85. package/styles/mixins/textfield.less +4 -4
  86. package/styles/theme/variables.less +1 -0
  87. package/tokens/index.d.ts +1 -0
  88. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  89. package/tokens/theme.d.ts +2 -0
@@ -77,10 +77,6 @@ let TuiPrimitiveCalendarComponent = class TuiPrimitiveCalendarComponent {
77
77
  ? "single" /* Single */
78
78
  : null;
79
79
  }
80
- itemIsDisabled(day) {
81
- const { disabledItemHandler } = this;
82
- return disabledItemHandler(day);
83
- }
84
80
  itemIsToday(item) {
85
81
  return this.today.daySame(item);
86
82
  }
@@ -157,11 +153,11 @@ __decorate([
157
153
  TuiPrimitiveCalendarComponent = __decorate([
158
154
  Component({
159
155
  selector: 'tui-primitive-calendar',
160
- template: "<div class=\"t-row t-row_weekday\">\n <div *ngFor=\"let day of weekDays$ | async\" class=\"t-cell\">{{ day }}</div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [class.t-cell_weekend]=\"item.isWeekend\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n (click)=\"onItemClick(item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__item\"\n class=\"t-item\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"item | tuiMapper: toMarkers:itemIsToday(item):!!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [tuiBackground]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [tuiBackground]=\"markers[1]\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n",
156
+ template: "<div class=\"t-row t-row_weekday\">\n <div *ngFor=\"let day of weekDays$ | async\" class=\"t-cell\">{{ day }}</div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [class.t-cell_weekend]=\"item.isWeekend\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n (click)=\"onItemClick(item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__item\"\n class=\"t-item\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"item | tuiMapper: toMarkers:itemIsToday(item):!!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [tuiBackground]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [tuiBackground]=\"markers[1]\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n",
161
157
  changeDetection: ChangeDetectionStrategy.OnPush,
162
- styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-2.25rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item:after,.t-cell[data-tui-element-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-tui-element-range=end]>.t-item:before{left:.25rem}.t-cell[data-tui-element-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-range=start]>.t-item:before{right:.25rem}.t-cell[data-tui-element-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-state=disabled]{pointer-events:none}.t-cell[data-tui-element-state=disabled]>.t-item{opacity:.36}.t-cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-cell_weekend{color:var(--tui-negative)}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}"]
158
+ styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-2.25rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:after,.t-cell[data-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hovered]>.t-item:after,.t-cell[data-range][data-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=pressed]>.t-item:after,.t-cell[data-range][data-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-range=end]>.t-item:before{left:.25rem}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.25rem}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hovered]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=pressed]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-cell_weekend{color:var(--tui-negative)}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}"]
163
159
  }),
164
160
  __param(0, Inject(TUI_ORDERED_SHORT_WEEK_DAYS))
165
161
  ], TuiPrimitiveCalendarComponent);
166
162
  export { TuiPrimitiveCalendarComponent };
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLWNhbGVuZGFyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFlBQVksRUFFWixNQUFNLEVBQ04sV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsV0FBVztBQU9YLElBQWEsNkJBQTZCLEdBQTFDLE1BQWEsNkJBQTZCO0lBa0N0QyxZQUVhLFNBQXNDO1FBQXRDLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBbkMzQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDekIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUkvQyxVQUFLLEdBQWEsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBSTFDLHdCQUFtQixHQUE4QixvQkFBb0IsQ0FBQztRQUl0RSxrQkFBYSxHQUFxQiwwQkFBMEIsQ0FBQztRQUk3RCxVQUFLLEdBQWdDLElBQUksQ0FBQztRQUkxQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFJbEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFHWCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FB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QUFlLENBQUM7NkRBTTVCO0FBN0NRLDZCQUE2QjtJQU56QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLDZ6RUFBaUQ7UUFFakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7SUFvQ08sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtHQW5DL0IsNkJBQTZCLENBaUx6QztTQWpMWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIG51bGxhYmxlU2FtZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtUVUlfT1JERVJFRF9TSE9SVF9XRUVLX0RBWVMsIFdFRUtfREFZU19OQU1FU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQ29sb3IsIFR1aU1hcmtlckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmltaXRpdmUtY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLWNhbGVuZGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlQ2FsZW5kYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcHJlc3NlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9udGg6IFR1aU1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogVHVpRGF5UmFuZ2UgfCBUdWlEYXkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0FkamFjZW50ID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGF5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9PUkRFUkVEX1NIT1JUX1dFRUtfREFZUylcbiAgICAgICAgcmVhZG9ubHkgd2Vla0RheXMkOiBPYnNlcnZhYmxlPFdFRUtfREFZU19OQU1FUz4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSB8fCB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHRvTWFya2VycyA9IChcbiAgICAgICAgZGF5OiBUdWlEYXksXG4gICAgICAgIHRvZGF5OiBib29sZWFuLFxuICAgICAgICBpblJhbmdlOiBib29sZWFuLFxuICAgICk6IG51bGwgfCBbVHVpQ29sb3IgfCBzdHJpbmddIHwgW1R1aUNvbG9yIHwgc3RyaW5nLCBUdWlDb2xvciB8IHN0cmluZ10gPT4ge1xuICAgICAgICBpZiAodG9kYXkgfHwgaW5SYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJIYW5kbGVyKGRheSk7XG5cbiAgICAgICAgcmV0dXJuIG1hcmtlcnMubGVuZ3RoID09PSAwID8gbnVsbCA6IG1hcmtlcnM7XG4gICAgfTtcblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBUdWlEYXkpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyLCBwcmVzc2VkSXRlbSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuRGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlc3NlZEl0ZW0gJiYgcHJlc3NlZEl0ZW0uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuUHJlc3NlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSAmJiBob3ZlcmVkSXRlbS5kYXlTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aURheSk6IFR1aVJhbmdlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZGF5U2FtZShpdGVtKSA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5TdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS50by5kYXlTYW1lKGl0ZW0pICYmICF2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuRW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmlzU2luZ2xlRGF5ICYmIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGl0ZW1Jc0Rpc2FibGVkKGRheTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIGRpc2FibGVkSXRlbUhhbmRsZXIoZGF5KTtcbiAgICB9XG5cbiAgICBpdGVtSXNUb2RheShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkuZGF5U2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpdGVtSXNVbmF2YWlsYWJsZShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1vbnRoLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpdGVtSXNJbnRlcnZhbChkYXk6IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgb25JdGVtSG92ZXJlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGl0ZW0gfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSkge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gaXRlbSB8fCBudWxsO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSkge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgaWYgKG51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLWNhbGVuZGFyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFlBQVksRUFFWixNQUFNLEVBQ04sV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsV0FBVztBQU9YLElBQWEsNkJBQTZCLEdBQTFDLE1BQWEsNkJBQTZCO0lBa0N0QyxZQUVhLFNBQXNDO1FBQXRDLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBbkMzQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDekIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUkvQyxVQUFLLEdBQWEsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBSTFDLHdCQUFtQixHQUE4QixvQkFBb0IsQ0FBQztRQUl0RSxrQkFBYSxHQUFxQiwwQkFBMEIsQ0FBQztRQUk3RCxVQUFLLEdBQWdDLElBQUksQ0FBQztRQUkxQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFJbEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFHWCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FB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TTs7S0FDbEQsQ0FBQztJQW9DTyxXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0dBbkMvQiw2QkFBNkIsQ0EyS3pDO1NBM0tZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgbnVsbGFibGVTYW1lLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheSxcbiAgICBUdWlEYXlSYW5nZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlJbnRlcmFjdGl2ZVN0YXRlLCBUdWlSYW5nZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1RVSV9PUkRFUkVEX1NIT1JUX1dFRUtfREFZUywgV0VFS19EQVlTX05BTUVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlDb2xvciwgVHVpTWFya2VySGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXByaW1pdGl2ZS1jYWxlbmRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUtY2FsZW5kYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVDYWxlbmRhckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBwcmVzc2VkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IFR1aURheSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhvdmVyZWRJdGVtOiBUdWlEYXkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaG92ZXJlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheSB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkYXlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX09SREVSRURfU0hPUlRfV0VFS19EQVlTKVxuICAgICAgICByZWFkb25seSB3ZWVrRGF5cyQ6IE9ic2VydmFibGU8V0VFS19EQVlTX05BTUVTPixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zaW5nbGUnKVxuICAgIGdldCBpc1NpbmdsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5IHx8IHRoaXMudmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdG9NYXJrZXJzID0gKFxuICAgICAgICBkYXk6IFR1aURheSxcbiAgICAgICAgdG9kYXk6IGJvb2xlYW4sXG4gICAgICAgIGluUmFuZ2U6IGJvb2xlYW4sXG4gICAgKTogbnVsbCB8IFtUdWlDb2xvciB8IHN0cmluZ10gfCBbVHVpQ29sb3IgfCBzdHJpbmcsIFR1aUNvbG9yIHwgc3RyaW5nXSA9PiB7XG4gICAgICAgIGlmICh0b2RheSB8fCBpblJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcmtlcnMgPSB0aGlzLm1hcmtlckhhbmRsZXIoZGF5KTtcblxuICAgICAgICByZXR1cm4gbWFya2Vycy5sZW5ndGggPT09IDAgPyBudWxsIDogbWFya2VycztcbiAgICB9O1xuXG4gICAgZ2V0SXRlbVN0YXRlKGl0ZW06IFR1aURheSk6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Rpc2FibGVkSXRlbUhhbmRsZXIsIHByZXNzZWRJdGVtLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSAmJiBwcmVzc2VkSXRlbS5kYXlTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5QcmVzc2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtICYmIGhvdmVyZWRJdGVtLmRheVNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkhvdmVyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLlN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLnRvLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVEYXkgJiYgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pXG4gICAgICAgICAgICA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgaXRlbUlzVG9kYXkoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZGF5LmRheVNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXRlbUlzVW5hdmFpbGFibGUoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb250aC5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZS5pc1NpbmdsZURheSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZyb20uZGF5U2FtZU9yQmVmb3JlKGRheSkgJiYgdmFsdWUudG8uZGF5QWZ0ZXIoZGF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBUdWlEYXlSYW5nZS5zb3J0KHZhbHVlLmZyb20sIGhvdmVyZWRJdGVtKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiByYW5nZS50by5kYXlBZnRlcihkYXkpO1xuICAgIH1cblxuICAgIG9uSXRlbUhvdmVyZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShpdGVtIHx8IG51bGwpO1xuICAgIH1cblxuICAgIG9uSXRlbVByZXNzZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IGl0ZW0gfHwgbnVsbDtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhpdGVtOiBUdWlEYXkpIHtcbiAgICAgICAgdGhpcy5kYXlDbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0oZGF5OiBUdWlEYXkgfCBudWxsKSB7XG4gICAgICAgIGlmIChudWxsYWJsZVNhbWUodGhpcy5ob3ZlcmVkSXRlbSwgZGF5LCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbSA9IGRheTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUNoYW5nZS5lbWl0KGRheSk7XG4gICAgfVxufVxuIl19
@@ -258,7 +258,7 @@ TuiPrimitiveTextfieldComponent = __decorate([
258
258
  '[class._autofilled]': 'autofilled',
259
259
  '[class._label-outside]': 'controller.labelOutside',
260
260
  },
261
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border-width:0 var(--border-end) 0 var(--border-start);border-inline-start-width:var(--border-start);border-inline-end-width:var(--border-end);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),:host[data-size='s'] .input{padding:0 var(--tui-padding-s)}.input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),:host[data-size='l'] .input{padding:0 var(--tui-padding-l)}.input :host-context(tui-primitive-textfield._disabled),:host._disabled .input{pointer-events:none}.input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .input{padding-top:1.25rem}.input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .input{padding-top:1.125rem}.input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.input :host-context(tui-primitive-textfield._hidden),:host._hidden input.input{opacity:0;text-indent:-10em;-webkit-user-select:none}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.placeholder{transition-property:transform,color,letter-spacing}}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host._autofilled .t-value-decoration{display:none}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input:not(:first-child){display:none}:host[data-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.input:-webkit-autofill,.input:-webkit-autofill::first-line{font-size:inherit;line-height:inherit}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
261
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),:host[data-size='s'] .input{padding:0 var(--tui-padding-s)}.input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),:host[data-size='l'] .input{padding:0 var(--tui-padding-l)}.input :host-context(tui-primitive-textfield._disabled),:host._disabled .input{pointer-events:none}.input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .input{padding-top:1.25rem}.input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .input{padding-top:1.125rem}.input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.input :host-context(tui-primitive-textfield._hidden),:host._hidden input.input{opacity:0;text-indent:-10em;-webkit-user-select:none}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.placeholder{transition-property:transform,color,letter-spacing}}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host._autofilled .t-value-decoration{display:none}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input:not(:first-child){display:none}:host[data-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.input:-webkit-autofill,.input:-webkit-autofill::first-line{font-size:inherit;line-height:inherit}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
262
262
  }),
263
263
  __param(0, Inject(TUI_MODE)),
264
264
  __param(1, Inject(TUI_TEXTFIELD_APPEARANCE)),
@@ -56,7 +56,7 @@ TuiTextfieldComponent = __decorate([
56
56
  '(input)': 'host.onValueChange($event.target.value)',
57
57
  },
58
58
  changeDetection: ChangeDetectionStrategy.OnPush,
59
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border-width:0 var(--border-end) 0 var(--border-start);border-inline-start-width:var(--border-start);border-inline-end-width:var(--border-end);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}:host:-webkit-autofill,:host:-webkit-autofill:focus,:host:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] :host:-webkit-autofill,:host[data-mode=onDark] :host:-webkit-autofill:focus,:host[data-mode=onDark] :host:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),:host[data-size='s'] :host{padding:0 var(--tui-padding-s)}:host :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),:host[data-size='l'] :host{padding:0 var(--tui-padding-l)}:host :host-context(tui-primitive-textfield._disabled),:host._disabled :host{pointer-events:none}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) :host{padding-top:1.25rem}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) :host:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) :host{padding-top:1.125rem}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) :host:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host :host-context(tui-primitive-textfield._hidden),:host._hidden input:host{opacity:0;text-indent:-10em;-webkit-user-select:none}:host::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-caps-lock-indicator{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-contacts-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credentials-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button:hover,:host::-webkit-credentials-auto-fill-button:hover,:host::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}:host::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}:host::placeholder{color:var(--tui-text-03);opacity:0}:host :host-context(tui-primitive-textfield[data-mode=onDark])::-ms-input-placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield[data-mode=onDark])::placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::-ms-input-placeholder{opacity:1}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::placeholder{opacity:1}"]
59
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}:host:-webkit-autofill,:host:-webkit-autofill:focus,:host:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] :host:-webkit-autofill,:host[data-mode=onDark] :host:-webkit-autofill:focus,:host[data-mode=onDark] :host:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),:host[data-size='s'] :host{padding:0 var(--tui-padding-s)}:host :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),:host[data-size='l'] :host{padding:0 var(--tui-padding-l)}:host :host-context(tui-primitive-textfield._disabled),:host._disabled :host{pointer-events:none}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) :host{padding-top:1.25rem}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) :host:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) :host{padding-top:1.125rem}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) :host:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host :host-context(tui-primitive-textfield._hidden),:host._hidden input:host{opacity:0;text-indent:-10em;-webkit-user-select:none}:host::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-caps-lock-indicator{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-contacts-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credentials-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button:hover,:host::-webkit-credentials-auto-fill-button:hover,:host::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}:host::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}:host::placeholder{color:var(--tui-text-03);opacity:0}:host :host-context(tui-primitive-textfield[data-mode=onDark])::-ms-input-placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield[data-mode=onDark])::placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::-ms-input-placeholder{opacity:1}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::placeholder{opacity:1}"]
60
60
  }),
61
61
  __param(0, Inject(TUI_TEXTFIELD_HOST)),
62
62
  __param(1, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
@@ -148,10 +148,10 @@ __decorate([
148
148
  TuiPrimitiveYearPickerComponent = __decorate([
149
149
  Component({
150
150
  selector: 'tui-primitive-year-picker',
151
- template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n",
151
+ template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n",
152
152
  changeDetection: ChangeDetectionStrategy.OnPush,
153
- styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem;margin:.875rem 0}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-3.9375rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item:after,.t-cell[data-tui-element-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-tui-element-range=end]>.t-item:before{left:.25rem}.t-cell[data-tui-element-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-range=start]>.t-item:before{right:.25rem}.t-cell[data-tui-element-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-state=disabled]{pointer-events:none}.t-cell[data-tui-element-state=disabled]>.t-item{opacity:.36}.t-cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}"]
153
+ styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem;margin:.875rem 0}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-3.9375rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:after,.t-cell[data-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hovered]>.t-item:after,.t-cell[data-range][data-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=pressed]>.t-item:after,.t-cell[data-range][data-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-range=end]>.t-item:before{left:.25rem}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.25rem}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hovered]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=pressed]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}"]
154
154
  })
155
155
  ], TuiPrimitiveYearPickerComponent);
156
156
  export { TuiPrimitiveYearPickerComponent };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXllYXItcGlja2VyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBR1osY0FBYyxFQUNkLFFBQVEsRUFDUixhQUFhLEVBQ2IsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRdkIsSUFBYSwrQkFBK0IsR0FBNUMsTUFBYSwrQkFBK0I7SUFBNUM7UUFDWSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztRQUk1RCxVQUFLLEdBQWlDLElBQUksQ0FBQztRQUkzQyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUl0QyxRQUFHLEdBQVksYUFBYSxDQUFDO1FBSTdCLFFBQUcsR0FBWSxZQUFZLENBQUM7UUFJNUIsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBRzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQW1KbkUsQ0FBQztJQWhKRyxJQUFJLFFBQVE7UUFDUixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXJCLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUU5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRTlDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNqRSxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQTZCO1FBQ2pDLE9BQU8sSUFBSSxZQUFZLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDdEMsT0FBTyxRQUFRLEdBQUcsWUFBWSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUNyQixNQUFNLEVBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFbEUsSUFDSSxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLG1CQUFtQixLQUFLLG9CQUFvQixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzdFO1lBQ0UsaUNBQW9DO1NBQ3ZDO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3RCLCtCQUFtQztTQUN0QztRQUVELElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUN0QiwrQkFBbUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDckIsTUFBTSxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFbEMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLEtBQUssWUFBWSxPQUFPLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLHVCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzVEO1FBRUQsSUFDSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1RCxDQUFDLFdBQVcsS0FBSyxJQUFJO2dCQUNqQixXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJO2dCQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsQ0FBQyxXQUFXLEtBQUssSUFBSTtnQkFDakIsV0FBVyxLQUFLLElBQUk7Z0JBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNwQztZQUNFLDJCQUEyQjtTQUM5QjtRQUVELElBQ0ksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQyxXQUFXLEtBQUssSUFBSTtnQkFDakIsV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSTtnQkFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsV0FBVyxLQUFLLElBQUk7Z0JBQ2pCLFdBQVcsS0FBSyxJQUFJO2dCQUNwQixXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDcEM7WUFDRSx1QkFBeUI7U0FDNUI7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJO1lBQzVELENBQUM7WUFDRCxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3ZCLE1BQU0sRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRWxDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUMxRDtRQUVELElBQUksV0FBVyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDekQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLE9BQU8sQ0FDVixJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsRUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FDekMsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxJQUFZO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQixFQUFFLElBQVk7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxJQUFZO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxJQUFZO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0NBQ0osQ0FBQTtBQXRLRztJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs4REFDMEI7QUFJM0M7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7b0VBQ3FCO0FBSXRDO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzREQUNZO0FBSTdCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzREQUNXO0FBSTVCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzRFQUNxRDtBQUd0RTtJQURDLE1BQU0sRUFBRTtrRUFDc0Q7QUFHL0Q7SUFEQyxXQUFXLENBQUMsZUFBZSxDQUFDOytEQUs1QjtBQWpDUSwrQkFBK0I7SUFOM0MsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQywrN0JBQW9EO1FBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0dBQ1csK0JBQStCLENBNkszQztTQTdLWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgaW5SYW5nZSxcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXlSYW5nZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlNb250aCxcbiAgICBUdWlNb250aFJhbmdlLFxuICAgIFR1aVllYXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlJbnRlcmFjdGl2ZVN0YXRlLCBUdWlSYW5nZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5cbmNvbnN0IExJTUlUID0gMTAwO1xuY29uc3QgSVRFTVNfSU5fUk9XID0gNDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXllYXItcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXllYXItcGlja2VyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByaW1pdGl2ZS15ZWFyLXBpY2tlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVllYXJQaWNrZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgaG92ZXJlZEl0ZW06IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcHJlc3NlZEl0ZW06IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VycmVudFllYXIgPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKS55ZWFyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlZZWFyIHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbml0aWFsSXRlbSA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpWWVhciA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlZZWFyID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPG51bWJlcj4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHllYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpWWVhciB8IFR1aURheVJhbmdlPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiAhIXZhbHVlICYmIHRoaXMuaXNSYW5nZSh2YWx1ZSkgJiYgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50byk7XG4gICAgfVxuXG4gICAgZ2V0IHJvd3MoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCgodGhpcy5jYWxjdWxhdGVkTWF4IC0gdGhpcy5jYWxjdWxhdGVkTWluKSAvIElURU1TX0lOX1JPVyk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGN1bGF0ZWRNaW4oKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IHRoaXMuaW5pdGlhbEl0ZW0ueWVhciAtIExJTUlUO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm1pbi55ZWFyID4gaW5pdGlhbCA/IHRoaXMubWluLnllYXIgOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgKyBMSU1JVDtcblxuICAgICAgICByZXR1cm4gdGhpcy5tYXgueWVhciA8IGluaXRpYWwgPyB0aGlzLm1heC55ZWFyICsgMSA6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgaXNSYW5nZShpdGVtOiBUdWlNb250aFJhbmdlIHwgVHVpWWVhcik6IGl0ZW0gaXMgVHVpTW9udGhSYW5nZSB7XG4gICAgICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgVHVpTW9udGhSYW5nZTtcbiAgICB9XG5cbiAgICBzY3JvbGxJdGVtSW50b1ZpZXcoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxJdGVtLnllYXIgPT09IGl0ZW07XG4gICAgfVxuXG4gICAgZ2V0SXRlbShyb3dJbmRleDogbnVtYmVyLCBjb2xJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHJvd0luZGV4ICogSVRFTVNfSU5fUk9XICsgY29sSW5kZXggKyB0aGlzLmNhbGN1bGF0ZWRNaW47XG4gICAgfVxuXG4gICAgZ2V0SXRlbVN0YXRlKGl0ZW06IG51bWJlcik6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Rpc2FibGVkSXRlbUhhbmRsZXIsIG1heCwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbWF4LnllYXIgPCBpdGVtIHx8XG4gICAgICAgICAgICAoZGlzYWJsZWRJdGVtSGFuZGxlciAhPT0gQUxXQVlTX0ZBTFNFX0hBTkRMRVIgJiYgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuUHJlc3NlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuSG92ZXJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldEl0ZW1SYW5nZShpdGVtOiBudW1iZXIpOiBUdWlSYW5nZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpWWVhcikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnllYXIgPT09IGl0ZW0gPyBUdWlSYW5nZVN0YXRlLlNpbmdsZSA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmICF2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID4gdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtIDwgdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8ueWVhciA9PT0gaXRlbSAmJiAhdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA8IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA+IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLkVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSAmJiB2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW1cbiAgICAgICAgICAgID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGVcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBpdGVtSXNUb2RheShpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXIgPT09IGl0ZW07XG4gICAgfVxuXG4gICAgaXRlbUlzSW50ZXJ2YWwoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgIXRoaXMuaXNSYW5nZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLnllYXIgPD0gaXRlbSAmJiB2YWx1ZS50by55ZWFyID4gaXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCB8fCB2YWx1ZS5mcm9tLnllYXIgPT09IGhvdmVyZWRJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5SYW5nZShcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICBNYXRoLm1pbih2YWx1ZS5mcm9tLnllYXIsIGhvdmVyZWRJdGVtKSxcbiAgICAgICAgICAgIE1hdGgubWF4KHZhbHVlLmZyb20ueWVhciwgaG92ZXJlZEl0ZW0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSXRlbUhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChwcmVzc2VkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkSXRlbShwcmVzc2VkLCBpdGVtKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhpdGVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy55ZWFyQ2xpY2suZW1pdChuZXcgVHVpWWVhcihpdGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShob3ZlcmVkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbSA9IGhvdmVyZWQgPyBpdGVtIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByZXNzZWRJdGVtKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcikge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gcHJlc3NlZCA/IGl0ZW0gOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXllYXItcGlja2VyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBR1osY0FBYyxFQUNkLFFBQVEsRUFDUixhQUFhLEVBQ2IsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRdkIsSUFBYSwrQkFBK0IsR0FBNUMsTUFBYSwrQkFBK0I7SUFBNUM7UUFDWSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztRQUk1RCxVQUFLLEdBQWlDLElBQUksQ0FBQztRQUkzQyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUl0QyxRQUFHLEdBQVksYUFBYSxDQUFDO1FBSTdCLFFBQUcsR0FBWSxZQUFZLENBQUM7UUFJNUIsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBRzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQW1KbkUsQ0FBQztJQWhKRyxJQUFJLFFBQVE7UUFDUixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXJCLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUU5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRTlDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNqRSxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQTZCO1FBQ2pDLE9BQU8sSUFBSSxZQUFZLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDdEMsT0FBTyxRQUFRLEdBQUcsWUFBWSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUNyQixNQUFNLEVBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFbEUsSUFDSSxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLG1CQUFtQixLQUFLLG9CQUFvQixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzdFO1lBQ0UsaUNBQW9DO1NBQ3ZDO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3RCLCtCQUFtQztTQUN0QztRQUVELElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUN0QiwrQkFBbUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDckIsTUFBTSxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFbEMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLEtBQUssWUFBWSxPQUFPLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLHVCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzVEO1FBRUQsSUFDSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1RCxDQUFDLFdBQVcsS0FBSyxJQUFJO2dCQUNqQixXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJO2dCQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsQ0FBQyxXQUFXLEtBQUssSUFBSTtnQkFDakIsV0FBVyxLQUFLLElBQUk7Z0JBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNwQztZQUNFLDJCQUEyQjtTQUM5QjtRQUVELElBQ0ksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQyxXQUFXLEtBQUssSUFBSTtnQkFDakIsV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSTtnQkFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsV0FBVyxLQUFLLElBQUk7Z0JBQ2pCLFdBQVcsS0FBSyxJQUFJO2dCQUNwQixXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDcEM7WUFDRSx1QkFBeUI7U0FDNUI7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJO1lBQzVELENBQUM7WUFDRCxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3ZCLE1BQU0sRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRWxDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUMxRDtRQUVELElBQUksV0FBVyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDekQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLE9BQU8sQ0FDVixJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsRUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FDekMsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxJQUFZO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQixFQUFFLElBQVk7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxJQUFZO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxJQUFZO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0NBQ0osQ0FBQTtBQXRLRztJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs4REFDMEI7QUFJM0M7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7b0VBQ3FCO0FBSXRDO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzREQUNZO0FBSTdCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzREQUNXO0FBSTVCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzRFQUNxRDtBQUd0RTtJQURDLE1BQU0sRUFBRTtrRUFDc0Q7QUFHL0Q7SUFEQyxXQUFXLENBQUMsZUFBZSxDQUFDOytEQUs1QjtBQWpDUSwrQkFBK0I7SUFOM0MsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyx1NkJBQW9EO1FBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0dBQ1csK0JBQStCLENBNkszQztTQTdLWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgaW5SYW5nZSxcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXlSYW5nZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlNb250aCxcbiAgICBUdWlNb250aFJhbmdlLFxuICAgIFR1aVllYXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlJbnRlcmFjdGl2ZVN0YXRlLCBUdWlSYW5nZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5cbmNvbnN0IExJTUlUID0gMTAwO1xuY29uc3QgSVRFTVNfSU5fUk9XID0gNDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXllYXItcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXllYXItcGlja2VyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByaW1pdGl2ZS15ZWFyLXBpY2tlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVllYXJQaWNrZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgaG92ZXJlZEl0ZW06IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcHJlc3NlZEl0ZW06IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VycmVudFllYXIgPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKS55ZWFyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlZZWFyIHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbml0aWFsSXRlbSA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpWWVhciA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlZZWFyID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPG51bWJlcj4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHllYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpWWVhciB8IFR1aURheVJhbmdlPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiAhIXZhbHVlICYmIHRoaXMuaXNSYW5nZSh2YWx1ZSkgJiYgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50byk7XG4gICAgfVxuXG4gICAgZ2V0IHJvd3MoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCgodGhpcy5jYWxjdWxhdGVkTWF4IC0gdGhpcy5jYWxjdWxhdGVkTWluKSAvIElURU1TX0lOX1JPVyk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGN1bGF0ZWRNaW4oKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IHRoaXMuaW5pdGlhbEl0ZW0ueWVhciAtIExJTUlUO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm1pbi55ZWFyID4gaW5pdGlhbCA/IHRoaXMubWluLnllYXIgOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgKyBMSU1JVDtcblxuICAgICAgICByZXR1cm4gdGhpcy5tYXgueWVhciA8IGluaXRpYWwgPyB0aGlzLm1heC55ZWFyICsgMSA6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgaXNSYW5nZShpdGVtOiBUdWlNb250aFJhbmdlIHwgVHVpWWVhcik6IGl0ZW0gaXMgVHVpTW9udGhSYW5nZSB7XG4gICAgICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgVHVpTW9udGhSYW5nZTtcbiAgICB9XG5cbiAgICBzY3JvbGxJdGVtSW50b1ZpZXcoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxJdGVtLnllYXIgPT09IGl0ZW07XG4gICAgfVxuXG4gICAgZ2V0SXRlbShyb3dJbmRleDogbnVtYmVyLCBjb2xJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHJvd0luZGV4ICogSVRFTVNfSU5fUk9XICsgY29sSW5kZXggKyB0aGlzLmNhbGN1bGF0ZWRNaW47XG4gICAgfVxuXG4gICAgZ2V0SXRlbVN0YXRlKGl0ZW06IG51bWJlcik6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Rpc2FibGVkSXRlbUhhbmRsZXIsIG1heCwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbWF4LnllYXIgPCBpdGVtIHx8XG4gICAgICAgICAgICAoZGlzYWJsZWRJdGVtSGFuZGxlciAhPT0gQUxXQVlTX0ZBTFNFX0hBTkRMRVIgJiYgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuUHJlc3NlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuSG92ZXJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldEl0ZW1SYW5nZShpdGVtOiBudW1iZXIpOiBUdWlSYW5nZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpWWVhcikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnllYXIgPT09IGl0ZW0gPyBUdWlSYW5nZVN0YXRlLlNpbmdsZSA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmICF2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID4gdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtIDwgdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8ueWVhciA9PT0gaXRlbSAmJiAhdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA8IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA+IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLkVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSAmJiB2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW1cbiAgICAgICAgICAgID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGVcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBpdGVtSXNUb2RheShpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXIgPT09IGl0ZW07XG4gICAgfVxuXG4gICAgaXRlbUlzSW50ZXJ2YWwoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgIXRoaXMuaXNSYW5nZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLnllYXIgPD0gaXRlbSAmJiB2YWx1ZS50by55ZWFyID4gaXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCB8fCB2YWx1ZS5mcm9tLnllYXIgPT09IGhvdmVyZWRJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5SYW5nZShcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICBNYXRoLm1pbih2YWx1ZS5mcm9tLnllYXIsIGhvdmVyZWRJdGVtKSxcbiAgICAgICAgICAgIE1hdGgubWF4KHZhbHVlLmZyb20ueWVhciwgaG92ZXJlZEl0ZW0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSXRlbUhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChwcmVzc2VkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkSXRlbShwcmVzc2VkLCBpdGVtKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhpdGVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy55ZWFyQ2xpY2suZW1pdChuZXcgVHVpWWVhcihpdGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShob3ZlcmVkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbSA9IGhvdmVyZWQgPyBpdGVtIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByZXNzZWRJdGVtKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcikge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gcHJlc3NlZCA/IGl0ZW0gOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,15 +1,16 @@
1
1
  import { __decorate, __param } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
2
3
  import { ChangeDetectionStrategy, Component, ElementRef, Inject, Optional, } from '@angular/core';
3
4
  import { TUI_DIALOGS, TUI_IS_MOBILE, tuiAssert } from '@taiga-ui/cdk';
4
5
  import { VERSION } from '@taiga-ui/core/constants';
5
6
  import { TuiNotificationsHostComponent } from '@taiga-ui/core/modules/notifications';
6
7
  import { TUI_IS_MOBILE_RES_PROVIDER } from '@taiga-ui/core/providers';
7
- import { TUI_ANIMATIONS_DURATION, TUI_ASSERT_ENABLED, TUI_IS_MOBILE_RES, } from '@taiga-ui/core/tokens';
8
+ import { TUI_ANIMATIONS_DURATION, TUI_ASSERT_ENABLED, TUI_IS_MOBILE_RES, TUI_THEME, } from '@taiga-ui/core/tokens';
8
9
  import { merge, Observable, of } from 'rxjs';
9
10
  import { map } from 'rxjs/operators';
10
11
  // @dynamic
11
12
  let TuiRootComponent = class TuiRootComponent {
12
- constructor(duration, elementRef, dialogs, notificationsHost, isMobile, enabled, isMobileRes$) {
13
+ constructor(duration, elementRef, dialogs, notificationsHost, isMobile, enabled, isMobileRes$, { body }, theme) {
13
14
  this.duration = duration;
14
15
  this.elementRef = elementRef;
15
16
  this.dialogs = dialogs;
@@ -20,6 +21,7 @@ let TuiRootComponent = class TuiRootComponent {
20
21
  ? merge(...this.dialogs).pipe(map(({ length }) => !length))
21
22
  : of(!this.isMobile);
22
23
  tuiAssert.enabled = enabled;
24
+ body.setAttribute('data-tui-theme', theme.toLowerCase());
23
25
  }
24
26
  };
25
27
  TuiRootComponent.ctorParameters = () => [
@@ -29,7 +31,9 @@ TuiRootComponent.ctorParameters = () => [
29
31
  { type: TuiNotificationsHostComponent, decorators: [{ type: Optional }, { type: Inject, args: [TuiNotificationsHostComponent,] }] },
30
32
  { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
31
33
  { type: Boolean, decorators: [{ type: Inject, args: [TUI_ASSERT_ENABLED,] }] },
32
- { type: Observable, decorators: [{ type: Inject, args: [TUI_IS_MOBILE_RES,] }] }
34
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_IS_MOBILE_RES,] }] },
35
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
36
+ { type: String, decorators: [{ type: Inject, args: [TUI_THEME,] }] }
33
37
  ];
34
38
  TuiRootComponent = __decorate([
35
39
  Component({
@@ -52,7 +56,9 @@ TuiRootComponent = __decorate([
52
56
  __param(3, Inject(TuiNotificationsHostComponent)),
53
57
  __param(4, Inject(TUI_IS_MOBILE)),
54
58
  __param(5, Inject(TUI_ASSERT_ENABLED)),
55
- __param(6, Inject(TUI_IS_MOBILE_RES))
59
+ __param(6, Inject(TUI_IS_MOBILE_RES)),
60
+ __param(7, Inject(DOCUMENT)),
61
+ __param(8, Inject(TUI_THEME))
56
62
  ], TuiRootComponent);
57
63
  export { TuiRootComponent };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Jvb3QvIiwic291cmNlcyI6WyJyb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixpQkFBaUIsR0FDcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLFdBQVc7QUFhWCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQU16QixZQUM4QyxRQUFnQixFQUM3QixVQUFtQyxFQUd2RCxPQUF5RCxFQUd6RCxpQkFBZ0QsRUFDakIsUUFBaUIsRUFDN0IsT0FBZ0IsRUFDUixZQUFpQztRQVYzQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQzdCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBR3ZELFlBQU8sR0FBUCxPQUFPLENBQWtEO1FBR3pELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBK0I7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUVyQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFoQmhFLGdCQUFXLEdBQ2hCLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUMxQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFlekIsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDaEMsQ0FBQztDQUNKLENBQUE7O3lDQWRRLE1BQU0sU0FBQyx1QkFBdUI7WUFDVSxVQUFVLHVCQUFsRCxNQUFNLFNBQUMsVUFBVTs0Q0FDakIsUUFBUSxZQUNSLE1BQU0sU0FBQyxXQUFXO1lBSVMsNkJBQTZCLHVCQUZ4RCxRQUFRLFlBQ1IsTUFBTSxTQUFDLDZCQUE2QjswQ0FFcEMsTUFBTSxTQUFDLGFBQWE7MENBQ3BCLE1BQU0sU0FBQyxrQkFBa0I7WUFDd0IsVUFBVSx1QkFBM0QsTUFBTSxTQUFDLGlCQUFpQjs7QUFqQnBCLGdCQUFnQjtJQVo1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQiw2eEJBQWlDO1FBRWpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1FBQ3ZDLElBQUksRUFBRTtZQUNGLGtCQUFrQixFQUFFLE9BQU87WUFDM0Isd0JBQXdCLEVBQUUsaUJBQWlCO1lBQzNDLG1CQUFtQixFQUFFLGNBQWM7U0FDdEM7O0tBQ0osQ0FBQztJQVFPLFdBQUEsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFDL0IsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRW5CLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0lBRXJDLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3JCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDMUIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtHQWpCckIsZ0JBQWdCLENBcUI1QjtTQXJCWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9ESUFMT0dTLCBUVUlfSVNfTU9CSUxFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtWRVJTSU9OfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOb3RpZmljYXRpb25zSG9zdENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbW9kdWxlcy9ub3RpZmljYXRpb25zJztcbmltcG9ydCB7VFVJX0lTX01PQklMRV9SRVNfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX0RVUkFUSU9OLFxuICAgIFRVSV9BU1NFUlRfRU5BQkxFRCxcbiAgICBUVUlfSVNfTU9CSUxFX1JFUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3Jvb3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcm9vdC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVFVJX0lTX01PQklMRV9SRVNfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2RhdGEtdHVpLXZlcnNpb24nOiBWRVJTSU9OLFxuICAgICAgICAnW3N0eWxlLi0tdHVpLWR1cmF0aW9uXSc6ICdkdXJhdGlvbiArIFwibXNcIicsXG4gICAgICAgICcoJC5jbGFzcy5fbW9iaWxlKSc6ICdpc01vYmlsZVJlcyQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJvb3RDb21wb25lbnQge1xuICAgIHJlYWRvbmx5IHNjcm9sbGJhcnMkID1cbiAgICAgICAgdGhpcy5kaWFsb2dzICYmICF0aGlzLmlzTW9iaWxlXG4gICAgICAgICAgICA/IG1lcmdlKC4uLnRoaXMuZGlhbG9ncykucGlwZShtYXAoKHtsZW5ndGh9KSA9PiAhbGVuZ3RoKSlcbiAgICAgICAgICAgIDogb2YoIXRoaXMuaXNNb2JpbGUpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTlNfRFVSQVRJT04pIHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXIsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RJQUxPR1MpXG4gICAgICAgIHJlYWRvbmx5IGRpYWxvZ3M6IHJlYWRvbmx5IE9ic2VydmFibGU8cmVhZG9ubHkgdW5rbm93bltdPltdIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOb3RpZmljYXRpb25zSG9zdENvbXBvbmVudClcbiAgICAgICAgcmVhZG9ubHkgbm90aWZpY2F0aW9uc0hvc3Q6IFR1aU5vdGlmaWNhdGlvbnNIb3N0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0FTU0VSVF9FTkFCTEVEKSBlbmFibGVkOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEVfUkVTKSByZWFkb25seSBpc01vYmlsZVJlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgKSB7XG4gICAgICAgIHR1aUFzc2VydC5lbmFibGVkID0gZW5hYmxlZDtcbiAgICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Jvb3QvIiwic291cmNlcyI6WyJyb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDakQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFNBQVMsR0FDWixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsV0FBVztBQWFYLElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBTXpCLFlBQzhDLFFBQWdCLEVBQzdCLFVBQW1DLEVBR3ZELE9BQXlELEVBR3pELGlCQUFnRCxFQUNqQixRQUFpQixFQUM3QixPQUFnQixFQUNSLFlBQWlDLEVBQ25ELEVBQUMsSUFBSSxFQUFXLEVBQ2YsS0FBYTtRQVpVLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFHdkQsWUFBTyxHQUFQLE9BQU8sQ0FBa0Q7UUFHekQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBRXJCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQWhCaEUsZ0JBQVcsR0FDaEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzFCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQWlCekIsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0osQ0FBQTs7eUNBakJRLE1BQU0sU0FBQyx1QkFBdUI7WUFDVSxVQUFVLHVCQUFsRCxNQUFNLFNBQUMsVUFBVTs0Q0FDakIsUUFBUSxZQUNSLE1BQU0sU0FBQyxXQUFXO1lBSVMsNkJBQTZCLHVCQUZ4RCxRQUFRLFlBQ1IsTUFBTSxTQUFDLDZCQUE2QjswQ0FFcEMsTUFBTSxTQUFDLGFBQWE7MENBQ3BCLE1BQU0sU0FBQyxrQkFBa0I7WUFDd0IsVUFBVSx1QkFBM0QsTUFBTSxTQUFDLGlCQUFpQjtZQUNDLFFBQVEsdUJBQWpDLE1BQU0sU0FBQyxRQUFRO3lDQUNmLE1BQU0sU0FBQyxTQUFTOztBQW5CWixnQkFBZ0I7SUFaNUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLFVBQVU7UUFDcEIsNnhCQUFpQztRQUVqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztRQUN2QyxJQUFJLEVBQUU7WUFDRixrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLHdCQUF3QixFQUFFLGlCQUFpQjtZQUMzQyxtQkFBbUIsRUFBRSxjQUFjO1NBQ3RDOztLQUNKLENBQUM7SUFRTyxXQUFBLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0lBQy9CLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUVuQixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUVyQyxXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNyQixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzFCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7R0FuQmIsZ0JBQWdCLENBd0I1QjtTQXhCWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRElBTE9HUywgVFVJX0lTX01PQklMRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VkVSU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTm90aWZpY2F0aW9uc0hvc3RDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21vZHVsZXMvbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEVfUkVTX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9wcm92aWRlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfQU5JTUFUSU9OU19EVVJBVElPTixcbiAgICBUVUlfQVNTRVJUX0VOQUJMRUQsXG4gICAgVFVJX0lTX01PQklMRV9SRVMsXG4gICAgVFVJX1RIRU1FLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAncm9vdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yb290LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUVUlfSVNfTU9CSUxFX1JFU19QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnZGF0YS10dWktdmVyc2lvbic6IFZFUlNJT04sXG4gICAgICAgICdbc3R5bGUuLS10dWktZHVyYXRpb25dJzogJ2R1cmF0aW9uICsgXCJtc1wiJyxcbiAgICAgICAgJygkLmNsYXNzLl9tb2JpbGUpJzogJ2lzTW9iaWxlUmVzJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUm9vdENvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgc2Nyb2xsYmFycyQgPVxuICAgICAgICB0aGlzLmRpYWxvZ3MgJiYgIXRoaXMuaXNNb2JpbGVcbiAgICAgICAgICAgID8gbWVyZ2UoLi4udGhpcy5kaWFsb2dzKS5waXBlKG1hcCgoe2xlbmd0aH0pID0+ICFsZW5ndGgpKVxuICAgICAgICAgICAgOiBvZighdGhpcy5pc01vYmlsZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OU19EVVJBVElPTikgcmVhZG9ubHkgZHVyYXRpb246IG51bWJlcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfRElBTE9HUylcbiAgICAgICAgcmVhZG9ubHkgZGlhbG9nczogcmVhZG9ubHkgT2JzZXJ2YWJsZTxyZWFkb25seSB1bmtub3duW10+W10gfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU5vdGlmaWNhdGlvbnNIb3N0Q29tcG9uZW50KVxuICAgICAgICByZWFkb25seSBub3RpZmljYXRpb25zSG9zdDogVHVpTm90aWZpY2F0aW9uc0hvc3RDb21wb25lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfQVNTRVJUX0VOQUJMRUQpIGVuYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRV9SRVMpIHJlYWRvbmx5IGlzTW9iaWxlUmVzJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkge2JvZHl9OiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfVEhFTUUpIHRoZW1lOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHR1aUFzc2VydC5lbmFibGVkID0gZW5hYmxlZDtcbiAgICAgICAgYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEtdHVpLXRoZW1lJywgdGhlbWUudG9Mb3dlckNhc2UoKSk7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.34.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMzQuMCc7XG4iXX0=
1
+ export const VERSION = '2.35.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMzUuMCc7XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { ElementRef, InjectionToken } from '@angular/core';
2
- import { TuiDestroyService, TuiFocusVisibleService, typedFromEvent } from '@taiga-ui/cdk';
2
+ import { stopPropagation, TuiDestroyService, TuiFocusVisibleService, typedFromEvent, } from '@taiga-ui/cdk';
3
3
  import { merge, timer } from 'rxjs';
4
- import { distinctUntilChanged, filter, mapTo, startWith, switchMapTo, take, takeUntil, tap, } from 'rxjs/operators';
4
+ import { distinctUntilChanged, filter, mapTo, startWith, switchMapTo, take, takeUntil, } from 'rxjs/operators';
5
5
  const DELAY = 1000;
6
6
  export const TUI_DESCRIBED_BY_SHOW = new InjectionToken('Accessible tooltip visibility stream');
7
7
  export const TUI_DESCRIBED_BY_PROVIDERS = [
@@ -14,8 +14,8 @@ export const TUI_DESCRIBED_BY_PROVIDERS = [
14
14
  },
15
15
  ];
16
16
  export function describedByFactory(focusVisible$, { nativeElement }) {
17
- return merge(focusVisible$.pipe(filter(v => v), switchMapTo(timer(DELAY).pipe(mapTo(true), takeUntil(typedFromEvent(nativeElement, 'keydown')))), switchMapTo(typedFromEvent(nativeElement, 'keydown').pipe(filter(({ key }) => key === 'Escape'), take(1), tap(event => {
18
- event.stopPropagation();
19
- }), mapTo(false), startWith(true)))), typedFromEvent(nativeElement, 'blur').pipe(mapTo(false))).pipe(distinctUntilChanged());
17
+ return focusVisible$
18
+ .pipe(filter(Boolean), switchMapTo(timer(DELAY).pipe(mapTo(true), takeUntil(merge(typedFromEvent(nativeElement, 'keydown'), typedFromEvent(nativeElement, 'blur'))))), switchMapTo(merge(typedFromEvent(nativeElement, 'keydown').pipe(filter(({ key }) => key === 'Escape'), take(1), stopPropagation(), mapTo(false), startWith(true)), typedFromEvent(nativeElement, 'blur').pipe(mapTo(false)))))
19
+ .pipe(distinctUntilChanged());
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmVkLWJ5LnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZGVzY3JpYmVkLWJ5LyIsInNvdXJjZXMiOlsiZGVzY3JpYmVkLWJ5LnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxLQUFLLEVBQWMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUNuRCxzQ0FBc0MsQ0FDekMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFlO0lBQ2xELGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEI7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLElBQUksRUFBRSxDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztRQUMxQyxVQUFVLEVBQUUsa0JBQWtCO0tBQ2pDO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsYUFBa0MsRUFDbEMsRUFBQyxhQUFhLEVBQTBCO0lBRXhDLE9BQU8sS0FBSyxDQUNSLGFBQWEsQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2QsV0FBVyxDQUNQLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNYLFNBQVMsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQ3RELENBQ0osRUFDRCxXQUFXLENBQ1AsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3pDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsRUFDbkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNSLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDLENBQUMsRUFDRixLQUFLLENBQUMsS0FBSyxDQUFDLEVBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUNKLENBQ0osRUFDRCxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0QsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLCB0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXBUbyxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwVG8sXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IERFTEFZID0gMTAwMDtcblxuZXhwb3J0IGNvbnN0IFRVSV9ERVNDUklCRURfQllfU0hPVyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPGJvb2xlYW4+PihcbiAgICAnQWNjZXNzaWJsZSB0b29sdGlwIHZpc2liaWxpdHkgc3RyZWFtJyxcbik7XG5leHBvcnQgY29uc3QgVFVJX0RFU0NSSUJFRF9CWV9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9ERVNDUklCRURfQllfU0hPVyxcbiAgICAgICAgZGVwczogW1R1aUZvY3VzVmlzaWJsZVNlcnZpY2UsIEVsZW1lbnRSZWZdLFxuICAgICAgICB1c2VGYWN0b3J5OiBkZXNjcmliZWRCeUZhY3RvcnksXG4gICAgfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNjcmliZWRCeUZhY3RvcnkoXG4gICAgZm9jdXNWaXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICBmb2N1c1Zpc2libGUkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodiA9PiB2KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgIHRpbWVyKERFTEFZKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXBUbyh0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdrZXlkb3duJykpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwVG8oXG4gICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2tleWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHtrZXl9KSA9PiBrZXkgPT09ICdFc2NhcGUnKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwVG8oZmFsc2UpLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdibHVyJykucGlwZShtYXBUbyhmYWxzZSkpLFxuICAgICkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmVkLWJ5LnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZGVzY3JpYmVkLWJ5LyIsInNvdXJjZXMiOlsiZGVzY3JpYmVkLWJ5LnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFjLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUNuRCxzQ0FBc0MsQ0FDekMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFlO0lBQ2xELGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEI7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLElBQUksRUFBRSxDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztRQUMxQyxVQUFVLEVBQUUsa0JBQWtCO0tBQ2pDO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsYUFBa0MsRUFDbEMsRUFBQyxhQUFhLEVBQTBCO0lBRXhDLE9BQU8sYUFBYTtTQUNmLElBQUksQ0FDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsV0FBVyxDQUNQLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNYLFNBQVMsQ0FDTCxLQUFLLENBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFDeEMsY0FBYyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FDeEMsQ0FDSixDQUNKLENBQ0osRUFDRCxXQUFXLENBQ1AsS0FBSyxDQUNELGNBQWMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEVBQ25DLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxlQUFlLEVBQUUsRUFDakIsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNaLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsRUFDRCxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0QsQ0FDSixDQUNKO1NBQ0EsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBzdG9wUHJvcGFnYXRpb24sXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXBUbyxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwVG8sXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgREVMQVkgPSAxMDAwO1xuXG5leHBvcnQgY29uc3QgVFVJX0RFU0NSSUJFRF9CWV9TSE9XID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8Ym9vbGVhbj4+KFxuICAgICdBY2Nlc3NpYmxlIHRvb2x0aXAgdmlzaWJpbGl0eSBzdHJlYW0nLFxuKTtcbmV4cG9ydCBjb25zdCBUVUlfREVTQ1JJQkVEX0JZX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0RFU0NSSUJFRF9CWV9TSE9XLFxuICAgICAgICBkZXBzOiBbVHVpRm9jdXNWaXNpYmxlU2VydmljZSwgRWxlbWVudFJlZl0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGRlc2NyaWJlZEJ5RmFjdG9yeSxcbiAgICB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlZEJ5RmFjdG9yeShcbiAgICBmb2N1c1Zpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gZm9jdXNWaXNpYmxlJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgIHRpbWVyKERFTEFZKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXBUbyh0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2tleWRvd24nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnYmx1cicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAna2V5ZG93bicpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHtrZXl9KSA9PiBrZXkgPT09ICdFc2NhcGUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9wUHJvcGFnYXRpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcFRvKGZhbHNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2JsdXInKS5waXBlKG1hcFRvKGZhbHNlKSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG59XG4iXX0=
@@ -22,5 +22,6 @@ export * from './scroll-ref';
22
22
  export * from './svg-src-processor';
23
23
  export * from './textfield-appearance';
24
24
  export * from './textfield-host';
25
+ export * from './theme';
25
26
  export * from './value-accessor';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS90b2tlbnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucy1kdXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydC1lbmFibGVkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC1vci1zaGFkb3ctcm9vdCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyc3QtZGF5LW9mLXdlZWsnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucy1wYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlLXJlc29sdXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpYSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyZWQtc2hvcnQtd2Vlay1kYXlzJztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL3N2Zy1zcmMtcHJvY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLWFwcGVhcmFuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtaG9zdCc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS90b2tlbnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucy1kdXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydC1lbmFibGVkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC1vci1zaGFkb3ctcm9vdCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyc3QtZGF5LW9mLXdlZWsnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucy1wYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlLXJlc29sdXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpYSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyZWQtc2hvcnQtd2Vlay1kYXlzJztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL3N2Zy1zcmMtcHJvY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLWFwcGVhcmFuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtaG9zdCc7XG5leHBvcnQgKiBmcm9tICcuL3RoZW1lJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsdWUtYWNjZXNzb3InO1xuIl19
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_THEME = new InjectionToken('Theme name', {
3
+ factory: () => 'Taiga',
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS90b2tlbnMvIiwic291cmNlcyI6WyJ0aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBUyxZQUFZLEVBQUU7SUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU87Q0FDekIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUVUlfVEhFTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignVGhlbWUgbmFtZScsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAnVGFpZ2EnLFxufSk7XG4iXX0=
@@ -82,10 +82,6 @@ var TuiPrimitiveCalendarComponent = /** @class */ (function () {
82
82
  ? "single" /* Single */
83
83
  : null;
84
84
  };
85
- TuiPrimitiveCalendarComponent.prototype.itemIsDisabled = function (day) {
86
- var disabledItemHandler = this.disabledItemHandler;
87
- return disabledItemHandler(day);
88
- };
89
85
  TuiPrimitiveCalendarComponent.prototype.itemIsToday = function (item) {
90
86
  return this.today.daySame(item);
91
87
  };
@@ -161,13 +157,13 @@ var TuiPrimitiveCalendarComponent = /** @class */ (function () {
161
157
  TuiPrimitiveCalendarComponent = __decorate([
162
158
  Component({
163
159
  selector: 'tui-primitive-calendar',
164
- template: "<div class=\"t-row t-row_weekday\">\n <div *ngFor=\"let day of weekDays$ | async\" class=\"t-cell\">{{ day }}</div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [class.t-cell_weekend]=\"item.isWeekend\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n (click)=\"onItemClick(item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__item\"\n class=\"t-item\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"item | tuiMapper: toMarkers:itemIsToday(item):!!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [tuiBackground]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [tuiBackground]=\"markers[1]\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n",
160
+ template: "<div class=\"t-row t-row_weekday\">\n <div *ngFor=\"let day of weekDays$ | async\" class=\"t-cell\">{{ day }}</div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [class.t-cell_weekend]=\"item.isWeekend\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n (click)=\"onItemClick(item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__item\"\n class=\"t-item\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"item | tuiMapper: toMarkers:itemIsToday(item):!!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [tuiBackground]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [tuiBackground]=\"markers[1]\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n",
165
161
  changeDetection: ChangeDetectionStrategy.OnPush,
166
- styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-2.25rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item:after,.t-cell[data-tui-element-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-tui-element-range=end]>.t-item:before{left:.25rem}.t-cell[data-tui-element-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-range=start]>.t-item:before{right:.25rem}.t-cell[data-tui-element-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-state=disabled]{pointer-events:none}.t-cell[data-tui-element-state=disabled]>.t-item{opacity:.36}.t-cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-cell_weekend{color:var(--tui-negative)}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}"]
162
+ styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-2.25rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:after,.t-cell[data-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hovered]>.t-item:after,.t-cell[data-range][data-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=pressed]>.t-item:after,.t-cell[data-range][data-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-range=end]>.t-item:before{left:.25rem}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.25rem}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hovered]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=pressed]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-cell_weekend{color:var(--tui-negative)}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}"]
167
163
  }),
168
164
  __param(0, Inject(TUI_ORDERED_SHORT_WEEK_DAYS))
169
165
  ], TuiPrimitiveCalendarComponent);
170
166
  return TuiPrimitiveCalendarComponent;
171
167
  }());
172
168
  export { TuiPrimitiveCalendarComponent };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLWNhbGVuZGFyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFlBQVksRUFFWixNQUFNLEVBQ04sV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsV0FBVztBQU9YO0lBa0NJLHVDQUVhLFNBQXNDO1FBRm5ELGlCQUdJO1FBRFMsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFuQzNDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUN6QixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBSS9DLFVBQUssR0FBYSxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFJMUMsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBSXRFLGtCQUFhLEdBQXFCLDBCQUEwQixDQUFDO1FBSTdELFVBQUssR0FBZ0MsSUFBSSxDQUFDO1FBSTFDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUlsQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUdYLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR3RELGFBQVEsR0FBRyxJ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QUFDLGVBQWUsQ0FBQztpRUFNNUI7SUE3Q1EsNkJBQTZCO1FBTnpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsNnpFQUFpRDtZQUVqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztRQW9DTyxXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO09BbkMvQiw2QkFBNkIsQ0FpTHpDO0lBQUQsb0NBQUM7Q0FBQSxBQWpMRCxJQWlMQztTQWpMWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIG51bGxhYmxlU2FtZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtUVUlfT1JERVJFRF9TSE9SVF9XRUVLX0RBWVMsIFdFRUtfREFZU19OQU1FU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQ29sb3IsIFR1aU1hcmtlckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmltaXRpdmUtY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLWNhbGVuZGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlQ2FsZW5kYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcHJlc3NlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9udGg6IFR1aU1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogVHVpRGF5UmFuZ2UgfCBUdWlEYXkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0FkamFjZW50ID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGF5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9PUkRFUkVEX1NIT1JUX1dFRUtfREFZUylcbiAgICAgICAgcmVhZG9ubHkgd2Vla0RheXMkOiBPYnNlcnZhYmxlPFdFRUtfREFZU19OQU1FUz4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSB8fCB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHRvTWFya2VycyA9IChcbiAgICAgICAgZGF5OiBUdWlEYXksXG4gICAgICAgIHRvZGF5OiBib29sZWFuLFxuICAgICAgICBpblJhbmdlOiBib29sZWFuLFxuICAgICk6IG51bGwgfCBbVHVpQ29sb3IgfCBzdHJpbmddIHwgW1R1aUNvbG9yIHwgc3RyaW5nLCBUdWlDb2xvciB8IHN0cmluZ10gPT4ge1xuICAgICAgICBpZiAodG9kYXkgfHwgaW5SYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJIYW5kbGVyKGRheSk7XG5cbiAgICAgICAgcmV0dXJuIG1hcmtlcnMubGVuZ3RoID09PSAwID8gbnVsbCA6IG1hcmtlcnM7XG4gICAgfTtcblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBUdWlEYXkpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyLCBwcmVzc2VkSXRlbSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuRGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlc3NlZEl0ZW0gJiYgcHJlc3NlZEl0ZW0uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuUHJlc3NlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSAmJiBob3ZlcmVkSXRlbS5kYXlTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aURheSk6IFR1aVJhbmdlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZGF5U2FtZShpdGVtKSA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5TdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS50by5kYXlTYW1lKGl0ZW0pICYmICF2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuRW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmlzU2luZ2xlRGF5ICYmIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGl0ZW1Jc0Rpc2FibGVkKGRheTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIGRpc2FibGVkSXRlbUhhbmRsZXIoZGF5KTtcbiAgICB9XG5cbiAgICBpdGVtSXNUb2RheShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkuZGF5U2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpdGVtSXNVbmF2YWlsYWJsZShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1vbnRoLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpdGVtSXNJbnRlcnZhbChkYXk6IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgb25JdGVtSG92ZXJlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGl0ZW0gfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSkge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gaXRlbSB8fCBudWxsO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSkge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgaWYgKG51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iXX0=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLWNhbGVuZGFyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFlBQVksRUFFWixNQUFNLEVBQ04sV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsV0FBVztBQU9YO0lBa0NJLHVDQUVhLFNBQXNDO1FBRm5ELGlCQUdJO1FBRFMsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFuQzNDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUN6QixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBSS9DLFVBQUssR0FBYSxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFJMUMsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBSXRFLGtCQUFhLEdBQXFCLDBCQUEwQixDQUFDO1FBSTdELFVBQUssR0FBZ0MsSUFBSSxDQUFDO1FBSTFDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUlsQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUdYLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR3RELGFBQVEsR0FBRyxJ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RUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBb0NPLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7T0FuQy9CLDZCQUE2QixDQTJLekM7SUFBRCxvQ0FBQztDQUFBLEFBM0tELElBMktDO1NBM0tZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgbnVsbGFibGVTYW1lLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheSxcbiAgICBUdWlEYXlSYW5nZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlJbnRlcmFjdGl2ZVN0YXRlLCBUdWlSYW5nZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1RVSV9PUkRFUkVEX1NIT1JUX1dFRUtfREFZUywgV0VFS19EQVlTX05BTUVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlDb2xvciwgVHVpTWFya2VySGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXByaW1pdGl2ZS1jYWxlbmRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUtY2FsZW5kYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVDYWxlbmRhckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBwcmVzc2VkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IFR1aURheSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhvdmVyZWRJdGVtOiBUdWlEYXkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaG92ZXJlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheSB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkYXlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX09SREVSRURfU0hPUlRfV0VFS19EQVlTKVxuICAgICAgICByZWFkb25seSB3ZWVrRGF5cyQ6IE9ic2VydmFibGU8V0VFS19EQVlTX05BTUVTPixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zaW5nbGUnKVxuICAgIGdldCBpc1NpbmdsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5IHx8IHRoaXMudmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdG9NYXJrZXJzID0gKFxuICAgICAgICBkYXk6IFR1aURheSxcbiAgICAgICAgdG9kYXk6IGJvb2xlYW4sXG4gICAgICAgIGluUmFuZ2U6IGJvb2xlYW4sXG4gICAgKTogbnVsbCB8IFtUdWlDb2xvciB8IHN0cmluZ10gfCBbVHVpQ29sb3IgfCBzdHJpbmcsIFR1aUNvbG9yIHwgc3RyaW5nXSA9PiB7XG4gICAgICAgIGlmICh0b2RheSB8fCBpblJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcmtlcnMgPSB0aGlzLm1hcmtlckhhbmRsZXIoZGF5KTtcblxuICAgICAgICByZXR1cm4gbWFya2Vycy5sZW5ndGggPT09IDAgPyBudWxsIDogbWFya2VycztcbiAgICB9O1xuXG4gICAgZ2V0SXRlbVN0YXRlKGl0ZW06IFR1aURheSk6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Rpc2FibGVkSXRlbUhhbmRsZXIsIHByZXNzZWRJdGVtLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSAmJiBwcmVzc2VkSXRlbS5kYXlTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5QcmVzc2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtICYmIGhvdmVyZWRJdGVtLmRheVNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkhvdmVyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLlN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLnRvLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVEYXkgJiYgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pXG4gICAgICAgICAgICA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgaXRlbUlzVG9kYXkoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZGF5LmRheVNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXRlbUlzVW5hdmFpbGFibGUoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb250aC5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZS5pc1NpbmdsZURheSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZyb20uZGF5U2FtZU9yQmVmb3JlKGRheSkgJiYgdmFsdWUudG8uZGF5QWZ0ZXIoZGF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBUdWlEYXlSYW5nZS5zb3J0KHZhbHVlLmZyb20sIGhvdmVyZWRJdGVtKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiByYW5nZS50by5kYXlBZnRlcihkYXkpO1xuICAgIH1cblxuICAgIG9uSXRlbUhvdmVyZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShpdGVtIHx8IG51bGwpO1xuICAgIH1cblxuICAgIG9uSXRlbVByZXNzZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IGl0ZW0gfHwgbnVsbDtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhpdGVtOiBUdWlEYXkpIHtcbiAgICAgICAgdGhpcy5kYXlDbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0oZGF5OiBUdWlEYXkgfCBudWxsKSB7XG4gICAgICAgIGlmIChudWxsYWJsZVNhbWUodGhpcy5ob3ZlcmVkSXRlbSwgZGF5LCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbSA9IGRheTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUNoYW5nZS5lbWl0KGRheSk7XG4gICAgfVxufVxuIl19