@fundamental-ngx/core 0.40.0-rc.1 → 0.40.0-rc.11

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.
@@ -1,10 +1,11 @@
1
- import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, Renderer2 } from '@angular/core';
2
2
  import { ColorAccent, Size, CssClassBuilder } from '@fundamental-ngx/cdk/utils';
3
3
  import { Nullable } from '@fundamental-ngx/cdk/utils';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {
6
- private _elementRef;
7
- private _cdr;
6
+ private readonly _elementRef;
7
+ private readonly _cdr;
8
+ private readonly _renderer;
8
9
  private hostTabindex;
9
10
  /** User's custom classes */
10
11
  class: string;
@@ -64,7 +65,10 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
64
65
  avatarClicked: EventEmitter<Event>;
65
66
  /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */
66
67
  zoomGlyphClicked: EventEmitter<void>;
67
- /** @hidden */
68
+ /**
69
+ * @hidden
70
+ */
71
+ set bgImage(image: Nullable<string>);
68
72
  get bgImage(): Nullable<string>;
69
73
  /** @hidden */
70
74
  get role(): string;
@@ -87,7 +91,7 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
87
91
  /** If a default placeholder should be displayed */
88
92
  get showDefault(): boolean;
89
93
  /** @hidden */
90
- constructor(_elementRef: ElementRef, _cdr: ChangeDetectorRef, hostTabindex: number | null);
94
+ constructor(_elementRef: ElementRef, _cdr: ChangeDetectorRef, _renderer: Renderer2, hostTabindex: number | null);
91
95
  /** @hidden */
92
96
  ngOnInit(): void;
93
97
  /** @hidden */
@@ -118,6 +122,6 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
118
122
  private _onErrorCallback;
119
123
  /** @hidden */
120
124
  private _showDefaultIcon;
121
- static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, [null, null, { attribute: "tabindex"; }]>;
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, [null, null, null, { attribute: "tabindex"; }]>;
122
126
  static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "fd-avatar", never, { "class": "class"; "id": "id"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "label": "label"; "size": "size"; "glyph": "glyph"; "zoomGlyph": "zoomGlyph"; "circle": "circle"; "transparent": "transparent"; "contain": "contain"; "placeholder": "placeholder"; "tile": "tile"; "border": "border"; "colorAccent": "colorAccent"; "random": "random"; "clickable": "clickable"; "backgroundImage": "backgroundImage"; "image": "image"; "alterIcon": "alterIcon"; "backupImage": "backupImage"; }, { "avatarClicked": "avatarClicked"; "zoomGlyphClicked": "zoomGlyphClicked"; }, never, ["*"], false, never>;
123
127
  }
@@ -12,8 +12,9 @@ import * as i10 from "@fundamental-ngx/cdk/utils";
12
12
  import * as i11 from "@fundamental-ngx/core/content-density";
13
13
  import * as i12 from "@fundamental-ngx/core/overflow-layout";
14
14
  import * as i13 from "@fundamental-ngx/core/button";
