@porscheinformatik/material-addons 17.4.4 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/esm2022/lib/alert/alert.component.mjs +4 -4
  2. package/esm2022/lib/button/button.module.mjs +26 -8
  3. package/esm2022/lib/button/danger-button/danger-button.component.mjs +6 -7
  4. package/esm2022/lib/button/flat-button/link-button.component.mjs +6 -7
  5. package/esm2022/lib/button/icon-button/icon-button.component.mjs +6 -7
  6. package/esm2022/lib/button/mad-basic-button.mjs +4 -4
  7. package/esm2022/lib/button/mad-button/mad-button.directive.mjs +5 -4
  8. package/esm2022/lib/button/mad-button-group/mad-button-group.component.mjs +5 -4
  9. package/esm2022/lib/button/outline-button/outline-button.component.mjs +6 -7
  10. package/esm2022/lib/button/primary-button/primary-button.component.mjs +6 -7
  11. package/esm2022/lib/card/card.component.mjs +22 -12
  12. package/esm2022/lib/card/card.module.mjs +6 -7
  13. package/esm2022/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +5 -5
  14. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.mjs +3 -3
  15. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.mjs +4 -4
  16. package/esm2022/lib/data-table/data-table-filter/data-table-filter-header.directive.mjs +4 -4
  17. package/esm2022/lib/data-table/data-table-filter/data-table-filter.directive.mjs +4 -4
  18. package/esm2022/lib/data-table/data-table-persistence.service.mjs +4 -4
  19. package/esm2022/lib/data-table/data-table-template/data-table-template-cell-definition.directive.mjs +3 -3
  20. package/esm2022/lib/data-table/data-table-template/data-table-template-column-definition.directive.mjs +3 -3
  21. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.mjs +3 -3
  22. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.mjs +3 -3
  23. package/esm2022/lib/data-table/data-table.component.mjs +4 -4
  24. package/esm2022/lib/data-table/util/data-table-action-util.mjs +1 -1
  25. package/esm2022/lib/data-table/util/data-table-data-util.mjs +1 -1
  26. package/esm2022/lib/data-table/util/data-table-sort-util.mjs +1 -1
  27. package/esm2022/lib/file-upload/drag-and-drop-directive.directive.mjs +4 -4
  28. package/esm2022/lib/file-upload/file-upload.component.mjs +4 -4
  29. package/esm2022/lib/layout/content-panel/content-header/content-header.component.mjs +5 -5
  30. package/esm2022/lib/layout/content-panel/content-panel-container/content-panel-container.component.mjs +5 -5
  31. package/esm2022/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +5 -5
  32. package/esm2022/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +5 -5
  33. package/esm2022/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.mjs +5 -5
  34. package/esm2022/lib/layout/content-panel/content-panel.module.mjs +9 -8
  35. package/esm2022/lib/layout/content-panel/main-container/main-container.component.mjs +5 -5
  36. package/esm2022/lib/layout/flowbar/flowbar.component.mjs +8 -7
  37. package/esm2022/lib/layout/flowbar/flowbar.module.mjs +6 -7
  38. package/esm2022/lib/layout/sidebar/sidebar-item/sidebar-item.component.mjs +5 -5
  39. package/esm2022/lib/layout/sidebar/sidebar.component.mjs +9 -7
  40. package/esm2022/lib/layout/sidebar/sidebar.module.mjs +6 -7
  41. package/esm2022/lib/layout/sidebar-layout/sidebar-layout.component.mjs +3 -3
  42. package/esm2022/lib/layout/toolbar/toolbar.component.mjs +36 -16
  43. package/esm2022/lib/layout/toolbar/toolbar.module.mjs +10 -8
  44. package/esm2022/lib/layout/toolbar/toolbar.service.mjs +4 -4
  45. package/esm2022/lib/material-action-button/material-action-button.component.mjs +13 -10
  46. package/esm2022/lib/material-action-button/material-action-button.module.mjs +6 -7
  47. package/esm2022/lib/material-addons.module.mjs +4 -4
  48. package/esm2022/lib/numeric-field/number-format.service.mjs +4 -4
  49. package/esm2022/lib/numeric-field/numeric-field.directive.mjs +5 -4
  50. package/esm2022/lib/numeric-field/numeric-field.module.mjs +6 -6
  51. package/esm2022/lib/quick-list/base-quick-list.component.mjs +5 -5
  52. package/esm2022/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +17 -9
  53. package/esm2022/lib/quick-list/quick-list.component.mjs +10 -9
  54. package/esm2022/lib/quick-list/quick-list.module.mjs +25 -8
  55. package/esm2022/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.mjs +17 -9
  56. package/esm2022/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.mjs +17 -9
  57. package/esm2022/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +18 -12
  58. package/esm2022/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +15 -10
  59. package/esm2022/lib/readonly/readonly-form-field.module.mjs +33 -8
  60. package/esm2022/lib/stepper/step-header/step-header.component.mjs +8 -7
  61. package/esm2022/lib/stepper/stepper.component.mjs +14 -15
  62. package/esm2022/lib/stepper/stepper.module.mjs +29 -7
  63. package/esm2022/lib/table/table.component.mjs +34 -18
  64. package/esm2022/lib/table/table.module.mjs +10 -8
  65. package/esm2022/lib/throttle-click/throttle-click.directive.mjs +5 -4
  66. package/esm2022/lib/throttle-click/throttle-click.module.mjs +6 -7
  67. package/fesm2022/porscheinformatik-material-addons.mjs +465 -328
  68. package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
  69. package/lib/button/button.module.d.ts +13 -13
  70. package/lib/button/button.module.d.ts.map +1 -1
  71. package/lib/button/danger-button/danger-button.component.d.ts +1 -1
  72. package/lib/button/danger-button/danger-button.component.d.ts.map +1 -1
  73. package/lib/button/flat-button/link-button.component.d.ts +1 -1
  74. package/lib/button/flat-button/link-button.component.d.ts.map +1 -1
  75. package/lib/button/icon-button/icon-button.component.d.ts +1 -1
  76. package/lib/button/icon-button/icon-button.component.d.ts.map +1 -1
  77. package/lib/button/mad-button/mad-button.directive.d.ts +1 -1
  78. package/lib/button/mad-button/mad-button.directive.d.ts.map +1 -1
  79. package/lib/button/mad-button-group/mad-button-group.component.d.ts +1 -1
  80. package/lib/button/mad-button-group/mad-button-group.component.d.ts.map +1 -1
  81. package/lib/button/outline-button/outline-button.component.d.ts +1 -1
  82. package/lib/button/outline-button/outline-button.component.d.ts.map +1 -1
  83. package/lib/button/primary-button/primary-button.component.d.ts +1 -1
  84. package/lib/button/primary-button/primary-button.component.d.ts.map +1 -1
  85. package/lib/card/card.component.d.ts +1 -1
  86. package/lib/card/card.component.d.ts.map +1 -1
  87. package/lib/card/card.module.d.ts +8 -8
  88. package/lib/card/card.module.d.ts.map +1 -1
  89. package/lib/layout/content-panel/content-header/content-header.component.d.ts +1 -1
  90. package/lib/layout/content-panel/content-header/content-header.component.d.ts.map +1 -1
  91. package/lib/layout/content-panel/content-panel-container/content-panel-container.component.d.ts +1 -1
  92. package/lib/layout/content-panel/content-panel-container/content-panel-container.component.d.ts.map +1 -1
  93. package/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts +1 -1
  94. package/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts.map +1 -1
  95. package/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts +1 -1
  96. package/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts.map +1 -1
  97. package/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.d.ts +1 -1
  98. package/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.d.ts.map +1 -1
  99. package/lib/layout/content-panel/content-panel.module.d.ts +8 -8
  100. package/lib/layout/content-panel/content-panel.module.d.ts.map +1 -1
  101. package/lib/layout/content-panel/main-container/main-container.component.d.ts +1 -1
  102. package/lib/layout/content-panel/main-container/main-container.component.d.ts.map +1 -1
  103. package/lib/layout/flowbar/flowbar.component.d.ts +1 -1
  104. package/lib/layout/flowbar/flowbar.component.d.ts.map +1 -1
  105. package/lib/layout/flowbar/flowbar.module.d.ts +4 -4
  106. package/lib/layout/flowbar/flowbar.module.d.ts.map +1 -1
  107. package/lib/layout/sidebar/sidebar-item/sidebar-item.component.d.ts +1 -1
  108. package/lib/layout/sidebar/sidebar-item/sidebar-item.component.d.ts.map +1 -1
  109. package/lib/layout/sidebar/sidebar.component.d.ts +1 -1
  110. package/lib/layout/sidebar/sidebar.component.d.ts.map +1 -1
  111. package/lib/layout/sidebar/sidebar.module.d.ts +6 -6
  112. package/lib/layout/sidebar/sidebar.module.d.ts.map +1 -1
  113. package/lib/layout/toolbar/toolbar.component.d.ts +1 -1
  114. package/lib/layout/toolbar/toolbar.component.d.ts.map +1 -1
  115. package/lib/layout/toolbar/toolbar.module.d.ts +12 -12
  116. package/lib/material-action-button/material-action-button.component.d.ts +1 -1
  117. package/lib/material-action-button/material-action-button.component.d.ts.map +1 -1
  118. package/lib/material-action-button/material-action-button.module.d.ts +7 -7
  119. package/lib/material-action-button/material-action-button.module.d.ts.map +1 -1
  120. package/lib/numeric-field/numeric-field.directive.d.ts +1 -1
  121. package/lib/numeric-field/numeric-field.directive.d.ts.map +1 -1
  122. package/lib/numeric-field/numeric-field.module.d.ts +1 -1
  123. package/lib/quick-list/base-quick-list.component.d.ts +1 -1
  124. package/lib/quick-list/base-quick-list.component.d.ts.map +1 -1
  125. package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts +1 -1
  126. package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts.map +1 -1
  127. package/lib/quick-list/quick-list.component.d.ts +1 -1
  128. package/lib/quick-list/quick-list.component.d.ts.map +1 -1
  129. package/lib/quick-list/quick-list.module.d.ts +11 -11
  130. package/lib/quick-list/quick-list.module.d.ts.map +1 -1
  131. package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts +1 -1
  132. package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts.map +1 -1
  133. package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts +1 -1
  134. package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts.map +1 -1
  135. package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts +1 -1
  136. package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts.map +1 -1
  137. package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts +3 -2
  138. package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts.map +1 -1
  139. package/lib/readonly/readonly-form-field.module.d.ts +10 -10
  140. package/lib/readonly/readonly-form-field.module.d.ts.map +1 -1
  141. package/lib/stepper/step-header/step-header.component.d.ts +1 -1
  142. package/lib/stepper/step-header/step-header.component.d.ts.map +1 -1
  143. package/lib/stepper/stepper.component.d.ts +2 -2
  144. package/lib/stepper/stepper.component.d.ts.map +1 -1
  145. package/lib/stepper/stepper.module.d.ts +8 -8
  146. package/lib/stepper/stepper.module.d.ts.map +1 -1
  147. package/lib/table/table.component.d.ts +1 -1
  148. package/lib/table/table.component.d.ts.map +1 -1
  149. package/lib/table/table.module.d.ts +12 -12
  150. package/lib/throttle-click/throttle-click.directive.d.ts +1 -1
  151. package/lib/throttle-click/throttle-click.directive.d.ts.map +1 -1
  152. package/lib/throttle-click/throttle-click.module.d.ts +3 -3
  153. package/lib/throttle-click/throttle-click.module.d.ts.map +1 -1
  154. package/package.json +3 -2
  155. package/themes/common/styles.scss +3 -3
  156. package/themes/common/theme.scss +6 -6
@@ -1,10 +1,13 @@
1
1
  import { Component, Input } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { NgIf } from '@angular/common';
