@koobiq/components 17.2.0 → 17.4.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 (113) hide show
  1. package/alert/_alert-theme.scss +3 -3
  2. package/alert/alert.component.scss +6 -6
  3. package/autocomplete/_autocomplete-theme.scss +2 -2
  4. package/badge/_badge-theme.scss +6 -5
  5. package/button/_button-theme.scss +4 -4
  6. package/button-toggle/_button-toggle-theme.scss +4 -1
  7. package/checkbox/_checkbox-theme.scss +35 -17
  8. package/code-block/_code-block-theme.scss +218 -214
  9. package/core/forms/_forms.scss +2 -2
  10. package/core/option/_option-action-theme.scss +1 -1
  11. package/core/option/_option-theme.scss +7 -4
  12. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +5 -5
  13. package/core/styles/_koobiq-theme.scss +2 -2
  14. package/core/styles/theming/_components-theming.scss +17 -19
  15. package/core/styles/theming/_scrollbar-theme.scss +6 -5
  16. package/core/styles/theming/_theming.scss +1 -0
  17. package/core/styles/typography/_typography.scss +70 -68
  18. package/datepicker/_datepicker-theme.scss +14 -11
  19. package/datepicker/calendar-header.component.d.ts +1 -0
  20. package/datepicker/datepicker-content.scss +8 -3
  21. package/datepicker/datepicker-toggle.scss +1 -0
  22. package/dl/_dl-theme.scss +2 -2
  23. package/dropdown/_dropdown-theme.scss +4 -4
  24. package/empty-state/_empty-state-theme.scss +2 -2
  25. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  26. package/esm2022/core/version.mjs +2 -2
  27. package/esm2022/datepicker/calendar-header.component.mjs +7 -3
  28. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  29. package/esm2022/form-field/form-field.mjs +2 -2
  30. package/esm2022/form-field/stepper.mjs +2 -2
  31. package/esm2022/icon/icon-button.component.mjs +2 -2
  32. package/esm2022/list/list-selection.component.mjs +2 -2
  33. package/esm2022/list/list.component.mjs +2 -2
  34. package/esm2022/markdown/markdown.component.mjs +2 -2
  35. package/esm2022/modal/modal-ref.class.mjs +1 -1
  36. package/esm2022/modal/modal.service.mjs +4 -6
  37. package/esm2022/modal/modal.type.mjs +1 -1
  38. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  39. package/esm2022/popover/popover.component.mjs +72 -15
  40. package/esm2022/popover/popover.module.mjs +6 -4
  41. package/esm2022/select/select.component.mjs +2 -2
  42. package/esm2022/tabs/tab-body.component.mjs +3 -3
  43. package/esm2022/tabs/tab.component.mjs +3 -4
  44. package/esm2022/toast/toast.component.mjs +3 -3
  45. package/fesm2022/koobiq-components-core.mjs +2 -2
  46. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-datepicker.mjs +8 -4
  48. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-form-field.mjs +4 -4
  50. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-icon.mjs +2 -2
  52. package/fesm2022/koobiq-components-list.mjs +4 -4
  53. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  55. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-modal.mjs +3 -5
  57. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-popover.mjs +82 -25
  59. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-select.mjs +1 -1
  61. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-tabs.mjs +4 -5
  63. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-toast.mjs +2 -2
  65. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  66. package/file-upload/_file-upload-theme.scss +31 -27
  67. package/form-field/_form-field-theme.scss +6 -6
  68. package/form-field/form-field.scss +2 -2
  69. package/form-field/stepper.scss +5 -1
  70. package/icon/_icon-button-theme.scss +45 -26
  71. package/icon/_icon-item-theme.scss +1 -1
  72. package/icon/icon-button.scss +4 -4
  73. package/input/_input-theme.scss +1 -1
  74. package/link/_link-theme.scss +12 -6
  75. package/list/_list-theme.scss +8 -5
  76. package/list/list.scss +1 -0
  77. package/loader-overlay/_loader-overlay-theme.scss +10 -6
  78. package/markdown/_markdown-theme.scss +1 -1
  79. package/markdown/markdown.scss +5 -6
  80. package/modal/_modal-theme.scss +6 -5
  81. package/modal/modal-ref.class.d.ts +2 -2
  82. package/modal/modal.service.d.ts +9 -9
  83. package/modal/modal.type.d.ts +6 -6
  84. package/navbar/_navbar-theme.scss +9 -9
  85. package/package.json +18 -14
  86. package/popover/_popover-theme.scss +9 -4
  87. package/popover/popover.component.d.ts +22 -8
  88. package/popover/popover.module.d.ts +3 -1
  89. package/popover/popover.scss +32 -0
  90. package/prebuilt-themes/dark-theme.css +1 -1
  91. package/prebuilt-themes/light-theme.css +1 -1
  92. package/progress-bar/_progress-bar-theme.scss +2 -2
  93. package/progress-spinner/_progress-spinner-theme.scss +3 -3
  94. package/radio/_radio-theme.scss +15 -19
  95. package/schematics/ng-add/index.js +4 -4
  96. package/scrollbar/_scrollbar-component-theme.scss +27 -12
  97. package/select/_select-theme.scss +2 -2
  98. package/sidepanel/_sidepanel-theme.scss +4 -4
  99. package/splitter/_splitter-theme.scss +1 -2
  100. package/splitter/splitter.scss +3 -3
  101. package/table/_table-theme.scss +2 -2
  102. package/tabs/_tabs-theme.scss +4 -3
  103. package/tags/_tag-theme.scss +7 -5
  104. package/timepicker/timepicker.scss +1 -0
  105. package/timezone/_timezone-option-theme.scss +3 -3
  106. package/toast/_toast-theme.scss +1 -1
  107. package/toast/toast.component.scss +1 -1
  108. package/toggle/_toggle-theme.scss +1 -1
  109. package/tooltip/_tooltip-theme.scss +1 -0
  110. package/tree/_tree-theme.scss +5 -5
  111. package/tree/toggle.scss +1 -1
  112. package/tree-select/_tree-select-theme.scss +2 -2
  113. package/toggle/README.md +0 -0
@@ -101,13 +101,13 @@ export class KbqTabBody {
101
101
  return 'right-origin-center';
102
102
  }
103
103
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
104
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqTabBody, selector: "kbq-tab-body", inputs: { position: "position", content: "content", origin: "origin", animationDuration: "animationDuration" }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "kbq-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "<div\n #content\n cdk-scrollable\n class=\"kbq-tab-body__content kbq-scrollbar\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration }\n }\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.CdkScrollable), selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i0.forwardRef(() => KbqTabBodyPortal), selector: "[kbqTabBodyHost]" }], animations: [kbqTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
104
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqTabBody, selector: "kbq-tab-body", inputs: { position: "position", content: "content", origin: "origin", animationDuration: "animationDuration" }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "kbq-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "<div\n #content\n cdk-scrollable\n class=\"kbq-tab-body__content kbq-scrollbar kbq-hide-nested-popup\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration }\n }\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.CdkScrollable), selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i0.forwardRef(() => KbqTabBodyPortal), selector: "[kbqTabBodyHost]" }], animations: [kbqTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
105
105
  }
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTabBody, decorators: [{
107
107
  type: Component,
108
108
  args: [{ selector: 'kbq-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [kbqTabsAnimations.translateTab], host: {
109
109
  class: 'kbq-tab-body'
110
- }, template: "<div\n #content\n cdk-scrollable\n class=\"kbq-tab-body__content kbq-scrollbar\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration }\n }\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"] }]
110
+ }, template: "<div\n #content\n cdk-scrollable\n class=\"kbq-tab-body__content kbq-scrollbar kbq-hide-nested-popup\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration }\n }\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"] }]
111
111
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
112
112
  type: Optional