15
+ import * as i14 from "@fundamental-ngx/i18n";
15
16
  export declare class BreadcrumbModule {
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<BreadcrumbModule, [typeof i1.BreadcrumbComponent, typeof i2.BreadcrumbItemComponent, typeof i3.DeprecatedBreadcrumbsCompactDirective], [typeof i4.CommonModule, typeof i5.IconModule, typeof i6.PopoverModule, typeof i7.MenuModule, typeof i8.LinkModule, typeof i9.PortalModule, typeof i10.PipeModule, typeof i11.ContentDensityModule, typeof i12.OverflowLayoutModule, typeof i13.ButtonModule], [typeof i1.BreadcrumbComponent, typeof i2.BreadcrumbItemComponent, typeof i8.LinkModule, typeof i3.DeprecatedBreadcrumbsCompactDirective, typeof i11.ContentDensityModule]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BreadcrumbModule, [typeof i1.BreadcrumbComponent, typeof i2.BreadcrumbItemComponent, typeof i3.DeprecatedBreadcrumbsCompactDirective], [typeof i4.CommonModule, typeof i5.IconModule, typeof i6.PopoverModule, typeof i7.MenuModule, typeof i8.LinkModule, typeof i9.PortalModule, typeof i10.PipeModule, typeof i11.ContentDensityModule, typeof i12.OverflowLayoutModule, typeof i13.ButtonModule, typeof i14.I18nModule], [typeof i1.BreadcrumbComponent, typeof i2.BreadcrumbItemComponent, typeof i8.LinkModule, typeof i3.DeprecatedBreadcrumbsCompactDirective, typeof i11.ContentDensityModule]>;
18
19
  static ɵinj: i0.ɵɵInjectorDeclaration<BreadcrumbModule>;
19
20
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
3
3
  import { ANY_LANGUAGE_LETTERS_REGEX, applyCssClass, getRandomColorAccent } from '@fundamental-ngx/cdk/utils';
4
4
  import { FD_AVATAR_COMPONENT } from './tokens';
5
5
  import * as i0 from "@angular/core";
@@ -51,7 +51,13 @@ export class AvatarComponent {
51
51
  get backupImage() {
52
52
  return this._backupImage;
53
53
  }
54
- /** @hidden */
54
+ /**
55
+ * @hidden
56
+ */
57
+ set bgImage(image) {
58
+ this._bgImage = image;
59
+ this._renderer.setStyle(this._elementRef.nativeElement, 'background-image', image);
60
+ }
55
61
  get bgImage() {
56
62
  return this._bgImage;
57
63
  }
@@ -75,9 +81,10 @@ export class AvatarComponent {
75
81
  return !this.abbreviate && !this._image && !this.glyph;
76
82
  }
77
83
  /** @hidden */
78
- constructor(_elementRef, _cdr, hostTabindex) {
84
+ constructor(_elementRef, _cdr, _renderer, hostTabindex) {
79
85
  this._elementRef = _elementRef;
80
86
  this._cdr = _cdr;
87
+ this._renderer = _renderer;
81
88
  this.hostTabindex = hostTabindex;
82
89
  /** Id of the Avatar. */
83
90
  this.id = `fd-avatar-${avatarUniqueId++}`;
@@ -204,13 +211,13 @@ export class AvatarComponent {
204
211
  this._verifyImageUrl(value, () => { }, this._onErrorCallback);
205
212
  }
206
213
  else {
207
- this._bgImage = null;
214
+ this.bgImage = null;
208
215
  }
209
216
  }
210
217
  /** @hidden */
211
218
  _verifyImageUrl(srcValue, onLoadCallback, onErrorCallback) {
212
219
  // Don't load the same image all the time check happens
213
- if (srcValue === this._bgImage) {
220
+ if (srcValue === this.bgImage) {
214
221
  return;
215
222
  }
216
223
  const img = new Image();
@@ -221,13 +228,12 @@ export class AvatarComponent {
221
228
  }
222
229
  /** @hidden */
223
230
  _assignBgImage(srcValue) {
224
- this._bgImage = srcValue ? `url(${srcValue})` : null;
231
+ this.bgImage = srcValue ? `url(${srcValue})` : null;
225
232
  }
226
233
  /** @hidden */
227
234
  _onErrorCallback() {
228
235
  if (!this._alterIcon) {
229
236
  this._showDefaultIcon();
230
- this._cdr.detectChanges();
231
237
  return;
232
238
  }
233
239
  const options = this._alterIcon.split('|');
@@ -255,10 +261,8 @@ export class AvatarComponent {
255
261
  // If not, set default user icon
256
262
  this._verifyImageUrl(this._backupImage, () => {
257
263
  this._assignBgImage(this._backupImage);
258
- this._cdr.detectChanges();
259
264
  }, () => {
260
265
  this._showDefaultIcon();
261
- this._cdr.detectChanges();
262
266
  });
263
267
  break;
264
268
  }
@@ -270,17 +274,17 @@ export class AvatarComponent {
270
274
  }
271
275
  this._showDefaultIcon();
272
276
  }
273
- this._cdr.detectChanges();
274
277
  }
275
278
  /** @hidden */
276
279
  _showDefaultIcon() {
277
280
  this.abbreviate = null;
278
281
  this._image = null;
279
282
  this.glyph = null;
283
+ this._cdr.markForCheck();
280
284
  }
281
285
  }
282
- AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
283
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "style.background-image": "this.bgImage", "attr.role": "this.role" } }, providers: [
286
+ AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
287
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "attr.role": "this.role" } }, providers: [
284
288
  {
285
289
  provide: FD_AVATAR_COMPONENT,
286
290
  useExisting: AvatarComponent
@@ -302,7 +306,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
302
306
  ], host: {
303
307
  '[attr.tabindex]': '_tabindex'
304
308
  }, template: "<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-avatar{-webkit-box-sizing:border-box;background-color:var(--fdAvatar_BackgroundColor);background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;border:var(--fdAvatar_Border);border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_ContrastTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-shadow:var(--fdAvatar_Text_Shadow);vertical-align:middle}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline:none}.fd-avatar.is-focus:after,.fd-avatar:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar[tabindex=\"0\"]{cursor:pointer}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{background:inherit;background-color:var(--sapButton_Emphasized_Background);border:.0625rem solid var(--sapButton_Emphasized_BorderColor);border-radius:inherit;border-radius:50%;color:inherit;color:var(--sapButton_Emphasized_TextColor);position:absolute}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon],.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;font-size:inherit;justify-content:center;line-height:1}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{align-content:center;background:inherit;border-radius:inherit;color:inherit}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle.is-focus,.fd-avatar--circle:focus{outline:none}.fd-avatar--circle.is-focus:after,.fd-avatar--circle:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius_Circle);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{left:0;right:auto}.fd-avatar--transparent{background-color:var(--fdAvatar_Transparent_BackgroundColor);color:var(--sapContent_IconColor)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:var(--sapContent_ImagePlaceholderBackground)}.fd-avatar--tile{background-color:var(--fdAvatar_Tile_BackgroundColor)}.fd-avatar--border{border:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-avatar--accent-color-1{background-color:var(--fdAvatar_Accent_Color_1);border:var(--fdAvatar_Accent_Color_1_Border);color:var(--fdAvatar_Accent_Color_1_Text)}.fd-avatar--accent-color-1.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-2{background-color:var(--fdAvatar_Accent_Color_2);border:var(--fdAvatar_Accent_Color_2_Border);color:var(--fdAvatar_Accent_Color_2_Text)}.fd-avatar--accent-color-2.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-3{background-color:var(--fdAvatar_Accent_Color_3);border:var(--fdAvatar_Accent_Color_3_Border);color:var(--fdAvatar_Accent_Color_3_Text)}.fd-avatar--accent-color-3.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-4{background-color:var(--fdAvatar_Accent_Color_4);border:var(--fdAvatar_Accent_Color_4_Border);color:var(--fdAvatar_Accent_Color_4_Text)}.fd-avatar--accent-color-4.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-5{background-color:var(--fdAvatar_Accent_Color_5);border:var(--fdAvatar_Accent_Color_5_Border);color:var(--fdAvatar_Accent_Color_5_Text)}.fd-avatar--accent-color-5.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-6{background-color:var(--fdAvatar_Accent_Color_6);border:var(--fdAvatar_Accent_Color_6_Border);color:var(--fdAvatar_Accent_Color_6_Text)}.fd-avatar--accent-color-6.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-7{background-color:var(--fdAvatar_Accent_Color_7);border:var(--fdAvatar_Accent_Color_7_Border);color:var(--fdAvatar_Accent_Color_7_Text)}.fd-avatar--accent-color-7.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-8{background-color:var(--fdAvatar_Accent_Color_8);border:var(--fdAvatar_Accent_Color_8_Border);color:var(--fdAvatar_Accent_Color_8_Text)}.fd-avatar--accent-color-8.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-9{background-color:var(--fdAvatar_Accent_Color_9);border:var(--fdAvatar_Accent_Color_9_Border);color:var(--fdAvatar_Accent_Color_9_Text)}.fd-avatar--accent-color-9.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-10{background-color:var(--fdAvatar_Accent_Color_10);border:var(--fdAvatar_Accent_Color_10_Border);color:var(--fdAvatar_Accent_Color_10_Text)}.fd-avatar--accent-color-10.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--xs{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1rem;font-stretch:condensed;height:2rem;justify-content:center;margin:0;max-height:2rem;max-width:2rem;min-height:2rem;min-width:2rem;padding:0;width:2rem}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--s{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.125rem;font-stretch:condensed;height:3rem;justify-content:center;margin:0;max-height:3rem;max-width:3rem;min-height:3rem;min-width:3rem;padding:0;width:3rem}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--m{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.5rem;font-stretch:normal;height:4rem;justify-content:center;margin:0;max-height:4rem;max-width:4rem;min-height:4rem;min-width:4rem;padding:0;width:4rem}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--l{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:2.25rem;font-stretch:normal;height:5rem;justify-content:center;margin:0;max-height:5rem;max-width:5rem;min-height:5rem;min-width:5rem;padding:0;width:5rem}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;height:1.25rem;min-width:1.25rem;width:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.1875rem;right:auto}.fd-avatar--xl{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:3rem;font-stretch:normal;height:7rem;justify-content:center;margin:0;max-height:7rem;max-width:7rem;min-height:7rem;min-width:7rem;padding:0;width:7rem}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;height:1.75rem;min-width:1.75rem;width:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.25rem;right:auto}\n"] }]
305
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
309
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
306
310
  type: Attribute,
307
311
  args: ['tabindex']
308
312
  }] }]; }, propDecorators: { class: [{
@@ -363,9 +367,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
363
367
  type: Output
364
368
  }], zoomGlyphClicked: [{
365
369
  type: Output
366
- }], bgImage: [{
367
- type: HostBinding,
368
- args: ['style.background-image']
369
370
  }], role: [{
370
371
  type: HostBinding,
371
372
  args: ['attr.role']
@@ -382,4 +383,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
382
383
  type: HostListener,
383
384
  args: ['keydown.space', ['$event']]
384
385
  }] } });