6
+ import { RouterLink } from '@angular/router';
2
7
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/router";
5
- import * as i3 from "@angular/material/button";
6
- import * as i4 from "@angular/material/icon";
7
- import * as i5 from "@angular/material/tooltip";
8
+ import * as i1 from "@angular/material/button";
9
+ import * as i2 from "@angular/material/tooltip";
10
+ import * as i3 from "@angular/material/icon";
8
11
  export class MaterialActionButtonComponent {
9
12
  constructor() {
10
13
  this.icon = 'add';
@@ -12,12 +15,12 @@ export class MaterialActionButtonComponent {
12
15
  this.liftHigher = true;
13
16
  this.liftHigher2 = false;
14
17
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: MaterialActionButtonComponent, selector: "mad-material-action-button", inputs: { actionName: "actionName", id: "id", icon: "icon", routerLink: "routerLink", liftHigher: "liftHigher", liftHigher2: "liftHigher2" }, ngImport: i0, template: "<div class=\"material-action-button {{ liftHigher ? 'lift-higher' : '' }} {{ liftHigher2 ? 'lift-higher-2' : '' }}\">\n <a [routerLink]=\"routerLink\">\n <button [id]=\"id\" mat-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"primary\" *ngIf=\"!liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n <button [id]=\"id\" mat-mini-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"accent\" *ngIf=\"liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n </a>\n</div>\n", styles: [".material-action-button{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column-reverse;align-items:center}.lift-higher{bottom:61px}.lift-higher-2{right:28px;bottom:121px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MaterialActionButtonComponent, isStandalone: true, selector: "mad-material-action-button", inputs: { actionName: "actionName", id: "id", icon: "icon", routerLink: "routerLink", liftHigher: "liftHigher", liftHigher2: "liftHigher2" }, ngImport: i0, template: "<div class=\"material-action-button {{ liftHigher ? 'lift-higher' : '' }} {{ liftHigher2 ? 'lift-higher-2' : '' }}\">\n <a [routerLink]=\"routerLink\">\n <button [id]=\"id\" mat-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"primary\" *ngIf=\"!liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n <button [id]=\"id\" mat-mini-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"accent\" *ngIf=\"liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n </a>\n</div>\n", styles: [".material-action-button{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column-reverse;align-items:center}.lift-higher{bottom:61px}.lift-higher-2{right:28px;bottom:121px}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
17
20
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialActionButtonComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonComponent, decorators: [{
19
22
  type: Component,
20
- args: [{ selector: 'mad-material-action-button', template: "<div class=\"material-action-button {{ liftHigher ? 'lift-higher' : '' }} {{ liftHigher2 ? 'lift-higher-2' : '' }}\">\n <a [routerLink]=\"routerLink\">\n <button [id]=\"id\" mat-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"primary\" *ngIf=\"!liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n <button [id]=\"id\" mat-mini-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"accent\" *ngIf=\"liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n </a>\n</div>\n", styles: [".material-action-button{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column-reverse;align-items:center}.lift-higher{bottom:61px}.lift-higher-2{right:28px;bottom:121px}\n"] }]
23
+ args: [{ selector: 'mad-material-action-button', standalone: true, imports: [RouterLink, NgIf, MatButtonModule, MatTooltipModule, MatIconModule], template: "<div class=\"material-action-button {{ liftHigher ? 'lift-higher' : '' }} {{ liftHigher2 ? 'lift-higher-2' : '' }}\">\n <a [routerLink]=\"routerLink\">\n <button [id]=\"id\" mat-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"primary\" *ngIf=\"!liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n <button [id]=\"id\" mat-mini-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"accent\" *ngIf=\"liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n </a>\n</div>\n", styles: [".material-action-button{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column-reverse;align-items:center}.lift-higher{bottom:61px}.lift-higher-2{right:28px;bottom:121px}\n"] }]
21
24
  }], propDecorators: { actionName: [{
22
25
  type: Input
23
26
  }], id: [{
@@ -31,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
31
34
  }], liftHigher2: [{
32
35
  type: Input
33
36
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT2pELE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFhRSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBS2Isa0ZBQWtGO1FBRWxGLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0FDckI7OEdBbkJZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLGdOQ1AxQyx5aUJBVUE7OzJGREhhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw0QkFBNEI7OEJBTXRDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFLTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQWN0aW9uQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYWN0aW9uTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgaWNvbiA9ICdhZGQnO1xuXG4gIEBJbnB1dCgpXG4gIHJvdXRlckxpbms6IHN0cmluZztcblxuICAvLyBTZXRzIHRoZSBsb3dlciBwYWRkaW5nIGhpZ2hlciBwcm92aWRpbmcgc29tZSBib3R0b20gc3BhY2UgZm9yIGEgZml4ZWQgcGFnaW5hdG9yXG4gIEBJbnB1dCgpXG4gIGxpZnRIaWdoZXIgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGxpZnRIaWdoZXIyID0gZmFsc2U7XG59XG4iLCI8ZGl2IGNsYXNzPVwibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbiB7eyBsaWZ0SGlnaGVyID8gJ2xpZnQtaGlnaGVyJyA6ICcnIH19IHt7IGxpZnRIaWdoZXIyID8gJ2xpZnQtaGlnaGVyLTInIDogJycgfX1cIj5cbiAgPGEgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua1wiPlxuICAgIDxidXR0b24gW2lkXT1cImlkXCIgbWF0LWZhYiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiIFttYXRUb29sdGlwXT1cImFjdGlvbk5hbWVcIiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cIiFsaWZ0SGlnaGVyMlwiPlxuICAgICAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gW2lkXT1cImlkXCIgbWF0LW1pbmktZmFiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCIgW21hdFRvb2x0aXBdPVwiYWN0aW9uTmFtZVwiIGNvbG9yPVwiYWNjZW50XCIgKm5nSWY9XCJsaWZ0SGlnaGVyMlwiPlxuICAgICAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2E+XG48L2Rpdj5cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFTN0MsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQWVFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFLYixrRkFBa0Y7UUFFbEYsZUFBVSxHQUFHLElBQUksQ0FBQztRQUdsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztLQUNyQjs4R0FuQlksNkJBQTZCO2tHQUE3Qiw2QkFBNkIsb09DZDFDLHlpQkFVQSxvUURFWSxVQUFVLG9PQUFFLElBQUksNEZBQUUsZUFBZSxxUUFBRSxnQkFBZ0IsNFRBQUUsYUFBYTs7MkZBRWpFLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSw0QkFBNEIsY0FHMUIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDOzhCQUk3RSxVQUFVO3NCQURULEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSb3V0ZXJMaW5rLCBOZ0lmLCBNYXRCdXR0b25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbEFjdGlvbkJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGFjdGlvbk5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGljb24gPSAnYWRkJztcblxuICBASW5wdXQoKVxuICByb3V0ZXJMaW5rOiBzdHJpbmc7XG5cbiAgLy8gU2V0cyB0aGUgbG93ZXIgcGFkZGluZyBoaWdoZXIgcHJvdmlkaW5nIHNvbWUgYm90dG9tIHNwYWNlIGZvciBhIGZpeGVkIHBhZ2luYXRvclxuICBASW5wdXQoKVxuICBsaWZ0SGlnaGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBsaWZ0SGlnaGVyMiA9IGZhbHNlO1xufVxuIiwiPGRpdiBjbGFzcz1cIm1hdGVyaWFsLWFjdGlvbi1idXR0b24ge3sgbGlmdEhpZ2hlciA/ICdsaWZ0LWhpZ2hlcicgOiAnJyB9fSB7eyBsaWZ0SGlnaGVyMiA/ICdsaWZ0LWhpZ2hlci0yJyA6ICcnIH19XCI+XG4gIDxhIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIj5cbiAgICA8YnV0dG9uIFtpZF09XCJpZFwiIG1hdC1mYWIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIiBbbWF0VG9vbHRpcF09XCJhY3Rpb25OYW1lXCIgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCIhbGlmdEhpZ2hlcjJcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIFtpZF09XCJpZFwiIG1hdC1taW5pLWZhYiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiIFttYXRUb29sdGlwXT1cImFjdGlvbk5hbWVcIiBjb2xvcj1cImFjY2VudFwiICpuZ0lmPVwibGlmdEhpZ2hlcjJcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9hPlxuPC9kaXY+XG4iXX0=
@@ -7,16 +7,15 @@ import { MatIconModule } from '@angular/material/icon';
7
7
  import { MatTooltipModule } from '@angular/material/tooltip';
8
8
  import * as i0 from "@angular/core";
9
9
  export class MaterialActionButtonModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: MaterialActionButtonModule, declarations: [MaterialActionButtonComponent], imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule], exports: [MaterialActionButtonComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialActionButtonModule, imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule, MaterialActionButtonComponent], exports: [MaterialActionButtonComponent] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule, MaterialActionButtonComponent] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialActionButtonModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
- declarations: [MaterialActionButtonComponent],
18
- imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule],
17
+ imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule, MaterialActionButtonComponent],
19
18
  exports: [MaterialActionButtonComponent],
20
19
  }]
21
20
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU83RCxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7K0dBQTFCLDBCQUEwQixpQkFKdEIsNkJBQTZCLGFBQ2xDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsYUFDNUUsNkJBQTZCOytHQUU1QiwwQkFBMEIsWUFIM0IsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQjs7MkZBRzNFLDBCQUEwQjtrQkFMdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDO29CQUN2RixPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxBY3Rpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTWF0ZXJpYWxBY3Rpb25CdXR0b25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtNYXRlcmlhbEFjdGlvbkJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQWN0aW9uQnV0dG9uTW9kdWxlIHt9XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU03RCxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7K0dBQTFCLDBCQUEwQixZQUgzQixZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLGFBQzNHLDZCQUE2QjsrR0FFNUIsMEJBQTBCLFlBSDNCLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkI7OzJGQUcxRywwQkFBMEI7a0JBSnRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLDZCQUE2QixDQUFDO29CQUN0SCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxBY3Rpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdGVyaWFsQWN0aW9uQnV0dG9uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW01hdGVyaWFsQWN0aW9uQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxBY3Rpb25CdXR0b25Nb2R1bGUge31cbiJdfQ==
@@ -10,8 +10,8 @@ import { ThrottleClickModule } from './throttle-click/throttle-click.module';
10
10
  import { SidebarModule } from './layout/sidebar/sidebar.module';
11
11
  import * as i0 from "@angular/core";
12
12
  export class MaterialAddonsModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: MaterialAddonsModule, exports: [ReadOnlyFormFieldModule,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, exports: [ReadOnlyFormFieldModule,
15
15
  ButtonModule,
16
16
  ToolbarModule,
17
17
  MaterialActionButtonModule,
@@ -20,7 +20,7 @@ export class MaterialAddonsModule {
20
20
  QuickListModule,
21
21
  ThrottleClickModule,
22
22
  SidebarModule] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialAddonsModule, imports: [ReadOnlyFormFieldModule,
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, imports: [ReadOnlyFormFieldModule,
24
24
  ButtonModule,
25
25
  ToolbarModule,
26
26
  MaterialActionButtonModule,
@@ -30,7 +30,7 @@ export class MaterialAddonsModule {
30
30
  ThrottleClickModule,
31
31
  SidebarModule] }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialAddonsModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  exports: [
@@ -124,10 +124,10 @@ export class NumberFormatService {
124
124
  valueOrDefault(value, defaultValue) {
125
125
  return NumberFormatService.valueIsSet(value) ? value : defaultValue;
126
126
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumberFormatService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
128
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumberFormatService, providedIn: 'any' }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumberFormatService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
128
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumberFormatService, providedIn: 'any' }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumberFormatService, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumberFormatService, decorators: [{
131
131
  type: Injectable,
132
132
  args: [{
133
133
  providedIn: 'any',
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
136
136
  type: Inject,
137
137
  args: [LOCALE_ID]
138
138
  }] }] });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbnVtZXJpYy1maWVsZC9udW1iZXItZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1COUQsTUFBTSxPQUFPLG1CQUFtQjthQUNkLGFBQVEsR0FBRyxHQUFHLEFBQU4sQ0FBTzthQUNmLFlBQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFyRCxDQUFzRDthQUM3RCw2QkFBd0IsR0FBRyxJQUFJLEFBQVAsQ0FBUTthQUNoQywyQkFBc0IsR0FBRyxDQUFDLEFBQUosQ0FBSzthQUMzQiw4QkFBeUIsR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUNsQyxpQ0FBNEIsR0FBRyxLQUFLLEFBQVIsQ0FBUztJQU9yRCxZQUErQixNQUFjO1FBRjdDLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBR3pCLG9DQUFvQztRQUNwQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsc0JBQXNCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUVw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QUM7UUFDbkUsZ0VBQWdFO1FBQ2hFLElBQUksa0JBQWtCLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1NBQ3ZCO1FBQ0QscUZBQXFGO1FBQ3JGLElBQUksa0JBQWtCLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUMxQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVUsRUFBRSxZQUFpQjtRQUNsRCxPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDdEUsQ0FBQzs4R0F6SVUsbUJBQW1CLGtCQWFWLFNBQVM7a0hBYmxCLG1CQUFtQixjQUZsQixLQUFLOzsyRkFFTixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzswQkFjYyxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIExPQ0FMRV9JRCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRm9ybWF0T3B0aW9ucyB7XG4gIGRlY2ltYWxQbGFjZXM/OiBudW1iZXI7XG5cbiAgZmluYWxGb3JtYXR0aW5nPzogYm9vbGVhbjtcblxuICBhdXRvZmlsbERlY2ltYWxzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0cmlwT3B0aW9ucyB7XG4gIGRlY2ltYWxQbGFjZXM/OiBudW1iZXI7XG5cbiAgcmVtb3ZlTGVhZGluZ1plcm9zPzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0U2VydmljZSB7XG4gIHN0YXRpYyByZWFkb25seSBORUdBVElWRSA9ICctJztcbiAgc3RhdGljIHJlYWRvbmx5IE5VTUJFUlMgPSBbJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknXTtcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRklOQUxfRk9STUFUVElORyA9IHRydWU7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0RFQ0lNQUxfUExBQ0VTID0gMjtcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQVVUT0ZJTExfREVDSU1BTFMgPSBmYWxzZTtcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfUkVNT1ZFX0xFQURJTkdfWkVST1MgPSBmYWxzZTtcblxuICBkZWNpbWFsU2VwYXJhdG9yOiAnLCcgfCAnLic7XG4gIGdyb3VwaW5nU2VwYXJhdG9yOiAnLCcgfCAnLic7XG5cbiAgYWxsb3dlZEtleXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZTogc3RyaW5nKSB7XG4gICAgLy8gdHJ5IHRvIGdldCB0aGUgY3VycmVudCBmb3JtYXR0aW5nXG4gICAgY29uc3QgbG9jYWxlRGVjaW1hbFNlcGFyYXRvciA9ICgxLjEpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSkuY2hhckF0KDEpO1xuICAgIHRoaXMuZGVjaW1hbFNlcGFyYXRvciA9IGxvY2FsZURlY2ltYWxTZXBhcmF0b3IgPT09ICcsJyA/ICcsJyA6ICcuJztcbiAgICB0aGlzLmdyb3VwaW5nU2VwYXJhdG9yID0gbG9jYWxlRGVjaW1hbFNlcGFyYXRvciA9PT0gJywnID8gJy4nIDogJywnO1xuXG4gICAgdGhpcy5hbGxvd2VkS2V5cyA9IFsuLi5OdW1iZXJGb3JtYXRTZXJ2aWNlLk5VTUJFUlMsIE51bWJlckZvcm1hdFNlcnZpY2UuTkVHQVRJVkUsIHRoaXMuZGVjaW1hbFNlcGFyYXRvcl07XG4gIH1cblxuICBzdGF0aWMgdmFsdWVJc1NldCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwgJiYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWUubGVuZ3RoICE9PSAwKTtcbiAgfVxuXG4gIGZvcm1hdCh2YWx1ZTogbnVtYmVyLCBvcHRpb25zPzogUGFydGlhbDxGb3JtYXRPcHRpb25zPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIE51bWJlckZvcm1hdFNlcnZpY2UudmFsdWVJc1NldCh2YWx1ZSlcbiAgICAgID8gdGhpcy5mb3JtYXROdW1iZXIodmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoJ1suXScsICdnJyksIHRoaXMuZGVjaW1hbFNlcGFyYXRvciksIG9wdGlvbnMpXG4gICAgICA6ICcnO1xuICB9XG5cbiAgZm9ybWF0TnVtYmVyKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBQYXJ0aWFsPEZvcm1hdE9wdGlvbnM+KTogc3RyaW5nIHtcbiAgICBjb25zdCBhdXRvZmlsbERlY2ltYWxzID0gdGhpcy52YWx1ZU9yRGVmYXVsdChvcHRpb25zPy5hdXRvZmlsbERlY2ltYWxzLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfQVVUT0ZJTExfREVDSU1BTFMpO1xuICAgIGNvbnN0IGRlY2ltYWxQbGFjZXMgPSB0aGlzLnZhbHVlT3JEZWZhdWx0KG9wdGlvbnM/LmRlY2ltYWxQbGFjZXMsIE51bWJlckZvcm1hdFNlcnZpY2UuREVGQVVMVF9ERUNJTUFMX1BMQUNFUyk7XG4gICAgY29uc3QgZmluYWxGb3JtYXR0aW5nID0gdGhpcy52YWx1ZU9yRGVmYXVsdChvcHRpb25zPy5maW5hbEZvcm1hdHRpbmcsIE51bWJlckZvcm1hdFNlcnZpY2UuREVGQVVMVF9GSU5BTF9GT1JNQVRUSU5HKTtcblxuICAgIGxldCByZXN1bHQgPSB0aGlzLnN0cmlwKHZhbHVlLCB7IGRlY2ltYWxQbGFjZXMsIHJlbW92ZUxlYWRpbmdaZXJvczogZmluYWxGb3JtYXR0aW5nIH0pO1xuXG4gICAgLyogYWRkIGdyb3VwaW5nIHNlcGFyYXRvciAqL1xuICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IHJlc3VsdC5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgY29uc3QgaXNOZWdhdGl2ZSA9IHJlc3VsdC5zdGFydHNXaXRoKE51bWJlckZvcm1hdFNlcnZpY2UuTkVHQVRJVkUpO1xuICAgIGxldCBpID0gZGVjaW1hbEluZGV4ID4gLTEgPyBkZWNpbWFsSW5kZXggOiByZXN1bHQubGVuZ3RoO1xuICAgIHdoaWxlIChpID4gKGlzTmVnYXRpdmUgPyA0IDogMykpIHtcbiAgICAgIGkgLT0gMztcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcoMCwgaSkgKyB0aGlzLmdyb3VwaW5nU2VwYXJhdG9yICsgcmVzdWx0LnN1YnN0cmluZyhpLCByZXN1bHQubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAoZmluYWxGb3JtYXR0aW5nKSB7XG4gICAgICBpZiAoZGVjaW1hbFBsYWNlcyA+IDAgJiYgISFyZXN1bHQpIHtcbiAgICAgICAgLyogYXV0b2ZpbGwgZGVjaW1hbCBwbGFjZXMgKi9cbiAgICAgICAgbGV0IGFjdHVhbERlY2ltYWxJbmRleCA9IHJlc3VsdC5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGlmIChhdXRvZmlsbERlY2ltYWxzKSB7XG4gICAgICAgICAgaWYgKGFjdHVhbERlY2ltYWxJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIGFjdHVhbERlY2ltYWxJbmRleCA9IHJlc3VsdC5sZW5ndGg7XG4gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc3VsdCA9IHRoaXMuYWRkTWlzc2luZ0xlYWRpbmdaZXJvKHJlc3VsdCwgYWN0dWFsRGVjaW1hbEluZGV4KTtcbiAgICAgICAgICBhY3R1YWxEZWNpbWFsSW5kZXggPSByZXN1bHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuXG4gICAgICAgICAgY29uc3QgYWN0dWFsRGVjaW1hbFBsYWNlcyA9IHJlc3VsdC5sZW5ndGggLSBhY3R1YWxEZWNpbWFsSW5kZXggLSAxO1xuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGVjaW1hbFBsYWNlcyAtIGFjdHVhbERlY2ltYWxQbGFjZXM7IGorKykge1xuICAgICAgICAgICAgcmVzdWx0ICs9ICcwJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5hZGRNaXNzaW5nTGVhZGluZ1plcm8ocmVzdWx0LCBhY3R1YWxEZWNpbWFsSW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdHJpcCh2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogU3RyaXBPcHRpb25zKTogc3RyaW5nIHtcbiAgICBjb25zdCBkZWNpbWFsUGxhY2VzID0gdGhpcy52YWx1ZU9yRGVmYXVsdChvcHRpb25zPy5kZWNpbWFsUGxhY2VzLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfREVDSU1BTF9QTEFDRVMpO1xuICAgIGNvbnN0IHJlbW92ZUxlYWRpbmdaZXJvcyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8ucmVtb3ZlTGVhZGluZ1plcm9zLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfUkVNT1ZFX0xFQURJTkdfWkVST1MpO1xuXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGxldCBpbmRleERlY2ltYWxTZXAgPSAtMTtcbiAgICBsZXQgaiA9IC0xO1xuICAgIGxldCBpZ25vcmVkQ2hhcnMgPSAwO1xuICAgIGZvciAoY29uc3QgY2hhciBvZiB2YWx1ZSkge1xuICAgICAgaisrO1xuICAgICAgaWYgKHRoaXMuYWxsb3dlZEtleXMuaW5jbHVkZXMoY2hhcikpIHtcbiAgICAgICAgaWYgKGNoYXIgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgICAgIGlmIChkZWNpbWFsUGxhY2VzID09PSAwKSB7XG4gICAgICAgICAgICAvKiBkaXNtaXNzIGNvbnRlbnQgYWZ0ZXIgYSBkZWNpbWFsIHNlcGFyYXRvciwgd2hlbiBubyBwbGFjZXMgYWxsb3dlZCAqL1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIGlmIChpbmRleERlY2ltYWxTZXAgPiAtMSkge1xuICAgICAgICAgICAgLyogaWdub3JlIHN1YnNlcXVlbnQgZGVjaW1hbCBzZXBhcmF0b3JzICovXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5kZXhEZWNpbWFsU2VwID0gajtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhciA9PT0gJzAnICYmIHJlbW92ZUxlYWRpbmdaZXJvcykge1xuICAgICAgICAgIC8qIHJlbW92ZSBsZWFkaW5nIHplcm8gb25seSBpZiBpdCdzIG5vdCB0aGUgb25seSB6ZXJvIGluIHRoZSAndmFsdWUnIHN0cmluZyAqL1xuICAgICAgICAgIGlmICgocmVzdWx0Lmxlbmd0aCA9PT0gMCAmJiBqICsgMSAhPT0gdmFsdWUubGVuZ3RoKSB8fCByZXN1bHQgPT09IE51bWJlckZvcm1hdFNlcnZpY2UuTkVHQVRJVkUpIHtcbiAgICAgICAgICAgIGlnbm9yZWRDaGFycysrO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFyID09PSBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFICYmIGogPiAwKSB7XG4gICAgICAgICAgLyogZGlzbWlzcyBjb250ZW50IGFmdGVyIGEgbmVnYXRpdmUgc2lnbiBub3Qgb24gZmlyc3QgcG9zaXRpb24gKi9cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXhEZWNpbWFsU2VwID4gLTEgJiYgcmVzdWx0Lmxlbmd0aCArIGlnbm9yZWRDaGFycyA+IGluZGV4RGVjaW1hbFNlcCArIGRlY2ltYWxQbGFjZXMpIHtcbiAgICAgICAgICAvKiBkaXNtaXNzIGNvbnRlbnQgYWZ0ZXIgbWF4aW11bSBkZWNpbWFsIHBsYWNlcyByZWFjaGVkICovXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ICs9IGNoYXI7XG4gICAgICB9IGVsc2UgaWYgKGNoYXIgPT09IHRoaXMuZ3JvdXBpbmdTZXBhcmF0b3IpIHtcbiAgICAgICAgaWYgKGluZGV4RGVjaW1hbFNlcCA9PT0gLTEpIHtcbiAgICAgICAgICBpZ25vcmVkQ2hhcnMrKztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyogZGlzbWlzcyBjb250ZW50IGFmdGVyIGEgaW52YWxpZCBjaGFyYWN0ZXIgKi9cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGFkZE1pc3NpbmdMZWFkaW5nWmVybyhyZXN1bHQ6IHN0cmluZywgYWN0dWFsRGVjaW1hbEluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGlzTmVnYXRpdmUgPSByZXN1bHQuc3RhcnRzV2l0aChOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFKTtcbiAgICAvKiBhdXRvYWRkIGEgemVybyBiZWZvcmUgZGVjaW1hbCBzZXBhcmF0b3IsIHdoZW4gaXQncyBtaXNzaW5nICovXG4gICAgaWYgKGFjdHVhbERlY2ltYWxJbmRleCA9PT0gMCkge1xuICAgICAgcmVzdWx0ID0gJzAnICsgcmVzdWx0O1xuICAgIH1cbiAgICAvKiBhdXRvYWRkIGEgemVybyBiZWZvcmUgZGVjaW1hbCBzZXBhcmF0b3IsIHdoZW4gaXQncyBtaXNzaW5nLCBmb3IgbmVnYXRpdmUgdmFsdWVzICovXG4gICAgaWYgKGFjdHVhbERlY2ltYWxJbmRleCA9PT0gMSAmJiBpc05lZ2F0aXZlKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHRbMF0gKyAnMCcgKyByZXN1bHQuc3Vic3RyaW5nKDEsIHJlc3VsdC5sZW5ndGgpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWx1ZU9yRGVmYXVsdCh2YWx1ZTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIE51bWJlckZvcm1hdFNlcnZpY2UudmFsdWVJc1NldCh2YWx1ZSkgPyB2YWx1ZSA6IGRlZmF1bHRWYWx1ZTtcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbnVtZXJpYy1maWVsZC9udW1iZXItZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1COUQsTUFBTSxPQUFPLG1CQUFtQjthQUNkLGFBQVEsR0FBRyxHQUFHLEFBQU4sQ0FBTzthQUNmLFlBQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFyRCxDQUFzRDthQUM3RCw2QkFBd0IsR0FBRyxJQUFJLEFBQVAsQ0FBUTthQUNoQywyQkFBc0IsR0FBRyxDQUFDLEFBQUosQ0FBSzthQUMzQiw4QkFBeUIsR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUNsQyxpQ0FBNEIsR0FBRyxLQUFLLEFBQVIsQ0FBUztJQU9yRCxZQUErQixNQUFjO1FBRjdDLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBR3pCLG9DQUFvQztRQUNwQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsc0JBQXNCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUVw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Q0FBQztpQkFBTSxDQUFDO2dCQUNOLCtDQUErQztnQkFDL0MsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxrQkFBMEI7UUFDdEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxnRUFBZ0U7UUFDaEUsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBQ0QscUZBQXFGO1FBQ3JGLElBQUksa0JBQWtCLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDbEQsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3RFLENBQUM7OEdBeklVLG1CQUFtQixrQkFhVixTQUFTO2tIQWJsQixtQkFBbUIsY0FGbEIsS0FBSzs7MkZBRU4sbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBY2MsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBMT0NBTEVfSUQsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEZvcm1hdE9wdGlvbnMge1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xuXG4gIGZpbmFsRm9ybWF0dGluZz86IGJvb2xlYW47XG5cbiAgYXV0b2ZpbGxEZWNpbWFscz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHJpcE9wdGlvbnMge1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xuXG4gIHJlbW92ZUxlYWRpbmdaZXJvcz86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckZvcm1hdFNlcnZpY2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgTkVHQVRJVkUgPSAnLSc7XG4gIHN0YXRpYyByZWFkb25seSBOVU1CRVJTID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5J107XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0ZJTkFMX0ZPUk1BVFRJTkcgPSB0cnVlO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9ERUNJTUFMX1BMQUNFUyA9IDI7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0FVVE9GSUxMX0RFQ0lNQUxTID0gZmFsc2U7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JFTU9WRV9MRUFESU5HX1pFUk9TID0gZmFsc2U7XG5cbiAgZGVjaW1hbFNlcGFyYXRvcjogJywnIHwgJy4nO1xuICBncm91cGluZ1NlcGFyYXRvcjogJywnIHwgJy4nO1xuXG4gIGFsbG93ZWRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBsb2NhbGU6IHN0cmluZykge1xuICAgIC8vIHRyeSB0byBnZXQgdGhlIGN1cnJlbnQgZm9ybWF0dGluZ1xuICAgIGNvbnN0IGxvY2FsZURlY2ltYWxTZXBhcmF0b3IgPSAoMS4xKS50b0xvY2FsZVN0cmluZyhsb2NhbGUpLmNoYXJBdCgxKTtcbiAgICB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgPSBsb2NhbGVEZWNpbWFsU2VwYXJhdG9yID09PSAnLCcgPyAnLCcgOiAnLic7XG4gICAgdGhpcy5ncm91cGluZ1NlcGFyYXRvciA9IGxvY2FsZURlY2ltYWxTZXBhcmF0b3IgPT09ICcsJyA/ICcuJyA6ICcsJztcblxuICAgIHRoaXMuYWxsb3dlZEtleXMgPSBbLi4uTnVtYmVyRm9ybWF0U2VydmljZS5OVU1CRVJTLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFLCB0aGlzLmRlY2ltYWxTZXBhcmF0b3JdO1xuICB9XG5cbiAgc3RhdGljIHZhbHVlSXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsICYmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnIHx8IHZhbHVlLmxlbmd0aCAhPT0gMCk7XG4gIH1cblxuICBmb3JtYXQodmFsdWU6IG51bWJlciwgb3B0aW9ucz86IFBhcnRpYWw8Rm9ybWF0T3B0aW9ucz4pOiBzdHJpbmcge1xuICAgIHJldHVybiBOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodmFsdWUpXG4gICAgICA/IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZShuZXcgUmVnRXhwKCdbLl0nLCAnZycpLCB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLCBvcHRpb25zKVxuICAgICAgOiAnJztcbiAgfVxuXG4gIGZvcm1hdE51bWJlcih2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogUGFydGlhbDxGb3JtYXRPcHRpb25zPik6IHN0cmluZyB7XG4gICAgY29uc3QgYXV0b2ZpbGxEZWNpbWFscyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8uYXV0b2ZpbGxEZWNpbWFscywgTnVtYmVyRm9ybWF0U2VydmljZS5ERUZBVUxUX0FVVE9GSUxMX0RFQ0lNQUxTKTtcbiAgICBjb25zdCBkZWNpbWFsUGxhY2VzID0gdGhpcy52YWx1ZU9yRGVmYXVsdChvcHRpb25zPy5kZWNpbWFsUGxhY2VzLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfREVDSU1BTF9QTEFDRVMpO1xuICAgIGNvbnN0IGZpbmFsRm9ybWF0dGluZyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8uZmluYWxGb3JtYXR0aW5nLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfRklOQUxfRk9STUFUVElORyk7XG5cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5zdHJpcCh2YWx1ZSwgeyBkZWNpbWFsUGxhY2VzLCByZW1vdmVMZWFkaW5nWmVyb3M6IGZpbmFsRm9ybWF0dGluZyB9KTtcblxuICAgIC8qIGFkZCBncm91cGluZyBzZXBhcmF0b3IgKi9cbiAgICBjb25zdCBkZWNpbWFsSW5kZXggPSByZXN1bHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIGNvbnN0IGlzTmVnYXRpdmUgPSByZXN1bHQuc3RhcnRzV2l0aChOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFKTtcbiAgICBsZXQgaSA9IGRlY2ltYWxJbmRleCA+IC0xID8gZGVjaW1hbEluZGV4IDogcmVzdWx0Lmxlbmd0aDtcbiAgICB3aGlsZSAoaSA+IChpc05lZ2F0aXZlID8gNCA6IDMpKSB7XG4gICAgICBpIC09IDM7XG4gICAgICByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIGkpICsgdGhpcy5ncm91cGluZ1NlcGFyYXRvciArIHJlc3VsdC5zdWJzdHJpbmcoaSwgcmVzdWx0Lmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmFsRm9ybWF0dGluZykge1xuICAgICAgaWYgKGRlY2ltYWxQbGFjZXMgPiAwICYmICEhcmVzdWx0KSB7XG4gICAgICAgIC8qIGF1dG9maWxsIGRlY2ltYWwgcGxhY2VzICovXG4gICAgICAgIGxldCBhY3R1YWxEZWNpbWFsSW5kZXggPSByZXN1bHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgICBpZiAoYXV0b2ZpbGxEZWNpbWFscykge1xuICAgICAgICAgIGlmIChhY3R1YWxEZWNpbWFsSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICBhY3R1YWxEZWNpbWFsSW5kZXggPSByZXN1bHQubGVuZ3RoO1xuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuZGVjaW1hbFNlcGFyYXRvcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXN1bHQgPSB0aGlzLmFkZE1pc3NpbmdMZWFkaW5nWmVybyhyZXN1bHQsIGFjdHVhbERlY2ltYWxJbmRleCk7XG4gICAgICAgICAgYWN0dWFsRGVjaW1hbEluZGV4ID0gcmVzdWx0LmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKTtcblxuICAgICAgICAgIGNvbnN0IGFjdHVhbERlY2ltYWxQbGFjZXMgPSByZXN1bHQubGVuZ3RoIC0gYWN0dWFsRGVjaW1hbEluZGV4IC0gMTtcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRlY2ltYWxQbGFjZXMgLSBhY3R1YWxEZWNpbWFsUGxhY2VzOyBqKyspIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSAnMCc7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMuYWRkTWlzc2luZ0xlYWRpbmdaZXJvKHJlc3VsdCwgYWN0dWFsRGVjaW1hbEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RyaXAodmFsdWU6IHN0cmluZywgb3B0aW9ucz86IFN0cmlwT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGVjaW1hbFBsYWNlcyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8uZGVjaW1hbFBsYWNlcywgTnVtYmVyRm9ybWF0U2VydmljZS5ERUZBVUxUX0RFQ0lNQUxfUExBQ0VTKTtcbiAgICBjb25zdCByZW1vdmVMZWFkaW5nWmVyb3MgPSB0aGlzLnZhbHVlT3JEZWZhdWx0KG9wdGlvbnM/LnJlbW92ZUxlYWRpbmdaZXJvcywgTnVtYmVyRm9ybWF0U2VydmljZS5ERUZBVUxUX1JFTU9WRV9MRUFESU5HX1pFUk9TKTtcblxuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgaW5kZXhEZWNpbWFsU2VwID0gLTE7XG4gICAgbGV0IGogPSAtMTtcbiAgICBsZXQgaWdub3JlZENoYXJzID0gMDtcbiAgICBmb3IgKGNvbnN0IGNoYXIgb2YgdmFsdWUpIHtcbiAgICAgIGorKztcbiAgICAgIGlmICh0aGlzLmFsbG93ZWRLZXlzLmluY2x1ZGVzKGNoYXIpKSB7XG4gICAgICAgIGlmIChjaGFyID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgICAgICBpZiAoZGVjaW1hbFBsYWNlcyA9PT0gMCkge1xuICAgICAgICAgICAgLyogZGlzbWlzcyBjb250ZW50IGFmdGVyIGEgZGVjaW1hbCBzZXBhcmF0b3IsIHdoZW4gbm8gcGxhY2VzIGFsbG93ZWQgKi9cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXhEZWNpbWFsU2VwID4gLTEpIHtcbiAgICAgICAgICAgIC8qIGlnbm9yZSBzdWJzZXF1ZW50IGRlY2ltYWwgc2VwYXJhdG9ycyAqL1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGluZGV4RGVjaW1hbFNlcCA9IGo7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09ICcwJyAmJiByZW1vdmVMZWFkaW5nWmVyb3MpIHtcbiAgICAgICAgICAvKiByZW1vdmUgbGVhZGluZyB6ZXJvIG9ubHkgaWYgaXQncyBub3QgdGhlIG9ubHkgemVybyBpbiB0aGUgJ3ZhbHVlJyBzdHJpbmcgKi9cbiAgICAgICAgICBpZiAoKHJlc3VsdC5sZW5ndGggPT09IDAgJiYgaiArIDEgIT09IHZhbHVlLmxlbmd0aCkgfHwgcmVzdWx0ID09PSBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFKSB7XG4gICAgICAgICAgICBpZ25vcmVkQ2hhcnMrKztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhciA9PT0gTnVtYmVyRm9ybWF0U2VydmljZS5ORUdBVElWRSAmJiBqID4gMCkge1xuICAgICAgICAgIC8qIGRpc21pc3MgY29udGVudCBhZnRlciBhIG5lZ2F0aXZlIHNpZ24gbm90IG9uIGZpcnN0IHBvc2l0aW9uICovXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4RGVjaW1hbFNlcCA+IC0xICYmIHJlc3VsdC5sZW5ndGggKyBpZ25vcmVkQ2hhcnMgPiBpbmRleERlY2ltYWxTZXAgKyBkZWNpbWFsUGxhY2VzKSB7XG4gICAgICAgICAgLyogZGlzbWlzcyBjb250ZW50IGFmdGVyIG1heGltdW0gZGVjaW1hbCBwbGFjZXMgcmVhY2hlZCAqL1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCArPSBjaGFyO1xuICAgICAgfSBlbHNlIGlmIChjaGFyID09PSB0aGlzLmdyb3VwaW5nU2VwYXJhdG9yKSB7XG4gICAgICAgIGlmIChpbmRleERlY2ltYWxTZXAgPT09IC0xKSB7XG4gICAgICAgICAgaWdub3JlZENoYXJzKys7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8qIGRpc21pc3MgY29udGVudCBhZnRlciBhIGludmFsaWQgY2hhcmFjdGVyICovXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNaXNzaW5nTGVhZGluZ1plcm8ocmVzdWx0OiBzdHJpbmcsIGFjdHVhbERlY2ltYWxJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBpc05lZ2F0aXZlID0gcmVzdWx0LnN0YXJ0c1dpdGgoTnVtYmVyRm9ybWF0U2VydmljZS5ORUdBVElWRSk7XG4gICAgLyogYXV0b2FkZCBhIHplcm8gYmVmb3JlIGRlY2ltYWwgc2VwYXJhdG9yLCB3aGVuIGl0J3MgbWlzc2luZyAqL1xuICAgIGlmIChhY3R1YWxEZWNpbWFsSW5kZXggPT09IDApIHtcbiAgICAgIHJlc3VsdCA9ICcwJyArIHJlc3VsdDtcbiAgICB9XG4gICAgLyogYXV0b2FkZCBhIHplcm8gYmVmb3JlIGRlY2ltYWwgc2VwYXJhdG9yLCB3aGVuIGl0J3MgbWlzc2luZywgZm9yIG5lZ2F0aXZlIHZhbHVlcyAqL1xuICAgIGlmIChhY3R1YWxEZWNpbWFsSW5kZXggPT09IDEgJiYgaXNOZWdhdGl2ZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0WzBdICsgJzAnICsgcmVzdWx0LnN1YnN0cmluZygxLCByZXN1bHQubGVuZ3RoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsdWVPckRlZmF1bHQodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodmFsdWUpID8gdmFsdWUgOiBkZWZhdWx0VmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -240,8 +240,8 @@ export class NumericFieldDirective {
240
240
  const method = this.roundValue ? 'round' : value < 0 ? 'ceil' : 'floor';
241
241
  return Math[method](value * Math.pow(10, this.decimalPlaces)) / Math.pow(10, this.decimalPlaces);
242
242
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumericFieldDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NumberFormatService }], target: i0.ɵɵFactoryTarget.Directive }); }
244
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: NumericFieldDirective, selector: "[madNumericField]", inputs: { textAlign: "textAlign", decimalPlaces: "decimalPlaces", roundValue: ["roundDisplayValue", "roundValue"], autofillDecimals: "autofillDecimals", unit: "unit", unitPosition: "unitPosition", numericValue: "numericValue" }, outputs: { numericValueChanged: "numericValueChange" }, host: { listeners: { "change": "onChange(getValueForFormControl())", "input": "onChange(getValueForFormControl())", "blur": "onTouched()" }, properties: { "class.text-right": "textAlign === \"right\"" } }, providers: [
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumericFieldDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NumberFormatService }], target: i0.ɵɵFactoryTarget.Directive }); }
244
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: NumericFieldDirective, isStandalone: true, selector: "[madNumericField]", inputs: { textAlign: "textAlign", decimalPlaces: "decimalPlaces", roundValue: ["roundDisplayValue", "roundValue"], autofillDecimals: "autofillDecimals", unit: "unit", unitPosition: "unitPosition", numericValue: "numericValue" }, outputs: { numericValueChanged: "numericValueChange" }, host: { listeners: { "change": "onChange(getValueForFormControl())", "input": "onChange(getValueForFormControl())", "blur": "onTouched()" }, properties: { "class.text-right": "textAlign === \"right\"" } }, providers: [
245
245
  {
246
246
  provide: NG_VALUE_ACCESSOR,
247
247
  useExisting: forwardRef(() => NumericFieldDirective),
@@ -249,7 +249,7 @@ export class NumericFieldDirective {
249
249
  },
250
250
  ], ngImport: i0 }); }
