@skyux/tabs 9.0.0-alpha.8 → 9.0.0-beta.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.
@@ -141,7 +141,7 @@ export class SkySectionedFormComponent {
141
141
  });
142
142
  }
143
143
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySectionedFormComponent, deps: [{ token: i1.SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyTabIdService }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySectionedFormComponent, selector: "sky-sectioned-form", inputs: { maintainSectionContent: "maintainSectionContent", messageStream: "messageStream" }, outputs: { indexChanged: "indexChanged", tabsVisibleChanged: "tabsVisibleChanged" }, providers: [SkyTabIdService, SkyVerticalTabsetService], viewQueries: [{ propertyName: "content", first: true, predicate: ["skySectionSideContent"], descendants: true }], ngImport: i0, template: "<div class=\"sky-sectioned-form\" (window:resize)=\"tabService.updateContent()\">\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRole\"\n ></span>\n <div\n *ngIf=\"maintainSectionContent || tabsVisible()\"\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{ 'sky-sectioned-form-tabs-hidden': !tabsVisible() }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainSectionContent || tabService.contentVisible()\"\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #skySectionSideContent\n ></div>\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;padding:15px;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;padding:15px;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}:host-context(.sky-theme-modern) .sky-sectioned-form-content{padding:15px}:host-context(.sky-theme-modern) .sky-sectioned-form-tabs{border-right:1px solid #d2d2d2}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-sectioned-form-content{margin:20px 30px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{margin:20px 30px}.sky-theme-modern .sky-sectioned-form-content{padding:15px}.sky-theme-modern .sky-sectioned-form-tabs{border-right:1px solid #d2d2d2}@media (min-width: 768px){.sky-theme-modern :host .sky-sectioned-form-content{margin:20px 30px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-sectioned-form-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{margin:20px 30px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySectionedFormComponent, selector: "sky-sectioned-form", inputs: { maintainSectionContent: "maintainSectionContent", messageStream: "messageStream" }, outputs: { indexChanged: "indexChanged", tabsVisibleChanged: "tabsVisibleChanged" }, providers: [SkyTabIdService, SkyVerticalTabsetService], viewQueries: [{ propertyName: "content", first: true, predicate: ["skySectionSideContent"], descendants: true }], ngImport: i0, template: "<div class=\"sky-sectioned-form\" (window:resize)=\"tabService.updateContent()\">\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRole\"\n ></span>\n <div\n *ngIf=\"maintainSectionContent || tabsVisible()\"\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{\n 'sky-sectioned-form-tabs-hidden': !tabsVisible(),\n 'sky-sectioned-form-tabs-only': !tabService.contentVisible()\n }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainSectionContent || tabService.contentVisible()\"\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #skySectionSideContent\n ></div>\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
145
145
  trigger('tabEnter', [
146
146
  transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
147
147
  style({ transform: 'translate(-100%)' }),
@@ -171,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
171
171
  animate('150ms ease-in'),
172
172
  ]),
173
173
  ]),
