@koobiq/components 18.22.0 → 18.23.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 (167) hide show
  1. package/alert/_alert-theme.scss +4 -0
  2. package/alert/alert-tokens.scss +1 -1
  3. package/alert/alert.component.d.ts +8 -2
  4. package/checkbox/checkbox.d.ts +6 -6
  5. package/core/animation/animation.d.ts +5 -2
  6. package/core/common-behaviors/checkbox.d.ts +5 -0
  7. package/core/common-behaviors/index.d.ts +1 -0
  8. package/core/pop-up/pop-up-trigger.d.ts +9 -1
  9. package/core/utils/utils.d.ts +2 -0
  10. package/esm2022/actions-panel/actions-panel-container.mjs +1 -1
  11. package/esm2022/actions-panel/actions-panel.mjs +1 -1
  12. package/esm2022/alert/alert.component.mjs +11 -5
  13. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +1 -1
  14. package/esm2022/breadcrumbs/breadcrumbs.mjs +1 -1
  15. package/esm2022/button-toggle/button-toggle.component.mjs +1 -1
  16. package/esm2022/checkbox/checkbox.mjs +5 -5
  17. package/esm2022/code-block/code-block-highlight.mjs +1 -1
  18. package/esm2022/code-block/code-block.mjs +1 -1
  19. package/esm2022/core/animation/animation.mjs +4 -1
  20. package/esm2022/core/common-behaviors/checkbox.mjs +2 -0
  21. package/esm2022/core/common-behaviors/color.mjs +1 -1
  22. package/esm2022/core/common-behaviors/index.mjs +2 -1
  23. package/esm2022/core/formatters/number/formatter.mjs +1 -1
  24. package/esm2022/core/forms/validators.mjs +1 -1
  25. package/esm2022/core/line/line.mjs +1 -1
  26. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  27. package/esm2022/core/pop-up/pop-up-trigger.mjs +26 -11
  28. package/esm2022/core/pop-up/pop-up.mjs +1 -4
  29. package/esm2022/core/select/common.mjs +1 -1
  30. package/esm2022/core/services/measure-scrollbar.service.mjs +1 -1
  31. package/esm2022/core/utils/utils.mjs +5 -1
  32. package/esm2022/core/version.mjs +2 -2
  33. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  34. package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
  35. package/esm2022/datepicker/datepicker.component.mjs +1 -1
  36. package/esm2022/datepicker/month-view.component.mjs +1 -1
  37. package/esm2022/dropdown/dropdown-item.component.mjs +1 -1
  38. package/esm2022/dropdown/dropdown-trigger.directive.mjs +1 -1
  39. package/esm2022/dropdown/dropdown.component.mjs +1 -1
  40. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -1
  41. package/esm2022/file-upload/file-drop.mjs +1 -1
  42. package/esm2022/file-upload/file-upload.mjs +1 -1
  43. package/esm2022/file-upload/single-file-upload.component.mjs +1 -1
  44. package/esm2022/filter-bar/filter-bar-button.mjs +2 -1
  45. package/esm2022/filter-bar/filter-bar.mjs +14 -1
  46. package/esm2022/filter-bar/filter-bar.module.mjs +5 -3
  47. package/esm2022/filter-bar/filter-bar.types.mjs +27 -2
  48. package/esm2022/filter-bar/filter-reset.mjs +15 -5
  49. package/esm2022/filter-bar/filter-search.mjs +18 -5
  50. package/esm2022/filter-bar/filters.mjs +22 -6
  51. package/esm2022/filter-bar/pipe-add.mjs +10 -1
  52. package/esm2022/filter-bar/pipe.directive.mjs +7 -25
  53. package/esm2022/filter-bar/pipes/base-pipe.mjs +23 -3
  54. package/esm2022/filter-bar/pipes/pipe-button.mjs +12 -6
  55. package/esm2022/filter-bar/pipes/pipe-date.mjs +26 -8
  56. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +27 -8
  57. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +6 -1
  58. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -1
  59. package/esm2022/filter-bar/pipes/pipe-state.mjs +2 -1
  60. package/esm2022/filter-bar/pipes/pipe-text.mjs +7 -3
  61. package/esm2022/filter-bar/pipes/pipe-title.mjs +2 -1
  62. package/esm2022/form-field/form-field.mjs +1 -1
  63. package/esm2022/form-field/validate.directive.mjs +1 -1
  64. package/esm2022/input/input-number.mjs +1 -1
  65. package/esm2022/list/list-selection.component.mjs +1 -1
  66. package/esm2022/markdown/markdown.component.mjs +2 -2
  67. package/esm2022/modal/modal.component.mjs +1 -1
  68. package/esm2022/modal/modal.service.mjs +1 -1
  69. package/esm2022/navbar/navbar.component.mjs +9 -12
  70. package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
  71. package/esm2022/overflow-items/overflow-items.mjs +1 -1
  72. package/esm2022/popover/popover-confirm.component.mjs +1 -1
  73. package/esm2022/radio/radio.component.mjs +3 -3
  74. package/esm2022/scrollbar/scrollbar.component.mjs +1 -1
  75. package/esm2022/scrollbar/scrollbar.directive.mjs +1 -1
  76. package/esm2022/select/select.component.mjs +1 -1
  77. package/esm2022/sidepanel/sidepanel.service.mjs +1 -1
  78. package/esm2022/splitter/splitter.component.mjs +1 -1
  79. package/esm2022/tabs/paginated-tab-header.mjs +1 -1
  80. package/esm2022/tabs/tab-body.component.mjs +1 -1
  81. package/esm2022/tabs/tab-group.component.mjs +1 -1
  82. package/esm2022/tags/tag-input.mjs +1 -1
  83. package/esm2022/tags/tag-list.component.mjs +1 -1
  84. package/esm2022/tags/tag.component.mjs +1 -1
  85. package/esm2022/textarea/textarea.component.mjs +1 -1
  86. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  87. package/esm2022/toggle/toggle.component.mjs +95 -16
  88. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  89. package/esm2022/tree/control/flat-tree-control.filters.mjs +1 -1
  90. package/esm2022/tree/control/nested-tree-control.mjs +1 -1
  91. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  92. package/esm2022/tree/padding.directive.mjs +1 -1
  93. package/esm2022/tree/tree-base.mjs +1 -1
  94. package/esm2022/tree/tree-selection.component.mjs +1 -1
  95. package/esm2022/tree-select/tree-select.component.mjs +1 -1
  96. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-alert.mjs +10 -4
  98. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-checkbox.mjs +4 -4
  103. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-core.mjs +33 -15
  106. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-filter-bar.mjs +1470 -1322
  112. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  117. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-navbar.mjs +15 -22
  120. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-radio.mjs +2 -2
  124. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-toggle.mjs +94 -15
  134. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  137. package/filter-bar/filter-bar-button.d.ts +1 -0
  138. package/filter-bar/filter-bar.d.ts +14 -0
  139. package/filter-bar/filter-bar.types.d.ts +13 -3
  140. package/filter-bar/filter-reset.d.ts +6 -2
  141. package/filter-bar/filter-search.d.ts +17 -10
  142. package/filter-bar/filters.d.ts +26 -11
  143. package/filter-bar/pipe-add.d.ts +10 -0
  144. package/filter-bar/pipe.directive.d.ts +5 -5
  145. package/filter-bar/pipes/base-pipe.d.ts +28 -2
  146. package/filter-bar/pipes/pipe-button.d.ts +6 -1
  147. package/filter-bar/pipes/pipe-date.d.ts +30 -10
  148. package/filter-bar/pipes/pipe-date.scss +29 -27
  149. package/filter-bar/pipes/pipe-datetime.d.ts +31 -10
  150. package/filter-bar/pipes/pipe-multi-select.d.ts +7 -0
  151. package/filter-bar/pipes/pipe-select.d.ts +7 -0
  152. package/filter-bar/pipes/pipe-state.d.ts +1 -0
  153. package/filter-bar/pipes/pipe-text.d.ts +5 -0
  154. package/link/_link-theme.scss +14 -0
  155. package/markdown/markdown.scss +0 -4
  156. package/navbar/navbar.component.d.ts +2 -2
  157. package/navbar/vertical-navbar.component.d.ts +3 -3
  158. package/package.json +5 -5
  159. package/prebuilt-themes/dark-theme.css +1 -1
  160. package/prebuilt-themes/light-theme.css +1 -1
  161. package/prebuilt-themes/theme.css +1 -1
  162. package/radio/radio.scss +0 -1
  163. package/schematics/ng-add/index.js +3 -3
  164. package/toggle/_toggle-theme.scss +12 -3
  165. package/toggle/toggle-tokens.scss +2 -2
  166. package/toggle/toggle.component.d.ts +22 -4
  167. package/toggle/toggle.scss +37 -0
@@ -18,6 +18,7 @@
18
18
  }
19
19
 
20
20
  .kbq-alert.kbq-alert_default {
21
+ // Will be replaced with `kbq-alert_info` in next major release (#DS-3651)
21
22
  &.kbq-alert_contrast {
22
23
  @include kbq-alert-style(default, contrast);
23
24
  }
@@ -34,12 +35,14 @@
34
35
  @include kbq-alert-style(default, success);
35
36
  }
36
37
 
38
+ // Will be removed and replaced with `kbq-alert_info` in next major release (#DS-3651)
37
39
  &.kbq-alert_theme {
38
40
  @include kbq-alert-style(default, theme);
39
41
  }
40
42
  }
41
43
 
42
44
  .kbq-alert.kbq-alert_colored {
45
+ // Will be removed in next major release (#DS-3651)
43
46
  &.kbq-alert_contrast {
44
47
  @include kbq-alert-style(colored, contrast);
45
48
  }
@@ -56,6 +59,7 @@
56
59
  @include kbq-alert-style(colored, success);
57
60
  }
58
61
 
62
+ // Will be replaced with `kbq-alert_info` in next major release (#DS-3651)
59
63
  &.kbq-alert_theme {
60
64
  @include kbq-alert-style(colored, theme);
61
65
  }
@@ -1,4 +1,4 @@
1
- .kbq-alert {
1
+ :where(.kbq-alert) {
2
2
  --kbq-alert-size-normal-container-border-radius: var(--kbq-size-m);
3
3
  --kbq-alert-size-normal-container-padding-top: 0;
4
4
  --kbq-alert-size-normal-container-padding-right: var(--kbq-size-s);
@@ -7,11 +7,17 @@ export declare enum KbqAlertStyles {
7
7
  Colored = "colored"
8
8
  }
9
9
  export declare enum KbqAlertColors {
10
- Contrast = "contrast",
11
10
  Error = "error",
12
11
  Warning = "warning",
13
12
  Success = "success",
14
- Theme = "theme"
13
+ /** Used the same value as `Theme` to not introduce breaking changes */
14
+ Info = "theme",
15
+ /** @deprecated This color key doesn't correlate with design, use `Info` instead.
16
+ * Will be removed in next major release (#DS-3602) */
17
+ Theme = "theme",
18
+ /** @deprecated This color key doesn't correlate with design.
19
+ * Will be removed and replaced with `Info` in next major release (#DS-3602) */
20
+ Contrast = "contrast"
15
21
  }
16
22
  export declare class KbqAlertTitle {
17
23
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAlertTitle, never>;
@@ -1,7 +1,7 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
- import { KbqColorDirective } from '@koobiq/components/core';
4
+ import { KbqCheckedState, KbqColorDirective } from '@koobiq/components/core';
5
5
  import { KbqCheckboxClickAction } from './checkbox-config';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
@@ -16,13 +16,13 @@ export declare const KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR: any;
16
16
  */
17
17
  export declare enum TransitionCheckState {
18
18
  /** The initial state of the component before any user interaction. */
19
- Init = 0,
19
+ Init = "init",
20
20
  /** The state representing the component when it's becoming checked. */
21
- Checked = 1,
21
+ Checked = "checked",
22
22
  /** The state representing the component when it's becoming unchecked. */
23
- Unchecked = 2,
23
+ Unchecked = "unchecked",
24
24
  /** The state representing the component when it's becoming indeterminate. */
25
- Indeterminate = 3
25
+ Indeterminate = "indeterminate"
26
26
  }
27
27
  /** Change event object emitted by KbqCheckbox. */
28
28
  export declare class KbqCheckboxChange {
@@ -100,7 +100,7 @@ export declare class KbqCheckbox extends KbqColorDirective implements ControlVal
100
100
  registerOnChange(fn: (value: any) => void): void;
101
101
  registerOnTouched(fn: any): void;
102
102
  setDisabledState(isDisabled: boolean): void;
103
- getAriaChecked(): 'true' | 'false' | 'mixed';
103
+ getAriaChecked(): KbqCheckedState;
104
104
  /** Toggles the `checked` state of the checkbox. */
105
105
  toggle(): void;
106
106
  /**
@@ -18,7 +18,8 @@ export declare enum KbqAnimationCurves {
18
18
  StandardCurve = "cubic-bezier(0.4,0.0,0.2,1)",
19
19
  DecelerationCurve = "cubic-bezier(0.0,0.0,0.2,1)",
20
20
  AccelerationCurve = "cubic-bezier(0.4,0.0,1,1)",
21
- SharpCurve = "cubic-bezier(0.4,0.0,0.6,1)"
21
+ SharpCurve = "cubic-bezier(0.4,0.0,0.6,1)",
22
+ EaseInOut = "ease-in-out"
22
23
  }
23
24
  /**
24
25
  * Koobiq components animation durations
@@ -28,5 +29,7 @@ export declare enum KbqAnimationCurves {
28
29
  export declare enum KbqAnimationDurations {
29
30
  Complex = "250ms",
30
31
  Entering = "150ms",
31
- Exiting = "125ms"
32
+ Exiting = "125ms",
33
+ Rapid = "100ms",
34
+ Instant = "50ms"
32
35
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tri-state checkbox values
3
+ * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-checked
4
+ */
5
+ export type KbqCheckedState = 'true' | 'false' | 'mixed';
@@ -1,4 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ export * from './checkbox';
2
3
  export { CanColor, CanColorCtor, KbqColorDirective, KbqComponentColors, mixinColor, ThemePalette } from './color';
3
4
  export { KBQ_SANITY_CHECKS, KbqCommonModule } from './common-module';
4
5
  export { CanDisable, CanDisableCtor, mixinDisabled } from './disabled';
@@ -2,10 +2,16 @@ import { Directionality } from '@angular/cdk/bidi';
2
2
  import { ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, Overlay, OverlayConfig, OverlayRef, ScrollDispatcher, ScrollStrategy } from '@angular/cdk/overlay';
3
3
  import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import { DestroyRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, TemplateRef, Type, ViewContainerRef } from '@angular/core';
5
- import { Observable, Subscription } from 'rxjs';
5
+ import { BehaviorSubject, Observable, Subscription } from 'rxjs';
6
+ import { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';
6
7
  import { PopUpPlacements } from './constants';
7
8
  import * as i0 from "@angular/core";
9
+ /** parameter is used in interval to hide the popup */
10
+ export declare const hidingIntervalForHover = 500;
8
11
  export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
12
+ /** Stream that emits when the popupTrigger is hovered. */
13
+ readonly hovered: BehaviorSubject<boolean>;
14
+ protected readonly scheduler: AsyncScheduler | undefined;
9
15
  protected readonly overlay: Overlay;
10
16
  protected readonly elementRef: ElementRef;
11
17
  protected readonly ngZone: NgZone;
@@ -43,6 +49,8 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
43
49
  };
44
50
  protected mouseEvent?: MouseEvent;
45
51
  protected strategy: FlexibleConnectedPositionStrategy;
52
+ /** @docs-private */
53
+ protected hidingIntervalSubscription: Subscription;
46
54
  abstract updateClassMap(newPlacement?: string): void;
47
55
  abstract updateData(): void;
48
56
  abstract closingActions(): Observable<any>;
@@ -8,3 +8,5 @@ export declare function toBoolean(value: unknown): boolean;
8
8
  export declare const getNodesWithoutComments: (nodes: NodeList) => Node[];
9
9
  export declare const leftIconClassName = "kbq-icon_left";
10
10
  export declare const rightIconClassName = "kbq-icon_right";
11
+ /** Whether the current platform is a Mac. */
12
+ export declare function isMac(): boolean;
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
214
214
  '(keydown.escape)': 'handleEscape($event)'
215
215
  }, changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".kbq-actions-panel-container{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var(--kbq-line-contrast-fade);--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", ".kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);margin:var(--kbq-actions-panel-margin);border-radius:var(--kbq-actions-panel-border-radius);display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-overlay-container{position:relative}\n"] }]