113
113
  }] }, { type: i0.ChangeDetectorRef }], propDecorators: { position: [{
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
175
175
  type: Inject,
176
176
  args: [forwardRef(() => KbqTabBody)]
177
177
  }] }] });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90YWJzL3RhYi1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFicy90YWItYm9keS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQXNCdEQ7OztHQUdHO0FBWUgsTUFBTSxPQUFPLFVBQVU7SUFDbkIsK0ZBQStGO0lBQy9GLElBQ0ksUUFBUSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFxQ0QsWUFDcUIsVUFBbUMsRUFDdkIsR0FBbUIsRUFDaEQsaUJBQW9DO1FBRm5CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBbENwRCx5RkFBeUY7UUFD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SSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztpSUFyQ1EsZ0JBQWdCLDBGQVNiLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7cUhBVC9CLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2lCQUMvQjs7MEJBVVEsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXQsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBrYnFUYWJzQW5pbWF0aW9ucyB9IGZyb20gJy4vdGFicy1hbmltYXRpb25zJztcblxuLyoqXG4gKiBUaGVzZSBwb3NpdGlvbiBzdGF0ZXMgYXJlIHVzZWQgaW50ZXJuYWxseSBhcyBhbmltYXRpb24gc3RhdGVzIGZvciB0aGUgdGFiIGJvZHkuIFNldHRpbmcgdGhlXG4gKiBwb3NpdGlvbiBzdGF0ZSB0byBsZWZ0LCByaWdodCwgb3IgY2VudGVyIHdpbGwgdHJhbnNpdGlvbiB0aGUgdGFiIGJvZHkgZnJvbSBpdHMgY3VycmVudFxuICogcG9zaXRpb24gdG8gaXRzIHJlc3BlY3RpdmUgc3RhdGUuIElmIHRoZXJlIGlzIG5vdCBjdXJyZW50IHBvc2l0aW9uICh2b2lkLCBpbiB0aGUgY2FzZSBvZiBhIG5ld1xuICogdGFiIGJvZHkpLCB0aGVuIHRoZXJlIHdpbGwgYmUgbm8gdHJhbnNpdGlvbiBhbmltYXRpb24gdG8gaXRzIHN0YXRlLlxuICpcbiAqIEluIHRoZSBjYXNlIG9mIGEgbmV3IHRhYiBib2R5IHRoYXQgc2hvdWxkIGltbWVkaWF0ZWx5IGJlIGNlbnRlcmVkIHdpdGggYW4gYW5pbWF0aW5nIHRyYW5zaXRpb24sXG4gKiB0aGVuIGxlZnQtb3JpZ2luLWNlbnRlciBvciByaWdodC1vcmlnaW4tY2VudGVyIGNhbiBiZSB1c2VkLCB3aGljaCB3aWxsIHVzZSBsZWZ0IG9yIHJpZ2h0IGFzIGl0c1xuICogcHNldWRvLXByaW9yIHN0YXRlLlxuICovXG5leHBvcnQgdHlwZSBLYnFUYWJCb2R5UG9zaXRpb25TdGF0ZSA9ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyB8ICdsZWZ0LW9yaWdpbi1jZW50ZXInIHwgJ3JpZ2h0LW9yaWdpbi1jZW50ZXInO1xuXG4vKipcbiAqIFRoZSBvcmlnaW4gc3RhdGUgaXMgYW4gaW50ZXJuYWxseSB1c2VkIHN0YXRlIHRoYXQgaXMgc2V0IG9uIGEgbmV3IHRhYiBib2R5IGluZGljYXRpbmcgaWYgaXRcbiAqIGJlZ2FuIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBwcmlvciBzZWxlY3RlZCBpbmRleC4gRm9yIGV4YW1wbGUsIGlmIHRoZSBzZWxlY3RlZCBpbmRleCB3YXNcbiAqIHNldCB0byAxLCBhbmQgYSBuZXcgdGFiIGlzIGNyZWF0ZWQgYW5kIHNlbGVjdGVkIGF0IGluZGV4IDIsIHRoZW4gdGhlIHRhYiBib2R5IHdvdWxkIGhhdmUgYW5cbiAqIG9yaWdpbiBvZiByaWdodCBiZWNhdXNlIGl0cyBpbmRleCB3YXMgZ3JlYXRlciB0aGFuIHRoZSBwcmlvciBzZWxlY3RlZCBpbmRleC5cbiAqL1xuZXhwb3J0IHR5cGUgS2JxVGFiQm9keU9yaWdpblN0YXRlID0gJ2xlZnQnIHwgJ3JpZ2h0JztcblxuLyoqXG4gKiBXcmFwcGVyIGZvciB0aGUgY29udGVudHMgb2YgYSB0YWIuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRhYi1ib2R5JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RhYi1ib2R5Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyd0YWItYm9keS5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBba2JxVGFic0FuaW1hdGlvbnMudHJhbnNsYXRlVGFiXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRhYi1ib2R5J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFiQm9keSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogVGhlIHNoaWZ0ZWQgaW5kZXggcG9zaXRpb24gb2YgdGhlIHRhYiBib2R5LCB3aGVyZSB6ZXJvIHJlcHJlc2VudHMgdGhlIGFjdGl2ZSBjZW50ZXIgdGFiLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBvc2l0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wb3NpdGlvbkluZGV4ID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMuY29tcHV0ZVBvc2l0aW9uQW5pbWF0aW9uU3RhdGUoKTtcbiAgICB9XG5cbiAgICAvKiogVGFiIGJvZHkgcG9zaXRpb24gc3RhdGUuIFVzZWQgYnkgdGhlIGFuaW1hdGlvbiB0cmlnZ2VyIGZvciB0aGUgY3VycmVudCBzdGF0ZS4gKi9cbiAgICBib2R5UG9zaXRpb246IEticVRhYkJvZHlQb3NpdGlvblN0YXRlO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdGFiIGJlZ2lucyB0byBhbmltYXRlIHRvd2FyZHMgdGhlIGNlbnRlciBhcyB0aGUgYWN0aXZlIHRhYi4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25DZW50ZXJpbmc6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIGNlbnRlcmluZyBvZiB0aGUgdGFiIGJlZ2lucy4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgYmVmb3JlQ2VudGVyaW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIGNlbnRlcmluZyBvZiB0aGUgdGFiIGJlZ2lucy4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgYWZ0ZXJMZWF2aW5nQ2VudGVyOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB0YWIgY29tcGxldGVzIGl0cyBhbmltYXRpb24gdG93YXJkcyB0aGUgY2VudGVyLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvbkNlbnRlcmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KHRydWUpO1xuXG4gICAgLyoqIFRoZSBwb3J0YWwgaG9zdCBpbnNpZGUgb2YgdGhpcyBjb250YWluZXIgaW50byB3aGljaCB0aGUgdGFiIGJvZHkgY29udGVudCB3aWxsIGJlIGxvYWRlZC4gKi9cbiAgICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcnRhbEhvc3Q6IENka1BvcnRhbE91dGxldDtcblxuICAgIC8qKiBUaGUgdGFiIGJvZHkgY29udGVudCB0byBkaXNwbGF5LiAqL1xuICAgIEBJbnB1dCgpIGNvbnRlbnQ6IFRlbXBsYXRlUG9ydGFsO1xuXG4gICAgLyoqIFBvc2l0aW9uIHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIHRhYiBpcyBpbW1lZGlhdGVseSBiZWNvbWluZyB2aXNpYmxlIGFmdGVyIGNyZWF0aW9uLiAqL1xuICAgIEBJbnB1dCgpIG9yaWdpbjogbnVtYmVyO1xuXG4gICAgLy8gTm90ZSB0aGF0IHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgYWx3YXlzIGJlIG92ZXJ3cml0dGVuIGJ5IGBLYnFUYWJCb2R5YCwgYnV0IHdlIG5lZWQgb25lXG4gICAgLy8gYW55d2F5IHRvIHByZXZlbnQgdGhlIGFuaW1hdGlvbnMgbW9kdWxlIGZyb20gdGhyb3dpbmcgYW4gZXJyb3IgaWYgdGhlIGJvZHkgaXMgdXNlZCBvbiBpdHMgb3duLlxuICAgIC8qKiBEdXJhdGlvbiBmb3IgdGhlIHRhYidzIGFuaW1hdGlvbi4gKi9cbiAgICBASW5wdXQoKSBhbmltYXRpb25EdXJhdGlvbjogc3RyaW5nID0gJzBtcyc7XG5cbiAgICAvKiogQ3VycmVudCBwb3NpdGlvbiBvZiB0aGUgdGFiLWJvZHkgaW4gdGhlIHRhYi1ncm91cC4gWmVybyBtZWFucyB0aGF0IHRoZSB0YWIgaXMgdmlzaWJsZS4gKi9cbiAgICBwcml2YXRlIHBvc2l0aW9uSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBTdWJzY3JpcHRpb24gdG8gdGhlIGRpcmVjdGlvbmFsaXR5IGNoYW5nZSBvYnNlcnZhYmxlLiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyQ2hhbmdlU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmRpciAmJiBjaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICAgICAgdGhpcy5kaXJDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLmRpci5jaGFuZ2Uuc3Vic2NyaWJlKChkaXJlY3Rpb246IERpcmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZVBvc2l0aW9uQW5pbWF0aW9uU3RhdGUoZGlyZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWZ0ZXIgaW5pdGlhbGl6ZWQsIGNoZWNrIGlmIHRoZSBjb250ZW50IGlzIGNlbnRlcmVkIGFuZCBoYXMgYW4gb3JpZ2luLiBJZiBzbywgc2V0IHRoZVxuICAgICAqIHNwZWNpYWwgcG9zaXRpb24gc3RhdGVzIHRoYXQgdHJhbnNpdGlvbiB0aGUgdGFiIGZyb20gdGhlIGxlZnQgb3IgcmlnaHQgYmVmb3JlIGNlbnRlcmluZy5cbiAgICAgKi9cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYm9keVBvc2l0aW9uID09PSAnY2VudGVyJyAmJiB0aGlzLm9yaWdpbiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmJvZHlQb3NpdGlvbiA9IHRoaXMuY29tcHV0ZVBvc2l0aW9uRnJvbU9yaWdpbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGlyQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25UcmFuc2xhdGVUYWJTdGFydGVkKGU6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ2VudGVyaW5nID0gdGhpcy5pc0NlbnRlclBvc2l0aW9uKGUudG9TdGF0ZSk7XG4gICAgICAgIHRoaXMuYmVmb3JlQ2VudGVyaW5nLmVtaXQoaXNDZW50ZXJpbmcpO1xuXG4gICAgICAgIGlmIChpc0NlbnRlcmluZykge1xuICAgICAgICAgICAgdGhpcy5vbkNlbnRlcmluZy5lbWl0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRyYW5zbGF0ZVRhYkNvbXBsZXRlKGU6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIElmIHRoZSB0cmFuc2l0aW9uIHRvIHRoZSBjZW50ZXIgaXMgY29tcGxldGUsIGVtaXQgYW4gZXZlbnQuXG4gICAgICAgIGlmICh0aGlzLmlzQ2VudGVyUG9zaXRpb24oZS50b1N0YXRlKSAmJiB0aGlzLmlzQ2VudGVyUG9zaXRpb24odGhpcy5ib2R5UG9zaXRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2VudGVyZWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDZW50ZXJQb3NpdGlvbihlLmZyb21TdGF0ZSkgJiYgIXRoaXMuaXNDZW50ZXJQb3NpdGlvbih0aGlzLmJvZHlQb3NpdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJMZWF2aW5nQ2VudGVyLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBUaGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIGNvbnRhaW5pbmcgYXBwLiAqL1xuICAgIGdldExheW91dERpcmVjdGlvbigpOiBEaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXIgJiYgdGhpcy5kaXIudmFsdWUgPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgcHJvdmlkZWQgcG9zaXRpb24gc3RhdGUgaXMgY29uc2lkZXJlZCBjZW50ZXIsIHJlZ2FyZGxlc3Mgb2Ygb3JpZ2luLiAqL1xuICAgIGlzQ2VudGVyUG9zaXRpb24ocG9zaXRpb246IEticVRhYkJvZHlQb3NpdGlvblN0YXRlIHwgc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBwb3NpdGlvbiA9PT0gJ2NlbnRlcicgfHwgcG9zaXRpb24gPT09ICdsZWZ0LW9yaWdpbi1jZW50ZXInIHx8IHBvc2l0aW9uID09PSAncmlnaHQtb3JpZ2luLWNlbnRlcic7XG4gICAgfVxuXG4gICAgLyoqIENvbXB1dGVzIHRoZSBwb3NpdGlvbiBzdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRhYi1ib2R5IGFuaW1hdGlvbiB0cmlnZ2VyLiAqL1xuICAgIHByaXZhdGUgY29tcHV0ZVBvc2l0aW9uQW5pbWF0aW9uU3RhdGUoZGlyOiBEaXJlY3Rpb24gPSB0aGlzLmdldExheW91dERpcmVjdGlvbigpKSB7XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uSW5kZXggPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmJvZHlQb3NpdGlvbiA9IGRpciA9PT0gJ2x0cicgPyAnbGVmdCcgOiAncmlnaHQnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucG9zaXRpb25JbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYm9keVBvc2l0aW9uID0gZGlyID09PSAnbHRyJyA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJvZHlQb3NpdGlvbiA9ICdjZW50ZXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIHBvc2l0aW9uIHN0YXRlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgb3JpZ2luIHBvc2l0aW9uLiBUaGlzIGlzIHVzZWQgaWYgdGhlXG4gICAgICogdGFiIGlzIGJlY29taW5nIHZpc2libGUgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpb24uXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb21wdXRlUG9zaXRpb25Gcm9tT3JpZ2luKCk6IEticVRhYkJvZHlQb3NpdGlvblN0YXRlIHtcbiAgICAgICAgY29uc3QgZGlyID0gdGhpcy5nZXRMYXlvdXREaXJlY3Rpb24oKTtcblxuICAgICAgICBpZiAoKGRpciA9PT0gJ2x0cicgJiYgdGhpcy5vcmlnaW4gPD0gMCkgfHwgKGRpciA9PT0gJ3J0bCcgJiYgdGhpcy5vcmlnaW4gPiAwKSkge1xuICAgICAgICAgICAgcmV0dXJuICdsZWZ0LW9yaWdpbi1jZW50ZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICdyaWdodC1vcmlnaW4tY2VudGVyJztcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIHBvcnRhbCBob3N0IGRpcmVjdGl2ZSBmb3IgdGhlIGNvbnRlbnRzIG9mIHRoZSB0YWIuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticVRhYkJvZHlIb3N0XSdcbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFiQm9keVBvcnRhbCBleHRlbmRzIENka1BvcnRhbE91dGxldCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIGV2ZW50cyBmb3Igd2hlbiB0aGUgdGFiIGJvZHkgYmVnaW5zIGNlbnRlcmluZy4gKi9cbiAgICBwcml2YXRlIGNlbnRlcmluZ1N1YiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIGV2ZW50cyBmb3Igd2hlbiB0aGUgdGFiIGJvZHkgZmluaXNoZXMgbGVhdmluZyBmcm9tIGNlbnRlciBwb3NpdGlvbi4gKi9cbiAgICBwcml2YXRlIGxlYXZpbmdTdWIgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBLYnFUYWJCb2R5KSkgcHJpdmF0ZSByZWFkb25seSBob3N0OiBLYnFUYWJCb2R5XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgLyoqIFNldCBpbml0aWFsIHZpc2liaWxpdHkgb3Igc2V0IHVwIHN1YnNjcmlwdGlvbiBmb3IgY2hhbmdpbmcgdmlzaWJpbGl0eS4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmNlbnRlcmluZ1N1YiA9IHRoaXMuaG9zdC5iZWZvcmVDZW50ZXJpbmdcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLmhvc3QuaXNDZW50ZXJQb3NpdGlvbih0aGlzLmhvc3QuYm9keVBvc2l0aW9uKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpc0NlbnRlcmluZzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0NlbnRlcmluZyAmJiAhdGhpcy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNoKHRoaXMuaG9zdC5jb250ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxlYXZpbmdTdWIgPSB0aGlzLmhvc3QuYWZ0ZXJMZWF2aW5nQ2VudGVyLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRldGFjaCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ2xlYW4gdXAgY2VudGVyaW5nIHN1YnNjcmlwdGlvbi4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmNlbnRlcmluZ1N1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmxlYXZpbmdTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRlbnRcbiAgICBjZGstc2Nyb2xsYWJsZVxuICAgIGNsYXNzPVwia2JxLXRhYi1ib2R5X19jb250ZW50IGticS1zY3JvbGxiYXJcIlxuICAgIChAdHJhbnNsYXRlVGFiLmRvbmUpPVwib25UcmFuc2xhdGVUYWJDb21wbGV0ZSgkZXZlbnQpXCJcbiAgICAoQHRyYW5zbGF0ZVRhYi5zdGFydCk9XCJvblRyYW5zbGF0ZVRhYlN0YXJ0ZWQoJGV2ZW50KVwiXG4gICAgW0B0cmFuc2xhdGVUYWJdPVwie1xuICAgICAgICB2YWx1ZTogYm9keVBvc2l0aW9uLFxuICAgICAgICBwYXJhbXM6IHsgYW5pbWF0aW9uRHVyYXRpb246IGFuaW1hdGlvbkR1cmF0aW9uIH1cbiAgICB9XCJcbj5cbiAgICA8bmctdGVtcGxhdGUga2JxVGFiQm9keUhvc3QgLz5cbjwvZGl2PlxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90YWJzL3RhYi1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFicy90YWItYm9keS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQXNCdEQ7OztHQUdHO0FBWUgsTUFBTSxPQUFPLFVBQVU7SUFDbkIsK0ZBQStGO0lBQy9GLElBQ0ksUUFBUSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFxQ0QsWUFDcUIsVUFBbUMsRUFDdkIsR0FBbUIsRUFDaEQsaUJBQW9DO1FBRm5CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBbENwRCx5RkFBeUY7UUFD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SSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztpSUFyQ1EsZ0JBQWdCLDBGQVNiLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7cUhBVC9CLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2lCQUMvQjs7MEJBVVEsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXQsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBrYnFUYWJzQW5pbWF0aW9ucyB9IGZyb20gJy4vdGFicy1hbmltYXRpb25zJztcblxuLyoqXG4gKiBUaGVzZSBwb3NpdGlvbiBzdGF0ZXMgYXJlIHVzZWQgaW50ZXJuYWxseSBhcyBhbmltYXRpb24gc3RhdGVzIGZvciB0aGUgdGFiIGJvZHkuIFNldHRpbmcgdGhlXG4gKiBwb3NpdGlvbiBzdGF0ZSB0byBsZWZ0LCByaWdodCwgb3IgY2VudGVyIHdpbGwgdHJhbnNpdGlvbiB0aGUgdGFiIGJvZHkgZnJvbSBpdHMgY3VycmVudFxuICogcG9zaXRpb24gdG8gaXRzIHJlc3BlY3RpdmUgc3RhdGUuIElmIHRoZXJlIGlzIG5vdCBjdXJyZW50IHBvc2l0aW9uICh2b2lkLCBpbiB0aGUgY2FzZSBvZiBhIG5ld1xuICogdGFiIGJvZHkpLCB0aGVuIHRoZXJlIHdpbGwgYmUgbm8gdHJhbnNpdGlvbiBhbmltYXRpb24gdG8gaXRzIHN0YXRlLlxuICpcbiAqIEluIHRoZSBjYXNlIG9mIGEgbmV3IHRhYiBib2R5IHRoYXQgc2hvdWxkIGltbWVkaWF0ZWx5IGJlIGNlbnRlcmVkIHdpdGggYW4gYW5pbWF0aW5nIHRyYW5zaXRpb24sXG4gKiB0aGVuIGxlZnQtb3JpZ2luLWNlbnRlciBvciByaWdodC1vcmlnaW4tY2VudGVyIGNhbiBiZSB1c2VkLCB3aGljaCB3aWxsIHVzZSBsZWZ0IG9yIHJpZ2h0IGFzIGl0c1xuICogcHNldWRvLXByaW9yIHN0YXRlLlxuICovXG5leHBvcnQgdHlwZSBLYnFUYWJCb2R5UG9zaXRpb25TdGF0ZSA9ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyB8ICdsZWZ0LW9yaWdpbi1jZW50ZXInIHwgJ3JpZ2h0LW9yaWdpbi1jZW50ZXInO1xuXG4vKipcbiAqIFRoZSBvcmlnaW4gc3RhdGUgaXMgYW4gaW50ZXJuYWxseSB1c2VkIHN0YXRlIHRoYXQgaXMgc2V0IG9uIGEgbmV3IHRhYiBib2R5IGluZGljYXRpbmcgaWYgaXRcbiAqIGJlZ2FuIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBwcmlvciBzZWxlY3RlZCBpbmRleC4gRm9yIGV4YW1wbGUsIGlmIHRoZSBzZWxlY3RlZCBpbmRleCB3YXNcbiAqIHNldCB0byAxLCBhbmQgYSBuZXcgdGFiIGlzIGNyZWF0ZWQgYW5kIHNlbGVjdGVkIGF0IGluZGV4IDIsIHRoZW4gdGhlIHRhYiBib2R5IHdvdWxkIGhhdmUgYW5cbiAqIG9yaWdpbiBvZiByaWdodCBiZWNhdXNlIGl0cyBpbmRleCB3YXMgZ3JlYXRlciB0aGFuIHRoZSBwcmlvciBzZWxlY3RlZCBpbmRleC5cbiAqL1xuZXhwb3J0IHR5cGUgS2JxVGFiQm9keU9yaWdpblN0YXRlID0gJ2xlZnQnIHwgJ3JpZ2h0JztcblxuLyoqXG4gKiBXcmFwcGVyIGZvciB0aGUgY29udGVudHMgb2YgYSB0YWIuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRhYi1ib2R5JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RhYi1ib2R5Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyd0YWItYm9keS5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBba2JxVGFic0FuaW1hdGlvbnMudHJhbnNsYXRlVGFiXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRhYi1ib2R5J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFiQm9keSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogVGhlIHNoaWZ0ZWQgaW5kZXggcG9zaXRpb24gb2YgdGhlIHRhYiBib2R5LCB3aGVyZSB6ZXJvIHJlcHJlc2VudHMgdGhlIGFjdGl2ZSBjZW50ZXIgdGFiLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBvc2l0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wb3NpdGlvbkluZGV4ID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMuY29tcHV0ZVBvc2l0aW9uQW5pbWF0aW9uU3RhdGUoKTtcbiAgICB9XG5cbiAgICAvKiogVGFiIGJvZHkgcG9zaXRpb24gc3RhdGUuIFVzZWQgYnkgdGhlIGFuaW1hdGlvbiB0cmlnZ2VyIGZvciB0aGUgY3VycmVudCBzdGF0ZS4gKi9cbiAgICBib2R5UG9zaXRpb246IEticVRhYkJvZHlQb3NpdGlvblN0YXRlO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdGFiIGJlZ2lucyB0byBhbmltYXRlIHRvd2FyZHMgdGhlIGNlbnRlciBhcyB0aGUgYWN0aXZlIHRhYi4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25DZW50ZXJpbmc6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIGNlbnRlcmluZyBvZiB0aGUgdGFiIGJlZ2lucy4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgYmVmb3JlQ2VudGVyaW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIGNlbnRlcmluZyBvZiB0aGUgdGFiIGJlZ2lucy4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgYWZ0ZXJMZWF2aW5nQ2VudGVyOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB0YWIgY29tcGxldGVzIGl0cyBhbmltYXRpb24gdG93YXJkcyB0aGUgY2VudGVyLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvbkNlbnRlcmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KHRydWUpO1xuXG4gICAgLyoqIFRoZSBwb3J0YWwgaG9zdCBpbnNpZGUgb2YgdGhpcyBjb250YWluZXIgaW50byB3aGljaCB0aGUgdGFiIGJvZHkgY29udGVudCB3aWxsIGJlIGxvYWRlZC4gKi9cbiAgICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcnRhbEhvc3Q6IENka1BvcnRhbE91dGxldDtcblxuICAgIC8qKiBUaGUgdGFiIGJvZHkgY29udGVudCB0byBkaXNwbGF5LiAqL1xuICAgIEBJbnB1dCgpIGNvbnRlbnQ6IFRlbXBsYXRlUG9ydGFsO1xuXG4gICAgLyoqIFBvc2l0aW9uIHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIHRhYiBpcyBpbW1lZGlhdGVseSBiZWNvbWluZyB2aXNpYmxlIGFmdGVyIGNyZWF0aW9uLiAqL1xuICAgIEBJbnB1dCgpIG9yaWdpbjogbnVtYmVyO1xuXG4gICAgLy8gTm90ZSB0aGF0IHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgYWx3YXlzIGJlIG92ZXJ3cml0dGVuIGJ5IGBLYnFUYWJCb2R5YCwgYnV0IHdlIG5lZWQgb25lXG4gICAgLy8gYW55d2F5IHRvIHByZXZlbnQgdGhlIGFuaW1hdGlvbnMgbW9kdWxlIGZyb20gdGhyb3dpbmcgYW4gZXJyb3IgaWYgdGhlIGJvZHkgaXMgdXNlZCBvbiBpdHMgb3duLlxuICAgIC8qKiBEdXJhdGlvbiBmb3IgdGhlIHRhYidzIGFuaW1hdGlvbi4gKi9cbiAgICBASW5wdXQoKSBhbmltYXRpb25EdXJhdGlvbjogc3RyaW5nID0gJzBtcyc7XG5cbiAgICAvKiogQ3VycmVudCBwb3NpdGlvbiBvZiB0aGUgdGFiLWJvZHkgaW4gdGhlIHRhYi1ncm91cC4gWmVybyBtZWFucyB0aGF0IHRoZSB0YWIgaXMgdmlzaWJsZS4gKi9cbiAgICBwcml2YXRlIHBvc2l0aW9uSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBTdWJzY3JpcHRpb24gdG8gdGhlIGRpcmVjdGlvbmFsaXR5IGNoYW5nZSBvYnNlcnZhYmxlLiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyQ2hhbmdlU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmRpciAmJiBjaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICAgICAgdGhpcy5kaXJDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLmRpci5jaGFuZ2Uuc3Vic2NyaWJlKChkaXJlY3Rpb246IERpcmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZVBvc2l0aW9uQW5pbWF0aW9uU3RhdGUoZGlyZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWZ0ZXIgaW5pdGlhbGl6ZWQsIGNoZWNrIGlmIHRoZSBjb250ZW50IGlzIGNlbnRlcmVkIGFuZCBoYXMgYW4gb3JpZ2luLiBJZiBzbywgc2V0IHRoZVxuICAgICAqIHNwZWNpYWwgcG9zaXRpb24gc3RhdGVzIHRoYXQgdHJhbnNpdGlvbiB0aGUgdGFiIGZyb20gdGhlIGxlZnQgb3IgcmlnaHQgYmVmb3JlIGNlbnRlcmluZy5cbiAgICAgKi9cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYm9keVBvc2l0aW9uID09PSAnY2VudGVyJyAmJiB0aGlzLm9yaWdpbiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmJvZHlQb3NpdGlvbiA9IHRoaXMuY29tcHV0ZVBvc2l0aW9uRnJvbU9yaWdpbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGlyQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25UcmFuc2xhdGVUYWJTdGFydGVkKGU6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ2VudGVyaW5nID0gdGhpcy5pc0NlbnRlclBvc2l0aW9uKGUudG9TdGF0ZSk7XG4gICAgICAgIHRoaXMuYmVmb3JlQ2VudGVyaW5nLmVtaXQoaXNDZW50ZXJpbmcpO1xuXG4gICAgICAgIGlmIChpc0NlbnRlcmluZykge1xuICAgICAgICAgICAgdGhpcy5vbkNlbnRlcmluZy5lbWl0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRyYW5zbGF0ZVRhYkNvbXBsZXRlKGU6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIElmIHRoZSB0cmFuc2l0aW9uIHRvIHRoZSBjZW50ZXIgaXMgY29tcGxldGUsIGVtaXQgYW4gZXZlbnQuXG4gICAgICAgIGlmICh0aGlzLmlzQ2VudGVyUG9zaXRpb24oZS50b1N0YXRlKSAmJiB0aGlzLmlzQ2VudGVyUG9zaXRpb24odGhpcy5ib2R5UG9zaXRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2VudGVyZWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDZW50ZXJQb3NpdGlvbihlLmZyb21TdGF0ZSkgJiYgIXRoaXMuaXNDZW50ZXJQb3NpdGlvbih0aGlzLmJvZHlQb3NpdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJMZWF2aW5nQ2VudGVyLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBUaGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIGNvbnRhaW5pbmcgYXBwLiAqL1xuICAgIGdldExheW91dERpcmVjdGlvbigpOiBEaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXIgJiYgdGhpcy5kaXIudmFsdWUgPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgcHJvdmlkZWQgcG9zaXRpb24gc3RhdGUgaXMgY29uc2lkZXJlZCBjZW50ZXIsIHJlZ2FyZGxlc3Mgb2Ygb3JpZ2luLiAqL1xuICAgIGlzQ2VudGVyUG9zaXRpb24ocG9zaXRpb246IEticVRhYkJvZHlQb3NpdGlvblN0YXRlIHwgc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBwb3NpdGlvbiA9PT0gJ2NlbnRlcicgfHwgcG9zaXRpb24gPT09ICdsZWZ0LW9yaWdpbi1jZW50ZXInIHx8IHBvc2l0aW9uID09PSAncmlnaHQtb3JpZ2luLWNlbnRlcic7XG4gICAgfVxuXG4gICAgLyoqIENvbXB1dGVzIHRoZSBwb3NpdGlvbiBzdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRhYi1ib2R5IGFuaW1hdGlvbiB0cmlnZ2VyLiAqL1xuICAgIHByaXZhdGUgY29tcHV0ZVBvc2l0aW9uQW5pbWF0aW9uU3RhdGUoZGlyOiBEaXJlY3Rpb24gPSB0aGlzLmdldExheW91dERpcmVjdGlvbigpKSB7XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uSW5kZXggPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmJvZHlQb3NpdGlvbiA9IGRpciA9PT0gJ2x0cicgPyAnbGVmdCcgOiAncmlnaHQnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucG9zaXRpb25JbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYm9keVBvc2l0aW9uID0gZGlyID09PSAnbHRyJyA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJvZHlQb3NpdGlvbiA9ICdjZW50ZXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIHBvc2l0aW9uIHN0YXRlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgb3JpZ2luIHBvc2l0aW9uLiBUaGlzIGlzIHVzZWQgaWYgdGhlXG4gICAgICogdGFiIGlzIGJlY29taW5nIHZpc2libGUgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpb24uXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb21wdXRlUG9zaXRpb25Gcm9tT3JpZ2luKCk6IEticVRhYkJvZHlQb3NpdGlvblN0YXRlIHtcbiAgICAgICAgY29uc3QgZGlyID0gdGhpcy5nZXRMYXlvdXREaXJlY3Rpb24oKTtcblxuICAgICAgICBpZiAoKGRpciA9PT0gJ2x0cicgJiYgdGhpcy5vcmlnaW4gPD0gMCkgfHwgKGRpciA9PT0gJ3J0bCcgJiYgdGhpcy5vcmlnaW4gPiAwKSkge1xuICAgICAgICAgICAgcmV0dXJuICdsZWZ0LW9yaWdpbi1jZW50ZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICdyaWdodC1vcmlnaW4tY2VudGVyJztcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIHBvcnRhbCBob3N0IGRpcmVjdGl2ZSBmb3IgdGhlIGNvbnRlbnRzIG9mIHRoZSB0YWIuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticVRhYkJvZHlIb3N0XSdcbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFiQm9keVBvcnRhbCBleHRlbmRzIENka1BvcnRhbE91dGxldCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIGV2ZW50cyBmb3Igd2hlbiB0aGUgdGFiIGJvZHkgYmVnaW5zIGNlbnRlcmluZy4gKi9cbiAgICBwcml2YXRlIGNlbnRlcmluZ1N1YiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIGV2ZW50cyBmb3Igd2hlbiB0aGUgdGFiIGJvZHkgZmluaXNoZXMgbGVhdmluZyBmcm9tIGNlbnRlciBwb3NpdGlvbi4gKi9cbiAgICBwcml2YXRlIGxlYXZpbmdTdWIgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBLYnFUYWJCb2R5KSkgcHJpdmF0ZSByZWFkb25seSBob3N0OiBLYnFUYWJCb2R5XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgLyoqIFNldCBpbml0aWFsIHZpc2liaWxpdHkgb3Igc2V0IHVwIHN1YnNjcmlwdGlvbiBmb3IgY2hhbmdpbmcgdmlzaWJpbGl0eS4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmNlbnRlcmluZ1N1YiA9IHRoaXMuaG9zdC5iZWZvcmVDZW50ZXJpbmdcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLmhvc3QuaXNDZW50ZXJQb3NpdGlvbih0aGlzLmhvc3QuYm9keVBvc2l0aW9uKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpc0NlbnRlcmluZzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0NlbnRlcmluZyAmJiAhdGhpcy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNoKHRoaXMuaG9zdC5jb250ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxlYXZpbmdTdWIgPSB0aGlzLmhvc3QuYWZ0ZXJMZWF2aW5nQ2VudGVyLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRldGFjaCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ2xlYW4gdXAgY2VudGVyaW5nIHN1YnNjcmlwdGlvbi4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmNlbnRlcmluZ1N1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmxlYXZpbmdTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRlbnRcbiAgICBjZGstc2Nyb2xsYWJsZVxuICAgIGNsYXNzPVwia2JxLXRhYi1ib2R5X19jb250ZW50IGticS1zY3JvbGxiYXIga2JxLWhpZGUtbmVzdGVkLXBvcHVwXCJcbiAgICAoQHRyYW5zbGF0ZVRhYi5kb25lKT1cIm9uVHJhbnNsYXRlVGFiQ29tcGxldGUoJGV2ZW50KVwiXG4gICAgKEB0cmFuc2xhdGVUYWIuc3RhcnQpPVwib25UcmFuc2xhdGVUYWJTdGFydGVkKCRldmVudClcIlxuICAgIFtAdHJhbnNsYXRlVGFiXT1cIntcbiAgICAgICAgdmFsdWU6IGJvZHlQb3NpdGlvbixcbiAgICAgICAgcGFyYW1zOiB7IGFuaW1hdGlvbkR1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbiB9XG4gICAgfVwiXG4+XG4gICAgPG5nLXRlbXBsYXRlIGticVRhYkJvZHlIb3N0IC8+XG48L2Rpdj5cbiJdfQ==
