@gipisistemas/ng-core 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. package/bundles/gipisistemas-ng-core.umd.js +305 -162
  2. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  3. package/bundles/gipisistemas-ng-core.umd.min.js +8 -8
  4. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  5. package/core/guards/auth.guard.d.ts +3 -3
  6. package/core/guards/permission.guard.d.ts +3 -3
  7. package/core/guards/public.guard.d.ts +3 -3
  8. package/core/models/dto/confirmation.dto.d.ts +1 -1
  9. package/core/models/dto/dialog.dto.d.ts +4 -4
  10. package/core/models/dto/menu.dto.d.ts +1 -0
  11. package/core/services/dialog.service.d.ts +5 -1
  12. package/core/services/message.service.d.ts +1 -1
  13. package/core/services/nav.service.d.ts +1 -1
  14. package/core/services/svg-register.service.d.ts +7 -1
  15. package/esm2015/core/gipi-components/services/file.service.js +2 -4
  16. package/esm2015/core/guards/auth.guard.js +13 -14
  17. package/esm2015/core/guards/permission.guard.js +12 -13
  18. package/esm2015/core/guards/public.guard.js +12 -13
  19. package/esm2015/core/models/dto/confirmation.dto.js +1 -5
  20. package/esm2015/core/models/dto/dialog.dto.js +1 -1
  21. package/esm2015/core/models/dto/menu.dto.js +2 -1
  22. package/esm2015/core/services/authentication.service.js +5 -6
  23. package/esm2015/core/services/breakpoint-observer.service.js +2 -4
  24. package/esm2015/core/services/confirmation.service.js +2 -4
  25. package/esm2015/core/services/dialog.service.js +54 -14
  26. package/esm2015/core/services/message.service.js +3 -5
  27. package/esm2015/core/services/nav.service.js +2 -4
  28. package/esm2015/core/services/svg-register.service.js +16 -5
  29. package/esm2015/shared/components/input/input.component.js +1 -1
  30. package/esm2015/shared/components/input-currency/input-currency.component.js +1 -1
  31. package/esm2015/shared/components/input-file/input-file.component.js +1 -1
  32. package/esm2015/shared/components/popover/popover.service.js +6 -7
  33. package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +1 -1
  34. package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +1 -1
  35. package/esm2015/shared/components/select-entity/select-entity.component.js +1 -1
  36. package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +1 -1
  37. package/esm2015/shared/components/select-enum/select-enum.component.js +1 -1
  38. package/esm2015/shared/components/select-month-period/select-month-period.component.js +1 -1
  39. package/esm2015/shared/components/textarea/textarea.component.js +1 -1
  40. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +65 -3
  41. package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +3 -3
  42. package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  43. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +1 -1
  44. package/esm2015/shared/gipi-components/form-field/form-field.component.js +1 -1
  45. package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +1 -1
  46. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  47. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  48. package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
  49. package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
  50. package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
  51. package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
  52. package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +1 -1
  53. package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +2 -4
  54. package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +2 -4
  55. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +3 -3
  56. package/esm2015/shared/gipi-components/select/select.component.js +1 -1
  57. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +33 -10
  58. package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +13 -1
  59. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +18 -4
  60. package/esm2015/shared/gipi-components/textarea/textarea.component.js +1 -1
  61. package/esm5/core/gipi-components/services/file.service.js +2 -4
  62. package/esm5/core/guards/auth.guard.js +13 -14
  63. package/esm5/core/guards/permission.guard.js +12 -13
  64. package/esm5/core/guards/public.guard.js +12 -13
  65. package/esm5/core/models/dto/confirmation.dto.js +2 -4
  66. package/esm5/core/models/dto/dialog.dto.js +1 -1
  67. package/esm5/core/models/dto/menu.dto.js +2 -1
  68. package/esm5/core/services/authentication.service.js +5 -6
  69. package/esm5/core/services/breakpoint-observer.service.js +2 -4
  70. package/esm5/core/services/confirmation.service.js +2 -4
  71. package/esm5/core/services/dialog.service.js +54 -14
  72. package/esm5/core/services/message.service.js +3 -5
  73. package/esm5/core/services/nav.service.js +2 -4
  74. package/esm5/core/services/svg-register.service.js +16 -5
  75. package/esm5/shared/components/input/input.component.js +1 -1
  76. package/esm5/shared/components/input-currency/input-currency.component.js +1 -1
  77. package/esm5/shared/components/input-file/input-file.component.js +1 -1
  78. package/esm5/shared/components/popover/popover.service.js +6 -7
  79. package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +1 -1
  80. package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +1 -1
  81. package/esm5/shared/components/select-entity/select-entity.component.js +1 -1
  82. package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +1 -1
  83. package/esm5/shared/components/select-enum/select-enum.component.js +1 -1
  84. package/esm5/shared/components/select-month-period/select-month-period.component.js +1 -1
  85. package/esm5/shared/components/textarea/textarea.component.js +1 -1
  86. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +66 -3
  87. package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +3 -3
  88. package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  89. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +1 -1
  90. package/esm5/shared/gipi-components/form-field/form-field.component.js +1 -1
  91. package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +1 -1
  92. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  93. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  94. package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
  95. package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
  96. package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
  97. package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
  98. package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +1 -1
  99. package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +2 -4
  100. package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +2 -4
  101. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +3 -3
  102. package/esm5/shared/gipi-components/select/select.component.js +1 -1
  103. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +38 -10
  104. package/esm5/shared/gipi-components/tabs/tab/tab.component.js +13 -1
  105. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +18 -4
  106. package/esm5/shared/gipi-components/textarea/textarea.component.js +1 -1
  107. package/fesm2015/gipisistemas-ng-core.js +299 -164
  108. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  109. package/fesm5/gipisistemas-ng-core.js +310 -167
  110. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  111. package/gipisistemas-ng-core.metadata.json +1 -1
  112. package/package.json +1 -1
  113. package/shared/components/popover/popover.service.d.ts +1 -1
  114. package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +10 -2
  115. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +5 -2
  116. package/shared/gipi-components/tabs/tab/tab.component.d.ts +3 -0
  117. package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +3 -0