216
216
  }] });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1wYW5lbC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2FjdGlvbnMtcGFuZWwvYWN0aW9ucy1wYW5lbC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILE9BQU8sRUFDUCxZQUFZLEVBRVosS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBR2QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2pCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFC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ZCxcbiAgICBBbmltYXRpb25FdmVudCxcbiAgICBncm91cCxcbiAgICBxdWVyeSxcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDZGtEaWFsb2dDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgUHJvdmlkZXIsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLYnFCdXR0b25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgS0JRX0xPQ0FMRV9TRVJWSUNFLFxuICAgIEticUFjdGlvbnNQYW5lbExvY2FsZUNvbmZpZ3VyYXRpb24sXG4gICAgS2JxQW5pbWF0aW9uQ3VydmVzLFxuICAgIEticUFuaW1hdGlvbkR1cmF0aW9ucyxcbiAgICBydVJVTG9jYWxlRGF0YVxufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFEaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2RpdmlkZXInO1xuaW1wb3J0IHsgS2JxSWNvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IEticVRvb2xUaXBNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBtYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLYnFBY3Rpb25zUGFuZWwgfSBmcm9tICcuL2FjdGlvbnMtcGFuZWwnO1xuaW1wb3J0IHsgS2JxQWN0aW9uc1BhbmVsQ29uZmlnIH0gZnJvbSAnLi9hY3Rpb25zLXBhbmVsLWNvbmZpZyc7XG5cbi8qKiBMb2NhbGl6YXRpb24gY29uZmlndXJhdGlvbiBwcm92aWRlci4gKi9cbmV4cG9ydCBjb25zdCBLQlFfQUNUSU9OU19QQU5FTF9MT0NBTEVfQ09ORklHVVJBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxLYnFBY3Rpb25zUGFuZWxMb2NhbGVDb25maWd1cmF0aW9uPihcbiAgICAnS0JRX0FDVElPTlNfUEFORUxfTE9DQUxFX0NPTkZJR1VSQVRJT04nLFxuICAgIHsgZmFjdG9yeTogKCkgPT4gcnVSVUxvY2FsZURhdGEuYWN0aW9uc1BhbmVsIH1cbik7XG5cbi8qKiBVdGlsaXR5IHByb3ZpZGVyIGZvciBgS0JRX0FDVElPTlNfUEFORUxfTE9DQUxFX0NPTkZJR1VSQVRJT05gLiAqL1xuZXhwb3J0IGNvbnN0IGticUFjdGlvbnNQYW5lbExvY2FsZUNvbmZpZ3VyYXRpb25Qcm92aWRlciA9IChcbiAgICBjb25maWd1cmF0aW9uOiBLYnFBY3Rpb25zUGFuZWxMb2NhbGVDb25maWd1cmF0aW9uXG4pOiBQcm92aWRlciA9PiAoe1xuICAgIHByb3ZpZGU6IEtCUV9BQ1RJT05TX1BBTkVMX0xPQ0FMRV9DT05GSUdVUkFUSU9OLFxuICAgIHVzZVZhbHVlOiBjb25maWd1cmF0aW9uXG59KTtcblxuLyoqXG4gKiBBbmltYXRpb24gdGhhdCBzaG93cyBhbmQgaGlkZXMgdGhlIGFjdGlvbnMgcGFuZWwuXG4gKi9cbmNvbnN0IEtCUV9BQ1RJT05TX1BBTkVMX0NPTlRBSU5FUl9BTklNQVRJT04gPSB0cmlnZ2VyKCdzdGF0ZScsIFtcbiAgICBzdGF0ZSgndm9pZCwgaGlkZGVuJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSksXG4gICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCUpJyB9KSksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJ3Zpc2libGUgPT4gdm9pZCwgdmlzaWJsZSA9PiBoaWRkZW4nLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgICBhbmltYXRlKGAke0ticUFuaW1hdGlvbkR1cmF0aW9ucy5FbnRlcmluZ30gJHtLYnFBbmltYXRpb25DdXJ2ZXMuU3RhbmRhcmRDdXJ2ZX1gKSxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG4gICAgICAgIF0pXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAndm9pZCA9PiB2aXNpYmxlJyxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgICAgYW5pbWF0ZShgJHtLYnFBbmltYXRpb25EdXJhdGlvbnMuRXhpdGluZ30gJHtLYnFBbmltYXRpb25DdXJ2ZXMuU3RhbmRhcmRDdXJ2ZX1gKSxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG4gICAgICAgIF0pXG4gICAgKVxuXSk7XG5cbi8qKlxuICogSW50ZXJuYWwgY29tcG9uZW50IHRoYXQgd3JhcHMgdXNlci1wcm92aWRlZCBhY3Rpb25zIHBhbmVsIGNvbnRlbnQuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ2RrUG9ydGFsT3V0bGV0LFxuICAgICAgICBLYnFEaXZpZGVyTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticUljb25Nb2R1bGUsXG4gICAgICAgIEticVRvb2xUaXBNb2R1bGVcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAna2JxLWFjdGlvbnMtcGFuZWwtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWFjdGlvbnMtcGFuZWwtY29udGFpbmVyX19jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKCFjb25maWcuZGlzYWJsZUNsb3NlKSB7XG4gICAgICAgICAgICA8a2JxLWRpdmlkZXIgY2xhc3M9XCJrYnEtYWN0aW9ucy1wYW5lbC1jb250YWluZXJfX3ZlcnRpY2FsLWRpdmlkZXJcIiBbdmVydGljYWxdPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJrYnEtYWN0aW9ucy1wYW5lbC1jb250YWluZXJfX2Nsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2ticVRvb2x0aXBdPVwibG9jYWxlQ29uZmlndXJhdGlvbigpIS5jbG9zZVRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtrYnFUb29sdGlwT2Zmc2V0XT1cIjE2XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJjb250cmFzdFwiXG4gICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLXhtYXJrLWNpcmNsZV8xNlwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vYWN0aW9ucy1wYW5lbC10b2tlbnMuc2NzcycsXG4gICAgICAgICcuL2FjdGlvbnMtcGFuZWwtY29udGFpbmVyLnNjc3MnXG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBbS0JRX0FDVElPTlNfUEFORUxfQ09OVEFJTkVSX0FOSU1BVElPTl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1hY3Rpb25zLXBhbmVsLWNvbnRhaW5lcicsXG4gICAgICAgICdbY2xhc3Mua2JxLWFjdGlvbnMtcGFuZWwtY29udGFpbmVyX3J0bF0nOiAnY29uZmlnLmRpcmVjdGlvbiA9PT0gXCJydGxcIicsXG4gICAgICAgICdbQHN0YXRlXSc6ICdhbmltYXRpb25TdGF0ZScsXG4gICAgICAgICcoQHN0YXRlLnN0YXJ0KSc6ICdvbkFuaW1hdGlvblN0YXJ0KCRldmVudCknLFxuICAgICAgICAnKEBzdGF0ZS5kb25lKSc6ICdvbkFuaW1hdGlvbkRvbmUoJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93bi5lc2NhcGUpJzogJ2hhbmRsZUVzY2FwZSgkZXZlbnQpJ1xuICAgIH0sXG4gICAgLy8gVXNlcyB0aGUgYERlZmF1bHRgIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgYXMgcGFyZW50IGBDZGtEaWFsb2dDb250YWluZXJgOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi8xOC4yLjE0L3NyYy9jZGsvZGlhbG9nL2RpYWxvZy1jb250YWluZXIudHMjTDYwXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxQWN0aW9uc1BhbmVsQ29udGFpbmVyIGV4dGVuZHMgQ2RrRGlhbG9nQ29udGFpbmVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIGFjdGlvbnMgcGFuZWwgYW5pbWF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYW5pbWF0aW9uU3RhdGU6ICd2b2lkJyB8ICd2aXNpYmxlJyB8ICdoaWRkZW4nID0gJ3ZvaWQnO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIHN0YXRlIG9mIHRoZSBhbmltYXRpb24gY2hhbmdlcy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICByZWFkb25seSBhbmltYXRpb25TdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFuaW1hdGlvbkV2ZW50PigpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGFjdGlvbnMgcGFuZWwgY29udGFpbmVyIGhhcyBiZWVuIGRlc3Ryb3llZC4gKi9cbiAgICBwcml2YXRlIGRlc3Ryb3llZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEFjdGlvbnMgcGFuZWwgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEticUFjdGlvbnNQYW5lbENvbmZpZyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnNQYW5lbCA9IGluamVjdChLYnFBY3Rpb25zUGFuZWwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICogQWN0aW9ucyBwYW5lbCBsb2NhbGUgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlQ29uZmlndXJhdGlvbiA9IHRvU2lnbmFsPEticUFjdGlvbnNQYW5lbExvY2FsZUNvbmZpZ3VyYXRpb24+KFxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgID8gdGhpcy5sb2NhbGVTZXJ2aWNlLmNoYW5nZXMucGlwZShtYXAoKCkgPT4gdGhpcy5sb2NhbGVTZXJ2aWNlIS5nZXRQYXJhbXMoJ2FjdGlvbnNQYW5lbCcpKSlcbiAgICAgICAgICAgIDogb2YoaW5qZWN0KEtCUV9BQ1RJT05TX1BBTkVMX0xPQ0FMRV9DT05GSUdVUkFUSU9OKSlcbiAgICApO1xuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZSB0aGUgYWN0aW9ucyBwYW5lbC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uc1BhbmVsLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhcnQgYW5pbWF0aW9uIG9mIHRoZSBhY3Rpb25zIHBhbmVsIGVudHJhbmNlIGludG8gdmlldy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBzdGFydE9wZW5BbmltYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICAvLyBhbmltYXRpb25TdGF0ZSBsaXZlcyBpbiBob3N0IGJpbmRpbmdzIGFuZCBgZGV0ZWN0Q2hhbmdlc2AgZG9lcyBub3QgcmVmcmVzaCBob3N0IGJpbmRpbmdzICBzbyB3ZSBoYXZlIHRvXG4gICAgICAgICAgICAvLyBjYWxsIGBtYXJrRm9yQ2hlY2tgIHRvIGVuc3VyZSB0aGUgaG9zdCB2aWV3IGlzIHJlZnJlc2hlZCBldmVudHVhbGx5LlxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGFydCBhbmltYXRpb24gb2YgdGhlIGFjdGlvbnMgcGFuZWwgZXhpdGluZyBmcm9tIHZpZXcuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgc3RhcnRDbG9zZUFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdoaWRkZW4nO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIGFuaW1hdGlvbiBkb25lIGV2ZW50cy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICB0aGlzLl90cmFwRm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgYW5pbWF0aW9uIHN0YXJ0IGV2ZW50cy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlcyBlc2NhcGUga2V5IGV2ZW50cy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXNjYXBlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSBfY29udGVudEF0dGFjaGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGx5Q29udGFpbmVyQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29udGFpbmVyQ2xhc3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgY29udGFpbmVyQ2xhc3MgfSA9IHRoaXMuY29uZmlnO1xuICAgICAgICBpZiAoY29udGFpbmVyQ2xhc3MpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbnRhaW5lckNsYXNzKSkge1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzLmZvckVhY2goKGNzc0NsYXNzKSA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY3NzQ2xhc3MpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNvbnRhaW5lckNsYXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1wYW5lbC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2FjdGlvbnMtcGFuZWwvYWN0aW9ucy1wYW5lbC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILE9BQU8sRUFDUCxZQUFZLEVBRVosS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBR2QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2pCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFC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ZCxcbiAgICBBbmltYXRpb25FdmVudCxcbiAgICBncm91cCxcbiAgICBxdWVyeSxcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDZGtEaWFsb2dDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgUHJvdmlkZXIsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLYnFCdXR0b25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgS0JRX0xPQ0FMRV9TRVJWSUNFLFxuICAgIEticUFjdGlvbnNQYW5lbExvY2FsZUNvbmZpZ3VyYXRpb24sXG4gICAgS2JxQW5pbWF0aW9uQ3VydmVzLFxuICAgIEticUFuaW1hdGlvbkR1cmF0aW9ucyxcbiAgICBydVJVTG9jYWxlRGF0YVxufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFEaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2RpdmlkZXInO1xuaW1wb3J0IHsgS2JxSWNvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IEticVRvb2xUaXBNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBtYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLYnFBY3Rpb25zUGFuZWwgfSBmcm9tICcuL2FjdGlvbnMtcGFuZWwnO1xuaW1wb3J0IHsgS2JxQWN0aW9uc1BhbmVsQ29uZmlnIH0gZnJvbSAnLi9hY3Rpb25zLXBhbmVsLWNvbmZpZyc7XG5cbi8qKiBMb2NhbGl6YXRpb24gY29uZmlndXJhdGlvbiBwcm92aWRlci4gKi9cbmV4cG9ydCBjb25zdCBLQlFfQUNUSU9OU19QQU5FTF9MT0NBTEVfQ09ORklHVVJBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxLYnFBY3Rpb25zUGFuZWxMb2NhbGVDb25maWd1cmF0aW9uPihcbiAgICAnS0JRX0FDVElPTlNfUEFORUxfTE9DQUxFX0NPTkZJR1VSQVRJT04nLFxuICAgIHsgZmFjdG9yeTogKCkgPT4gcnVSVUxvY2FsZURhdGEuYWN0aW9uc1BhbmVsIH1cbik7XG5cbi8qKiBVdGlsaXR5IHByb3ZpZGVyIGZvciBgS0JRX0FDVElPTlNfUEFORUxfTE9DQUxFX0NPTkZJR1VSQVRJT05gLiAqL1xuZXhwb3J0IGNvbnN0IGticUFjdGlvbnNQYW5lbExvY2FsZUNvbmZpZ3VyYXRpb25Qcm92aWRlciA9IChcbiAgICBjb25maWd1cmF0aW9uOiBLYnFBY3Rpb25zUGFuZWxMb2NhbGVDb25maWd1cmF0aW9uXG4pOiBQcm92aWRlciA9PiAoe1xuICAgIHByb3ZpZGU6IEtCUV9BQ1RJT05TX1BBTkVMX0xPQ0FMRV9DT05GSUdVUkFUSU9OLFxuICAgIHVzZVZhbHVlOiBjb25maWd1cmF0aW9uXG59KTtcblxuLyoqXG4gKiBBbmltYXRpb24gdGhhdCBzaG93cyBhbmQgaGlkZXMgdGhlIGFjdGlvbnMgcGFuZWwuXG4gKi9cbmNvbnN0IEtCUV9BQ1RJT05TX1BBTkVMX0NPTlRBSU5FUl9BTklNQVRJT04gPSB0cmlnZ2VyKCdzdGF0ZScsIFtcbiAgICBzdGF0ZSgndm9pZCwgaGlkZGVuJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSksXG4gICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCUpJyB9KSksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJ3Zpc2libGUgPT4gdm9pZCwgdmlzaWJsZSA9PiBoaWRkZW4nLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgICBhbmltYXRlKGAke0ticUFuaW1hdGlvbkR1cmF0aW9ucy5FbnRlcmluZ30gJHtLYnFBbmltYXRpb25DdXJ2ZXMuU3RhbmRhcmRDdXJ2ZX1gKSxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG4gICAgICAgIF0pXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAndm9pZCA9PiB2aXNpYmxlJyxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgICAgYW5pbWF0ZShgJHtLYnFBbmltYXRpb25EdXJhdGlvbnMuRXhpdGluZ30gJHtLYnFBbmltYXRpb25DdXJ2ZXMuU3RhbmRhcmRDdXJ2ZX1gKSxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG4gICAgICAgIF0pXG4gICAgKVxuXSk7XG5cbi8qKlxuICogSW50ZXJuYWwgY29tcG9uZW50IHRoYXQgd3JhcHMgdXNlci1wcm92aWRlZCBhY3Rpb25zIHBhbmVsIGNvbnRlbnQuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ2RrUG9ydGFsT3V0bGV0LFxuICAgICAgICBLYnFEaXZpZGVyTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticUljb25Nb2R1bGUsXG4gICAgICAgIEticVRvb2xUaXBNb2R1bGVcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAna2JxLWFjdGlvbnMtcGFuZWwtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWFjdGlvbnMtcGFuZWwtY29udGFpbmVyX19jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKCFjb25maWcuZGlzYWJsZUNsb3NlKSB7XG4gICAgICAgICAgICA8a2JxLWRpdmlkZXIgY2xhc3M9XCJrYnEtYWN0aW9ucy1wYW5lbC1jb250YWluZXJfX3ZlcnRpY2FsLWRpdmlkZXJcIiBbdmVydGljYWxdPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJrYnEtYWN0aW9ucy1wYW5lbC1jb250YWluZXJfX2Nsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2ticVRvb2x0aXBdPVwibG9jYWxlQ29uZmlndXJhdGlvbigpIS5jbG9zZVRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtrYnFUb29sdGlwT2Zmc2V0XT1cIjE2XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJjb250cmFzdFwiXG4gICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLXhtYXJrLWNpcmNsZV8xNlwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vYWN0aW9ucy1wYW5lbC10b2tlbnMuc2NzcycsXG4gICAgICAgICcuL2FjdGlvbnMtcGFuZWwtY29udGFpbmVyLnNjc3MnXG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBbS0JRX0FDVElPTlNfUEFORUxfQ09OVEFJTkVSX0FOSU1BVElPTl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1hY3Rpb25zLXBhbmVsLWNvbnRhaW5lcicsXG4gICAgICAgICdbY2xhc3Mua2JxLWFjdGlvbnMtcGFuZWwtY29udGFpbmVyX3J0bF0nOiAnY29uZmlnLmRpcmVjdGlvbiA9PT0gXCJydGxcIicsXG4gICAgICAgICdbQHN0YXRlXSc6ICdhbmltYXRpb25TdGF0ZScsXG4gICAgICAgICcoQHN0YXRlLnN0YXJ0KSc6ICdvbkFuaW1hdGlvblN0YXJ0KCRldmVudCknLFxuICAgICAgICAnKEBzdGF0ZS5kb25lKSc6ICdvbkFuaW1hdGlvbkRvbmUoJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93bi5lc2NhcGUpJzogJ2hhbmRsZUVzY2FwZSgkZXZlbnQpJ1xuICAgIH0sXG4gICAgLy8gVXNlcyB0aGUgYERlZmF1bHRgIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgYXMgcGFyZW50IGBDZGtEaWFsb2dDb250YWluZXJgOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi8xOC4yLjE0L3NyYy9jZGsvZGlhbG9nL2RpYWxvZy1jb250YWluZXIudHMjTDYwXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxQWN0aW9uc1BhbmVsQ29udGFpbmVyIGV4dGVuZHMgQ2RrRGlhbG9nQ29udGFpbmVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIGFjdGlvbnMgcGFuZWwgYW5pbWF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYW5pbWF0aW9uU3RhdGU6ICd2b2lkJyB8ICd2aXNpYmxlJyB8ICdoaWRkZW4nID0gJ3ZvaWQnO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIHN0YXRlIG9mIHRoZSBhbmltYXRpb24gY2hhbmdlcy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICByZWFkb25seSBhbmltYXRpb25TdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFuaW1hdGlvbkV2ZW50PigpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGFjdGlvbnMgcGFuZWwgY29udGFpbmVyIGhhcyBiZWVuIGRlc3Ryb3llZC4gKi9cbiAgICBwcml2YXRlIGRlc3Ryb3llZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEFjdGlvbnMgcGFuZWwgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEticUFjdGlvbnNQYW5lbENvbmZpZyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnNQYW5lbCA9IGluamVjdChLYnFBY3Rpb25zUGFuZWwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICogQWN0aW9ucyBwYW5lbCBsb2NhbGUgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlQ29uZmlndXJhdGlvbiA9IHRvU2lnbmFsPEticUFjdGlvbnNQYW5lbExvY2FsZUNvbmZpZ3VyYXRpb24+KFxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgID8gdGhpcy5sb2NhbGVTZXJ2aWNlLmNoYW5nZXMucGlwZShtYXAoKCkgPT4gdGhpcy5sb2NhbGVTZXJ2aWNlIS5nZXRQYXJhbXMoJ2FjdGlvbnNQYW5lbCcpKSlcbiAgICAgICAgICAgIDogb2YoaW5qZWN0KEtCUV9BQ1RJT05TX1BBTkVMX0xPQ0FMRV9DT05GSUdVUkFUSU9OKSlcbiAgICApO1xuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZSB0aGUgYWN0aW9ucyBwYW5lbC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uc1BhbmVsLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhcnQgYW5pbWF0aW9uIG9mIHRoZSBhY3Rpb25zIHBhbmVsIGVudHJhbmNlIGludG8gdmlldy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBzdGFydE9wZW5BbmltYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICAvLyBhbmltYXRpb25TdGF0ZSBsaXZlcyBpbiBob3N0IGJpbmRpbmdzIGFuZCBgZGV0ZWN0Q2hhbmdlc2AgZG9lcyBub3QgcmVmcmVzaCBob3N0IGJpbmRpbmdzICBzbyB3ZSBoYXZlIHRvXG4gICAgICAgICAgICAvLyBjYWxsIGBtYXJrRm9yQ2hlY2tgIHRvIGVuc3VyZSB0aGUgaG9zdCB2aWV3IGlzIHJlZnJlc2hlZCBldmVudHVhbGx5LlxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGFydCBhbmltYXRpb24gb2YgdGhlIGFjdGlvbnMgcGFuZWwgZXhpdGluZyBmcm9tIHZpZXcuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgc3RhcnRDbG9zZUFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdoaWRkZW4nO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIGFuaW1hdGlvbiBkb25lIGV2ZW50cy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICB0aGlzLl90cmFwRm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgYW5pbWF0aW9uIHN0YXJ0IGV2ZW50cy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlcyBlc2NhcGUga2V5IGV2ZW50cy5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXNjYXBlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSBfY29udGVudEF0dGFjaGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGx5Q29udGFpbmVyQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29udGFpbmVyQ2xhc3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgY29udGFpbmVyQ2xhc3MgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgICAgIGlmIChjb250YWluZXJDbGFzcykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29udGFpbmVyQ2xhc3MpKSB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3MuZm9yRWFjaCgoY3NzQ2xhc3MpID0+IHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjc3NDbGFzcykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY29udGFpbmVyQ2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -217,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