174
- ], template: "<div class=\"sky-sectioned-form\" (window:resize)=\"tabService.updateContent()\">\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRole\"\n ></span>\n <div\n *ngIf=\"maintainSectionContent || tabsVisible()\"\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{ 'sky-sectioned-form-tabs-hidden': !tabsVisible() }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainSectionContent || tabService.contentVisible()\"\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #skySectionSideContent\n ></div>\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;padding:15px;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;padding:15px;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}:host-context(.sky-theme-modern) .sky-sectioned-form-content{padding:15px}:host-context(.sky-theme-modern) .sky-sectioned-form-tabs{border-right:1px solid #d2d2d2}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-sectioned-form-content{margin:20px 30px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{margin:20px 30px}.sky-theme-modern .sky-sectioned-form-content{padding:15px}.sky-theme-modern .sky-sectioned-form-tabs{border-right:1px solid #d2d2d2}@media (min-width: 768px){.sky-theme-modern :host .sky-sectioned-form-content{margin:20px 30px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-sectioned-form-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{margin:20px 30px}\n"] }]
174
+ ], template: "<div class=\"sky-sectioned-form\" (window:resize)=\"tabService.updateContent()\">\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRole\"\n ></span>\n <div\n *ngIf=\"maintainSectionContent || tabsVisible()\"\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{\n 'sky-sectioned-form-tabs-hidden': !tabsVisible(),\n 'sky-sectioned-form-tabs-only': !tabService.contentVisible()\n }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainSectionContent || tabService.contentVisible()\"\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #skySectionSideContent\n ></div>\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}\n"] }]
175
175
  }], ctorParameters: function () { return [{ type: i1.SkyVerticalTabsetService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyTabIdService }, { type: i3.SkyLogService }]; }, propDecorators: { maintainSectionContent: [{
176
176
  type: Input
177
177
  }], messageStream: [{
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
184
184
  type: ViewChild,
185
185
  args: ['skySectionSideContent']
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUNMLFlBQVksRUFDWix3QkFBd0IsRUFDeEIsYUFBYSxHQUNkLE1BQU0sOENBQThDLENBQUM7QUFFdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQUVsRjs7R0FFRztBQXNCSCxNQUFNLE9BQU8seUJBQXlCO0lBV3BDLElBQ1csYUFBYSxDQUN0QixLQUFtRDtRQUVuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQUN2RSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBc0JELGNBQWMsQ0FBdUI7SUFFckMsaUJBQWlCLENBQTJCO0lBQzVDLFVBQVUsQ0FBb0I7SUFDOUIsU0FBUyxDQUFrQjtJQUMzQixPQUFPLENBQWdCO0lBRXZCLGVBQWUsQ0FBMEM7SUFFekQsWUFDUyxVQUFvQyxFQUMzQyxTQUE0QixFQUM1QixRQUF5QixFQUN6QixNQUFxQjtRQUhkLGVBQVUsR0FBVixVQUFVLENBQTBCO1FBbEQ3Qzs7OztXQUlHO1FBRUksMkJBQXNCLEdBQXdCLEtBQUssQ0FBQztRQWMzRDs7O1dBR0c7UUFFSSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9EOztXQUVHO1FBRUksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUlqRCxhQUFRLEdBQXVCLFNBQVMsQ0FBQztRQUtoRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPckMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQVF2RCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFFakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWU7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQzthQUMzQjtZQUVELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7YUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVc7YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsR0FBRyxhQUFhLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLHNDQUFzQyxFQUFFO1lBQzlELHVCQUF1QixFQUFFLENBQUM7WUFDMUIsV0FBVyxFQUNULGlFQUFpRTtZQUNuRSx5QkFBeUIsRUFDdkIsMkVBQTJFO1NBQzlFLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsRUFBRTtZQUMzRCx1QkFBdUIsRUFBRSxDQUFDO1lBQzFCLFdBQVcsRUFDVCxpRUFBaUU7WUFDbkUseUJBQXlCLEVBQ3ZCLDRGQUE0RjtTQUMvRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWE7YUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNwQixLQUFLLDJCQUEyQixDQUFDLFFBQVE7b0JBQ3ZDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakIsTUFBTTthQUNUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTNLVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixnT0FqQnpCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixDQUFDLDRJQ3BDeEQsMGdEQW1DQSxvK0dER2M7WUFDVixPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUNsQixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7b0JBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUN4QyxPQUFPLENBQUMsZUFBZSxDQUFDO2lCQUN6QixDQUFDO2FBQ0gsQ0FBQztZQUNGLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3RCLFVBQVUsQ0FBQyxHQUFHLFlBQVksT0FBTyxhQUFhLEVBQUUsRUFBRTtvQkFDaEQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUM7b0JBQ3ZDLE9BQU8sQ0FBQyxlQUFlLENBQUM7aUJBQ3pCLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzJGQUVVLHlCQUF5QjtrQkFyQnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGFBR25CLENBQUMsZUFBZSxFQUFFLHdCQUF3QixDQUFDLG1CQUNyQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2xCLFVBQVUsQ0FBQyxHQUFHLFlBQVksT0FBTyxhQUFhLEVBQUUsRUFBRTtnQ0FDaEQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0NBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7eUJBQ0gsQ0FBQzt3QkFDRixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7Z0NBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2dDQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDOzZCQUN6QixDQUFDO3lCQUNILENBQUM7cUJBQ0g7eU1BV00sc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBaUJDLFlBQVk7c0JBRGxCLE1BQU07Z0JBT0Esa0JBQWtCO3NCQUR4QixNQUFNO2dCQVFBLE9BQU87c0JBRGIsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGFiSWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3RhYi1pZC5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgSElEREVOX1NUQVRFLFxuICBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UsXG4gIFZJU0lCTEVfU1RBVEUsXG59IGZyb20gJy4vLi4vdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9zZWN0aW9uZWQtZm9ybS1tZXNzYWdlJztcbmltcG9ydCB7IFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvc2VjdGlvbmVkLWZvcm0tbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB0aGUgc2VjdGlvbmVkIGZvcm1zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VjdGlvbmVkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VjdGlvbmVkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUYWJJZFNlcnZpY2UsIFNreVZlcnRpY2FsVGFic2V0U2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcigndGFiRW50ZXInLCBbXG4gICAgICB0cmFuc2l0aW9uKGAke0hJRERFTl9TVEFURX0gPT4gJHtWSVNJQkxFX1NUQVRFfWAsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpLFxuICAgICAgXSksXG4gICAgXSksXG4gICAgdHJpZ2dlcignY29udGVudEVudGVyJywgW1xuICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlY3Rpb25lZEZvcm1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VjdGlvbmVkIGZvcm0gbG9hZHMgc2VjdGlvbiBjb250ZW50IGR1cmluZyBpbml0aWFsaXphdGlvbiBzbyB0aGF0IGl0XG4gICAqIGRpc3BsYXlzIGNvbnRlbnQgd2l0aG91dCBtb3ZpbmcgYXJvdW5kIGVsZW1lbnRzIGluIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYWludGFpblNlY3Rpb25Db250ZW50OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtZXNzYWdlU3RyZWFtKFxuICAgIHZhbHVlOiBTdWJqZWN0PFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlPiB8IHVuZGVmaW5lZFxuICApIHtcbiAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbSA9IHZhbHVlIHx8IG5ldyBTdWJqZWN0PFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlPigpO1xuICAgIHRoaXMuI2luaXRNZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBhY3RpdmUgdGFiIGNoYW5nZXMgYW5kIGVtaXRzIHRoZSBpbmRleCBvZiB0aGUgYWN0aXZlXG4gICAqIHNlY3Rpb24uIFRoZSBpbmRleCBpcyBiYXNlZCBvbiB0aGUgc2VjdGlvbidzIHBvc2l0aW9uIHdoZW4gdGhlIGZvcm0gbG9hZHMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGluZGV4Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlY3Rpb25lZCBmb3JtIHRhYnMgYXJlIHNob3duIG9yIGhpZGRlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdGFic1Zpc2libGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhcmlhUm9sZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJ3RhYmxpc3QnO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreVNlY3Rpb25TaWRlQ29udGVudCcpXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI3RhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2U7XG4gICNsb2dnZXI6IFNreUxvZ1NlcnZpY2U7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5U2VjdGlvbmVkRm9ybU1lc3NhZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHRhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2UsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgICB0aGlzLiN0YWJJZFN2YyA9IHRhYklkU3ZjO1xuICAgIHRoaXMuI2xvZ2dlciA9IGxvZ2dlcjtcblxuICAgIHRoaXMuI2luaXRNZXNzYWdlU3RyZWFtKCk7XG5cbiAgICB0aGlzLiN0YWJJZFN2Yy5pZHMucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoaWRzKSA9PiB7XG4gICAgICB0aGlzLmFyaWFPd25zID0gaWRzLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLm1haW50YWluVGFiQ29udGVudCA9IHRoaXMubWFpbnRhaW5TZWN0aW9uQ29udGVudDtcblxuICAgIHRoaXMudGFiU2VydmljZS5pbmRleENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuaW5kZXhDaGFuZ2VkLmVtaXQoaW5kZXgpO1xuICAgICAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFiU2VydmljZS5zd2l0Y2hpbmdNb2JpbGVcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1vYmlsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIW1vYmlsZSkge1xuICAgICAgICAgIHRoaXMuYXJpYVJvbGUgPSAndGFibGlzdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hcmlhUm9sZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy50YWJTZXJ2aWNlLmhpZGluZ1RhYnNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRhYnNWaXNpYmxlQ2hhbmdlZC5lbWl0KGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy50YWJTZXJ2aWNlLnNob3dpbmdUYWJzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy50YWJzVmlzaWJsZUNoYW5nZWQuZW1pdCh0cnVlKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGFiU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLmFyaWFSb2xlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy50YWJTZXJ2aWNlLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGUgPSBWSVNJQkxFX1NUQVRFO1xuICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG4gICAgdGhpcy50YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgdGFic1Zpc2libGVDaGFuZ2VkYCBvdXRwdXQgdG8gbGlzdGVuIGZvciB0YWIgdmlzaWJpbGl0eSBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIHRhYnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuI2xvZ2dlci5kZXByZWNhdGVkKCdTZWN0aW9uZWRGb3JtQ29tcG9uZW50LnRhYnNWaXNpYmxlKCknLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOCxcbiAgICAgIG1vcmVJbmZvVXJsOlxuICAgICAgICAnaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3NlY3Rpb25lZC1mb3JtJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246XG4gICAgICAgICdVc2UgdGhlIGB0YWJzVmlzaWJsZUNoYW5nZWRgIG91dHB1dCB0byBsaXN0ZW4gZm9yIHRhYiB2aXNpYmlsaXR5IGNoYW5nZXMuJyxcbiAgICB9KTtcblxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICByZXR1cm4gdGhpcy50YWJTZXJ2aWNlLnRhYnNWaXNpYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgbWVzc2FnZVN0cmVhbWAgaW5wdXQgYW5kIHB1c2ggYSBgU2hvd1RhYnNgIG1lc3NhZ2UgdG8gdGhlIG1lc3NhZ2Ugc3RyZWFtIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2hvd1RhYnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NlY3Rpb25lZEZvcm1Db21wb25lbnQuc2hvd1RhYnMoKScsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA4LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvc2VjdGlvbmVkLWZvcm0nLFxuICAgICAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbjpcbiAgICAgICAgJ1VzZSB0aGUgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IGFuZCBwdXNoIGEgYFNob3dUYWJzYCBtZXNzYWdlIHRvIHRoZSBtZXNzYWdlIHN0cmVhbSBpbnN0ZWFkLicsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNzaG93VGFicygpO1xuICB9XG5cbiAgI3Nob3dUYWJzKCk6IHZvaWQge1xuICAgIHRoaXMudGFiU2VydmljZS5zaG93VGFicygpO1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNpbml0TWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIgPSB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlVHlwZS5TaG93VGFiczpcbiAgICAgICAgICAgIHRoaXMuI3Nob3dUYWJzKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VjdGlvbmVkLWZvcm1cIiAod2luZG93OnJlc2l6ZSk9XCJ0YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKVwiPlxuICA8IS0tXG4gICAgQVJJQSBydWxlcyBkbyBub3QgYWxsb3cgdGFicGFuZWwgZWxlbWVudHMgdG8gYmUgY2hpbGRyZW4gb2YgYSB0YWJsaXN0IGVsZW1lbnQuXG4gICAgSG93ZXZlciwgdGhlIG1hcmt1cCBmb3IgZWFjaCBza3ktdmVydGljYWwtdGFiIGNvbXBvbmVudCBpbmNsdWRlcyBib3RoIHRoZSB0YWIgYnV0dG9uXG4gICAgYW5kIGl0cyBwYW5lbCwgbWFraW5nIHRoZSBwYW5lbCBlbGVtZW50IGEgY2hpbGQgb2YgaXRzIHRhYmxpc3QuIE1vcmVvdmVyLCBvdXJcbiAgICBza3ktdmVydGljYWwtdGFiIGNvbXBvbmVudHMgY2FuIGJlIGdyb3VwZWQgd2l0aGluIGNvbGxhcHNpYmxlIGNvbnRhaW5lcnMsIHdoaWNoIGFsc29cbiAgICB2aW9sYXRlcyBhY2Nlc3NpYmlsaXR5IHJ1bGVzIGJlY2F1c2Ugb25seSB0YWIgYnV0dG9ucyBjYW4gYmUgY2hpbGRyZW4gb2YgYSB0YWJsaXN0LlxuICAgIFRvIGFkZHJlc3MgdGhpcywgd2UgY3JlYXRlIGFuIGVtcHR5IHRhYmxpc3QgZWxlbWVudCB3aXRoIGFuIGFyaWEtb3ducyBhdHRyaWJ1dGUsXG4gICAgcG9pbnRpbmcgdG8gZWFjaCB0YWIgZWxlbWVudCBpbmRpdmlkdWFsbHkuIFRoYXQgd2F5LCB3ZSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IHRoZVxuICAgIHN0cnVjdHVyZSBmb3IgZWFjaCBza3ktdmVydGljYWwtdGFiIGNvbXBvbmVudCBpbiBvcmRlciB0byBzYXRpc2Z5IGFjY2Vzc2liaWxpdHlcbiAgICBndWlkZWxpbmVzLlxuICAtLT5cbiAgPHNwYW5cbiAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgIFthdHRyLmFyaWEtb3duc109XCJhcmlhT3duc1wiXG4gICAgW2F0dHIucm9sZV09XCJhcmlhUm9sZVwiXG4gID48L3NwYW4+XG4gIDxkaXZcbiAgICAqbmdJZj1cIm1haW50YWluU2VjdGlvbkNvbnRlbnQgfHwgdGFic1Zpc2libGUoKVwiXG4gICAgY2xhc3M9XCJza3ktc2VjdGlvbmVkLWZvcm0tdGFic1wiXG4gICAgW25nQ2xhc3NdPVwieyAnc2t5LXNlY3Rpb25lZC1mb3JtLXRhYnMtaGlkZGVuJzogIXRhYnNWaXNpYmxlKCkgfVwiXG4gICAgW0B0YWJFbnRlcl09XCJ0YWJTZXJ2aWNlLmFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGVcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwibWFpbnRhaW5TZWN0aW9uQ29udGVudCB8fCB0YWJTZXJ2aWNlLmNvbnRlbnRWaXNpYmxlKClcIlxuICAgIGNsYXNzPVwic2t5LXNlY3Rpb25lZC1mb3JtLWNvbnRlbnRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc2VjdGlvbmVkLWZvcm0tY29udGVudC1oaWRkZW4nOiAhdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpXG4gICAgfVwiXG4gICAgW0Bjb250ZW50RW50ZXJdPVwidGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlXCJcbiAgICAjc2t5U2VjdGlvblNpZGVDb250ZW50XG4gID48L2Rpdj5cbjwvZGl2PlxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUNMLFlBQVksRUFDWix3QkFBd0IsRUFDeEIsYUFBYSxHQUNkLE1BQU0sOENBQThDLENBQUM7QUFFdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQUVsRjs7R0FFRztBQXNCSCxNQUFNLE9BQU8seUJBQXlCO0lBV3BDLElBQ1csYUFBYSxDQUN0QixLQUFtRDtRQUVuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQUN2RSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBc0JELGNBQWMsQ0FBdUI7SUFFckMsaUJBQWlCLENBQTJCO0lBQzVDLFVBQVUsQ0FBb0I7SUFDOUIsU0FBUyxDQUFrQjtJQUMzQixPQUFPLENBQWdCO0lBRXZCLGVBQWUsQ0FBMEM7SUFFekQsWUFDUyxVQUFvQyxFQUMzQyxTQUE0QixFQUM1QixRQUF5QixFQUN6QixNQUFxQjtRQUhkLGVBQVUsR0FBVixVQUFVLENBQTBCO1FBbEQ3Qzs7OztXQUlHO1FBRUksMkJBQXNCLEdBQXdCLEtBQUssQ0FBQztRQWMzRDs7O1dBR0c7UUFFSSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9EOztXQUVHO1FBRUksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUlqRCxhQUFRLEdBQXVCLFNBQVMsQ0FBQztRQUtoRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPckMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQVF2RCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFFakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWU7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQzthQUMzQjtZQUVELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7YUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVc7YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsR0FBRyxhQUFhLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLHNDQUFzQyxFQUFFO1lBQzlELHVCQUF1QixFQUFFLENBQUM7WUFDMUIsV0FBVyxFQUNULGlFQUFpRTtZQUNuRSx5QkFBeUIsRUFDdkIsMkVBQTJFO1NBQzlFLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsRUFBRTtZQUMzRCx1QkFBdUIsRUFBRSxDQUFDO1lBQzFCLFdBQVcsRUFDVCxpRUFBaUU7WUFDbkUseUJBQXlCLEVBQ3ZCLDRGQUE0RjtTQUMvRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWE7YUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNwQixLQUFLLDJCQUEyQixDQUFDLFFBQVE7b0JBQ3ZDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakIsTUFBTTthQUNUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTNLVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixnT0FqQnpCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixDQUFDLDRJQ3BDeEQsMmxEQXNDQSxtckhEQWM7WUFDVixPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUNsQixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7b0JBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUN4QyxPQUFPLENBQUMsZUFBZSxDQUFDO2lCQUN6QixDQUFDO2FBQ0gsQ0FBQztZQUNGLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3RCLFVBQVUsQ0FBQyxHQUFHLFlBQVksT0FBTyxhQUFhLEVBQUUsRUFBRTtvQkFDaEQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUM7b0JBQ3ZDLE9BQU8sQ0FBQyxlQUFlLENBQUM7aUJBQ3pCLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzJGQUVVLHlCQUF5QjtrQkFyQnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGFBR25CLENBQUMsZUFBZSxFQUFFLHdCQUF3QixDQUFDLG1CQUNyQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2xCLFVBQVUsQ0FBQyxHQUFHLFlBQVksT0FBTyxhQUFhLEVBQUUsRUFBRTtnQ0FDaEQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0NBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7eUJBQ0gsQ0FBQzt3QkFDRixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7Z0NBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2dDQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDOzZCQUN6QixDQUFDO3lCQUNILENBQUM7cUJBQ0g7eU1BV00sc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBaUJDLFlBQVk7c0JBRGxCLE1BQU07Z0JBT0Esa0JBQWtCO3NCQUR4QixNQUFNO2dCQVFBLE9BQU87c0JBRGIsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGFiSWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3RhYi1pZC5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgSElEREVOX1NUQVRFLFxuICBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UsXG4gIFZJU0lCTEVfU1RBVEUsXG59IGZyb20gJy4vLi4vdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9zZWN0aW9uZWQtZm9ybS1tZXNzYWdlJztcbmltcG9ydCB7IFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvc2VjdGlvbmVkLWZvcm0tbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB0aGUgc2VjdGlvbmVkIGZvcm1zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VjdGlvbmVkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VjdGlvbmVkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUYWJJZFNlcnZpY2UsIFNreVZlcnRpY2FsVGFic2V0U2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcigndGFiRW50ZXInLCBbXG4gICAgICB0cmFuc2l0aW9uKGAke0hJRERFTl9TVEFURX0gPT4gJHtWSVNJQkxFX1NUQVRFfWAsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpLFxuICAgICAgXSksXG4gICAgXSksXG4gICAgdHJpZ2dlcignY29udGVudEVudGVyJywgW1xuICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlY3Rpb25lZEZvcm1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VjdGlvbmVkIGZvcm0gbG9hZHMgc2VjdGlvbiBjb250ZW50IGR1cmluZyBpbml0aWFsaXphdGlvbiBzbyB0aGF0IGl0XG4gICAqIGRpc3BsYXlzIGNvbnRlbnQgd2l0aG91dCBtb3ZpbmcgYXJvdW5kIGVsZW1lbnRzIGluIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYWludGFpblNlY3Rpb25Db250ZW50OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtZXNzYWdlU3RyZWFtKFxuICAgIHZhbHVlOiBTdWJqZWN0PFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlPiB8IHVuZGVmaW5lZFxuICApIHtcbiAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbSA9IHZhbHVlIHx8IG5ldyBTdWJqZWN0PFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlPigpO1xuICAgIHRoaXMuI2luaXRNZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBhY3RpdmUgdGFiIGNoYW5nZXMgYW5kIGVtaXRzIHRoZSBpbmRleCBvZiB0aGUgYWN0aXZlXG4gICAqIHNlY3Rpb24uIFRoZSBpbmRleCBpcyBiYXNlZCBvbiB0aGUgc2VjdGlvbidzIHBvc2l0aW9uIHdoZW4gdGhlIGZvcm0gbG9hZHMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGluZGV4Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlY3Rpb25lZCBmb3JtIHRhYnMgYXJlIHNob3duIG9yIGhpZGRlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdGFic1Zpc2libGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhcmlhUm9sZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJ3RhYmxpc3QnO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreVNlY3Rpb25TaWRlQ29udGVudCcpXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI3RhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2U7XG4gICNsb2dnZXI6IFNreUxvZ1NlcnZpY2U7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5U2VjdGlvbmVkRm9ybU1lc3NhZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHRhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2UsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgICB0aGlzLiN0YWJJZFN2YyA9IHRhYklkU3ZjO1xuICAgIHRoaXMuI2xvZ2dlciA9IGxvZ2dlcjtcblxuICAgIHRoaXMuI2luaXRNZXNzYWdlU3RyZWFtKCk7XG5cbiAgICB0aGlzLiN0YWJJZFN2Yy5pZHMucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoaWRzKSA9PiB7XG4gICAgICB0aGlzLmFyaWFPd25zID0gaWRzLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLm1haW50YWluVGFiQ29udGVudCA9IHRoaXMubWFpbnRhaW5TZWN0aW9uQ29udGVudDtcblxuICAgIHRoaXMudGFiU2VydmljZS5pbmRleENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuaW5kZXhDaGFuZ2VkLmVtaXQoaW5kZXgpO1xuICAgICAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFiU2VydmljZS5zd2l0Y2hpbmdNb2JpbGVcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1vYmlsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIW1vYmlsZSkge1xuICAgICAgICAgIHRoaXMuYXJpYVJvbGUgPSAndGFibGlzdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hcmlhUm9sZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy50YWJTZXJ2aWNlLmhpZGluZ1RhYnNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRhYnNWaXNpYmxlQ2hhbmdlZC5lbWl0KGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy50YWJTZXJ2aWNlLnNob3dpbmdUYWJzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy50YWJzVmlzaWJsZUNoYW5nZWQuZW1pdCh0cnVlKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGFiU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLmFyaWFSb2xlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy50YWJTZXJ2aWNlLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGUgPSBWSVNJQkxFX1NUQVRFO1xuICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG4gICAgdGhpcy50YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgdGFic1Zpc2libGVDaGFuZ2VkYCBvdXRwdXQgdG8gbGlzdGVuIGZvciB0YWIgdmlzaWJpbGl0eSBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIHRhYnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuI2xvZ2dlci5kZXByZWNhdGVkKCdTZWN0aW9uZWRGb3JtQ29tcG9uZW50LnRhYnNWaXNpYmxlKCknLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOCxcbiAgICAgIG1vcmVJbmZvVXJsOlxuICAgICAgICAnaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3NlY3Rpb25lZC1mb3JtJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246XG4gICAgICAgICdVc2UgdGhlIGB0YWJzVmlzaWJsZUNoYW5nZWRgIG91dHB1dCB0byBsaXN0ZW4gZm9yIHRhYiB2aXNpYmlsaXR5IGNoYW5nZXMuJyxcbiAgICB9KTtcblxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICByZXR1cm4gdGhpcy50YWJTZXJ2aWNlLnRhYnNWaXNpYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgbWVzc2FnZVN0cmVhbWAgaW5wdXQgYW5kIHB1c2ggYSBgU2hvd1RhYnNgIG1lc3NhZ2UgdG8gdGhlIG1lc3NhZ2Ugc3RyZWFtIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2hvd1RhYnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NlY3Rpb25lZEZvcm1Db21wb25lbnQuc2hvd1RhYnMoKScsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA4LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvc2VjdGlvbmVkLWZvcm0nLFxuICAgICAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbjpcbiAgICAgICAgJ1VzZSB0aGUgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IGFuZCBwdXNoIGEgYFNob3dUYWJzYCBtZXNzYWdlIHRvIHRoZSBtZXNzYWdlIHN0cmVhbSBpbnN0ZWFkLicsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNzaG93VGFicygpO1xuICB9XG5cbiAgI3Nob3dUYWJzKCk6IHZvaWQge1xuICAgIHRoaXMudGFiU2VydmljZS5zaG93VGFicygpO1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNpbml0TWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIgPSB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlVHlwZS5TaG93VGFiczpcbiAgICAgICAgICAgIHRoaXMuI3Nob3dUYWJzKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VjdGlvbmVkLWZvcm1cIiAod2luZG93OnJlc2l6ZSk9XCJ0YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKVwiPlxuICA8IS0tXG4gICAgQVJJQSBydWxlcyBkbyBub3QgYWxsb3cgdGFicGFuZWwgZWxlbWVudHMgdG8gYmUgY2hpbGRyZW4gb2YgYSB0YWJsaXN0IGVsZW1lbnQuXG4gICAgSG93ZXZlciwgdGhlIG1hcmt1cCBmb3IgZWFjaCBza3ktdmVydGljYWwtdGFiIGNvbXBvbmVudCBpbmNsdWRlcyBib3RoIHRoZSB0YWIgYnV0dG9uXG4gICAgYW5kIGl0cyBwYW5lbCwgbWFraW5nIHRoZSBwYW5lbCBlbGVtZW50IGEgY2hpbGQgb2YgaXRzIHRhYmxpc3QuIE1vcmVvdmVyLCBvdXJcbiAgICBza3ktdmVydGljYWwtdGFiIGNvbXBvbmVudHMgY2FuIGJlIGdyb3VwZWQgd2l0aGluIGNvbGxhcHNpYmxlIGNvbnRhaW5lcnMsIHdoaWNoIGFsc29cbiAgICB2aW9sYXRlcyBhY2Nlc3NpYmlsaXR5IHJ1bGVzIGJlY2F1c2Ugb25seSB0YWIgYnV0dG9ucyBjYW4gYmUgY2hpbGRyZW4gb2YgYSB0YWJsaXN0LlxuICAgIFRvIGFkZHJlc3MgdGhpcywgd2UgY3JlYXRlIGFuIGVtcHR5IHRhYmxpc3QgZWxlbWVudCB3aXRoIGFuIGFyaWEtb3ducyBhdHRyaWJ1dGUsXG4gICAgcG9pbnRpbmcgdG8gZWFjaCB0YWIgZWxlbWVudCBpbmRpdmlkdWFsbHkuIFRoYXQgd2F5LCB3ZSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IHRoZVxuICAgIHN0cnVjdHVyZSBmb3IgZWFjaCBza3ktdmVydGljYWwtdGFiIGNvbXBvbmVudCBpbiBvcmRlciB0byBzYXRpc2Z5IGFjY2Vzc2liaWxpdHlcbiAgICBndWlkZWxpbmVzLlxuICAtLT5cbiAgPHNwYW5cbiAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgIFthdHRyLmFyaWEtb3duc109XCJhcmlhT3duc1wiXG4gICAgW2F0dHIucm9sZV09XCJhcmlhUm9sZVwiXG4gID48L3NwYW4+XG4gIDxkaXZcbiAgICAqbmdJZj1cIm1haW50YWluU2VjdGlvbkNvbnRlbnQgfHwgdGFic1Zpc2libGUoKVwiXG4gICAgY2xhc3M9XCJza3ktc2VjdGlvbmVkLWZvcm0tdGFic1wiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1zZWN0aW9uZWQtZm9ybS10YWJzLWhpZGRlbic6ICF0YWJzVmlzaWJsZSgpLFxuICAgICAgJ3NreS1zZWN0aW9uZWQtZm9ybS10YWJzLW9ubHknOiAhdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpXG4gICAgfVwiXG4gICAgW0B0YWJFbnRlcl09XCJ0YWJTZXJ2aWNlLmFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGVcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwibWFpbnRhaW5TZWN0aW9uQ29udGVudCB8fCB0YWJTZXJ2aWNlLmNvbnRlbnRWaXNpYmxlKClcIlxuICAgIGNsYXNzPVwic2t5LXNlY3Rpb25lZC1mb3JtLWNvbnRlbnRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc2VjdGlvbmVkLWZvcm0tY29udGVudC1oaWRkZW4nOiAhdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpXG4gICAgfVwiXG4gICAgW0Bjb250ZW50RW50ZXJdPVwidGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlXCJcbiAgICAjc2t5U2VjdGlvblNpZGVDb250ZW50XG4gID48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,3 +1,4 @@
1
+ /* istanbul ignore file */
1
2
  /**
2
3
  * NOTICE: DO NOT MODIFY THIS FILE!
3
4
  * The contents of this file were automatically generated by
@@ -5,7 +6,7 @@
5
6
  * To update this file, simply rerun the command.
6
7
  */
7
8
  import { NgModule } from '@angular/core';
8
- import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
9
+ import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, SkyLibResourcesService, getLibStringForLocale, } from '@skyux/i18n';
9
10
  import * as i0 from "@angular/core";
10
11
  const RESOURCES = {
11
12
  'EN-US': {
@@ -26,6 +27,7 @@ const RESOURCES = {
26
27
  },
27
28
  },
28
29
  };
30
+ SkyLibResourcesService.addResources(RESOURCES);
29
31
  export class SkyTabsResourcesProvider {
30
32
  getString(localeInfo, name) {
31
33
  return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
@@ -58,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
58
60
  ],
59
61
  }]
60
62
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUNyQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO1FBQzdDLDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUNsRCx5QkFBeUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDOUMsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ3RELGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdkMsdUJBQXVCLEVBQUUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUU7UUFDM0Qsa0NBQWtDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzNELDRCQUE0QixFQUFFLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFO1FBQzFFLDhCQUE4QixFQUFFO1lBQzlCLE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0M7UUFDRCxnQ0FBZ0MsRUFBRTtZQUNoQyxPQUFPLEVBQUUsbUNBQW1DO1NBQzdDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixTQUFTLENBQ2QsVUFBNEIsRUFDNUIsSUFBWTtRQUVaLE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQVR2QixhQUFhOytHQVNaLHNCQUFzQixhQVJ0QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixZQVBTLGFBQWE7OzJGQVNaLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsd0JBQXdCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X3RhYl9hZGQ6IHsgbWVzc2FnZTogJ0FkZCB0YWInIH0sXG4gICAgc2t5dXhfdGFiX2Nsb3NlOiB7IG1lc3NhZ2U6ICdDbG9zZSB7MH0gdGFiJyB9LFxuICAgIHNreXV4X3RhYnNfbmF2aWdhdG9yX2ZpbmlzaDogeyBtZXNzYWdlOiAnRmluaXNoJyB9LFxuICAgIHNreXV4X3RhYnNfbmF2aWdhdG9yX25leHQ6IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXM6IHsgbWVzc2FnZTogJ1ByZXZpb3VzJyB9LFxuICAgIHNreXV4X3RhYl9vcGVuOiB7IG1lc3NhZ2U6ICdPcGVuIHRhYicgfSxcbiAgICBza3l1eF90YWJzX3NyX3RhYl9vcmRlcjogeyBtZXNzYWdlOiAnVGFiIHswfSBvZiB7MX06IHsyfScgfSxcbiAgICBza3l1eF92ZXJ0aWNhbF90YWJzX3Nob3dfdGFic190ZXh0OiB7IG1lc3NhZ2U6ICdUYWIgbGlzdCcgfSxcbiAgICBza3l1eF93aXphcmRfc3Jfc3RlcF9jdXJyZW50OiB7IG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIGN1cnJlbnQ6IHsyfScgfSxcbiAgICBza3l1eF93aXphcmRfc3Jfc3RlcF9jb21wbGV0ZWQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIGNvbXBsZXRlZDogezJ9JyxcbiAgICB9LFxuICAgIHNreXV4X3dpemFyZF9zcl9zdGVwX3VuYXZhaWxhYmxlOiB7XG4gICAgICBtZXNzYWdlOiAnU3RlcCB7MH0gb2YgezF9LCB1bmF2YWlsYWJsZTogezJ9JyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreVRhYnNSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0IsYUFBYSxFQUdiLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUU7UUFDUCxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3JDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUU7UUFDN0MsMkJBQTJCLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ2xELHlCQUF5QixFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtRQUM5Qyw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdEQsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN2Qyx1QkFBdUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRTtRQUMzRCxrQ0FBa0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDM0QsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsK0JBQStCLEVBQUU7UUFDMUUsOEJBQThCLEVBQUU7WUFDOUIsT0FBTyxFQUFFLGlDQUFpQztTQUMzQztRQUNELGdDQUFnQyxFQUFFO1lBQ2hDLE9BQU8sRUFBRSxtQ0FBbUM7U0FDN0M7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0MsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixTQUFTLENBQ2QsVUFBNEIsRUFDNUIsSUFBWTtRQUVaLE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQVR2QixhQUFhOytHQVNaLHNCQUFzQixhQVJ0QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixZQVBTLGFBQWE7OzJGQVNaLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsd0JBQXdCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5cbi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X3RhYl9hZGQ6IHsgbWVzc2FnZTogJ0FkZCB0YWInIH0sXG4gICAgc2t5dXhfdGFiX2Nsb3NlOiB7IG1lc3NhZ2U6ICdDbG9zZSB7MH0gdGFiJyB9LFxuICAgIHNreXV4X3RhYnNfbmF2aWdhdG9yX2ZpbmlzaDogeyBtZXNzYWdlOiAnRmluaXNoJyB9LFxuICAgIHNreXV4X3RhYnNfbmF2aWdhdG9yX25leHQ6IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXM6IHsgbWVzc2FnZTogJ1ByZXZpb3VzJyB9LFxuICAgIHNreXV4X3RhYl9vcGVuOiB7IG1lc3NhZ2U6ICdPcGVuIHRhYicgfSxcbiAgICBza3l1eF90YWJzX3NyX3RhYl9vcmRlcjogeyBtZXNzYWdlOiAnVGFiIHswfSBvZiB7MX06IHsyfScgfSxcbiAgICBza3l1eF92ZXJ0aWNhbF90YWJzX3Nob3dfdGFic190ZXh0OiB7IG1lc3NhZ2U6ICdUYWIgbGlzdCcgfSxcbiAgICBza3l1eF93aXphcmRfc3Jfc3RlcF9jdXJyZW50OiB7IG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIGN1cnJlbnQ6IHsyfScgfSxcbiAgICBza3l1eF93aXphcmRfc3Jfc3RlcF9jb21wbGV0ZWQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIGNvbXBsZXRlZDogezJ9JyxcbiAgICB9LFxuICAgIHNreXV4X3dpemFyZF9zcl9zdGVwX3VuYXZhaWxhYmxlOiB7XG4gICAgICBtZXNzYWdlOiAnU3RlcCB7MH0gb2YgezF9LCB1bmF2YWlsYWJsZTogezJ9JyxcbiAgICB9LFxuICB9LFxufTtcblxuU2t5TGliUmVzb3VyY2VzU2VydmljZS5hZGRSZXNvdXJjZXMoUkVTT1VSQ0VTKTtcblxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreVRhYnNSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
@@ -82,7 +82,6 @@ export class SkyTabComponent {
82
82
  const layout = value || LAYOUT_DEFAULT;
83
83
  this.#_layout = layout;
84
84
  this.cssClass = `${LAYOUT_CLASS_PREFIX}${layout}`;
85
- this.#observeTabResize();
86
85
  if (this.active) {
87
86
  this.#tabsetService.updateActiveTabLayout(layout);
88
87
  }
@@ -100,11 +99,15 @@ export class SkyTabComponent {
100
99
  return this.#tabIndexChange;
101
100
  }
102
101
  set tabContentWrapper(tabContentWrapper) {
103
- this.#_tabElement = tabContentWrapper;
104
- this.#observeTabResize();
105
- }
106
- get tabContentWrapper() {
107
- return this.#_tabElement;
102
+ /* istanbul ignore else */
103
+ if (tabContentWrapper) {
104
+ this.#mediaQueryService.observe(tabContentWrapper, {
105
+ updateResponsiveClasses: true,
106
+ });
107
+ }
108
+ else {
109
+ this.#mediaQueryService.unobserve();
110
+ }
108
111
  }
