novo-elements 10.4.0 → 10.5.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/elements/common/overlay/Overlay.d.ts +2 -2
  2. package/elements/common/typography/base/base-text.component.d.ts +1 -1
  3. package/elements/header/Header.d.ts +3 -0
  4. package/elements/search/SearchBox.d.ts +5 -3
  5. package/elements/select/Select.extupdatefix.directive.d.ts +17 -0
  6. package/elements/select/Select.module.d.ts +10 -9
  7. package/elements/select/index.d.ts +1 -0
  8. package/esm2022/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.mjs +1 -1
  9. package/esm2022/elements/common/overlay/Overlay.mjs +3 -3
  10. package/esm2022/elements/common/typography/base/base-text.component.mjs +1 -1
  11. package/esm2022/elements/data-table/data-table.component.mjs +2 -2
  12. package/esm2022/elements/header/Header.mjs +11 -10
  13. package/esm2022/elements/query-builder/condition-definitions/picker-condition.definition.mjs +4 -4
  14. package/esm2022/elements/search/SearchBox.mjs +9 -2
  15. package/esm2022/elements/select/Select.extupdatefix.directive.mjs +36 -0
  16. package/esm2022/elements/select/Select.module.mjs +6 -5
  17. package/esm2022/elements/select/index.mjs +2 -1
  18. package/esm2022/elements/simple-table/table.mjs +2 -2
  19. package/esm2022/services/novo-label-service.mjs +2 -1
  20. package/fesm2022/novo-elements-elements-breadcrumbs.mjs +1 -1
  21. package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/novo-elements-elements-common.mjs +2 -2
  23. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  24. package/fesm2022/novo-elements-elements-data-table.mjs +1 -1
  25. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  26. package/fesm2022/novo-elements-elements-header.mjs +9 -8
  27. package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
  28. package/fesm2022/novo-elements-elements-query-builder.mjs +3 -3
  29. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  30. package/fesm2022/novo-elements-elements-search.mjs +8 -1
  31. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  32. package/fesm2022/novo-elements-elements-select.mjs +39 -7
  33. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  34. package/fesm2022/novo-elements-elements-simple-table.mjs +1 -1
  35. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  36. package/fesm2022/novo-elements-services.mjs +1 -0
  37. package/fesm2022/novo-elements-services.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/services/novo-label-service.d.ts +1 -0