217
217
  type: Injectable,
218
218
  args: [{ providedIn: 'root' }]
219
219
  }] });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9ucy1wYW5lbC9hY3Rpb25zLXBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFHLE9BQU8sRUFFSCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUN4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUNILHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsTUFBTSxFQUNOLE1BQU0sRUFDTixVQUFVLEVBQ1YsY0FBYyxFQUNkLFFBQVEsRUFDUixNQUFNLEVBRU4sUUFBUSxFQUNSLFFBQVEsRUFFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRXpELCtGQUErRjtBQUMvRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBd0NuRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsMkJBQTJCLENBQUM7QUFFOUU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRDQUE0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LEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDcEUsQ0FBQztZQUNGLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEVBQUU7Z0JBQy9DLGVBQWUsR0FBRyxJQUFJLGtCQUFrQixDQUFPLFNBQVMsRUFBRSxTQUFxQyxDQUFDLENBQUM7Z0JBQ2pHLE9BQU87b0JBQ0gsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRTtvQkFDMUQsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7aUJBQzdELENBQUM7WUFDTixDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBRVAsU0FBUyxDQUFDLGFBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRTVELElBQUksTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsZUFBZSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hDLHVCQUF1QixFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUM1RixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7aUlBOUhRLGVBQWU7cUlBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgREVGQVVMVF9ESUFMT0dfQ09ORklHLCBEaWFsb2csIERJQUxPR19TQ1JPTExfU1RSQVRFR1ksIERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbnRhaW5lcixcbiAgICBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyLFxuICAgIE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLFxuICAgIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFOSU1BVElPTl9NT0RVTEVfVFlQRSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgSW5qZWN0LFxuICAgIGluamVjdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIEluamVjdG9yLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgU2tpcFNlbGYsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLQlFfQUNUSU9OU19QQU5FTF9ERUZBVUxUX0NPTkZJRywgS2JxQWN0aW9uc1BhbmVsQ29uZmlnIH0gZnJvbSAnLi9hY3Rpb25zLXBhbmVsLWNvbmZpZyc7XG5pbXBvcnQgeyBLYnFBY3Rpb25zUGFuZWxDb250YWluZXIgfSBmcm9tICcuL2FjdGlvbnMtcGFuZWwtY29udGFpbmVyJztcbmltcG9ydCB7IEticUFjdGlvbnNQYW5lbFJlZiB9IGZyb20gJy4vYWN0aW9ucy1wYW5lbC1yZWYnO1xuXG4vKiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSBkYXRhIHRoYXQgd2FzIHBhc3NlZCBpbiB0byBhY3Rpb25zIHBhbmVsLiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9BQ1RJT05TX1BBTkVMX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0tCUV9BQ1RJT05TX1BBTkVMX0RBVEEnKTtcblxuLyoqXG4gKiBDb250ZXh0IGZvciBhY3Rpb25zIHBhbmVsIHRlbXBsYXRlLlxuICovXG5leHBvcnQgdHlwZSBLYnFBY3Rpb25zUGFuZWxUZW1wbGF0ZUNvbnRleHQ8VCA9IHVua25vd24sIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4gPSB7XG4gICAgLyoqXG4gICAgICogRGF0YSBwYXNzZWQgdG8gYWN0aW9ucyBwYW5lbC5cbiAgICAgKlxuICAgICAqIEV4YW1wbGU6XG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPG5nLXRlbXBsYXRlICNhY3Rpb25zUGFuZWwgbGV0LWRhdGE+e3sgZGF0YS5LRVkgfX08L25nLXRlbXBsYXRlPlxuICAgICAqIGBgYGBcbiAgICAgKi9cbiAgICAkaW1wbGljaXQ/OiBEIHwgbnVsbDtcbiAgICAvKipcbiAgICAgKiBEYXRhIHBhc3NlZCB0byBhY3Rpb25zIHBhbmVsLlxuICAgICAqXG4gICAgICogRXhhbXBsZTpcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8bmctdGVtcGxhdGUgI2FjdGlvbnNQYW5lbCBsZXQtZGF0YT1cImRhdGFcIj57eyBkYXRhLktFWSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICogYGBgYFxuICAgICAqL1xuICAgIGRhdGE/OiBEIHwgbnVsbDtcbiAgICAvKipcbiAgICAgKiBPcGVuZWQgYWN0aW9ucyBwYW5lbCByZWZlcmVuY2UuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlOlxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxuZy10ZW1wbGF0ZSAjYWN0aW9uc1BhbmVsIGxldC1hY3Rpb25zUGFuZWxSZWY9XCJhY3Rpb25zUGFuZWxSZWZcIj5cbiAgICAgKiAgIDxidXR0b24gKGNsaWNrKT1cImFjdGlvbnNQYW5lbFJlZi5jbG9zZSgpXCI+Y2xvc2U8L2J1dHRvbj5cbiAgICAgKiA8L25nLXRlbXBsYXRlPlxuICAgICAqIGBgYGBcbiAgICAgKi9cbiAgICBhY3Rpb25zUGFuZWxSZWY6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPjtcbn07XG5cbi8qKlxuICogU2VsZWN0b3IgZm9yIGFjdGlvbnMgcGFuZWwgb3ZlcmxheS5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX1NFTEVDVE9SID0gJ2ticS1hY3Rpb25zLXBhbmVsLW92ZXJsYXknO1xuXG4vKipcbiAqIFNlbGVjdG9yIGZvciBjdXN0b20gYWN0aW9ucyBwYW5lbCBvdmVybGF5IGNvbnRhaW5lci5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX0NPTlRBSU5FUl9TRUxFQ1RPUiA9ICdrYnEtYWN0aW9ucy1wYW5lbC1vdmVybGF5LWNvbnRhaW5lcic7XG5cbi8qKlxuICogQWN0aW9ucyBwYW5lbCBvdmVybGF5IGNvbnRhaW5lci5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgS2JxQWN0aW9uc1BhbmVsT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgb3ZlcmxheSBjb250YWluZXIgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250YWluZXJFbGVtZW50IFRoZSBlbGVtZW50IGludG8gd2hpY2ggdGhlIG92ZXJsYXkgd2lsbCBiZSByZW5kZXJlZC5cbiAgICAgKiBAcmV0dXJucyBDdXJyZW50IE92ZXJsYXlDb250YWluZXIgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQgfHwgdGhpcy5fZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKCcuY2RrLW92ZXJsYXktY29udGFpbmVyJykhO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBY3Rpb25zIHBhbmVsIG92ZXJsYXkuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEticUFjdGlvbnNQYW5lbE92ZXJsYXkgZXh0ZW5kcyBPdmVybGF5IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlDb250YWluZXI6IEticUFjdGlvbnNQYW5lbE92ZXJsYXlDb250YWluZXIsXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgIGtleWJvYXJkRGlzcGF0Y2hlcjogT3ZlcmxheUtleWJvYXJkRGlzcGF0Y2hlcixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgZGlyZWN0aW9uYWxpdHk6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIG91dHNpZGVDbGlja0Rpc3BhdGNoZXI6IE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9NT0RVTEVfVFlQRSkgQE9wdGlvbmFsKCkgYW5pbWF0aW9uc01vZHVsZVR5cGU/OiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVnaWVzLFxuICAgICAgICAgICAgb3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgIHBvc2l0aW9uQnVpbGRlcixcbiAgICAgICAgICAgIGtleWJvYXJkRGlzcGF0Y2hlcixcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAgbmdab25lLFxuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBkaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcixcbiAgICAgICAgICAgIGFuaW1hdGlvbnNNb2R1bGVUeXBlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBvdmVybGF5IGNvbnRhaW5lciBlbGVtZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRhaW5lckVsZW1lbnQgVGhlIGVsZW1lbnQgaW50byB3aGljaCB0aGUgb3ZlcmxheSB3aWxsIGJlIHJlbmRlcmVkLlxuICAgICAqIEByZXR1cm5zIEN1cnJlbnQgT3ZlcmxheSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBzZXRPdmVybGF5Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLnNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEFjdGlvbnMgcGFuZWwgZGlhbG9nIHNlcnZpY2UuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEticUFjdGlvbnNQYW5lbERpYWxvZyBleHRlbmRzIERpYWxvZyB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogS2JxQWN0aW9uc1BhbmVsT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERFRkFVTFRfRElBTE9HX0NPTkZJRykgZGVmYXVsdE9wdGlvbnM6IERpYWxvZ0NvbmZpZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50RGlhbG9nOiBEaWFsb2csXG4gICAgICAgIG92ZXJsYXlDb250YWluZXI6IEticUFjdGlvbnNQYW5lbE92ZXJsYXlDb250YWluZXIsXG4gICAgICAgIEBJbmplY3QoRElBTE9HX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihvdmVybGF5LCBpbmplY3RvciwgZGVmYXVsdE9wdGlvbnMsIHBhcmVudERpYWxvZywgb3ZlcmxheUNvbnRhaW5lciwgc2Nyb2xsU3RyYXRlZ3kpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGlhbG9nIG92ZXJsYXkgY29udGFpbmVyIGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyRWxlbWVudCBUaGUgZWxlbWVudCBpbnRvIHdoaWNoIHRoZSBvdmVybGF5IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICogQHJldHVybnMgQ3VycmVudCBkaWFsb2cgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc2V0T3ZlcmxheUNvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudD86IEhUTUxFbGVtZW50KTogdGhpcyB7XG4gICAgICAgIHRoaXMub3ZlcmxheS5zZXRPdmVybGF5Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufVxuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG9wZW5pbmcgYWN0aW9ucyBwYW5lbC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBLYnFBY3Rpb25zUGFuZWwgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheSA9IGluamVjdChLYnFBY3Rpb25zUGFuZWxPdmVybGF5KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZyA9IGluamVjdChLYnFBY3Rpb25zUGFuZWxEaWFsb2cpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdENvbmZpZyA9IGluamVjdChLQlFfQUNUSU9OU19QQU5FTF9ERUZBVUxUX0NPTkZJRyk7XG5cbiAgICAvKiogVGhlIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudGx5IG9wZW5lZCBhY3Rpb25zIHBhbmVsLiAqL1xuICAgIHByaXZhdGUgb3BlbmVkQWN0aW9uc1BhbmVsUmVmOiBLYnFBY3Rpb25zUGFuZWxSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYWN0aW9ucyBwYW5lbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21wb25lbnRPclRlbXBsYXRlUmVmIENvbXBvbmVudCB0byBiZSBvcGVuZWQgaW50byB0aGUgYWN0aW9ucyBwYW5lbC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIEFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgYWN0aW9ucyBwYW5lbC5cbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGFjdGlvbnMgcGFuZWwuXG4gICAgICovXG4gICAgb3BlbjxULCBEID0gdW5rbm93biwgUiA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sXG4gICAgICAgIGNvbmZpZz86IEticUFjdGlvbnNQYW5lbENvbmZpZzxEPlxuICAgICk6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGFjdGlvbnMgcGFuZWwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGVtcGxhdGVSZWYgdG8gYmUgdXNlZCBhcyB0aGUgY29udGVudC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIEFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgYWN0aW9ucyBwYW5lbC5cbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGFjdGlvbnMgcGFuZWwuXG4gICAgICovXG4gICAgb3BlbjxULCBEID0gdW5rbm93biwgUiA9IHVua25vd24+KFxuICAgICAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIGNvbmZpZz86IEticUFjdGlvbnNQYW5lbENvbmZpZzxEPlxuICAgICk6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPjtcblxuICAgIG9wZW48VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPihcbiAgICAgICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgICAgICBjb25maWc/OiBLYnFBY3Rpb25zUGFuZWxDb25maWc8RD5cbiAgICApOiBLYnFBY3Rpb25zUGFuZWxSZWY8VCwgUj4ge1xuICAgICAgICBjb25zdCBfY29uZmlnOiBLYnFBY3Rpb25zUGFuZWxDb25maWc8RD4gPSB7XG4gICAgICAgICAgICAuLi4odGhpcy5kZWZhdWx0Q29uZmlnIGFzIEticUFjdGlvbnNQYW5lbENvbmZpZzxEPiksXG4gICAgICAgICAgICAuLi5jb25maWdcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYWN0aW9uc1BhbmVsUmVmID0gdGhpcy5vcGVuRGlhbG9nPFQsIEQsIFI+KGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsIF9jb25maWcpO1xuXG4gICAgICAgIGFjdGlvbnNQYW5lbFJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMub3BlbmVkQWN0aW9uc1BhbmVsUmVmID09PSBhY3Rpb25zUGFuZWxSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZEFjdGlvbnNQYW5lbFJlZiA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZEFjdGlvbnNQYW5lbFJlZikge1xuICAgICAgICAgICAgdGhpcy5vcGVuZWRBY3Rpb25zUGFuZWxSZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zUGFuZWxSZWYuY29udGFpbmVySW5zdGFuY2U/LnN0YXJ0T3BlbkFuaW1hdGlvbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZEFjdGlvbnNQYW5lbFJlZi5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWN0aW9uc1BhbmVsUmVmLmNvbnRhaW5lckluc3RhbmNlLnN0YXJ0T3BlbkFuaW1hdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuZWRBY3Rpb25zUGFuZWxSZWYgPSBhY3Rpb25zUGFuZWxSZWYgYXMgS2JxQWN0aW9uc1BhbmVsUmVmO1xuXG4gICAgICAgIHJldHVybiBhY3Rpb25zUGFuZWxSZWY7XG4gICAgfVxuXG4gICAgLyoqIENsb3NlcyB0aGUgY3VycmVudGx5IG9wZW5lZCBhY3Rpb25zIHBhbmVsLiAqL1xuICAgIGNsb3NlPFI+KHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuZWRBY3Rpb25zUGFuZWxSZWY/LmNsb3NlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRGlhbG9nPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnOiBLYnFBY3Rpb25zUGFuZWxDb25maWc8RD4gPSB7fVxuICAgICk6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPiB7XG4gICAgICAgIGxldCBhY3Rpb25zUGFuZWxSZWYhOiBLYnFBY3Rpb25zUGFuZWxSZWY8VCwgUj47XG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb250YWluZXJFbGVtZW50ID0gY29uZmlnLm92ZXJsYXlDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIG92ZXJsYXlDb250YWluZXJFbGVtZW50Py5jbGFzc0xpc3QuYWRkKEtCUV9BQ1RJT05TX1BBTkVMX09WRVJMQVlfQ09OVEFJTkVSX1NFTEVDVE9SKTtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dcbiAgICAgICAgICAgIC5zZXRPdmVybGF5Q29udGFpbmVyRWxlbWVudChvdmVybGF5Q29udGFpbmVyRWxlbWVudClcbiAgICAgICAgICAgIC5vcGVuPFIsIEQsIFQ+KGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsIHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgY29udGFpbmVyOiBLYnFBY3Rpb25zUGFuZWxDb250YWluZXIsXG4gICAgICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhdXRvRm9jdXM6IG51bGwhLFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIGNsb3Npbmcgc2luY2Ugd2UgbmVlZCB0byBzeW5jIGl0IHVwIHRvIHRoZSBhbmltYXRpb24gb3Vyc2VsdmVzXG4gICAgICAgICAgICAgICAgY2xvc2VPbk92ZXJsYXlEZXRhY2htZW50czogZmFsc2UsXG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBjbG9zaW5nIHNpbmNlIHdlIG5lZWQgdG8gc3luYyBpdCB1cCB0byB0aGUgYW5pbWF0aW9uIG91cnNlbHZlc1xuICAgICAgICAgICAgICAgIGNsb3NlT25EZXN0cm95OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIGNsb3Npbmcgc2luY2Ugd2UgbmVlZCB0byBzeW5jIGl0IHVwIHRvIHRoZSBhbmltYXRpb24gb3Vyc2VsdmVzXG4gICAgICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBjb25maWcuc2Nyb2xsU3RyYXRlZ3kgJiYgY29uZmlnLnNjcm9sbFN0cmF0ZWd5KHRoaXMub3ZlcmxheSksXG4gICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuYm90dG9tKCksXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVDb250ZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbmZpZy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogY29uZmlnLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zUGFuZWxSZWZcbiAgICAgICAgICAgICAgICAgICAgfSBzYXRpc2ZpZXMgS2JxQWN0aW9uc1BhbmVsVGVtcGxhdGVDb250ZXh0PFQsIEQsIFI+O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY29uZmlnLmluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogS2JxQWN0aW9uc1BhbmVsQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnIH1dXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgcHJvdmlkZXJzOiAoZGlhbG9nUmVmLCBfZGlhbG9nQ29uZmlnLCBjb250YWluZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uc1BhbmVsUmVmID0gbmV3IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPihkaWFsb2dSZWYsIGNvbnRhaW5lciBhcyBLYnFBY3Rpb25zUGFuZWxDb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBwcm92aWRlOiBLYnFBY3Rpb25zUGFuZWxSZWYsIHVzZVZhbHVlOiBhY3Rpb25zUGFuZWxSZWYgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogS0JRX0FDVElPTlNfUEFORUxfREFUQSwgdXNlVmFsdWU6IGNvbmZpZy5kYXRhIH1cbiAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBkaWFsb2dSZWYuYWRkUGFuZWxDbGFzcyhLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX1NFTEVDVE9SKTtcblxuICAgICAgICBpZiAoY29uZmlnLm92ZXJsYXlQYW5lbENsYXNzKSB7XG4gICAgICAgICAgICBkaWFsb2dSZWYuYWRkUGFuZWxDbGFzcyhjb25maWcub3ZlcmxheVBhbmVsQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYWN0aW9uc1BhbmVsUmVmPy5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgb3ZlcmxheUNvbnRhaW5lckVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoS0JRX0FDVElPTlNfUEFORUxfT1ZFUkxBWV9DT05UQUlORVJfU0VMRUNUT1IpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gYWN0aW9uc1BhbmVsUmVmO1xuICAgIH1cbn1cbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9ucy1wYW5lbC9hY3Rpb25zLXBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFHLE9BQU8sRUFFSCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUN4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUNILHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsTUFBTSxFQUNOLE1BQU0sRUFDTixVQUFVLEVBQ1YsY0FBYyxFQUNkLFFBQVEsRUFDUixNQUFNLEVBRU4sUUFBUSxFQUNSLFFBQVEsRUFFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRXpELCtGQUErRjtBQUMvRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBd0NuRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsMkJBQTJCLENBQUM7QUFFOUU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRDQUE0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LEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDcEUsQ0FBQztZQUNGLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEVBQUU7Z0JBQy9DLGVBQWUsR0FBRyxJQUFJLGtCQUFrQixDQUFPLFNBQVMsRUFBRSxTQUFxQyxDQUFDLENBQUM7Z0JBRWpHLE9BQU87b0JBQ0gsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRTtvQkFDMUQsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7aUJBQzdELENBQUM7WUFDTixDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBRVAsU0FBUyxDQUFDLGFBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRTVELElBQUksTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsZUFBZSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hDLHVCQUF1QixFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUM1RixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7aUlBaElRLGVBQWU7cUlBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgREVGQVVMVF9ESUFMT0dfQ09ORklHLCBEaWFsb2csIERJQUxPR19TQ1JPTExfU1RSQVRFR1ksIERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbnRhaW5lcixcbiAgICBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyLFxuICAgIE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLFxuICAgIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFOSU1BVElPTl9NT0RVTEVfVFlQRSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgSW5qZWN0LFxuICAgIGluamVjdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIEluamVjdG9yLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgU2tpcFNlbGYsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLQlFfQUNUSU9OU19QQU5FTF9ERUZBVUxUX0NPTkZJRywgS2JxQWN0aW9uc1BhbmVsQ29uZmlnIH0gZnJvbSAnLi9hY3Rpb25zLXBhbmVsLWNvbmZpZyc7XG5pbXBvcnQgeyBLYnFBY3Rpb25zUGFuZWxDb250YWluZXIgfSBmcm9tICcuL2FjdGlvbnMtcGFuZWwtY29udGFpbmVyJztcbmltcG9ydCB7IEticUFjdGlvbnNQYW5lbFJlZiB9IGZyb20gJy4vYWN0aW9ucy1wYW5lbC1yZWYnO1xuXG4vKiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSBkYXRhIHRoYXQgd2FzIHBhc3NlZCBpbiB0byBhY3Rpb25zIHBhbmVsLiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9BQ1RJT05TX1BBTkVMX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0tCUV9BQ1RJT05TX1BBTkVMX0RBVEEnKTtcblxuLyoqXG4gKiBDb250ZXh0IGZvciBhY3Rpb25zIHBhbmVsIHRlbXBsYXRlLlxuICovXG5leHBvcnQgdHlwZSBLYnFBY3Rpb25zUGFuZWxUZW1wbGF0ZUNvbnRleHQ8VCA9IHVua25vd24sIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4gPSB7XG4gICAgLyoqXG4gICAgICogRGF0YSBwYXNzZWQgdG8gYWN0aW9ucyBwYW5lbC5cbiAgICAgKlxuICAgICAqIEV4YW1wbGU6XG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPG5nLXRlbXBsYXRlICNhY3Rpb25zUGFuZWwgbGV0LWRhdGE+e3sgZGF0YS5LRVkgfX08L25nLXRlbXBsYXRlPlxuICAgICAqIGBgYGBcbiAgICAgKi9cbiAgICAkaW1wbGljaXQ/OiBEIHwgbnVsbDtcbiAgICAvKipcbiAgICAgKiBEYXRhIHBhc3NlZCB0byBhY3Rpb25zIHBhbmVsLlxuICAgICAqXG4gICAgICogRXhhbXBsZTpcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8bmctdGVtcGxhdGUgI2FjdGlvbnNQYW5lbCBsZXQtZGF0YT1cImRhdGFcIj57eyBkYXRhLktFWSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICogYGBgYFxuICAgICAqL1xuICAgIGRhdGE/OiBEIHwgbnVsbDtcbiAgICAvKipcbiAgICAgKiBPcGVuZWQgYWN0aW9ucyBwYW5lbCByZWZlcmVuY2UuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlOlxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxuZy10ZW1wbGF0ZSAjYWN0aW9uc1BhbmVsIGxldC1hY3Rpb25zUGFuZWxSZWY9XCJhY3Rpb25zUGFuZWxSZWZcIj5cbiAgICAgKiAgIDxidXR0b24gKGNsaWNrKT1cImFjdGlvbnNQYW5lbFJlZi5jbG9zZSgpXCI+Y2xvc2U8L2J1dHRvbj5cbiAgICAgKiA8L25nLXRlbXBsYXRlPlxuICAgICAqIGBgYGBcbiAgICAgKi9cbiAgICBhY3Rpb25zUGFuZWxSZWY6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPjtcbn07XG5cbi8qKlxuICogU2VsZWN0b3IgZm9yIGFjdGlvbnMgcGFuZWwgb3ZlcmxheS5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX1NFTEVDVE9SID0gJ2ticS1hY3Rpb25zLXBhbmVsLW92ZXJsYXknO1xuXG4vKipcbiAqIFNlbGVjdG9yIGZvciBjdXN0b20gYWN0aW9ucyBwYW5lbCBvdmVybGF5IGNvbnRhaW5lci5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX0NPTlRBSU5FUl9TRUxFQ1RPUiA9ICdrYnEtYWN0aW9ucy1wYW5lbC1vdmVybGF5LWNvbnRhaW5lcic7XG5cbi8qKlxuICogQWN0aW9ucyBwYW5lbCBvdmVybGF5IGNvbnRhaW5lci5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgS2JxQWN0aW9uc1BhbmVsT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgb3ZlcmxheSBjb250YWluZXIgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250YWluZXJFbGVtZW50IFRoZSBlbGVtZW50IGludG8gd2hpY2ggdGhlIG92ZXJsYXkgd2lsbCBiZSByZW5kZXJlZC5cbiAgICAgKiBAcmV0dXJucyBDdXJyZW50IE92ZXJsYXlDb250YWluZXIgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQgfHwgdGhpcy5fZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKCcuY2RrLW92ZXJsYXktY29udGFpbmVyJykhO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBY3Rpb25zIHBhbmVsIG92ZXJsYXkuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEticUFjdGlvbnNQYW5lbE92ZXJsYXkgZXh0ZW5kcyBPdmVybGF5IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlDb250YWluZXI6IEticUFjdGlvbnNQYW5lbE92ZXJsYXlDb250YWluZXIsXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgIGtleWJvYXJkRGlzcGF0Y2hlcjogT3ZlcmxheUtleWJvYXJkRGlzcGF0Y2hlcixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgZGlyZWN0aW9uYWxpdHk6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIG91dHNpZGVDbGlja0Rpc3BhdGNoZXI6IE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9NT0RVTEVfVFlQRSkgQE9wdGlvbmFsKCkgYW5pbWF0aW9uc01vZHVsZVR5cGU/OiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVnaWVzLFxuICAgICAgICAgICAgb3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgIHBvc2l0aW9uQnVpbGRlcixcbiAgICAgICAgICAgIGtleWJvYXJkRGlzcGF0Y2hlcixcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAgbmdab25lLFxuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBkaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcixcbiAgICAgICAgICAgIGFuaW1hdGlvbnNNb2R1bGVUeXBlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBvdmVybGF5IGNvbnRhaW5lciBlbGVtZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRhaW5lckVsZW1lbnQgVGhlIGVsZW1lbnQgaW50byB3aGljaCB0aGUgb3ZlcmxheSB3aWxsIGJlIHJlbmRlcmVkLlxuICAgICAqIEByZXR1cm5zIEN1cnJlbnQgT3ZlcmxheSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBzZXRPdmVybGF5Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLnNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEFjdGlvbnMgcGFuZWwgZGlhbG9nIHNlcnZpY2UuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEticUFjdGlvbnNQYW5lbERpYWxvZyBleHRlbmRzIERpYWxvZyB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogS2JxQWN0aW9uc1BhbmVsT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERFRkFVTFRfRElBTE9HX0NPTkZJRykgZGVmYXVsdE9wdGlvbnM6IERpYWxvZ0NvbmZpZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50RGlhbG9nOiBEaWFsb2csXG4gICAgICAgIG92ZXJsYXlDb250YWluZXI6IEticUFjdGlvbnNQYW5lbE92ZXJsYXlDb250YWluZXIsXG4gICAgICAgIEBJbmplY3QoRElBTE9HX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihvdmVybGF5LCBpbmplY3RvciwgZGVmYXVsdE9wdGlvbnMsIHBhcmVudERpYWxvZywgb3ZlcmxheUNvbnRhaW5lciwgc2Nyb2xsU3RyYXRlZ3kpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGlhbG9nIG92ZXJsYXkgY29udGFpbmVyIGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyRWxlbWVudCBUaGUgZWxlbWVudCBpbnRvIHdoaWNoIHRoZSBvdmVybGF5IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICogQHJldHVybnMgQ3VycmVudCBkaWFsb2cgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc2V0T3ZlcmxheUNvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudD86IEhUTUxFbGVtZW50KTogdGhpcyB7XG4gICAgICAgIHRoaXMub3ZlcmxheS5zZXRPdmVybGF5Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG5cbi8qKlxuICogU2VydmljZSBmb3Igb3BlbmluZyBhY3Rpb25zIHBhbmVsLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEticUFjdGlvbnNQYW5lbCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5ID0gaW5qZWN0KEticUFjdGlvbnNQYW5lbE92ZXJsYXkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nID0gaW5qZWN0KEticUFjdGlvbnNQYW5lbERpYWxvZyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0Q29uZmlnID0gaW5qZWN0KEtCUV9BQ1RJT05TX1BBTkVMX0RFRkFVTFRfQ09ORklHKTtcblxuICAgIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50bHkgb3BlbmVkIGFjdGlvbnMgcGFuZWwuICovXG4gICAgcHJpdmF0ZSBvcGVuZWRBY3Rpb25zUGFuZWxSZWY6IEticUFjdGlvbnNQYW5lbFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhY3Rpb25zIHBhbmVsLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbXBvbmVudE9yVGVtcGxhdGVSZWYgQ29tcG9uZW50IHRvIGJlIG9wZW5lZCBpbnRvIHRoZSBhY3Rpb25zIHBhbmVsLlxuICAgICAqIEBwYXJhbSBjb25maWcgQWRkaXRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBhY3Rpb25zIHBhbmVsLlxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgYWN0aW9ucyBwYW5lbC5cbiAgICAgKi9cbiAgICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPixcbiAgICAgICAgY29uZmlnPzogS2JxQWN0aW9uc1BhbmVsQ29uZmlnPEQ+XG4gICAgKTogS2JxQWN0aW9uc1BhbmVsUmVmPFQsIFI+O1xuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYWN0aW9ucyBwYW5lbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZSBUZW1wbGF0ZVJlZiB0byBiZSB1c2VkIGFzIHRoZSBjb250ZW50LlxuICAgICAqIEBwYXJhbSBjb25maWcgQWRkaXRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBhY3Rpb25zIHBhbmVsLlxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgYWN0aW9ucyBwYW5lbC5cbiAgICAgKi9cbiAgICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogS2JxQWN0aW9uc1BhbmVsQ29uZmlnPEQ+XG4gICAgKTogS2JxQWN0aW9uc1BhbmVsUmVmPFQsIFI+O1xuXG4gICAgb3BlbjxULCBEID0gdW5rbm93biwgUiA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIGNvbmZpZz86IEticUFjdGlvbnNQYW5lbENvbmZpZzxEPlxuICAgICk6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPiB7XG4gICAgICAgIGNvbnN0IF9jb25maWc6IEticUFjdGlvbnNQYW5lbENvbmZpZzxEPiA9IHtcbiAgICAgICAgICAgIC4uLih0aGlzLmRlZmF1bHRDb25maWcgYXMgS2JxQWN0aW9uc1BhbmVsQ29uZmlnPEQ+KSxcbiAgICAgICAgICAgIC4uLmNvbmZpZ1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBhY3Rpb25zUGFuZWxSZWYgPSB0aGlzLm9wZW5EaWFsb2c8VCwgRCwgUj4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgX2NvbmZpZyk7XG5cbiAgICAgICAgYWN0aW9uc1BhbmVsUmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcGVuZWRBY3Rpb25zUGFuZWxSZWYgPT09IGFjdGlvbnNQYW5lbFJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbmVkQWN0aW9uc1BhbmVsUmVmID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbmVkQWN0aW9uc1BhbmVsUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZEFjdGlvbnNQYW5lbFJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvbnNQYW5lbFJlZi5jb250YWluZXJJbnN0YW5jZT8uc3RhcnRPcGVuQW5pbWF0aW9uKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkQWN0aW9uc1BhbmVsUmVmLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY3Rpb25zUGFuZWxSZWYuY29udGFpbmVySW5zdGFuY2Uuc3RhcnRPcGVuQW5pbWF0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW5lZEFjdGlvbnNQYW5lbFJlZiA9IGFjdGlvbnNQYW5lbFJlZiBhcyBLYnFBY3Rpb25zUGFuZWxSZWY7XG5cbiAgICAgICAgcmV0dXJuIGFjdGlvbnNQYW5lbFJlZjtcbiAgICB9XG5cbiAgICAvKiogQ2xvc2VzIHRoZSBjdXJyZW50bHkgb3BlbmVkIGFjdGlvbnMgcGFuZWwuICovXG4gICAgY2xvc2U8Uj4ocmVzdWx0PzogUik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZEFjdGlvbnNQYW5lbFJlZj8uY2xvc2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5EaWFsb2c8VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPihcbiAgICAgICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgICAgICBjb25maWc6IEticUFjdGlvbnNQYW5lbENvbmZpZzxEPiA9IHt9XG4gICAgKTogS2JxQWN0aW9uc1BhbmVsUmVmPFQsIFI+IHtcbiAgICAgICAgbGV0IGFjdGlvbnNQYW5lbFJlZiE6IEticUFjdGlvbnNQYW5lbFJlZjxULCBSPjtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbnRhaW5lckVsZW1lbnQgPSBjb25maWcub3ZlcmxheUNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBvdmVybGF5Q29udGFpbmVyRWxlbWVudD8uY2xhc3NMaXN0LmFkZChLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX0NPTlRBSU5FUl9TRUxFQ1RPUik7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nXG4gICAgICAgICAgICAuc2V0T3ZlcmxheUNvbnRhaW5lckVsZW1lbnQob3ZlcmxheUNvbnRhaW5lckVsZW1lbnQpXG4gICAgICAgICAgICAub3BlbjxSLCBELCBUPihjb21wb25lbnRPclRlbXBsYXRlUmVmLCB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogS2JxQWN0aW9uc1BhbmVsQ29udGFpbmVyLFxuICAgICAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzOiBudWxsISxcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBjbG9zaW5nIHNpbmNlIHdlIG5lZWQgdG8gc3luYyBpdCB1cCB0byB0aGUgYW5pbWF0aW9uIG91cnNlbHZlc1xuICAgICAgICAgICAgICAgIGNsb3NlT25PdmVybGF5RGV0YWNobWVudHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIC8vIERpc2FibGUgY2xvc2luZyBzaW5jZSB3ZSBuZWVkIHRvIHN5bmMgaXQgdXAgdG8gdGhlIGFuaW1hdGlvbiBvdXJzZWx2ZXNcbiAgICAgICAgICAgICAgICBjbG9zZU9uRGVzdHJveTogZmFsc2UsXG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBjbG9zaW5nIHNpbmNlIHdlIG5lZWQgdG8gc3luYyBpdCB1cCB0byB0aGUgYW5pbWF0aW9uIG91cnNlbHZlc1xuICAgICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogY29uZmlnLnNjcm9sbFN0cmF0ZWd5ICYmIGNvbmZpZy5zY3JvbGxTdHJhdGVneSh0aGlzLm92ZXJsYXkpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmJvdHRvbSgpLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlQ29udGV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb25maWcuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGNvbmZpZy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uc1BhbmVsUmVmXG4gICAgICAgICAgICAgICAgICAgIH0gc2F0aXNmaWVzIEticUFjdGlvbnNQYW5lbFRlbXBsYXRlQ29udGV4dDxULCBELCBSPjtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGluamVjdG9yOiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGNvbmZpZy5pbmplY3RvciB8fCB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEticUFjdGlvbnNQYW5lbENvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHByb3ZpZGVyczogKGRpYWxvZ1JlZiwgX2RpYWxvZ0NvbmZpZywgY29udGFpbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbnNQYW5lbFJlZiA9IG5ldyBLYnFBY3Rpb25zUGFuZWxSZWY8VCwgUj4oZGlhbG9nUmVmLCBjb250YWluZXIgYXMgS2JxQWN0aW9uc1BhbmVsQ29udGFpbmVyKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBwcm92aWRlOiBLYnFBY3Rpb25zUGFuZWxSZWYsIHVzZVZhbHVlOiBhY3Rpb25zUGFuZWxSZWYgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogS0JRX0FDVElPTlNfUEFORUxfREFUQSwgdXNlVmFsdWU6IGNvbmZpZy5kYXRhIH1cbiAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBkaWFsb2dSZWYuYWRkUGFuZWxDbGFzcyhLQlFfQUNUSU9OU19QQU5FTF9PVkVSTEFZX1NFTEVDVE9SKTtcblxuICAgICAgICBpZiAoY29uZmlnLm92ZXJsYXlQYW5lbENsYXNzKSB7XG4gICAgICAgICAgICBkaWFsb2dSZWYuYWRkUGFuZWxDbGFzcyhjb25maWcub3ZlcmxheVBhbmVsQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYWN0aW9uc1BhbmVsUmVmPy5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgb3ZlcmxheUNvbnRhaW5lckVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoS0JRX0FDVElPTlNfUEFORUxfT1ZFUkxBWV9DT05UQUlORVJfU0VMRUNUT1IpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gYWN0aW9uc1BhbmVsUmVmO1xuICAgIH1cbn1cbiJdfQ==