109
112
  #_active;
110
113
  #activeChange;
@@ -113,9 +116,7 @@ export class SkyTabComponent {
113
116
  #_tabHeading;
114
117
  #_tabIndex;
115
118
  #_layout;
116
- #_tabElement;
117
119
  #tabIndexChange;
118
- #observingTab;
119
120
  #changeDetector;
120
121
  #permalinkService;
121
122
  #tabsetService;
@@ -131,7 +132,6 @@ export class SkyTabComponent {
131
132
  this.showContent = false;
132
133
  this.#_active = false;
133
134
  this.#_layout = LAYOUT_DEFAULT;
134
- this.#observingTab = false;
135
135
  this.#mediaQueryService = inject(SkyResizeObserverMediaQueryService);
136
136
  this.#changeDetector = changeDetector;
137
137
  this.#permalinkService = permalinkService;
@@ -152,9 +152,6 @@ export class SkyTabComponent {
152
152
  (changes['permalinkValue'] && !changes['permalinkValue'].firstChange)) {
153
153
  this.#stateChange.next();
154
154
  }
155
- if (changes['layout'] && changes['layout'].currentValue === 'none') {
156
- this.#mediaQueryService.unobserve();
157
- }
158
155
  }
159
156
  ngOnDestroy() {
160
157
  this.#activeChange.complete();
@@ -164,7 +161,6 @@ export class SkyTabComponent {
164
161
  this.#tabsetService.unregisterTab(this.tabIndex);
165
162
  }
166
163
  this.#mediaQueryService.unobserve();
167
- this.#observingTab = false;
168
164
  }
169
165
  init() {
170
166
  this.#_tabIndex = this.#tabsetService.registerTab(this.tabIndex);
@@ -187,20 +183,6 @@ export class SkyTabComponent {
187
183
  this.#permalinkService.urlify(this.permalinkValue) ||
188
184
  this.#permalinkService.urlify(this.tabHeading);
189
185
  }
190
- #observeTabResize() {
191
- if (this.tabContentWrapper) {
192
- if (this.layout !== 'none' && !this.#observingTab) {
193
- this.#observingTab = true;
194
- this.#mediaQueryService.observe(this.tabContentWrapper, {
195
- updateResponsiveClasses: true,
196
- });
197
- }
198
- else if (this.layout === 'none' && this.#observingTab) {
199
- this.#observingTab = false;
200
- this.#mediaQueryService.unobserve();
201
- }
202
- }
203
- }
204
186
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyTabsetPermalinkService }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component }); }
205
187
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex", layout: "layout" }, outputs: { close: "close" }, host: { properties: { "class": "this.cssClass" } }, providers: [
206
188
  SkyResizeObserverMediaQueryService,