@@ -2,7 +2,6 @@ import { TemplatePortal } from '@angular/cdk/portal';
2
2
  import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';
3
3
  import { KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_SELECT_SCROLL_STRATEGY, PopUpPlacements, mixinDisabled } from '@koobiq/components/core';
4
4
  import { KBQ_DROPDOWN_SCROLL_STRATEGY } from '@koobiq/components/dropdown';
5
- import { KBQ_POPOVER_SCROLL_STRATEGY } from '@koobiq/components/popover';
6
5
  import { Subject } from 'rxjs';
7
6
  import { KbqTabContent } from './tab-content.directive';
8
7
  import { KBQ_TAB_LABEL, KbqTabLabel } from './tab-label.directive';
@@ -97,7 +96,7 @@ export class KbqTab extends KbqTabMixinBase {
97
96
  }
98
97
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTab, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
99
98
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqTab, selector: "kbq-tab", inputs: { disabled: "disabled", tooltipTitle: "tooltipTitle", tooltipPlacement: "tooltipPlacement", textLabel: ["label", "textLabel"], empty: "empty", tabId: "tabId" }, providers: [
100
- ...[KBQ_SELECT_SCROLL_STRATEGY, KBQ_DROPDOWN_SCROLL_STRATEGY, KBQ_POPOVER_SCROLL_STRATEGY].map(((token) => KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER(token, ((overlay) => (() => overlay.scrollStrategies.close())))))
99
+ ...[KBQ_SELECT_SCROLL_STRATEGY, KBQ_DROPDOWN_SCROLL_STRATEGY].map(((token) => KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER(token, ((overlay) => (() => overlay.scrollStrategies.close())))))
101
100
  ], queries: [{ propertyName: "templateLabel", first: true, predicate: KBQ_TAB_LABEL, descendants: true }, { propertyName: "explicitContent", first: true, predicate: KbqTabContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["kbqTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
101
  }
103
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTab, decorators: [{
@@ -113,7 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
113
112
  changeDetection: ChangeDetectionStrategy.OnPush,
114
113
  encapsulation: ViewEncapsulation.None,
115
114
  providers: [
116
- ...[KBQ_SELECT_SCROLL_STRATEGY, KBQ_DROPDOWN_SCROLL_STRATEGY, KBQ_POPOVER_SCROLL_STRATEGY].map(((token) => KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER(token, ((overlay) => (() => overlay.scrollStrategies.close())))))
115
+ ...[KBQ_SELECT_SCROLL_STRATEGY, KBQ_DROPDOWN_SCROLL_STRATEGY].map(((token) => KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER(token, ((overlay) => (() => overlay.scrollStrategies.close())))))
117
116
  ]
118
117
  }]
119
118
  }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { templateLabel: [{
@@ -137,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
137
136
  }], tabId: [{
138
137
  type: Input
139
138
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFicy90YWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUtMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0gsbUNBQW1DLEVBQ25DLDBCQUEwQixFQUMxQixlQUFlLEVBQ2YsYUFBYSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRW5FLG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sVUFBVTtDQUFHO0FBRTFCLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXVDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQWtCN0YsTUFBTSxPQUFPLE1BQU8sU0FBUSxlQUFlO0lBQ3ZDLG9CQUFvQjtJQUNwQixJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxhQUFhLENB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QkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLDZGQUE2RjtvQkFDN0YsK0ZBQStGO29CQUMvRixhQUFhO29CQUNiLFFBQVEsRUFBRSwyQ0FBMkM7b0JBQ3JELE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1AsR0FBRyxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDckcsbUNBQW1DLENBQUMsS0FBSyxHQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUEsRUFBQyxFQUNsRztxQkFDSjtpQkFDSjtxRkFRTyxhQUFhO3NCQURoQixZQUFZO3VCQUFDLGFBQWE7Z0JBY3VDLGVBQWU7c0JBQWhGLFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd0QixlQUFlO3NCQUF4RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3BDLFlBQVk7c0JBRGYsS0FBSztnQkFXRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR1UsU0FBUztzQkFBeEIsS0FBSzt1QkFBQyxPQUFPO2dCQUVMLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENhbkRpc2FibGUsXG4gICAgQ2FuRGlzYWJsZUN0b3IsXG4gICAgS0JRX0NVU1RPTV9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIsXG4gICAgS0JRX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1ksXG4gICAgUG9wVXBQbGFjZW1lbnRzLFxuICAgIG1peGluRGlzYWJsZWRcbn0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS0JRX0RST1BET1dOX1NDUk9MTF9TVFJBVEVHWSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBLQlFfUE9QT1ZFUl9TQ1JPTExfU1RSQVRFR1kgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLYnFUYWJDb250ZW50IH0gZnJvbSAnLi90YWItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS0JRX1RBQl9MQUJFTCwgS2JxVGFiTGFiZWwgfSBmcm9tICcuL3RhYi1sYWJlbC5kaXJlY3RpdmUnO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEticVRhYkJhc2Uge31cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBLYnFUYWJNaXhpbkJhc2U6IENhbkRpc2FibGVDdG9yICYgdHlwZW9mIEticVRhYkJhc2UgPSBtaXhpbkRpc2FibGVkKEticVRhYkJhc2UpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10YWInLFxuICAgIGV4cG9ydEFzOiAna2JxVGFiJyxcbiAgICAvLyBDcmVhdGUgYSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIDxrYnEtdGFiPiBzbyB0aGF0IHdlIGNhbiBncmFiIGEgcmVmZXJlbmNlIHRvIHRoaXNcbiAgICAvLyBUZW1wbGF0ZVJlZiBhbmQgdXNlIGl0IGluIGEgUG9ydGFsIHRvIHJlbmRlciB0aGUgdGFiIGNvbnRlbnQgaW4gdGhlIGFwcHJvcHJpYXRlIHBsYWNlIGluIHRoZVxuICAgIC8vIHRhYi1ncm91cC5cbiAgICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZT48bmctY29udGVudCAvPjwvbmctdGVtcGxhdGU+JyxcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi5bS0JRX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1ksIEtCUV9EUk9QRE9XTl9TQ1JPTExfU1RSQVRFR1ksIEtCUV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWV0ubWFwKCh0b2tlbikgPT5cbiAgICAgICAgICAgIEtCUV9DVVNUT01fU0NST0xMX1NUUkFURUdZX1BST1ZJREVSKHRva2VuLCAob3ZlcmxheSkgPT4gKCkgPT4gb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCkpXG4gICAgICAgIClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEticVRhYiBleHRlbmRzIEticVRhYk1peGluQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ2FuRGlzYWJsZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgZ2V0IGNvbnRlbnQoKTogVGVtcGxhdGVQb3J0YWwgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFBvcnRhbDtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKEtCUV9UQUJfTEFCRUwpXG4gICAgZ2V0IHRlbXBsYXRlTGFiZWwoKTogS2JxVGFiTGFiZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVMYWJlbDtcbiAgICB9XG5cbiAgICBzZXQgdGVtcGxhdGVMYWJlbCh2YWx1ZTogS2JxVGFiTGFiZWwpIHtcbiAgICAgICAgdGhpcy5zZXRUZW1wbGF0ZUxhYmVsSW5wdXQodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RlbXBsYXRlTGFiZWw6IEticVRhYkxhYmVsO1xuXG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgcHJvdmlkZWQgaW4gdGhlIHRhYiBjb250ZW50IHRoYXQgd2lsbCBiZSB1c2VkIGlmIHByZXNlbnQsIHVzZWQgdG8gZW5hYmxlIGxhenktbG9hZGluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoS2JxVGFiQ29udGVudCwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIGV4cGxpY2l0Q29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBUZW1wbGF0ZSBpbnNpZGUgdGhlIEticVRhYiB2aWV3IHRoYXQgY29udGFpbnMgYW4gYDxuZy1jb250ZW50PmAuICovXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgaW1wbGljaXRDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdG9vbHRpcFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJmbG93VG9vbHRpcFRpdGxlICsgdGhpcy5fdG9vbHRpcFRpdGxlO1xuICAgIH1cblxuICAgIHNldCB0b29sdGlwVGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl90b29sdGlwVGl0bGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90b29sdGlwVGl0bGUgPSAnJztcblxuICAgIEBJbnB1dCgpIHRvb2x0aXBQbGFjZW1lbnQ6IFBvcFVwUGxhY2VtZW50cyA9IFBvcFVwUGxhY2VtZW50cy5SaWdodDtcblxuICAgIC8qKiBQbGFpbiB0ZXh0IGxhYmVsIGZvciB0aGUgdGFiLCB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gdGVtcGxhdGUgbGFiZWwuICovXG4gICAgQElucHV0KCdsYWJlbCcpIHRleHRMYWJlbCA9ICcnO1xuXG4gICAgQElucHV0KCkgZW1wdHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHRhYklkOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSB0YWIgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHJlbGF0aXZlbHkgaW5kZXhlZCBwb3NpdGlvbiB3aGVyZSAwIHJlcHJlc2VudHMgdGhlIGNlbnRlciwgbmVnYXRpdmUgaXMgbGVmdCwgYW5kIHBvc2l0aXZlXG4gICAgICogcmVwcmVzZW50cyB0aGUgcmlnaHQuXG4gICAgICovXG4gICAgcG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgcmVsYXRpdmVseSBpbmRleCBvcmlnaW4gb2YgdGhlIHRhYiBpZiBpdCB3YXMgY3JlYXRlZCBhbmQgc2VsZWN0ZWQgYWZ0ZXIgdGhlcmVcbiAgICAgKiB3YXMgYWxyZWFkeSBhIHNlbGVjdGVkIHRhYi4gUHJvdmlkZXMgY29udGV4dCBvZiB3aGF0IHBvc2l0aW9uIHRoZSB0YWIgc2hvdWxkIG9yaWdpbmF0ZSBmcm9tLlxuICAgICAqL1xuICAgIG9yaWdpbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICAgKi9cbiAgICBpc0FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgZ2V0IGlzT3ZlcmZsb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9vdmVyZmxvd1Rvb2x0aXBUaXRsZTtcbiAgICB9XG5cbiAgICBnZXQgb3ZlcmZsb3dUb29sdGlwVGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPdmVyZmxvd24pIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLl9vdmVyZmxvd1Rvb2x0aXBUaXRsZX1cXG5gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHNldCBvdmVyZmxvd1Rvb2x0aXBUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX292ZXJmbG93VG9vbHRpcFRpdGxlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3ZlcmZsb3dUb29sdGlwVGl0bGUgPSAnJztcblxuICAgIC8qKiBQb3J0YWwgdGhhdCB3aWxsIGJlIHRoZSBob3N0ZWQgY29udGVudCBvZiB0aGUgdGFiICovXG4gICAgcHJpdmF0ZSBjb250ZW50UG9ydGFsOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgndGV4dExhYmVsJykgfHwgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnZGlzYWJsZWQnKSkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudFBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmV4cGxpY2l0Q29udGVudCB8fCB0aGlzLmltcGxpY2l0Q29udGVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGhhcyBiZWVuIGV4dHJhY3RlZCB0byBhIHV0aWwgYmVjYXVzZSBvZiBUUyA0IGFuZCBWRS5cbiAgICAgKiBWaWV3IEVuZ2luZSBkb2Vzbid0IHN1cHBvcnQgcHJvcGVydHkgcmVuYW1lIGluaGVyaXRhbmNlLlxuICAgICAqIFRTIDQuMCBkb2Vzbid0IGFsbG93IHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgYWNjZXNzb3JzIG9yIHZpY2UtdmVyc2EuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZXRUZW1wbGF0ZUxhYmVsSW5wdXQodmFsdWU6IEticVRhYkxhYmVsKSB7XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSB0ZW1wbGF0ZUxhYmVsIHZpYSBxdWVyeSBpZiB0aGVyZSBpcyBhY3R1YWxseVxuICAgICAgICAvLyBhIEticVRhYkxhYmVsIGZvdW5kLiBUaGlzIHdvcmtzIGFyb3VuZCBhbiBpc3N1ZSB3aGVyZSBhIHVzZXIgbWF5IGhhdmVcbiAgICAgICAgLy8gbWFudWFsbHkgc2V0IGB0ZW1wbGF0ZUxhYmVsYCBkdXJpbmcgY3JlYXRpb24gbW9kZSwgd2hpY2ggd291bGQgdGhlbiBnZXQgY2xvYmJlcmVkXG4gICAgICAgIC8vIGJ5IGB1bmRlZmluZWRgIHdoZW4gdGhpcyBxdWVyeSByZXNvbHZlcy5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZUxhYmVsID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFicy90YWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUtMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0gsbUNBQW1DLEVBQ25DLDBCQUEwQixFQUMxQixlQUFlLEVBQ2YsYUFBYSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRW5FLG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sVUFBVTtDQUFHO0FBRTFCLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXVDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQWtCN0YsTUFBTSxPQUFPLE1BQU8sU0FBUSxlQUFlO0lBQ3ZDLG9CQUFvQjtJQUNwQixJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsS0FBa0I7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FB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QkFDN0YsK0ZBQStGO29CQUMvRixhQUFhO29CQUNiLFFBQVEsRUFBRSwyQ0FBMkM7b0JBQ3JELE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1AsR0FBRyxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDeEUsbUNBQW1DLENBQUMsS0FBSyxHQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUEsRUFBQyxFQUNsRztxQkFDSjtpQkFDSjtxRkFRTyxhQUFhO3NCQURoQixZQUFZO3VCQUFDLGFBQWE7Z0JBY3VDLGVBQWU7c0JBQWhGLFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd0QixlQUFlO3NCQUF4RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3BDLFlBQVk7c0JBRGYsS0FBSztnQkFXRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR1UsU0FBUztzQkFBeEIsS0FBSzt1QkFBQyxPQUFPO2dCQUVMLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENhbkRpc2FibGUsXG4gICAgQ2FuRGlzYWJsZUN0b3IsXG4gICAgS0JRX0NVU1RPTV9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIsXG4gICAgS0JRX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1ksXG4gICAgUG9wVXBQbGFjZW1lbnRzLFxuICAgIG1peGluRGlzYWJsZWRcbn0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS0JRX0RST1BET1dOX1NDUk9MTF9TVFJBVEVHWSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLYnFUYWJDb250ZW50IH0gZnJvbSAnLi90YWItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS0JRX1RBQl9MQUJFTCwgS2JxVGFiTGFiZWwgfSBmcm9tICcuL3RhYi1sYWJlbC5kaXJlY3RpdmUnO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEticVRhYkJhc2Uge31cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBLYnFUYWJNaXhpbkJhc2U6IENhbkRpc2FibGVDdG9yICYgdHlwZW9mIEticVRhYkJhc2UgPSBtaXhpbkRpc2FibGVkKEticVRhYkJhc2UpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10YWInLFxuICAgIGV4cG9ydEFzOiAna2JxVGFiJyxcbiAgICAvLyBDcmVhdGUgYSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIDxrYnEtdGFiPiBzbyB0aGF0IHdlIGNhbiBncmFiIGEgcmVmZXJlbmNlIHRvIHRoaXNcbiAgICAvLyBUZW1wbGF0ZVJlZiBhbmQgdXNlIGl0IGluIGEgUG9ydGFsIHRvIHJlbmRlciB0aGUgdGFiIGNvbnRlbnQgaW4gdGhlIGFwcHJvcHJpYXRlIHBsYWNlIGluIHRoZVxuICAgIC8vIHRhYi1ncm91cC5cbiAgICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZT48bmctY29udGVudCAvPjwvbmctdGVtcGxhdGU+JyxcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi5bS0JRX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1ksIEtCUV9EUk9QRE9XTl9TQ1JPTExfU1RSQVRFR1ldLm1hcCgodG9rZW4pID0+XG4gICAgICAgICAgICBLQlFfQ1VTVE9NX1NDUk9MTF9TVFJBVEVHWV9QUk9WSURFUih0b2tlbiwgKG92ZXJsYXkpID0+ICgpID0+IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpKVxuICAgICAgICApXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUYWIgZXh0ZW5kcyBLYnFUYWJNaXhpbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIENhbkRpc2FibGUsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGdldCBjb250ZW50KCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRQb3J0YWw7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChLQlFfVEFCX0xBQkVMKVxuICAgIGdldCB0ZW1wbGF0ZUxhYmVsKCk6IEticVRhYkxhYmVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlTGFiZWw7XG4gICAgfVxuXG4gICAgc2V0IHRlbXBsYXRlTGFiZWwodmFsdWU6IEticVRhYkxhYmVsKSB7XG4gICAgICAgIHRoaXMuc2V0VGVtcGxhdGVMYWJlbElucHV0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90ZW1wbGF0ZUxhYmVsOiBLYnFUYWJMYWJlbDtcblxuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIHByb3ZpZGVkIGluIHRoZSB0YWIgY29udGVudCB0aGF0IHdpbGwgYmUgdXNlZCBpZiBwcmVzZW50LCB1c2VkIHRvIGVuYWJsZSBsYXp5LWxvYWRpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKEticVRhYkNvbnRlbnQsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBleHBsaWNpdENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogVGVtcGxhdGUgaW5zaWRlIHRoZSBLYnFUYWIgdmlldyB0aGF0IGNvbnRhaW5zIGFuIGA8bmctY29udGVudD5gLiAqL1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIGltcGxpY2l0Q29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRvb2x0aXBUaXRsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVyZmxvd1Rvb2x0aXBUaXRsZSArIHRoaXMuX3Rvb2x0aXBUaXRsZTtcbiAgICB9XG5cbiAgICBzZXQgdG9vbHRpcFRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdG9vbHRpcFRpdGxlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdG9vbHRpcFRpdGxlID0gJyc7XG5cbiAgICBASW5wdXQoKSB0b29sdGlwUGxhY2VtZW50OiBQb3BVcFBsYWNlbWVudHMgPSBQb3BVcFBsYWNlbWVudHMuUmlnaHQ7XG5cbiAgICAvKiogUGxhaW4gdGV4dCBsYWJlbCBmb3IgdGhlIHRhYiwgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIHRlbXBsYXRlIGxhYmVsLiAqL1xuICAgIEBJbnB1dCgnbGFiZWwnKSB0ZXh0TGFiZWwgPSAnJztcblxuICAgIEBJbnB1dCgpIGVtcHR5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0YWJJZDogc3RyaW5nO1xuXG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgdGFiIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSByZWxhdGl2ZWx5IGluZGV4ZWQgcG9zaXRpb24gd2hlcmUgMCByZXByZXNlbnRzIHRoZSBjZW50ZXIsIG5lZ2F0aXZlIGlzIGxlZnQsIGFuZCBwb3NpdGl2ZVxuICAgICAqIHJlcHJlc2VudHMgdGhlIHJpZ2h0LlxuICAgICAqL1xuICAgIHBvc2l0aW9uOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBpbml0aWFsIHJlbGF0aXZlbHkgaW5kZXggb3JpZ2luIG9mIHRoZSB0YWIgaWYgaXQgd2FzIGNyZWF0ZWQgYW5kIHNlbGVjdGVkIGFmdGVyIHRoZXJlXG4gICAgICogd2FzIGFscmVhZHkgYSBzZWxlY3RlZCB0YWIuIFByb3ZpZGVzIGNvbnRleHQgb2Ygd2hhdCBwb3NpdGlvbiB0aGUgdGFiIHNob3VsZCBvcmlnaW5hdGUgZnJvbS5cbiAgICAgKi9cbiAgICBvcmlnaW46IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdGFiIGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAgICovXG4gICAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICAgIGdldCBpc092ZXJmbG93bigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fb3ZlcmZsb3dUb29sdGlwVGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJmbG93VG9vbHRpcFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT3ZlcmZsb3duKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5fb3ZlcmZsb3dUb29sdGlwVGl0bGV9XFxuYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBzZXQgb3ZlcmZsb3dUb29sdGlwVGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9vdmVyZmxvd1Rvb2x0aXBUaXRsZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX292ZXJmbG93VG9vbHRpcFRpdGxlID0gJyc7XG5cbiAgICAvKiogUG9ydGFsIHRoYXQgd2lsbCBiZSB0aGUgaG9zdGVkIGNvbnRlbnQgb2YgdGhlIHRhYiAqL1xuICAgIHByaXZhdGUgY29udGVudFBvcnRhbDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3RleHRMYWJlbCcpIHx8IGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5leHBsaWNpdENvbnRlbnQgfHwgdGhpcy5pbXBsaWNpdENvbnRlbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBoYXMgYmVlbiBleHRyYWN0ZWQgdG8gYSB1dGlsIGJlY2F1c2Ugb2YgVFMgNCBhbmQgVkUuXG4gICAgICogVmlldyBFbmdpbmUgZG9lc24ndCBzdXBwb3J0IHByb3BlcnR5IHJlbmFtZSBpbmhlcml0YW5jZS5cbiAgICAgKiBUUyA0LjAgZG9lc24ndCBhbGxvdyBwcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIGFjY2Vzc29ycyBvciB2aWNlLXZlcnNhLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VGVtcGxhdGVMYWJlbElucHV0KHZhbHVlOiBLYnFUYWJMYWJlbCkge1xuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgdGVtcGxhdGVMYWJlbCB2aWEgcXVlcnkgaWYgdGhlcmUgaXMgYWN0dWFsbHlcbiAgICAgICAgLy8gYSBLYnFUYWJMYWJlbCBmb3VuZC4gVGhpcyB3b3JrcyBhcm91bmQgYW4gaXNzdWUgd2hlcmUgYSB1c2VyIG1heSBoYXZlXG4gICAgICAgIC8vIG1hbnVhbGx5IHNldCBgdGVtcGxhdGVMYWJlbGAgZHVyaW5nIGNyZWF0aW9uIG1vZGUsIHdoaWNoIHdvdWxkIHRoZW4gZ2V0IGNsb2JiZXJlZFxuICAgICAgICAvLyBieSBgdW5kZWZpbmVkYCB3aGVuIHRoaXMgcXVlcnkgcmVzb2x2ZXMuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVMYWJlbCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -89,7 +89,7 @@ export class KbqToastComponent {
89
89
  this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
90
90
  }
91
91
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastComponent, deps: [{ token: i1.KbqToastData }, { token: forwardRef(() => KbqToastService) }, { token: i0.ElementRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
92
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqToastComponent, selector: "kbq-toast", host: { listeners: { "@state.start": "onAnimation($event)", "@state.done": "onAnimation($event)", "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.kbq-toast_dismissible": "data.closeButton", "@state": "animationState" }, classAttribute: "kbq-toast" }, ngImport: i0, template: "<div\n *ngIf=\"data.icon\"\n class=\"kbq-toast__icon-container layout-row layout-align-start-start\"\n>\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i\n kbq-icon=\"mc-info_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i\n kbq-icon=\"mc-success_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n\n<div class=\"kbq-toast__container\">\n <div\n *ngIf=\"data.title\"\n kbq-title\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"data.caption\"\n kbq-title\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.content\"\n class=\"kbq-toast__content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.actions\"\n class=\"kbq-toast__actions\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i\n *ngIf=\"data.closeButton === true\"\n kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n (click)=\"close()\"\n ></i>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-border-radius, );margin-right:var(--kbq-toast-size-icon-margin-right, 8px);padding-top:calc(var(--kbq-toast-size-content-padding-top, 16px) + (var(--kbq-toast-font-title-line-height, 20px) - var(--kbq-toast-size-icon-height, 16px)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top, 16px);padding-right:var(--kbq-size-s, 8px);padding-bottom:var(--kbq-toast-size-content-padding-bottom, 16px);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom, 4px)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top, 8px);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal, 12px)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top, 16px) - (var(--kbq-icon-button-size-small-vertical-padding, 4px) * 2 + 16px - var(--kbq-toast-font-title-line-height, 20px)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right, 4px)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i5.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "directive", type: KbqToastCloseButton, selector: "[kbq-toast-close-button]" }], animations: [kbqToastAnimations.toastState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqToastComponent, selector: "kbq-toast", host: { listeners: { "@state.start": "onAnimation($event)", "@state.done": "onAnimation($event)", "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.kbq-toast_dismissible": "data.closeButton", "@state": "animationState" }, classAttribute: "kbq-toast" }, ngImport: i0, template: "<div\n *ngIf=\"data.icon\"\n class=\"kbq-toast__icon-container layout-row layout-align-start-start\"\n>\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i\n kbq-icon=\"mc-info_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i\n kbq-icon=\"mc-success_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n\n<div class=\"kbq-toast__container\">\n <div\n *ngIf=\"data.title\"\n kbq-title\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"data.caption\"\n kbq-title\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.content\"\n class=\"kbq-toast__content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.actions\"\n class=\"kbq-toast__actions\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i\n *ngIf=\"data.closeButton === true\"\n kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n (click)=\"close()\"\n ></i>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-container-border-radius, 8px);margin-right:var(--kbq-toast-size-icon-margin-right, 8px);padding-top:calc(var(--kbq-toast-size-content-padding-top, 16px) + (var(--kbq-toast-font-title-line-height, 20px) - var(--kbq-toast-size-icon-height, 16px)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top, 16px);padding-right:var(--kbq-size-s, 8px);padding-bottom:var(--kbq-toast-size-content-padding-bottom, 16px);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom, 4px)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top, 8px);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal, 12px)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top, 16px) - (var(--kbq-icon-button-size-small-vertical-padding, 4px) * 2 + 16px - var(--kbq-toast-font-title-line-height, 20px)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right, 4px)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i5.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "directive", type: KbqToastCloseButton, selector: "[kbq-toast-close-button]" }], animations: [kbqToastAnimations.toastState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastComponent, decorators: [{
95
95
  type: Component,
@@ -103,9 +103,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
103
103
  '(mouseenter)': 'hovered.next(true)',
104
104
  '(mouseleave)': 'hovered.next(false)',
105
105
  '(keydown.esc)': 'close()'
106
- }, animations: [kbqToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"data.icon\"\n class=\"kbq-toast__icon-container layout-row layout-align-start-start\"\n>\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i\n kbq-icon=\"mc-info_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i\n kbq-icon=\"mc-success_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n\n<div class=\"kbq-toast__container\">\n <div\n *ngIf=\"data.title\"\n kbq-title\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"data.caption\"\n kbq-title\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.content\"\n class=\"kbq-toast__content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.actions\"\n class=\"kbq-toast__actions\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i\n *ngIf=\"data.closeButton === true\"\n kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n (click)=\"close()\"\n ></i>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-border-radius, );margin-right:var(--kbq-toast-size-icon-margin-right, 8px);padding-top:calc(var(--kbq-toast-size-content-padding-top, 16px) + (var(--kbq-toast-font-title-line-height, 20px) - var(--kbq-toast-size-icon-height, 16px)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top, 16px);padding-right:var(--kbq-size-s, 8px);padding-bottom:var(--kbq-toast-size-content-padding-bottom, 16px);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom, 4px)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top, 8px);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal, 12px)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top, 16px) - (var(--kbq-icon-button-size-small-vertical-padding, 4px) * 2 + 16px - var(--kbq-toast-font-title-line-height, 20px)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right, 4px)}\n"] }]
106
+ }, animations: [kbqToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"data.icon\"\n class=\"kbq-toast__icon-container layout-row layout-align-start-start\"\n>\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i\n kbq-icon=\"mc-info_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i\n kbq-icon=\"mc-success_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i\n kbq-icon=\"mc-error_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n\n<div class=\"kbq-toast__container\">\n <div\n *ngIf=\"data.title\"\n kbq-title\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"data.caption\"\n kbq-title\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.content\"\n class=\"kbq-toast__content\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div\n *ngIf=\"data.actions\"\n class=\"kbq-toast__actions\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i\n *ngIf=\"data.closeButton === true\"\n kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n (click)=\"close()\"\n ></i>\n\n <ng-container\n *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\"\n />\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-container-border-radius, 8px);margin-right:var(--kbq-toast-size-icon-margin-right, 8px);padding-top:calc(var(--kbq-toast-size-content-padding-top, 16px) + (var(--kbq-toast-font-title-line-height, 20px) - var(--kbq-toast-size-icon-height, 16px)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top, 16px);padding-right:var(--kbq-size-s, 8px);padding-bottom:var(--kbq-toast-size-content-padding-bottom, 16px);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom, 4px)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top, 8px);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal, 12px)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top, 16px) - (var(--kbq-icon-button-size-small-vertical-padding, 4px) * 2 + 16px - var(--kbq-toast-font-title-line-height, 20px)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right, 4px)}\n"] }]
107
107
  }], ctorParameters: () => [{ type: i1.KbqToastData }, { type: i6.KbqToastService, decorators: [{
108
108
  type: Inject,
109
109
  args: [forwardRef(() => KbqToastService)]
110
110
  }] }, { type: i0.ElementRef }, { type: i2.FocusMonitor }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFFTixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7OztBQVEzRCxNQUFNLE9BQU8sbUJBQW1CO2lJQUFuQixtQkFBbUI7cUhBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHlCQUF5QjtxQkFDbkM7aUJBQ0o7O0FBR0QsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBdUJYLE1BQU0sT0FBTyxpQkFBaUI7SUFjMUIsSUFBSSxV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dkMsZUFBZSxFQUFFLHFCQUFxQjt3QkFFdEMsY0FBYyxFQUFFLG9CQUFvQjt3QkFDcEMsY0FBYyxFQUFFLHFCQUFxQjt3QkFFckMsZUFBZSxFQUFFLFNBQVM7cUJBQzdCLGNBQ1csQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsbUJBQzFCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQThCaEMsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGticVRvYXN0QW5pbWF0aW9ucyB9IGZyb20gJy4vdG9hc3QtYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBLYnFUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2JxVG9hc3REYXRhLCBLYnFUb2FzdFN0eWxlIH0gZnJvbSAnLi90b2FzdC50eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLXRvYXN0LWNsb3NlLWJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdG9hc3RfX2Nsb3NlLWJ1dHRvbidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVRvYXN0Q2xvc2VCdXR0b24ge31cblxubGV0IGlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdG9hc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRvYXN0JyxcbiAgICAgICAgJ1tjbGFzc10nOiAndG9hc3RTdHlsZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXRvYXN0X2Rpc21pc3NpYmxlXSc6ICdkYXRhLmNsb3NlQnV0dG9uJyxcbiAgICAgICAgJ1tAc3RhdGVdJzogJ2FuaW1hdGlvblN0YXRlJyxcbiAgICAgICAgJyhAc3RhdGUuc3RhcnQpJzogJ29uQW5pbWF0aW9uKCRldmVudCknLFxuICAgICAgICAnKEBzdGF0ZS5kb25lKSc6ICdvbkFuaW1hdGlvbigkZXZlbnQpJyxcblxuICAgICAgICAnKG1vdXNlZW50ZXIpJzogJ2hvdmVyZWQubmV4dCh0cnVlKScsXG4gICAgICAgICcobW91c2VsZWF2ZSknOiAnaG92ZXJlZC5uZXh0KGZhbHNlKScsXG5cbiAgICAgICAgJyhrZXlkb3duLmVzYyknOiAnY2xvc2UoKSdcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtrYnFUb2FzdEFuaW1hdGlvbnMudG9hc3RTdGF0ZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgdGhlbWVQYWxldHRlID0gVGhlbWVQYWxldHRlO1xuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSAndm9pZCc7XG5cbiAgICByZWFkb25seSBob3ZlcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgZm9jdXNlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgaWQgPSBpZCsrO1xuICAgIHR0bDtcbiAgICBkZWxheTtcblxuICAgICRpbXBsaWNpdDtcblxuICAgIGdldCB0b2FzdFN0eWxlKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgW2BrYnEtdG9hc3RfJHt0aGlzLmRhdGEuc3R5bGV9YF06IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgaXNGb2N1c2VkT3JIb3ZlcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3ZlcmVkLmdldFZhbHVlKCkgfHwgdGhpcy5mb2N1c2VkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGRhdGE6IEticVRvYXN0RGF0YSxcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEticVRvYXN0U2VydmljZSkpIHJlYWRvbmx5IHNlcnZpY2U6IEticVRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy4kaW1wbGljaXQgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuZGF0YS5zdHlsZSA9IHRoaXMuZGF0YS5zdHlsZSB8fCBLYnFUb2FzdFN0eWxlLkNvbnRyYXN0O1xuICAgICAgICB0aGlzLmRhdGEuaWNvbiA9IHRoaXMuZGF0YS5pY29uICE9PSB1bmRlZmluZWQgPyB0aGlzLmRhdGEuaWNvbiA6IHRydWU7XG4gICAgICAgIHRoaXMuZGF0YS5pY29uQ2xhc3MgPSB0aGlzLmRhdGEuaWNvbkNsYXNzIHx8IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kYXRhLmNsb3NlQnV0dG9uID0gdGhpcy5kYXRhLmNsb3NlQnV0dG9uICE9PSB1bmRlZmluZWQgPyB0aGlzLmRhdGEuY2xvc2VCdXR0b24gOiB0cnVlO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAndmlzaWJsZSc7XG5cbiAgICAgICAgdGhpcy5ydW5Gb2N1c01vbml0b3IoKTtcblxuICAgICAgICB0aGlzLmhvdmVyZWQuc3Vic2NyaWJlKHRoaXMuc2VydmljZS5ob3ZlcmVkKTtcbiAgICAgICAgdGhpcy5mb2N1c2VkLnN1YnNjcmliZSh0aGlzLnNlcnZpY2UuZm9jdXNlZCk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5ob3ZlcmVkLCB0aGlzLmZvY3VzZWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHRsID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnR0bCA9IHRoaXMudHRsIDwgdGhpcy5kZWxheSA/IHRoaXMuZGVsYXkgOiB0aGlzLnR0bDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0b3BGb2N1c01vbml0b3IoKTtcblxuICAgICAgICB0aGlzLmhvdmVyZWQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuZm9jdXNlZC5uZXh0KGZhbHNlKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuaGlkZSh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBpc1RlbXBsYXRlUmVmKHZhbHVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uKCRldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmFuaW1hdGlvbi5uZXh0KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5Gb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yXG4gICAgICAgICAgICAubW9uaXRvcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9yaWdpbjogRm9jdXNPcmlnaW4pID0+IHRoaXMuZm9jdXNlZC5uZXh0KCEhb3JpZ2luKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdG9wRm9jdXNNb25pdG9yKCkge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwiZGF0YS5pY29uXCJcbiAgICBjbGFzcz1cImticS10b2FzdF9faWNvbi1jb250YWluZXIgbGF5b3V0LXJvdyBsYXlvdXQtYWxpZ24tc3RhcnQtc3RhcnRcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmljb24gPT09IHRydWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YS5zdHlsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRyYXN0J1wiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgIGticS1pY29uPVwibWMtaW5mb18xNlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIiRhbnkoZGF0YS5zdHlsZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBrYnEtaWNvbj1cIm1jLXN1Y2Nlc3NfMTZcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImticS10b2FzdF9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm5pbmcnXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAga2JxLWljb249XCJtYy1lcnJvcl8xNlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIiRhbnkoZGF0YS5zdHlsZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAga2JxLWljb249XCJtYy1lcnJvcl8xNlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIiRhbnkoZGF0YS5zdHlsZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuaWNvbilcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuaWNvbilcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiXG4gICAgLz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwia2JxLXRvYXN0X19jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YS50aXRsZVwiXG4gICAgICAgIGticS10aXRsZVxuICAgICAgICBjbGFzcz1cImticS10b2FzdF9fdGl0bGVcIlxuICAgICAgICBbY2xhc3Mua2JxLXRvYXN0X190aXRsZV93aXRoLWNvbnRlbnRdPVwiZGF0YS5jYXB0aW9uIHx8IGRhdGEuY29udGVudFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS50aXRsZSlcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLnRpdGxlKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGRhdGEudGl0bGUpXCI+XG4gICAgICAgICAgICA8cD57eyBkYXRhLnRpdGxlIH19PC9wPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJkYXRhLmNhcHRpb25cIlxuICAgICAgICBrYnEtdGl0bGVcbiAgICAgICAgW2NsYXNzLmticS10b2FzdF9fdGV4dF09XCJkYXRhLnRpdGxlXCJcbiAgICAgICAgW2NsYXNzLmticS10b2FzdF9fdGl0bGVdPVwiIWRhdGEudGl0bGVcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuY2FwdGlvbilcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNhcHRpb24pXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCJcbiAgICAgICAgLz5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGVSZWYoZGF0YS5jYXB0aW9uKVwiPnt7IGRhdGEuY2FwdGlvbiB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEuY29udGVudFwiXG4gICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19jb250ZW50XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihkYXRhLmNvbnRlbnQpXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoZGF0YS5jb250ZW50KVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGRhdGEuY29udGVudClcIj57eyBkYXRhLmNvbnRlbnQgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJkYXRhLmFjdGlvbnNcIlxuICAgICAgICBjbGFzcz1cImticS10b2FzdF9fYWN0aW9uc1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5hY3Rpb25zKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuYWN0aW9ucylcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0IH1cIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihkYXRhLmFjdGlvbnMpXCI+e3sgZGF0YS5hY3Rpb25zIH19PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImRhdGEuY2xvc2VCdXR0b25cIj5cbiAgICA8aVxuICAgICAgICAqbmdJZj1cImRhdGEuY2xvc2VCdXR0b24gPT09IHRydWVcIlxuICAgICAgICBrYnEtaWNvbi1idXR0b249XCJtYy1jbG9zZS1NXzE2XCJcbiAgICAgICAga2JxLXRvYXN0LWNsb3NlLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgPjwvaT5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuY2xvc2VCdXR0b24pXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNsb3NlQnV0dG9uKVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFFTixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7OztBQVEzRCxNQUFNLE9BQU8sbUJBQW1CO2lJQUFuQixtQkFBbUI7cUhBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHlCQUF5QjtxQkFDbkM7aUJBQ0o7O0FBR0QsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBdUJYLE1BQU0sT0FBTyxpQkFBaUI7SUFjMUIsSUFBSSxV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dkMsZUFBZSxFQUFFLHFCQUFxQjt3QkFFdEMsY0FBYyxFQUFFLG9CQUFvQjt3QkFDcEMsY0FBYyxFQUFFLHFCQUFxQjt3QkFFckMsZUFBZSxFQUFFLFNBQVM7cUJBQzdCLGNBQ1csQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsbUJBQzFCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQThCaEMsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGticVRvYXN0QW5pbWF0aW9ucyB9IGZyb20gJy4vdG9hc3QtYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBLYnFUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2JxVG9hc3REYXRhLCBLYnFUb2FzdFN0eWxlIH0gZnJvbSAnLi90b2FzdC50eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLXRvYXN0LWNsb3NlLWJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdG9hc3RfX2Nsb3NlLWJ1dHRvbidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVRvYXN0Q2xvc2VCdXR0b24ge31cblxubGV0IGlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdG9hc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRvYXN0JyxcbiAgICAgICAgJ1tjbGFzc10nOiAndG9hc3RTdHlsZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXRvYXN0X2Rpc21pc3NpYmxlXSc6ICdkYXRhLmNsb3NlQnV0dG9uJyxcbiAgICAgICAgJ1tAc3RhdGVdJzogJ2FuaW1hdGlvblN0YXRlJyxcbiAgICAgICAgJyhAc3RhdGUuc3RhcnQpJzogJ29uQW5pbWF0aW9uKCRldmVudCknLFxuICAgICAgICAnKEBzdGF0ZS5kb25lKSc6ICdvbkFuaW1hdGlvbigkZXZlbnQpJyxcblxuICAgICAgICAnKG1vdXNlZW50ZXIpJzogJ2hvdmVyZWQubmV4dCh0cnVlKScsXG4gICAgICAgICcobW91c2VsZWF2ZSknOiAnaG92ZXJlZC5uZXh0KGZhbHNlKScsXG5cbiAgICAgICAgJyhrZXlkb3duLmVzYyknOiAnY2xvc2UoKSdcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtrYnFUb2FzdEFuaW1hdGlvbnMudG9hc3RTdGF0ZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgdGhlbWVQYWxldHRlID0gVGhlbWVQYWxldHRlO1xuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSAndm9pZCc7XG5cbiAgICByZWFkb25seSBob3ZlcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgZm9jdXNlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgaWQgPSBpZCsrO1xuICAgIHR0bDtcbiAgICBkZWxheTtcblxuICAgICRpbXBsaWNpdDtcblxuICAgIGdldCB0b2FzdFN0eWxlKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgW2BrYnEtdG9hc3RfJHt0aGlzLmRhdGEuc3R5bGV9YF06IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgaXNGb2N1c2VkT3JIb3ZlcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3ZlcmVkLmdldFZhbHVlKCkgfHwgdGhpcy5mb2N1c2VkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGRhdGE6IEticVRvYXN0RGF0YSxcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEticVRvYXN0U2VydmljZSkpIHJlYWRvbmx5IHNlcnZpY2U6IEticVRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy4kaW1wbGljaXQgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuZGF0YS5zdHlsZSA9IHRoaXMuZGF0YS5zdHlsZSB8fCBLYnFUb2FzdFN0eWxlLkNvbnRyYXN0O1xuICAgICAgICB0aGlzLmRhdGEuaWNvbiA9IHRoaXMuZGF0YS5pY29uICE9PSB1bmRlZmluZWQgPyB0aGlzLmRhdGEuaWNvbiA6IHRydWU7XG4gICAgICAgIHRoaXMuZGF0YS5pY29uQ2xhc3MgPSB0aGlzLmRhdGEuaWNvbkNsYXNzIHx8IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kYXRhLmNsb3NlQnV0dG9uID0gdGhpcy5kYXRhLmNsb3NlQnV0dG9uICE9PSB1bmRlZmluZWQgPyB0aGlzLmRhdGEuY2xvc2VCdXR0b24gOiB0cnVlO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAndmlzaWJsZSc7XG5cbiAgICAgICAgdGhpcy5ydW5Gb2N1c01vbml0b3IoKTtcblxuICAgICAgICB0aGlzLmhvdmVyZWQuc3Vic2NyaWJlKHRoaXMuc2VydmljZS5ob3ZlcmVkKTtcbiAgICAgICAgdGhpcy5mb2N1c2VkLnN1YnNjcmliZSh0aGlzLnNlcnZpY2UuZm9jdXNlZCk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5ob3ZlcmVkLCB0aGlzLmZvY3VzZWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHRsID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnR0bCA9IHRoaXMudHRsIDwgdGhpcy5kZWxheSA/IHRoaXMuZGVsYXkgOiB0aGlzLnR0bDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0b3BGb2N1c01vbml0b3IoKTtcblxuICAgICAgICB0aGlzLmhvdmVyZWQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuZm9jdXNlZC5uZXh0KGZhbHNlKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuaGlkZSh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBpc1RlbXBsYXRlUmVmKHZhbHVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uKCRldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmFuaW1hdGlvbi5uZXh0KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5Gb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yXG4gICAgICAgICAgICAubW9uaXRvcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9yaWdpbjogRm9jdXNPcmlnaW4pID0+IHRoaXMuZm9jdXNlZC5uZXh0KCEhb3JpZ2luKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdG9wRm9jdXNNb25pdG9yKCkge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwiZGF0YS5pY29uXCJcbiAgICBjbGFzcz1cImticS10b2FzdF9faWNvbi1jb250YWluZXIgbGF5b3V0LXJvdyBsYXlvdXQtYWxpZ24tc3RhcnQtc3RhcnRcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmljb24gPT09IHRydWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YS5zdHlsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRyYXN0J1wiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgIGticS1pY29uPVwibWMtaW5mb18xNlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIiRhbnkoZGF0YS5zdHlsZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBrYnEtaWNvbj1cIm1jLXN1Y2Nlc3NfMTZcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImticS10b2FzdF9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm5pbmcnXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAga2JxLWljb249XCJtYy1lcnJvcl8xNlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIiRhbnkoZGF0YS5zdHlsZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAga2JxLWljb249XCJtYy1lcnJvcl8xNlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIiRhbnkoZGF0YS5zdHlsZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuaWNvbilcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuaWNvbilcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiXG4gICAgLz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwia2JxLXRvYXN0X19jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YS50aXRsZVwiXG4gICAgICAgIGticS10aXRsZVxuICAgICAgICBjbGFzcz1cImticS10b2FzdF9fdGl0bGVcIlxuICAgICAgICBbY2xhc3Mua2JxLXRvYXN0X190aXRsZV93aXRoLWNvbnRlbnRdPVwiZGF0YS5jYXB0aW9uIHx8IGRhdGEuY29udGVudFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS50aXRsZSlcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLnRpdGxlKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGRhdGEudGl0bGUpXCI+XG4gICAgICAgICAgICA8cD57eyBkYXRhLnRpdGxlIH19PC9wPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJkYXRhLmNhcHRpb25cIlxuICAgICAgICBrYnEtdGl0bGVcbiAgICAgICAgW2NsYXNzLmticS10b2FzdF9fdGV4dF09XCJkYXRhLnRpdGxlXCJcbiAgICAgICAgW2NsYXNzLmticS10b2FzdF9fdGl0bGVdPVwiIWRhdGEudGl0bGVcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuY2FwdGlvbilcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNhcHRpb24pXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCJcbiAgICAgICAgLz5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGVSZWYoZGF0YS5jYXB0aW9uKVwiPnt7IGRhdGEuY2FwdGlvbiB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEuY29udGVudFwiXG4gICAgICAgIGNsYXNzPVwia2JxLXRvYXN0X19jb250ZW50XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihkYXRhLmNvbnRlbnQpXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoZGF0YS5jb250ZW50KVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGRhdGEuY29udGVudClcIj57eyBkYXRhLmNvbnRlbnQgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJkYXRhLmFjdGlvbnNcIlxuICAgICAgICBjbGFzcz1cImticS10b2FzdF9fYWN0aW9uc1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5hY3Rpb25zKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuYWN0aW9ucylcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0IH1cIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihkYXRhLmFjdGlvbnMpXCI+e3sgZGF0YS5hY3Rpb25zIH19PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImRhdGEuY2xvc2VCdXR0b25cIj5cbiAgICA8aVxuICAgICAgICAqbmdJZj1cImRhdGEuY2xvc2VCdXR0b24gPT09IHRydWVcIlxuICAgICAgICBrYnEtaWNvbi1idXR0b249XCJtYy1jbG9zZS1NXzE2XCJcbiAgICAgICAga2JxLXRvYXN0LWNsb3NlLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgPjwvaT5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuY2xvc2VCdXR0b24pXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNsb3NlQnV0dG9uKVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
@@ -159,7 +159,7 @@ class KbqCommonModule {
159
159
  }
160
160
  // Whether the code is running in tests.
161
161
  isTestEnv() {
162
- return this._window && (this._window['__karma__'] || this._window['jasmine']);
162
+ return this._window && this._window['__jest__'];
163
163
  }
164
164
  checkDoctypeIsDefined() {
165
165
  if (this._document && !this._document.doctype) {
@@ -3168,7 +3168,7 @@ const KBQ_VALIDATION = new InjectionToken('KbqUseValidation', {
3168
3168
  factory: () => ({ useValidation: true })
3169
3169
  });
3170
3170
 
3171
- const VERSION = new Version('17.2.0+sha-fafe8899');
3171
+ const VERSION = new Version('17.4.0+sha-092d654');
3172
3172
 
3173
3173
  /**
3174
3174
  * Generated bundle index. Do not edit.