@@ -9,11 +9,17 @@ export var KbqAlertStyles;
9
9
  })(KbqAlertStyles || (KbqAlertStyles = {}));
10
10
  export var KbqAlertColors;
11
11
  (function (KbqAlertColors) {
12
- KbqAlertColors["Contrast"] = "contrast";
13
12
  KbqAlertColors["Error"] = "error";
14
13
  KbqAlertColors["Warning"] = "warning";
15
14
  KbqAlertColors["Success"] = "success";
15
+ /** Used the same value as `Theme` to not introduce breaking changes */
16
+ KbqAlertColors["Info"] = "theme";
17
+ /** @deprecated This color key doesn't correlate with design, use `Info` instead.
18
+ * Will be removed in next major release (#DS-3602) */
16
19
  KbqAlertColors["Theme"] = "theme";
20
+ /** @deprecated This color key doesn't correlate with design.
21
+ * Will be removed and replaced with `Info` in next major release (#DS-3602) */
22
+ KbqAlertColors["Contrast"] = "contrast";
17
23
  })(KbqAlertColors || (KbqAlertColors = {}));
18
24
  export class KbqAlertTitle {
19
25
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqAlertTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -72,11 +78,11 @@ export class KbqAlert {
72
78
  ngAfterContentInit() {
73
79
  const icon = this.icon || this.iconItem;
74
80
  if (icon) {
75
- icon.color = this._alertColor;
81
+ icon.color = this._alertColor === KbqAlertColors.Info ? KbqAlertColors.Contrast : this._alertColor;
76
82
  }
77
83
  }
78
84
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqAlert, selector: "kbq-alert", inputs: { compact: "compact", alertStyle: "alertStyle", alertColor: "alertColor" }, host: { properties: { "class": "alertColor", "class.kbq-alert_normal": "!compact", "class.kbq-alert_compact": "compact", "class.kbq-alert_default": "!isColored", "class.kbq-alert_colored": "isColored", "class.kbq-alert_dismissible": "closeButton" }, classAttribute: "kbq-alert" }, queries: [{ propertyName: "iconItem", first: true, predicate: KbqIconItem, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }, { propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "title", first: true, predicate: KbqAlertTitle, descendants: true }, { propertyName: "control", first: true, predicate: KbqAlertControl, descendants: true }, { propertyName: "closeButton", first: true, predicate: KbqAlertCloseButton, descendants: true }], ngImport: i0, template: "@if (iconItem || icon) {\n <div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\" />\n </div>\n}\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\" />\n\n <div class=\"kbq-alert__text\">\n <ng-content />\n </div>\n\n @if (control) {\n <div class=\"kbq-alert__button-stack\" [class.kbq-alert__button-stack_has-button]=\"button\">\n <ng-content select=\"[kbq-alert-control]\" />\n </div>\n }\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\" />\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:var(--kbq-size-xxs)}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius);padding:var(--kbq-alert-size-normal-container-padding-top) var(--kbq-alert-size-normal-container-padding-right) var(--kbq-alert-size-normal-container-padding-bottom) var(--kbq-alert-size-normal-container-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-no-title-icon-margin-top) var(--kbq-alert-size-normal-icon-margin-right) var(--kbq-alert-size-normal-icon-margin-bottom) var(--kbq-alert-size-normal-icon-margin-left);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-normal-icon-margin-top);padding-top:var(--kbq-alert-size-normal-no-title-icon-padding-top)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top) var(--kbq-alert-size-normal-content-padding-right) var(--kbq-alert-size-normal-content-padding-bottom) var(--kbq-alert-size-normal-content-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top);margin-left:var(--kbq-alert-size-normal-close-button-margin-left)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius);padding:var(--kbq-alert-size-compact-container-padding-top) var(--kbq-alert-size-compact-container-padding-right) var(--kbq-alert-size-compact-container-padding-bottom) var(--kbq-alert-size-compact-container-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-no-title-icon-margin-top);margin-right:var(--kbq-alert-size-compact-icon-margin-right);padding-top:var(--kbq-alert-size-compact-no-title-icon-padding-top);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-compact-icon-margin-top);padding-top:var(--kbq-alert-size-compact-icon-padding-top)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top) var(--kbq-alert-size-compact-content-padding-right) var(--kbq-alert-size-compact-content-padding-bottom) var(--kbq-alert-size-compact-content-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top);margin-left:var(--kbq-alert-size-compact-close-button-margin-left)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert__close:focus{outline:none}.kbq-alert.kbq-alert_default.kbq-alert_contrast{background:var(--kbq-alert-default-contrast-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-default-contrast-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-default-contrast-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_error{background:var(--kbq-alert-default-error-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-default-error-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-default-error-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_warning{background:var(--kbq-alert-default-warning-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-default-warning-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-default-warning-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_success{background:var(--kbq-alert-default-success-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-default-success-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-default-success-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_theme{background:var(--kbq-alert-default-theme-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-default-theme-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-default-theme-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast{background:var(--kbq-alert-colored-contrast-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-colored-contrast-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-colored-contrast-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_error{background:var(--kbq-alert-colored-error-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-colored-error-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-colored-error-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_warning{background:var(--kbq-alert-colored-warning-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-colored-warning-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-colored-warning-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_success{background:var(--kbq-alert-colored-success-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-colored-success-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-colored-success-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_theme{background:var(--kbq-alert-colored-theme-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-colored-theme-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-colored-theme-container-text)}.kbq-alert{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-alert .kbq-alert__title{font-size:var(--kbq-typography-subheading-font-size);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-alert.kbq-alert_compact .kbq-alert__title{font-size:var(--kbq-typography-text-big-strong-font-size);font-weight:var(--kbq-typography-text-big-strong-font-weight);line-height:var(--kbq-typography-text-big-strong-line-height);font-family:var(--kbq-typography-text-big-strong-font-family);text-transform:var(--kbq-typography-text-big-strong-text-transform);font-feature-settings:var(--kbq-typography-text-big-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-strong-letter-spacing)}\n", ".kbq-alert{--kbq-alert-size-normal-container-border-radius: var(--kbq-size-m);--kbq-alert-size-normal-container-padding-top: 0;--kbq-alert-size-normal-container-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-container-padding-bottom: 0;--kbq-alert-size-normal-container-padding-left: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-top: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-bottom: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-right: 0;--kbq-alert-size-normal-icon-margin-bottom: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-normal-title-margin-bottom: var(--kbq-size-xxs);--kbq-alert-size-normal-close-button-margin-top: 10px;--kbq-alert-size-normal-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-normal-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-normal-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-normal-no-title-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-size-compact-container-border-radius: var(--kbq-size-m);--kbq-alert-size-compact-container-padding-top: 0;--kbq-alert-size-compact-container-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-container-padding-bottom: 0;--kbq-alert-size-compact-container-padding-left: var(--kbq-size-l);--kbq-alert-size-compact-content-padding-top: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-content-padding-bottom: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-left: 0;--kbq-alert-size-compact-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-icon-margin-right: var(--kbq-size-s);--kbq-alert-size-compact-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-compact-title-margin-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-close-button-margin-top: 10px;--kbq-alert-size-compact-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-compact-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-compact-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-no-title-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-default-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-colored-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-background: var(--kbq-background-error-less);--kbq-alert-colored-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-background: var(--kbq-background-warning-less);--kbq-alert-colored-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-background: var(--kbq-background-success-less);--kbq-alert-colored-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-background: var(--kbq-background-theme-less);--kbq-alert-colored-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-text: var(--kbq-foreground-contrast)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
85
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqAlert, selector: "kbq-alert", inputs: { compact: "compact", alertStyle: "alertStyle", alertColor: "alertColor" }, host: { properties: { "class": "alertColor", "class.kbq-alert_normal": "!compact", "class.kbq-alert_compact": "compact", "class.kbq-alert_default": "!isColored", "class.kbq-alert_colored": "isColored", "class.kbq-alert_dismissible": "closeButton" }, classAttribute: "kbq-alert" }, queries: [{ propertyName: "iconItem", first: true, predicate: KbqIconItem, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }, { propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "title", first: true, predicate: KbqAlertTitle, descendants: true }, { propertyName: "control", first: true, predicate: KbqAlertControl, descendants: true }, { propertyName: "closeButton", first: true, predicate: KbqAlertCloseButton, descendants: true }], ngImport: i0, template: "@if (iconItem || icon) {\n <div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\" />\n </div>\n}\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\" />\n\n <div class=\"kbq-alert__text\">\n <ng-content />\n </div>\n\n @if (control) {\n <div class=\"kbq-alert__button-stack\" [class.kbq-alert__button-stack_has-button]=\"button\">\n <ng-content select=\"[kbq-alert-control]\" />\n </div>\n }\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\" />\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:var(--kbq-size-xxs)}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius);padding:var(--kbq-alert-size-normal-container-padding-top) var(--kbq-alert-size-normal-container-padding-right) var(--kbq-alert-size-normal-container-padding-bottom) var(--kbq-alert-size-normal-container-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-no-title-icon-margin-top) var(--kbq-alert-size-normal-icon-margin-right) var(--kbq-alert-size-normal-icon-margin-bottom) var(--kbq-alert-size-normal-icon-margin-left);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-normal-icon-margin-top);padding-top:var(--kbq-alert-size-normal-no-title-icon-padding-top)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top) var(--kbq-alert-size-normal-content-padding-right) var(--kbq-alert-size-normal-content-padding-bottom) var(--kbq-alert-size-normal-content-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top);margin-left:var(--kbq-alert-size-normal-close-button-margin-left)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius);padding:var(--kbq-alert-size-compact-container-padding-top) var(--kbq-alert-size-compact-container-padding-right) var(--kbq-alert-size-compact-container-padding-bottom) var(--kbq-alert-size-compact-container-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-no-title-icon-margin-top);margin-right:var(--kbq-alert-size-compact-icon-margin-right);padding-top:var(--kbq-alert-size-compact-no-title-icon-padding-top);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-compact-icon-margin-top);padding-top:var(--kbq-alert-size-compact-icon-padding-top)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top) var(--kbq-alert-size-compact-content-padding-right) var(--kbq-alert-size-compact-content-padding-bottom) var(--kbq-alert-size-compact-content-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top);margin-left:var(--kbq-alert-size-compact-close-button-margin-left)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert__close:focus{outline:none}.kbq-alert.kbq-alert_default.kbq-alert_contrast{background:var(--kbq-alert-default-contrast-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-default-contrast-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-default-contrast-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_error{background:var(--kbq-alert-default-error-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-default-error-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-default-error-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_warning{background:var(--kbq-alert-default-warning-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-default-warning-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-default-warning-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_success{background:var(--kbq-alert-default-success-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-default-success-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-default-success-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_theme{background:var(--kbq-alert-default-theme-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-default-theme-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-default-theme-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast{background:var(--kbq-alert-colored-contrast-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-colored-contrast-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-colored-contrast-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_error{background:var(--kbq-alert-colored-error-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-colored-error-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-colored-error-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_warning{background:var(--kbq-alert-colored-warning-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-colored-warning-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-colored-warning-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_success{background:var(--kbq-alert-colored-success-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-colored-success-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-colored-success-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_theme{background:var(--kbq-alert-colored-theme-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-colored-theme-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-colored-theme-container-text)}.kbq-alert{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-alert .kbq-alert__title{font-size:var(--kbq-typography-subheading-font-size);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-alert.kbq-alert_compact .kbq-alert__title{font-size:var(--kbq-typography-text-big-strong-font-size);font-weight:var(--kbq-typography-text-big-strong-font-weight);line-height:var(--kbq-typography-text-big-strong-line-height);font-family:var(--kbq-typography-text-big-strong-font-family);text-transform:var(--kbq-typography-text-big-strong-text-transform);font-feature-settings:var(--kbq-typography-text-big-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-strong-letter-spacing)}\n", ":where(.kbq-alert){--kbq-alert-size-normal-container-border-radius: var(--kbq-size-m);--kbq-alert-size-normal-container-padding-top: 0;--kbq-alert-size-normal-container-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-container-padding-bottom: 0;--kbq-alert-size-normal-container-padding-left: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-top: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-bottom: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-right: 0;--kbq-alert-size-normal-icon-margin-bottom: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-normal-title-margin-bottom: var(--kbq-size-xxs);--kbq-alert-size-normal-close-button-margin-top: 10px;--kbq-alert-size-normal-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-normal-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-normal-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-normal-no-title-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-size-compact-container-border-radius: var(--kbq-size-m);--kbq-alert-size-compact-container-padding-top: 0;--kbq-alert-size-compact-container-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-container-padding-bottom: 0;--kbq-alert-size-compact-container-padding-left: var(--kbq-size-l);--kbq-alert-size-compact-content-padding-top: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-content-padding-bottom: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-left: 0;--kbq-alert-size-compact-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-icon-margin-right: var(--kbq-size-s);--kbq-alert-size-compact-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-compact-title-margin-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-close-button-margin-top: 10px;--kbq-alert-size-compact-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-compact-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-compact-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-no-title-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-default-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-colored-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-background: var(--kbq-background-error-less);--kbq-alert-colored-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-background: var(--kbq-background-warning-less);--kbq-alert-colored-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-background: var(--kbq-background-success-less);--kbq-alert-colored-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-background: var(--kbq-background-theme-less);--kbq-alert-colored-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-text: var(--kbq-foreground-contrast)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
86
  }
81
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqAlert, decorators: [{
82
88
  type: Component,
@@ -88,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
88
94
  '[class.kbq-alert_default]': '!isColored',
89
95
  '[class.kbq-alert_colored]': 'isColored',
90
96
  '[class.kbq-alert_dismissible]': 'closeButton'
91
- }, template: "@if (iconItem || icon) {\n <div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\" />\n </div>\n}\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\" />\n\n <div class=\"kbq-alert__text\">\n <ng-content />\n </div>\n\n @if (control) {\n <div class=\"kbq-alert__button-stack\" [class.kbq-alert__button-stack_has-button]=\"button\">\n <ng-content select=\"[kbq-alert-control]\" />\n </div>\n }\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\" />\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:var(--kbq-size-xxs)}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius);padding:var(--kbq-alert-size-normal-container-padding-top) var(--kbq-alert-size-normal-container-padding-right) var(--kbq-alert-size-normal-container-padding-bottom) var(--kbq-alert-size-normal-container-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-no-title-icon-margin-top) var(--kbq-alert-size-normal-icon-margin-right) var(--kbq-alert-size-normal-icon-margin-bottom) var(--kbq-alert-size-normal-icon-margin-left);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-normal-icon-margin-top);padding-top:var(--kbq-alert-size-normal-no-title-icon-padding-top)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top) var(--kbq-alert-size-normal-content-padding-right) var(--kbq-alert-size-normal-content-padding-bottom) var(--kbq-alert-size-normal-content-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top);margin-left:var(--kbq-alert-size-normal-close-button-margin-left)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius);padding:var(--kbq-alert-size-compact-container-padding-top) var(--kbq-alert-size-compact-container-padding-right) var(--kbq-alert-size-compact-container-padding-bottom) var(--kbq-alert-size-compact-container-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-no-title-icon-margin-top);margin-right:var(--kbq-alert-size-compact-icon-margin-right);padding-top:var(--kbq-alert-size-compact-no-title-icon-padding-top);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-compact-icon-margin-top);padding-top:var(--kbq-alert-size-compact-icon-padding-top)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top) var(--kbq-alert-size-compact-content-padding-right) var(--kbq-alert-size-compact-content-padding-bottom) var(--kbq-alert-size-compact-content-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top);margin-left:var(--kbq-alert-size-compact-close-button-margin-left)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert__close:focus{outline:none}.kbq-alert.kbq-alert_default.kbq-alert_contrast{background:var(--kbq-alert-default-contrast-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-default-contrast-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-default-contrast-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_error{background:var(--kbq-alert-default-error-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-default-error-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-default-error-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_warning{background:var(--kbq-alert-default-warning-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-default-warning-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-default-warning-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_success{background:var(--kbq-alert-default-success-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-default-success-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-default-success-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_theme{background:var(--kbq-alert-default-theme-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-default-theme-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-default-theme-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast{background:var(--kbq-alert-colored-contrast-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-colored-contrast-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-colored-contrast-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_error{background:var(--kbq-alert-colored-error-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-colored-error-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-colored-error-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_warning{background:var(--kbq-alert-colored-warning-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-colored-warning-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-colored-warning-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_success{background:var(--kbq-alert-colored-success-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-colored-success-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-colored-success-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_theme{background:var(--kbq-alert-colored-theme-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-colored-theme-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-colored-theme-container-text)}.kbq-alert{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-alert .kbq-alert__title{font-size:var(--kbq-typography-subheading-font-size);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-alert.kbq-alert_compact .kbq-alert__title{font-size:var(--kbq-typography-text-big-strong-font-size);font-weight:var(--kbq-typography-text-big-strong-font-weight);line-height:var(--kbq-typography-text-big-strong-line-height);font-family:var(--kbq-typography-text-big-strong-font-family);text-transform:var(--kbq-typography-text-big-strong-text-transform);font-feature-settings:var(--kbq-typography-text-big-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-strong-letter-spacing)}\n", ".kbq-alert{--kbq-alert-size-normal-container-border-radius: var(--kbq-size-m);--kbq-alert-size-normal-container-padding-top: 0;--kbq-alert-size-normal-container-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-container-padding-bottom: 0;--kbq-alert-size-normal-container-padding-left: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-top: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-bottom: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-right: 0;--kbq-alert-size-normal-icon-margin-bottom: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-normal-title-margin-bottom: var(--kbq-size-xxs);--kbq-alert-size-normal-close-button-margin-top: 10px;--kbq-alert-size-normal-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-normal-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-normal-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-normal-no-title-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-size-compact-container-border-radius: var(--kbq-size-m);--kbq-alert-size-compact-container-padding-top: 0;--kbq-alert-size-compact-container-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-container-padding-bottom: 0;--kbq-alert-size-compact-container-padding-left: var(--kbq-size-l);--kbq-alert-size-compact-content-padding-top: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-content-padding-bottom: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-left: 0;--kbq-alert-size-compact-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-icon-margin-right: var(--kbq-size-s);--kbq-alert-size-compact-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-compact-title-margin-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-close-button-margin-top: 10px;--kbq-alert-size-compact-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-compact-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-compact-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-no-title-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-default-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-colored-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-background: var(--kbq-background-error-less);--kbq-alert-colored-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-background: var(--kbq-background-warning-less);--kbq-alert-colored-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-background: var(--kbq-background-success-less);--kbq-alert-colored-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-background: var(--kbq-background-theme-less);--kbq-alert-colored-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-text: var(--kbq-foreground-contrast)}\n"] }]
97
+ }, template: "@if (iconItem || icon) {\n <div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\" />\n </div>\n}\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\" />\n\n <div class=\"kbq-alert__text\">\n <ng-content />\n </div>\n\n @if (control) {\n <div class=\"kbq-alert__button-stack\" [class.kbq-alert__button-stack_has-button]=\"button\">\n <ng-content select=\"[kbq-alert-control]\" />\n </div>\n }\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\" />\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:var(--kbq-size-xxs)}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius);padding:var(--kbq-alert-size-normal-container-padding-top) var(--kbq-alert-size-normal-container-padding-right) var(--kbq-alert-size-normal-container-padding-bottom) var(--kbq-alert-size-normal-container-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-no-title-icon-margin-top) var(--kbq-alert-size-normal-icon-margin-right) var(--kbq-alert-size-normal-icon-margin-bottom) var(--kbq-alert-size-normal-icon-margin-left);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-normal-icon-margin-top);padding-top:var(--kbq-alert-size-normal-no-title-icon-padding-top)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top) var(--kbq-alert-size-normal-content-padding-right) var(--kbq-alert-size-normal-content-padding-bottom) var(--kbq-alert-size-normal-content-padding-left)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top);margin-left:var(--kbq-alert-size-normal-close-button-margin-left)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius);padding:var(--kbq-alert-size-compact-container-padding-top) var(--kbq-alert-size-compact-container-padding-right) var(--kbq-alert-size-compact-container-padding-bottom) var(--kbq-alert-size-compact-container-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-no-title-icon-margin-top);margin-right:var(--kbq-alert-size-compact-icon-margin-right);padding-top:var(--kbq-alert-size-compact-no-title-icon-padding-top);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title{margin-top:var(--kbq-alert-size-compact-icon-margin-top);padding-top:var(--kbq-alert-size-compact-icon-padding-top)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top) var(--kbq-alert-size-compact-content-padding-right) var(--kbq-alert-size-compact-content-padding-bottom) var(--kbq-alert-size-compact-content-padding-left)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack_has-button{padding-top:12px}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top);margin-left:var(--kbq-alert-size-compact-close-button-margin-left)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button .kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-alert__close:focus{outline:none}.kbq-alert.kbq-alert_default.kbq-alert_contrast{background:var(--kbq-alert-default-contrast-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-default-contrast-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-default-contrast-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_error{background:var(--kbq-alert-default-error-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-default-error-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-default-error-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_warning{background:var(--kbq-alert-default-warning-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-default-warning-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-default-warning-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_success{background:var(--kbq-alert-default-success-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-default-success-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-default-success-container-text)}.kbq-alert.kbq-alert_default.kbq-alert_theme{background:var(--kbq-alert-default-theme-container-background)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-default-theme-container-title)}.kbq-alert.kbq-alert_default.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-default-theme-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast{background:var(--kbq-alert-colored-contrast-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__title{color:var(--kbq-alert-colored-contrast-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_contrast .kbq-alert__text{color:var(--kbq-alert-colored-contrast-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_error{background:var(--kbq-alert-colored-error-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__title{color:var(--kbq-alert-colored-error-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_error .kbq-alert__text{color:var(--kbq-alert-colored-error-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_warning{background:var(--kbq-alert-colored-warning-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__title{color:var(--kbq-alert-colored-warning-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_warning .kbq-alert__text{color:var(--kbq-alert-colored-warning-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_success{background:var(--kbq-alert-colored-success-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__title{color:var(--kbq-alert-colored-success-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_success .kbq-alert__text{color:var(--kbq-alert-colored-success-container-text)}.kbq-alert.kbq-alert_colored.kbq-alert_theme{background:var(--kbq-alert-colored-theme-container-background)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__title{color:var(--kbq-alert-colored-theme-container-title)}.kbq-alert.kbq-alert_colored.kbq-alert_theme .kbq-alert__text{color:var(--kbq-alert-colored-theme-container-text)}.kbq-alert{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-alert .kbq-alert__title{font-size:var(--kbq-typography-subheading-font-size);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-alert.kbq-alert_compact .kbq-alert__title{font-size:var(--kbq-typography-text-big-strong-font-size);font-weight:var(--kbq-typography-text-big-strong-font-weight);line-height:var(--kbq-typography-text-big-strong-line-height);font-family:var(--kbq-typography-text-big-strong-font-family);text-transform:var(--kbq-typography-text-big-strong-text-transform);font-feature-settings:var(--kbq-typography-text-big-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-strong-letter-spacing)}\n", ":where(.kbq-alert){--kbq-alert-size-normal-container-border-radius: var(--kbq-size-m);--kbq-alert-size-normal-container-padding-top: 0;--kbq-alert-size-normal-container-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-container-padding-bottom: 0;--kbq-alert-size-normal-container-padding-left: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-top: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-right: var(--kbq-size-s);--kbq-alert-size-normal-content-padding-bottom: var(--kbq-size-l);--kbq-alert-size-normal-content-padding-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-right: 0;--kbq-alert-size-normal-icon-margin-bottom: var(--kbq-size-l);--kbq-alert-size-normal-icon-margin-left: var(--kbq-size-m);--kbq-alert-size-normal-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-normal-title-margin-bottom: var(--kbq-size-xxs);--kbq-alert-size-normal-close-button-margin-top: 10px;--kbq-alert-size-normal-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-normal-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-normal-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-normal-no-title-icon-margin-top: var(--kbq-size-l);--kbq-alert-size-normal-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-size-compact-container-border-radius: var(--kbq-size-m);--kbq-alert-size-compact-container-padding-top: 0;--kbq-alert-size-compact-container-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-container-padding-bottom: 0;--kbq-alert-size-compact-container-padding-left: var(--kbq-size-l);--kbq-alert-size-compact-content-padding-top: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-right: var(--kbq-size-s);--kbq-alert-size-compact-content-padding-bottom: var(--kbq-size-m);--kbq-alert-size-compact-content-padding-left: 0;--kbq-alert-size-compact-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-icon-margin-right: var(--kbq-size-s);--kbq-alert-size-compact-icon-padding-top: var(--kbq-size-xxs);--kbq-alert-size-compact-title-margin-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-close-button-margin-top: 10px;--kbq-alert-size-compact-close-button-margin-left: var(--kbq-size-3xs);--kbq-alert-size-compact-button-stack-padding-top: var(--kbq-size-s);--kbq-alert-size-compact-button-stack-padding-bottom: var(--kbq-size-3xs);--kbq-alert-size-compact-no-title-icon-margin-top: var(--kbq-size-m);--kbq-alert-size-compact-no-title-icon-padding-top: var(--kbq-size-3xs);--kbq-alert-default-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-background: var(--kbq-background-contrast-fade);--kbq-alert-default-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-default-theme-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-background: var(--kbq-background-contrast-fade);--kbq-alert-colored-contrast-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-contrast-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-background: var(--kbq-background-error-less);--kbq-alert-colored-error-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-error-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-background: var(--kbq-background-warning-less);--kbq-alert-colored-warning-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-warning-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-background: var(--kbq-background-success-less);--kbq-alert-colored-success-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-success-container-text: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-background: var(--kbq-background-theme-less);--kbq-alert-colored-theme-container-title: var(--kbq-foreground-contrast);--kbq-alert-colored-theme-container-text: var(--kbq-foreground-contrast)}\n"] }]
92
98
  }], propDecorators: { iconItem: [{
93
99
  type: ContentChild,
94
100
  args: [KbqIconItem]
@@ -114,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
114
120
  }], alertColor: [{
115
121
  type: Input
116
122
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFL0QsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN0QixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQU1YO0FBTkQsV0FBWSxjQUFjO0lBQ3RCLHVDQUFxQixDQUFBO0lBQ3JCLGlDQUFlLENBQUE7SUFDZixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFOVyxjQUFjLEtBQWQsY0FBYyxRQU16QjtBQVFELE1BQU0sT0FBTyxhQUFhO2lJQUFiLGFBQWE7cUhBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFOekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjtxQkFDNUI7aUJBQ0o7O0FBU0QsTUFBTSxPQUFPLG1CQUFtQjtpSUFBbkIsbUJBQW1CO3FIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx3QkFBd0I7cUJBQ2xDO2lCQUNKOztBQVNELE1BQU0sT0FBTyxlQUFlO2lJQUFmLGVBQWU7cUhBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjtxQkFDN0I7aUJBQ0o7O0FBbUJELE1BQU0sT0FBTyxRQUFRO0lBaEJyQjtRQXdCYSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBNEIsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQVc5RCxnQkFBVyxHQUE0QixjQUFjLENBQUMsUUFBUSxDQUFDO0tBYTFFO0lBdEJHLElBQ0ksVUFBVTtRQUNWLE9BQU8sYUFBYSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQThCO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDeEQsQ0FBQztJQUlELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3RELENBQUM7SUFFRCxrQkFBa0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztpSUFoQ1EsUUFBUTtxSEFBUixRQUFRLG9jQUNILFdBQVcsdUVBQ1gsT0FBTyx5RUFDUCxTQUFTLHdFQUNULGFBQWEsMEVBQ2IsZUFBZSw4RUFDZixtQkFBbUIsZ0RDdkVyQyxndUJBdUJBOzsyRkQwQ2EsUUFBUTtrQkFoQnBCLFNBQVM7K0JBQ0ksV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLEtBQUssRUFBRSxXQUFXO3dCQUNsQixTQUFTLEVBQUUsWUFBWTt3QkFDdkIsMEJBQTBCLEVBQUUsVUFBVTt3QkFDdEMsMkJBQTJCLEVBQUUsU0FBUzt3QkFDdEMsMkJBQTJCLEVBQUUsWUFBWTt3QkFDekMsMkJBQTJCLEVBQUUsV0FBVzt3QkFDeEMsK0JBQStCLEVBQUUsYUFBYTtxQkFDakQ7OEJBRzBCLFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVztnQkFDRixJQUFJO3NCQUExQixZQUFZO3VCQUFDLE9BQU87Z0JBQ0ksTUFBTTtzQkFBOUIsWUFBWTt1QkFBQyxTQUFTO2dCQUNNLEtBQUs7c0JBQWpDLFlBQVk7dUJBQUMsYUFBYTtnQkFDSSxPQUFPO3NCQUFyQyxZQUFZO3VCQUFDLGVBQWU7Z0JBQ00sV0FBVztzQkFBN0MsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBRXhCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdGLFVBQVU7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticUJ1dHRvbiB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxSWNvbiwgS2JxSWNvbkl0ZW0gfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5cbmV4cG9ydCBlbnVtIEticUFsZXJ0U3R5bGVzIHtcbiAgICBEZWZhdWx0ID0gJ2RlZmF1bHQnLFxuICAgIENvbG9yZWQgPSAnY29sb3JlZCdcbn1cblxuZXhwb3J0IGVudW0gS2JxQWxlcnRDb2xvcnMge1xuICAgIENvbnRyYXN0ID0gJ2NvbnRyYXN0JyxcbiAgICBFcnJvciA9ICdlcnJvcicsXG4gICAgV2FybmluZyA9ICd3YXJuaW5nJyxcbiAgICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICAgIFRoZW1lID0gJ3RoZW1lJ1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtYWxlcnQtdGl0bGVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWFsZXJ0X190aXRsZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUFsZXJ0VGl0bGUge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLWFsZXJ0LWNsb3NlLWJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtYWxlcnQtY2xvc2UtYnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQWxlcnRDbG9zZUJ1dHRvbiB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtYWxlcnQtY29udHJvbF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtYWxlcnQtY29udHJvbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUFsZXJ0Q29udHJvbCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1hbGVydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnYWxlcnQuY29tcG9uZW50LnNjc3MnLCAnYWxlcnQtdG9rZW5zLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtYWxlcnQnLFxuICAgICAgICAnW2NsYXNzXSc6ICdhbGVydENvbG9yJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtYWxlcnRfbm9ybWFsXSc6ICchY29tcGFjdCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWFsZXJ0X2NvbXBhY3RdJzogJ2NvbXBhY3QnLFxuICAgICAgICAnW2NsYXNzLmticS1hbGVydF9kZWZhdWx0XSc6ICchaXNDb2xvcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtYWxlcnRfY29sb3JlZF0nOiAnaXNDb2xvcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtYWxlcnRfZGlzbWlzc2libGVdJzogJ2Nsb3NlQnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQWxlcnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkKEticUljb25JdGVtKSBpY29uSXRlbTogS2JxSWNvbkl0ZW07XG4gICAgQENvbnRlbnRDaGlsZChLYnFJY29uKSBpY29uOiBLYnFJY29uO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxQnV0dG9uKSBidXR0b246IEticUJ1dHRvbjtcbiAgICBAQ29udGVudENoaWxkKEticUFsZXJ0VGl0bGUpIHRpdGxlOiBLYnFBbGVydFRpdGxlO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxQWxlcnRDb250cm9sKSBjb250cm9sOiBLYnFBbGVydENvbnRyb2w7XG4gICAgQENvbnRlbnRDaGlsZChLYnFBbGVydENsb3NlQnV0dG9uKSBjbG9zZUJ1dHRvbjogS2JxQWxlcnRDbG9zZUJ1dHRvbjtcblxuICAgIEBJbnB1dCgpIGNvbXBhY3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhbGVydFN0eWxlOiBLYnFBbGVydFN0eWxlcyB8IHN0cmluZyA9IEticUFsZXJ0U3R5bGVzLkRlZmF1bHQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBhbGVydENvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBga2JxLWFsZXJ0XyR7dGhpcy5fYWxlcnRDb2xvcn1gO1xuICAgIH1cblxuICAgIHNldCBhbGVydENvbG9yKHZhbHVlOiBzdHJpbmcgfCBLYnFBbGVydENvbG9ycykge1xuICAgICAgICB0aGlzLl9hbGVydENvbG9yID0gdmFsdWUgfHwgS2JxQWxlcnRDb2xvcnMuQ29udHJhc3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxlcnRDb2xvcjogc3RyaW5nIHwgS2JxQWxlcnRDb2xvcnMgPSBLYnFBbGVydENvbG9ycy5Db250cmFzdDtcblxuICAgIGdldCBpc0NvbG9yZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0U3R5bGUgPT09IEticUFsZXJ0U3R5bGVzLkNvbG9yZWQ7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpY29uID0gdGhpcy5pY29uIHx8IHRoaXMuaWNvbkl0ZW07XG5cbiAgICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgICAgIGljb24uY29sb3IgPSB0aGlzLl9hbGVydENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmIChpY29uSXRlbSB8fCBpY29uKSB7XG4gICAgPGRpdiBjbGFzcz1cImticS1hbGVydF9faWNvblwiIFtjbGFzcy5rYnEtYWxlcnRfX2ljb25fdGl0bGVdPVwidGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1pY29uLWl0ZW1dLFtrYnEtaWNvbl1cIiAvPlxuICAgIDwvZGl2PlxufVxuXG48ZGl2IGNsYXNzPVwia2JxLWFsZXJ0X19jb250ZW50XCIgW2NsYXNzLmticS1hbGVydF9fY29udGVudF90aXRsZV09XCJ0aXRsZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtYWxlcnQtdGl0bGVdXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJrYnEtYWxlcnRfX3RleHRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoY29udHJvbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWFsZXJ0X19idXR0b24tc3RhY2tcIiBbY2xhc3Mua2JxLWFsZXJ0X19idXR0b24tc3RhY2tfaGFzLWJ1dHRvbl09XCJidXR0b25cIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtYWxlcnQtY29udHJvbF1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImticS1hbGVydF9fY2xvc2UtYnV0dG9uXCIgW2hpZGRlbl09XCIhY2xvc2VCdXR0b25cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLWFsZXJ0LWNsb3NlLWJ1dHRvbl1cIiAvPlxuPC9kaXY+XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFL0QsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN0QixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQVlYO0FBWkQsV0FBWSxjQUFjO0lBQ3RCLGlDQUFlLENBQUE7SUFDZixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtJQUNuQix1RUFBdUU7SUFDdkUsZ0NBQWMsQ0FBQTtJQUNkOzBEQUNzRDtJQUN0RCxpQ0FBZSxDQUFBO0lBQ2Y7bUZBQytFO0lBQy9FLHVDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFaVyxjQUFjLEtBQWQsY0FBYyxRQVl6QjtBQVFELE1BQU0sT0FBTyxhQUFhO2lJQUFiLGFBQWE7cUhBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFOekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjtxQkFDNUI7aUJBQ0o7O0FBU0QsTUFBTSxPQUFPLG1CQUFtQjtpSUFBbkIsbUJBQW1CO3FIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx3QkFBd0I7cUJBQ2xDO2lCQUNKOztBQVNELE1BQU0sT0FBTyxlQUFlO2lJQUFmLGVBQWU7cUhBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjtxQkFDN0I7aUJBQ0o7O0FBbUJELE1BQU0sT0FBTyxRQUFRO0lBaEJyQjtRQXdCYSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBNEIsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQVc5RCxnQkFBVyxHQUE0QixjQUFjLENBQUMsUUFBUSxDQUFDO0tBYTFFO0lBdEJHLElBQ0ksVUFBVTtRQUNWLE9BQU8sYUFBYSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQThCO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDeEQsQ0FBQztJQUlELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3RELENBQUM7SUFFRCxrQkFBa0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZHLENBQUM7SUFDTCxDQUFDO2lJQWhDUSxRQUFRO3FIQUFSLFFBQVEsb2NBQ0gsV0FBVyx1RUFDWCxPQUFPLHlFQUNQLFNBQVMsd0VBQ1QsYUFBYSwwRUFDYixlQUFlLDhFQUNmLG1CQUFtQixnREM3RXJDLGd1QkF1QkE7OzJGRGdEYSxRQUFRO2tCQWhCcEIsU0FBUzsrQkFDSSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLFNBQVMsRUFBRSxZQUFZO3dCQUN2QiwwQkFBMEIsRUFBRSxVQUFVO3dCQUN0QywyQkFBMkIsRUFBRSxTQUFTO3dCQUN0QywyQkFBMkIsRUFBRSxZQUFZO3dCQUN6QywyQkFBMkIsRUFBRSxXQUFXO3dCQUN4QywrQkFBK0IsRUFBRSxhQUFhO3FCQUNqRDs4QkFHMEIsUUFBUTtzQkFBbEMsWUFBWTt1QkFBQyxXQUFXO2dCQUNGLElBQUk7c0JBQTFCLFlBQVk7dUJBQUMsT0FBTztnQkFDSSxNQUFNO3NCQUE5QixZQUFZO3VCQUFDLFNBQVM7Z0JBQ00sS0FBSztzQkFBakMsWUFBWTt1QkFBQyxhQUFhO2dCQUNJLE9BQU87c0JBQXJDLFlBQVk7dUJBQUMsZUFBZTtnQkFDTSxXQUFXO3NCQUE3QyxZQUFZO3VCQUFDLG1CQUFtQjtnQkFFeEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxQnV0dG9uIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBLYnFJY29uLCBLYnFJY29uSXRlbSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcblxuZXhwb3J0IGVudW0gS2JxQWxlcnRTdHlsZXMge1xuICAgIERlZmF1bHQgPSAnZGVmYXVsdCcsXG4gICAgQ29sb3JlZCA9ICdjb2xvcmVkJ1xufVxuXG5leHBvcnQgZW51bSBLYnFBbGVydENvbG9ycyB7XG4gICAgRXJyb3IgPSAnZXJyb3InLFxuICAgIFdhcm5pbmcgPSAnd2FybmluZycsXG4gICAgU3VjY2VzcyA9ICdzdWNjZXNzJyxcbiAgICAvKiogVXNlZCB0aGUgc2FtZSB2YWx1ZSBhcyBgVGhlbWVgIHRvIG5vdCBpbnRyb2R1Y2UgYnJlYWtpbmcgY2hhbmdlcyAqL1xuICAgIEluZm8gPSAndGhlbWUnLFxuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIGNvbG9yIGtleSBkb2Vzbid0IGNvcnJlbGF0ZSB3aXRoIGRlc2lnbiwgdXNlIGBJbmZvYCBpbnN0ZWFkLlxuICAgICAqIFdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHJlbGVhc2UgKCNEUy0zNjAyKSAqL1xuICAgIFRoZW1lID0gJ3RoZW1lJyxcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyBjb2xvciBrZXkgZG9lc24ndCBjb3JyZWxhdGUgd2l0aCBkZXNpZ24uXG4gICAgICogV2lsbCBiZSByZW1vdmVkIGFuZCByZXBsYWNlZCB3aXRoIGBJbmZvYCBpbiBuZXh0IG1ham9yIHJlbGVhc2UgKCNEUy0zNjAyKSAqL1xuICAgIENvbnRyYXN0ID0gJ2NvbnRyYXN0J1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtYWxlcnQtdGl0bGVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWFsZXJ0X190aXRsZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUFsZXJ0VGl0bGUge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLWFsZXJ0LWNsb3NlLWJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtYWxlcnQtY2xvc2UtYnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQWxlcnRDbG9zZUJ1dHRvbiB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtYWxlcnQtY29udHJvbF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtYWxlcnQtY29udHJvbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUFsZXJ0Q29udHJvbCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1hbGVydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnYWxlcnQuY29tcG9uZW50LnNjc3MnLCAnYWxlcnQtdG9rZW5zLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtYWxlcnQnLFxuICAgICAgICAnW2NsYXNzXSc6ICdhbGVydENvbG9yJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtYWxlcnRfbm9ybWFsXSc6ICchY29tcGFjdCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWFsZXJ0X2NvbXBhY3RdJzogJ2NvbXBhY3QnLFxuICAgICAgICAnW2NsYXNzLmticS1hbGVydF9kZWZhdWx0XSc6ICchaXNDb2xvcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtYWxlcnRfY29sb3JlZF0nOiAnaXNDb2xvcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtYWxlcnRfZGlzbWlzc2libGVdJzogJ2Nsb3NlQnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQWxlcnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkKEticUljb25JdGVtKSBpY29uSXRlbTogS2JxSWNvbkl0ZW07XG4gICAgQENvbnRlbnRDaGlsZChLYnFJY29uKSBpY29uOiBLYnFJY29uO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxQnV0dG9uKSBidXR0b246IEticUJ1dHRvbjtcbiAgICBAQ29udGVudENoaWxkKEticUFsZXJ0VGl0bGUpIHRpdGxlOiBLYnFBbGVydFRpdGxlO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxQWxlcnRDb250cm9sKSBjb250cm9sOiBLYnFBbGVydENvbnRyb2w7XG4gICAgQENvbnRlbnRDaGlsZChLYnFBbGVydENsb3NlQnV0dG9uKSBjbG9zZUJ1dHRvbjogS2JxQWxlcnRDbG9zZUJ1dHRvbjtcblxuICAgIEBJbnB1dCgpIGNvbXBhY3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhbGVydFN0eWxlOiBLYnFBbGVydFN0eWxlcyB8IHN0cmluZyA9IEticUFsZXJ0U3R5bGVzLkRlZmF1bHQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBhbGVydENvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBga2JxLWFsZXJ0XyR7dGhpcy5fYWxlcnRDb2xvcn1gO1xuICAgIH1cblxuICAgIHNldCBhbGVydENvbG9yKHZhbHVlOiBzdHJpbmcgfCBLYnFBbGVydENvbG9ycykge1xuICAgICAgICB0aGlzLl9hbGVydENvbG9yID0gdmFsdWUgfHwgS2JxQWxlcnRDb2xvcnMuQ29udHJhc3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxlcnRDb2xvcjogc3RyaW5nIHwgS2JxQWxlcnRDb2xvcnMgPSBLYnFBbGVydENvbG9ycy5Db250cmFzdDtcblxuICAgIGdldCBpc0NvbG9yZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0U3R5bGUgPT09IEticUFsZXJ0U3R5bGVzLkNvbG9yZWQ7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpY29uID0gdGhpcy5pY29uIHx8IHRoaXMuaWNvbkl0ZW07XG5cbiAgICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgICAgIGljb24uY29sb3IgPSB0aGlzLl9hbGVydENvbG9yID09PSBLYnFBbGVydENvbG9ycy5JbmZvID8gS2JxQWxlcnRDb2xvcnMuQ29udHJhc3QgOiB0aGlzLl9hbGVydENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmIChpY29uSXRlbSB8fCBpY29uKSB7XG4gICAgPGRpdiBjbGFzcz1cImticS1hbGVydF9faWNvblwiIFtjbGFzcy5rYnEtYWxlcnRfX2ljb25fdGl0bGVdPVwidGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1pY29uLWl0ZW1dLFtrYnEtaWNvbl1cIiAvPlxuICAgIDwvZGl2PlxufVxuXG48ZGl2IGNsYXNzPVwia2JxLWFsZXJ0X19jb250ZW50XCIgW2NsYXNzLmticS1hbGVydF9fY29udGVudF90aXRsZV09XCJ0aXRsZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtYWxlcnQtdGl0bGVdXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJrYnEtYWxlcnRfX3RleHRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoY29udHJvbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWFsZXJ0X19idXR0b24tc3RhY2tcIiBbY2xhc3Mua2JxLWFsZXJ0X19idXR0b24tc3RhY2tfaGFzLWJ1dHRvbl09XCJidXR0b25cIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtYWxlcnQtY29udHJvbF1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImticS1hbGVydF9fY2xvc2UtYnV0dG9uXCIgW2hpZGRlbl09XCIhY2xvc2VCdXR0b25cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLWFsZXJ0LWNsb3NlLWJ1dHRvbl1cIiAvPlxuPC9kaXY+XG4iXX0=