385
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCwwQkFBMEIsRUFHMUIsYUFBYSxFQUNiLG9CQUFvQixFQUV2QixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRS9DLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2QixNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsWUFBWSxFQUFFLGNBQWM7Q0FDL0IsQ0FBQztBQWtCRixNQUFNLE9BQU8sZUFBZTtJQXFCeEIsK0JBQStCO0lBQy9CLElBQ0ksS0FBSyxDQUFDLEtBQXVCO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQXNDRDs7O1NBR0s7SUFDTCw0QkFBNEI7SUFDNUIsSUFDSSxlQUFlLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtB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c0JBQWQsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBT0YsS0FBSztzQkFEUixLQUFLO2dCQWFGLFNBQVM7c0JBRFosS0FBSztnQkFZRixXQUFXO3NCQURkLEtBQUs7Z0JBU0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFHRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBSUgsT0FBTztzQkFEVixXQUFXO3VCQUFDLHdCQUF3QjtnQkFPakMsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLFdBQVc7Z0JBT3BCLE9BQU87c0JBRFYsU0FBUzt1QkFBQyxTQUFTO2dCQThEcEIsc0JBQXNCLE1BeUJ0QixRQUFRO3NCQUhQLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN4QyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfQVZBVEFSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0FWQVRBUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQXZhdGFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkNoYW5nZXMge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYWx0JylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBjaXJjbGUgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjaXJjbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgcGxhY2Vob2xkZXIgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgZm9jdXNhYmxlICYgY2xpY2FibGUgKi9cbiAgICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAgKiAqL1xuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHVybC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrZ3JvdW5kSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQmFja3VwIG9wdGlvbnMgdG8gdXNlIHdoZW4gaW1hZ2UgaGFzbid0IGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseS5cbiAgICAgKiBPcHRpb25zIHNlcGFyYXRlZCB3aXRoIFwifFwiIHN5bWJvbC5cbiAgICAgKiBQb3NzaWJsZSBvcHRpb25zOiBjb250ZW50LCBhbHQsIGJhY2t1cCwgZGVmYXVsdC1pY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYXZhdGFyIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgY2xpY2thYmxlIGlucHV0IHByb3BlcnR5IHNldCB0byB0cnVlLiAqL1xuICAgIEBPdXRwdXQoKSBhdmF0YXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWltYWdlJylcbiAgICBnZXQgYmdJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JnSW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgZ2V0IHJvbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuem9vbUdseXBoID8gJ2J1dHRvbicgOiAnaW1nJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICAgIHNldCBjb250ZW50KHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFiYnJldmlhdGU6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbnRlbnQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYmFja3VwSW1hZ2U6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF90YWJpbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdFRhYmluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvc3RUYWJpbmRleDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jbGlja2FibGUgPyAwIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogSWYgYSBkZWZhdWx0IHBsYWNlaG9sZGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cbiAgICBnZXQgc2hvd0RlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5hYmJyZXZpYXRlICYmICF0aGlzLl9pbWFnZSAmJiAhdGhpcy5nbHlwaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgaG9zdFRhYmluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbUdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIF9vbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGlja2FibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmF2YXRhckNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICBpZiAodGhpcy56b29tR2x5cGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvb21HbHlwaENsaWNrZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB6b29tQ2xpY2tlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIHRoaXMuem9vbUdseXBoQ2xpY2tlZC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGFuIGFiYnJldmlhdGUgZnJvbSB0aGUgbGFiZWwgb3IgcmV0dXJuIG51bGwgaWYgbm90IGZpdCByZXF1aXJlbWVudHMgKi9cbiAgICBwcml2YXRlIF9nZXRBYmJyZXZpYXRlKGxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghbGFiZWwgfHwgdGhpcy5faW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGxhYmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgdGhlIGFiYnJldmlhdGlvbiBzdHJpbmcgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbDogTnVsbGFibGU8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXhMZXR0ZXJzQ291bnQgPSAzO1xuICAgICAgICBjb25zdCBmaXJzdExldHRlcnMgPSBsYWJlbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkpO1xuICAgICAgICBjb25zdCBhYmJyZXZpYXRlID0gZmlyc3RMZXR0ZXJzLmpvaW4oJycpO1xuXG4gICAgICAgIGlmIChmaXJzdExldHRlcnMubGVuZ3RoID4gbWF4TGV0dGVyc0NvdW50IHx8ICFhYmJyZXZpYXRlLm1hdGNoKEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWJicmV2aWF0ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybCh2YWx1ZSwgKCk6IHZvaWQgPT4ge30sIHRoaXMuX29uRXJyb3JDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9iZ0ltYWdlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmVyaWZ5SW1hZ2VVcmwoc3JjVmFsdWU6IHN0cmluZywgb25Mb2FkQ2FsbGJhY2s6ICgpID0+IHZvaWQsIG9uRXJyb3JDYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICAvLyBEb24ndCBsb2FkIHRoZSBzYW1lIGltYWdlIGFsbCB0aGUgdGltZSBjaGVjayBoYXBwZW5zXG4gICAgICAgIGlmIChzcmNWYWx1ZSA9PT0gdGhpcy5fYmdJbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWcub25sb2FkID0gb25Mb2FkQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLm9uZXJyb3IgPSBvbkVycm9yQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLnNyYyA9IHNyY1ZhbHVlO1xuICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHNyY1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWU6IE51bGxhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYmdJbWFnZSA9IHNyY1ZhbHVlID8gYHVybCgke3NyY1ZhbHVlfSlgIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRXJyb3JDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hbHRlckljb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9hbHRlckljb24uc3BsaXQoJ3wnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2ldO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQ09OVEVOVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRWYWx1ZSA9IHRoaXMuX2NvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihjb250ZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkFMVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnYWx0Jyk7XG4gICAgICAgICAgICAgICAgaWYgKGFsdFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGFsdFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5CQUNLVVApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fYmFja3VwSW1hZ2UgJiYgdGhpcy5fYmFja3VwSW1hZ2UgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIGJhY2t1cEltYWdlIGNhbiBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIG5vdCwgc2V0IGRlZmF1bHQgdXNlciBpY29uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZlcmlmeUltYWdlVXJsKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYmFja3VwSW1hZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXNzaWduQmdJbWFnZSh0aGlzLl9iYWNrdXBJbWFnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5ERUZBVUxUX0lDT04pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvd0RlZmF1bHRJY29uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLl9pbWFnZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZ2x5cGggPSBudWxsO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJhYmJyZXZpYXRlXCI+e3sgYWJicmV2aWF0ZSB9fTwvbmctY29udGFpbmVyPlxuXG48aVxuICAgICpuZ0lmPVwiem9vbUdseXBoXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBjbGFzcz1cImZkLWF2YXRhcl9fem9vbS1pY29uXCJcbiAgICBbY2xhc3NdPVwiem9vbUdseXBoID8gJ3NhcC1pY29uLS0nICsgem9vbUdseXBoIDogJydcIlxuICAgIChtb3VzZWRvd24pPVwiem9vbUNsaWNrZWQoJGV2ZW50KVwiXG4+XG48L2k+XG5cbjxpXG4gICAgKm5nSWY9XCJnbHlwaCB8fCBzaG93RGVmYXVsdFwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX2ljb25cIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIFtjbGFzc109XCJnbHlwaCA/ICdzYXAtaWNvbi0tJyArIGdseXBoIDogJ3NhcC1pY29uLS1wZXJzb24tcGxhY2Vob2xkZXInXCJcbj5cbjwvaT5cblxuPGRpdiAjY29udGVudCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBRzFCLGFBQWEsRUFDYixvQkFBb0IsRUFFdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUvQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFrQkYsTUFBTSxPQUFPLGVBQWU7SUFxQnhCLCtCQUErQjtJQUMvQixJQUNJLEtBQUssQ0FBQyxLQUF1QjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFzQ0Q7OztTQUdLO0lBQ0wsNEJBQTRCO0lBQzVCLElBQ0ksZUFBZSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFNB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O3NCQUFuQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQWlCSCxJQUFJO3NCQURQLFdBQVc7dUJBQUMsV0FBVztnQkFPcEIsT0FBTztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBK0RwQixzQkFBc0IsTUF5QnRCLFFBQVE7c0JBSFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfQVZBVEFSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0FWQVRBUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQXZhdGFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkNoYW5nZXMge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYWx0JylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBjaXJjbGUgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjaXJjbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgcGxhY2Vob2xkZXIgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgZm9jdXNhYmxlICYgY2xpY2FibGUgKi9cbiAgICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAgKiAqL1xuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHVybC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrZ3JvdW5kSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQmFja3VwIG9wdGlvbnMgdG8gdXNlIHdoZW4gaW1hZ2UgaGFzbid0IGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseS5cbiAgICAgKiBPcHRpb25zIHNlcGFyYXRlZCB3aXRoIFwifFwiIHN5bWJvbC5cbiAgICAgKiBQb3NzaWJsZSBvcHRpb25zOiBjb250ZW50LCBhbHQsIGJhY2t1cCwgZGVmYXVsdC1pY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYXZhdGFyIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgY2xpY2thYmxlIGlucHV0IHByb3BlcnR5IHNldCB0byB0cnVlLiAqL1xuICAgIEBPdXRwdXQoKSBhdmF0YXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZXQgYmdJbWFnZShpbWFnZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9iZ0ltYWdlID0gaW1hZ2U7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZC1pbWFnZScsIGltYWdlKTtcbiAgICB9XG5cbiAgICBnZXQgYmdJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JnSW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgZ2V0IHJvbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuem9vbUdseXBoID8gJ2J1dHRvbicgOiAnaW1nJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICAgIHNldCBjb250ZW50KHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFiYnJldmlhdGU6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbnRlbnQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYmFja3VwSW1hZ2U6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF90YWJpbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdFRhYmluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvc3RUYWJpbmRleDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jbGlja2FibGUgPyAwIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogSWYgYSBkZWZhdWx0IHBsYWNlaG9sZGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cbiAgICBnZXQgc2hvd0RlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5hYmJyZXZpYXRlICYmICF0aGlzLl9pbWFnZSAmJiAhdGhpcy5nbHlwaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgaG9zdFRhYmluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbUdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIF9vbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGlja2FibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmF2YXRhckNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICBpZiAodGhpcy56b29tR2x5cGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvb21HbHlwaENsaWNrZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB6b29tQ2xpY2tlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIHRoaXMuem9vbUdseXBoQ2xpY2tlZC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGFuIGFiYnJldmlhdGUgZnJvbSB0aGUgbGFiZWwgb3IgcmV0dXJuIG51bGwgaWYgbm90IGZpdCByZXF1aXJlbWVudHMgKi9cbiAgICBwcml2YXRlIF9nZXRBYmJyZXZpYXRlKGxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghbGFiZWwgfHwgdGhpcy5faW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGxhYmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgdGhlIGFiYnJldmlhdGlvbiBzdHJpbmcgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbDogTnVsbGFibGU8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXhMZXR0ZXJzQ291bnQgPSAzO1xuICAgICAgICBjb25zdCBmaXJzdExldHRlcnMgPSBsYWJlbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkpO1xuICAgICAgICBjb25zdCBhYmJyZXZpYXRlID0gZmlyc3RMZXR0ZXJzLmpvaW4oJycpO1xuXG4gICAgICAgIGlmIChmaXJzdExldHRlcnMubGVuZ3RoID4gbWF4TGV0dGVyc0NvdW50IHx8ICFhYmJyZXZpYXRlLm1hdGNoKEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWJicmV2aWF0ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybCh2YWx1ZSwgKCk6IHZvaWQgPT4ge30sIHRoaXMuX29uRXJyb3JDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJnSW1hZ2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92ZXJpZnlJbWFnZVVybChzcmNWYWx1ZTogc3RyaW5nLCBvbkxvYWRDYWxsYmFjazogKCkgPT4gdm9pZCwgb25FcnJvckNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIC8vIERvbid0IGxvYWQgdGhlIHNhbWUgaW1hZ2UgYWxsIHRoZSB0aW1lIGNoZWNrIGhhcHBlbnNcbiAgICAgICAgaWYgKHNyY1ZhbHVlID09PSB0aGlzLmJnSW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgaW1nLm9ubG9hZCA9IG9uTG9hZENhbGxiYWNrLmJpbmQodGhpcyk7XG4gICAgICAgIGltZy5vbmVycm9yID0gb25FcnJvckNhbGxiYWNrLmJpbmQodGhpcyk7XG4gICAgICAgIGltZy5zcmMgPSBzcmNWYWx1ZTtcbiAgICAgICAgdGhpcy5fYXNzaWduQmdJbWFnZShzcmNWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hc3NpZ25CZ0ltYWdlKHNyY1ZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmdJbWFnZSA9IHNyY1ZhbHVlID8gYHVybCgke3NyY1ZhbHVlfSlgIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRXJyb3JDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hbHRlckljb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2FsdGVySWNvbi5zcGxpdCgnfCcpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNbaV07XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5DT05URU5UKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudFZhbHVlID0gdGhpcy5fY29udGVudD8ubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICAgICAgICAgICAgICBpZiAoY29udGVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGNvbnRlbnRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQUxUKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWx0VmFsdWUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhbHQnKTtcbiAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24oYWx0VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkJBQ0tVUCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrdXBJbWFnZSAmJiB0aGlzLl9iYWNrdXBJbWFnZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgbm90LCBzZXQgZGVmYXVsdCB1c2VyIGljb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHRoaXMuX2JhY2t1cEltYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWJicmV2aWF0ZVwiPnt7IGFiYnJldmlhdGUgfX08L25nLWNvbnRhaW5lcj5cblxuPGlcbiAgICAqbmdJZj1cInpvb21HbHlwaFwiXG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX3pvb20taWNvblwiXG4gICAgW2NsYXNzXT1cInpvb21HbHlwaCA/ICdzYXAtaWNvbi0tJyArIHpvb21HbHlwaCA6ICcnXCJcbiAgICAobW91c2Vkb3duKT1cInpvb21DbGlja2VkKCRldmVudClcIlxuPlxuPC9pPlxuXG48aVxuICAgICpuZ0lmPVwiZ2x5cGggfHwgc2hvd0RlZmF1bHRcIlxuICAgIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBbY2xhc3NdPVwiZ2x5cGggPyAnc2FwLWljb24tLScgKyBnbHlwaCA6ICdzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyJ1wiXG4+XG48L2k+XG5cbjxkaXYgI2NvbnRlbnQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -12,6 +12,7 @@ import * as i4 from "@fundamental-ngx/core/menu";
12
12
  import * as i5 from "@fundamental-ngx/core/link";