@@ -242,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
242
224
  type: ViewChild,
243
225
  args: ['tabContentWrapper']
244
226
  }] } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7OztBQU9uRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFxQixNQUFNLENBQUM7QUFFaEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBZWYsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQTBCO1FBQzFDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQVNEOzs7Ozs7O09BT0c7SUFDSCxJQUNXLGNBQWMsQ0FBQyxLQUF5QjtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVVEOzs7Ozs7O09BT0c7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBOEI7UUFDaEQsSUFDRSxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVU7WUFDekIsS0FBSyxLQUFLLFNBQVM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQzdCO1lBQ0EsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUNXLE1BQU0sQ0FBQyxLQUFtQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksY0FBYyxDQUFDO1FBRXZDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxtQkFBbUIsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUVsRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBYUQ7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNXLGlCQUFpQixDQUFDLGlCQUF5QztRQUNwRSxJQUFJLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQVVELFFBQVEsQ0FBUztJQUVqQixhQUFhLENBQW9DO0lBRWpELGdCQUFnQixDQUFxQjtJQUVyQyxZQUFZLENBQXdCO0lBRXBDLFlBQVksQ0FBcUI7SUFFakMsVUFBVSxDQUEwQjtJQUVwQyxRQUFRLENBQW9DO0lBRTVDLFlBQVksQ0FBeUI7SUFFckMsZUFBZSxDQUEyQztJQUUxRCxhQUFhLENBQVM7SUFFdEIsZUFBZSxDQUFvQjtJQUNuQyxpQkFBaUIsQ0FBNEI7SUFDN0MsY0FBYyxDQUFtQjtJQUVqQyxZQUNFLGNBQWlDLEVBQ2pDLGdCQUEyQyxFQUMzQyxhQUErQjtRQWxFMUIsYUFBUSxHQUFHLEdBQUcsbUJBQW1CLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFNUQ7Ozs7V0FJRztRQUVJLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDLENBQUMsdURBQXVEO1FBdUJ6Riw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVlqQixhQUFRLEdBQXFCLGNBQWMsQ0FBQztRQU01QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQTJCdEIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFoQjlELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQztRQUVoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFtQixTQUFTLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQ3hDLFNBQVMsQ0FDVixDQUFDO1FBRUYsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGtCQUFrQixDQUE4QztJQUV6RCxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFDRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDekQsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQzdELENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDckUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNyRTtZQUNBLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsSUFBSSxDQUFDLHVCQUF1QjtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUN0RCx1QkFBdUIsRUFBRSxJQUFJO2lCQUM5QixDQUFDLENBQUM7YUFDSjtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDckM7U0FDRjtJQUNILENBQUM7OEdBaFJVLGVBQWU7a0dBQWYsZUFBZSw2U0FSZjtZQUNULGtDQUFrQztZQUNsQztnQkFDRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixXQUFXLEVBQUUsa0NBQWtDO2FBQ2hEO1NBQ0YsdUtDM0NILDhNQVVBOzsyRkRtQ2EsZUFBZTtrQkFiM0IsU0FBUzsrQkFDRSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Qsa0NBQWtDO3dCQUNsQzs0QkFDRSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsa0NBQWtDO3lCQUNoRDtxQkFDRjsrS0FTVSxNQUFNO3NCQURoQixLQUFLO2dCQXFCQyxRQUFRO3NCQURkLEtBQUs7Z0JBWUssY0FBYztzQkFEeEIsS0FBSztnQkFnQkMsY0FBYztzQkFEcEIsS0FBSztnQkFZSyxVQUFVO3NCQURwQixLQUFLO2dCQWdCSyxRQUFRO3NCQURsQixLQUFLO2dCQTBCSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CQyxRQUFRO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFTYixLQUFLO3NCQURYLE1BQU07Z0JBZUksaUJBQWlCO3NCQUQzQixTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreVRhYkluZGV4IH0gZnJvbSAnLi90YWItaW5kZXgnO1xuaW1wb3J0IHsgU2t5VGFiTGF5b3V0VHlwZSB9IGZyb20gJy4vdGFiLWxheW91dC10eXBlJztcbmltcG9ydCB7IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UgfSBmcm9tICcuL3RhYnNldC1wZXJtYWxpbmsuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lUYWJzZXRTZXJ2aWNlIH0gZnJvbSAnLi90YWJzZXQuc2VydmljZSc7XG5cbmNvbnN0IExBWU9VVF9DTEFTU19QUkVGSVggPSAnc2t5LWxheW91dC1ob3N0LSc7XG5jb25zdCBMQVlPVVRfREVGQVVMVDogU2t5VGFiTGF5b3V0VHlwZSA9ICdub25lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdGFiIGlzIGFjdGl2ZSB3aGVuIHRoZSB0YWJzZXQgbG9hZHMuIEFmdGVyIGluaXRpYWxpemF0aW9uLCB0aGUgYGFjdGl2ZWBcbiAgICogcHJvcGVydHkgb24gdGhlIHRhYnNldCBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWQgdG8gc2V0IHRoZSBhY3RpdmUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhIXZhbHVlICE9PSB0aGlzLiNfYWN0aXZlKSB7XG4gICAgICB0aGlzLiNfYWN0aXZlID0gdmFsdWU7XG4gICAgICB0aGlzLiNhY3RpdmVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2FjdGl2ZUNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGN1c3RvbSBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgZm9yIHRoZSB0YWIuXG4gICAqIFRoaXMgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgdGFic2V0J3MgYHBlcm1hbGlua0lkYCB0byBkaXN0aW5ndWlzaFxuICAgKiB0aGUgdGFiJ3MgdW5pcXVlIHN0YXRlIGluIHRoZSBVUkwgYnkgZ2VuZXJhdGluZyBhIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGlzXG4gICAqIHdyaXR0ZW4gYXMgYD88cXVlcnlQYXJhbT4tYWN0aXZlLXRhYj08c2FuaXRpemVkLXRhYi1oZWFkaW5nYC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIHF1ZXJ5IHBhcmFtZXRlcidzIHZhbHVlIGlzIHBhcnNlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHRhYidzIGhlYWRpbmcgdGV4dC5cbiAgICogVGhpcyBpbnB1dCBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgdGFic2V0J3MgYHRhYlN0eWxlYCBpcyBgXCJ0YWJzXCJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwZXJtYWxpbmtWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3Blcm1hbGlua1ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy4jc2V0UGVybWFsaW5rVmFsdWVPckRlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rVmFsdWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3Blcm1hbGlua1ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgY291bnRlciBiZXNpZGUgdGhlIHRhYiBoZWFkZXIuXG4gICAqIFRoaXMgaW5wdXQgb25seSBhcHBsaWVzIHdoZW4gdGhlIHRhYnNldCdzIGB0YWJTdHlsZWAgaXMgYFwidGFic1wiYC5cbiAgICogQGRlcHJlY2F0ZWQgU0tZIFVYIG5vIGxvbmdlciByZWNvbW1lbmRzIGFkZGluZyBjb3VudHMgdG8gdGFicy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkZXJDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFiIGhlYWRlci5cbiAgICogV2hlbiB1c2luZyB0YWJzIGFzIHRoZSBtYWluIG5hdmlnYXRpb24gb24gYSBwYWdlLFxuICAgKiB1c2UgW3RoZSBBbmd1bGFyIGBUaXRsZWAgc2VydmljZV0oaHR0cHM6Ly9hbmd1bGFyLmlvL2RvY3MvdHMvbGF0ZXN0L2Nvb2tib29rL3NldC1kb2N1bWVudC10aXRsZS5odG1sKVxuICAgKiBhbmQgW3RoZSBTS1kgVVggYHRpdGxlYCBjb25maWd1cmF0aW9uIHByb3BlcnR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL3JlZmVyZW5jZS9jb25maWd1cmF0aW9uI2FwcClcbiAgICogdG8gcmVmbGVjdCB0aGUgdGFiIGhlYWRlciBpbiB0aGUgcGFnZSB0aXRsZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhYkhlYWRpbmcodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190YWJIZWFkaW5nID0gdmFsdWU7XG5cbiAgICB0aGlzLiNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJIZWFkaW5nKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJIZWFkaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRhYi5cbiAgICogSWYgbm90IGRlZmluZWQsIHRoZSBpZGVudGlmaWVyIGlzIHNldCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIHRhYiBvbiBsb2FkLCBzdGFydGluZyB3aXRoIGAwYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IFNreVRhYkluZGV4IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKFxuICAgICAgdmFsdWUgIT09IHRoaXMuI190YWJJbmRleCAmJlxuICAgICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy4jX3RhYkluZGV4ICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudXBkYXRlVGFiSW5kZXgodGhpcy4jX3RhYkluZGV4LCB2YWx1ZSk7XG4gICAgICB0aGlzLiN0YWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfdGFiSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRhYiBsYXlvdXQgdGhhdCBhcHBsaWVzIHNwYWNpbmcgdG8gdGhlIHRhYiBjb250YWluZXIgZWxlbWVudC4gVXNlIHRoZSBsYXlvdXRcbiAgICogdGhhdCBjb3JyZXNwb25kcyB3aXRoIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IHR5cGUgdXNlZCB3aXRoaW4gdGhlIHRhYiwgb3IgdXNlIGBmaXRgIHRvXG4gICAqIGNvbnN0cmFpbiB0aGUgdGFiIGNvbnRlbnRzIHRvIHRoZSBhdmFpbGFibGUgdmlld3BvcnQuXG4gICAqIFVzZSBgbm9uZWAgZm9yIGN1c3RvbSBjb250ZW50IHRoYXQgZG9lcyBub3QgYWRoZXJlIHRvIHByZWRlZmluZWQgc3BhY2luZyBvciBjb25zdHJhaW50cy5cbiAgICogQGRlZmF1bHQgXCJub25lXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGF5b3V0KHZhbHVlOiBTa3lUYWJMYXlvdXRUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbGF5b3V0ID0gdmFsdWUgfHwgTEFZT1VUX0RFRkFVTFQ7XG5cbiAgICB0aGlzLiNfbGF5b3V0ID0gbGF5b3V0O1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBgJHtMQVlPVVRfQ0xBU1NfUFJFRklYfSR7bGF5b3V0fWA7XG5cbiAgICB0aGlzLiNvYnNlcnZlVGFiUmVzaXplKCk7XG5cbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudXBkYXRlQWN0aXZlVGFiTGF5b3V0KGxheW91dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYXlvdXQoKTogU2t5VGFiTGF5b3V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI19sYXlvdXQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGNzc0NsYXNzID0gYCR7TEFZT1VUX0NMQVNTX1BSRUZJWH0ke0xBWU9VVF9ERUZBVUxUfWA7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGJ1dHRvbiB0byBjbG9zZSB0aGUgdGFiLlxuICAgKiBUaGUgY2xvc2UgYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSB0YWIgd2hlbiB5b3Ugc3BlY2lmeSBhIGxpc3RlbmVyIGZvciB0aGlzIGV2ZW50LlxuICAgKiBUaGlzIGV2ZW50IG9ubHkgYXBwbGllcyB3aGVuIHRoZSB0YWJzZXQncyBgdGFiU3R5bGVgIGlzIGBcInRhYnNcImAuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyoqXG4gICAqIEFsZXJ0cyB0aGUgdGFic2V0IGNvbXBvbmVudCB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jc3RhdGVDaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jdGFiSW5kZXhDaGFuZ2U7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0YWJDb250ZW50V3JhcHBlcicpXG4gIHB1YmxpYyBzZXQgdGFiQ29udGVudFdyYXBwZXIodGFiQ29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGFiRWxlbWVudCA9IHRhYkNvbnRlbnRXcmFwcGVyO1xuICAgIHRoaXMuI29ic2VydmVUYWJSZXNpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiQ29udGVudFdyYXBwZXIoKTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0ID0gJyc7XG5cbiAgcHVibGljIHNob3dDb250ZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIHRhYkJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgcHVibGljIHRhYlBhbmVsSWQ6IHN0cmluZztcblxuICAjX2FjdGl2ZSA9IGZhbHNlO1xuXG4gICNhY3RpdmVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDx2b2lkIHwgdW5kZWZpbmVkPjtcblxuICAjX3Blcm1hbGlua1ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI3N0YXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8dm9pZD47XG5cbiAgI190YWJIZWFkaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI190YWJJbmRleDogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQ7XG5cbiAgI19sYXlvdXQ6IFNreVRhYkxheW91dFR5cGUgPSBMQVlPVVRfREVGQVVMVDtcblxuICAjX3RhYkVsZW1lbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3RhYkluZGV4Q2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+O1xuXG4gICNvYnNlcnZpbmdUYWIgPSBmYWxzZTtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjcGVybWFsaW5rU2VydmljZTogU2t5VGFic2V0UGVybWFsaW5rU2VydmljZTtcbiAgI3RhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHBlcm1hbGlua1NlcnZpY2U6IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UsXG4gICAgdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UgPSBwZXJtYWxpbmtTZXJ2aWNlO1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UgPSB0YWJzZXRTZXJ2aWNlO1xuICAgIGNvbnN0IGlkID0gbmV4dElkKys7XG4gICAgdGhpcy50YWJQYW5lbElkID0gYHNreS10YWItJHtpZH1gO1xuICAgIHRoaXMudGFiQnV0dG9uSWQgPSBgJHt0aGlzLnRhYlBhbmVsSWR9LW5hdi1idG5gO1xuXG4gICAgdGhpcy4jYWN0aXZlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHRoaXMuI3N0YXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lUYWJJbmRleCB8IHVuZGVmaW5lZD4oXG4gICAgICB1bmRlZmluZWRcbiAgICApO1xuXG4gICAgdGhpcy4jc2V0UGVybWFsaW5rVmFsdWVPckRlZmF1bHQoKTtcbiAgfVxuXG4gICNtZWRpYVF1ZXJ5U2VydmljZSA9IGluamVjdChTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlKTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzWydkaXNhYmxlZCddICYmICFjaGFuZ2VzWydkaXNhYmxlZCddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3RhYkhlYWRpbmcnXSAmJiAhY2hhbmdlc1sndGFiSGVhZGluZyddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3RhYkhlYWRlckNvdW50J10gJiYgIWNoYW5nZXNbJ3RhYkhlYWRlckNvdW50J10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sncGVybWFsaW5rVmFsdWUnXSAmJiAhY2hhbmdlc1sncGVybWFsaW5rVmFsdWUnXS5maXJzdENoYW5nZSlcbiAgICApIHtcbiAgICAgIHRoaXMuI3N0YXRlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snbGF5b3V0J10gJiYgY2hhbmdlc1snbGF5b3V0J10uY3VycmVudFZhbHVlID09PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnVub2JzZXJ2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgaWYgKHRoaXMudGFiSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51bnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS51bm9ic2VydmUoKTtcbiAgICB0aGlzLiNvYnNlcnZpbmdUYWIgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHRoaXMuI3RhYnNldFNlcnZpY2UucmVnaXN0ZXJUYWIodGhpcy50YWJJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy4jX2FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNfYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGlzQ2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMucGVybWFsaW5rVmFsdWVPckRlZmF1bHQgPVxuICAgICAgdGhpcy4jcGVybWFsaW5rU2VydmljZS51cmxpZnkodGhpcy5wZXJtYWxpbmtWYWx1ZSkgfHxcbiAgICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UudXJsaWZ5KHRoaXMudGFiSGVhZGluZyk7XG4gIH1cblxuICAjb2JzZXJ2ZVRhYlJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YWJDb250ZW50V3JhcHBlcikge1xuICAgICAgaWYgKHRoaXMubGF5b3V0ICE9PSAnbm9uZScgJiYgIXRoaXMuI29ic2VydmluZ1RhYikge1xuICAgICAgICB0aGlzLiNvYnNlcnZpbmdUYWIgPSB0cnVlO1xuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5vYnNlcnZlKHRoaXMudGFiQ29udGVudFdyYXBwZXIsIHtcbiAgICAgICAgICB1cGRhdGVSZXNwb25zaXZlQ2xhc3NlczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubGF5b3V0ID09PSAnbm9uZScgJiYgdGhpcy4jb2JzZXJ2aW5nVGFiKSB7XG4gICAgICAgIHRoaXMuI29ic2VydmluZ1RhYiA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS51bm9ic2VydmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdGFiXCJcbiAgcm9sZT1cInRhYnBhbmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYkJ1dHRvbklkXCJcbiAgW2hpZGRlbl09XCIhc2hvd0NvbnRlbnRcIlxuICBbaWRdPVwidGFiUGFuZWxJZFwiXG4gICN0YWJDb250ZW50V3JhcHBlclxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7OztBQU9uRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFxQixNQUFNLENBQUM7QUFFaEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBZWYsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQTBCO1FBQzFDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7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QUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0F6UFUsZUFBZTtrR0FBZixlQUFlLDZTQVJmO1lBQ1Qsa0NBQWtDO1lBQ2xDO2dCQUNFLE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLFdBQVcsRUFBRSxrQ0FBa0M7YUFDaEQ7U0FDRix1S0MzQ0gsOE1BVUE7OzJGRG1DYSxlQUFlO2tCQWIzQixTQUFTOytCQUNFLFNBQVMsbUJBR0YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxrQ0FBa0M7d0JBQ2xDOzRCQUNFLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFdBQVcsRUFBRSxrQ0FBa0M7eUJBQ2hEO3FCQUNGOytLQVNVLE1BQU07c0JBRGhCLEtBQUs7Z0JBcUJDLFFBQVE7c0JBRGQsS0FBSztnQkFZSyxjQUFjO3NCQUR4QixLQUFLO2dCQWdCQyxjQUFjO3NCQURwQixLQUFLO2dCQVlLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBMEJLLE1BQU07c0JBRGhCLEtBQUs7Z0JBaUJDLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVNiLEtBQUs7c0JBRFgsTUFBTTtnQkFlSSxpQkFBaUI7c0JBRDNCLFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5VGFiSW5kZXggfSBmcm9tICcuL3RhYi1pbmRleCc7XG5pbXBvcnQgeyBTa3lUYWJMYXlvdXRUeXBlIH0gZnJvbSAnLi90YWItbGF5b3V0LXR5cGUnO1xuaW1wb3J0IHsgU2t5VGFic2V0UGVybWFsaW5rU2VydmljZSB9IGZyb20gJy4vdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVRhYnNldFNlcnZpY2UgfSBmcm9tICcuL3RhYnNldC5zZXJ2aWNlJztcblxuY29uc3QgTEFZT1VUX0NMQVNTX1BSRUZJWCA9ICdza3ktbGF5b3V0LWhvc3QtJztcbmNvbnN0IExBWU9VVF9ERUZBVUxUOiBTa3lUYWJMYXlvdXRUeXBlID0gJ25vbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlIHdoZW4gdGhlIHRhYnNldCBsb2Fkcy4gQWZ0ZXIgaW5pdGlhbGl6YXRpb24sIHRoZSBgYWN0aXZlYFxuICAgKiBwcm9wZXJ0eSBvbiB0aGUgdGFic2V0IGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCB0byBzZXQgdGhlIGFjdGl2ZSB0YWIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmICEhdmFsdWUgIT09IHRoaXMuI19hY3RpdmUpIHtcbiAgICAgIHRoaXMuI19hY3RpdmUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2FjdGl2ZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19hY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYWN0aXZlQ2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHF1ZXJ5IHBhcmFtZXRlciB2YWx1ZSBmb3IgdGhlIHRhYi5cbiAgICogVGhpcyB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSB0YWJzZXQncyBgcGVybWFsaW5rSWRgIHRvIGRpc3Rpbmd1aXNoXG4gICAqIHRoZSB0YWIncyB1bmlxdWUgc3RhdGUgaW4gdGhlIFVSTCBieSBnZW5lcmF0aW5nIGEgcXVlcnkgcGFyYW1ldGVyIHRoYXQgaXNcbiAgICogd3JpdHRlbiBhcyBgPzxxdWVyeVBhcmFtPi1hY3RpdmUtdGFiPTxzYW5pdGl6ZWQtdGFiLWhlYWRpbmdgLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcXVlcnkgcGFyYW1ldGVyJ3MgdmFsdWUgaXMgcGFyc2VkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgdGFiJ3MgaGVhZGluZyB0ZXh0LlxuICAgKiBUaGlzIGlucHV0IG9ubHkgYXBwbGllcyB3aGVuIHRoZSB0YWJzZXQncyBgdGFiU3R5bGVgIGlzIGBcInRhYnNcImAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBlcm1hbGlua1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfcGVybWFsaW5rVmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwZXJtYWxpbmtWYWx1ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfcGVybWFsaW5rVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBjb3VudGVyIGJlc2lkZSB0aGUgdGFiIGhlYWRlci5cbiAgICogVGhpcyBpbnB1dCBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgdGFic2V0J3MgYHRhYlN0eWxlYCBpcyBgXCJ0YWJzXCJgLlxuICAgKiBAZGVwcmVjYXRlZCBTS1kgVVggbm8gbG9uZ2VyIHJlY29tbWVuZHMgYWRkaW5nIGNvdW50cyB0byB0YWJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkhlYWRlckNvdW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWIgaGVhZGVyLlxuICAgKiBXaGVuIHVzaW5nIHRhYnMgYXMgdGhlIG1haW4gbmF2aWdhdGlvbiBvbiBhIHBhZ2UsXG4gICAqIHVzZSBbdGhlIEFuZ3VsYXIgYFRpdGxlYCBzZXJ2aWNlXShodHRwczovL2FuZ3VsYXIuaW8vZG9jcy90cy9sYXRlc3QvY29va2Jvb2svc2V0LWRvY3VtZW50LXRpdGxlLmh0bWwpXG4gICAqIGFuZCBbdGhlIFNLWSBVWCBgdGl0bGVgIGNvbmZpZ3VyYXRpb24gcHJvcGVydHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vcmVmZXJlbmNlL2NvbmZpZ3VyYXRpb24jYXBwKVxuICAgKiB0byByZWZsZWN0IHRoZSB0YWIgaGVhZGVyIGluIHRoZSBwYWdlIHRpdGxlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFiSGVhZGluZyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RhYkhlYWRpbmcgPSB2YWx1ZTtcblxuICAgIHRoaXMuI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkhlYWRpbmcoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3RhYkhlYWRpbmc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdGFiLlxuICAgKiBJZiBub3QgZGVmaW5lZCwgdGhlIGlkZW50aWZpZXIgaXMgc2V0IHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFiIG9uIGxvYWQsIHN0YXJ0aW5nIHdpdGggYDBgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0YWJJbmRleCh2YWx1ZTogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSAhPT0gdGhpcy4jX3RhYkluZGV4ICYmXG4gICAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLiNfdGFiSW5kZXggIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51cGRhdGVUYWJJbmRleCh0aGlzLiNfdGFiSW5kZXgsIHZhbHVlKTtcbiAgICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuI190YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBTa3lUYWJJbmRleCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGFiIGxheW91dCB0aGF0IGFwcGxpZXMgc3BhY2luZyB0byB0aGUgdGFiIGNvbnRhaW5lciBlbGVtZW50LiBVc2UgdGhlIGxheW91dFxuICAgKiB0aGF0IGNvcnJlc3BvbmRzIHdpdGggdGhlIHRvcC1sZXZlbCBjb21wb25lbnQgdHlwZSB1c2VkIHdpdGhpbiB0aGUgdGFiLCBvciB1c2UgYGZpdGAgdG9cbiAgICogY29uc3RyYWluIHRoZSB0YWIgY29udGVudHMgdG8gdGhlIGF2YWlsYWJsZSB2aWV3cG9ydC5cbiAgICogVXNlIGBub25lYCBmb3IgY3VzdG9tIGNvbnRlbnQgdGhhdCBkb2VzIG5vdCBhZGhlcmUgdG8gcHJlZGVmaW5lZCBzcGFjaW5nIG9yIGNvbnN0cmFpbnRzLlxuICAgKiBAZGVmYXVsdCBcIm5vbmVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYXlvdXQodmFsdWU6IFNreVRhYkxheW91dFR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBsYXlvdXQgPSB2YWx1ZSB8fCBMQVlPVVRfREVGQVVMVDtcblxuICAgIHRoaXMuI19sYXlvdXQgPSBsYXlvdXQ7XG4gICAgdGhpcy5jc3NDbGFzcyA9IGAke0xBWU9VVF9DTEFTU19QUkVGSVh9JHtsYXlvdXR9YDtcblxuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51cGRhdGVBY3RpdmVUYWJMYXlvdXQobGF5b3V0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxheW91dCgpOiBTa3lUYWJMYXlvdXRUeXBlIHtcbiAgICByZXR1cm4gdGhpcy4jX2xheW91dDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgY3NzQ2xhc3MgPSBgJHtMQVlPVVRfQ0xBU1NfUFJFRklYfSR7TEFZT1VUX0RFRkFVTFR9YDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjbGljayB0aGUgYnV0dG9uIHRvIGNsb3NlIHRoZSB0YWIuXG4gICAqIFRoZSBjbG9zZSBidXR0b24gaXMgYWRkZWQgdG8gdGhlIHRhYiB3aGVuIHlvdSBzcGVjaWZ5IGEgbGlzdGVuZXIgZm9yIHRoaXMgZXZlbnQuXG4gICAqIFRoaXMgZXZlbnQgb25seSBhcHBsaWVzIHdoZW4gdGhlIHRhYnNldCdzIGB0YWJTdHlsZWAgaXMgYFwidGFic1wiYC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcblxuICAvKipcbiAgICogQWxlcnRzIHRoZSB0YWJzZXQgY29tcG9uZW50IHdoZW4gdGhpcyBjb21wb25lbnQgaGFzIGNoYW5nZXMgdGhhdCBuZWVkIHRvIGJlIHJlZmxlY3RlZCBpbiB0aGUgVUkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNzdGF0ZUNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXhDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTa3lUYWJJbmRleCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLiN0YWJJbmRleENoYW5nZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRlbnRXcmFwcGVyJylcbiAgcHVibGljIHNldCB0YWJDb250ZW50V3JhcHBlcih0YWJDb250ZW50V3JhcHBlcjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRhYkNvbnRlbnRXcmFwcGVyKSB7XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5vYnNlcnZlKHRhYkNvbnRlbnRXcmFwcGVyLCB7XG4gICAgICAgIHVwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnVub2JzZXJ2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCA9ICcnO1xuXG4gIHB1YmxpYyBzaG93Q29udGVudCA9IGZhbHNlO1xuXG4gIHB1YmxpYyB0YWJCdXR0b25JZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0YWJQYW5lbElkOiBzdHJpbmc7XG5cbiAgI19hY3RpdmUgPSBmYWxzZTtcblxuICAjYWN0aXZlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8dm9pZCB8IHVuZGVmaW5lZD47XG5cbiAgI19wZXJtYWxpbmtWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNzdGF0ZUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+O1xuXG4gICNfdGFiSGVhZGluZzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNfdGFiSW5kZXg6IFNreVRhYkluZGV4IHwgdW5kZWZpbmVkO1xuXG4gICNfbGF5b3V0OiBTa3lUYWJMYXlvdXRUeXBlID0gTEFZT1VUX0RFRkFVTFQ7XG5cbiAgI3RhYkluZGV4Q2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+O1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNwZXJtYWxpbmtTZXJ2aWNlOiBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlO1xuICAjdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcGVybWFsaW5rU2VydmljZTogU2t5VGFic2V0UGVybWFsaW5rU2VydmljZSxcbiAgICB0YWJzZXRTZXJ2aWNlOiBTa3lUYWJzZXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jcGVybWFsaW5rU2VydmljZSA9IHBlcm1hbGlua1NlcnZpY2U7XG4gICAgdGhpcy4jdGFic2V0U2VydmljZSA9IHRhYnNldFNlcnZpY2U7XG4gICAgY29uc3QgaWQgPSBuZXh0SWQrKztcbiAgICB0aGlzLnRhYlBhbmVsSWQgPSBgc2t5LXRhYi0ke2lkfWA7XG4gICAgdGhpcy50YWJCdXR0b25JZCA9IGAke3RoaXMudGFiUGFuZWxJZH0tbmF2LWJ0bmA7XG5cbiAgICB0aGlzLiNhY3RpdmVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgdGhpcy4jc3RhdGVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gICAgdGhpcy4jdGFiSW5kZXhDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreVRhYkluZGV4IHwgdW5kZWZpbmVkPihcbiAgICAgIHVuZGVmaW5lZFxuICAgICk7XG5cbiAgICB0aGlzLiNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpO1xuICB9XG5cbiAgI21lZGlhUXVlcnlTZXJ2aWNlID0gaW5qZWN0KFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGNoYW5nZXNbJ2Rpc2FibGVkJ10gJiYgIWNoYW5nZXNbJ2Rpc2FibGVkJ10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sndGFiSGVhZGluZyddICYmICFjaGFuZ2VzWyd0YWJIZWFkaW5nJ10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sndGFiSGVhZGVyQ291bnQnXSAmJiAhY2hhbmdlc1sndGFiSGVhZGVyQ291bnQnXS5maXJzdENoYW5nZSkgfHxcbiAgICAgIChjaGFuZ2VzWydwZXJtYWxpbmtWYWx1ZSddICYmICFjaGFuZ2VzWydwZXJtYWxpbmtWYWx1ZSddLmZpcnN0Q2hhbmdlKVxuICAgICkge1xuICAgICAgdGhpcy4jc3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgaWYgKHRoaXMudGFiSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51bnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS51bm9ic2VydmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHRoaXMuI3RhYnNldFNlcnZpY2UucmVnaXN0ZXJUYWIodGhpcy50YWJJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy4jX2FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNfYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGlzQ2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMucGVybWFsaW5rVmFsdWVPckRlZmF1bHQgPVxuICAgICAgdGhpcy4jcGVybWFsaW5rU2VydmljZS51cmxpZnkodGhpcy5wZXJtYWxpbmtWYWx1ZSkgfHxcbiAgICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UudXJsaWZ5KHRoaXMudGFiSGVhZGluZyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdGFiXCJcbiAgcm9sZT1cInRhYnBhbmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYkJ1dHRvbklkXCJcbiAgW2hpZGRlbl09XCIhc2hvd0NvbnRlbnRcIlxuICBbaWRdPVwidGFiUGFuZWxJZFwiXG4gICN0YWJDb250ZW50V3JhcHBlclxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