251
251
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumericFieldDirective, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumericFieldDirective, decorators: [{
253
253
  type: Directive,
254
254
  args: [{
255
255
  selector: '[madNumericField]',
@@ -266,6 +266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
266
266
  multi: true,
267
267
  },
268
268
  ],
269
+ standalone: true,
269
270
  }]
270
271
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.NumberFormatService }], propDecorators: { textAlign: [{
271
272
  type: Input,
@@ -292,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
292
293
  type: Input,
293
294
  args: ['numericValue']
294
295
  }] } });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUU5RCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDdkIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixNQUFNLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztBQUN6QyxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBa0JsRCxNQUFNLE9BQU8scUJBQXFCO0lBZ0JoQyxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzVCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDcEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsMEdBQTBHO1lBQzFHLDZDQUE2QztZQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFL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UyxtQkFBbUI7c0JBQWhELE1BQU07dUJBQUMsb0JBQW9CO2dCQVV4QixZQUFZO3NCQURmLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bWJlckZvcm1hdFNlcnZpY2UgfSBmcm9tICcuL251bWJlci1mb3JtYXQuc2VydmljZSc7XG5cbmNvbnN0IEJBQ0tfS0VZQ09ERSA9IDg7XG5jb25zdCBTUEFDRV9LRVlDT0RFID0gMzI7XG5jb25zdCBERUxfS0VZQ09ERSA9IDQ2O1xuY29uc3QgQ09OVFJPTF9LRVlDT0RFU19VUFBFUl9CT1JERVIgPSA0NjtcbmNvbnN0IE9USEVSX0NPTlRST0xfS0VZUyA9IG5ldyBTZXQoWzIyNCwgOTEsIDkzXSk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYWROdW1lcmljRmllbGRdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MudGV4dC1yaWdodF0nOiAndGV4dEFsaWduID09PSBcInJpZ2h0XCInLFxuICAgICcoY2hhbmdlKSc6ICdvbkNoYW5nZShnZXRWYWx1ZUZvckZvcm1Db250cm9sKCkpJyxcbiAgICAnKGlucHV0KSc6ICdvbkNoYW5nZShnZXRWYWx1ZUZvckZvcm1Db250cm9sKCkpJyxcbiAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOdW1lcmljRmllbGREaXJlY3RpdmUpLCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1lcmljRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoJ3RleHRBbGlnbicpIHRleHRBbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBJbnB1dCgnZGVjaW1hbFBsYWNlcycpIGRlY2ltYWxQbGFjZXMgPSAyO1xuICBASW5wdXQoJ3JvdW5kRGlzcGxheVZhbHVlJykgcm91bmRWYWx1ZSA9IGZhbHNlO1xuICBASW5wdXQoJ2F1dG9maWxsRGVjaW1hbHMnKSBhdXRvZmlsbERlY2ltYWxzID0gZmFsc2U7XG4gIEBJbnB1dCgndW5pdCcpIHVuaXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoJ3VuaXRQb3NpdGlvbicpIHVuaXRQb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBPdXRwdXQoJ251bWVyaWNWYWx1ZUNoYW5nZScpIG51bWVyaWNWYWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIGRpc3BsYXlWYWx1ZSA9ICcnO1xuICBwcml2YXRlIG9yaWdpbmFsVmFsdWUgPSBOYU47XG4gIHByaXZhdGUgX251bWVyaWNWYWx1ZTogbnVtYmVyO1xuICBwcml2YXRlIGlucHV0Q2hhbmdlTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUga2V5dXBMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBrZXlkb3duTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgQElucHV0KCdudW1lcmljVmFsdWUnKVxuICBzZXQgbnVtZXJpY1ZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fbnVtZXJpY1ZhbHVlICE9PSB2YWx1ZSAmJiAhKGlzTmFOKHRoaXMuX251bWVyaWNWYWx1ZSkgJiYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkpKSB7XG4gICAgICB0aGlzLm9yaWdpbmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIC8vIERvbid0IHJvdW5kT3JUcnVuY2F0ZSBpZiB2YWx1ZSB3YXMgc2V0IHRvIGVtcHR5IG90aGVyd2lzZSBpbnB1dCB2YWx1ZSB3aWxsIGJlIHNldCB0byAwIGluc3RlYWQgb2YgZW1wdHlcbiAgICAgIC8vIHdoaWNoIGhhcHBlbnMgd2hlbiBhbiBpbnB1dCBpcyBiZWluZyByZXNldFxuICAgICAgdGhpcy5fbnVtZXJpY1ZhbHVlID0gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/IHZhbHVlIDogdGhpcy5yb3VuZE9yVHJ1bmNhdGUodmFsdWUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5pdFNwYW46IEhUTUxTcGFuRWxlbWVudDtcbiAgcHJpdmF0ZSB0ZXh0U3BhbjogSFRNTFNwYW5FbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGlucHV0RWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBudW1iZXJGb3JtYXRTZXJ2aWNlOiBOdW1iZXJGb3JtYXRTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyogQ29udHJvbCBWYWx1ZXMgQWNjZXNzb3IgU3R1ZmYgYmVsb3cgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgIC8vIERvbnQgbmVlZCB0byBpbXBsZW1lbnQgc2luY2UgaXRzIGp1c3QgYSBkaXJlY3RpdmVcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubnVtZXJpY1ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBuZWVkcyB0byBiZSBwYXJzZWQgYXMgbnVtYmVyIGV4cGxpY2l0bHkgYXMgaXQgY29tZXMgYXMgc3RyaW5nIGZyb20gdXNlciBpbnB1dCAqL1xuICAgIHRoaXMuZGVjaW1hbFBsYWNlcyA9IHBhcnNlSW50KHRoaXMuZGVjaW1hbFBsYWNlcy50b1N0cmluZygpLCAxMCk7XG5cbiAgICB0aGlzLmlucHV0Q2hhbmdlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudCwgJ2JsdXInLCAoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuZm9ybWF0SW5wdXQoZXZlbnQudGFyZ2V0LCB0cnVlKTtcbiAgICB9KTtcblxuICAgIHRoaXMua2V5dXBMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LCAna2V5dXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBCQUNLX0tFWUNPREUgfHwgKGV2ZW50LmtleUNvZGUgPj0gQ09OVFJPTF9LRVlDT0RFU19VUFBFUl9CT1JERVIgJiYgIU9USEVSX0NPTlRST0xfS0VZUy5oYXMoZXZlbnQua2V5Q29kZSkpKSB7XG4gICAgICAgIHRoaXMuZm9ybWF0SW5wdXQoZXZlbnQudGFyZ2V0LCBmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmtleWRvd25MaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmFsbG93ZWRLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkgfHxcbiAgICAgICAgKGV2ZW50LmtleUNvZGUgPD0gQ09OVFJPTF9LRVlDT0RFU19VUFBFUl9CT1JERVIgJiYgZXZlbnQua2V5Q29kZSA+IDAgJiYgZXZlbnQua2V5Q29kZSAhPT0gU1BBQ0VfS0VZQ09ERSkgfHxcbiAgICAgICAgZXZlbnQubWV0YUtleSB8fFxuICAgICAgICBldmVudC5jdHJsS2V5IHx8XG4gICAgICAgIGV2ZW50LmFsdEtleVxuICAgICAgKSB7XG4gICAgICAgIC8qIGFsbG93IG5lZ2F0aXZlIHNpZ24gb25seSBhcyBmaXJzdCBjaGFyYWN0ZXIgYW5kIG5vbmUgZXhpc3RzIG91dHNpZGUgb2YgdGV4dCBzZWxlY3Rpb24gKi9cbiAgICAgICAgY29uc3QgaW5kZXhOZWdhdGl2ZVNpZ24gPSB2YWx1ZS5pbmRleE9mKE51bWJlckZvcm1hdFNlcnZpY2UuTkVHQVRJVkUpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQua2V5ID09PSBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFICYmXG4gICAgICAgICAgKGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCA+IDAgfHwgaW5kZXhOZWdhdGl2ZVNpZ24gPiAtMSkgJiZcbiAgICAgICAgICAoZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0ID09PSBldmVudC50YXJnZXQuc2VsZWN0aW9uRW5kIHx8XG4gICAgICAgICAgICAhKGluZGV4TmVnYXRpdmVTaWduID49IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCAmJiBpbmRleE5lZ2F0aXZlU2lnbiA8PSBldmVudC50YXJnZXQuc2VsZWN0aW9uRW5kKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogbm8gZHVwbGljYXRlIGRlY2ltYWwgc2VwYXJhdG9ycyAqL1xuICAgICAgICBjb25zdCBpbmRleERlY2ltYWxTZXAgPSB2YWx1ZS5pbmRleE9mKHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmRlY2ltYWxTZXBhcmF0b3IgJiZcbiAgICAgICAgICAoaW5kZXhEZWNpbWFsU2VwID4gLTEgfHwgdGhpcy5kZWNpbWFsUGxhY2VzID09PSAwKSAmJlxuICAgICAgICAgIChldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgPT09IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25FbmQgfHxcbiAgICAgICAgICAgICEoaW5kZXhEZWNpbWFsU2VwID49IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCAmJiBpbmRleERlY2ltYWxTZXAgPD0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCkpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHByZXZlbnQgdG9vIG1hbnkgZGVjaW1hbCBwbGFjZXMgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgIE51bWJlckZvcm1hdFNlcnZpY2UuTlVNQkVSUy5pbmNsdWRlcyhldmVudC5rZXkpICYmXG4gICAgICAgICAgaW5kZXhEZWNpbWFsU2VwID4gLTEgJiZcbiAgICAgICAgICBpbmRleERlY2ltYWxTZXAgPCBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgJiZcbiAgICAgICAgICBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgPT09IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25FbmQgJiZcbiAgICAgICAgICB2YWx1ZS5sZW5ndGggPiBpbmRleERlY2ltYWxTZXAgKyB0aGlzLmRlY2ltYWxQbGFjZXNcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogd2hlbiBkZWxldGluZyB0aG91c2FuZCBzZXBhcmF0b3IsIHJlbW92ZSB0aGUgZGlnaXQgYmVmb3JlIG9yIGFmdGVyIGl0ICovXG4gICAgICAgIGNvbnN0IGN1cnNvclN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0O1xuXG4gICAgICAgIGlmIChjdXJzb3JTdGFydCA9PT0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCkge1xuICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBCQUNLX0tFWUNPREUgJiYgdmFsdWUuc3Vic3RyKGN1cnNvclN0YXJ0IC0gMSwgMSkgPT09IHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5ncm91cGluZ1NlcGFyYXRvcikge1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDAsIGN1cnNvclN0YXJ0IC0gMikgKyB2YWx1ZS5zdWJzdHJpbmcoY3Vyc29yU3RhcnQgLSAxLCB2YWx1ZS5sZW5ndGgpO1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCA9IGN1cnNvclN0YXJ0IC0gMTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IERFTF9LRVlDT0RFICYmIHZhbHVlLnN1YnN0cihjdXJzb3JTdGFydCwgMSkgPT09IHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5ncm91cGluZ1NlcGFyYXRvcikge1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDAsIGN1cnNvclN0YXJ0ICsgMSkgKyB2YWx1ZS5zdWJzdHJpbmcoY3Vyc29yU3RhcnQgKyAyLCB2YWx1ZS5sZW5ndGgpO1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCA9IGN1cnNvclN0YXJ0ICsgMTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gTmFOO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFjaExpc3RlbmVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbmplY3RVbml0U3ltYm9sKCk7XG4gIH1cblxuICBoYW5kbGVJbnB1dENoYW5nZWQoKTogdm9pZCB7XG4gICAgLy8gQ2FsbCBpbiBzZXQgdGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IGhhcyBiZWVuIGNoZWNrZWQgZXJyb3IuXG4gICAgLy8gU29tZXRpbWVzIHRoZSB2YWx1ZSBjaGFuZ2VzIGJlY2F1c2Ugd2UgY3V0IG9mZiBkZWNpbWFsIHBsYWNlc1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVJbnB1dChcbiAgICAgICAgdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9udW1lcmljVmFsdWUsIHtcbiAgICAgICAgICBkZWNpbWFsUGxhY2VzOiB0aGlzLmRlY2ltYWxQbGFjZXMsXG4gICAgICAgICAgZmluYWxGb3JtYXR0aW5nOiB0cnVlLFxuICAgICAgICAgIGF1dG9maWxsRGVjaW1hbHM6IHRoaXMuYXV0b2ZpbGxEZWNpbWFscyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0sIDEpO1xuICB9XG5cbiAgZm9ybWF0SW5wdXQoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCwgZmluYWxGb3JtYXR0aW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgY3Vyc29yUG9zID0gZWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBsZW5ndGggPSBlbGVtZW50LnZhbHVlLmxlbmd0aDtcbiAgICBjb25zdCBzZXRDdXJzb3IgPSB0aGlzLmRpc3BsYXlWYWx1ZSAhPT0gZWxlbWVudC52YWx1ZTtcbiAgICBjb25zdCB0ZXh0Rm9ybWF0dGVkID0gdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmZvcm1hdE51bWJlcihlbGVtZW50LnZhbHVlLCB7XG4gICAgICBkZWNpbWFsUGxhY2VzOiB0aGlzLmRlY2ltYWxQbGFjZXMsXG4gICAgICBmaW5hbEZvcm1hdHRpbmcsXG4gICAgICBhdXRvZmlsbERlY2ltYWxzOiB0aGlzLmF1dG9maWxsRGVjaW1hbHMsXG4gICAgfSk7XG5cbiAgICAvLyBzcGVjaWFsIGhhbmRsaW5nIHRvIG1vdmUgdW5pdCBzeW1ib2wgYWxvbmcgd2l0aCBkaXNwbGF5IHZhbHVlXG4gICAgaWYgKHRoaXMudGV4dEFsaWduID09PSAnbGVmdCcgJiYgdGhpcy51bml0UG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIGNvbnN0IGlucHV0U3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgbnVsbCk7XG4gICAgICB0aGlzLnVuaXRTcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUubWFyZ2luVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXRvcC13aWR0aCcpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5wYWRkaW5nVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUucGFkZGluZ0JvdHRvbSA9IGlucHV0U3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG5cbiAgICAgIGlmICghdGhpcy50ZXh0U3Bhbikge1xuICAgICAgICB0aGlzLnRleHRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudGV4dFNwYW4pO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLmZvbnQgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250Jyk7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUuZm9udFNpemUgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUud2lkdGggPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnRvcCA9ICcwJztcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS53aGl0ZVNwYWNlID0gJ25vLXdyYXAnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIH1cbiAgICAgIHRoaXMudGV4dFNwYW4uaW5uZXJIVE1MID0gdGV4dEZvcm1hdHRlZDtcbiAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5taW4odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSB0aGlzLnVuaXRTcGFuLmNsaWVudFdpZHRoLCBNYXRoLmNlaWwodGhpcy50ZXh0U3Bhbi5jbGllbnRXaWR0aCkpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5sZWZ0ID0gd2lkdGggKyAncHgnO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlSW5wdXQodGV4dEZvcm1hdHRlZCk7XG4gICAgaWYgKHNldEN1cnNvcikge1xuICAgICAgZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IGVsZW1lbnQuc2VsZWN0aW9uRW5kID0gTWF0aC5tYXgoY3Vyc29yUG9zICsgZWxlbWVudC52YWx1ZS5sZW5ndGggLSBsZW5ndGgsIDApO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUlucHV0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fbnVtZXJpY1ZhbHVlID0gcGFyc2VGbG9hdChcbiAgICAgIHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5zdHJpcCh2YWx1ZSwgeyBkZWNpbWFsUGxhY2VzOiB0aGlzLmRlY2ltYWxQbGFjZXMgfSkucmVwbGFjZSh0aGlzLm51bWJlckZvcm1hdFNlcnZpY2UuZGVjaW1hbFNlcGFyYXRvciwgJy4nKSxcbiAgICApO1xuICAgIGlmICh0aGlzLl9udW1lcmljVmFsdWUgIT09IHRoaXMucm91bmRPclRydW5jYXRlKHRoaXMub3JpZ2luYWxWYWx1ZSkpIHtcbiAgICAgIHRoaXMub3JpZ2luYWxWYWx1ZSA9IHRoaXMuX251bWVyaWNWYWx1ZTtcbiAgICAgIHRoaXMubnVtZXJpY1ZhbHVlQ2hhbmdlZC5lbWl0KHRoaXMuX251bWVyaWNWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWVGb3JGb3JtQ29udHJvbCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHRoaXMuZm9ybWF0SW5wdXQodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQsIGZhbHNlKTtcbiAgICBpZiAoaXNOYU4odGhpcy5fbnVtZXJpY1ZhbHVlKSkge1xuICAgICAgLy8gUmV0dXJuIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIE5hTiB0byBzdXBwb3J0IHRoZSBkZWZhdWx0IHJlcXVpcmVkIHZhbGlkYXRvci5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX251bWVyaWNWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0VW5pdFN5bWJvbCgpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIGluamVjdCB0aGUgdW5pdCBzeW1ib2wgd2hlbiB0aGUgaW5wdXQgZWxlbWVudCB3aWR0aCBpcyBzZXQgdG8gaXRzIGFjdHVhbCB2YWx1ZSxcbiAgICAvLyBvdGhlcndpc2UgdGhlIGljb24gd29udCBzaG93IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uXG4gICAgaWYgKCEhdGhpcy51bml0ICYmICF0aGlzLnVuaXRTcGFuICYmIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICE9PSAwKSB7XG4gICAgICAvLyBHZXQgdGhlIGlucHV0IHdyYXBwZXIgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIGNvbnN0IGlucHV0V3JhcHBlciA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgLy8gQ3JlYXRlIHRoZSBzcGFuIHdpdGggdW5pdCBzeW1ib2wgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIHRoaXMudW5pdFNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgaWYgKHRoaXMudW5pdFBvc2l0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFByZWZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1yaWdodCcsICc1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoaW5wdXRXcmFwcGVyLCB0aGlzLnVuaXRTcGFuLCBpbnB1dFdyYXBwZXIuY2hpbGRyZW5bMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFN1ZmZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1sZWZ0JywgJzVweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGlucHV0V3JhcHBlciwgdGhpcy51bml0U3Bhbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGRpc3BsYXkgdW5pdCBzeW1ib2wgaWYgdGhlIHVuaXQgc2hvdWxkIG1vdmUgYWxvbmcgZGlzcGxheSB2YWx1ZVxuICAgIGlmICghIXRoaXMudW5pdFNwYW4gJiYgdGhpcy50ZXh0QWxpZ24gPT09ICdsZWZ0JyAmJiB0aGlzLnVuaXRQb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgaWYgKE51bWJlckZvcm1hdFNlcnZpY2UudmFsdWVJc1NldCh0aGlzLmRpc3BsYXlWYWx1ZSkpIHtcbiAgICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gYWx3YXlzIHJlc2V0IHVuaXQgc3ltYm9sXG4gICAgaWYgKCEhdGhpcy51bml0U3Bhbikge1xuICAgICAgdGhpcy51bml0U3Bhbi50ZXh0Q29udGVudCA9IHRoaXMudW5pdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRldGFjaExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0Q2hhbmdlTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VMaXN0ZW5lcigpO1xuICAgICAgZGVsZXRlIHRoaXMuaW5wdXRDaGFuZ2VMaXN0ZW5lcjtcbiAgICB9XG4gICAgaWYgKHRoaXMua2V5ZG93bkxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmtleWRvd25MaXN0ZW5lcigpO1xuICAgICAgZGVsZXRlIHRoaXMua2V5ZG93bkxpc3RlbmVyO1xuICAgIH1cbiAgICBpZiAodGhpcy5rZXl1cExpc3RlbmVyKSB7XG4gICAgICB0aGlzLmtleXVwTGlzdGVuZXIoKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmtleXVwTGlzdGVuZXI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3VuZE9yVHJ1bmNhdGUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgbWV0aG9kID0gdGhpcy5yb3VuZFZhbHVlID8gJ3JvdW5kJyA6IHZhbHVlIDwgMCA/ICdjZWlsJyA6ICdmbG9vcic7XG4gICAgcmV0dXJuIE1hdGhbbWV0aG9kXSh2YWx1ZSAqIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxQbGFjZXMpKSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxQbGFjZXMpO1xuICB9XG59XG4iXX0=
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUU5RCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDdkIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixNQUFNLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztBQUN6QyxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBbUJsRCxNQUFNLE9BQU8scUJBQXFCO0lBZ0JoQyxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzVCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQiwwR0FBMEc7WUFDMUcsNkNBQTZDO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxzQkFBc0I7WUFDeEgsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFLRCxZQUNVLFFBQW1CLEVBQ25CLE9BQW1CLEVBQ25CLG1CQUF3QztRQUZ4QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWhDOUIsY0FBUyxHQUFxQixPQUFPLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNyQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFxQixPQUFPLENBQUM7UUFDbEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2RSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQTBCNUIseUNBQXlDO1FBQ3pDLDJCQUEyQjtRQUMzQixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLDJCQUEyQjtRQUMzQixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBTnZCLENBQUM7SUFRSixnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxvREFBb0Q7SUFDdEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzVGLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkYsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFlBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksNkJBQTZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0YsTUFBTSxLQUFLLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDekMsSUFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUN4RCxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksNkJBQTZCLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUM7Z0JBQ3hHLEtBQUssQ0FBQyxPQUFPO2dCQUNiLEtBQUssQ0FBQyxPQUFPO2dCQUNiLEtBQUssQ0FBQyxNQUFNLEVBQ1osQ0FBQztnQkFDRCwyRkFBMkY7Z0JBQzNGLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEUsSUFDRSxLQUFLLENBQUMsR0FBRyxLQUFLLG1CQUFtQixDQUFDLFFBQVE7b0JBQzFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUMzRCxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWTt3QkFDeEQsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFDeEcsQ0FBQztvQkFDRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUVELHFDQUFxQztnQkFDckMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDakYsSUFDRSxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0I7b0JBQ3ZELENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDO29CQUNsRCxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWTt3QkFDeEQsQ0FBQyxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxlQUFlLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUNwRyxDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7Z0JBRUQscUNBQXFDO2dCQUNyQyxJQUNFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztvQkFDL0MsZUFBZSxHQUFHLENBQUMsQ0FBQztvQkFDcEIsZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYztvQkFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZO29CQUN6RCxLQUFLLENBQUMsTUFBTSxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUNuRCxDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7Z0JBRUQsMkVBQTJFO2dCQUMzRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztnQkFFaEQsSUFBSSxXQUFXLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDOUMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFlBQVksSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3RILEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxXQUFXLEdBQUcsQ0FBQyxDQUFDO3dCQUMxRSxPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO3lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3hILEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxXQUFXLEdBQUcsQ0FBQyxDQUFDO3dCQUMxRSxPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7WUFDM0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsdUZBQXVGO1FBQ3ZGLGdFQUFnRTtRQUNoRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xELGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDakMsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDeEMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXlCLEVBQUUsZUFBd0I7UUFDN0QsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3pFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxlQUFlO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDLENBQUM7UUFFSCxnRUFBZ0U7UUFDaEUsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQy9ELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFbkYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDNUMsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNqSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQ3JJLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM5Qiw2RUFBNkU7WUFDN0UsT0FBTyxTQUFTLENBQUMsQ0FBQyxzQkFBc0I7UUFDMUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLDBGQUEwRjtRQUMxRix1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xGLG1EQUFtRDtZQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBRXRFLDhEQUE4RDtZQUM5RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXBELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQztRQUVELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbEYsSUFBSSxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDeEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7UUFDRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkcsQ0FBQzs4R0FqUlUscUJBQXFCO2tHQUFyQixxQkFBcUIsMmlCQVRyQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBR1UscUJBQXFCO2tCQWpCakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0osb0JBQW9CLEVBQUUsdUJBQXVCO3dCQUM3QyxVQUFVLEVBQUUsb0NBQW9DO3dCQUNoRCxTQUFTLEVBQUUsb0NBQW9DO3dCQUMvQyxRQUFRLEVBQUUsYUFBYTtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7eUlBRXFCLFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFDTSxhQUFhO3NCQUFwQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ00sVUFBVTtzQkFBckMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0MsZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDVixJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ1UsWUFBWTtzQkFBbEMsS0FBSzt1QkFBQyxjQUFjO2dCQUNTLG1CQUFtQjtzQkFBaEQsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBVXhCLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnVtYmVyRm9ybWF0U2VydmljZSB9IGZyb20gJy4vbnVtYmVyLWZvcm1hdC5zZXJ2aWNlJztcblxuY29uc3QgQkFDS19LRVlDT0RFID0gODtcbmNvbnN0IFNQQUNFX0tFWUNPREUgPSAzMjtcbmNvbnN0IERFTF9LRVlDT0RFID0gNDY7XG5jb25zdCBDT05UUk9MX0tFWUNPREVTX1VQUEVSX0JPUkRFUiA9IDQ2O1xuY29uc3QgT1RIRVJfQ09OVFJPTF9LRVlTID0gbmV3IFNldChbMjI0LCA5MSwgOTNdKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hZE51bWVyaWNGaWVsZF0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy50ZXh0LXJpZ2h0XSc6ICd0ZXh0QWxpZ24gPT09IFwicmlnaHRcIicsXG4gICAgJyhjaGFuZ2UpJzogJ29uQ2hhbmdlKGdldFZhbHVlRm9yRm9ybUNvbnRyb2woKSknLFxuICAgICcoaW5wdXQpJzogJ29uQ2hhbmdlKGdldFZhbHVlRm9yRm9ybUNvbnRyb2woKSknLFxuICAgICcoYmx1ciknOiAnb25Ub3VjaGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51bWVyaWNGaWVsZERpcmVjdGl2ZSksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1lcmljRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoJ3RleHRBbGlnbicpIHRleHRBbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBJbnB1dCgnZGVjaW1hbFBsYWNlcycpIGRlY2ltYWxQbGFjZXMgPSAyO1xuICBASW5wdXQoJ3JvdW5kRGlzcGxheVZhbHVlJykgcm91bmRWYWx1ZSA9IGZhbHNlO1xuICBASW5wdXQoJ2F1dG9maWxsRGVjaW1hbHMnKSBhdXRvZmlsbERlY2ltYWxzID0gZmFsc2U7XG4gIEBJbnB1dCgndW5pdCcpIHVuaXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoJ3VuaXRQb3NpdGlvbicpIHVuaXRQb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBPdXRwdXQoJ251bWVyaWNWYWx1ZUNoYW5nZScpIG51bWVyaWNWYWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIGRpc3BsYXlWYWx1ZSA9ICcnO1xuICBwcml2YXRlIG9yaWdpbmFsVmFsdWUgPSBOYU47XG4gIHByaXZhdGUgX251bWVyaWNWYWx1ZTogbnVtYmVyO1xuICBwcml2YXRlIGlucHV0Q2hhbmdlTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUga2V5dXBMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBrZXlkb3duTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgQElucHV0KCdudW1lcmljVmFsdWUnKVxuICBzZXQgbnVtZXJpY1ZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fbnVtZXJpY1ZhbHVlICE9PSB2YWx1ZSAmJiAhKGlzTmFOKHRoaXMuX251bWVyaWNWYWx1ZSkgJiYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkpKSB7XG4gICAgICB0aGlzLm9yaWdpbmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIC8vIERvbid0IHJvdW5kT3JUcnVuY2F0ZSBpZiB2YWx1ZSB3YXMgc2V0IHRvIGVtcHR5IG90aGVyd2lzZSBpbnB1dCB2YWx1ZSB3aWxsIGJlIHNldCB0byAwIGluc3RlYWQgb2YgZW1wdHlcbiAgICAgIC8vIHdoaWNoIGhhcHBlbnMgd2hlbiBhbiBpbnB1dCBpcyBiZWluZyByZXNldFxuICAgICAgdGhpcy5fbnVtZXJpY1ZhbHVlID0gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/IHZhbHVlIDogdGhpcy5yb3VuZE9yVHJ1bmNhdGUodmFsdWUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5pdFNwYW46IEhUTUxTcGFuRWxlbWVudDtcbiAgcHJpdmF0ZSB0ZXh0U3BhbjogSFRNTFNwYW5FbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGlucHV0RWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBudW1iZXJGb3JtYXRTZXJ2aWNlOiBOdW1iZXJGb3JtYXRTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyogQ29udHJvbCBWYWx1ZXMgQWNjZXNzb3IgU3R1ZmYgYmVsb3cgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgIC8vIERvbnQgbmVlZCB0byBpbXBsZW1lbnQgc2luY2UgaXRzIGp1c3QgYSBkaXJlY3RpdmVcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubnVtZXJpY1ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBuZWVkcyB0byBiZSBwYXJzZWQgYXMgbnVtYmVyIGV4cGxpY2l0bHkgYXMgaXQgY29tZXMgYXMgc3RyaW5nIGZyb20gdXNlciBpbnB1dCAqL1xuICAgIHRoaXMuZGVjaW1hbFBsYWNlcyA9IHBhcnNlSW50KHRoaXMuZGVjaW1hbFBsYWNlcy50b1N0cmluZygpLCAxMCk7XG5cbiAgICB0aGlzLmlucHV0Q2hhbmdlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudCwgJ2JsdXInLCAoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuZm9ybWF0SW5wdXQoZXZlbnQudGFyZ2V0LCB0cnVlKTtcbiAgICB9KTtcblxuICAgIHRoaXMua2V5dXBMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LCAna2V5dXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBCQUNLX0tFWUNPREUgfHwgKGV2ZW50LmtleUNvZGUgPj0gQ09OVFJPTF9LRVlDT0RFU19VUFBFUl9CT1JERVIgJiYgIU9USEVSX0NPTlRST0xfS0VZUy5oYXMoZXZlbnQua2V5Q29kZSkpKSB7XG4gICAgICAgIHRoaXMuZm9ybWF0SW5wdXQoZXZlbnQudGFyZ2V0LCBmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmtleWRvd25MaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmFsbG93ZWRLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkgfHxcbiAgICAgICAgKGV2ZW50LmtleUNvZGUgPD0gQ09OVFJPTF9LRVlDT0RFU19VUFBFUl9CT1JERVIgJiYgZXZlbnQua2V5Q29kZSA+IDAgJiYgZXZlbnQua2V5Q29kZSAhPT0gU1BBQ0VfS0VZQ09ERSkgfHxcbiAgICAgICAgZXZlbnQubWV0YUtleSB8fFxuICAgICAgICBldmVudC5jdHJsS2V5IHx8XG4gICAgICAgIGV2ZW50LmFsdEtleVxuICAgICAgKSB7XG4gICAgICAgIC8qIGFsbG93IG5lZ2F0aXZlIHNpZ24gb25seSBhcyBmaXJzdCBjaGFyYWN0ZXIgYW5kIG5vbmUgZXhpc3RzIG91dHNpZGUgb2YgdGV4dCBzZWxlY3Rpb24gKi9cbiAgICAgICAgY29uc3QgaW5kZXhOZWdhdGl2ZVNpZ24gPSB2YWx1ZS5pbmRleE9mKE51bWJlckZvcm1hdFNlcnZpY2UuTkVHQVRJVkUpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQua2V5ID09PSBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFICYmXG4gICAgICAgICAgKGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCA+IDAgfHwgaW5kZXhOZWdhdGl2ZVNpZ24gPiAtMSkgJiZcbiAgICAgICAgICAoZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0ID09PSBldmVudC50YXJnZXQuc2VsZWN0aW9uRW5kIHx8XG4gICAgICAgICAgICAhKGluZGV4TmVnYXRpdmVTaWduID49IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCAmJiBpbmRleE5lZ2F0aXZlU2lnbiA8PSBldmVudC50YXJnZXQuc2VsZWN0aW9uRW5kKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogbm8gZHVwbGljYXRlIGRlY2ltYWwgc2VwYXJhdG9ycyAqL1xuICAgICAgICBjb25zdCBpbmRleERlY2ltYWxTZXAgPSB2YWx1ZS5pbmRleE9mKHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmRlY2ltYWxTZXBhcmF0b3IgJiZcbiAgICAgICAgICAoaW5kZXhEZWNpbWFsU2VwID4gLTEgfHwgdGhpcy5kZWNpbWFsUGxhY2VzID09PSAwKSAmJlxuICAgICAgICAgIChldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgPT09IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25FbmQgfHxcbiAgICAgICAgICAgICEoaW5kZXhEZWNpbWFsU2VwID49IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCAmJiBpbmRleERlY2ltYWxTZXAgPD0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCkpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHByZXZlbnQgdG9vIG1hbnkgZGVjaW1hbCBwbGFjZXMgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgIE51bWJlckZvcm1hdFNlcnZpY2UuTlVNQkVSUy5pbmNsdWRlcyhldmVudC5rZXkpICYmXG4gICAgICAgICAgaW5kZXhEZWNpbWFsU2VwID4gLTEgJiZcbiAgICAgICAgICBpbmRleERlY2ltYWxTZXAgPCBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgJiZcbiAgICAgICAgICBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgPT09IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25FbmQgJiZcbiAgICAgICAgICB2YWx1ZS5sZW5ndGggPiBpbmRleERlY2ltYWxTZXAgKyB0aGlzLmRlY2ltYWxQbGFjZXNcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogd2hlbiBkZWxldGluZyB0aG91c2FuZCBzZXBhcmF0b3IsIHJlbW92ZSB0aGUgZGlnaXQgYmVmb3JlIG9yIGFmdGVyIGl0ICovXG4gICAgICAgIGNvbnN0IGN1cnNvclN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0O1xuXG4gICAgICAgIGlmIChjdXJzb3JTdGFydCA9PT0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCkge1xuICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBCQUNLX0tFWUNPREUgJiYgdmFsdWUuc3Vic3RyKGN1cnNvclN0YXJ0IC0gMSwgMSkgPT09IHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5ncm91cGluZ1NlcGFyYXRvcikge1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDAsIGN1cnNvclN0YXJ0IC0gMikgKyB2YWx1ZS5zdWJzdHJpbmcoY3Vyc29yU3RhcnQgLSAxLCB2YWx1ZS5sZW5ndGgpO1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCA9IGN1cnNvclN0YXJ0IC0gMTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IERFTF9LRVlDT0RFICYmIHZhbHVlLnN1YnN0cihjdXJzb3JTdGFydCwgMSkgPT09IHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5ncm91cGluZ1NlcGFyYXRvcikge1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDAsIGN1cnNvclN0YXJ0ICsgMSkgKyB2YWx1ZS5zdWJzdHJpbmcoY3Vyc29yU3RhcnQgKyAyLCB2YWx1ZS5sZW5ndGgpO1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZCA9IGN1cnNvclN0YXJ0ICsgMTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gTmFOO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFjaExpc3RlbmVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbmplY3RVbml0U3ltYm9sKCk7XG4gIH1cblxuICBoYW5kbGVJbnB1dENoYW5nZWQoKTogdm9pZCB7XG4gICAgLy8gQ2FsbCBpbiBzZXQgdGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IGhhcyBiZWVuIGNoZWNrZWQgZXJyb3IuXG4gICAgLy8gU29tZXRpbWVzIHRoZSB2YWx1ZSBjaGFuZ2VzIGJlY2F1c2Ugd2UgY3V0IG9mZiBkZWNpbWFsIHBsYWNlc1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVJbnB1dChcbiAgICAgICAgdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl9udW1lcmljVmFsdWUsIHtcbiAgICAgICAgICBkZWNpbWFsUGxhY2VzOiB0aGlzLmRlY2ltYWxQbGFjZXMsXG4gICAgICAgICAgZmluYWxGb3JtYXR0aW5nOiB0cnVlLFxuICAgICAgICAgIGF1dG9maWxsRGVjaW1hbHM6IHRoaXMuYXV0b2ZpbGxEZWNpbWFscyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0sIDEpO1xuICB9XG5cbiAgZm9ybWF0SW5wdXQoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCwgZmluYWxGb3JtYXR0aW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgY3Vyc29yUG9zID0gZWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBsZW5ndGggPSBlbGVtZW50LnZhbHVlLmxlbmd0aDtcbiAgICBjb25zdCBzZXRDdXJzb3IgPSB0aGlzLmRpc3BsYXlWYWx1ZSAhPT0gZWxlbWVudC52YWx1ZTtcbiAgICBjb25zdCB0ZXh0Rm9ybWF0dGVkID0gdGhpcy5udW1iZXJGb3JtYXRTZXJ2aWNlLmZvcm1hdE51bWJlcihlbGVtZW50LnZhbHVlLCB7XG4gICAgICBkZWNpbWFsUGxhY2VzOiB0aGlzLmRlY2ltYWxQbGFjZXMsXG4gICAgICBmaW5hbEZvcm1hdHRpbmcsXG4gICAgICBhdXRvZmlsbERlY2ltYWxzOiB0aGlzLmF1dG9maWxsRGVjaW1hbHMsXG4gICAgfSk7XG5cbiAgICAvLyBzcGVjaWFsIGhhbmRsaW5nIHRvIG1vdmUgdW5pdCBzeW1ib2wgYWxvbmcgd2l0aCBkaXNwbGF5IHZhbHVlXG4gICAgaWYgKHRoaXMudGV4dEFsaWduID09PSAnbGVmdCcgJiYgdGhpcy51bml0UG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIGNvbnN0IGlucHV0U3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgbnVsbCk7XG4gICAgICB0aGlzLnVuaXRTcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUubWFyZ2luVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXRvcC13aWR0aCcpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5wYWRkaW5nVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUucGFkZGluZ0JvdHRvbSA9IGlucHV0U3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG5cbiAgICAgIGlmICghdGhpcy50ZXh0U3Bhbikge1xuICAgICAgICB0aGlzLnRleHRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudGV4dFNwYW4pO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLmZvbnQgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250Jyk7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUuZm9udFNpemUgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUud2lkdGggPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnRvcCA9ICcwJztcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS53aGl0ZVNwYWNlID0gJ25vLXdyYXAnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIH1cbiAgICAgIHRoaXMudGV4dFNwYW4uaW5uZXJIVE1MID0gdGV4dEZvcm1hdHRlZDtcbiAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5taW4odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSB0aGlzLnVuaXRTcGFuLmNsaWVudFdpZHRoLCBNYXRoLmNlaWwodGhpcy50ZXh0U3Bhbi5jbGllbnRXaWR0aCkpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5sZWZ0ID0gd2lkdGggKyAncHgnO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlSW5wdXQodGV4dEZvcm1hdHRlZCk7XG4gICAgaWYgKHNldEN1cnNvcikge1xuICAgICAgZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IGVsZW1lbnQuc2VsZWN0aW9uRW5kID0gTWF0aC5tYXgoY3Vyc29yUG9zICsgZWxlbWVudC52YWx1ZS5sZW5ndGggLSBsZW5ndGgsIDApO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUlucHV0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fbnVtZXJpY1ZhbHVlID0gcGFyc2VGbG9hdChcbiAgICAgIHRoaXMubnVtYmVyRm9ybWF0U2VydmljZS5zdHJpcCh2YWx1ZSwgeyBkZWNpbWFsUGxhY2VzOiB0aGlzLmRlY2ltYWxQbGFjZXMgfSkucmVwbGFjZSh0aGlzLm51bWJlckZvcm1hdFNlcnZpY2UuZGVjaW1hbFNlcGFyYXRvciwgJy4nKSxcbiAgICApO1xuICAgIGlmICh0aGlzLl9udW1lcmljVmFsdWUgIT09IHRoaXMucm91bmRPclRydW5jYXRlKHRoaXMub3JpZ2luYWxWYWx1ZSkpIHtcbiAgICAgIHRoaXMub3JpZ2luYWxWYWx1ZSA9IHRoaXMuX251bWVyaWNWYWx1ZTtcbiAgICAgIHRoaXMubnVtZXJpY1ZhbHVlQ2hhbmdlZC5lbWl0KHRoaXMuX251bWVyaWNWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWVGb3JGb3JtQ29udHJvbCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHRoaXMuZm9ybWF0SW5wdXQodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQsIGZhbHNlKTtcbiAgICBpZiAoaXNOYU4odGhpcy5fbnVtZXJpY1ZhbHVlKSkge1xuICAgICAgLy8gUmV0dXJuIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIE5hTiB0byBzdXBwb3J0IHRoZSBkZWZhdWx0IHJlcXVpcmVkIHZhbGlkYXRvci5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX251bWVyaWNWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0VW5pdFN5bWJvbCgpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIGluamVjdCB0aGUgdW5pdCBzeW1ib2wgd2hlbiB0aGUgaW5wdXQgZWxlbWVudCB3aWR0aCBpcyBzZXQgdG8gaXRzIGFjdHVhbCB2YWx1ZSxcbiAgICAvLyBvdGhlcndpc2UgdGhlIGljb24gd29udCBzaG93IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uXG4gICAgaWYgKCEhdGhpcy51bml0ICYmICF0aGlzLnVuaXRTcGFuICYmIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICE9PSAwKSB7XG4gICAgICAvLyBHZXQgdGhlIGlucHV0IHdyYXBwZXIgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIGNvbnN0IGlucHV0V3JhcHBlciA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgLy8gQ3JlYXRlIHRoZSBzcGFuIHdpdGggdW5pdCBzeW1ib2wgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIHRoaXMudW5pdFNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgaWYgKHRoaXMudW5pdFBvc2l0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFByZWZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1yaWdodCcsICc1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoaW5wdXRXcmFwcGVyLCB0aGlzLnVuaXRTcGFuLCBpbnB1dFdyYXBwZXIuY2hpbGRyZW5bMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFN1ZmZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1sZWZ0JywgJzVweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGlucHV0V3JhcHBlciwgdGhpcy51bml0U3Bhbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGRpc3BsYXkgdW5pdCBzeW1ib2wgaWYgdGhlIHVuaXQgc2hvdWxkIG1vdmUgYWxvbmcgZGlzcGxheSB2YWx1ZVxuICAgIGlmICghIXRoaXMudW5pdFNwYW4gJiYgdGhpcy50ZXh0QWxpZ24gPT09ICdsZWZ0JyAmJiB0aGlzLnVuaXRQb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgaWYgKE51bWJlckZvcm1hdFNlcnZpY2UudmFsdWVJc1NldCh0aGlzLmRpc3BsYXlWYWx1ZSkpIHtcbiAgICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gYWx3YXlzIHJlc2V0IHVuaXQgc3ltYm9sXG4gICAgaWYgKCEhdGhpcy51bml0U3Bhbikge1xuICAgICAgdGhpcy51bml0U3Bhbi50ZXh0Q29udGVudCA9IHRoaXMudW5pdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRldGFjaExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0Q2hhbmdlTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VMaXN0ZW5lcigpO1xuICAgICAgZGVsZXRlIHRoaXMuaW5wdXRDaGFuZ2VMaXN0ZW5lcjtcbiAgICB9XG4gICAgaWYgKHRoaXMua2V5ZG93bkxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmtleWRvd25MaXN0ZW5lcigpO1xuICAgICAgZGVsZXRlIHRoaXMua2V5ZG93bkxpc3RlbmVyO1xuICAgIH1cbiAgICBpZiAodGhpcy5rZXl1cExpc3RlbmVyKSB7XG4gICAgICB0aGlzLmtleXVwTGlzdGVuZXIoKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmtleXVwTGlzdGVuZXI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3VuZE9yVHJ1bmNhdGUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgbWV0aG9kID0gdGhpcy5yb3VuZFZhbHVlID8gJ3JvdW5kJyA6IHZhbHVlIDwgMCA/ICdjZWlsJyA6ICdmbG9vcic7XG4gICAgcmV0dXJuIE1hdGhbbWV0aG9kXSh2YWx1ZSAqIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxQbGFjZXMpKSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxQbGFjZXMpO1xuICB9XG59XG4iXX0=
@@ -9,16 +9,16 @@ export class NumericFieldModule {
9
9
  providers: [NumberFormatService],
10
10
  };
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumericFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: NumericFieldModule, declarations: [NumericFieldDirective], exports: [NumericFieldDirective] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumericFieldModule, providers: [NumberFormatService] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumericFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: NumericFieldModule, imports: [NumericFieldDirective], exports: [NumericFieldDirective] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumericFieldModule, providers: [NumberFormatService] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NumericFieldModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumericFieldModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
+ imports: [NumericFieldDirective],
19
20
  providers: [NumberFormatService],