13
13
  import * as i6 from "@angular/cdk/portal";
14
14
  import * as i7 from "@fundamental-ngx/core/overflow-layout";
15
+ import * as i8 from "@fundamental-ngx/i18n";
15
16
  /**
16
17
  * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.
17
18
  *
@@ -123,7 +124,7 @@ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
123
124
  provide: FD_BREADCRUMB_COMPONENT,
124
125
  useExisting: BreadcrumbComponent
125
126
  }
126
- ], queries: [{ propertyName: "_contentItems", predicate: FD_BREADCRUMB_ITEM_COMPONENT }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon glyph=\"overflow\"></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "tabbableScrollbar", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i4.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: i7.OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: i7.OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: i7.OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
127
+ ], queries: [{ propertyName: "_contentItems", predicate: FD_BREADCRUMB_ITEM_COMPONENT }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n [ariaLabel]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "tabbableScrollbar", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i4.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: i7.OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: i7.OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: i7.OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
127
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbComponent, decorators: [{
128
129
  type: Component,
129
130
  args: [{ selector: 'fd-breadcrumb', host: {
@@ -135,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
135
136
  provide: FD_BREADCRUMB_COMPONENT,
136
137
  useExisting: BreadcrumbComponent
137
138
  }
138
- ], template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon glyph=\"overflow\"></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"] }]
139
+ ], template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n [ariaLabel]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"] }]
139
140
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DestroyedService }, { type: i1.RtlService, decorators: [{
140
141
  type: Optional
141
142
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { containerElement: [{
@@ -158,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
158
159
  type: ViewChild,
159
160
  args: [OverflowLayoutComponent]
160
161
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUVULFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBRWpGOzs7Ozs7Ozs7O0dBVUc7QUFtQkgsTUFBTSxPQUFPLG1CQUFtQjtJQUM1Qjs7Ozs7O09BTUc7SUFDSCxJQUNJLGdCQUFnQixDQUFDLENBQWM7UUFDL0IsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQ1IsMEhBQTBILENBQzdILENBQUM7U0FDTDtJQUNMLENBQUM7SUEyQ0QsY0FBYztJQUNkLFlBQ1csVUFBbUMsRUFDbEMsV0FBNkIsRUFDakIsV0FBOEIsRUFDMUMsSUFBdUI7UUFIeEIsZUFBVSxH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QUF1QjtZQUNoQyxXQUFXLEVBQUUsbUJBQW1CO1NBQ25DO0tBQ0osd0RBd0NnQiw0QkFBNEIsNkVBSWxDLGFBQWEsa0ZBSWIsdUJBQXVCLGdEQ3BHdEMseWtIQTBFQTsyRkRwQmEsbUJBQW1CO2tCQWxCL0IsU0FBUzsrQkFDSSxlQUFlLFFBQ25CO3dCQUNGLEtBQUssRUFBRSxlQUFlO3dCQUN0QixJQUFJLEVBQUUsTUFBTTtxQkFDZixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLGdCQUFnQjt3QkFDaEI7NEJBQ0ksT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsV0FBVyxxQkFBcUI7eUJBQ25DO3FCQUNKOzswQkFnRUksUUFBUTs0RUFyRFQsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVdOLE9BQU87c0JBRE4sS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixNQUFNO2dCQU9QLGdCQUFnQjtzQkFEZixNQUFNO2dCQUtVLGFBQWE7c0JBRDdCLGVBQWU7dUJBQUMsNEJBQTRCO2dCQUs1QixjQUFjO3NCQUQ5QixTQUFTO3VCQUFDLGFBQWE7Z0JBS1AsZUFBZTtzQkFEL0IsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBpc0Rldk1vZGUsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvb3ZlcmZsb3ctbGF5b3V0JztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRkRfQlJFQURDUlVNQl9DT01QT05FTlQsIEZEX0JSRUFEQ1JVTUJfSVRFTV9DT01QT05FTlQgfSBmcm9tICcuL3Rva2Vucyc7XG5cbi8qKlxuICogQnJlYWRjcnVtYiBwYXJlbnQgd3JhcHBlciBkaXJlY3RpdmUuIE11c3QgaGF2ZSBicmVhZGNydW1iIGl0ZW0gY2hpbGQgZGlyZWN0aXZlcy5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtYnJlYWRjcnVtYj5cbiAqICAgICA8ZmQtYnJlYWRjcnVtYi1pdGVtPlxuICogICAgICAgICA8YSBmZC1saW5rIFtyb3V0ZXJMaW5rXT1cIicjJ1wiPkJyZWFkY3J1bWIgTGluazwvYT5cbiAqICAgICA8L2ZkLWJyZWFkY3J1bWItaXRlbT5cbiAqIDwvZmQtYnJlYWRjcnVtYj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWJyZWFkY3J1bWInLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1icmVhZGNydW1iJyxcbiAgICAgICAgcm9sZTogJ3RyZWUnXG4gICAgfSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIERlc3Ryb3llZFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0JSRUFEQ1JVTUJfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEJyZWFkY3J1bWJDb21wb25lbnRcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBCcmVhZGNydW1icyBjb21wb25lbnQgbm93IHVzZXMgbW9yZSBhZHZhbmNlZCBjYWxjdWxhdGlvbiBtZWNoYW5pc20gd2l0aG91dCB0aGUgbmVlZCBvZiBzcGVjaWZ5aW5nIHRoZSBjb250YWluZXIgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIFRoZSBlbGVtZW50IHRvIGFjdCBhcyB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuIFdoZW4gcHJvdmlkZWQsIHRoZSBicmVhZGNydW1iJ3MgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGJlaGF2aW9yXG4gICAgICogcGVyZm9ybXMgYmV0dGVyLiBXaGVuIG5vdCBwcm92aWRlZCwgdGhlIGltbWVkaWF0ZSBwYXJlbnQgZWxlbWVudCdzIHdpZHRoIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb250YWluZXJFbGVtZW50KF86IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICdCcmVhZGNydW1icyBjb21wb25lbnQgbm93IHVzZXMgbW9yZSBhZHZhbmNlZCBjYWxjdWxhdGlvbiBtZWNoYW5pc20gd2l0aG91dCB0aGUgbmVlZCBvZiBzcGVjaWZ5aW5nIHRoZSBjb250YWluZXIgZWxlbWVudC4nXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwZW5kIGl0ZW1zIHRvIHRoZSBvdmVyZmxvdyBkcm9wZG93biBpbiByZXZlcnNlIG9yZGVyLiBEZWZhdWx0IGlzIHRydWUuICovXG4gICAgQElucHV0KClcbiAgICByZXZlcnNlID0gZmFsc2U7XG5cbiAgICAvKiogVGFiaW5kZXggb2YgdGhlIGJyZWFkY3J1bWIuICovXG4gICAgQElucHV0KClcbiAgICB0YWJJbmRleCA9ICcwJztcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB2aXNpYmxlIGl0ZW1zIGNvdW50IGlzIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgdmlzaWJsZUl0ZW1zQ291bnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBoaWRkZW4gaXRlbXMgY291bnQgaXMgY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBoaWRkZW5JdGVtc0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRkRfQlJFQURDUlVNQl9JVEVNX0NPTVBPTkVOVClcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50SXRlbXM6IFF1ZXJ5TGlzdDxCcmVhZGNydW1iSXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoTWVudUNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51Q29tcG9uZW50OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKE92ZXJmbG93TGF5b3V0Q29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX292ZXJmbG93TGF5b3V0OiBPdmVyZmxvd0xheW91dENvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBicmVhZGNydW1iIGl0ZW1zLlxuICAgICAqL1xuICAgIF9pdGVtczogQnJlYWRjcnVtYkl0ZW1Db21wb25lbnRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcGxhY2VtZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGxhY2VtZW50PignYm90dG9tLXN0YXJ0Jyk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgX29uRGVzdHJveSQ6IERlc3Ryb3llZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UgfCBudWxsLFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcnRsU2VydmljZT8ucnRsXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5fcGxhY2VtZW50JC5uZXh0KHZhbHVlID8gJ2JvdHRvbS1lbmQnIDogJ2JvdHRvbS1zdGFydCcpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vdmVyZmxvd0xheW91dC50cmlnZ2VyUmVjYWxjdWxhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdlIGNhdGNoIGludGVyYWN0aW9ucyB3aXRoIGl0ZW0sIEVudGVyLCBTcGFjZSwgTW91c2UgY2xpY2sgYW5kIFRvdWNoIGNsaWNrLFxuICAgICAqIGlmIG9yaWdpbmFsIGVsZW1lbnQgaGFkIHJvdXRlciBsaW5rIHdlIGFyZSBwcm94eWluZyBjbGljayB0byB0aGF0IGVsZW1lbnRcbiAgICAgKiAqL1xuICAgIGl0ZW1DbGlja2VkKGJyZWFkY3J1bWJJdGVtOiBCcmVhZGNydW1iSXRlbUNvbXBvbmVudCwgJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGJyZWFkY3J1bWJJdGVtLl9uZWVkc0NsaWNrUHJveHkpIHtcbiAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgYnJlYWRjcnVtYkl0ZW0uYnJlYWRjcnVtYkxpbmsuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRJdGVtcygpO1xuXG4gICAgICAgIHRoaXMuX2NvbnRlbnRJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZXRJdGVtcygpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9rZXlEb3duSGFuZGxlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51Q29tcG9uZW50LnRvZ2dsZSgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uSGlkZGVuQ2hhbmdlKGlzSGlkZGVuOiBib29sZWFuLCBicmVhZGNydW1iOiBCcmVhZGNydW1iSXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzSGlkZGVuKSB7XG4gICAgICAgICAgICBicmVhZGNydW1iLl9kZXRhY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJyZWFkY3J1bWIuX2F0dGFjaCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25WaXNpYmxlSXRlbXNDb3VudENoYW5nZSh2aXNpYmxlSXRlbXNDb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW1zQ291bnQuZW1pdCh2aXNpYmxlSXRlbXNDb3VudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25IaWRkZW5JdGVtc0NvdW50Q2hhbmdlKGhpZGRlbkl0ZW1zQ291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zQ291bnQuZW1pdChoaWRkZW5JdGVtc0NvdW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEl0ZW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb250ZW50SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5zZXRQb3J0YWwoKSk7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gdGhpcy5fY29udGVudEl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8ZmQtb3ZlcmZsb3ctbGF5b3V0XG4gICAgW3JldmVyc2VIaWRkZW5JdGVtc109XCIhcmV2ZXJzZVwiXG4gICAgc2hvd01vcmVQb3NpdGlvbj1cImxlZnRcIlxuICAgIFtlbmFibGVLZXlib2FyZE5hdmlnYXRpb25dPVwiZmFsc2VcIlxuICAgICh2aXNpYmxlSXRlbXNDb3VudCk9XCJfb25WaXNpYmxlSXRlbXNDb3VudENoYW5nZSgkZXZlbnQpXCJcbiAgICAoaGlkZGVuSXRlbXNDb3VudCk9XCJfb25IaWRkZW5JdGVtc0NvdW50Q2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJyZWFkY3J1bWIgb2YgX2l0ZW1zXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpmZE92ZXJmbG93SXRlbVJlZj1cImJyZWFkY3J1bWI7IGxldCBoaWRkZW5cIlxuICAgICAgICAgICAgZmRPdmVyZmxvd0xheW91dEl0ZW1cbiAgICAgICAgICAgIChoaWRkZW5DaGFuZ2UpPVwiX29uSGlkZGVuQ2hhbmdlKCRldmVudCwgYnJlYWRjcnVtYilcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJicmVhZGNydW1iLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKmZkT3ZlcmZsb3dFeHBhbmQ9XCJsZXQgYnJlYWRjcnVtYnM7IGl0ZW1zOiBfaXRlbXNcIj5cbiAgICAgICAgPGZkLW1lbnUgI21lbnUgW2Nsb3NlT25Fc2NhcGVLZXldPVwidHJ1ZVwiIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIiBbcGxhY2VtZW50XT1cIl9wbGFjZW1lbnQkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJyZWFkY3J1bWJJdGVtIG9mIGJyZWFkY3J1bWJzXCI+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIGZkLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhZGNydW1iSXRlbS5pdGVtLmJyZWFkY3J1bWJMaW5rID8gYnJlYWRjcnVtYkl0ZW0uaXRlbS5icmVhZGNydW1iTGluay5kaXNhYmxlZCA6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtbWVudS1pbnRlcmFjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGlja2VkKGJyZWFkY3J1bWJJdGVtLml0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiaXRlbUNsaWNrZWQoYnJlYWRjcnVtYkl0ZW0uaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJpdGVtQ2xpY2tlZChicmVhZGNydW1iSXRlbS5pdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJyZWFkY3J1bWJJdGVtPy5pdGVtLmJyZWFkY3J1bWJMaW5rOyBlbHNlIHBvcnRhbENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYnJlYWRjcnVtYkl0ZW0uaXRlbS5icmVhZGNydW1iTGluay5fcHJlZml4SWNvbk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiYmVmb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJicmVhZGNydW1iSXRlbS5pdGVtLmJyZWFkY3J1bWJMaW5rLl9wcmVmaXhJY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImJyZWFkY3J1bWJJdGVtLml0ZW0ubGlua0NvbnRlbnRQb3J0YWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJyZWFkY3J1bWJJdGVtLml0ZW0uYnJlYWRjcnVtYkxpbmsuX3Bvc3RmaXhJY29uTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cImJyZWFkY3J1bWJJdGVtLml0ZW0uYnJlYWRjcnVtYkxpbmsuX3Bvc3RmaXhJY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcG9ydGFsQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2RrUG9ydGFsT3V0bGV0XT1cImJyZWFkY3J1bWJJdGVtLml0ZW0uYnJlYWRjcnVtYkl0ZW1Qb3J0YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1tZW51PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWJyZWFkY3J1bWJfX2l0ZW1cIiAqbmdJZj1cImJyZWFkY3J1bWJzLmxlbmd0aCA+IDBcIiBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGZkLWxpbmtcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtYnJlYWRjcnVtYl9fY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJfa2V5RG93bkhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJfa2V5RG93bkhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cIm92ZXJmbG93XCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2ZkLW92ZXJmbG93LWxheW91dD5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUVULFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7OztBQUVqRjs7Ozs7Ozs7OztHQVVHO0FBbUJILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUI7Ozs7OztPQU1HO0lBQ0gsSUFDSSxnQkFBZ0IsQ0FBQyxDQUFjO1FBQy9CLElBQUksU0FBUyxFQUFFLEVBQUU7WUFDYixPQUFPLENBQUMsSUFBSSxDQUNSLDBIQUEwSCxDQUM3SCxDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBMkNELGNBQWM7SUFDZCxZQUNXLFVBQW1DLEVBQ2xDLFdBQTZCLEVBQ2pCLFdBQThCLEVBQzFDLElBQXVCO1FBSHhCLGVBQVUs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QkFBdUI7WUFDaEMsV0FBVyxFQUFFLG1CQUFtQjtTQUNuQztLQUNKLHdEQXdDZ0IsNEJBQTRCLDZFQUlsQyxhQUFhLGtGQUliLHVCQUF1QixnRENwR3RDLDI1SEFnRkE7MkZEMUJhLG1CQUFtQjtrQkFsQi9CLFNBQVM7K0JBQ0ksZUFBZSxRQUNuQjt3QkFDRixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsSUFBSSxFQUFFLE1BQU07cUJBQ2YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxnQkFBZ0I7d0JBQ2hCOzRCQUNJLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFdBQVcscUJBQXFCO3lCQUNuQztxQkFDSjs7MEJBZ0VJLFFBQVE7NEVBckRULGdCQUFnQjtzQkFEbkIsS0FBSztnQkFXTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQU9OLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFPUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFLVSxhQUFhO3NCQUQ3QixlQUFlO3VCQUFDLDRCQUE0QjtnQkFLNUIsY0FBYztzQkFEOUIsU0FBUzt1QkFBQyxhQUFhO2dCQUtQLGVBQWU7c0JBRC9CLFNBQVM7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgaXNEZXZNb2RlLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL292ZXJmbG93LWxheW91dCc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEZEX0JSRUFEQ1JVTUJfQ09NUE9ORU5ULCBGRF9CUkVBRENSVU1CX0lURU1fQ09NUE9ORU5UIH0gZnJvbSAnLi90b2tlbnMnO1xuXG4vKipcbiAqIEJyZWFkY3J1bWIgcGFyZW50IHdyYXBwZXIgZGlyZWN0aXZlLiBNdXN0IGhhdmUgYnJlYWRjcnVtYiBpdGVtIGNoaWxkIGRpcmVjdGl2ZXMuXG4gKlxuICogYGBgaHRtbFxuICogPGZkLWJyZWFkY3J1bWI+XG4gKiAgICAgPGZkLWJyZWFkY3J1bWItaXRlbT5cbiAqICAgICAgICAgPGEgZmQtbGluayBbcm91dGVyTGlua109XCInIydcIj5CcmVhZGNydW1iIExpbms8L2E+XG4gKiAgICAgPC9mZC1icmVhZGNydW1iLWl0ZW0+XG4gKiA8L2ZkLWJyZWFkY3J1bWI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1icmVhZGNydW1iJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtYnJlYWRjcnVtYicsXG4gICAgICAgIHJvbGU6ICd0cmVlJ1xuICAgIH0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9CUkVBRENSVU1CX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBCcmVhZGNydW1iQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogQnJlYWRjcnVtYnMgY29tcG9uZW50IG5vdyB1c2VzIG1vcmUgYWR2YW5jZWQgY2FsY3VsYXRpb24gbWVjaGFuaXNtIHdpdGhvdXQgdGhlIG5lZWQgb2Ygc3BlY2lmeWluZyB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBUaGUgZWxlbWVudCB0byBhY3QgYXMgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLiBXaGVuIHByb3ZpZGVkLCB0aGUgYnJlYWRjcnVtYidzIHJlc3BvbnNpdmUgY29sbGFwc2luZyBiZWhhdmlvclxuICAgICAqIHBlcmZvcm1zIGJldHRlci4gV2hlbiBub3QgcHJvdmlkZWQsIHRoZSBpbW1lZGlhdGUgcGFyZW50IGVsZW1lbnQncyB3aWR0aCB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGFpbmVyRWxlbWVudChfOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnQnJlYWRjcnVtYnMgY29tcG9uZW50IG5vdyB1c2VzIG1vcmUgYWR2YW5jZWQgY2FsY3VsYXRpb24gbWVjaGFuaXNtIHdpdGhvdXQgdGhlIG5lZWQgb2Ygc3BlY2lmeWluZyB0aGUgY29udGFpbmVyIGVsZW1lbnQuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGVuZCBpdGVtcyB0byB0aGUgb3ZlcmZsb3cgZHJvcGRvd24gaW4gcmV2ZXJzZSBvcmRlci4gRGVmYXVsdCBpcyB0cnVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmV2ZXJzZSA9IGZhbHNlO1xuXG4gICAgLyoqIFRhYmluZGV4IG9mIHRoZSBicmVhZGNydW1iLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFiSW5kZXggPSAnMCc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdmlzaWJsZSBpdGVtcyBjb3VudCBpcyBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHZpc2libGVJdGVtc0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gaGlkZGVuIGl0ZW1zIGNvdW50IGlzIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgaGlkZGVuSXRlbXNDb3VudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEZEX0JSRUFEQ1JVTUJfSVRFTV9DT01QT05FTlQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudEl0ZW1zOiBRdWVyeUxpc3Q8QnJlYWRjcnVtYkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKE1lbnVDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudUNvbXBvbmVudDogTWVudUNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChPdmVyZmxvd0xheW91dENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vdmVyZmxvd0xheW91dDogT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQXJyYXkgb2YgYnJlYWRjcnVtYiBpdGVtcy5cbiAgICAgKi9cbiAgICBfaXRlbXM6IEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50W10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3BsYWNlbWVudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBsYWNlbWVudD4oJ2JvdHRvbS1zdGFydCcpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIF9vbkRlc3Ryb3kkOiBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlIHwgbnVsbCxcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuX3BsYWNlbWVudCQubmV4dCh2YWx1ZSA/ICdib3R0b20tZW5kJyA6ICdib3R0b20tc3RhcnQnKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3dMYXlvdXQudHJpZ2dlclJlY2FsY3VsYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXZSBjYXRjaCBpbnRlcmFjdGlvbnMgd2l0aCBpdGVtLCBFbnRlciwgU3BhY2UsIE1vdXNlIGNsaWNrIGFuZCBUb3VjaCBjbGljayxcbiAgICAgKiBpZiBvcmlnaW5hbCBlbGVtZW50IGhhZCByb3V0ZXIgbGluayB3ZSBhcmUgcHJveHlpbmcgY2xpY2sgdG8gdGhhdCBlbGVtZW50XG4gICAgICogKi9cbiAgICBpdGVtQ2xpY2tlZChicmVhZGNydW1iSXRlbTogQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQsICRldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChicmVhZGNydW1iSXRlbS5fbmVlZHNDbGlja1Byb3h5KSB7XG4gICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFkY3J1bWJJdGVtLmJyZWFkY3J1bWJMaW5rLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0SXRlbXMoKTtcblxuICAgICAgICB0aGlzLl9jb250ZW50SXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2V0SXRlbXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfa2V5RG93bkhhbmRsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWVudUNvbXBvbmVudC50b2dnbGUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkhpZGRlbkNoYW5nZShpc0hpZGRlbjogYm9vbGVhbiwgYnJlYWRjcnVtYjogQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc0hpZGRlbikge1xuICAgICAgICAgICAgYnJlYWRjcnVtYi5fZGV0YWNoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBicmVhZGNydW1iLl9hdHRhY2goKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uVmlzaWJsZUl0ZW1zQ291bnRDaGFuZ2UodmlzaWJsZUl0ZW1zQ291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVtc0NvdW50LmVtaXQodmlzaWJsZUl0ZW1zQ291bnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uSGlkZGVuSXRlbXNDb3VudENoYW5nZShoaWRkZW5JdGVtc0NvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRkZW5JdGVtc0NvdW50LmVtaXQoaGlkZGVuSXRlbXNDb3VudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGVudEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uc2V0UG9ydGFsKCkpO1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHRoaXMuX2NvbnRlbnRJdGVtcy50b0FycmF5KCk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIiwiPGZkLW92ZXJmbG93LWxheW91dFxuICAgIFtyZXZlcnNlSGlkZGVuSXRlbXNdPVwiIXJldmVyc2VcIlxuICAgIHNob3dNb3JlUG9zaXRpb249XCJsZWZ0XCJcbiAgICBbZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uXT1cImZhbHNlXCJcbiAgICAodmlzaWJsZUl0ZW1zQ291bnQpPVwiX29uVmlzaWJsZUl0ZW1zQ291bnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGhpZGRlbkl0ZW1zQ291bnQpPVwiX29uSGlkZGVuSXRlbXNDb3VudENoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmVhZGNydW1iIG9mIF9pdGVtc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqZmRPdmVyZmxvd0l0ZW1SZWY9XCJicmVhZGNydW1iOyBsZXQgaGlkZGVuXCJcbiAgICAgICAgICAgIGZkT3ZlcmZsb3dMYXlvdXRJdGVtXG4gICAgICAgICAgICAoaGlkZGVuQ2hhbmdlKT1cIl9vbkhpZGRlbkNoYW5nZSgkZXZlbnQsIGJyZWFkY3J1bWIpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiYnJlYWRjcnVtYi5wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpmZE92ZXJmbG93RXhwYW5kPVwibGV0IGJyZWFkY3J1bWJzOyBpdGVtczogX2l0ZW1zXCI+XG4gICAgICAgIDxmZC1tZW51ICNtZW51IFtjbG9zZU9uRXNjYXBlS2V5XT1cInRydWVcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgW3BsYWNlbWVudF09XCJfcGxhY2VtZW50JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmVhZGNydW1iSXRlbSBvZiBicmVhZGNydW1ic1wiPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBmZC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYkl0ZW0uaXRlbS5icmVhZGNydW1iTGluayA/IGJyZWFkY3J1bWJJdGVtLml0ZW0uYnJlYWRjcnVtYkxpbmsuZGlzYWJsZWQgOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW1lbnUtaW50ZXJhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2tlZChicmVhZGNydW1iSXRlbS5pdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIml0ZW1DbGlja2VkKGJyZWFkY3J1bWJJdGVtLml0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiaXRlbUNsaWNrZWQoYnJlYWRjcnVtYkl0ZW0uaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJicmVhZGNydW1iSXRlbT8uaXRlbS5icmVhZGNydW1iTGluazsgZWxzZSBwb3J0YWxDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJyZWFkY3J1bWJJdGVtLml0ZW0uYnJlYWRjcnVtYkxpbmsuX3ByZWZpeEljb25OYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiYnJlYWRjcnVtYkl0ZW0uaXRlbS5icmVhZGNydW1iTGluay5fcHJlZml4SWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Nka1BvcnRhbE91dGxldF09XCJicmVhZGNydW1iSXRlbS5pdGVtLmxpbmtDb250ZW50UG9ydGFsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJicmVhZGNydW1iSXRlbS5pdGVtLmJyZWFkY3J1bWJMaW5rLl9wb3N0Zml4SWNvbk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJicmVhZGNydW1iSXRlbS5pdGVtLmJyZWFkY3J1bWJMaW5rLl9wb3N0Zml4SWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3BvcnRhbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nka1BvcnRhbE91dGxldF09XCJicmVhZGNydW1iSXRlbS5pdGVtLmJyZWFkY3J1bWJJdGVtUG9ydGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtbWVudT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1icmVhZGNydW1iX19pdGVtXCIgKm5nSWY9XCJicmVhZGNydW1icy5sZW5ndGggPiAwXCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBmZC1saW5rXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUJyZWFkY3J1bWIub3ZlcmZsb3dUaXRsZU1vcmUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtYnJlYWRjcnVtYl9fY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJfa2V5RG93bkhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJfa2V5RG93bkhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvblxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidjb3JlQnJlYWRjcnVtYi5vdmVyZmxvd1RpdGxlTW9yZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ2NvcmVCcmVhZGNydW1iLm92ZXJmbG93VGl0bGVNb3JlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2ZkLW92ZXJmbG93LWxheW91dD5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -12,6 +12,7 @@ import { PortalModule } from '@angular/cdk/portal';
12
12
  import { PipeModule } from '@fundamental-ngx/cdk/utils';
13
13
  import { DeprecatedBreadcrumbsCompactDirective } from './deprecated-breadcrumbs-compact.directive';
14
14
  import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
15
+ import { I18nModule } from '@fundamental-ngx/i18n';
15
16
  import * as i0 from "@angular/core";
16
17
  export class BreadcrumbModule {
17
18
  }
@@ -25,7 +26,8 @@ BreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
25
26
  PipeModule,
26
27
  ContentDensityModule,
27
28
  OverflowLayoutModule,
28
- ButtonModule], exports: [BreadcrumbComponent,
29
+ ButtonModule,
30
+ I18nModule], exports: [BreadcrumbComponent,
29
31
  BreadcrumbItemComponent,
30
32
  LinkModule,
31
33
  DeprecatedBreadcrumbsCompactDirective,
@@ -39,7 +41,8 @@ BreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
39
41
  PipeModule,
40
42
  ContentDensityModule,
41
43
  OverflowLayoutModule,
42
- ButtonModule, LinkModule,
44
+ ButtonModule,
45
+ I18nModule, LinkModule,
43
46
  ContentDensityModule] });
44
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbModule, decorators: [{
45
48
  type: NgModule,
@@ -54,7 +57,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
54
57
  PipeModule,
55
58
  ContentDensityModule,
56
59
  OverflowLayoutModule,
57
- ButtonModule
60
+ ButtonModule,
61
+ I18nModule
58
62
  ],
59
63
  exports: [
60
64
  BreadcrumbComponent,
@@ -66,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
66
70
  declarations: [BreadcrumbComponent, BreadcrumbItemComponent, DeprecatedBreadcrumbsCompactDirective]
67
71
  }]
68
72
  }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUF3QjdFLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFGVixtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxxQ0FBcUMsYUFsQjlGLFlBQVk7UUFDWixVQUFVO1FBQ1YsYUFBYTtRQUNiLFVBQVU7UUFDVixVQUFVO1FBQ1YsWUFBWTtRQUNaLFVBQVU7UUFDVixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLFlBQVksYUFHWixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLFVBQVU7UUFDVixxQ0FBcUM7UUFDckMsb0JBQW9COzhHQUlmLGdCQUFnQixZQXBCckIsWUFBWTtRQUNaLFVBQVU7UUFDVixhQUFhO1FBQ2IsVUFBVTtRQUNWLFVBQVU7UUFDVixZQUFZO1FBQ1osVUFBVTtRQUNWLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsWUFBWSxFQUtaLFVBQVU7UUFFVixvQkFBb0I7MkZBSWYsZ0JBQWdCO2tCQXRCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLFVBQVU7d0JBQ1YscUNBQXFDO3dCQUNyQyxvQkFBb0I7cUJBQ3ZCO29CQUNELFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLHFDQUFxQyxDQUFDO2lCQUN0RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBPdmVyZmxvd0xheW91dE1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9vdmVyZmxvdy1sYXlvdXQnO1xuXG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBMaW5rTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2xpbmsnO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQaXBlTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRGVwcmVjYXRlZEJyZWFkY3J1bWJzQ29tcGFjdERpcmVjdGl2ZSB9IGZyb20gJy4vZGVwcmVjYXRlZC1icmVhZGNydW1icy1jb21wYWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBJY29uTW9kdWxlLFxuICAgICAgICBQb3BvdmVyTW9kdWxlLFxuICAgICAgICBNZW51TW9kdWxlLFxuICAgICAgICBMaW5rTW9kdWxlLFxuICAgICAgICBQb3J0YWxNb2R1bGUsXG4gICAgICAgIFBpcGVNb2R1bGUsXG4gICAgICAgIENvbnRlbnREZW5zaXR5TW9kdWxlLFxuICAgICAgICBPdmVyZmxvd0xheW91dE1vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgICAgIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50LFxuICAgICAgICBMaW5rTW9kdWxlLFxuICAgICAgICBEZXByZWNhdGVkQnJlYWRjcnVtYnNDb21wYWN0RGlyZWN0aXZlLFxuICAgICAgICBDb250ZW50RGVuc2l0eU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbQnJlYWRjcnVtYkNvbXBvbmVudCwgQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQsIERlcHJlY2F0ZWRCcmVhZGNydW1ic0NvbXBhY3REaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJNb2R1bGUge31cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBeUJuRCxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBRlYsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUNBQXFDLGFBbkI5RixZQUFZO1FBQ1osVUFBVTtRQUNWLGFBQWE7UUFDYixVQUFVO1FBQ1YsVUFBVTtRQUNWLFlBQVk7UUFDWixVQUFVO1FBQ1Ysb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixZQUFZO1FBQ1osVUFBVSxhQUdWLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsVUFBVTtRQUNWLHFDQUFxQztRQUNyQyxvQkFBb0I7OEdBSWYsZ0JBQWdCLFlBckJyQixZQUFZO1FBQ1osVUFBVTtRQUNWLGFBQWE7UUFDYixVQUFVO1FBQ1YsVUFBVTtRQUNWLFlBQVk7UUFDWixVQUFVO1FBQ1Ysb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixZQUFZO1FBQ1osVUFBVSxFQUtWLFVBQVU7UUFFVixvQkFBb0I7MkZBSWYsZ0JBQWdCO2tCQXZCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixVQUFVO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsVUFBVTt3QkFDVixxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDdkI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUNBQXFDLENBQUM7aUJBQ3RHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IE92ZXJmbG93TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL292ZXJmbG93LWxheW91dCc7XG5cbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgTWVudU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IExpbmtNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGluayc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFBpcGVNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBEZXByZWNhdGVkQnJlYWRjcnVtYnNDb21wYWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kZXByZWNhdGVkLWJyZWFkY3J1bWJzLWNvbXBhY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBJMThuTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgSWNvbk1vZHVsZSxcbiAgICAgICAgUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgTWVudU1vZHVsZSxcbiAgICAgICAgTGlua01vZHVsZSxcbiAgICAgICAgUG9ydGFsTW9kdWxlLFxuICAgICAgICBQaXBlTW9kdWxlLFxuICAgICAgICBDb250ZW50RGVuc2l0eU1vZHVsZSxcbiAgICAgICAgT3ZlcmZsb3dMYXlvdXRNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgSTE4bk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgICAgICBCcmVhZGNydW1iSXRlbUNvbXBvbmVudCxcbiAgICAgICAgTGlua01vZHVsZSxcbiAgICAgICAgRGVwcmVjYXRlZEJyZWFkY3J1bWJzQ29tcGFjdERpcmVjdGl2ZSxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW0JyZWFkY3J1bWJDb21wb25lbnQsIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50LCBEZXByZWNhdGVkQnJlYWRjcnVtYnNDb21wYWN0RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iTW9kdWxlIHt9XG4iXX0=