3
  import { SkyIconModule } from '@skyux/indicators';
5
4
  import { SkyDropdownModule } from '@skyux/popovers';
6
5
  import { SkyThemeModule } from '@skyux/theme';
@@ -18,13 +17,11 @@ export class SkyTabsModule {
18
17
  SkyTabsetComponent,
19
18
  SkyTabsetNavButtonComponent,
20
19
  SkyTabsetNavButtonDisabledPipe], imports: [CommonModule,
21
- RouterModule,
22
20
  SkyDropdownModule,
23
21
  SkyIconModule,
24
22
  SkyTabsResourcesModule,
25
23
  SkyThemeModule], exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent] }); }
26
24
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyTabsModule, imports: [CommonModule,
27
- RouterModule,
28
25
  SkyDropdownModule,
29
26
  SkyIconModule,
30
27
  SkyTabsResourcesModule,
@@ -42,7 +39,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
42
39
  ],
43
40
  imports: [
44
41
  CommonModule,
45
- RouterModule,
46
42
  SkyDropdownModule,
47
43
  SkyIconModule,
48
44
  SkyTabsResourcesModule,
@@ -51,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
51
47
  exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent],
52
48
  }]
53
49
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW9CeEQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQWhCdEIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsMkJBQTJCO1lBQzNCLDhCQUE4QixhQUc5QixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGNBQWMsYUFFTixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCOytHQUUvRCxhQUFhLFlBVHRCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsY0FBYzs7MkZBSUwsYUFBYTtrQkFsQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFNreVRhYnNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVRhYkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRhYnNldE5hdkJ1dHRvbkRpc2FibGVkUGlwZSB9IGZyb20gJy4vdGFic2V0LW5hdi1idXR0b24tZGlzYWJsZWQucGlwZSc7XG5pbXBvcnQgeyBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJzZXRDb21wb25lbnQgfSBmcm9tICcuL3RhYnNldC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lUYWJCdXR0b25Db21wb25lbnQsXG4gICAgU2t5VGFiQ29tcG9uZW50LFxuICAgIFNreVRhYnNldENvbXBvbmVudCxcbiAgICBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQsXG4gICAgU2t5VGFic2V0TmF2QnV0dG9uRGlzYWJsZWRQaXBlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTa3lEcm9wZG93bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lUYWJDb21wb25lbnQsIFNreVRhYnNldENvbXBvbmVudCwgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic01vZHVsZSB7fVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBbUJ4RCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBZnRCLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLDJCQUEyQjtZQUMzQiw4QkFBOEIsYUFHOUIsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGNBQWMsYUFFTixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCOytHQUUvRCxhQUFhLFlBUnRCLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixjQUFjOzsyRkFJTCxhQUFhO2tCQWpCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreURyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5VGFic1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktdGFicy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5VGFiQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi90YWItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJDb21wb25lbnQgfSBmcm9tICcuL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGFic2V0TmF2QnV0dG9uRGlzYWJsZWRQaXBlIH0gZnJvbSAnLi90YWJzZXQtbmF2LWJ1dHRvbi1kaXNhYmxlZC5waXBlJztcbmltcG9ydCB7IFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRhYnNldENvbXBvbmVudCB9IGZyb20gJy4vdGFic2V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVRhYkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTa3lUYWJDb21wb25lbnQsXG4gICAgU2t5VGFic2V0Q29tcG9uZW50LFxuICAgIFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTa3lUYWJzZXROYXZCdXR0b25EaXNhYmxlZFBpcGUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5RHJvcGRvd25Nb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5VGFiQ29tcG9uZW50LCBTa3lUYWJzZXRDb21wb25lbnQsIFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFjdGl2ZS10YWItY2hhbmdlLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzZXQtYWN0aXZlLXRhYi1jaGFuZ2UtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VGFiSW5kZXggfSBmcm9tICcuL3RhYi1pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5VGFic2V0QWN0aXZlVGFiQ2hhbmdlQXJncyB7XG4gIHRhYkluZGV4OiBTa3lUYWJJbmRleCB8IHVuZGVmaW5lZDtcbiAgaW5pdGlhbD86IGJvb2xlYW47XG59XG4iXX0=
@@ -41,7 +41,7 @@ export class SkyTabsetPermalinkService {
41
41
  /**
42
42
  * Sets the value of a URL query param.
43
43
  */
44
- setParam(name, value) {
44
+ setParam(name, value, initial) {
45
45
  const params = this.#getParams();
46
46
  if (value === null) {
47
47
  delete params[name];
@@ -62,13 +62,20 @@ export class SkyTabsetPermalinkService {
62
62
  if (this.#location.isCurrentPathEqualTo(url)) {
63
63
  return;
64
64
  }
65
- this.#location.go(url);
65
+ // Use `replaceState()` when the tabset is being initialized so an extra
66
+ // history item isn't added to the browser's back stack.
67
+ this.#location[initial ? 'replaceState' : 'go'](url);
66
68
  }
67
69
  /**
68
70
  * Removes the provided query param from the URL.
69
71
  */
70
72
  clearParam(name) {
71
- this.setParam(name, null);
73
+ // Don't overwrite the URL while the Angular router is in the process
74
+ // of navigating (e.g. when the tabset is destroyed due to navigating
75
+ // away from the current page).
76
+ if (!this.#router.getCurrentNavigation()) {
77
+ this.setParam(name, null);
78
+ }
72
79
  }
73
80
  /**
74
81
  * Returns a relative URL that includes the provided query parameter. The value is intended to be
@@ -125,4 +132,4 @@ export class SkyTabsetPermalinkService {
125
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyTabsetPermalinkService, decorators: [{
126
133
  type: Injectable
127
134
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.Location }, { type: i1.Router }]; } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHdEQsT0FBTyxFQUFjLE9BQU8sRUFBb0IsTUFBTSxNQUFNLENBQUM7Ozs7QUFTN0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBZ0I7SUFFL0IsYUFBYSxDQUErQjtJQUU1QyxlQUFlLENBQWlCO0lBQ2hDLFNBQVMsQ0FBVztJQUNwQixPQUFPLENBQVM7SUFFaEIsWUFDRSxjQUE4QixFQUM5QixRQUFrQixFQUNsQixNQUFjO1FBRWQsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMs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T0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQS9JVSx5QkFBeUI7a0hBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbkxpa2UgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW50ZXJmYWNlIFBlcm1hbGlua1BhcmFtcyB7XG4gIFtfOiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGdldCBwb3BTdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jcG9wU3RhdGVDaGFuZ2U7XG4gIH1cblxuICAjcG9wU3RhdGVDaGFuZ2U6IFN1YmplY3Q8dm9pZD47XG5cbiAgI3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uTGlrZSB8IHVuZGVmaW5lZDtcblxuICAjYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xuICAjbG9jYXRpb246IExvY2F0aW9uO1xuICAjcm91dGVyOiBSb3V0ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLiNhY3RpdmF0ZWRSb3V0ZSA9IGFjdGl2YXRlZFJvdXRlO1xuICAgIHRoaXMuI2xvY2F0aW9uID0gbG9jYXRpb247XG4gICAgdGhpcy4jcm91dGVyID0gcm91dGVyO1xuXG4gICAgdGhpcy4jcG9wU3RhdGVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLiNwb3BTdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uID0gdGhpcy4jbG9jYXRpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuI3BvcFN0YXRlQ2hhbmdlLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiBhIFVSTCBxdWVyeSBwYXJhbS5cbiAgICovXG4gIHB1YmxpYyBnZXRQYXJhbShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRQYXJhbXMoKVtuYW1lXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBhIFVSTCBxdWVyeSBwYXJhbS5cbiAgICovXG4gIHB1YmxpYyBzZXRQYXJhbShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy4jZ2V0UGFyYW1zKCk7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNbbmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgVVJMIHdpdGhvdXQgdHJpZ2dlcmluZyBhIG5hdmlnYXRpb24gc3RhdGUgY2hhbmdlLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQ2NDg2Njc3XG4gICAgY29uc3QgdXJsID0gdGhpcy4jcm91dGVyXG4gICAgICAuY3JlYXRlVXJsVHJlZShbXSwge1xuICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLiNhY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICAudG9TdHJpbmcoKTtcblxuICAgIC8vIEFib3J0IHJlZGlyZWN0IGlmIHRoZSBjdXJyZW50IFVSTCBpcyBlcXVhbCB0byB0aGUgbmV3IFVSTC5cbiAgICBpZiAodGhpcy4jbG9jYXRpb24uaXNDdXJyZW50UGF0aEVxdWFsVG8odXJsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI2xvY2F0aW9uLmdvKHVybCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW0gZnJvbSB0aGUgVVJMLlxuICAgKi9cbiAgcHVibGljIGNsZWFyUGFyYW0obmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXRQYXJhbShuYW1lLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVsYXRpdmUgVVJMIHRoYXQgaW5jbHVkZXMgdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlci4gVGhlIHZhbHVlIGlzIGludGVuZGVkIHRvIGJlXG4gICAqIHVzZWQgYnkgYW4gSFRNTCBhbmNob3IgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXRQYXJhbUhyZWYobmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLiNnZXRQYXJhbXMoKTtcbiAgICBwYXJhbXNbbmFtZV0gPSB2YWx1ZTtcblxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLiNsb2NhdGlvbi5wYXRoKCkuc3BsaXQoJz8nKVswXTtcbiAgICBjb25zdCBwYXJhbVN0cmluZyA9IE9iamVjdC5rZXlzKHBhcmFtcylcbiAgICAgIC5tYXAoKGspID0+IGAke2t9PSR7cGFyYW1zW2tdfWApXG4gICAgICAuam9pbignJicpO1xuXG4gICAgcmV0dXJuIHRoaXMuI2xvY2F0aW9uLnByZXBhcmVFeHRlcm5hbFVybChgJHtiYXNlVXJsfT8ke3BhcmFtU3RyaW5nfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBwcm92aWRlZCBzdHJpbmcgaW50byBhIHZhbHVlIHRoYXQgY2FuIGJlIHNhZmVseSB1c2VkIGluIGEgVVJMLlxuICAgKi9cbiAgcHVibGljIHVybGlmeSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3Qgc2FuaXRpemVkID0gdmFsdWVcbiAgICAgIC50b0xvd2VyQ2FzZSgpXG5cbiAgICAgIC8vIFJlbW92ZSBzcGVjaWFsIGNoYXJhY3RlcnMuXG4gICAgICAucmVwbGFjZSgvW19+YEAhIyQlXiYqKClbXFxde307OicvXFxcXDw+LC4/PSt8XCJdL2csICcnKVxuXG4gICAgICAvLyBSZXBsYWNlIHNwYWNlIGNoYXJhY3RlcnMgd2l0aCBhIGRhc2guXG4gICAgICAucmVwbGFjZSgvXFxzL2csICctJylcblxuICAgICAgLy8gUmVtb3ZlIGFueSBkb3VibGUtZGFzaGVzLlxuICAgICAgLnJlcGxhY2UoLy0tL2csICctJyk7XG5cbiAgICByZXR1cm4gc2FuaXRpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHF1ZXJ5IHBhcmFtcyB0aGF0IGV4aXN0IGluIHRoZSBjdXJyZW50IFVSTC5cbiAgICovXG4gICNnZXRQYXJhbXMoKTogUGVybWFsaW5rUGFyYW1zIHtcbiAgICBjb25zdCBwYXJhbXM6IFBlcm1hbGlua1BhcmFtcyA9IHt9O1xuXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuI2xvY2F0aW9uLnBhdGgoKTtcbiAgICBpZiAocGF0aC5pbmRleE9mKCc/JykgPT09IC0xKSB7XG4gICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0aW5nUGFyYW1QYWlycyA9IHBhdGguc3BsaXQoJz8nKVsxXS5zcGxpdCgnJicpO1xuICAgIGV4aXN0aW5nUGFyYW1QYWlycy5mb3JFYWNoKChwYWlyKSA9PiB7XG4gICAgICBjb25zdCBmcmFnbWVudHMgPSBwYWlyLnNwbGl0KCc9Jyk7XG4gICAgICBwYXJhbXNbZnJhZ21lbnRzWzBdXSA9IGRlY29kZVVSSUNvbXBvbmVudChmcmFnbWVudHNbMV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxufVxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHdEQsT0FBTyxFQUFjLE9BQU8sRUFBb0IsTUFBTSxNQUFNLENBQUM7Ozs7QUFTN0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBZ0I7SUFFL0IsYUFBYSxDQUErQjtJQUU1QyxlQUFlLENBQWlCO0lBQ2hDLFNBQVMsQ0FBVztJQUNwQixPQUFPLENBQVM7SUFFaEIsWUFDRSxjQUE4QixFQUM5QixRQUFrQixFQUNsQixNQUFjO1FBRWQsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMs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QUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsTUFBTSxNQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUVuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM1QixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBdEpVLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uTGlrZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgUGVybWFsaW5rUGFyYW1zIHtcbiAgW186IHN0cmluZ106IHN0cmluZztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZ2V0IHBvcFN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNwb3BTdGF0ZUNoYW5nZTtcbiAgfVxuXG4gICNwb3BTdGF0ZUNoYW5nZTogU3ViamVjdDx2b2lkPjtcblxuICAjc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25MaWtlIHwgdW5kZWZpbmVkO1xuXG4gICNhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICNsb2NhdGlvbjogTG9jYXRpb247XG4gICNyb3V0ZXI6IFJvdXRlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuI2FjdGl2YXRlZFJvdXRlID0gYWN0aXZhdGVkUm91dGU7XG4gICAgdGhpcy4jbG9jYXRpb24gPSBsb2NhdGlvbjtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG5cbiAgICB0aGlzLiNwb3BTdGF0ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuI3BvcFN0YXRlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24gPSB0aGlzLiNsb2NhdGlvbi5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy4jcG9wU3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIGEgVVJMIHF1ZXJ5IHBhcmFtLlxuICAgKi9cbiAgcHVibGljIGdldFBhcmFtKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2dldFBhcmFtcygpW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIGEgVVJMIHF1ZXJ5IHBhcmFtLlxuICAgKi9cbiAgcHVibGljIHNldFBhcmFtKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bGwsIGluaXRpYWw/OiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy4jZ2V0UGFyYW1zKCk7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNbbmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgVVJMIHdpdGhvdXQgdHJpZ2dlcmluZyBhIG5hdmlnYXRpb24gc3RhdGUgY2hhbmdlLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQ2NDg2Njc3XG4gICAgY29uc3QgdXJsID0gdGhpcy4jcm91dGVyXG4gICAgICAuY3JlYXRlVXJsVHJlZShbXSwge1xuICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLiNhY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICAudG9TdHJpbmcoKTtcblxuICAgIC8vIEFib3J0IHJlZGlyZWN0IGlmIHRoZSBjdXJyZW50IFVSTCBpcyBlcXVhbCB0byB0aGUgbmV3IFVSTC5cbiAgICBpZiAodGhpcy4jbG9jYXRpb24uaXNDdXJyZW50UGF0aEVxdWFsVG8odXJsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFVzZSBgcmVwbGFjZVN0YXRlKClgIHdoZW4gdGhlIHRhYnNldCBpcyBiZWluZyBpbml0aWFsaXplZCBzbyBhbiBleHRyYVxuICAgIC8vIGhpc3RvcnkgaXRlbSBpc24ndCBhZGRlZCB0byB0aGUgYnJvd3NlcidzIGJhY2sgc3RhY2suXG4gICAgdGhpcy4jbG9jYXRpb25baW5pdGlhbCA/ICdyZXBsYWNlU3RhdGUnIDogJ2dvJ10odXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbSBmcm9tIHRoZSBVUkwuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJQYXJhbShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBEb24ndCBvdmVyd3JpdGUgdGhlIFVSTCB3aGlsZSB0aGUgQW5ndWxhciByb3V0ZXIgaXMgaW4gdGhlIHByb2Nlc3NcbiAgICAvLyBvZiBuYXZpZ2F0aW5nIChlLmcuIHdoZW4gdGhlIHRhYnNldCBpcyBkZXN0cm95ZWQgZHVlIHRvIG5hdmlnYXRpbmdcbiAgICAvLyBhd2F5IGZyb20gdGhlIGN1cnJlbnQgcGFnZSkuXG4gICAgaWYgKCF0aGlzLiNyb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKSkge1xuICAgICAgdGhpcy5zZXRQYXJhbShuYW1lLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHJlbGF0aXZlIFVSTCB0aGF0IGluY2x1ZGVzIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXIuIFRoZSB2YWx1ZSBpcyBpbnRlbmRlZCB0byBiZVxuICAgKiB1c2VkIGJ5IGFuIEhUTUwgYW5jaG9yIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFyYW1IcmVmKG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCwgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghbmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy4jZ2V0UGFyYW1zKCk7XG4gICAgcGFyYW1zW25hbWVdID0gdmFsdWU7XG5cbiAgICBjb25zdCBiYXNlVXJsID0gdGhpcy4jbG9jYXRpb24ucGF0aCgpLnNwbGl0KCc/JylbMF07XG4gICAgY29uc3QgcGFyYW1TdHJpbmcgPSBPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAubWFwKChrKSA9PiBgJHtrfT0ke3BhcmFtc1trXX1gKVxuICAgICAgLmpvaW4oJyYnKTtcblxuICAgIHJldHVybiB0aGlzLiNsb2NhdGlvbi5wcmVwYXJlRXh0ZXJuYWxVcmwoYCR7YmFzZVVybH0/JHtwYXJhbVN0cmluZ31gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgcHJvdmlkZWQgc3RyaW5nIGludG8gYSB2YWx1ZSB0aGF0IGNhbiBiZSBzYWZlbHkgdXNlZCBpbiBhIFVSTC5cbiAgICovXG4gIHB1YmxpYyB1cmxpZnkodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbml0aXplZCA9IHZhbHVlXG4gICAgICAudG9Mb3dlckNhc2UoKVxuXG4gICAgICAvLyBSZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzLlxuICAgICAgLnJlcGxhY2UoL1tffmBAISMkJV4mKigpW1xcXXt9OzonL1xcXFw8PiwuPz0rfFwiXS9nLCAnJylcblxuICAgICAgLy8gUmVwbGFjZSBzcGFjZSBjaGFyYWN0ZXJzIHdpdGggYSBkYXNoLlxuICAgICAgLnJlcGxhY2UoL1xccy9nLCAnLScpXG5cbiAgICAgIC8vIFJlbW92ZSBhbnkgZG91YmxlLWRhc2hlcy5cbiAgICAgIC5yZXBsYWNlKC8tLS9nLCAnLScpO1xuXG4gICAgcmV0dXJuIHNhbml0aXplZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBxdWVyeSBwYXJhbXMgdGhhdCBleGlzdCBpbiB0aGUgY3VycmVudCBVUkwuXG4gICAqL1xuICAjZ2V0UGFyYW1zKCk6IFBlcm1hbGlua1BhcmFtcyB7XG4gICAgY29uc3QgcGFyYW1zOiBQZXJtYWxpbmtQYXJhbXMgPSB7fTtcblxuICAgIGNvbnN0IHBhdGggPSB0aGlzLiNsb2NhdGlvbi5wYXRoKCk7XG4gICAgaWYgKHBhdGguaW5kZXhPZignPycpID09PSAtMSkge1xuICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ1BhcmFtUGFpcnMgPSBwYXRoLnNwbGl0KCc/JylbMV0uc3BsaXQoJyYnKTtcbiAgICBleGlzdGluZ1BhcmFtUGFpcnMuZm9yRWFjaCgocGFpcikgPT4ge1xuICAgICAgY29uc3QgZnJhZ21lbnRzID0gcGFpci5zcGxpdCgnPScpO1xuICAgICAgcGFyYW1zW2ZyYWdtZW50c1swXV0gPSBkZWNvZGVVUklDb21wb25lbnQoZnJhZ21lbnRzWzFdKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cbiJdfQ==