20
- declarations: [NumericFieldDirective],
21
21
  exports: [NumericFieldDirective],
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDakMsQ0FBQztJQUNKLENBQUM7OEdBTlUsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBSGQscUJBQXFCLGFBQzFCLHFCQUFxQjsrR0FFcEIsa0JBQWtCLGFBSmxCLENBQUMsbUJBQW1CLENBQUM7OzJGQUlyQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9udW1lcmljLWZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOdW1iZXJGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9udW1iZXItZm9ybWF0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtOdW1iZXJGb3JtYXRTZXJ2aWNlXSxcbiAgZGVjbGFyYXRpb25zOiBbTnVtZXJpY0ZpZWxkRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW051bWVyaWNGaWVsZERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNGaWVsZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TnVtZXJpY0ZpZWxkTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOdW1lcmljRmllbGRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtOdW1iZXJGb3JtYXRTZXJ2aWNlXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDakMsQ0FBQztJQUNKLENBQUM7OEdBTlUsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFKbkIscUJBQXFCLGFBRXJCLHFCQUFxQjsrR0FFcEIsa0JBQWtCLGFBSGxCLENBQUMsbUJBQW1CLENBQUM7OzJGQUdyQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2hDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9udW1lcmljLWZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOdW1iZXJGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9udW1iZXItZm9ybWF0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTnVtZXJpY0ZpZWxkRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbTnVtYmVyRm9ybWF0U2VydmljZV0sXG4gIGV4cG9ydHM6IFtOdW1lcmljRmllbGREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1lcmljRmllbGRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE51bWVyaWNGaWVsZE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTnVtZXJpY0ZpZWxkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbTnVtYmVyRm9ybWF0U2VydmljZV0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -86,12 +86,12 @@ export class BaseQuickListComponent {
86
86
  }