@@ -35,11 +35,11 @@ export declare class NovoOverlayTemplateComponent implements OnDestroy {
35
35
  closePanel(): void;
36
36
  onClosingAction(event: any): void;
37
37
  /**
38
- * A stream of actions that should close the autocomplete panel, including
38
+ * A stream of actions that should close the panel, including
39
39
  * when an option is selected, on blur, and when TAB is pressed.
40
40
  */
41
41
  get panelClosingActions(): Observable<any>;
42
- /** Stream of clicks outside of the autocomplete panel. */
42
+ /** Stream of clicks outside of the panel. */
43
43
  protected get outsideClickStream(): Observable<any>;
44
44
  /**
45
45
  * This method listens to a stream of panel closing actions and resets the
@@ -2,7 +2,7 @@ import { ElementRef } from '@angular/core';
2
2
  import { TypographyLength, TypographySize, TypographyWeight } from '../text.types';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class NovoBaseTextElement {
5
- protected element: ElementRef;
5
+ element: ElementRef;
6
6
  size: TypographySize;
7
7
  weight: TypographyWeight;
8
8
  lineLength: TypographyLength;
@@ -1,3 +1,4 @@
1
+ import { ElementRef } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class NovoHeaderSpacer {
3
4
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoHeaderSpacer, never>;
@@ -16,6 +17,7 @@ export declare class NovoUtilActionComponent {
16
17
  static ɵcmp: i0.ɵɵComponentDeclaration<NovoUtilActionComponent, "util-action, novo-action", never, { "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inverse": { "alias": "inverse"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], false, never>;
17
18
  }
18
19
  export declare class NovoHeaderComponent {
20
+ element: ElementRef;
19
21
  role: string;
20
22
  headerClass: string;
21
23
  condensed: boolean;
@@ -30,6 +32,7 @@ export declare class NovoHeaderComponent {
30
32
  set theme(theme: string);
31
33
  get theme(): string;
32
34
  private _theme;
35
+ constructor(element: ElementRef);
33
36
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoHeaderComponent, never>;
34
37
  static ɵcmp: i0.ɵɵComponentDeclaration<NovoHeaderComponent, "novo-header,header[theme],header[accent]", never, { "condensed": { "alias": "condensed"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subTitle": { "alias": "subTitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, {}, never, ["[prefix]", "novo-icon, [novo-icon]", "h1, h2, h3, h4, h5, h6, small, novo-title, [novo-title], [novo-subtitle]", "section", "novo-action,[novo-action]", "utils", "[suffix]", "*"], false, never>;
35
38
  }
@@ -1,8 +1,8 @@
1
- import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { NovoLabelService } from 'novo-elements/services';
4
4
  import * as i0 from "@angular/core";
5
- export declare class NovoSearchBoxElement implements ControlValueAccessor {
5
+ export declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit {
6
6
  element: ElementRef;
7
7
  labels: NovoLabelService;
8
8
  private _changeDetectorRef;
@@ -21,6 +21,7 @@ export declare class NovoSearchBoxElement implements ControlValueAccessor {
21
21
  keepOpen: boolean;
22
22
  hasBackdrop: boolean;
23
23
  allowPropagation: boolean;
24
+ overrideElement: ElementRef;
24
25
  searchChanged: EventEmitter<string>;
25
26
  applySearch: EventEmitter<KeyboardEvent>;
26
27
  focused: boolean;
@@ -34,6 +35,7 @@ export declare class NovoSearchBoxElement implements ControlValueAccessor {
34
35
  input: any;
35
36
  private debounceSearchChange;
36
37
  constructor(element: ElementRef, labels: NovoLabelService, _changeDetectorRef: ChangeDetectorRef, _zone: NgZone);
38
+ ngOnInit(): void;
37
39
  /**
38
40
  * @name showFasterFind
39
41
  * @description This function shows the picker and adds the active class (for animation)
@@ -65,5 +67,5 @@ export declare class NovoSearchBoxElement implements ControlValueAccessor {
65
67
  */
66
68
  clearValue(skip: any): void;
67
69
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoSearchBoxElement, never>;
68
- static ɵcmp: i0.ɵɵComponentDeclaration<NovoSearchBoxElement, "novo-search", never, { "name": { "alias": "name"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "position": { "alias": "position"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "alwaysOpen": { "alias": "alwaysOpen"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "color": { "alias": "color"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "displayField": { "alias": "displayField"; "required": false; }; "displayValue": { "alias": "displayValue"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "keepOpen": { "alias": "keepOpen"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "allowPropagation": { "alias": "allowPropagation"; "required": false; }; }, { "searchChanged": "searchChanged"; "applySearch": "applySearch"; }, never, ["*"], false, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<NovoSearchBoxElement, "novo-search", never, { "name": { "alias": "name"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "position": { "alias": "position"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "alwaysOpen": { "alias": "alwaysOpen"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "color": { "alias": "color"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "displayField": { "alias": "displayField"; "required": false; }; "displayValue": { "alias": "displayValue"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "keepOpen": { "alias": "keepOpen"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "allowPropagation": { "alias": "allowPropagation"; "required": false; }; "overrideElement": { "alias": "overrideElement"; "required": false; }; }, { "searchChanged": "searchChanged"; "applySearch": "applySearch"; }, never, ["*"], false, never>;
69
71
  }
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { NovoSelectElement } from './Select';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Fixes a <novo-select> element so that if its value is updated externally, the checkboxes in the dropdown selector
7
+ * update accordingly. Because this is a functionality change to a core control, this fix is provided as a directive
8
+ * to only be used if needed.
9
+ */
10
+ export declare class NovoSelectExtUpdateFix implements OnInit {
11
+ control: NgControl;
12
+ selectElement: NovoSelectElement;
13
+ ngOnInit(): void;
14
+ afterExternalUpdate(rawValue: any): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NovoSelectExtUpdateFix, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NovoSelectExtUpdateFix, "novo-select[extupdatefix]", never, {}, {}, never, never, false, never>;
17
+ }
@@ -1,15 +1,16 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./Select";
3
- import * as i2 from "@angular/cdk/a11y";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "novo-elements/elements/button";
7
- import * as i6 from "novo-elements/elements/divider";
8
- import * as i7 from "novo-elements/elements/common";
9
- import * as i8 from "novo-elements/pipes";
10
- import * as i9 from "novo-elements/elements/tooltip";
3
+ import * as i2 from "./Select.extupdatefix.directive";
4
+ import * as i3 from "@angular/cdk/a11y";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "novo-elements/elements/button";
8
+ import * as i7 from "novo-elements/elements/divider";
9
+ import * as i8 from "novo-elements/elements/common";
10
+ import * as i9 from "novo-elements/pipes";
11
+ import * as i10 from "novo-elements/elements/tooltip";
11
12
  export declare class NovoSelectModule {
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoSelectModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<NovoSelectModule, [typeof i1.NovoSelectElement], [typeof i2.A11yModule, typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.NovoButtonModule, typeof i6.NovoDividerModule, typeof i7.NovoOptionModule, typeof i7.NovoOverlayModule, typeof i8.NovoPipesModule, typeof i9.NovoTooltipModule], [typeof i1.NovoSelectElement]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NovoSelectModule, [typeof i1.NovoSelectElement, typeof i2.NovoSelectExtUpdateFix], [typeof i3.A11yModule, typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.NovoButtonModule, typeof i7.NovoDividerModule, typeof i8.NovoOptionModule, typeof i8.NovoOverlayModule, typeof i9.NovoPipesModule, typeof i10.NovoTooltipModule], [typeof i1.NovoSelectElement, typeof i2.NovoSelectExtUpdateFix]>;
14
15
  static ɵinj: i0.ɵɵInjectorDeclaration<NovoSelectModule>;
15
16
  }
@@ -1,2 +1,3 @@
1
1
  export * from './Select';
2
2
  export * from './Select.module';
3
+ export * from './Select.extupdatefix.directive';
@@ -32,7 +32,7 @@ export class BreadcrumbItemElement {
32
32
  this.breadcrumbService.navigateTo($event, item);
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: BreadcrumbItemElement, deps: [{ token: i1.BreadcrumbService }, { token: NOVO_BREADCRUMB_REF }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: BreadcrumbItemElement, selector: "novo-breadcrumb-item", inputs: { showMenu: "showMenu", customMenuTemplate: "customMenuTemplate", menuList: "menuList", isSearch: "isSearch" }, outputs: { toggleEvent: "toggleEvent" }, ngImport: i0, template: "<ng-container *ngIf=\"showMenu; else breadcrumbContentTpl\">\n <span [ngClass]=\"{ 'novo-breadcrumb-item-active': isOpen }\" #origin\n class=\"novo-dropdown-no-border novo-dropdown-origin novo-breadcrumb-dropdown-origin\">\n <ng-template [ngTemplateOutlet]=\"breadcrumbContentTpl\"></ng-template>\n <novo-dropdown>\n <novo-button theme=\"icon\" icon=\"collapse\" size=\"small\"></novo-button>\n <novo-optgroup class=\"novo-breadcrumb-dropdown-menu\">\n <div *ngIf=\"isSearch\" class=\"dropdown-search-container\">\n <novo-search alwaysOpen=\"true\" (searchFn)=\"searchEvent($event)\" [class]=\"'search-in-dropdown'\"></novo-search>\n </div>\n <novo-option *ngFor=\"let item of menuListDisplay\" title=\"{{ item.name }}\">\n <a *ngIf=\"!item.linkType || item.linkType === 'hrefLink'\" [href]=\"item.link\" rel=\"noopener\"\n [target]=\"item.target ? item.target : '_self'\">{{ item.name }}</a>\n <a *ngIf=\"item.linkType === 'routerLink'\" rel=\"noopener\" [target]=\"item.target\" [href]=\"item.link\"\n (click)=\"navigateTo($event, item)\">{{ item.name }}</a>\n </novo-option>\n </novo-optgroup>\n </novo-dropdown>\n </span>\n</ng-container>\n\n<ng-template #breadcrumbContentTpl>\n <span class=\"novo-breadcrumb-item\">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\n<ng-template #dropDownMenuTpl>\n <div>test</div>\n\n</ng-template>\n\n<span class=\"novo-breadcrumb-separator\">\n <ng-template\n [ngTemplateOutlet]=\"breadcrumbComponent.separatorIcon ? breadcrumbComponent.separatorIcon : defaultSeparator\"\n [ngTemplateOutletContext]=\"{\n $implicit: this\n }\">\n </ng-template>\n</span>\n\n<ng-template #defaultSeparator>\n <span class=\"novo-breadcrumb-separator\">\n /\n </span>\n</ng-template>", styles: [".novo-breadcrumb-font-style,:host .novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a,:host .novo-breadcrumb-item{display:inline;font-weight:400;color:inherit;font-size:var(--font-size-text);transition:color .2s ease-out,opacity .2s ease-out;vertical-align:middle}.novo-breadcrumb-font-style.text-capitalize,:host .text-capitalize.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-capitalize,:host .text-capitalize.novo-breadcrumb-item{text-transform:capitalize}.novo-breadcrumb-font-style.text-uppercase,:host .text-uppercase.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-uppercase,:host .text-uppercase.novo-breadcrumb-item{text-transform:uppercase}.novo-breadcrumb-font-style.text-nowrap,:host .text-nowrap.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-nowrap,:host .text-nowrap.novo-breadcrumb-item{white-space:nowrap}.novo-breadcrumb-font-style.text-ellipsis,:host .text-ellipsis.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-ellipsis,:host .text-ellipsis.novo-breadcrumb-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-breadcrumb-font-style.text-size-default,:host .text-size-default.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-default,:host .text-size-default.novo-breadcrumb-item{font-size:inherit}.novo-breadcrumb-font-style.text-size-body,:host .text-size-body.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-body,:host .text-size-body.novo-breadcrumb-item{font-size:1.3rem}.novo-breadcrumb-font-style.text-size-xs,:host .text-size-xs.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-xs,:host .text-size-xs.novo-breadcrumb-item{font-size:1rem}.novo-breadcrumb-font-style.text-size-sm,:host .text-size-sm.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-sm,:host .text-size-sm.novo-breadcrumb-item{font-size:1.2rem}.novo-breadcrumb-font-style.text-size-md,:host .text-size-md.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-md,:host .text-size-md.novo-breadcrumb-item{font-size:1.3rem}.novo-breadcrumb-font-style.text-size-lg,:host .text-size-lg.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-lg,:host .text-size-lg.novo-breadcrumb-item{font-size:1.6rem}.novo-breadcrumb-font-style.text-size-xl,:host .text-size-xl.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-xl,:host .text-size-xl.novo-breadcrumb-item{font-size:2rem}.novo-breadcrumb-font-style.text-size-2xl,:host .text-size-2xl.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-2xl,:host .text-size-2xl.novo-breadcrumb-item{font-size:2.6rem}.novo-breadcrumb-font-style.text-size-3xl,:host .text-size-3xl.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-3xl,:host .text-size-3xl.novo-breadcrumb-item{font-size:3.2rem}.novo-breadcrumb-font-style.text-size-smaller,:host .text-size-smaller.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-smaller,:host .text-size-smaller.novo-breadcrumb-item{font-size:.8em}.novo-breadcrumb-font-style.text-size-larger,:host .text-size-larger.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-larger,:host .text-size-larger.novo-breadcrumb-item{font-size:1.2em}.novo-breadcrumb-font-style.text-color-black,:host .text-color-black.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-black,:host .text-color-black.novo-breadcrumb-item{color:#000}.novo-breadcrumb-font-style.text-color-white,:host .text-color-white.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-white,:host .text-color-white.novo-breadcrumb-item{color:#fff}.novo-breadcrumb-font-style.text-color-gray,:host .text-color-gray.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-gray,:host .text-color-gray.novo-breadcrumb-item{color:#9e9e9e}.novo-breadcrumb-font-style.text-color-grey,:host .text-color-grey.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-grey,:host .text-color-grey.novo-breadcrumb-item{color:#9e9e9e}.novo-breadcrumb-font-style.text-color-offWhite,:host .text-color-offWhite.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-offWhite,:host .text-color-offWhite.novo-breadcrumb-item{color:#f7f7f7}.novo-breadcrumb-font-style.text-color-bright,:host .text-color-bright.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-bright,:host .text-color-bright.novo-breadcrumb-item{color:#f7f7f7}.novo-breadcrumb-font-style.text-color-light,:host .text-color-light.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-light,:host .text-color-light.novo-breadcrumb-item{color:#dbdbdb}.novo-breadcrumb-font-style.text-color-neutral,:host .text-color-neutral.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-neutral,:host .text-color-neutral.novo-breadcrumb-item{color:#4f5361}.novo-breadcrumb-font-style.text-color-dark,:host .text-color-dark.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-dark,:host .text-color-dark.novo-breadcrumb-item{color:#3d464d}.novo-breadcrumb-font-style.text-color-orange,:host .text-color-orange.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-orange,:host .text-color-orange.novo-breadcrumb-item{color:#ff6900}.novo-breadcrumb-font-style.text-color-navigation,:host .text-color-navigation.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-navigation,:host .text-color-navigation.novo-breadcrumb-item{color:#202945}.novo-breadcrumb-font-style.text-color-skyBlue,:host .text-color-skyBlue.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-skyBlue,:host .text-color-skyBlue.novo-breadcrumb-item{color:#009bdf}.novo-breadcrumb-font-style.text-color-steel,:host .text-color-steel.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-steel,:host .text-color-steel.novo-breadcrumb-item{color:#5b6770}.novo-breadcrumb-font-style.text-color-metal,:host .text-color-metal.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-metal,:host .text-color-metal.novo-breadcrumb-item{color:#637893}.novo-breadcrumb-font-style.text-color-sand,:host .text-color-sand.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-sand,:host .text-color-sand.novo-breadcrumb-item{color:#f4f4f4}.novo-breadcrumb-font-style.text-color-silver,:host .text-color-silver.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-silver,:host .text-color-silver.novo-breadcrumb-item{color:#e2e2e2}.novo-breadcrumb-font-style.text-color-stone,:host .text-color-stone.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-stone,:host .text-color-stone.novo-breadcrumb-item{color:#bebebe}.novo-breadcrumb-font-style.text-color-ash,:host .text-color-ash.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-ash,:host .text-color-ash.novo-breadcrumb-item{color:#a0a0a0}.novo-breadcrumb-font-style.text-color-slate,:host .text-color-slate.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-slate,:host .text-color-slate.novo-breadcrumb-item{color:#707070}.novo-breadcrumb-font-style.text-color-onyx,:host .text-color-onyx.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-onyx,:host .text-color-onyx.novo-breadcrumb-item{color:#526980}.novo-breadcrumb-font-style.text-color-charcoal,:host .text-color-charcoal.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-charcoal,:host .text-color-charcoal.novo-breadcrumb-item{color:#282828}.novo-breadcrumb-font-style.text-color-moonlight,:host .text-color-moonlight.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-moonlight,:host .text-color-moonlight.novo-breadcrumb-item{color:#1a242f}.novo-breadcrumb-font-style.text-color-midnight,:host .text-color-midnight.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-midnight,:host .text-color-midnight.novo-breadcrumb-item{color:#202945}.novo-breadcrumb-font-style.text-color-darkness,:host .text-color-darkness.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-darkness,:host .text-color-darkness.novo-breadcrumb-item{color:#161f27}.novo-breadcrumb-font-style.text-color-navy,:host .text-color-navy.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-navy,:host .text-color-navy.novo-breadcrumb-item{color:#0d2d42}.novo-breadcrumb-font-style.text-color-aqua,:host .text-color-aqua.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-aqua,:host .text-color-aqua.novo-breadcrumb-item{color:#3bafda}.novo-breadcrumb-font-style.text-color-ocean,:host .text-color-ocean.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-ocean,:host .text-color-ocean.novo-breadcrumb-item{color:#4a89dc}.novo-breadcrumb-font-style.text-color-mint,:host .text-color-mint.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-mint,:host .text-color-mint.novo-breadcrumb-item{color:#37bc9b}.novo-breadcrumb-font-style.text-color-grass,:host .text-color-grass.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-grass,:host .text-color-grass.novo-breadcrumb-item{color:#8cc152}.novo-breadcrumb-font-style.text-color-sunflower,:host .text-color-sunflower.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-sunflower,:host .text-color-sunflower.novo-breadcrumb-item{color:#f6b042}.novo-breadcrumb-font-style.text-color-bittersweet,:host .text-color-bittersweet.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-bittersweet,:host .text-color-bittersweet.novo-breadcrumb-item{color:#eb6845}.novo-breadcrumb-font-style.text-color-grapefruit,:host .text-color-grapefruit.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-grapefruit,:host .text-color-grapefruit.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-carnation,:host .text-color-carnation.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-carnation,:host .text-color-carnation.novo-breadcrumb-item{color:#d770ad}.novo-breadcrumb-font-style.text-color-lavender,:host .text-color-lavender.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-lavender,:host .text-color-lavender.novo-breadcrumb-item{color:#967adc}.novo-breadcrumb-font-style.text-color-mountain,:host .text-color-mountain.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-mountain,:host .text-color-mountain.novo-breadcrumb-item{color:#9678b6}.novo-breadcrumb-font-style.text-color-info,:host .text-color-info.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-info,:host .text-color-info.novo-breadcrumb-item{color:#4a89dc}.novo-breadcrumb-font-style.text-color-positive,:host .text-color-positive.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-positive,:host .text-color-positive.novo-breadcrumb-item{color:#4a89dc}.novo-breadcrumb-font-style.text-color-success,:host .text-color-success.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-success,:host .text-color-success.novo-breadcrumb-item{color:#8cc152}.novo-breadcrumb-font-style.text-color-negative,:host .text-color-negative.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-negative,:host .text-color-negative.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-danger,:host .text-color-danger.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-danger,:host .text-color-danger.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-error,:host .text-color-error.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-error,:host .text-color-error.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-warning,:host .text-color-warning.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-warning,:host .text-color-warning.novo-breadcrumb-item{color:#f6b042}.novo-breadcrumb-font-style.text-color-empty,:host .text-color-empty.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-empty,:host .text-color-empty.novo-breadcrumb-item{color:#cccdcc}.novo-breadcrumb-font-style.text-color-disabled,:host .text-color-disabled.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-disabled,:host .text-color-disabled.novo-breadcrumb-item{color:#bebebe}.novo-breadcrumb-font-style.text-color-background,:host .text-color-background.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-background,:host .text-color-background.novo-breadcrumb-item{color:#f7f7f7}.novo-breadcrumb-font-style.text-color-backgroundDark,:host .text-color-backgroundDark.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-backgroundDark,:host .text-color-backgroundDark.novo-breadcrumb-item{color:#e2e2e2}.novo-breadcrumb-font-style.text-color-presentation,:host .text-color-presentation.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-presentation,:host .text-color-presentation.novo-breadcrumb-item{color:#5b6770}.novo-breadcrumb-font-style.text-color-bullhorn,:host .text-color-bullhorn.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-bullhorn,:host .text-color-bullhorn.novo-breadcrumb-item{color:#ff6900}.novo-breadcrumb-font-style.text-color-pulse,:host .text-color-pulse.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-pulse,:host .text-color-pulse.novo-breadcrumb-item{color:#3bafda}.novo-breadcrumb-font-style.text-color-company,:host .text-color-company.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-company,:host .text-color-company.novo-breadcrumb-item{color:#39d}.novo-breadcrumb-font-style.text-color-candidate,:host .text-color-candidate.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-candidate,:host .text-color-candidate.novo-breadcrumb-item{color:#4b7}.novo-breadcrumb-font-style.text-color-lead,:host .text-color-lead.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-lead,:host .text-color-lead.novo-breadcrumb-item{color:#a69}.novo-breadcrumb-font-style.text-color-contact,:host .text-color-contact.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-contact,:host .text-color-contact.novo-breadcrumb-item{color:#fa4}.novo-breadcrumb-font-style.text-color-clientcontact,:host .text-color-clientcontact.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-clientcontact,:host .text-color-clientcontact.novo-breadcrumb-item{color:#fa4}.novo-breadcrumb-font-style.text-color-opportunity,:host .text-color-opportunity.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-opportunity,:host .text-color-opportunity.novo-breadcrumb-item{color:#625}.novo-breadcrumb-font-style.text-color-job,:host .text-color-job.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-job,:host .text-color-job.novo-breadcrumb-item{color:#b56}.novo-breadcrumb-font-style.text-color-joborder,:host .text-color-joborder.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-joborder,:host .text-color-joborder.novo-breadcrumb-item{color:#b56}.novo-breadcrumb-font-style.text-color-submission,:host .text-color-submission.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-submission,:host .text-color-submission.novo-breadcrumb-item{color:#a9adbb}.novo-breadcrumb-font-style.text-color-sendout,:host .text-color-sendout.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-sendout,:host .text-color-sendout.novo-breadcrumb-item{color:#747884}.novo-breadcrumb-font-style.text-color-placement,:host .text-color-placement.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-placement,:host .text-color-placement.novo-breadcrumb-item{color:#0b344f}.novo-breadcrumb-font-style.text-color-note,:host .text-color-note.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-note,:host .text-color-note.novo-breadcrumb-item{color:#747884}.novo-breadcrumb-font-style.text-color-contract,:host .text-color-contract.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-contract,:host .text-color-contract.novo-breadcrumb-item{color:#454ea0}.novo-breadcrumb-font-style.text-color-jobCode,:host .text-color-jobCode.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-jobCode,:host .text-color-jobCode.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-earnCode,:host .text-color-earnCode.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-earnCode,:host .text-color-earnCode.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-invoiceStatement,:host .text-color-invoiceStatement.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-invoiceStatement,:host .text-color-invoiceStatement.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-billableCharge,:host .text-color-billableCharge.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-billableCharge,:host .text-color-billableCharge.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-payableCharge,:host .text-color-payableCharge.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-payableCharge,:host .text-color-payableCharge.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-user,:host .text-color-user.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-user,:host .text-color-user.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-corporateUser,:host .text-color-corporateUser.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-corporateUser,:host .text-color-corporateUser.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-distributionList,:host .text-color-distributionList.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-distributionList,:host .text-color-distributionList.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-credential,:host .text-color-credential.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-credential,:host .text-color-credential.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-person,:host .text-color-person.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-person,:host .text-color-person.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.margin-before,:host .margin-before.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.margin-before,:host .margin-before.novo-breadcrumb-item{margin-top:.4rem}.novo-breadcrumb-font-style.margin-after,:host .margin-after.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.margin-after,:host .margin-after.novo-breadcrumb-item{margin-bottom:.8rem}.novo-breadcrumb-font-style.text-length-small,:host .text-length-small.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-length-small,:host .text-length-small.novo-breadcrumb-item{max-width:40ch}.novo-breadcrumb-font-style.text-length-medium,:host .text-length-medium.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-length-medium,:host .text-length-medium.novo-breadcrumb-item{max-width:55ch}.novo-breadcrumb-font-style.text-length-large,:host .text-length-large.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-length-large,:host .text-length-large.novo-breadcrumb-item{max-width:70ch}.novo-breadcrumb-font-style.text-weight-hairline,:host .text-weight-hairline.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-hairline,:host .text-weight-hairline.novo-breadcrumb-item{font-weight:100}.novo-breadcrumb-font-style.text-weight-thin,:host .text-weight-thin.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-thin,:host .text-weight-thin.novo-breadcrumb-item{font-weight:200}.novo-breadcrumb-font-style.text-weight-light,:host .text-weight-light.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-light,:host .text-weight-light.novo-breadcrumb-item{font-weight:300}.novo-breadcrumb-font-style.text-weight-normal,:host .text-weight-normal.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-normal,:host .text-weight-normal.novo-breadcrumb-item{font-weight:400}.novo-breadcrumb-font-style.text-weight-medium,:host .text-weight-medium.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-medium,:host .text-weight-medium.novo-breadcrumb-item{font-weight:500}.novo-breadcrumb-font-style.text-weight-semibold,:host .text-weight-semibold.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-semibold,:host .text-weight-semibold.novo-breadcrumb-item{font-weight:600}.novo-breadcrumb-font-style.text-weight-bold,:host .text-weight-bold.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-bold,:host .text-weight-bold.novo-breadcrumb-item{font-weight:700}.novo-breadcrumb-font-style.text-weight-extrabold,:host .text-weight-extrabold.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-extrabold,:host .text-weight-extrabold.novo-breadcrumb-item{font-weight:800}.novo-breadcrumb-font-style.text-weight-heavy,:host .text-weight-heavy.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-heavy,:host .text-weight-heavy.novo-breadcrumb-item{font-weight:900}.novo-breadcrumb-font-style.text-weight-lighter,:host .text-weight-lighter.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-lighter,:host .text-weight-lighter.novo-breadcrumb-item{font-weight:lighter}.novo-breadcrumb-font-style.text-weight-bolder,:host .text-weight-bolder.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-bolder,:host .text-weight-bolder.novo-breadcrumb-item{font-weight:bolder}:host{display:flex;align-items:center;flex-flow:row nowrap}:host .novo-breadcrumb-item{cursor:auto;display:flex;align-items:center;flex-flow:row nowrap}:host .novo-breadcrumb-item ::ng-deep a:hover{text-decoration:none}:host .novo-breadcrumb-item ::ng-deep a{color:#4a89dc;cursor:pointer}:host .novo-breadcrumb-item ::ng-deep a:focus{text-decoration:none}:host .novo-breadcrumb-down-icon{vertical-align:middle;display:inline-block;cursor:pointer;width:16px;height:16px;margin-right:-5px;text-align:center;outline:none}:host .novo-breadcrumb-down-icon:hover svg g polygon{fill:var(--text-main, #3d464d)}:host .novo-breadcrumb-item-active{color:var(--text-main, #3d464d)}:host .novo-breadcrumb-item-active ::ng-deep a{color:var(--text-main, #3d464d);text-decoration:none}:host .novo-breadcrumb-item-active svg g polygon{fill:var(--text-main, #3d464d)}:host .novo-breadcrumb-item-active span{color:var(--text-main, #3d464d)}:host .novo-breadcrumb-separator{margin:0 3px}:host .novo-breadcrumb-dropdown-menu{padding:10px 0;max-width:200px}:host .novo-breadcrumb-dropdown-menu li{padding:0 15px;font-size:12px;line-height:36px;width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}:host .novo-breadcrumb-dropdown-menu li a{color:#3d464d;line-height:36px;width:170px;display:inline-block}:host .novo-breadcrumb-dropdown-menu li a:focus{text-decoration:none}:host .novo-breadcrumb-dropdown-menu li:hover{background:#dbdbdb}:host .novo-breadcrumb-dropdown-menu li:hover a{text-decoration:none}:host .novo-search-container{max-width:200px}:host span.novo-breadcrumb-dropdown-origin{min-width:unset;display:inline-flex;padding:0}:host novo-search{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "component", type: i4.NovoSearchBoxElement, selector: "novo-search", inputs: ["name", "icon", "position", "placeholder", "alwaysOpen", "theme", "color", "closeOnSelect", "displayField", "displayValue", "hint", "keepOpen", "hasBackdrop", "allowPropagation"], outputs: ["searchChanged", "applySearch"] }, { kind: "component", type: i5.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { kind: "component", type: i6.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i6.NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: BreadcrumbItemElement, selector: "novo-breadcrumb-item", inputs: { showMenu: "showMenu", customMenuTemplate: "customMenuTemplate", menuList: "menuList", isSearch: "isSearch" }, outputs: { toggleEvent: "toggleEvent" }, ngImport: i0, template: "<ng-container *ngIf=\"showMenu; else breadcrumbContentTpl\">\n <span [ngClass]=\"{ 'novo-breadcrumb-item-active': isOpen }\" #origin\n class=\"novo-dropdown-no-border novo-dropdown-origin novo-breadcrumb-dropdown-origin\">\n <ng-template [ngTemplateOutlet]=\"breadcrumbContentTpl\"></ng-template>\n <novo-dropdown>\n <novo-button theme=\"icon\" icon=\"collapse\" size=\"small\"></novo-button>\n <novo-optgroup class=\"novo-breadcrumb-dropdown-menu\">\n <div *ngIf=\"isSearch\" class=\"dropdown-search-container\">\n <novo-search alwaysOpen=\"true\" (searchFn)=\"searchEvent($event)\" [class]=\"'search-in-dropdown'\"></novo-search>\n </div>\n <novo-option *ngFor=\"let item of menuListDisplay\" title=\"{{ item.name }}\">\n <a *ngIf=\"!item.linkType || item.linkType === 'hrefLink'\" [href]=\"item.link\" rel=\"noopener\"\n [target]=\"item.target ? item.target : '_self'\">{{ item.name }}</a>\n <a *ngIf=\"item.linkType === 'routerLink'\" rel=\"noopener\" [target]=\"item.target\" [href]=\"item.link\"\n (click)=\"navigateTo($event, item)\">{{ item.name }}</a>\n </novo-option>\n </novo-optgroup>\n </novo-dropdown>\n </span>\n</ng-container>\n\n<ng-template #breadcrumbContentTpl>\n <span class=\"novo-breadcrumb-item\">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\n<ng-template #dropDownMenuTpl>\n <div>test</div>\n\n</ng-template>\n\n<span class=\"novo-breadcrumb-separator\">\n <ng-template\n [ngTemplateOutlet]=\"breadcrumbComponent.separatorIcon ? breadcrumbComponent.separatorIcon : defaultSeparator\"\n [ngTemplateOutletContext]=\"{\n $implicit: this\n }\">\n </ng-template>\n</span>\n\n<ng-template #defaultSeparator>\n <span class=\"novo-breadcrumb-separator\">\n /\n </span>\n</ng-template>", styles: [".novo-breadcrumb-font-style,:host .novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a,:host .novo-breadcrumb-item{display:inline;font-weight:400;color:inherit;font-size:var(--font-size-text);transition:color .2s ease-out,opacity .2s ease-out;vertical-align:middle}.novo-breadcrumb-font-style.text-capitalize,:host .text-capitalize.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-capitalize,:host .text-capitalize.novo-breadcrumb-item{text-transform:capitalize}.novo-breadcrumb-font-style.text-uppercase,:host .text-uppercase.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-uppercase,:host .text-uppercase.novo-breadcrumb-item{text-transform:uppercase}.novo-breadcrumb-font-style.text-nowrap,:host .text-nowrap.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-nowrap,:host .text-nowrap.novo-breadcrumb-item{white-space:nowrap}.novo-breadcrumb-font-style.text-ellipsis,:host .text-ellipsis.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-ellipsis,:host .text-ellipsis.novo-breadcrumb-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-breadcrumb-font-style.text-size-default,:host .text-size-default.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-default,:host .text-size-default.novo-breadcrumb-item{font-size:inherit}.novo-breadcrumb-font-style.text-size-body,:host .text-size-body.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-body,:host .text-size-body.novo-breadcrumb-item{font-size:1.3rem}.novo-breadcrumb-font-style.text-size-xs,:host .text-size-xs.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-xs,:host .text-size-xs.novo-breadcrumb-item{font-size:1rem}.novo-breadcrumb-font-style.text-size-sm,:host .text-size-sm.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-sm,:host .text-size-sm.novo-breadcrumb-item{font-size:1.2rem}.novo-breadcrumb-font-style.text-size-md,:host .text-size-md.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-md,:host .text-size-md.novo-breadcrumb-item{font-size:1.3rem}.novo-breadcrumb-font-style.text-size-lg,:host .text-size-lg.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-lg,:host .text-size-lg.novo-breadcrumb-item{font-size:1.6rem}.novo-breadcrumb-font-style.text-size-xl,:host .text-size-xl.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-xl,:host .text-size-xl.novo-breadcrumb-item{font-size:2rem}.novo-breadcrumb-font-style.text-size-2xl,:host .text-size-2xl.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-2xl,:host .text-size-2xl.novo-breadcrumb-item{font-size:2.6rem}.novo-breadcrumb-font-style.text-size-3xl,:host .text-size-3xl.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-3xl,:host .text-size-3xl.novo-breadcrumb-item{font-size:3.2rem}.novo-breadcrumb-font-style.text-size-smaller,:host .text-size-smaller.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-smaller,:host .text-size-smaller.novo-breadcrumb-item{font-size:.8em}.novo-breadcrumb-font-style.text-size-larger,:host .text-size-larger.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-size-larger,:host .text-size-larger.novo-breadcrumb-item{font-size:1.2em}.novo-breadcrumb-font-style.text-color-black,:host .text-color-black.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-black,:host .text-color-black.novo-breadcrumb-item{color:#000}.novo-breadcrumb-font-style.text-color-white,:host .text-color-white.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-white,:host .text-color-white.novo-breadcrumb-item{color:#fff}.novo-breadcrumb-font-style.text-color-gray,:host .text-color-gray.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-gray,:host .text-color-gray.novo-breadcrumb-item{color:#9e9e9e}.novo-breadcrumb-font-style.text-color-grey,:host .text-color-grey.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-grey,:host .text-color-grey.novo-breadcrumb-item{color:#9e9e9e}.novo-breadcrumb-font-style.text-color-offWhite,:host .text-color-offWhite.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-offWhite,:host .text-color-offWhite.novo-breadcrumb-item{color:#f7f7f7}.novo-breadcrumb-font-style.text-color-bright,:host .text-color-bright.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-bright,:host .text-color-bright.novo-breadcrumb-item{color:#f7f7f7}.novo-breadcrumb-font-style.text-color-light,:host .text-color-light.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-light,:host .text-color-light.novo-breadcrumb-item{color:#dbdbdb}.novo-breadcrumb-font-style.text-color-neutral,:host .text-color-neutral.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-neutral,:host .text-color-neutral.novo-breadcrumb-item{color:#4f5361}.novo-breadcrumb-font-style.text-color-dark,:host .text-color-dark.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-dark,:host .text-color-dark.novo-breadcrumb-item{color:#3d464d}.novo-breadcrumb-font-style.text-color-orange,:host .text-color-orange.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-orange,:host .text-color-orange.novo-breadcrumb-item{color:#ff6900}.novo-breadcrumb-font-style.text-color-navigation,:host .text-color-navigation.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-navigation,:host .text-color-navigation.novo-breadcrumb-item{color:#202945}.novo-breadcrumb-font-style.text-color-skyBlue,:host .text-color-skyBlue.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-skyBlue,:host .text-color-skyBlue.novo-breadcrumb-item{color:#009bdf}.novo-breadcrumb-font-style.text-color-steel,:host .text-color-steel.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-steel,:host .text-color-steel.novo-breadcrumb-item{color:#5b6770}.novo-breadcrumb-font-style.text-color-metal,:host .text-color-metal.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-metal,:host .text-color-metal.novo-breadcrumb-item{color:#637893}.novo-breadcrumb-font-style.text-color-sand,:host .text-color-sand.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-sand,:host .text-color-sand.novo-breadcrumb-item{color:#f4f4f4}.novo-breadcrumb-font-style.text-color-silver,:host .text-color-silver.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-silver,:host .text-color-silver.novo-breadcrumb-item{color:#e2e2e2}.novo-breadcrumb-font-style.text-color-stone,:host .text-color-stone.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-stone,:host .text-color-stone.novo-breadcrumb-item{color:#bebebe}.novo-breadcrumb-font-style.text-color-ash,:host .text-color-ash.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-ash,:host .text-color-ash.novo-breadcrumb-item{color:#a0a0a0}.novo-breadcrumb-font-style.text-color-slate,:host .text-color-slate.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-slate,:host .text-color-slate.novo-breadcrumb-item{color:#707070}.novo-breadcrumb-font-style.text-color-onyx,:host .text-color-onyx.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-onyx,:host .text-color-onyx.novo-breadcrumb-item{color:#526980}.novo-breadcrumb-font-style.text-color-charcoal,:host .text-color-charcoal.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-charcoal,:host .text-color-charcoal.novo-breadcrumb-item{color:#282828}.novo-breadcrumb-font-style.text-color-moonlight,:host .text-color-moonlight.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-moonlight,:host .text-color-moonlight.novo-breadcrumb-item{color:#1a242f}.novo-breadcrumb-font-style.text-color-midnight,:host .text-color-midnight.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-midnight,:host .text-color-midnight.novo-breadcrumb-item{color:#202945}.novo-breadcrumb-font-style.text-color-darkness,:host .text-color-darkness.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-darkness,:host .text-color-darkness.novo-breadcrumb-item{color:#161f27}.novo-breadcrumb-font-style.text-color-navy,:host .text-color-navy.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-navy,:host .text-color-navy.novo-breadcrumb-item{color:#0d2d42}.novo-breadcrumb-font-style.text-color-aqua,:host .text-color-aqua.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-aqua,:host .text-color-aqua.novo-breadcrumb-item{color:#3bafda}.novo-breadcrumb-font-style.text-color-ocean,:host .text-color-ocean.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-ocean,:host .text-color-ocean.novo-breadcrumb-item{color:#4a89dc}.novo-breadcrumb-font-style.text-color-mint,:host .text-color-mint.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-mint,:host .text-color-mint.novo-breadcrumb-item{color:#37bc9b}.novo-breadcrumb-font-style.text-color-grass,:host .text-color-grass.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-grass,:host .text-color-grass.novo-breadcrumb-item{color:#8cc152}.novo-breadcrumb-font-style.text-color-sunflower,:host .text-color-sunflower.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-sunflower,:host .text-color-sunflower.novo-breadcrumb-item{color:#f6b042}.novo-breadcrumb-font-style.text-color-bittersweet,:host .text-color-bittersweet.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-bittersweet,:host .text-color-bittersweet.novo-breadcrumb-item{color:#eb6845}.novo-breadcrumb-font-style.text-color-grapefruit,:host .text-color-grapefruit.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-grapefruit,:host .text-color-grapefruit.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-carnation,:host .text-color-carnation.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-carnation,:host .text-color-carnation.novo-breadcrumb-item{color:#d770ad}.novo-breadcrumb-font-style.text-color-lavender,:host .text-color-lavender.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-lavender,:host .text-color-lavender.novo-breadcrumb-item{color:#967adc}.novo-breadcrumb-font-style.text-color-mountain,:host .text-color-mountain.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-mountain,:host .text-color-mountain.novo-breadcrumb-item{color:#9678b6}.novo-breadcrumb-font-style.text-color-info,:host .text-color-info.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-info,:host .text-color-info.novo-breadcrumb-item{color:#4a89dc}.novo-breadcrumb-font-style.text-color-positive,:host .text-color-positive.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-positive,:host .text-color-positive.novo-breadcrumb-item{color:#4a89dc}.novo-breadcrumb-font-style.text-color-success,:host .text-color-success.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-success,:host .text-color-success.novo-breadcrumb-item{color:#8cc152}.novo-breadcrumb-font-style.text-color-negative,:host .text-color-negative.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-negative,:host .text-color-negative.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-danger,:host .text-color-danger.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-danger,:host .text-color-danger.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-error,:host .text-color-error.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-error,:host .text-color-error.novo-breadcrumb-item{color:#da4453}.novo-breadcrumb-font-style.text-color-warning,:host .text-color-warning.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-warning,:host .text-color-warning.novo-breadcrumb-item{color:#f6b042}.novo-breadcrumb-font-style.text-color-empty,:host .text-color-empty.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-empty,:host .text-color-empty.novo-breadcrumb-item{color:#cccdcc}.novo-breadcrumb-font-style.text-color-disabled,:host .text-color-disabled.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-disabled,:host .text-color-disabled.novo-breadcrumb-item{color:#bebebe}.novo-breadcrumb-font-style.text-color-background,:host .text-color-background.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-background,:host .text-color-background.novo-breadcrumb-item{color:#f7f7f7}.novo-breadcrumb-font-style.text-color-backgroundDark,:host .text-color-backgroundDark.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-backgroundDark,:host .text-color-backgroundDark.novo-breadcrumb-item{color:#e2e2e2}.novo-breadcrumb-font-style.text-color-presentation,:host .text-color-presentation.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-presentation,:host .text-color-presentation.novo-breadcrumb-item{color:#5b6770}.novo-breadcrumb-font-style.text-color-bullhorn,:host .text-color-bullhorn.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-bullhorn,:host .text-color-bullhorn.novo-breadcrumb-item{color:#ff6900}.novo-breadcrumb-font-style.text-color-pulse,:host .text-color-pulse.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-pulse,:host .text-color-pulse.novo-breadcrumb-item{color:#3bafda}.novo-breadcrumb-font-style.text-color-company,:host .text-color-company.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-company,:host .text-color-company.novo-breadcrumb-item{color:#39d}.novo-breadcrumb-font-style.text-color-candidate,:host .text-color-candidate.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-candidate,:host .text-color-candidate.novo-breadcrumb-item{color:#4b7}.novo-breadcrumb-font-style.text-color-lead,:host .text-color-lead.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-lead,:host .text-color-lead.novo-breadcrumb-item{color:#a69}.novo-breadcrumb-font-style.text-color-contact,:host .text-color-contact.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-contact,:host .text-color-contact.novo-breadcrumb-item{color:#fa4}.novo-breadcrumb-font-style.text-color-clientcontact,:host .text-color-clientcontact.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-clientcontact,:host .text-color-clientcontact.novo-breadcrumb-item{color:#fa4}.novo-breadcrumb-font-style.text-color-opportunity,:host .text-color-opportunity.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-opportunity,:host .text-color-opportunity.novo-breadcrumb-item{color:#625}.novo-breadcrumb-font-style.text-color-job,:host .text-color-job.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-job,:host .text-color-job.novo-breadcrumb-item{color:#b56}.novo-breadcrumb-font-style.text-color-joborder,:host .text-color-joborder.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-joborder,:host .text-color-joborder.novo-breadcrumb-item{color:#b56}.novo-breadcrumb-font-style.text-color-submission,:host .text-color-submission.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-submission,:host .text-color-submission.novo-breadcrumb-item{color:#a9adbb}.novo-breadcrumb-font-style.text-color-sendout,:host .text-color-sendout.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-sendout,:host .text-color-sendout.novo-breadcrumb-item{color:#747884}.novo-breadcrumb-font-style.text-color-placement,:host .text-color-placement.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-placement,:host .text-color-placement.novo-breadcrumb-item{color:#0b344f}.novo-breadcrumb-font-style.text-color-note,:host .text-color-note.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-note,:host .text-color-note.novo-breadcrumb-item{color:#747884}.novo-breadcrumb-font-style.text-color-contract,:host .text-color-contract.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-contract,:host .text-color-contract.novo-breadcrumb-item{color:#454ea0}.novo-breadcrumb-font-style.text-color-jobCode,:host .text-color-jobCode.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-jobCode,:host .text-color-jobCode.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-earnCode,:host .text-color-earnCode.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-earnCode,:host .text-color-earnCode.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-invoiceStatement,:host .text-color-invoiceStatement.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-invoiceStatement,:host .text-color-invoiceStatement.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-billableCharge,:host .text-color-billableCharge.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-billableCharge,:host .text-color-billableCharge.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-payableCharge,:host .text-color-payableCharge.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-payableCharge,:host .text-color-payableCharge.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-user,:host .text-color-user.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-user,:host .text-color-user.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-corporateUser,:host .text-color-corporateUser.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-corporateUser,:host .text-color-corporateUser.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-distributionList,:host .text-color-distributionList.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-distributionList,:host .text-color-distributionList.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-credential,:host .text-color-credential.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-credential,:host .text-color-credential.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.text-color-person,:host .text-color-person.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-color-person,:host .text-color-person.novo-breadcrumb-item{color:#696d79}.novo-breadcrumb-font-style.margin-before,:host .margin-before.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.margin-before,:host .margin-before.novo-breadcrumb-item{margin-top:.4rem}.novo-breadcrumb-font-style.margin-after,:host .margin-after.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.margin-after,:host .margin-after.novo-breadcrumb-item{margin-bottom:.8rem}.novo-breadcrumb-font-style.text-length-small,:host .text-length-small.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-length-small,:host .text-length-small.novo-breadcrumb-item{max-width:40ch}.novo-breadcrumb-font-style.text-length-medium,:host .text-length-medium.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-length-medium,:host .text-length-medium.novo-breadcrumb-item{max-width:55ch}.novo-breadcrumb-font-style.text-length-large,:host .text-length-large.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-length-large,:host .text-length-large.novo-breadcrumb-item{max-width:70ch}.novo-breadcrumb-font-style.text-weight-hairline,:host .text-weight-hairline.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-hairline,:host .text-weight-hairline.novo-breadcrumb-item{font-weight:100}.novo-breadcrumb-font-style.text-weight-thin,:host .text-weight-thin.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-thin,:host .text-weight-thin.novo-breadcrumb-item{font-weight:200}.novo-breadcrumb-font-style.text-weight-light,:host .text-weight-light.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-light,:host .text-weight-light.novo-breadcrumb-item{font-weight:300}.novo-breadcrumb-font-style.text-weight-normal,:host .text-weight-normal.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-normal,:host .text-weight-normal.novo-breadcrumb-item{font-weight:400}.novo-breadcrumb-font-style.text-weight-medium,:host .text-weight-medium.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-medium,:host .text-weight-medium.novo-breadcrumb-item{font-weight:500}.novo-breadcrumb-font-style.text-weight-semibold,:host .text-weight-semibold.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-semibold,:host .text-weight-semibold.novo-breadcrumb-item{font-weight:600}.novo-breadcrumb-font-style.text-weight-bold,:host .text-weight-bold.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-bold,:host .text-weight-bold.novo-breadcrumb-item{font-weight:700}.novo-breadcrumb-font-style.text-weight-extrabold,:host .text-weight-extrabold.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-extrabold,:host .text-weight-extrabold.novo-breadcrumb-item{font-weight:800}.novo-breadcrumb-font-style.text-weight-heavy,:host .text-weight-heavy.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-heavy,:host .text-weight-heavy.novo-breadcrumb-item{font-weight:900}.novo-breadcrumb-font-style.text-weight-lighter,:host .text-weight-lighter.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-lighter,:host .text-weight-lighter.novo-breadcrumb-item{font-weight:lighter}.novo-breadcrumb-font-style.text-weight-bolder,:host .text-weight-bolder.novo-breadcrumb-separator,:host .novo-breadcrumb-item ::ng-deep a.text-weight-bolder,:host .text-weight-bolder.novo-breadcrumb-item{font-weight:bolder}:host{display:flex;align-items:center;flex-flow:row nowrap}:host .novo-breadcrumb-item{cursor:auto;display:flex;align-items:center;flex-flow:row nowrap}:host .novo-breadcrumb-item ::ng-deep a:hover{text-decoration:none}:host .novo-breadcrumb-item ::ng-deep a{color:#4a89dc;cursor:pointer}:host .novo-breadcrumb-item ::ng-deep a:focus{text-decoration:none}:host .novo-breadcrumb-down-icon{vertical-align:middle;display:inline-block;cursor:pointer;width:16px;height:16px;margin-right:-5px;text-align:center;outline:none}:host .novo-breadcrumb-down-icon:hover svg g polygon{fill:var(--text-main, #3d464d)}:host .novo-breadcrumb-item-active{color:var(--text-main, #3d464d)}:host .novo-breadcrumb-item-active ::ng-deep a{color:var(--text-main, #3d464d);text-decoration:none}:host .novo-breadcrumb-item-active svg g polygon{fill:var(--text-main, #3d464d)}:host .novo-breadcrumb-item-active span{color:var(--text-main, #3d464d)}:host .novo-breadcrumb-separator{margin:0 3px}:host .novo-breadcrumb-dropdown-menu{padding:10px 0;max-width:200px}:host .novo-breadcrumb-dropdown-menu li{padding:0 15px;font-size:12px;line-height:36px;width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}:host .novo-breadcrumb-dropdown-menu li a{color:#3d464d;line-height:36px;width:170px;display:inline-block}:host .novo-breadcrumb-dropdown-menu li a:focus{text-decoration:none}:host .novo-breadcrumb-dropdown-menu li:hover{background:#dbdbdb}:host .novo-breadcrumb-dropdown-menu li:hover a{text-decoration:none}:host .novo-search-container{max-width:200px}:host span.novo-breadcrumb-dropdown-origin{min-width:unset;display:inline-flex;padding:0}:host novo-search{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "component", type: i4.NovoSearchBoxElement, selector: "novo-search", inputs: ["name", "icon", "position", "placeholder", "alwaysOpen", "theme", "color", "closeOnSelect", "displayField", "displayValue", "hint", "keepOpen", "hasBackdrop", "allowPropagation", "overrideElement"], outputs: ["searchChanged", "applySearch"] }, { kind: "component", type: i5.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { kind: "component", type: i6.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i6.NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: BreadcrumbItemElement, decorators: [{
38
38
  type: Component,
@@ -79,7 +79,7 @@ export class NovoOverlayTemplateComponent {
79
79
  this.closePanel();
80
80
  }
81
81
  /**
82
- * A stream of actions that should close the autocomplete panel, including
82
+ * A stream of actions that should close the panel, including
83
83
  * when an option is selected, on blur, and when TAB is pressed.
84
84
  */
85
85
  get panelClosingActions() {
@@ -87,7 +87,7 @@ export class NovoOverlayTemplateComponent {
87
87
  // this.overlayTemplate._keyManager.tabOut,
88
88
  this.outsideClickStream);
89
89
  }
90
- /** Stream of clicks outside of the autocomplete panel. */
90
+ /** Stream of clicks outside of the panel. */
91
91
  get outsideClickStream() {
92
92
  if (!this.document) {
93
93
  return observableOf();
@@ -303,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
303
303
  }], parent: [{
304
304
  type: Input
305
305
  }] } });
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2NvbW1vbi9vdmVybGF5L092ZXJsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFJTCxPQUFPLEVBQ1AsYUFBYSxHQUlkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLFNBQVM7QUFDVCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxJQUFJLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVcxRCxNQUFNLE9BQU8sNEJBQTRCO0lBK0N2QyxZQUNZLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxJQUFZLEVBQ1osaUJBQW9DLEVBR3BDLFFBQWE7UUFOYixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFHcEMsYUFBUSxHQUFSLFFBQVEsQ0FB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RzVCLFdBQVcsaUlBVlo7Ozs7R0FJVDs7MkZBR1UsNEJBQTRCO2tCQVR4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBcURJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTt5Q0FqRFgsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLFdBQVc7Z0JBR2YsS0FBSztzQkFEWCxTQUFTO3VCQUFDLE9BQU87Z0JBSVgsUUFBUTtzQkFEZCxLQUFLO2dCQWFDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsYUFBYTtzQkFEbkIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTTtnQkFHQSxPQUFPO3NCQURiLE1BQU07Z0JBR0EsT0FBTztzQkFEYixNQUFNO2dCQTZCSSxNQUFNO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxuaW1wb3J0IHtcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG4gIFNjcm9sbFN0cmF0ZWd5LFxuICBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIFZlbmRvclxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gXCJub3ZvLWVsZW1lbnRzL3V0aWxzXCI7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLW92ZXJsYXktdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJub3ZvLW92ZXJsYXktcGFuZWxcIiByb2xlPVwibGlzdGJveFwiIFtpZF09XCJpZFwiICNwYW5lbD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9PdmVybGF5VGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaWQ6IHN0cmluZyA9IGBub3ZvLW92ZXJsYXktJHtEYXRlLm5vdygpfWA7XG5cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdwYW5lbCcpXG4gIHB1YmxpYyBwYW5lbDogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcG9zaXRpb246XG4gICAgfCAnZGVmYXVsdCdcbiAgICB8ICdyaWdodCdcbiAgICB8ICdhYm92ZS1iZWxvdydcbiAgICB8ICdyaWdodC1hYm92ZS1iZWxvdydcbiAgICB8ICdjZW50ZXInXG4gICAgfCAnYm90dG9tJ1xuICAgIHwgJ2JvdHRvbS1sZWZ0J1xuICAgIHwgJ2JvdHRvbS1yaWdodCdcbiAgICB8ICd0b3AtbGVmdCdcbiAgICB8ICd0b3AtcmlnaHQnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2Nyb2xsU3RyYXRlZ3k6ICdyZXBvc2l0aW9uJyB8ICdibG9jaycgfCAnY2xvc2UnID0gJ3JlcG9zaXRpb24nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgd2lkdGg6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIG1pbldpZHRoOiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWlnaHQ6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3BlbmluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xvc2luZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsO1xuICBwdWJsaWMgcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xuXG4gIC8vIFRoZSBzdWJzY3JpcHRpb24gZm9yIGNsb3NpbmcgYWN0aW9ucyAoc29tZSBhcmUgYm91bmQgdG8gZG9jdW1lbnQpXG4gIHByb3RlY3RlZCBjbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9wYXJlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJvdGVjdGVkIHpvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChET0NVTUVOVClcbiAgICBwcm90ZWN0ZWQgZG9jdW1lbnQ6IGFueSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICBnZXQgcGFuZWxPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBhcmVudCh2YWx1ZTogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX3BhcmVudCA9IHZhbHVlO1xuICAgIHRoaXMuY2hlY2tTaXplcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJlbnQoKTogRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuUGFuZWwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSh0aGlzLnRlbXBsYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaGVja1NpemVzKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgIXRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKTtcbiAgICAgIHRoaXMuY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLnN1YnNjcmliZVRvQ2xvc2luZ0FjdGlvbnMoKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMub3BlbmluZy5lbWl0KHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBAY2hhcmxlc2FiYXJuZXMgUmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgdGFibGVcbiAgICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbG9zaW5nLmVtaXQoZmFsc2UpO1xuICAgICAgaWYgKHRoaXMucGFuZWxPcGVuKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zaW5nQWN0aW9uKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHN0cmVhbSBvZiBhY3Rpb25zIHRoYXQgc2hvdWxkIGNsb3NlIHRoZSBhdXRvY29tcGxldGUgcGFuZWwsIGluY2x1ZGluZ1xuICAgKiB3aGVuIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgb24gYmx1ciwgYW5kIHdoZW4gVEFCIGlzIHByZXNzZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhbmVsQ2xvc2luZ0FjdGlvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAvLyB0aGlzLm92ZXJsYXlUZW1wbGF0ZS5fa2V5TWFuYWdlci50YWJPdXQsXG4gICAgICB0aGlzLm91dHNpZGVDbGlja1N0cmVhbSxcbiAgICApO1xuICB9XG5cbiAgLyoqIFN0cmVhbSBvZiBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgYXV0b2NvbXBsZXRlIHBhbmVsLiAqL1xuICBwcm90ZWN0ZWQgZ2V0IG91dHNpZGVDbGlja1N0cmVhbSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5kb2N1bWVudCkge1xuICAgICAgcmV0dXJuIG9ic2VydmFibGVPZigpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZShmcm9tRXZlbnQodGhpcy5kb2N1bWVudCwgJ21vdXNldXAnKSwgZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQsICd0b3VjaGVuZCcpKS5waXBlKFxuICAgICAgZmlsdGVyKChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY2xpY2tUYXJnZXQ6IEhUTUxFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBjbGlja2VkT3V0c2lkZTogYm9vbGVhbiA9XG4gICAgICAgICAgdGhpcy5wYW5lbE9wZW4gJiZcbiAgICAgICAgICBjbGlja1RhcmdldCAhPT0gdGhpcy5nZXRDb25uZWN0ZWRFbGVtZW50KCkubmF0aXZlRWxlbWVudCAmJlxuICAgICAgICAgICF0aGlzLmdldENvbm5lY3RlZEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSAmJlxuICAgICAgICAgICghIXRoaXMub3ZlcmxheVJlZiAmJiAhdGhpcy5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSkgJiZcbiAgICAgICAgICAhdGhpcy5lbGVtZW50SXNJbk5lc3RlZE92ZXJsYXkoY2xpY2tUYXJnZXQpO1xuICAgICAgICBpZiAodGhpcy5wYW5lbE9wZW4gJiYgISF0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KSAmJiB0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xpY2tlZE91dHNpZGU7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGxpc3RlbnMgdG8gYSBzdHJlYW0gb2YgcGFuZWwgY2xvc2luZyBhY3Rpb25zIGFuZCByZXNldHMgdGhlXG4gICAqIHN0cmVhbSBldmVyeSB0aW1lIHRoZSBvcHRpb24gbGlzdCBjaGFuZ2VzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHN1YnNjcmliZVRvQ2xvc2luZ0FjdGlvbnMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCBmaXJzdFN0YWJsZTogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy56b25lLm9uU3RhYmxlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlyc3QoKSk7XG4gICAgLy8gY29uc3QgdmFsdWVDaGFuZ2VzID0gT2JzZXJ2YWJsZS5mcm9tKHRoaXMudmFsdWUpO1xuICAgIC8vIFdoZW4gdGhlIHpvbmUgaXMgc3RhYmxlIGluaXRpYWxseSwgYW5kIHdoZW4gdGhlIG9wdGlvbiBsaXN0IGNoYW5nZXMuLi5cbiAgICByZXR1cm4gKFxuICAgICAgbWVyZ2UoZmlyc3RTdGFibGUpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIGNyZWF0ZSBhIG5ldyBzdHJlYW0gb2YgcGFuZWxDbG9zaW5nQWN0aW9ucywgcmVwbGFjaW5nIGFueSBwcmV2aW91cyBzdHJlYW1zXG4gICAgICAgICAgLy8gdGhhdCB3ZXJlIGNyZWF0ZWQsIGFuZCBmbGF0dGVuIGl0IHNvIG91ciBzdHJlYW0gb25seSBlbWl0cyBjbG9zaW5nIGV2ZW50cy4uLlxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYW5lbENsb3NpbmdBY3Rpb25zO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIC8vIHdoZW4gdGhlIGZpcnN0IGNsb3NpbmcgZXZlbnQgb2NjdXJzLi4uXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgKVxuICAgICAgICAvLyBzZXQgdGhlIHZhbHVlLCBjbG9zZSB0aGUgcGFuZWwsIGFuZCBjb21wbGV0ZS5cbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkNsb3NpbmdBY3Rpb24oZXZlbnQpKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT3ZlcmxheSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xuICAgIHRoaXMucG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5nZXRPdmVybGF5Q29uZmlnKCkpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VQYW5lbCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95T3ZlcmxheSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoKTtcblxuICAgIGlmICghdGhpcy53aWR0aCkge1xuICAgICAgY29uZmlnLndpZHRoID0gdGhpcy5nZXRIb3N0V2lkdGgoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnLndpZHRoID0gdGhpcy53aWR0aDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW5XaWR0aCkge1xuICAgICAgY29uZmlnLm1pbldpZHRoID0gdGhpcy5taW5XaWR0aDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgIGNvbmZpZy5oZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICB9XG5cbiAgICBjb25maWcucG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb24oKTtcbiAgICBjb25maWcuaGFzQmFja2Ryb3AgPSB0aGlzLmhhc0JhY2tkcm9wO1xuICAgIGNvbmZpZy5kaXJlY3Rpb24gPSAnbHRyJztcbiAgICBjb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLmdldFNjcm9sbFN0cmF0ZWd5KCk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgcG9zaXRpb24gc3RyYXRlZ2llczpcbiAgICogJ2RlZmF1bHQnLCAncmlnaHQnLCAnYm90dG9tJywgJ2NlbnRlcicsICdib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdjZW50ZXInKSB7XG4gICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZ2V0Q29ubmVjdGVkRWxlbWVudCgpKVxuICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgIHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2NlbnRlcicgfSxcbiAgICAgICAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnYm90dG9tJyB9LFxuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBjb25zdCBbb3JpZ2luWCwgZmFsbGJhY2tYXTogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3NbXSA9IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ3JpZ2h0JykgPyBbJ2VuZCcsICdzdGFydCddIDogWydzdGFydCcsICdlbmQnXTtcbiAgICBjb25zdCBbb3JpZ2luWSwgb3ZlcmxheVldOiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3NbXSA9IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ3RvcCcpID8gWyd0b3AnLCAnYm90dG9tJ10gOiBbJ2JvdHRvbScsICd0b3AnXTtcbiAgICBjb25zdCBkZWZhdWx0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0geyBvcmlnaW5YLCBvcmlnaW5ZLCBvdmVybGF5WDogb3JpZ2luWCwgb3ZlcmxheVkgfTtcbiAgICBsZXQgc3RyYXRlZ3k6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZ2V0Q29ubmVjdGVkRWxlbWVudCgpKVxuICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbZGVmYXVsdFBvc2l0aW9uXSk7XG4gICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nKSB7XG4gICAgICBzdHJhdGVneSA9IHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW2RlZmF1bHRQb3NpdGlvbiwgeyBvcmlnaW5YOiBmYWxsYmFja1gsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogZmFsbGJhY2tYLCBvdmVybGF5WTogJ3RvcCcgfV0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JyB8fCB0aGlzLnBvc2l0aW9uID09PSAnZGVmYXVsdCcgfHwgdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnYWJvdmUtYmVsb3cnKSkge1xuICAgICAgc3RyYXRlZ3kgPSBzdHJhdGVneS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgZGVmYXVsdFBvc2l0aW9uLFxuICAgICAgICB7IG9yaWdpblgsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogb3JpZ2luWCwgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgICAgIHsgb3JpZ2luWDogZmFsbGJhY2tYLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6IGZhbGxiYWNrWCwgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgICAgIHsgb3JpZ2luWDogZmFsbGJhY2tYLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6IGZhbGxiYWNrWCwgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgICBdKTtcbiAgICAgIGlmICghdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnYWJvdmUtYmVsb3cnKSkge1xuICAgICAgICBzdHJhdGVneSA9IHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgIGRlZmF1bHRQb3NpdGlvbixcbiAgICAgICAgICB7IG9yaWdpblgsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogb3JpZ2luWCwgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgICAgICAgeyBvcmlnaW5YOiBmYWxsYmFja1gsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogZmFsbGJhY2tYLCBvdmVybGF5WTogJ2NlbnRlcicgfSxcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdHJhdGVneTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTY3JvbGxTdHJhdGVneSgpOiBTY3JvbGxTdHJhdGVneSB7XG4gICAgc3dpdGNoICh0aGlzLnNjcm9sbFN0cmF0ZWd5KSB7XG4gICAgICBjYXNlICdibG9jayc6XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgY2FzZSAncmVwb3NpdGlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tTaXplcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICBpZiAoIXRoaXMud2lkdGgpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLndpZHRoID0gdGhpcy5nZXRIb3N0V2lkdGgoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm1pbldpZHRoKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5taW5XaWR0aCA9IHRoaXMubWluV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgfVxuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUodGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29ubmVjdGVkRWxlbWVudCgpOiBFbGVtZW50UmVmIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZWxlbWVudElzSW5OZXN0ZWRPdmVybGF5KGVsKTogYm9vbGVhbiB7XG4gICAgd2hpbGUgKGVsLnBhcmVudE5vZGUpIHtcbiAgICAgIGlmIChIZWxwZXJzLmlzU3RyaW5nKGVsLmlkKSAmJlxuICAgICAgICAoZWwuaWQ/LmluY2x1ZGVzKCdub3ZvLW92ZXJsYXktJykgfHwgZWwuaWQ/LmluY2x1ZGVzKCdtb2RhbC1jb250YWluZXItJykpKSB7XG4gICAgICAgIC8vIGNoZWNraW5nIHRvIHNlZSBpZiB0aGUgY3VycmVudCBvdmVybGF5IGlzIG5ld2VyIChpbiBmcm9udCBvZiB0aGUgcGFyZW50IG92ZXJsYXkpXG4gICAgICAgIC8vIGV4YW1wbGUgdGV4dCBub3ZvLW92ZXJsYXktMTY2NjI5MTcyODgzNVxuICAgICAgICByZXR1cm4gdGhpcy5pZC5zcGxpdCgnLScpWzJdIDwgZWwuaWQuc3BsaXQoJy0nKVsyXTtcbiAgICAgIH1cbiAgICAgIGVsID0gZWwucGFyZW50Tm9kZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEhvc3RXaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldENvbm5lY3RlZEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICB9XG5cbiAgcHVibGljIGlzQmx1clJlY2lwaWVudChldmVudDogRm9jdXNFdmVudCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmIHx8ICFldmVudC5yZWxhdGVkVGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2NvbW1vbi9vdmVybGF5L092ZXJsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFJTCxPQUFPLEVBQ1AsYUFBYSxHQUlkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLFNBQVM7QUFDVCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxJQUFJLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVcxRCxNQUFNLE9BQU8sNEJBQTRCO0lBK0N2QyxZQUNZLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxJQUFZLEVBQ1osaUJBQW9DLEVBR3BDLFFBQWE7UUFOYixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFHcEMsYUFBUSxHQUFSLFFBQVEsQ0FB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RzVCLFdBQVcsaUlBVlo7Ozs7R0FJVDs7MkZBR1UsNEJBQTRCO2tCQVR4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBcURJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTt5Q0FqRFgsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLFdBQVc7Z0JBR2YsS0FBSztzQkFEWCxTQUFTO3VCQUFDLE9BQU87Z0JBSVgsUUFBUTtzQkFEZCxLQUFLO2dCQWFDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsYUFBYTtzQkFEbkIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTTtnQkFHQSxPQUFPO3NCQURiLE1BQU07Z0JBR0EsT0FBTztzQkFEYixNQUFNO2dCQTZCSSxNQUFNO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxuaW1wb3J0IHtcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG4gIFNjcm9sbFN0cmF0ZWd5LFxuICBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIFZlbmRvclxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gXCJub3ZvLWVsZW1lbnRzL3V0aWxzXCI7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLW92ZXJsYXktdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJub3ZvLW92ZXJsYXktcGFuZWxcIiByb2xlPVwibGlzdGJveFwiIFtpZF09XCJpZFwiICNwYW5lbD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9PdmVybGF5VGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaWQ6IHN0cmluZyA9IGBub3ZvLW92ZXJsYXktJHtEYXRlLm5vdygpfWA7XG5cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdwYW5lbCcpXG4gIHB1YmxpYyBwYW5lbDogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcG9zaXRpb246XG4gICAgfCAnZGVmYXVsdCdcbiAgICB8ICdyaWdodCdcbiAgICB8ICdhYm92ZS1iZWxvdydcbiAgICB8ICdyaWdodC1hYm92ZS1iZWxvdydcbiAgICB8ICdjZW50ZXInXG4gICAgfCAnYm90dG9tJ1xuICAgIHwgJ2JvdHRvbS1sZWZ0J1xuICAgIHwgJ2JvdHRvbS1yaWdodCdcbiAgICB8ICd0b3AtbGVmdCdcbiAgICB8ICd0b3AtcmlnaHQnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2Nyb2xsU3RyYXRlZ3k6ICdyZXBvc2l0aW9uJyB8ICdibG9jaycgfCAnY2xvc2UnID0gJ3JlcG9zaXRpb24nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgd2lkdGg6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIG1pbldpZHRoOiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWlnaHQ6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3BlbmluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xvc2luZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsO1xuICBwdWJsaWMgcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xuXG4gIC8vIFRoZSBzdWJzY3JpcHRpb24gZm9yIGNsb3NpbmcgYWN0aW9ucyAoc29tZSBhcmUgYm91bmQgdG8gZG9jdW1lbnQpXG4gIHByb3RlY3RlZCBjbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9wYXJlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJvdGVjdGVkIHpvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChET0NVTUVOVClcbiAgICBwcm90ZWN0ZWQgZG9jdW1lbnQ6IGFueSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICBnZXQgcGFuZWxPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBhcmVudCh2YWx1ZTogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX3BhcmVudCA9IHZhbHVlO1xuICAgIHRoaXMuY2hlY2tTaXplcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJlbnQoKTogRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuUGFuZWwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSh0aGlzLnRlbXBsYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaGVja1NpemVzKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgIXRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKTtcbiAgICAgIHRoaXMuY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLnN1YnNjcmliZVRvQ2xvc2luZ0FjdGlvbnMoKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMub3BlbmluZy5lbWl0KHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBAY2hhcmxlc2FiYXJuZXMgUmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgdGFibGVcbiAgICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbG9zaW5nLmVtaXQoZmFsc2UpO1xuICAgICAgaWYgKHRoaXMucGFuZWxPcGVuKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zaW5nQWN0aW9uKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHN0cmVhbSBvZiBhY3Rpb25zIHRoYXQgc2hvdWxkIGNsb3NlIHRoZSBwYW5lbCwgaW5jbHVkaW5nXG4gICAqIHdoZW4gYW4gb3B0aW9uIGlzIHNlbGVjdGVkLCBvbiBibHVyLCBhbmQgd2hlbiBUQUIgaXMgcHJlc3NlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcGFuZWxDbG9zaW5nQWN0aW9ucygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgIC8vIHRoaXMub3ZlcmxheVRlbXBsYXRlLl9rZXlNYW5hZ2VyLnRhYk91dCxcbiAgICAgIHRoaXMub3V0c2lkZUNsaWNrU3RyZWFtLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RyZWFtIG9mIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBwYW5lbC4gKi9cbiAgcHJvdGVjdGVkIGdldCBvdXRzaWRlQ2xpY2tTdHJlYW0oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVyZ2UoZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQsICdtb3VzZXVwJyksIGZyb21FdmVudCh0aGlzLmRvY3VtZW50LCAndG91Y2hlbmQnKSkucGlwZShcbiAgICAgIGZpbHRlcigoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGNsaWNrVGFyZ2V0OiBIVE1MRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgY2xpY2tlZE91dHNpZGU6IGJvb2xlYW4gPVxuICAgICAgICAgIHRoaXMucGFuZWxPcGVuICYmXG4gICAgICAgICAgY2xpY2tUYXJnZXQgIT09IHRoaXMuZ2V0Q29ubmVjdGVkRWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAhdGhpcy5nZXRDb25uZWN0ZWRFbGVtZW50KCkubmF0aXZlRWxlbWVudC5jb250YWlucyhjbGlja1RhcmdldCkgJiZcbiAgICAgICAgICAoISF0aGlzLm92ZXJsYXlSZWYgJiYgIXRoaXMub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jb250YWlucyhjbGlja1RhcmdldCkpICYmXG4gICAgICAgICAgIXRoaXMuZWxlbWVudElzSW5OZXN0ZWRPdmVybGF5KGNsaWNrVGFyZ2V0KTtcbiAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuICYmICEhdGhpcy5vdmVybGF5UmVmICYmIHRoaXMub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jb250YWlucyhjbGlja1RhcmdldCkgJiYgdGhpcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3QuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsaWNrZWRPdXRzaWRlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBsaXN0ZW5zIHRvIGEgc3RyZWFtIG9mIHBhbmVsIGNsb3NpbmcgYWN0aW9ucyBhbmQgcmVzZXRzIHRoZVxuICAgKiBzdHJlYW0gZXZlcnkgdGltZSB0aGUgb3B0aW9uIGxpc3QgY2hhbmdlcy5cbiAgICovXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVUb0Nsb3NpbmdBY3Rpb25zKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc3QgZmlyc3RTdGFibGU6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuem9uZS5vblN0YWJsZS5hc09ic2VydmFibGUoKS5waXBlKGZpcnN0KCkpO1xuICAgIC8vIGNvbnN0IHZhbHVlQ2hhbmdlcyA9IE9ic2VydmFibGUuZnJvbSh0aGlzLnZhbHVlKTtcbiAgICAvLyBXaGVuIHRoZSB6b25lIGlzIHN0YWJsZSBpbml0aWFsbHksIGFuZCB3aGVuIHRoZSBvcHRpb24gbGlzdCBjaGFuZ2VzLi4uXG4gICAgcmV0dXJuIChcbiAgICAgIG1lcmdlKGZpcnN0U3RhYmxlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBjcmVhdGUgYSBuZXcgc3RyZWFtIG9mIHBhbmVsQ2xvc2luZ0FjdGlvbnMsIHJlcGxhY2luZyBhbnkgcHJldmlvdXMgc3RyZWFtc1xuICAgICAgICAgIC8vIHRoYXQgd2VyZSBjcmVhdGVkLCBhbmQgZmxhdHRlbiBpdCBzbyBvdXIgc3RyZWFtIG9ubHkgZW1pdHMgY2xvc2luZyBldmVudHMuLi5cbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFuZWxDbG9zaW5nQWN0aW9ucztcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAvLyB3aGVuIHRoZSBmaXJzdCBjbG9zaW5nIGV2ZW50IG9jY3Vycy4uLlxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgIClcbiAgICAgICAgLy8gc2V0IHRoZSB2YWx1ZSwgY2xvc2UgdGhlIHBhbmVsLCBhbmQgY29tcGxldGUuXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHRoaXMub25DbG9zaW5nQWN0aW9uKGV2ZW50KSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU92ZXJsYXkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLnBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0T3ZlcmxheUNvbmZpZygpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlUGFuZWwoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG5cbiAgICBpZiAoIXRoaXMud2lkdGgpIHtcbiAgICAgIGNvbmZpZy53aWR0aCA9IHRoaXMuZ2V0SG9zdFdpZHRoKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZy53aWR0aCA9IHRoaXMud2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWluV2lkdGgpIHtcbiAgICAgIGNvbmZpZy5taW5XaWR0aCA9IHRoaXMubWluV2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGVpZ2h0KSB7XG4gICAgICBjb25maWcuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gICAgfVxuXG4gICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmdldFBvc2l0aW9uKCk7XG4gICAgY29uZmlnLmhhc0JhY2tkcm9wID0gdGhpcy5oYXNCYWNrZHJvcDtcbiAgICBjb25maWcuZGlyZWN0aW9uID0gJ2x0cic7XG4gICAgY29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5nZXRTY3JvbGxTdHJhdGVneSgpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdXBwb3J0cyB0aGUgZm9sbG93aW5nIHBvc2l0aW9uIHN0cmF0ZWdpZXM6XG4gICAqICdkZWZhdWx0JywgJ3JpZ2h0JywgJ2JvdHRvbScsICdjZW50ZXInLCAnYm90dG9tLWxlZnQnLCAnYm90dG9tLXJpZ2h0JywgJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCdcbiAgICovXG4gIHByb3RlY3RlZCBnZXRQb3NpdGlvbigpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnY2VudGVyJykge1xuICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmdldENvbm5lY3RlZEVsZW1lbnQoKSlcbiAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgICAgICAgIHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScgfSxcbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgY29uc3QgW29yaWdpblgsIGZhbGxiYWNrWF06IEhvcml6b250YWxDb25uZWN0aW9uUG9zW10gPSB0aGlzLnBvc2l0aW9uLmluY2x1ZGVzKCdyaWdodCcpID8gWydlbmQnLCAnc3RhcnQnXSA6IFsnc3RhcnQnLCAnZW5kJ107XG4gICAgY29uc3QgW29yaWdpblksIG92ZXJsYXlZXTogVmVydGljYWxDb25uZWN0aW9uUG9zW10gPSB0aGlzLnBvc2l0aW9uLmluY2x1ZGVzKCd0b3AnKSA/IFsndG9wJywgJ2JvdHRvbSddIDogWydib3R0b20nLCAndG9wJ107XG4gICAgY29uc3QgZGVmYXVsdFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVg6IG9yaWdpblgsIG92ZXJsYXlZIH07XG4gICAgbGV0IHN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmdldENvbm5lY3RlZEVsZW1lbnQoKSlcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW2RlZmF1bHRQb3NpdGlvbl0pO1xuICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJykge1xuICAgICAgc3RyYXRlZ3kgPSBzdHJhdGVneS53aXRoUG9zaXRpb25zKFtkZWZhdWx0UG9zaXRpb24sIHsgb3JpZ2luWDogZmFsbGJhY2tYLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6IGZhbGxiYWNrWCwgb3ZlcmxheVk6ICd0b3AnIH1dKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2RlZmF1bHQnIHx8IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ2Fib3ZlLWJlbG93JykpIHtcbiAgICAgIHN0cmF0ZWd5ID0gc3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIGRlZmF1bHRQb3NpdGlvbixcbiAgICAgICAgeyBvcmlnaW5YLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6IG9yaWdpblgsIG92ZXJsYXlZOiAnYm90dG9tJyB9LFxuICAgICAgICB7IG9yaWdpblg6IGZhbGxiYWNrWCwgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiBmYWxsYmFja1gsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgICAgICB7IG9yaWdpblg6IGZhbGxiYWNrWCwgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiBmYWxsYmFja1gsIG92ZXJsYXlZOiAnYm90dG9tJyB9LFxuICAgICAgXSk7XG4gICAgICBpZiAoIXRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ2Fib3ZlLWJlbG93JykpIHtcbiAgICAgICAgc3RyYXRlZ3kgPSBzdHJhdGVneS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICBkZWZhdWx0UG9zaXRpb24sXG4gICAgICAgICAgeyBvcmlnaW5YLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6IG9yaWdpblgsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxuICAgICAgICAgIHsgb3JpZ2luWDogZmFsbGJhY2tYLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6IGZhbGxiYWNrWCwgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3RyYXRlZ3k7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2Nyb2xsU3RyYXRlZ3koKTogU2Nyb2xsU3RyYXRlZ3kge1xuICAgIHN3aXRjaCAodGhpcy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgY2FzZSAnYmxvY2snOlxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKTtcbiAgICAgIGNhc2UgJ3JlcG9zaXRpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrU2l6ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgaWYgKCF0aGlzLndpZHRoKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS53aWR0aCA9IHRoaXMuZ2V0SG9zdFdpZHRoKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5taW5XaWR0aCkge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkubWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaGVpZ2h0KSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5oZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgIH1cbiAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldENvbm5lY3RlZEVsZW1lbnQoKTogRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50O1xuICB9XG5cbiAgcHJvdGVjdGVkIGVsZW1lbnRJc0luTmVzdGVkT3ZlcmxheShlbCk6IGJvb2xlYW4ge1xuICAgIHdoaWxlIChlbC5wYXJlbnROb2RlKSB7XG4gICAgICBpZiAoSGVscGVycy5pc1N0cmluZyhlbC5pZCkgJiZcbiAgICAgICAgKGVsLmlkPy5pbmNsdWRlcygnbm92by1vdmVybGF5LScpIHx8IGVsLmlkPy5pbmNsdWRlcygnbW9kYWwtY29udGFpbmVyLScpKSkge1xuICAgICAgICAvLyBjaGVja2luZyB0byBzZWUgaWYgdGhlIGN1cnJlbnQgb3ZlcmxheSBpcyBuZXdlciAoaW4gZnJvbnQgb2YgdGhlIHBhcmVudCBvdmVybGF5KVxuICAgICAgICAvLyBleGFtcGxlIHRleHQgbm92by1vdmVybGF5LTE2NjYyOTE3Mjg4MzVcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQuc3BsaXQoJy0nKVsyXSA8IGVsLmlkLnNwbGl0KCctJylbMl07XG4gICAgICB9XG4gICAgICBlbCA9IGVsLnBhcmVudE5vZGU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRIb3N0V2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb25uZWN0ZWRFbGVtZW50KCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBpc0JsdXJSZWNpcGllbnQoZXZlbnQ6IEZvY3VzRXZlbnQpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZiB8fCAhZXZlbnQucmVsYXRlZFRhcmdldCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICB9XG59XG4iXX0=
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
206
206
  }, {
207
207
  type: Input
208
208
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2NvbW1vbi90eXBvZ3JhcGh5L2Jhc2UvYmFzZS10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFJbkQsTUFBTSxPQUFPLG1CQUFtQjtJQVU5QixJQUNJLGVBQWU7UUFDakIsT0FBTztZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ2xEO2FBQ0UsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUE0RkQsWUFBc0IsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFFN0MsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDOzhHQXBIVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7QUF5QjlCO0lBREMsWUFBWSxFQUFFOztxREFDRztBQUtsQjtJQURDLFlBQVksRUFBRTs7a0RBQ0E7QUFLZjtJQURDLFlBQVksRUFBRTs7a0RBQ0E7QUFLZjtJQURDLFlBQVksRUFBRTs7eURBQ087QUFLdEI7SUFEQyxZQUFZLEVBQUU7O3dEQUNNO0FBS3JCO0lBREMsWUFBWSxFQUFFOzt3REFDTTtBQUtyQjtJQURDLFlBQVksRUFBRTs7c0RBQ0k7QUFLbkI7SUFEQyxZQUFZLEVBQUU7O21EQUNDO0FBS2hCO0lBREMsWUFBWSxFQUFFOztxREFDRztBQUtsQjtJQURDLFlBQVksRUFBRTs7b0RBQ0U7QUFLakI7SUFEQyxZQUFZLEVBQUU7O21EQUNDO0FBS2hCO0lBREMsWUFBWSxFQUFFOztpREFDRDtBQUtkO0lBREMsWUFBWSxFQUFFOztvREFDRTtBQUtqQjtJQURDLFlBQVksRUFBRTs7a0RBQ0E7QUFLZjtJQURDLFlBQVksRUFBRTs7bURBQ0M7QUFLaEI7SUFEQyxZQUFZLEVBQUU7O2lEQUNEO0FBS2Q7SUFEQyxZQUFZLEVBQUU7O21EQUNDO0FBS2hCO0lBREMsWUFBWSxFQUFFOztzREFDSTsyRkE5R1IsbUJBQW1CO2tCQUQvQixTQUFTOytFQUdSLElBQUk7c0JBREgsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFJRixlQUFlO3NCQURsQixXQUFXO3VCQUFDLE9BQU87Z0JBZXBCLFFBQVE7c0JBSFAsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQU9OLEtBQUs7c0JBSEosV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLEtBQUs7c0JBSEosV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLO2dCQU9OLFlBQVk7c0JBSFgsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQU9OLFdBQVc7c0JBSFYsV0FBVzt1QkFBQyxvQkFBb0I7O3NCQUNoQyxLQUFLO2dCQU9OLFdBQVc7c0JBSFYsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLFNBQVM7c0JBSFIsV0FBVzt1QkFBQyxzQkFBc0I7O3NCQUNsQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLO2dCQU9OLFFBQVE7c0JBSFAsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQU9OLE9BQU87c0JBSE4sV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLElBQUk7c0JBSEgsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLE9BQU87c0JBSE4sV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLO2dCQU9OLEtBQUs7c0JBSEosV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQywwQkFBMEI7O3NCQUN0QyxLQUFLO2dCQU9OLElBQUk7c0JBSEgsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQywwQkFBMEI7O3NCQUN0QyxLQUFLO2dCQU9OLFNBQVM7c0JBSFIsV0FBVzt1QkFBQyw2QkFBNkI7O3NCQUN6QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ25vdm8tZWxlbWVudHMvdXRpbHMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUxlbmd0aCwgVHlwb2dyYXBoeVNpemUsIFR5cG9ncmFwaHlXZWlnaHQgfSBmcm9tICcuLi90ZXh0LnR5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTm92b0Jhc2VUZXh0RWxlbWVudCB7XG4gIEBJbnB1dCgpXG4gIHNpemU6IFR5cG9ncmFwaHlTaXplO1xuICBASW5wdXQoKVxuICB3ZWlnaHQ6IFR5cG9ncmFwaHlXZWlnaHQ7XG4gIEBJbnB1dCgpXG4gIGxpbmVMZW5ndGg6IFR5cG9ncmFwaHlMZW5ndGg7XG4gIEBJbnB1dCgpXG4gIGNvbG9yOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBoYl9jbGFzc0JpbmRpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5jb2xvciA/IGB0ZXh0LWNvbG9yLSR7dGhpcy5jb2xvcn1gIDogbnVsbCxcbiAgICAgIHRoaXMubGluZUxlbmd0aCA/IGB0ZXh0LWxlbmd0aC0ke3RoaXMubGluZUxlbmd0aH1gIDogbnVsbCxcbiAgICAgIHRoaXMuc2l6ZSA/IGB0ZXh0LXNpemUtJHt0aGlzLnNpemV9YCA6IG51bGwsXG4gICAgICB0aGlzLndlaWdodCA/IGB0ZXh0LXdlaWdodC0ke3RoaXMud2VpZ2h0fWAgOiBudWxsLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LWNvbG9yLWVtcHR5JylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIG11dGVkOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1jb2xvci1uZWdhdGl2ZScpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBlcnJvcjogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hcmdpbi1iZWZvcmUnKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgbWFyZ2luQmVmb3JlOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWFyZ2luLWFmdGVyJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIG1hcmdpbkFmdGVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1jYXBpdGlhbGl6ZScpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBjYXBpdGlhbGl6ZTogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtdXBwZXJjYXNlJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIHVwcGVyY2FzZTogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtbm93cmFwJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIG5vd3JhcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZWxsaXBzaXMnKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgZWxsaXBzaXM6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXNpemUtc21hbGxlcicpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBzbWFsbGVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1zaXplLWxhcmdlcicpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBsYXJnZXI6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC10aGluJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIHRoaW46IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1saWdodGVyJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGxpZ2h0ZXI6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1saWdodCcpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBsaWdodDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtd2VpZ2h0LW1lZGl1bScpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBtZWRpdW06IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1ib2xkJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGJvbGQ6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1ib2xkZXInKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgYm9sZGVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC13ZWlnaHQtZXh0cmFib2xkJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGV4dHJhYm9sZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2NvbW1vbi90eXBvZ3JhcGh5L2Jhc2UvYmFzZS10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFJbkQsTUFBTSxPQUFPLG1CQUFtQjtJQVU5QixJQUNJLGVBQWU7UUFDakIsT0FBTztZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ2xEO2FBQ0UsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUE0RkQsWUFBbUIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFFMUMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDOzhHQXBIVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7QUF5QjlCO0lBREMsWUFBWSxFQUFFOztxREFDRztBQUtsQjtJQURDLFlBQVksRUFBRTs7a0RBQ0E7QUFLZjtJQURDLFlBQVksRUFBRTs7a0RBQ0E7QUFLZjtJQURDLFlBQVksRUFBRTs7eURBQ087QUFLdEI7SUFEQyxZQUFZLEVBQUU7O3dEQUNNO0FBS3JCO0lBREMsWUFBWSxFQUFFOzt3REFDTTtBQUtyQjtJQURDLFlBQVksRUFBRTs7c0RBQ0k7QUFLbkI7SUFEQyxZQUFZLEVBQUU7O21EQUNDO0FBS2hCO0lBREMsWUFBWSxFQUFFOztxREFDRztBQUtsQjtJQURDLFlBQVksRUFBRTs7b0RBQ0U7QUFLakI7SUFEQyxZQUFZLEVBQUU7O21EQUNDO0FBS2hCO0lBREMsWUFBWSxFQUFFOztpREFDRDtBQUtkO0lBREMsWUFBWSxFQUFFOztvREFDRTtBQUtqQjtJQURDLFlBQVksRUFBRTs7a0RBQ0E7QUFLZjtJQURDLFlBQVksRUFBRTs7bURBQ0M7QUFLaEI7SUFEQyxZQUFZLEVBQUU7O2lEQUNEO0FBS2Q7SUFEQyxZQUFZLEVBQUU7O21EQUNDO0FBS2hCO0lBREMsWUFBWSxFQUFFOztzREFDSTsyRkE5R1IsbUJBQW1CO2tCQUQvQixTQUFTOytFQUdSLElBQUk7c0JBREgsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFJRixlQUFlO3NCQURsQixXQUFXO3VCQUFDLE9BQU87Z0JBZXBCLFFBQVE7c0JBSFAsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQU9OLEtBQUs7c0JBSEosV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLEtBQUs7c0JBSEosV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLO2dCQU9OLFlBQVk7c0JBSFgsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQU9OLFdBQVc7c0JBSFYsV0FBVzt1QkFBQyxvQkFBb0I7O3NCQUNoQyxLQUFLO2dCQU9OLFdBQVc7c0JBSFYsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLFNBQVM7c0JBSFIsV0FBVzt1QkFBQyxzQkFBc0I7O3NCQUNsQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLO2dCQU9OLFFBQVE7c0JBSFAsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQU9OLE9BQU87c0JBSE4sV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLElBQUk7c0JBSEgsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLE9BQU87c0JBSE4sV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLO2dCQU9OLEtBQUs7c0JBSEosV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQywwQkFBMEI7O3NCQUN0QyxLQUFLO2dCQU9OLElBQUk7c0JBSEgsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO2dCQU9OLE1BQU07c0JBSEwsV0FBVzt1QkFBQywwQkFBMEI7O3NCQUN0QyxLQUFLO2dCQU9OLFNBQVM7c0JBSFIsV0FBVzt1QkFBQyw2QkFBNkI7O3NCQUN6QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ25vdm8tZWxlbWVudHMvdXRpbHMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUxlbmd0aCwgVHlwb2dyYXBoeVNpemUsIFR5cG9ncmFwaHlXZWlnaHQgfSBmcm9tICcuLi90ZXh0LnR5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTm92b0Jhc2VUZXh0RWxlbWVudCB7XG4gIEBJbnB1dCgpXG4gIHNpemU6IFR5cG9ncmFwaHlTaXplO1xuICBASW5wdXQoKVxuICB3ZWlnaHQ6IFR5cG9ncmFwaHlXZWlnaHQ7XG4gIEBJbnB1dCgpXG4gIGxpbmVMZW5ndGg6IFR5cG9ncmFwaHlMZW5ndGg7XG4gIEBJbnB1dCgpXG4gIGNvbG9yOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBoYl9jbGFzc0JpbmRpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5jb2xvciA/IGB0ZXh0LWNvbG9yLSR7dGhpcy5jb2xvcn1gIDogbnVsbCxcbiAgICAgIHRoaXMubGluZUxlbmd0aCA/IGB0ZXh0LWxlbmd0aC0ke3RoaXMubGluZUxlbmd0aH1gIDogbnVsbCxcbiAgICAgIHRoaXMuc2l6ZSA/IGB0ZXh0LXNpemUtJHt0aGlzLnNpemV9YCA6IG51bGwsXG4gICAgICB0aGlzLndlaWdodCA/IGB0ZXh0LXdlaWdodC0ke3RoaXMud2VpZ2h0fWAgOiBudWxsLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LWNvbG9yLWVtcHR5JylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIG11dGVkOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1jb2xvci1uZWdhdGl2ZScpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBlcnJvcjogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hcmdpbi1iZWZvcmUnKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgbWFyZ2luQmVmb3JlOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWFyZ2luLWFmdGVyJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIG1hcmdpbkFmdGVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1jYXBpdGlhbGl6ZScpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBjYXBpdGlhbGl6ZTogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtdXBwZXJjYXNlJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIHVwcGVyY2FzZTogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtbm93cmFwJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIG5vd3JhcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZWxsaXBzaXMnKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgZWxsaXBzaXM6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXNpemUtc21hbGxlcicpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBzbWFsbGVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1zaXplLWxhcmdlcicpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBsYXJnZXI6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC10aGluJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIHRoaW46IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1saWdodGVyJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGxpZ2h0ZXI6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1saWdodCcpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBsaWdodDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtd2VpZ2h0LW1lZGl1bScpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBtZWRpdW06IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1ib2xkJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGJvbGQ6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LXdlaWdodC1ib2xkZXInKVxuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgYm9sZGVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC13ZWlnaHQtZXh0cmFib2xkJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGV4dHJhYm9sZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==