@@ -19,7 +19,7 @@ var GIPISidenavComponent = /** @class */ (function () {
19
19
  this._levelOneMenuCollapsableSelected = null;
20
20
  this._levelTwoMenuCollapsableSelected = null;
21
21
  this._mouseEnter = false;
22
- this.menuItems = [];
22
+ this._menuItems = [];
23
23
  this.labelToggle = 'Retrair menu';
24
24
  this.showTagNewIntegration = false;
25
25
  this.showIntegration = false;
@@ -29,6 +29,16 @@ var GIPISidenavComponent = /** @class */ (function () {
29
29
  this.onClickMenuConfiguration = new EventEmitter();
30
30
  }
31
31
  GIPISidenavComponent_1 = GIPISidenavComponent;
32
+ Object.defineProperty(GIPISidenavComponent.prototype, "menuItems", {
33
+ get: function () {
34
+ return this._menuItems;
35
+ },
36
+ set: function (value) {
37
+ this._menuItems = value;
38
+ },
39
+ enumerable: false,
40
+ configurable: true
41
+ });
32
42
  GIPISidenavComponent.prototype.ngOnInit = function () { };
33
43
  GIPISidenavComponent.prototype.ngAfterViewInit = function () {
34
44
  this._navService.sidenav = this.sidenav;
@@ -63,17 +73,23 @@ var GIPISidenavComponent = /** @class */ (function () {
63
73
  enumerable: false,
64
74
  configurable: true
65
75
  });
66
- Object.defineProperty(GIPISidenavComponent.prototype, "levelMenuCollapsableSelected", {
76
+ Object.defineProperty(GIPISidenavComponent.prototype, "levelMenuSelected", {
67
77
  get: function () {
78
+ var _this = this;
79
+ var levelMenuActive = [];
68
80
  if (ObjectUtil.isNull(this._levelOneMenuCollapsableSelected) && ObjectUtil.isNull(this._levelTwoMenuCollapsableSelected)) {
69
- return of(this.menuItems);
81
+ levelMenuActive = this.menuItems;
70
82
  }
71
83
  else if (!ObjectUtil.isNull(this._levelOneMenuCollapsableSelected) && ObjectUtil.isNull(this._levelTwoMenuCollapsableSelected)) {
72
- return of(this._levelOneMenuCollapsableSelected.menuList);
84
+ levelMenuActive = this._levelOneMenuCollapsableSelected.menuList;
73
85
  }
74
86
  else if (!ObjectUtil.isNull(this._levelOneMenuCollapsableSelected) && !ObjectUtil.isNull(this._levelTwoMenuCollapsableSelected)) {
75
- return of(this._levelTwoMenuCollapsableSelected.menuList);
87
+ levelMenuActive = this._levelTwoMenuCollapsableSelected.menuList;
88
+ }
89
+ if (!ArrayUtil.isEmpty(levelMenuActive)) {
90
+ levelMenuActive.forEach(function (item) { return item.id = _this._toCamelCase(item.route); });
76
91
  }
92
+ return of(levelMenuActive);
77
93
  },
78
94
  enumerable: false,
79
95
  configurable: true
@@ -198,6 +214,17 @@ var GIPISidenavComponent = /** @class */ (function () {
198
214
  }
199
215
  });
200
216
  };
217
+ GIPISidenavComponent.prototype._toCamelCase = function (name) {
218
+ if (StringUtil.isEmpty(name)) {
219
+ return '';
220
+ }
221
+ var normalized = StringUtil.replaceAccents(name);
222
+ return normalized
223
+ .split(/[/\-]/) // Divide por '/' e '-'
224
+ .filter(Boolean) // Remove elementos vazios da lista
225
+ .map(function (word, index) { return (index === 0) ? word.toLowerCase() : (word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()); })
226
+ .join('');
227
+ };
201
228
  var GIPISidenavComponent_1;
202
229
  GIPISidenavComponent.ctorParameters = function () { return [
203
230
  { type: NavService },
@@ -210,8 +237,9 @@ var GIPISidenavComponent = /** @class */ (function () {
210
237
  ], GIPISidenavComponent.prototype, "sidenav", void 0);
211
238
  __decorate([
212
239
  Input(),
213
- __metadata("design:type", Array)
214
- ], GIPISidenavComponent.prototype, "menuItems", void 0);
240
+ __metadata("design:type", Array),
241
+ __metadata("design:paramtypes", [Array])
242
+ ], GIPISidenavComponent.prototype, "menuItems", null);
215
243
  __decorate([
216
244
  Input(),
217
245
  __metadata("design:type", String)
@@ -268,7 +296,7 @@ var GIPISidenavComponent = /** @class */ (function () {
268
296
  Component({
269
297
  selector: "gipi-sidenav",
270
298
  exportAs: 'gipiSidenav',
271
- template: "<mat-sidenav #sidenav\n [mode]=\"(isScreenLarge | async) ? 'side' : 'over'\"\n class=\"sidenav\"\n [class.large-sidenav]=\"(isOpened | async)\"\n [class.small-sidenav]=\"!(isOpened | async)\"\n [disableClose]=\"(isScreenLarge | async)\"\n opened=\"true\">\n\n <div [ngClass]=\"{'sidenav-content-menu': true,\n 'show-bottom': (showConfiguration || showIntegration)}\">\n\n <!-- Bot\u00E3o expandir e retrair o menu -->\n <button id=\"buttonToogleSidenav\"\n name=\"toggleSidenav\"\n class=\"toggle-sidenav\"\n (click)=\"toggleSidenav(); _mouseEnter = false;\">\n <mat-icon [@indicatorRotate]=\"(isOpened | async) ? 'opened': 'closed'\">\n chevron_right\n </mat-icon>\n\n {{ ((labelToggle) && (isOpened | async)) ? labelToggle : '' }}\n </button>\n\n <!-- Bot\u00E3o voltar do submenu -->\n <div class=\"sidenav-action-menu sidenav-menu-collapsable\">\n <a *ngIf=\"(isOpened | async) && (_levelOneMenuCollapsableSelected || _levelTwoMenuCollapsableSelected)\"\n (click)=\"onMenuCollapsableGoBack()\"\n (mouseenter)=\"!_mouseEnter && onMouseEnter()\"\n (mouseleave)=\"_mouseEnter && onMouseLeave()\">\n <mat-icon>\n arrow_back\n </mat-icon>\n <span>\n {{ (submenuBackButtonName | async) }}\n </span>\n </a>\n </div>\n\n <!-- Se o menu item for do tipo submenu -->\n <mat-nav-list class=\"sidenav-menu-list\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\">\n <div *ngFor=\"let menu of (levelMenuCollapsableSelected | async)\"\n class=\"sidenav-action-menu\">\n\n <a *ngIf=\"menu.type === 'ITEM'\"\n [routerLink]=\"menu.route\"\n [class.menu-active]=\"isMenuActive(menu)\"\n (click)=\"onMenuItemSelected(menu)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n </a>\n\n <a *ngIf=\"menu.type === 'COLLAPSABLE'\"\n [class.menu-active]=\"isMenuCollapsableActive(menu)\"\n (click)=\"onMenuCollapsableSelected(menu); onMenuItemSelected(menu, false)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n <mat-icon *ngIf=\"(isOpened | async)\">\n chevron_right\n </mat-icon>\n </a>\n\n </div>\n </mat-nav-list>\n </div>\n\n <div class=\"sidenav-action-menu sidenav-bottom-menu\">\n <a *ngIf=\"showIntegration\"\n (click)=\"onMenuItemSelected(null); onClickMenuIntegration.emit()\">\n <mat-icon *ngIf=\"iconIntegration\">\n {{ iconIntegration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconIntegration\"\n [svgIcon]=\"svgIconIntegration\">\n </mat-icon>\n <span *ngIf=\"(labelIntegration) && (isOpened | async)\">\n {{ labelIntegration }}\n </span>\n <div class=\"tag-new\"\n *ngIf=\"showTagNewIntegration\">\n Novo\n </div>\n </a>\n\n <a *ngIf=\"showConfiguration\"\n (click)=\"onMenuItemSelected(null); onClickMenuConfiguration.emit()\">\n <mat-icon *ngIf=\"iconConfiguration\">\n {{ iconConfiguration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconConfiguration\"\n [svgIcon]=\"svgIconConfiguration\">\n </mat-icon>\n <span *ngIf=\"(labelConfiguration) && (isOpened | async)\">\n {{ labelConfiguration }}\n </span>\n </a>\n </div>\n</mat-sidenav>\n",
299
+ template: "<mat-sidenav #sidenav\n class=\"sidenav\"\n opened=\"true\"\n [class.large-sidenav]=\"(isOpened | async)\"\n [class.small-sidenav]=\"!(isOpened | async)\"\n [disableClose]=\"(isScreenLarge | async)\"\n [mode]=\"(isScreenLarge | async) ? 'side' : 'over'\">\n\n <div [ngClass]=\"{'sidenav-content-menu': true,\n 'show-bottom': (showConfiguration || showIntegration)}\">\n\n <!-- Bot\u00E3o expandir e retrair o menu -->\n <button [attr.id]=\"'buttonToogleSidenav'\"\n [attr.name]=\"'buttonToogleSidenav'\"\n class=\"toggle-sidenav\"\n (click)=\"toggleSidenav(); _mouseEnter = false;\">\n <mat-icon [@indicatorRotate]=\"(isOpened | async) ? 'opened': 'closed'\">\n chevron_right\n </mat-icon>\n\n {{ ((labelToggle) && (isOpened | async)) ? labelToggle : '' }}\n </button>\n\n <!-- Bot\u00E3o voltar do submenu -->\n <div class=\"sidenav-action-menu sidenav-menu-collapsable\">\n <a [attr.id]=\"'buttonSubmenuBack'\"\n [attr.name]=\"'buttonSubmenuBack'\"\n *ngIf=\"(isOpened | async) && (_levelOneMenuCollapsableSelected || _levelTwoMenuCollapsableSelected)\"\n (click)=\"onMenuCollapsableGoBack()\"\n (mouseenter)=\"!_mouseEnter && onMouseEnter()\"\n (mouseleave)=\"_mouseEnter && onMouseLeave()\">\n <mat-icon>\n arrow_back\n </mat-icon>\n <span>\n {{ (submenuBackButtonName | async) }}\n </span>\n </a>\n </div>\n\n <!-- Se o menu item for do tipo submenu -->\n <mat-nav-list class=\"sidenav-menu-list\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidenav-action-menu\"\n *ngFor=\"let menu of (levelMenuSelected | async)\">\n <a [attr.id]=\"menu.id\"\n [attr.name]=\"menu.id\"\n [class.menu-active]=\"isMenuActive(menu)\"\n [routerLink]=\"menu.route\"\n *ngIf=\"menu.type === 'ITEM'\"\n (click)=\"onMenuItemSelected(menu)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n </a>\n\n <a [attr.id]=\"menu.id\"\n [attr.name]=\"menu.id\"\n [class.menu-active]=\"isMenuCollapsableActive(menu)\"\n *ngIf=\"menu.type === 'COLLAPSABLE'\"\n (click)=\"onMenuCollapsableSelected(menu); onMenuItemSelected(menu, false)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n <mat-icon *ngIf=\"(isOpened | async)\">\n chevron_right\n </mat-icon>\n </a>\n </div>\n </mat-nav-list>\n </div>\n\n <div class=\"sidenav-action-menu sidenav-bottom-menu\">\n <a [attr.id]=\"'integracoes'\"\n [attr.name]=\"'integracoes'\"\n *ngIf=\"showIntegration\"\n (click)=\"onMenuItemSelected(null); onClickMenuIntegration.emit()\">\n <mat-icon *ngIf=\"iconIntegration\">\n {{ iconIntegration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconIntegration\"\n [svgIcon]=\"svgIconIntegration\">\n </mat-icon>\n <span *ngIf=\"(labelIntegration) && (isOpened | async)\">\n {{ labelIntegration }}\n </span>\n <div class=\"tag-new\"\n [class.closed]=\"!(isOpened | async)\"\n *ngIf=\"showTagNewIntegration\">\n Novo\n </div>\n </a>\n\n <a [attr.id]=\"'configuracoes'\"\n [attr.name]=\"'configuracoes'\"\n *ngIf=\"showConfiguration\"\n (click)=\"onMenuItemSelected(null); onClickMenuConfiguration.emit()\">\n <mat-icon *ngIf=\"iconConfiguration\">\n {{ iconConfiguration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconConfiguration\"\n [svgIcon]=\"svgIconConfiguration\">\n </mat-icon>\n <span *ngIf=\"(labelConfiguration) && (isOpened | async)\">\n {{ labelConfiguration }}\n </span>\n </a>\n </div>\n</mat-sidenav>",
272
300
  encapsulation: ViewEncapsulation.None,
273
301
  providers: [
274
302
  {
@@ -287,7 +315,7 @@ var GIPISidenavComponent = /** @class */ (function () {
287
315
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
288
316
  ])
289
317
  ],
290
- styles: [".sidenav{padding:.8rem 1.2rem;border-radius:5px;background-color:#fff;position:fixed!important;top:66px!important;bottom:8px!important;border:0!important}.sidenav.small-sidenav{overflow-y:auto;width:76px}.sidenav.small-sidenav .sidenav-bottom-menu,.sidenav.small-sidenav .sidenav-content-menu .sidenav-menu-list .action-sidenav,.sidenav.small-sidenav .sidenav-content-menu .toggle-sidenav{text-align:center!important}.sidenav.large-sidenav{overflow-y:auto;width:248px}.sidenav .sidenav-content-menu{width:100%;background-color:#f5f5f6;border-radius:4px;display:flex;flex-direction:column;align-items:stretch;height:100%}.sidenav .sidenav-content-menu.show-bottom{height:calc(100% - 18px - 52px)!important}.sidenav .sidenav-content-menu .toggle-sidenav{all:unset;border-radius:4px;border:none;text-align:left;cursor:pointer;background-color:#e0313e;color:#fff;display:flex;align-items:center;gap:8px;padding:10px 16px}.sidenav .sidenav-content-menu .toggle-sidenav>mat-icon{width:2rem;height:2rem;font-size:2rem}.sidenav .sidenav-content-menu .toggle-sidenav:hover{background-color:#cc2d38}.sidenav .sidenav-content-menu .sidenav-menu-list{overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.sidenav .sidenav-content-menu .sidenav-menu-list::-webkit-scrollbar{display:none}.menu-active{color:#e0313e!important;background-color:#e0e1e2!important}.menu-active>mat-icon,.menu-active>mat-icon svg,.menu-active>mat-icon svg path{color:#e0313e!important;fill:#e0313e!important}.sidenav-action-menu{cursor:pointer;display:flex}.sidenav-action-menu.sidenav-bottom-menu{flex-direction:column;gap:1rem;margin-top:1rem}.sidenav-action-menu a{flex:1;padding:16px;background-color:#f5f5f6;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1.4rem;font-weight:600}.sidenav-action-menu a:hover{background-color:#e0e1e2}.sidenav-action-menu a>span{flex:1;line-height:2rem}.sidenav-action-menu a>mat-icon{width:2rem;height:2rem;font-size:2rem;line-height:2rem;color:#595959;fill:#595959}.sidenav-action-menu a>mat-icon svg,.sidenav-action-menu a>mat-icon svg path{color:#595959;fill:#595959}.sidenav-bottom-menu a{border-radius:4px}.sidenav-menu-collapsable a{background-color:#e0e1e2}.sidenav-menu-collapsable a:hover{background-color:#d1d2d4}.mat-list-base{padding-top:0!important}.mat-drawer-inner-container{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;overflow:hidden!important}.mat-drawer:not(.mat-drawer-side){box-shadow:none!important}.tag-new{display:flex;align-items:center;justify-content:center;background-color:#e0313e;color:#fff;padding:.2rem .6rem;font-size:1rem;line-height:1.2rem;border-radius:.4rem}"]
318
+ styles: [".sidenav{padding:.8rem 1.2rem;border-radius:5px;background-color:#fff;position:fixed!important;top:66px!important;bottom:8px!important;border:0!important}.sidenav.small-sidenav{overflow-y:auto;width:76px}.sidenav.small-sidenav .sidenav-bottom-menu,.sidenav.small-sidenav .sidenav-content-menu .sidenav-menu-list .action-sidenav,.sidenav.small-sidenav .sidenav-content-menu .toggle-sidenav{text-align:center!important}.sidenav.large-sidenav{overflow-y:auto;width:248px}.sidenav .sidenav-content-menu{width:100%;background-color:#f5f5f6;border-radius:4px;display:flex;flex-direction:column;align-items:stretch;height:100%}.sidenav .sidenav-content-menu.show-bottom{height:calc(100% - 18px - 104px)!important}.sidenav .sidenav-content-menu .toggle-sidenav{all:unset;border-radius:4px;border:none;text-align:left;cursor:pointer;background-color:#e0313e;color:#fff;display:flex;align-items:center;gap:8px;padding:10px 16px}.sidenav .sidenav-content-menu .toggle-sidenav>mat-icon{width:2rem;height:2rem;font-size:2rem}.sidenav .sidenav-content-menu .toggle-sidenav:hover{background-color:#cc2d38}.sidenav .sidenav-content-menu .sidenav-menu-list{overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.sidenav .sidenav-content-menu .sidenav-menu-list::-webkit-scrollbar{display:none}.menu-active{color:#e0313e!important;background-color:#e0e1e2!important}.menu-active>mat-icon,.menu-active>mat-icon svg,.menu-active>mat-icon svg path{color:#e0313e!important;fill:#e0313e!important}.sidenav-action-menu{cursor:pointer;display:flex}.sidenav-action-menu.sidenav-bottom-menu{flex-direction:column;gap:1rem;margin-top:1rem}.sidenav-action-menu a{flex:1;padding:16px;background-color:#f5f5f6;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1.4rem;font-weight:600;position:relative;overflow:hidden}.sidenav-action-menu a:hover{background-color:#e0e1e2}.sidenav-action-menu a>span{flex:1;line-height:2rem}.sidenav-action-menu a>mat-icon{width:2rem;height:2rem;font-size:2rem;line-height:2rem;color:#595959;fill:#595959}.sidenav-action-menu a>mat-icon svg,.sidenav-action-menu a>mat-icon svg path{color:#595959;fill:#595959}.sidenav-bottom-menu a{border-radius:4px}.sidenav-menu-collapsable a{background-color:#e0e1e2}.sidenav-menu-collapsable a:hover{background-color:#d1d2d4}.mat-list-base{padding-top:0!important}.mat-drawer-inner-container{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;overflow:hidden!important}.mat-drawer:not(.mat-drawer-side){box-shadow:none!important}.tag-new{display:flex;align-items:center;justify-content:center;background-color:#e0313e;color:#fff;padding:.2rem .6rem;font-size:1rem;line-height:1rem;border-radius:.4rem}.tag-new.closed{position:absolute;top:15px;right:20px;width:52px;z-index:1;transform:translateX(70%) translateY(-85%) rotate(45deg);transform-origin:center;overflow:hidden;font-size:.8rem!important;line-height:.8rem!important}"]
291
319
  }),
292
320
  __metadata("design:paramtypes", [NavService,
293
321
  BreakpointObserverService,
@@ -296,4 +324,4 @@ var GIPISidenavComponent = /** @class */ (function () {
296
324
  return GIPISidenavComponent;
297
325
  }());
298
326
  export { GIPISidenavComponent };
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NpZGViYXIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBMEJoRTtJQTZCSSw4QkFDWSxXQUF1QixFQUN2QiwwQkFBcUQsRUFDckQsT0FBZTtRQUZmLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBMkI7UUFDckQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQTVCcEIscUNBQWdDLEdBQVksSUFBSSxDQUFDO1FBQ2pELHFDQUFnQyxHQUFZLElBQUksQ0FBQztRQUVqRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTLEdBQWMsRUFBRSxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsY0FBYyxDQUFDO1FBRXJDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUt2QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUtqQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbEMsb0JBQWUsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDbkYsMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEUsNkJBQXdCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFNOUUsQ0FBQzs2QkFqQ0ksb0JBQW9CO0lBbUM3Qix1Q0FBUSxHQUFSLGNBQW1CLENBQUM7SUFFcEIsOENBQWUsR0FBZjtRQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQVcsMENBQVE7YUFBbkI7WUFDSSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsK0NBQWE7YUFBeEI7WUFDSSxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBckQsQ0FBcUQsQ0FBQyxDQUNyRSxDQUFDO1FBQ04sQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyx1REFBcUI7YUFBaEM7WUFDSSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDdEgsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkI7aUJBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDOUgsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3pEO2lCQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDL0gsT0FBTyxFQUFFLENBQUksSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksV0FBTSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsSUFBTSxDQUFDLENBQUM7YUFDOUc7UUFDTCxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLDhEQUE0QjthQUF2QztZQUNJLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO2dCQUN0SCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDN0I7aUJBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDOUgsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdEO2lCQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDL0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdEO1FBQ0wsQ0FBQzs7O09BQUE7SUFFTSw0Q0FBYSxHQUFwQjtRQUNJLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7UUFDN0MsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLHdEQUF5QixHQUFoQyxVQUFpQyxJQUFhO1FBQTlDLGlCQW9CQztRQW5CRyxVQUFVLENBQUM7WUFDUCxJQUFJLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Z0JBQzVCLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDM0I7WUFFRCxJQUFJLEtBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO2dCQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFFckI7OzttQkFHRztnQkFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtvQkFDL0YsS0FBSSxDQUFDLGdDQUFnQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2xFO3FCQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO29CQUN0RyxLQUFJLENBQUMsZ0NBQWdDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbEU7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLHFEQUFzQixHQUE3QixVQUE4QixRQUFtQjtRQUFqRCxpQkFVQztRQVRHLFVBQVUsQ0FBQztZQUNQLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMxQyxLQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNyRDthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sc0RBQXVCLEdBQTlCO1FBQUEsaUJBVUM7UUFURyxVQUFVLENBQUM7WUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDM0QsS0FBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQzthQUNoRDtpQkFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDbEUsS0FBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQzthQUNoRDtpQkFBTTtnQkFDSCxLQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sMkNBQVksR0FBbkIsVUFBb0IsSUFBYTtRQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLHNEQUF1QixHQUE5QixVQUErQixJQUFhO1FBQTVDLGlCQTZCQztRQTVCRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBTSxZQUFZLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRSxJQUFJLFFBQVEsR0FBYyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3ZILFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RTthQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ2xFLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RTtRQUVELElBQU0sZUFBZSxHQUFZLFFBQVE7YUFDcEMsTUFBTSxDQUFDLFVBQUEsRUFBRSxJQUFJLE9BQUEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQzthQUM3QyxJQUFJLENBQUMsVUFBQSxFQUFFLElBQUksT0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQWxGLENBQWtGLENBQUMsQ0FBQztRQUVwRyxJQUFJLFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRyxJQUFNLGNBQWMsR0FBWSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQW5DLENBQW1DLENBQUMsQ0FBQztZQUN6RyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNuRixJQUFNLGNBQWMsR0FBWSxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQW5DLENBQW1DLENBQUMsQ0FBQztnQkFDeEcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDN0M7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxpREFBa0IsR0FBekIsVUFBMEIsSUFBb0IsRUFBRSxRQUF3QjtRQUF4RSxpQkFlQztRQWZ5QixxQkFBQSxFQUFBLFdBQW9CO1FBQUUseUJBQUEsRUFBQSxlQUF3QjtRQUNwRSxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7WUFDN0MsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQztZQUU3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTVDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFVBQUEsYUFBYTtnQkFDdEMsSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDaEIsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDNUI7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLDBDQUFXLEdBQWxCLFVBQW1CLElBQVk7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sMkNBQVksR0FBbkI7UUFBQSxpQkFPQztRQU5HLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQUEsUUFBUTtZQUNuQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLEtBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixLQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSwyQ0FBWSxHQUFuQjtRQUFBLGlCQU9DO1FBTkcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBQSxRQUFRO1lBQ25DLElBQUksUUFBUSxJQUFJLEtBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzlCLEtBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixLQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7OztnQkF4S3dCLFVBQVU7Z0JBQ0sseUJBQXlCO2dCQUM1QyxNQUFNOztJQTlCYztRQUF4QyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2tDQUFVLFVBQVU7eURBQUM7SUFPcEQ7UUFBUixLQUFLLEVBQUU7OzJEQUEyQjtJQUUxQjtRQUFSLEtBQUssRUFBRTs7NkRBQXNDO0lBRXJDO1FBQVIsS0FBSyxFQUFFOzt1RUFBd0M7SUFFdkM7UUFBUixLQUFLLEVBQUU7O2lFQUF5QjtJQUN4QjtRQUFSLEtBQUssRUFBRTs7b0VBQTRCO0lBQzNCO1FBQVIsS0FBSyxFQUFFOztrRUFBMEI7SUFDekI7UUFBUixLQUFLLEVBQUU7O2lFQUFrQztJQUVqQztRQUFSLEtBQUssRUFBRTs7bUVBQTJCO0lBQzFCO1FBQVIsS0FBSyxFQUFFOztzRUFBOEI7SUFDN0I7UUFBUixLQUFLLEVBQUU7O29FQUE0QjtJQUMzQjtRQUFSLEtBQUssRUFBRTs7bUVBQW9DO0lBRWxDO1FBQVQsTUFBTSxFQUFFO2tDQUFrQixZQUFZO2lFQUFzRDtJQUNuRjtRQUFULE1BQU0sRUFBRTtrQ0FBeUIsWUFBWTt3RUFBa0M7SUFDdEU7UUFBVCxNQUFNLEVBQUU7a0NBQTJCLFlBQVk7MEVBQWtDO0lBM0J6RSxvQkFBb0I7UUF4QmhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLHNvSkFBdUM7WUFFdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7WUFDckMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBbUMsT0FBQSxzQkFBb0IsRUFBcEIsQ0FBb0IsQ0FBQztvQkFDaEYsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtZQUNELElBQUksRUFBRTtnQkFDRixPQUFPLEVBQUUsY0FBYzthQUMxQjtZQUNELFVBQVUsRUFBRTtnQkFDUixPQUFPLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3ZCLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7b0JBQ3JELEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztvQkFDdkQsVUFBVSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2lCQUNyRixDQUFDO2FBQ0w7O1NBQ0osQ0FBQzt5Q0ErQjJCLFVBQVU7WUFDSyx5QkFBeUI7WUFDNUMsTUFBTTtPQWhDbEIsb0JBQW9CLENBd01oQztJQUFELDJCQUFDO0NBQUEsQUF4TUQsSUF3TUM7U0F4TVksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNZW51RFRPIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMvZHRvL21lbnUuZHRvJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2JyZWFrcG9pbnQtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9uYXYuc2VydmljZSc7XG5pbXBvcnQgeyBBcnJheVV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3V0aWxzL2FycmF5LnV0aWwnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvb2JqZWN0LnV0aWwnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvc3RyaW5nLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYGdpcGktc2lkZW5hdmAsXG4gICAgZXhwb3J0QXM6ICdnaXBpU2lkZW5hdicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGVuYXYuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpOiB0eXBlb2YgR0lQSVNpZGVuYXZDb21wb25lbnQgPT4gR0lQSVNpZGVuYXZDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS1zaWRlbmF2JyxcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignaW5kaWNhdG9yUm90YXRlJywgW1xuICAgICAgICAgICAgc3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKDBkZWcpJyB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnb3BlbmVkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMTgwZGVnKScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCcsIGFuaW1hdGUoJzIyNW1zIGN1YmljLWJlemllcigwLjQsMC4wLDAuMiwxKScpKSxcbiAgICAgICAgXSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEdJUElTaWRlbmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBWaWV3Q2hpbGQoJ3NpZGVuYXYnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2lkZW5hdjogTWF0U2lkZW5hdjtcblxuICAgIHB1YmxpYyBfbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZDogTWVudURUTyA9IG51bGw7XG4gICAgcHVibGljIF9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkOiBNZW51RFRPID0gbnVsbDtcblxuICAgIHB1YmxpYyBfbW91c2VFbnRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51RFRPW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGxhYmVsVG9nZ2xlOiBzdHJpbmcgPSAnUmV0cmFpciBtZW51JztcblxuICAgIEBJbnB1dCgpIHNob3dUYWdOZXdJbnRlZ3JhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWNvbkludGVncmF0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ZnSWNvbkludGVncmF0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGFiZWxJbnRlZ3JhdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dJbnRlZ3JhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWNvbkNvbmZpZ3VyYXRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBzdmdJY29uQ29uZmlndXJhdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsQ29uZmlndXJhdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dDb25maWd1cmF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgb25DbGlja01lbnVJdGVtOiBFdmVudEVtaXR0ZXI8TWVudURUTyB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51RFRPIHwgbnVsbD4oKTtcbiAgICBAT3V0cHV0KCkgb25DbGlja01lbnVJbnRlZ3JhdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBvbkNsaWNrTWVudUNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9uYXZTZXJ2aWNlOiBOYXZTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2U2VydmljZS5zaWRlbmF2ID0gdGhpcy5zaWRlbmF2O1xuICAgICAgICB0aGlzLl9uYXZTZXJ2aWNlLm1lbnVJdGVtcyA9IHRoaXMubWVudUl0ZW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNPcGVuZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBvZih0aGlzLl9uYXZTZXJ2aWNlLmlzT3BlbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzU2NyZWVuTGFyZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLnNpemUkLnBpcGUoXG4gICAgICAgICAgICBtYXAoc2l6ZSA9PiAoc2l6ZSAhPT0gJ3hzJykgJiYgKHNpemUgIT09ICdzbScpICYmIChzaXplICE9PSAnbWQnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHN1Ym1lbnVCYWNrQnV0dG9uTmFtZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBvZignVm9sdGFyJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZC5uYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoYCR7dGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZC5uYW1lfSAvICR7dGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZC5uYW1lfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsZXZlbE1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKCk6IE9ic2VydmFibGU8TWVudURUT1tdPiB7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMubWVudUl0ZW1zKTtcbiAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkLm1lbnVMaXN0KTtcbiAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZC5tZW51TGlzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlU2lkZW5hdigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBudWxsO1xuICAgICAgICB0aGlzLm9uTWVudUNvbGxhcHNhYmxlUmVzZXQodGhpcy5tZW51SXRlbXMpO1xuXG4gICAgICAgIHRoaXMuX25hdlNlcnZpY2UudG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQobWVudTogTWVudURUTyk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fbmF2U2VydmljZS5pc09wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX25hdlNlcnZpY2Uub3BlbigpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5fbmF2U2VydmljZS5pc09wZW5lZCkge1xuICAgICAgICAgICAgICAgIG1lbnUuZXhwYW5kZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogU2UgbyBtZW51TGlzdCBlc3TDoSBjYXJyZWdhZG8gZSBvICh0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID09PSBudWxsKSBzaWduaWZpY2EgcXVlIHBvc3N1aSBtYWlzIG5pdmVpcywgcG9ydGFudG8gZXN0ZSDDqSBvIG5pdmVsIDEuXG4gICAgICAgICAgICAgICAgICogU2UgbyBtZW51TGlzdCBlc3TDoSBjYXJyZWdhZG8gZSBvICh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID09PSBudWxsKSBzaWduaWZpY2EgcXVlIGVzdGUgw6kgbyDDunRpbW8gbsOtdmVsLCBwb3J0YW50byBlc3RlIMOpIG8gbml2ZWwgMi5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5VXRpbC5pc0VtcHR5KG1lbnUubWVudUxpc3QpICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBPYmplY3RVdGlsLmNsb25lKG1lbnUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIUFycmF5VXRpbC5pc0VtcHR5KG1lbnUubWVudUxpc3QpICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBPYmplY3RVdGlsLmNsb25lKG1lbnUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUNvbGxhcHNhYmxlUmVzZXQobWVudUxpc3Q6IE1lbnVEVE9bXSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVudUxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtZW51TGlzdFtpXS5leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheVV0aWwuaXNFbXB0eShtZW51TGlzdFtpXS5tZW51TGlzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1lbnVDb2xsYXBzYWJsZVJlc2V0KG1lbnVMaXN0W2ldLm1lbnVMaXN0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1lbnVDb2xsYXBzYWJsZUdvQmFjaygpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTWVudUNvbGxhcHNhYmxlUmVzZXQodGhpcy5tZW51SXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNNZW51QWN0aXZlKG1lbnU6IE1lbnVEVE8pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JvdXRlci51cmwuc3RhcnRzV2l0aChtZW51LnJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNNZW51Q29sbGFwc2FibGVBY3RpdmUobWVudTogTWVudURUTyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KG1lbnUucm91dGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBleGlzdEluUm91dGU6IGJvb2xlYW4gPSB0aGlzLl9yb3V0ZXIudXJsLmluY2x1ZGVzKG1lbnUucm91dGUpO1xuXG4gICAgICAgIGxldCBtZW51TGlzdDogTWVudURUT1tdID0gQXJyYXlVdGlsLmNsb25lKHRoaXMubWVudUl0ZW1zKTtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgbWVudUxpc3QgPSBBcnJheVV0aWwuY2xvbmUodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZC5tZW51TGlzdCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICBtZW51TGlzdCA9IEFycmF5VXRpbC5jbG9uZSh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkLm1lbnVMaXN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxldmVsWmVyb0FjdGl2ZTogTWVudURUTyA9IG1lbnVMaXN0XG4gICAgICAgICAgICAuZmlsdGVyKG1pID0+ICFBcnJheVV0aWwuaXNFbXB0eShtaS5tZW51TGlzdCkpXG4gICAgICAgICAgICAuZmluZChtaSA9PiAoKG1pLnJvdXRlID09PSBtZW51LnJvdXRlKSAmJiAobWkuaW5kZXggPT09IG1lbnUuaW5kZXgpICYmIChtaS50eXBlICYmIG1lbnUudHlwZSkpKTtcblxuICAgICAgICBpZiAoZXhpc3RJblJvdXRlICYmICFPYmplY3RVdGlsLmlzTnVsbChsZXZlbFplcm9BY3RpdmUpICYmICFBcnJheVV0aWwuaXNFbXB0eShsZXZlbFplcm9BY3RpdmUubWVudUxpc3QpKSB7XG4gICAgICAgICAgICBjb25zdCBsZXZlbE9uZUFjdGl2ZTogTWVudURUTyA9IGxldmVsWmVyb0FjdGl2ZS5tZW51TGlzdC5maW5kKG1pID0+IHRoaXMuX3JvdXRlci51cmwuaW5jbHVkZXMobWkucm91dGUpKTtcbiAgICAgICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwobGV2ZWxPbmVBY3RpdmUpICYmICFBcnJheVV0aWwuaXNFbXB0eShsZXZlbE9uZUFjdGl2ZS5tZW51TGlzdCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZXZlbFR3b0FjdGl2ZTogTWVudURUTyA9IGxldmVsT25lQWN0aXZlLm1lbnVMaXN0LmZpbmQobWkgPT4gdGhpcy5fcm91dGVyLnVybC5pbmNsdWRlcyhtaS5yb3V0ZSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAhT2JqZWN0VXRpbC5pc051bGwobGV2ZWxUd29BY3RpdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIU9iamVjdFV0aWwuaXNOdWxsKGxldmVsT25lQWN0aXZlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51SXRlbVNlbGVjdGVkKG1lbnU6IE1lbnVEVE8gPSBudWxsLCBjbG9zZU5hdjogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNsb3NlTmF2KSB7XG4gICAgICAgICAgICB0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBudWxsO1xuXG4gICAgICAgICAgICB0aGlzLm9uTWVudUNvbGxhcHNhYmxlUmVzZXQodGhpcy5tZW51SXRlbXMpO1xuXG4gICAgICAgICAgICB0aGlzLmlzU2NyZWVuTGFyZ2Uuc3Vic2NyaWJlKGlzU2NyZWVuTGFyZ2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNTY3JlZW5MYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9uYXZTZXJ2aWNlLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2xpY2tNZW51SXRlbS5lbWl0KG1lbnUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNZW51TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKG5hbWUubGVuZ3RoIDw9IDM1KSA/IG5hbWUgOiAobmFtZS5zbGljZSgwLCAzNSkgKyAnLi4uJyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW5lZC50b1Byb21pc2UoKS50aGVuKGlzT3BlbmVkID0+IHtcbiAgICAgICAgICAgIGlmICghaXNPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb3VzZUVudGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVNpZGVuYXYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW5lZC50b1Byb21pc2UoKS50aGVuKGlzT3BlbmVkID0+IHtcbiAgICAgICAgICAgIGlmIChpc09wZW5lZCAmJiB0aGlzLl9tb3VzZUVudGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW91c2VFbnRlciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlU2lkZW5hdigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxufVxuIl19
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NpZGViYXIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBMEJoRTtJQW1DSSw4QkFDWSxXQUF1QixFQUN2QiwwQkFBcUQsRUFDckQsT0FBZTtRQUZmLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFB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RixLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxjQUFjO2FBQzFCO1lBQ0QsVUFBVSxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtvQkFDdkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztvQkFDckQsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO29CQUN2RCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7aUJBQ3JGLENBQUM7YUFDTDs7U0FDSixDQUFDO3lDQXFDMkIsVUFBVTtZQUNLLHlCQUF5QjtZQUM1QyxNQUFNO09BdENsQixvQkFBb0IsQ0FpT2hDO0lBQUQsMkJBQUM7Q0FBQSxBQWpPRCxJQWlPQztTQWpPWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1lbnVEVE8gfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVscy9kdG8vbWVudS5kdG8nO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYnJlYWtwb2ludC1vYnNlcnZlci5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL25hdi5zZXJ2aWNlJztcbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvYXJyYXkudXRpbCc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgZ2lwaS1zaWRlbmF2YCxcbiAgICBleHBvcnRBczogJ2dpcGlTaWRlbmF2JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZW5hdi5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCk6IHR5cGVvZiBHSVBJU2lkZW5hdkNvbXBvbmVudCA9PiBHSVBJU2lkZW5hdkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdnaXBpLXNpZGVuYXYnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdvcGVuZWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgxODBkZWcpJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA8PT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJykpLFxuICAgICAgICBdKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR0lQSVNpZGVuYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnc2lkZW5hdicsIHsgc3RhdGljOiBmYWxzZSB9KSBzaWRlbmF2OiBNYXRTaWRlbmF2O1xuXG4gICAgcHVibGljIF9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkOiBNZW51RFRPID0gbnVsbDtcbiAgICBwdWJsaWMgX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQ6IE1lbnVEVE8gPSBudWxsO1xuXG4gICAgcHVibGljIF9tb3VzZUVudGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9tZW51SXRlbXM6IE1lbnVEVE9bXSA9IFtdO1xuICAgIEBJbnB1dCgpIGdldCBtZW51SXRlbXMoKTogTWVudURUT1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21lbnVJdGVtcztcbiAgICB9XG4gICAgc2V0IG1lbnVJdGVtcyh2YWx1ZTogTWVudURUT1tdKSB7XG4gICAgICAgIHRoaXMuX21lbnVJdGVtcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxhYmVsVG9nZ2xlOiBzdHJpbmcgPSAnUmV0cmFpciBtZW51JztcblxuICAgIEBJbnB1dCgpIHNob3dUYWdOZXdJbnRlZ3JhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWNvbkludGVncmF0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ZnSWNvbkludGVncmF0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGFiZWxJbnRlZ3JhdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dJbnRlZ3JhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWNvbkNvbmZpZ3VyYXRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBzdmdJY29uQ29uZmlndXJhdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsQ29uZmlndXJhdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dDb25maWd1cmF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgb25DbGlja01lbnVJdGVtOiBFdmVudEVtaXR0ZXI8TWVudURUTyB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51RFRPIHwgbnVsbD4oKTtcbiAgICBAT3V0cHV0KCkgb25DbGlja01lbnVJbnRlZ3JhdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBvbkNsaWNrTWVudUNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9uYXZTZXJ2aWNlOiBOYXZTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2U2VydmljZS5zaWRlbmF2ID0gdGhpcy5zaWRlbmF2O1xuICAgICAgICB0aGlzLl9uYXZTZXJ2aWNlLm1lbnVJdGVtcyA9IHRoaXMubWVudUl0ZW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNPcGVuZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBvZih0aGlzLl9uYXZTZXJ2aWNlLmlzT3BlbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzU2NyZWVuTGFyZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLnNpemUkLnBpcGUoXG4gICAgICAgICAgICBtYXAoc2l6ZSA9PiAoc2l6ZSAhPT0gJ3hzJykgJiYgKHNpemUgIT09ICdzbScpICYmIChzaXplICE9PSAnbWQnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHN1Ym1lbnVCYWNrQnV0dG9uTmFtZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBvZignVm9sdGFyJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZC5uYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoYCR7dGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZC5uYW1lfSAvICR7dGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZC5uYW1lfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsZXZlbE1lbnVTZWxlY3RlZCgpOiBPYnNlcnZhYmxlPE1lbnVEVE9bXT4ge1xuICAgICAgICBsZXQgbGV2ZWxNZW51QWN0aXZlOiBNZW51RFRPW10gPSBbXTtcbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICBsZXZlbE1lbnVBY3RpdmUgPSB0aGlzLm1lbnVJdGVtcztcbiAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIGxldmVsTWVudUFjdGl2ZSA9IHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQubWVudUxpc3Q7XG4gICAgICAgIH0gZWxzZSBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQpICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgbGV2ZWxNZW51QWN0aXZlID0gdGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZC5tZW51TGlzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghQXJyYXlVdGlsLmlzRW1wdHkobGV2ZWxNZW51QWN0aXZlKSkge1xuICAgICAgICAgICAgbGV2ZWxNZW51QWN0aXZlLmZvckVhY2goaXRlbSA9PiBpdGVtLmlkID0gdGhpcy5fdG9DYW1lbENhc2UoaXRlbS5yb3V0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKGxldmVsTWVudUFjdGl2ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZVNpZGVuYXYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBudWxsO1xuICAgICAgICB0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbk1lbnVDb2xsYXBzYWJsZVJlc2V0KHRoaXMubWVudUl0ZW1zKTtcblxuICAgICAgICB0aGlzLl9uYXZTZXJ2aWNlLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKG1lbnU6IE1lbnVEVE8pOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX25hdlNlcnZpY2UuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9uYXZTZXJ2aWNlLm9wZW4oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX25hdlNlcnZpY2UuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBtZW51LmV4cGFuZGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNlIG8gbWVudUxpc3QgZXN0w6EgY2FycmVnYWRvIGUgbyAodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCA9PT0gbnVsbCkgc2lnbmlmaWNhIHF1ZSBwb3NzdWkgbWFpcyBuaXZlaXMsIHBvcnRhbnRvIGVzdGUgw6kgbyBuaXZlbCAxLlxuICAgICAgICAgICAgICAgICAqIFNlIG8gbWVudUxpc3QgZXN0w6EgY2FycmVnYWRvIGUgbyAodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCA9PT0gbnVsbCkgc2lnbmlmaWNhIHF1ZSBlc3RlIMOpIG8gw7p0aW1vIG7DrXZlbCwgcG9ydGFudG8gZXN0ZSDDqSBvIG5pdmVsIDIuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheVV0aWwuaXNFbXB0eShtZW51Lm1lbnVMaXN0KSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID0gT2JqZWN0VXRpbC5jbG9uZShtZW51KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFBcnJheVV0aWwuaXNFbXB0eShtZW51Lm1lbnVMaXN0KSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID0gT2JqZWN0VXRpbC5jbG9uZShtZW51KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1lbnVDb2xsYXBzYWJsZVJlc2V0KG1lbnVMaXN0OiBNZW51RFRPW10pOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbnVMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWVudUxpc3RbaV0uZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIGlmICghQXJyYXlVdGlsLmlzRW1wdHkobWVudUxpc3RbaV0ubWVudUxpc3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25NZW51Q29sbGFwc2FibGVSZXNldChtZW51TGlzdFtpXS5tZW51TGlzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51Q29sbGFwc2FibGVHb0JhY2soKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xldmVsVHdvTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sZXZlbE9uZU1lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbk1lbnVDb2xsYXBzYWJsZVJlc2V0KHRoaXMubWVudUl0ZW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTWVudUFjdGl2ZShtZW51OiBNZW51RFRPKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3V0ZXIudXJsLnN0YXJ0c1dpdGgobWVudS5yb3V0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTWVudUNvbGxhcHNhYmxlQWN0aXZlKG1lbnU6IE1lbnVEVE8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShtZW51LnJvdXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhpc3RJblJvdXRlOiBib29sZWFuID0gdGhpcy5fcm91dGVyLnVybC5pbmNsdWRlcyhtZW51LnJvdXRlKTtcblxuICAgICAgICBsZXQgbWVudUxpc3Q6IE1lbnVEVE9bXSA9IEFycmF5VXRpbC5jbG9uZSh0aGlzLm1lbnVJdGVtcyk7XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCkgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIG1lbnVMaXN0ID0gQXJyYXlVdGlsLmNsb25lKHRoaXMuX2xldmVsT25lTWVudUNvbGxhcHNhYmxlU2VsZWN0ZWQubWVudUxpc3QpO1xuICAgICAgICB9IGVsc2UgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkKSkge1xuICAgICAgICAgICAgbWVudUxpc3QgPSBBcnJheVV0aWwuY2xvbmUodGhpcy5fbGV2ZWxUd29NZW51Q29sbGFwc2FibGVTZWxlY3RlZC5tZW51TGlzdCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsZXZlbFplcm9BY3RpdmU6IE1lbnVEVE8gPSBtZW51TGlzdFxuICAgICAgICAgICAgLmZpbHRlcihtaSA9PiAhQXJyYXlVdGlsLmlzRW1wdHkobWkubWVudUxpc3QpKVxuICAgICAgICAgICAgLmZpbmQobWkgPT4gKChtaS5yb3V0ZSA9PT0gbWVudS5yb3V0ZSkgJiYgKG1pLmluZGV4ID09PSBtZW51LmluZGV4KSAmJiAobWkudHlwZSAmJiBtZW51LnR5cGUpKSk7XG5cbiAgICAgICAgaWYgKGV4aXN0SW5Sb3V0ZSAmJiAhT2JqZWN0VXRpbC5pc051bGwobGV2ZWxaZXJvQWN0aXZlKSAmJiAhQXJyYXlVdGlsLmlzRW1wdHkobGV2ZWxaZXJvQWN0aXZlLm1lbnVMaXN0KSkge1xuICAgICAgICAgICAgY29uc3QgbGV2ZWxPbmVBY3RpdmU6IE1lbnVEVE8gPSBsZXZlbFplcm9BY3RpdmUubWVudUxpc3QuZmluZChtaSA9PiB0aGlzLl9yb3V0ZXIudXJsLmluY2x1ZGVzKG1pLnJvdXRlKSk7XG4gICAgICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKGxldmVsT25lQWN0aXZlKSAmJiAhQXJyYXlVdGlsLmlzRW1wdHkobGV2ZWxPbmVBY3RpdmUubWVudUxpc3QpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGV2ZWxUd29BY3RpdmU6IE1lbnVEVE8gPSBsZXZlbE9uZUFjdGl2ZS5tZW51TGlzdC5maW5kKG1pID0+IHRoaXMuX3JvdXRlci51cmwuaW5jbHVkZXMobWkucm91dGUpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIU9iamVjdFV0aWwuaXNOdWxsKGxldmVsVHdvQWN0aXZlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFPYmplY3RVdGlsLmlzTnVsbChsZXZlbE9uZUFjdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUl0ZW1TZWxlY3RlZChtZW51OiBNZW51RFRPID0gbnVsbCwgY2xvc2VOYXY6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChjbG9zZU5hdikge1xuICAgICAgICAgICAgdGhpcy5fbGV2ZWxPbmVNZW51Q29sbGFwc2FibGVTZWxlY3RlZCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9sZXZlbFR3b01lbnVDb2xsYXBzYWJsZVNlbGVjdGVkID0gbnVsbDtcblxuICAgICAgICAgICAgdGhpcy5vbk1lbnVDb2xsYXBzYWJsZVJlc2V0KHRoaXMubWVudUl0ZW1zKTtcblxuICAgICAgICAgICAgdGhpcy5pc1NjcmVlbkxhcmdlLnN1YnNjcmliZShpc1NjcmVlbkxhcmdlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzU2NyZWVuTGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbmF2U2VydmljZS5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNsaWNrTWVudUl0ZW0uZW1pdChtZW51KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVudU5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChuYW1lLmxlbmd0aCA8PSAzNSkgPyBuYW1lIDogKG5hbWUuc2xpY2UoMCwgMzUpICsgJy4uLicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuZWQudG9Qcm9taXNlKCkudGhlbihpc09wZW5lZCA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGVTaWRlbmF2KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuZWQudG9Qcm9taXNlKCkudGhlbihpc09wZW5lZCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNPcGVuZWQgJiYgdGhpcy5fbW91c2VFbnRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlRW50ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVNpZGVuYXYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcml2YXRlIF90b0NhbWVsQ2FzZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KG5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZDogc3RyaW5nID0gU3RyaW5nVXRpbC5yZXBsYWNlQWNjZW50cyhuYW1lKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRcbiAgICAgICAgICAgIC5zcGxpdCgvWy9cXC1dLykgIC8vIERpdmlkZSBwb3IgJy8nIGUgJy0nXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pICAvLyBSZW1vdmUgZWxlbWVudG9zIHZhemlvcyBkYSBsaXN0YVxuICAgICAgICAgICAgLm1hcCgod29yZCwgaW5kZXgpID0+IChpbmRleCA9PT0gMCkgPyB3b3JkLnRvTG93ZXJDYXNlKCkgOiAod29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAuam9pbignJyk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,13 +1,25 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
3
+ var nextUniqueId = 0;
3
4
  var GIPITabComponent = /** @class */ (function () {
4
5
  function GIPITabComponent() {
6
+ this._name = "gipi-tab-" + nextUniqueId++;
7
+ this.id = this._name;
8
+ this.name = this._name;
5
9
  this.active = false;
6
10
  this.closeable = false;
7
11
  this.disabled = false;
8
12
  this.selectionChange = new EventEmitter();
9
13
  }
10
14
  GIPITabComponent.prototype.ngOnInit = function () { };
15
+ __decorate([
16
+ Input(),
17
+ __metadata("design:type", Object)
18
+ ], GIPITabComponent.prototype, "id", void 0);
19
+ __decorate([
20
+ Input(),
21
+ __metadata("design:type", String)
22
+ ], GIPITabComponent.prototype, "name", void 0);
11
23
  __decorate([
12
24
  Input(),
13
25
  __metadata("design:type", Number)
@@ -64,4 +76,4 @@ var GIPITabComponent = /** @class */ (function () {
64
76
  return GIPITabComponent;
65
77
  }());
66
78
  export { GIPITabComponent };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWIvdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZNUY7SUF1Qkk7UUFqQlMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUl4QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFTekIsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsRCxDQUFDO0lBRWpCLG1DQUFRLEdBQVIsY0FBbUIsQ0FBQztJQXZCWDtRQUFSLEtBQUssRUFBRTs7bURBQWU7SUFFZDtRQUFSLEtBQUssRUFBRTs7bURBQWU7SUFFZDtRQUFSLEtBQUssRUFBRTs7b0RBQXlCO0lBRXhCO1FBQVIsS0FBSyxFQUFFO2tDQUFXLFdBQVc7c0RBQU07SUFFM0I7UUFBUixLQUFLLEVBQUU7O3VEQUE0QjtJQUUzQjtRQUFSLEtBQUssRUFBRTs7c0RBQTJCO0lBRTFCO1FBQVIsS0FBSyxFQUFFOztrREFBVztJQUVWO1FBQVIsS0FBSyxFQUFFOztrREFBYztJQUNiO1FBQVIsS0FBSyxFQUFFOztxREFBaUI7SUFJZjtRQUFULE1BQU0sRUFBRTtrQ0FBa0IsWUFBWTs2REFBMkI7SUFyQnpELGdCQUFnQjtRQVY1QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsU0FBUztZQUNuQiw4UUFBbUM7WUFFbkMsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixpQkFBaUIsRUFBRSw0QkFBNEI7YUFDbEQ7O1NBQ0osQ0FBQzs7T0FDVyxnQkFBZ0IsQ0EyQjVCO0lBQUQsdUJBQUM7Q0FBQSxBQTNCRCxJQTJCQztTQTNCWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktdGFiJyxcbiAgICBleHBvcnRBczogJ2dpcGlUYWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYi5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktdGFiJyxcbiAgICAgICAgJ1tzdHlsZS5kaXNwbGF5XSc6ICchYWN0aXZlID8gXCJub25lXCIgOiBcImJsb2NrXCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgaW5kZXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KCkgY2xvc2VhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgZGF0YTogYW55O1xuXG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN2Z0ljb246IHN0cmluZztcblxuICAgIGFjdGlvbjogKG9iajogYW55KSA9PiB2b2lkO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWIvdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUYsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBWXJCO0lBNkJJO1FBM0JRLFVBQUssR0FBVyxjQUFZLFlBQVksRUFBSSxDQUFDO1FBRTVDLE9BQUUsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVqQyxTQUFJLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQU0xQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBSXhCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVN6QixvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWxELENBQUM7SUFFakIsbUNBQVEsR0FBUixjQUFtQixDQUFDO0lBM0JYO1FBQVIsS0FBSyxFQUFFOztnREFBa0M7SUFFakM7UUFBUixLQUFLLEVBQUU7O2tEQUEyQjtJQUUxQjtRQUFSLEtBQUssRUFBRTs7bURBQWU7SUFFZDtRQUFSLEtBQUssRUFBRTs7bURBQWU7SUFFZDtRQUFSLEtBQUssRUFBRTs7b0RBQXlCO0lBRXhCO1FBQVIsS0FBSyxFQUFFO2tDQUFXLFdBQVc7c0RBQU07SUFFM0I7UUFBUixLQUFLLEVBQUU7O3VEQUE0QjtJQUUzQjtRQUFSLEtBQUssRUFBRTs7c0RBQTJCO0lBRTFCO1FBQVIsS0FBSyxFQUFFOztrREFBVztJQUVWO1FBQVIsS0FBSyxFQUFFOztrREFBYztJQUNiO1FBQVIsS0FBSyxFQUFFOztxREFBaUI7SUFJZjtRQUFULE1BQU0sRUFBRTtrQ0FBa0IsWUFBWTs2REFBMkI7SUEzQnpELGdCQUFnQjtRQVY1QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsU0FBUztZQUNuQiw4UUFBbUM7WUFFbkMsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixpQkFBaUIsRUFBRSw0QkFBNEI7YUFDbEQ7O1NBQ0osQ0FBQzs7T0FDVyxnQkFBZ0IsQ0FpQzVCO0lBQUQsdUJBQUM7Q0FBQSxBQWpDRCxJQWlDQztTQWpDWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnaXBpLXRhYicsXG4gICAgZXhwb3J0QXM6ICdnaXBpVGFiJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdnaXBpLXRhYicsXG4gICAgICAgICdbc3R5bGUuZGlzcGxheV0nOiAnIWFjdGl2ZSA/IFwibm9uZVwiIDogXCJibG9ja1wiJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHSVBJVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHByaXZhdGUgX25hbWU6IHN0cmluZyA9IGBnaXBpLXRhYi0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nIHwgbnVtYmVyID0gdGhpcy5fbmFtZTtcblxuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9IHRoaXMuX25hbWU7XG5cbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBjbG9zZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ZnSWNvbjogc3RyaW5nO1xuXG4gICAgYWN0aW9uOiAob2JqOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG59XG4iXX0=
@@ -1,12 +1,16 @@
1
1
  import { __decorate, __metadata, __read, __spread } from "tslib";
2
- import { AfterContentInit, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChildren, ElementRef, OnInit, QueryList, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { AfterContentInit, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChildren, ElementRef, Input, OnInit, QueryList, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
3
3
  import { GIPIDynamicTabDirective } from '../shared/dynamic-tab.directive';
4
4
  import { TabModel } from '../shared/tab.model';
5
5
  import { GIPITabComponent } from '../tab/tab.component';
6
+ var nextUniqueId = 0;
6
7
  var GIPITabGroupComponent = /** @class */ (function () {
7
8
  function GIPITabGroupComponent(elementRef, _componentFactoryResolver) {
8
9
  this.elementRef = elementRef;
9
10
  this._componentFactoryResolver = _componentFactoryResolver;
11
+ this._name = "gipi-tab-" + nextUniqueId++;
12
+ this.id = this._name;
13
+ this.name = this._name;
10
14
  this.dynamicTabs = [];
11
15
  }
12
16
  GIPITabGroupComponent.prototype.ngOnInit = function () { };
@@ -112,15 +116,25 @@ var GIPITabGroupComponent = /** @class */ (function () {
112
116
  ViewChild(GIPIDynamicTabDirective, { static: false }),
113
117
  __metadata("design:type", GIPIDynamicTabDirective)
114
118
  ], GIPITabGroupComponent.prototype, "dynamicTabPlaceholder", void 0);
119
+ __decorate([
120
+ Input(),
121
+ __metadata("design:type", Object)
122
+ ], GIPITabGroupComponent.prototype, "id", void 0);
123
+ __decorate([
124
+ Input(),
125
+ __metadata("design:type", String)
126
+ ], GIPITabGroupComponent.prototype, "name", void 0);
115
127
  GIPITabGroupComponent = __decorate([
116
128
  Component({
117
129
  selector: 'gipi-tab-group',
118
130
  exportAs: 'gipiTabGroup',
119
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link\n *ngFor=\"let tab of tabQueryList\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n\n <a mat-tab-link\n *ngFor=\"let tab of dynamicTabs\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n</nav>\n\n<ng-content> </ng-content>\n<ng-template dynamicTab\n #container>\n</ng-template>",
131
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link\n *ngFor=\"let tab of tabQueryList\"\n [attr.id]=\"tab.id\"\n [attr.name]=\"tab.name\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\"\n (click)=\"selectTab(tab)\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n\n <a mat-tab-link\n *ngFor=\"let tab of dynamicTabs\"\n [attr.id]=\"tab.id\"\n [attr.name]=\"tab.name\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\"\n (click)=\"selectTab(tab)\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n</nav>\n\n<ng-content> </ng-content>\n<ng-template dynamicTab\n #container>\n</ng-template>",
120
132
  host: {
121
133
  'class': 'gipi-tab-group',
134
+ '[attr.id]': 'id',
135
+ '[attr.name]': 'name',
122
136
  },
123
- styles: [":host{display:block;flex:1;width:100%;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-nav-bar{background:#f5f5f6;border:none;border-radius:.4rem;padding:.4rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-links{display:flex;gap:1rem}:host ::ng-deep .mat-tab-link{height:auto!important;padding:1rem!important;opacity:1!important;border:none!important;border-radius:4px!important;transition:.2s!important;color:#595959!important;gap:1rem}:host ::ng-deep .mat-tab-link>mat-icon{width:2rem!important;height:2rem!important;font-size:2rem!important;color:#595959!important}:host ::ng-deep .mat-tab-link>mat-icon svg,:host ::ng-deep .mat-tab-link>mat-icon svg g path,:host ::ng-deep .mat-tab-link>mat-icon svg path{color:#595959!important;fill:#595959!important}:host ::ng-deep .mat-tab-link:not(.active):hover{background:#e0e1e2!important}:host ::ng-deep .mat-tab-link.active{background:#e0313e!important;color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon{color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon svg,:host ::ng-deep .mat-tab-link.active>mat-icon svg g path,:host ::ng-deep .mat-tab-link.active>mat-icon svg path{color:#fff!important;fill:#fff!important}:host ::ng-deep .mat-tab-link:disabled,:host ::ng-deep .mat-tab-link:disabled>mat-icon{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-tab-link:disabled svg,:host ::ng-deep .mat-tab-link:disabled svg g path,:host ::ng-deep .mat-tab-link:disabled svg path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg g path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg path{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-ink-bar{display:none!important}"]
137
+ styles: [":host{display:block;flex:1;width:100%;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-nav-bar{background:#f5f5f6;border:none;border-radius:.4rem;padding:.4rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-links{display:flex;gap:1rem}:host ::ng-deep .mat-tab-link{height:auto!important;padding:1rem!important;opacity:1!important;border:none!important;border-radius:4px!important;transition:.2s!important;color:#595959!important;gap:1rem}:host ::ng-deep .mat-tab-link>mat-icon{width:2rem!important;height:2rem!important;font-size:2rem!important;color:#595959!important}:host ::ng-deep .mat-tab-link>mat-icon svg,:host ::ng-deep .mat-tab-link>mat-icon svg g path,:host ::ng-deep .mat-tab-link>mat-icon svg path{color:#595959!important;fill:#595959!important}:host ::ng-deep .mat-tab-link:not(.active):hover{background:#e0e1e2!important}:host ::ng-deep .mat-tab-link.active{background:#e0313e!important;color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon{color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon svg,:host ::ng-deep .mat-tab-link.active>mat-icon svg g path,:host ::ng-deep .mat-tab-link.active>mat-icon svg path{color:#fff!important;fill:#fff!important}:host ::ng-deep .mat-tab-link:disabled,:host ::ng-deep .mat-tab-link:disabled>mat-icon{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-tab-link:disabled svg,:host ::ng-deep .mat-tab-link:disabled svg g path,:host ::ng-deep .mat-tab-link:disabled svg path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg g path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg path{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-ink-bar{display:none!important}:host ::ng-deep .mat-tab-header-pagination{box-shadow:none!important}:host ::ng-deep .mat-tab-header-pagination.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#d1d2d4!important;cursor:not-allowed!important}:host ::ng-deep .mat-tab-header-pagination .mat-tab-header-pagination-chevron{border-color:#595959!important}:host ::ng-deep .mat-tab-header-pagination:hover{transform:scale(.98)!important}"]
124
138
  }),
125
139
  __metadata("design:paramtypes", [ElementRef,
126
140
  ComponentFactoryResolver])
@@ -128,4 +142,4 @@ var GIPITabGroupComponent = /** @class */ (function () {
128
142
  return GIPITabGroupComponent;
129
143
  }());
130
144
  export { GIPITabGroupComponent };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaE4sT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBV3hEO0lBT0ksK0JBQ1csVUFBc0IsRUFDckIseUJBQW1EO1FBRHBELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUp4RCxnQkFBVyxHQUF1QixFQUFFLENBQUM7SUFLeEMsQ0FBQztJQUVMLHdDQUFRLEdBQVIsY0FBbUIsQ0FBQztJQUVwQixrREFBa0IsR0FBbEI7UUFDSSxJQUFNLFVBQVUsR0FBdUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsTUFBTSxFQUFWLENBQVUsQ0FBQyxDQUFDO1FBQ25GLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMs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Q29tcG9uZW50RmFjdG9yeSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgT25Jbml0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgR0lQSUR5bmFtaWNUYWJEaXJlY3RpdmUgfSBmcm9tICcuLi9zaGFyZWQvZHluYW1pYy10YWIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRhYk1vZGVsIH0gZnJvbSAnLi4vc2hhcmVkL3RhYi5tb2RlbCc7XG5pbXBvcnQgeyBHSVBJVGFiQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktdGFiLWdyb3VwJyxcbiAgICBleHBvcnRBczogJ2dpcGlUYWJHcm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFiLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS10YWItZ3JvdXAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElUYWJHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCB7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEdJUElUYWJDb21wb25lbnQpIHRhYlF1ZXJ5TGlzdDogUXVlcnlMaXN0PEdJUElUYWJDb21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoR0lQSUR5bmFtaWNUYWJEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KSBkeW5hbWljVGFiUGxhY2Vob2xkZXI6IEdJUElEeW5hbWljVGFiRGlyZWN0aXZlO1xuXG4gICAgcHVibGljIGR5bmFtaWNUYWJzOiBHSVBJVGFiQ29tcG9uZW50W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFiczogR0lQSVRhYkNvbXBvbmVudFtdID0gdGhpcy50YWJRdWVyeUxpc3QuZmlsdGVyKHRhYiA9PiB0YWIuYWN0aXZlKTtcbiAgICAgICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID09PSAwICYmIHRoaXMudGFiUXVlcnlMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFiUXVlcnlMaXN0LmZpcnN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuVGFiKGxhYmVsOiBzdHJpbmcsIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PiwgZGF0YT86IGFueSwgY2xvc2VhYmxlOiBib29sZWFuID0gZmFsc2UsIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2UsIGFjdGlvbj86IChvYmo6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWI6IFRhYk1vZGVsID0gbmV3IFRhYk1vZGVsKCk7XG4gICAgICAgIHRhYi5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0YWIudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgdGFiLmRhdGEgPSBkYXRhO1xuICAgICAgICB0YWIuY2xvc2VhYmxlID0gY2xvc2VhYmxlO1xuICAgICAgICB0YWIuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgdGFiLmFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgdGhpcy5fb3BlblRhYnMoQXJyYXkodGFiKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3BlblRhYnModGFiTGlzdDogVGFiTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJzQ29tcG9uZW50OiBHSVBJVGFiQ29tcG9uZW50W10gPSB0YWJMaXN0Lm1hcCh0YWIgPT4gdGhpcy5fZ2V0VGFiQ29tcG9uZW50KHRhYi5sYWJlbCwgdGFiLnRlbXBsYXRlLCB0YWIuZGF0YSwgdGFiLmNsb3NlYWJsZSwgdGFiLmRpc2FibGVkLCB0YWIuYWN0aW9uKSk7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhYnMucHVzaCguLi50YWJzQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy5keW5hbWljVGFic1swXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VGFiQ29tcG9uZW50KGxhYmVsOiBzdHJpbmcsIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PiwgZGF0YT86IGFueSwgY2xvc2VhYmxlOiBib29sZWFuID0gZmFsc2UsIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2UsIGFjdGlvbj86IChvYmo6IGFueSkgPT4gdm9pZCk6IEdJUElUYWJDb21wb25lbnQge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PEdJUElUYWJDb21wb25lbnQ+ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEdJUElUYWJDb21wb25lbnQpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxHSVBJVGFiQ29tcG9uZW50PiA9IHRoaXMuZHluYW1pY1RhYlBsYWNlaG9sZGVyLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpO1xuXG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBpbnN0YW5jZS5sYWJlbCA9IGxhYmVsO1xuICAgICAgICBpbnN0YW5jZS50ZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICAgICAgICBpbnN0YW5jZS5kYXRhID0gZGF0YTtcbiAgICAgICAgaW5zdGFuY2UuY2xvc2VhYmxlID0gY2xvc2VhYmxlO1xuICAgICAgICBpbnN0YW5jZS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICBpbnN0YW5jZS5hY3Rpb24gPSBhY3Rpb247XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VGFiKHRhYjogR0lQSVRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhYnMuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgIHRhYi5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0YWIuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcblxuICAgICAgICBpZiAodGFiLmFjdGlvbikge1xuICAgICAgICAgICAgdGFiLmFjdGlvbih0YWIuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VUYWIodGFiOiBHSVBJVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmR5bmFtaWNUYWJzLmluZGV4T2YodGFiKTtcbiAgICAgICAgdGhpcy5keW5hbWljVGFicy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlci52aWV3Q29udGFpbmVyO1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZShpbmRleCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFiUXVlcnlMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFiUXVlcnlMaXN0LmZpcnN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZUFjdGl2ZVRhYigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMuZHluYW1pY1RhYnMuZmlsdGVyKHRhYiA9PiB0YWIuYWN0aXZlKTtcbiAgICAgICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRhYihhY3RpdmVUYWJzWzBdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZUFsbFRhYnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhYnMgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLmR5bmFtaWNUYWJzKTtcbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGFicy5mb3JFYWNoKHRhYiA9PiB0aGlzLmNsb3NlVGFiKHRhYikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5leHRUYWIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZmluZCh0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGNvbnN0IG5leHRUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KClbdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmluZGV4T2YoY3VycmVudFRhYikgKyAxXTtcbiAgICAgICAgaWYgKG5leHRUYWIgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljVGFicy5mb3JFYWNoKHQgPT4gKHQuYWN0aXZlID0gZmFsc2UpKTtcbiAgICAgICAgICAgIG5leHRUYWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIG5leHRUYWIuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBwcmV2aW91c1RhYigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRhYjogR0lQSVRhYkNvbXBvbmVudCA9IHRoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5maW5kKHRhYiA9PiB0YWIuYWN0aXZlKTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KClbdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmluZGV4T2YoY3VycmVudFRhYikgLSAxXTtcbiAgICAgICAgaWYgKHByZXZpb3VzVGFiICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKHQgPT4gKHQuYWN0aXZlID0gZmFsc2UpKTtcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1RhYnMuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgICAgICBwcmV2aW91c1RhYi5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgcHJldmlvdXNUYWIuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZOLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFhckI7SUFhSSwrQkFDVyxVQUFzQixFQUNyQix5QkFBbUQ7UUFEcEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBVnZELFVBQUssR0FBVyxjQUFZLFlBQVksRUFBSSxDQUFDO1FBRTVDLE9BQUUsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVqQyxTQUFJLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUU1QixnQkFBVyxHQUF1QixFQUFFLENBQUM7SUFLeEMsQ0FBQztJQUVMLHdDQUFRLEdBQVIsY0FBbUIsQ0FBQztJQUVwQixrREFBa0IsR0FBbEI7UUFDSSxJQUFNLFVBQVUsR0FBdUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsTUFBTSxFQUFWLENB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LDJqQ0FBeUM7WUFFekMsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixhQUFhLEVBQUUsTUFBTTthQUN4Qjs7U0FDSixDQUFDO3lDQWV5QixVQUFVO1lBQ00sd0JBQXdCO09BZnRELHFCQUFxQixDQXNIakM7SUFBRCw0QkFBQztDQUFBLEFBdEhELElBc0hDO1NBdEhZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdJUElEeW5hbWljVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2R5bmFtaWMtdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJNb2RlbCB9IGZyb20gJy4uL3NoYXJlZC90YWIubW9kZWwnO1xuaW1wb3J0IHsgR0lQSVRhYkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS10YWItZ3JvdXAnLFxuICAgIGV4cG9ydEFzOiAnZ2lwaVRhYkdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdnaXBpLXRhYi1ncm91cCcsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIubmFtZV0nOiAnbmFtZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR0lQSVRhYkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oR0lQSVRhYkNvbXBvbmVudCkgdGFiUXVlcnlMaXN0OiBRdWVyeUxpc3Q8R0lQSVRhYkNvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZChHSVBJRHluYW1pY1RhYkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGR5bmFtaWNUYWJQbGFjZWhvbGRlcjogR0lQSUR5bmFtaWNUYWJEaXJlY3RpdmU7XG5cbiAgICBwcml2YXRlIF9uYW1lOiBzdHJpbmcgPSBgZ2lwaS10YWItJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyB8IG51bWJlciA9IHRoaXMuX25hbWU7XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSB0aGlzLl9uYW1lO1xuXG4gICAgcHVibGljIGR5bmFtaWNUYWJzOiBHSVBJVGFiQ29tcG9uZW50W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFiczogR0lQSVRhYkNvbXBvbmVudFtdID0gdGhpcy50YWJRdWVyeUxpc3QuZmlsdGVyKHRhYiA9PiB0YWIuYWN0aXZlKTtcbiAgICAgICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID09PSAwICYmIHRoaXMudGFiUXVlcnlMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFiUXVlcnlMaXN0LmZpcnN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuVGFiKGxhYmVsOiBzdHJpbmcsIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PiwgZGF0YT86IGFueSwgY2xvc2VhYmxlOiBib29sZWFuID0gZmFsc2UsIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2UsIGFjdGlvbj86IChvYmo6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWI6IFRhYk1vZGVsID0gbmV3IFRhYk1vZGVsKCk7XG4gICAgICAgIHRhYi5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0YWIudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgdGFiLmRhdGEgPSBkYXRhO1xuICAgICAgICB0YWIuY2xvc2VhYmxlID0gY2xvc2VhYmxlO1xuICAgICAgICB0YWIuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgdGFiLmFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgdGhpcy5fb3BlblRhYnMoQXJyYXkodGFiKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3BlblRhYnModGFiTGlzdDogVGFiTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJzQ29tcG9uZW50OiBHSVBJVGFiQ29tcG9uZW50W10gPSB0YWJMaXN0Lm1hcCh0YWIgPT4gdGhpcy5fZ2V0VGFiQ29tcG9uZW50KHRhYi5sYWJlbCwgdGFiLnRlbXBsYXRlLCB0YWIuZGF0YSwgdGFiLmNsb3NlYWJsZSwgdGFiLmRpc2FibGVkLCB0YWIuYWN0aW9uKSk7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhYnMucHVzaCguLi50YWJzQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy5keW5hbWljVGFic1swXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VGFiQ29tcG9uZW50KGxhYmVsOiBzdHJpbmcsIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PiwgZGF0YT86IGFueSwgY2xvc2VhYmxlOiBib29sZWFuID0gZmFsc2UsIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2UsIGFjdGlvbj86IChvYmo6IGFueSkgPT4gdm9pZCk6IEdJUElUYWJDb21wb25lbnQge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PEdJUElUYWJDb21wb25lbnQ+ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEdJUElUYWJDb21wb25lbnQpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxHSVBJVGFiQ29tcG9uZW50PiA9IHRoaXMuZHluYW1pY1RhYlBsYWNlaG9sZGVyLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpO1xuXG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBpbnN0YW5jZS5sYWJlbCA9IGxhYmVsO1xuICAgICAgICBpbnN0YW5jZS50ZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICAgICAgICBpbnN0YW5jZS5kYXRhID0gZGF0YTtcbiAgICAgICAgaW5zdGFuY2UuY2xvc2VhYmxlID0gY2xvc2VhYmxlO1xuICAgICAgICBpbnN0YW5jZS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICBpbnN0YW5jZS5hY3Rpb24gPSBhY3Rpb247XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VGFiKHRhYjogR0lQSVRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhYnMuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgIHRhYi5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0YWIuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcblxuICAgICAgICBpZiAodGFiLmFjdGlvbikge1xuICAgICAgICAgICAgdGFiLmFjdGlvbih0YWIuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VUYWIodGFiOiBHSVBJVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmR5bmFtaWNUYWJzLmluZGV4T2YodGFiKTtcbiAgICAgICAgdGhpcy5keW5hbWljVGFicy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlci52aWV3Q29udGFpbmVyO1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZShpbmRleCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFiUXVlcnlMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFiUXVlcnlMaXN0LmZpcnN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZUFjdGl2ZVRhYigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMuZHluYW1pY1RhYnMuZmlsdGVyKHRhYiA9PiB0YWIuYWN0aXZlKTtcbiAgICAgICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRhYihhY3RpdmVUYWJzWzBdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZUFsbFRhYnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhYnMgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLmR5bmFtaWNUYWJzKTtcbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGFicy5mb3JFYWNoKHRhYiA9PiB0aGlzLmNsb3NlVGFiKHRhYikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5leHRUYWIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZmluZCh0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGNvbnN0IG5leHRUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KClbdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmluZGV4T2YoY3VycmVudFRhYikgKyAxXTtcbiAgICAgICAgaWYgKG5leHRUYWIgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljVGFicy5mb3JFYWNoKHQgPT4gKHQuYWN0aXZlID0gZmFsc2UpKTtcbiAgICAgICAgICAgIG5leHRUYWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIG5leHRUYWIuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBwcmV2aW91c1RhYigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRhYjogR0lQSVRhYkNvbXBvbmVudCA9IHRoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5maW5kKHRhYiA9PiB0YWIuYWN0aXZlKTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KClbdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmluZGV4T2YoY3VycmVudFRhYikgLSAxXTtcbiAgICAgICAgaWYgKHByZXZpb3VzVGFiICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKHQgPT4gKHQuYWN0aXZlID0gZmFsc2UpKTtcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1RhYnMuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgICAgICBwcmV2aW91c1RhYi5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgcHJldmlvdXNUYWIuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4iXX0=
@@ -341,7 +341,7 @@ var GIPITextareaComponent = /** @class */ (function () {
341
341
  'class': 'gipi-textarea',
342
342
  },
343
343
  changeDetection: ChangeDetectionStrategy.OnPush,
344
- styles: [":host{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .textarea-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .textarea-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .textarea-element{display:flex;font-family:inherit;font-size:inherit;color:inherit;padding:.75rem .8rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:6px;caret-color:#696969;max-height:12rem;min-height:6rem;resize:vertical;outline:0;overflow:auto}:host .textarea-element:not(:disabled):hover{border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:hover,:host .textarea-element:not(:disabled):invalid:enabled:hover{border-color:#e07f62}:host .textarea-element:not(:disabled):enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled,:host .textarea-element:not(:disabled):invalid:enabled{border-color:#d14014}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:focus,:host .textarea-element:not(:disabled):invalid:enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #f1c4b6;border-color:#d14014}:host .textarea-element:disabled{color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .textarea-element.resize-none{resize:none}:host .textarea-element.resize-both{resize:both}:host .textarea-element.resize-horizontal{resize:horizontal}:host .textarea-element.resize-vertical{resize:vertical}:host .textarea-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
344
+ styles: [":host{display:flex;min-width:0;max-width:100%;flex:1;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .textarea-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .textarea-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .textarea-element{display:flex;font-family:inherit;font-size:inherit;color:inherit;padding:.75rem .8rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:6px;caret-color:#696969;max-height:12rem;min-height:6rem;resize:vertical;outline:0;overflow:auto}:host .textarea-element:not(:disabled):hover{border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:hover,:host .textarea-element:not(:disabled):invalid:enabled:hover{border-color:#e07f62}:host .textarea-element:not(:disabled):enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled,:host .textarea-element:not(:disabled):invalid:enabled{border-color:#d14014}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:focus,:host .textarea-element:not(:disabled):invalid:enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #f1c4b6;border-color:#d14014}:host .textarea-element:disabled{color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .textarea-element.resize-none{resize:none}:host .textarea-element.resize-both{resize:both}:host .textarea-element.resize-horizontal{resize:horizontal}:host .textarea-element.resize-vertical{resize:vertical}:host .textarea-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
345
345
  }),
346
346
  __metadata("design:paramtypes", [ElementRef,
347
347
  ChangeDetectorRef])