87
87
  return null;
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: BaseQuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: BaseQuickListComponent, selector: "mad-base-quick-list", inputs: { allItems: "allItems", addLabel: "addLabel", addPossible: "addPossible", removePossible: "removePossible", blankItem: "blankItem", readonly: "readonly", maxItems: "maxItems", minItems: "minItems", formArray: "formArray" }, outputs: { added: "added", removed: "removed" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: '', isInline: true }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BaseQuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: BaseQuickListComponent, isStandalone: true, selector: "mad-base-quick-list", inputs: { allItems: "allItems", addLabel: "addLabel", addPossible: "addPossible", removePossible: "removePossible", blankItem: "blankItem", readonly: "readonly", maxItems: "maxItems", minItems: "minItems", formArray: "formArray" }, outputs: { added: "added", removed: "removed" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: '', isInline: true }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: BaseQuickListComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BaseQuickListComponent, decorators: [{
93
93
  type: Component,
94
- args: [{ selector: 'mad-base-quick-list', template: '' }]
94
+ args: [{ selector: 'mad-base-quick-list', template: '', standalone: true }]
95
95
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }], propDecorators: { allItems: [{
96
96
  type: Input
97
97
  }], addLabel: [{
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
121
121
  type: ViewChildren,
122
122
  args: ['row']
123
123
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvYmFzZS1xdWljay1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDOzs7QUFZdkIsTUFBTSxPQUFPLHNCQUFzQjtJQW1CakMsWUFDUyxpQkFBb0MsRUFDcEMsV0FBd0I7UUFEeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCeEIsYUFBUSxHQUFHLEVBQVMsQ0FBQztRQUNyQixhQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxFQUFTLENBQUM7UUFNckIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFDOUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFVdkMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtTQUNGO0lBQ0gsQ0FBQztJQUVELGVBQWU7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WUFBWTt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWlja0xpc3RJdGVtIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWJhc2UtcXVpY2stbGlzdCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVF1aWNrTGlzdENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGFsbEl0ZW1zID0gW10gYXMgVFtdO1xuICBASW5wdXQoKSBhZGRMYWJlbCA9ICdOT1QgU0VUJztcbiAgQElucHV0KCkgYWRkUG9zc2libGUgPSB0cnVlO1xuICBASW5wdXQoKSByZW1vdmVQb3NzaWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIGJsYW5rSXRlbSA9IHt9IGFzIGFueTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1heEl0ZW1zOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1pbkl0ZW1zOiBudW1iZXI7XG4gIEBJbnB1dCgpIGZvcm1BcnJheTogRm9ybUFycmF5O1xuXG4gIEBPdXRwdXQoKSBhZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgQE91dHB1dCgpIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZHJlbigncm93JykgaXRlbVJvd3M6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICByb3dDb3VudEZvY3VzOiBudW1iZXI7XG4gIGFkZEV2ZW50RnVuY3Rpb246IEZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkRXZlbnRGdW5jdGlvbiA9IHRoaXMuYWRkSXRlbS5iaW5kKHRoaXMpO1xuICAgIGlmICh0aGlzLm1pbkl0ZW1zKSB7XG4gICAgICBmb3IgKGxldCBuID0gdGhpcy5hbGxJdGVtcy5sZW5ndGg7IG4gPCB0aGlzLm1pbkl0ZW1zOyBuKyspIHtcbiAgICAgICAgdGhpcy5pbnRlcmFsQWRkSXRlbSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0Rm9jdXNPbkFkZCgpLCAxKTtcbiAgfVxuXG4gIGFkZEl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgbmV3SXRlbSA9IHRoaXMuaW50ZXJhbEFkZEl0ZW0oKTtcbiAgICBpZiAoISFuZXdJdGVtKSB7XG4gICAgICB0aGlzLmFkZGVkLmVtaXQobmV3SXRlbSk7XG4gICAgfVxuICB9XG5cbiAgYWRkUmVhY3RpdmVJdGVtKCkge1xuICAgIGlmICh0aGlzLmlzQWRkUmVhY3RpdmVBbGxvd2VkKCkpIHtcbiAgICAgIHRoaXMuYWRkZWQuZW1pdChudWxsKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0RlbGV0ZUFsbG93ZWQoKSkge1xuICAgICAgdGhpcy5hbGxJdGVtcy5zcGxpY2UodGhpcy5hbGxJdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICAgIHRoaXMucmVtb3ZlZC5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVJlYWN0aXZlSXRlbShpdGVtOiBBYnN0cmFjdENvbnRyb2w8YW55Pikge1xuICAgIGlmICh0aGlzLmlzRGVsZXRlUmVhY3RpdmVBbGxvd2VkKCkpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHMuaW5kZXhPZihpdGVtKTtcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgIHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuZm9ybUFycmF5LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVkLmVtaXQobnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0Rm9jdXNPbkFkZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd0NvdW50Rm9jdXMgPSB0aGlzLml0ZW1Sb3dzLmxlbmd0aDtcbiAgICB0aGlzLml0ZW1Sb3dzLmNoYW5nZXMuc3Vic2NyaWJlKChlbHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPikgPT4ge1xuICAgICAgaWYgKGVscy5sZW5ndGggPiB0aGlzLnJvd0NvdW50Rm9jdXMgJiYgISFlbHMubGFzdCkge1xuICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IGVscy5sYXN0Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcImJ1dHRvbiwgYSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0nLTEnXSlcIik7XG4gICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xuICAgICAgICAgIGZpcnN0Rm9jdXNhYmxlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMucm93Q291bnRGb2N1cyA9IGVscy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuICBpc0FkZEFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkUG9zc2libGUgJiYgKCF0aGlzLm1heEl0ZW1zIHx8IHRoaXMuYWxsSXRlbXM/Lmxlbmd0aCA8IHRoaXMubWF4SXRlbXMpO1xuICB9XG5cbiAgaXNBZGRSZWFjdGl2ZUFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkUG9zc2libGUgJiYgKCF0aGlzLm1heEl0ZW1zIHx8IHRoaXMuZm9ybUFycmF5Py5jb250cm9scy5sZW5ndGggPCB0aGlzLm1heEl0ZW1zKTtcbiAgfVxuXG4gIGlzRGVsZXRlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVQb3NzaWJsZSAmJiAoIXRoaXMubWluSXRlbXMgfHwgdGhpcy5hbGxJdGVtcz8ubGVuZ3RoID4gdGhpcy5taW5JdGVtcyk7XG4gIH1cblxuICBpc0RlbGV0ZVJlYWN0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVQb3NzaWJsZSAmJiAoIXRoaXMubWluSXRlbXMgfHwgdGhpcy5mb3JtQXJyYXk/LmNvbnRyb2xzLmxlbmd0aCA+IHRoaXMubWluSXRlbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnRlcmFsQWRkSXRlbSgpOiBUIHtcbiAgICBpZiAodGhpcy5pc0FkZEFsbG93ZWQoKSkge1xuICAgICAgY29uc3QgbmV3SXRlbSA9IHsgLi4udGhpcy5ibGFua0l0ZW0gfTtcbiAgICAgIC8vIGNyZWF0ZXMgaWRzIGluIHRoZSBmb3JtIG9mIFwibjVrZHoxcGxqbDhcIlxuICAgICAgbmV3SXRlbS5pZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICAgIHRoaXMuYWxsSXRlbXMucHVzaChuZXdJdGVtKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvYmFzZS1xdWljay1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDOzs7QUFhdkIsTUFBTSxPQUFPLHNCQUFzQjtJQW1CakMsWUFDUyxpQkFBb0MsRUFDcEMsV0FBd0I7UUFEeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCeEIsYUFBUSxHQUFHLEVBQVMsQ0FBQztRQUNyQixhQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxFQUFTLENBQUM7UUFNckIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFDOUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFVdkMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsSUFBTztRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBMEI7UUFDM0MsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQTBCLEVBQUUsRUFBRTtZQUM3RCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsRCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMscUVBQXFFLENBQUMsQ0FBQztnQkFDbkksSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbkIsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDeEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QywyQ0FBMkM7WUFDM0MsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0EzR1Usc0JBQXNCO2tHQUF0QixzQkFBc0Isa1pBYW5CLFdBQVcsb0lBakJmLEVBQUU7OzJGQUlELHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckIsRUFBRSxjQUVBLElBQUk7Z0hBR1AsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ29CLFlBQVk7c0JBQXRDLFlBQVk7dUJBQUMsV0FBVztnQkFDSixRQUFRO3NCQUE1QixZQUFZO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1aWNrTGlzdEl0ZW0ge1xuICBpZDogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtYmFzZS1xdWljay1saXN0JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgYWxsSXRlbXMgPSBbXSBhcyBUW107XG4gIEBJbnB1dCgpIGFkZExhYmVsID0gJ05PVCBTRVQnO1xuICBASW5wdXQoKSBhZGRQb3NzaWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHJlbW92ZVBvc3NpYmxlID0gdHJ1ZTtcbiAgQElucHV0KCkgYmxhbmtJdGVtID0ge30gYXMgYW55O1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgbWF4SXRlbXM6IG51bWJlcjtcbiAgQElucHV0KCkgbWluSXRlbXM6IG51bWJlcjtcbiAgQElucHV0KCkgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG5cbiAgQE91dHB1dCgpIGFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuICBAT3V0cHV0KCkgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkcmVuKCdyb3cnKSBpdGVtUm93czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIHJvd0NvdW50Rm9jdXM6IG51bWJlcjtcbiAgYWRkRXZlbnRGdW5jdGlvbjogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRFdmVudEZ1bmN0aW9uID0gdGhpcy5hZGRJdGVtLmJpbmQodGhpcyk7XG4gICAgaWYgKHRoaXMubWluSXRlbXMpIHtcbiAgICAgIGZvciAobGV0IG4gPSB0aGlzLmFsbEl0ZW1zLmxlbmd0aDsgbiA8IHRoaXMubWluSXRlbXM7IG4rKykge1xuICAgICAgICB0aGlzLmludGVyYWxBZGRJdGVtKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRGb2N1c09uQWRkKCksIDEpO1xuICB9XG5cbiAgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdJdGVtID0gdGhpcy5pbnRlcmFsQWRkSXRlbSgpO1xuICAgIGlmICghIW5ld0l0ZW0pIHtcbiAgICAgIHRoaXMuYWRkZWQuZW1pdChuZXdJdGVtKTtcbiAgICB9XG4gIH1cblxuICBhZGRSZWFjdGl2ZUl0ZW0oKSB7XG4gICAgaWYgKHRoaXMuaXNBZGRSZWFjdGl2ZUFsbG93ZWQoKSkge1xuICAgICAgdGhpcy5hZGRlZC5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGVsZXRlQWxsb3dlZCgpKSB7XG4gICAgICB0aGlzLmFsbEl0ZW1zLnNwbGljZSh0aGlzLmFsbEl0ZW1zLmluZGV4T2YoaXRlbSksIDEpO1xuICAgICAgdGhpcy5yZW1vdmVkLmVtaXQoaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlUmVhY3RpdmVJdGVtKGl0ZW06IEFic3RyYWN0Q29udHJvbDxhbnk+KSB7XG4gICAgaWYgKHRoaXMuaXNEZWxldGVSZWFjdGl2ZUFsbG93ZWQoKSkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvcm1BcnJheS5jb250cm9scy5pbmRleE9mKGl0ZW0pO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkuY29udHJvbHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdChudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRGb2N1c09uQWRkKCk6IHZvaWQge1xuICAgIHRoaXMucm93Q291bnRGb2N1cyA9IHRoaXMuaXRlbVJvd3MubGVuZ3RoO1xuICAgIHRoaXMuaXRlbVJvd3MuY2hhbmdlcy5zdWJzY3JpYmUoKGVsczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSA9PiB7XG4gICAgICBpZiAoZWxzLmxlbmd0aCA+IHRoaXMucm93Q291bnRGb2N1cyAmJiAhIWVscy5sYXN0KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZWxzLmxhc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiYnV0dG9uLCBhLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSctMSddKVwiKTtcbiAgICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlKSB7XG4gICAgICAgICAgZmlyc3RGb2N1c2FibGUuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5yb3dDb3VudEZvY3VzID0gZWxzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIGlzQWRkQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRQb3NzaWJsZSAmJiAoIXRoaXMubWF4SXRlbXMgfHwgdGhpcy5hbGxJdGVtcz8ubGVuZ3RoIDwgdGhpcy5tYXhJdGVtcyk7XG4gIH1cblxuICBpc0FkZFJlYWN0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRQb3NzaWJsZSAmJiAoIXRoaXMubWF4SXRlbXMgfHwgdGhpcy5mb3JtQXJyYXk/LmNvbnRyb2xzLmxlbmd0aCA8IHRoaXMubWF4SXRlbXMpO1xuICB9XG5cbiAgaXNEZWxldGVBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlbW92ZVBvc3NpYmxlICYmICghdGhpcy5taW5JdGVtcyB8fCB0aGlzLmFsbEl0ZW1zPy5sZW5ndGggPiB0aGlzLm1pbkl0ZW1zKTtcbiAgfVxuXG4gIGlzRGVsZXRlUmVhY3RpdmVBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlbW92ZVBvc3NpYmxlICYmICghdGhpcy5taW5JdGVtcyB8fCB0aGlzLmZvcm1BcnJheT8uY29udHJvbHMubGVuZ3RoID4gdGhpcy5taW5JdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIGludGVyYWxBZGRJdGVtKCk6IFQge1xuICAgIGlmICh0aGlzLmlzQWRkQWxsb3dlZCgpKSB7XG4gICAgICBjb25zdCBuZXdJdGVtID0geyAuLi50aGlzLmJsYW5rSXRlbSB9O1xuICAgICAgLy8gY3JlYXRlcyBpZHMgaW4gdGhlIGZvcm0gb2YgXCJuNWtkejFwbGpsOFwiXG4gICAgICBuZXdJdGVtLmlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgICAgdGhpcy5hbGxJdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICByZXR1cm4gbmV3SXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,22 +1,30 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { BaseQuickListComponent } from '../base-quick-list.component';
3
+ import { LinkButtonComponent } from '../../button/flat-button/link-button.component';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { IconButtonComponent } from '../../button/icon-button/icon-button.component';
6
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
3
7
  import * as i0 from "@angular/core";
4
8
  import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "../../button/flat-button/link-button.component";
8
- import * as i5 from "../../button/icon-button/icon-button.component";
9
+ import * as i2 from "@angular/material/icon";
9
10
  export class QuickListCompactComponent extends BaseQuickListComponent {
10
11
  constructor(changeDetectorRef, formBuilder) {
11
12
  super(changeDetectorRef, formBuilder);
12
13
  this.changeDetectorRef = changeDetectorRef;
13
14
  this.formBuilder = formBuilder;
14
15
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListCompactComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: QuickListCompactComponent, selector: "mad-quick-list-compact", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems; let isLast = last\">\n <div class=\"flex-container\" *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddAllowed()\" (click)=\"addItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.allItems.length\" (click)=\"addItem()\" [disabled]=\"!isAddAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.LinkButtonComponent, selector: "mad-link-button", inputs: ["type", "disabled", "title"] }, { kind: "component", type: i5.IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListCompactComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: QuickListCompactComponent, isStandalone: true, selector: "mad-quick-list-compact", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems; let isLast = last\">\n <div class=\"flex-container\" *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddAllowed()\" (click)=\"addItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.allItems.length\" (click)=\"addItem()\" [disabled]=\"!isAddAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LinkButtonComponent, selector: "mad-link-button", inputs: ["type", "disabled", "title"] }] }); }
17
18
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListCompactComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListCompactComponent, decorators: [{
19
20
  type: Component,
20
- args: [{ selector: 'mad-quick-list-compact', template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems; let isLast = last\">\n <div class=\"flex-container\" *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddAllowed()\" (click)=\"addItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.allItems.length\" (click)=\"addItem()\" [disabled]=\"!isAddAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n" }]
21
+ args: [{ selector: 'mad-quick-list-compact', standalone: true, imports: [
22
+ NgFor,
23
+ NgIf,
24
+ NgTemplateOutlet,
25
+ IconButtonComponent,
26
+ MatIconModule,
27
+ LinkButtonComponent,
28
+ ], template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems; let isLast = last\">\n <div class=\"flex-container\" *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddAllowed()\" (click)=\"addItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.allItems.length\" (click)=\"addItem()\" [disabled]=\"!isAddAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n" }]
21
29
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvcXVpY2stbGlzdC1jb21wYWN0L3F1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QtY29tcGFjdC9xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBUXJGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBcUM7SUFDbEYsWUFDUyxpQkFBb0MsRUFDcEMsV0FBd0I7UUFFL0IsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSC9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFHakMsQ0FBQzs4R0FOVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixxRkNUdEMsdTVCQWlCQTs7MkZEUmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VRdWlja0xpc3RDb21wb25lbnQsIFF1aWNrTGlzdEl0ZW0gfSBmcm9tICcuLi9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtcXVpY2stbGlzdC1jb21wYWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50PFF1aWNrTGlzdEl0ZW0+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgZm9ybUJ1aWxkZXIpO1xuICB9XG59XG4iLCI8aDM+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPC9oMz5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWxsSXRlbXM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCIgI3JvdyBjbGFzcz1cInF1aWNrLWxpc3Qtcm93XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImRlbGV0ZS1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzRGVsZXRlQWxsb3dlZCgpXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oaXRlbSlcIj5cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvbWFkLWljb24tYnV0dG9uPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImFkZC1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzTGFzdFwiIFtkaXNhYmxlZF09XCIhaXNBZGRBbGxvd2VkKClcIiAoY2xpY2spPVwiYWRkSXRlbSgpXCI+XG4gICAgICA8bWF0LWljb24+YWRkX2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICA8L21hZC1pY29uLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxtYWQtbGluay1idXR0b24gZGF0YS1jeT1cImFkZC1maXJzdC1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmICF0aGlzLmFsbEl0ZW1zLmxlbmd0aFwiIChjbGljayk9XCJhZGRJdGVtKClcIiBbZGlzYWJsZWRdPVwiIWlzQWRkQWxsb3dlZCgpXCI+XG4gIHt7IGFkZExhYmVsIH19XG48L21hZC1saW5rLWJ1dHRvbj5cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvcXVpY2stbGlzdC1jb21wYWN0L3F1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QtY29tcGFjdC9xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLDhCQUE4QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBZ0JoRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsc0JBQXFDO0lBQ2xGLFlBQ1MsaUJBQW9DLEVBQ3BDLFdBQXdCO1FBRS9CLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUgvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2pDLENBQUM7OEdBTlUseUJBQXlCO2tHQUF6Qix5QkFBeUIseUdDdEJ0Qyx1NUJBaUJBLDRDREhRLEtBQUssbUhBQ0wsSUFBSSw2RkFDSixnQkFBZ0Isb0pBQ2hCLG1CQUFtQixrR0FDbkIsYUFBYSxvTEFDYixtQkFBbUI7OzJGQUdkLHlCQUF5QjtrQkFkckMsU0FBUzsrQkFDSSx3QkFBd0IsY0FHdEIsSUFBSSxXQUNQO3dCQUNMLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVF1aWNrTGlzdENvbXBvbmVudCwgUXVpY2tMaXN0SXRlbSB9IGZyb20gJy4uL2Jhc2UtcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaW5rQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2ZsYXQtYnV0dG9uL2xpbmstYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWFkLXF1aWNrLWxpc3QtY29tcGFjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEljb25CdXR0b25Db21wb25lbnQsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIExpbmtCdXR0b25Db21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCBleHRlbmRzIEJhc2VRdWlja0xpc3RDb21wb25lbnQ8UXVpY2tMaXN0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBmb3JtQnVpbGRlcik7XG4gIH1cbn1cbiIsIjxoMz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L2gzPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxJdGVtczsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiAjcm93IGNsYXNzPVwicXVpY2stbGlzdC1yb3dcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG1hZC1pY29uLWJ1dHRvbiBkYXRhLWN5PVwiZGVsZXRlLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgaXNEZWxldGVBbGxvd2VkKClcIiAoY2xpY2spPVwicmVtb3ZlSXRlbShpdGVtKVwiPlxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9tYWQtaWNvbi1idXR0b24+XG4gICAgPG1hZC1pY29uLWJ1dHRvbiBkYXRhLWN5PVwiYWRkLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgaXNMYXN0XCIgW2Rpc2FibGVkXT1cIiFpc0FkZEFsbG93ZWQoKVwiIChjbGljayk9XCJhZGRJdGVtKClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPlxuICAgIDwvbWFkLWljb24tYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG1hZC1saW5rLWJ1dHRvbiBkYXRhLWN5PVwiYWRkLWZpcnN0LWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgIXRoaXMuYWxsSXRlbXMubGVuZ3RoXCIgKGNsaWNrKT1cImFkZEl0ZW0oKVwiIFtkaXNhYmxlZF09XCIhaXNBZGRBbGxvd2VkKClcIj5cbiAge3sgYWRkTGFiZWwgfX1cbjwvbWFkLWxpbmstYnV0dG9uPlxuIl19