barsa-tiles 1.0.250 → 1.0.251
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.
- package/esm2020/lib/actions-link/actions-link.component.mjs +2 -2
- package/esm2020/lib/shellbar/shellbar.component.mjs +12 -5
- package/esm2020/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +3 -3
- package/fesm2015/barsa-tiles.mjs +15 -8
- package/fesm2015/barsa-tiles.mjs.map +1 -1
- package/fesm2020/barsa-tiles.mjs +15 -8
- package/fesm2020/barsa-tiles.mjs.map +1 -1
- package/lib/shellbar/shellbar.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -7,10 +7,10 @@ import * as i3 from "../action-item/action-item.component";
|
|
|
7
7
|
export class ActionsLinkComponent extends BaseComponent {
|
|
8
8
|
}
|
|
9
9
|
ActionsLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ActionsLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
ActionsLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: { actionsLink: "actionsLink", editHome: "editHome" }, usesInheritance: true, ngImport: i0, template: "<bt-action-item\r\n *ngFor=\"let actionItem of actionsLink\"\r\n cdkDrag\r\n [data]=\"actionItem\"\r\n [editHome]=\"editHome\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n>\r\n</bt-action-item>\r\n", styles: [":host{display:flex;width:100%;row-gap:
|
|
10
|
+
ActionsLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: { actionsLink: "actionsLink", editHome: "editHome" }, usesInheritance: true, ngImport: i0, template: "<bt-action-item\r\n *ngFor=\"let actionItem of actionsLink\"\r\n cdkDrag\r\n [data]=\"actionItem\"\r\n [editHome]=\"editHome\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n>\r\n</bt-action-item>\r\n", styles: [":host{display:flex;width:100%;row-gap:3px;flex-wrap:wrap;border-radius:var(--sapElement_BorderCornerRadius, .25rem);column-gap:3px;padding:1rem 0}bt-action-item{margin-top:auto;margin-bottom:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.ActionItemComponent, selector: "bt-action-item" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ActionsLinkComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'bt-actions-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-action-item\r\n *ngFor=\"let actionItem of actionsLink\"\r\n cdkDrag\r\n [data]=\"actionItem\"\r\n [editHome]=\"editHome\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n>\r\n</bt-action-item>\r\n", styles: [":host{display:flex;width:100%;row-gap:
|
|
13
|
+
args: [{ selector: 'bt-actions-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-action-item\r\n *ngFor=\"let actionItem of actionsLink\"\r\n cdkDrag\r\n [data]=\"actionItem\"\r\n [editHome]=\"editHome\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n>\r\n</bt-action-item>\r\n", styles: [":host{display:flex;width:100%;row-gap:3px;flex-wrap:wrap;border-radius:var(--sapElement_BorderCornerRadius, .25rem);column-gap:3px;padding:1rem 0}bt-action-item{margin-top:auto;margin-bottom:auto}\n"] }]
|
|
14
14
|
}], propDecorators: { actionsLink: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}], editHome: [{
|
|
@@ -37,6 +37,7 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
37
37
|
this.showVersion = false;
|
|
38
38
|
this.onOpenNotification = () => {
|
|
39
39
|
this.isOpenNotificatoin = true;
|
|
40
|
+
this._portalService.loadNotifications();
|
|
40
41
|
};
|
|
41
42
|
this.onLanguage = (e) => {
|
|
42
43
|
const culture = e.currentTarget.textContent.trim();
|
|
@@ -87,7 +88,7 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
87
88
|
this.cultures = BarsaApi.LoginFormData.Cultures;
|
|
88
89
|
this.cssUrl$ = this._portalService.cssUrl$;
|
|
89
90
|
this.cssCustomUrl$ = this._portalService.cssCustomUrl$;
|
|
90
|
-
this.notificationsCount$ = this._portalService.
|
|
91
|
+
this.notificationsCount$ = this._portalService.notificationCount$;
|
|
91
92
|
this.notificationLoading$ = this._portalService.notificationLoading$;
|
|
92
93
|
this.notifications$ = this._portalService.notifications$;
|
|
93
94
|
BarsaApi.Bw.SetUserPortalSettings = (userPortalSettings) => {
|
|
@@ -101,6 +102,9 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
101
102
|
this.deviceSize = c;
|
|
102
103
|
this._cdr.detectChanges();
|
|
103
104
|
});
|
|
105
|
+
BarsaApi.Ul.NotificationManager.on({
|
|
106
|
+
ShowPopup: this._increaseNotificationCount.bind(this)
|
|
107
|
+
});
|
|
104
108
|
this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {
|
|
105
109
|
if (breadCrumbs.length > 0) {
|
|
106
110
|
this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;
|
|
@@ -125,7 +129,7 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
125
129
|
return;
|
|
126
130
|
}
|
|
127
131
|
this._tilesService.loadShellbar();
|
|
128
|
-
this._portalService.
|
|
132
|
+
this._portalService.loadNotificationCount();
|
|
129
133
|
});
|
|
130
134
|
}
|
|
131
135
|
onCultureChange(culture) {
|
|
@@ -143,16 +147,19 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
143
147
|
onRemoveNotifiation(mo) {
|
|
144
148
|
this._portalService.removeNotification(mo);
|
|
145
149
|
}
|
|
150
|
+
_increaseNotificationCount() {
|
|
151
|
+
this._portalService.IncreaseNotifcationCount(1);
|
|
152
|
+
}
|
|
146
153
|
_changeCulture(culture /* culture sample :English */) {
|
|
147
154
|
BarsaApi.Bw.SetCultureByDisplayName(culture);
|
|
148
155
|
BarsaApi.Bw.NavigateTo('/');
|
|
149
156
|
}
|
|
150
157
|
}
|
|
151
158
|
ShellbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ShellbarComponent, deps: [{ token: i1.PortalService }, { token: i1.BreadcrumbService }, { token: i2.TilesService }, { token: i0.ChangeDetectorRef }, { token: i1.BbbTranslatePipe }, { token: APP_VERSION }], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
-
ShellbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"max-height: 400px; overflow-x: auto\">\n <div style=\"position: relative\">\n <bsu-mask *ngIf=\"notificationLoading$ | async\" size=\"s\"></bsu-mask>\n <fd-notification\n *ngFor=\"let mo of notifications$ | async; let first = first; let last = last\"\n style=\"margin-bottom: 1px\"\n [style.border-bottom-left-radius]=\"!last ? 0 : null\"\n [style.border-bottom-right-radius]=\"!last ? 0 : null\"\n [style.border-top-right-radius]=\"!first ? 0 : null\"\n [style.border-top-left-radius]=\"!first ? 0 : null\"\n >\n <fd-notification-body>\n <fd-avatar\n [circle]=\"true\"\n size=\"xs\"\n [glyph]=\"mo.Icon ? mo.Icon : 'bell'\"\n [image]=\"mo.Picture ? mo.Picture : null\"\n ></fd-avatar>\n <fd-notification-content style=\"min-width: 320px; overflow: hidden\">\n <fd-notification-header>\n <div fd-notification-indicator [type]=\"mo.Type\"></div>\n <h2 fd-notification-title [unread]=\"true\">{{ mo.Title }}</h2>\n </fd-notification-header>\n <p fd-notification-paragraph>\n {{ mo.Paragraph }}\n </p>\n <fd-notification-footer>\n <span fd-notification-footer-content>{{ mo.FirstFooterContent }}</span>\n <span fd-notification-separator></span>\n <span fd-notification-footer-content>{{ mo.SecondFooterContent }}</span>\n </fd-notification-footer>\n </fd-notification-content>\n <fd-notification-actions>\n <button\n *ngIf=\"mo.RelatedMo\"\n fd-button\n (click)=\"onNotificationRelatedClick(mo.RelatedMo, mo.NamaRelatedMo)\"\n [label]=\"'View' | bbbTranslate\"\n fdCompact\n ></button>\n <button\n fd-button\n fdType=\"transparent\"\n ariaLabel=\"Close\"\n glyph=\"decline\"\n title=\"close\"\n (click)=\"onRemoveNotifiation(mo)\"\n fdCompact\n ></button>\n </fd-notification-actions>\n </fd-notification-body>\n </fd-notification>\n </div>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>{{ culture.value }} </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i8.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i8.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i9.NotificationComponent, selector: "fd-notification", inputs: ["width", "mobile"] }, { kind: "component", type: i9.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i9.NotificationFooterComponent, selector: "fd-notification-footer" }, { kind: "component", type: i9.NotificationBodyComponent, selector: "fd-notification-body" }, { kind: "component", type: i9.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i9.NotificationContentComponent, selector: "fd-notification-content" }, { kind: "directive", type: i9.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread"] }, { kind: "directive", type: i9.NotificationIndicatorDirective, selector: "[fdNotificationIndicator], [fd-notification-indicator]", inputs: ["type", "class"] }, { kind: "directive", type: i9.NotificationParagraphDirective, selector: "[fdNotificationParagraph], [fd-notification-paragraph]" }, { kind: "directive", type: i9.NotificationFooterContentDirective, selector: "[fdNotificationFooterContent], [fd-notification-footer-content]" }, { kind: "directive", type: i9.NotificationSeparatorDirective, selector: "[fdNotificationSeparator], [fd-notification-separator]" }, { kind: "component", type: i10.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "ariaLabel", "disabled"] }, { kind: "component", type: i10.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i11.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i11.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i11.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i12.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "sideNav"] }, { kind: "component", type: i12.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i12.ShellbarSubtitleComponent, selector: "fd-shellbar-subtitle" }, { kind: "component", type: i12.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "collapsedItemMenuLabel"] }, { kind: "component", type: i12.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i12.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "component", type: i13.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
159
|
+
ShellbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"max-height: 400px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <div style=\"position: relative\">\n <bsu-mask *ngIf=\"notificationLoading$ | async\" size=\"s\"></bsu-mask>\n <fd-notification\n *ngFor=\"let mo of notifications$ | async; let first = first; let last = last\"\n style=\"margin-bottom: 1px\"\n [style.border-bottom-left-radius]=\"!last ? 0 : null\"\n [style.border-bottom-right-radius]=\"!last ? 0 : null\"\n [style.border-top-right-radius]=\"!first ? 0 : null\"\n [style.border-top-left-radius]=\"!first ? 0 : null\"\n >\n <fd-notification-body>\n <fd-avatar\n [circle]=\"true\"\n size=\"xs\"\n [glyph]=\"mo.Icon ? mo.Icon : 'bell'\"\n [image]=\"mo.Picture ? mo.Picture : null\"\n ></fd-avatar>\n <fd-notification-content style=\"min-width: 320px; overflow: hidden\">\n <fd-notification-header>\n <div fd-notification-indicator [type]=\"mo.Type\"></div>\n <h2 fd-notification-title [unread]=\"true\">{{ mo.Title }}</h2>\n </fd-notification-header>\n <p fd-notification-paragraph>\n {{ mo.Paragraph }}\n </p>\n <fd-notification-footer>\n <span fd-notification-footer-content>{{ mo.FirstFooterContent }}</span>\n <span fd-notification-separator></span>\n <span fd-notification-footer-content>{{ mo.SecondFooterContent }}</span>\n </fd-notification-footer>\n </fd-notification-content>\n <fd-notification-actions>\n <button\n *ngIf=\"mo.RelatedMo\"\n fd-button\n (click)=\"onNotificationRelatedClick(mo.RelatedMo, mo.NamaRelatedMo)\"\n [label]=\"'View' | bbbTranslate\"\n fdCompact\n ></button>\n <button\n fd-button\n fdType=\"transparent\"\n ariaLabel=\"Close\"\n glyph=\"decline\"\n title=\"close\"\n (click)=\"onRemoveNotifiation(mo)\"\n fdCompact\n ></button>\n </fd-notification-actions>\n </fd-notification-body>\n </fd-notification>\n </div>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>{{ culture.value }} </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i8.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i8.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i9.NotificationComponent, selector: "fd-notification", inputs: ["width", "mobile"] }, { kind: "component", type: i9.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i9.NotificationFooterComponent, selector: "fd-notification-footer" }, { kind: "component", type: i9.NotificationBodyComponent, selector: "fd-notification-body" }, { kind: "component", type: i9.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i9.NotificationContentComponent, selector: "fd-notification-content" }, { kind: "directive", type: i9.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread"] }, { kind: "directive", type: i9.NotificationIndicatorDirective, selector: "[fdNotificationIndicator], [fd-notification-indicator]", inputs: ["type", "class"] }, { kind: "directive", type: i9.NotificationParagraphDirective, selector: "[fdNotificationParagraph], [fd-notification-paragraph]" }, { kind: "directive", type: i9.NotificationFooterContentDirective, selector: "[fdNotificationFooterContent], [fd-notification-footer-content]" }, { kind: "directive", type: i9.NotificationSeparatorDirective, selector: "[fdNotificationSeparator], [fd-notification-separator]" }, { kind: "component", type: i10.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "ariaLabel", "disabled"] }, { kind: "component", type: i10.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i11.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i11.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i11.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i12.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "sideNav"] }, { kind: "component", type: i12.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i12.ShellbarSubtitleComponent, selector: "fd-shellbar-subtitle" }, { kind: "component", type: i12.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "collapsedItemMenuLabel"] }, { kind: "component", type: i12.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i12.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "component", type: i13.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
153
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ShellbarComponent, decorators: [{
|
|
154
161
|
type: Component,
|
|
155
|
-
args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"max-height: 400px; overflow-x: auto\">\n <div style=\"position: relative\">\n <bsu-mask *ngIf=\"notificationLoading$ | async\" size=\"s\"></bsu-mask>\n <fd-notification\n *ngFor=\"let mo of notifications$ | async; let first = first; let last = last\"\n style=\"margin-bottom: 1px\"\n [style.border-bottom-left-radius]=\"!last ? 0 : null\"\n [style.border-bottom-right-radius]=\"!last ? 0 : null\"\n [style.border-top-right-radius]=\"!first ? 0 : null\"\n [style.border-top-left-radius]=\"!first ? 0 : null\"\n >\n <fd-notification-body>\n <fd-avatar\n [circle]=\"true\"\n size=\"xs\"\n [glyph]=\"mo.Icon ? mo.Icon : 'bell'\"\n [image]=\"mo.Picture ? mo.Picture : null\"\n ></fd-avatar>\n <fd-notification-content style=\"min-width: 320px; overflow: hidden\">\n <fd-notification-header>\n <div fd-notification-indicator [type]=\"mo.Type\"></div>\n <h2 fd-notification-title [unread]=\"true\">{{ mo.Title }}</h2>\n </fd-notification-header>\n <p fd-notification-paragraph>\n {{ mo.Paragraph }}\n </p>\n <fd-notification-footer>\n <span fd-notification-footer-content>{{ mo.FirstFooterContent }}</span>\n <span fd-notification-separator></span>\n <span fd-notification-footer-content>{{ mo.SecondFooterContent }}</span>\n </fd-notification-footer>\n </fd-notification-content>\n <fd-notification-actions>\n <button\n *ngIf=\"mo.RelatedMo\"\n fd-button\n (click)=\"onNotificationRelatedClick(mo.RelatedMo, mo.NamaRelatedMo)\"\n [label]=\"'View' | bbbTranslate\"\n fdCompact\n ></button>\n <button\n fd-button\n fdType=\"transparent\"\n ariaLabel=\"Close\"\n glyph=\"decline\"\n title=\"close\"\n (click)=\"onRemoveNotifiation(mo)\"\n fdCompact\n ></button>\n </fd-notification-actions>\n </fd-notification-body>\n </fd-notification>\n </div>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>{{ culture.value }} </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}\n"] }]
|
|
162
|
+
args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"max-height: 400px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <div style=\"position: relative\">\n <bsu-mask *ngIf=\"notificationLoading$ | async\" size=\"s\"></bsu-mask>\n <fd-notification\n *ngFor=\"let mo of notifications$ | async; let first = first; let last = last\"\n style=\"margin-bottom: 1px\"\n [style.border-bottom-left-radius]=\"!last ? 0 : null\"\n [style.border-bottom-right-radius]=\"!last ? 0 : null\"\n [style.border-top-right-radius]=\"!first ? 0 : null\"\n [style.border-top-left-radius]=\"!first ? 0 : null\"\n >\n <fd-notification-body>\n <fd-avatar\n [circle]=\"true\"\n size=\"xs\"\n [glyph]=\"mo.Icon ? mo.Icon : 'bell'\"\n [image]=\"mo.Picture ? mo.Picture : null\"\n ></fd-avatar>\n <fd-notification-content style=\"min-width: 320px; overflow: hidden\">\n <fd-notification-header>\n <div fd-notification-indicator [type]=\"mo.Type\"></div>\n <h2 fd-notification-title [unread]=\"true\">{{ mo.Title }}</h2>\n </fd-notification-header>\n <p fd-notification-paragraph>\n {{ mo.Paragraph }}\n </p>\n <fd-notification-footer>\n <span fd-notification-footer-content>{{ mo.FirstFooterContent }}</span>\n <span fd-notification-separator></span>\n <span fd-notification-footer-content>{{ mo.SecondFooterContent }}</span>\n </fd-notification-footer>\n </fd-notification-content>\n <fd-notification-actions>\n <button\n *ngIf=\"mo.RelatedMo\"\n fd-button\n (click)=\"onNotificationRelatedClick(mo.RelatedMo, mo.NamaRelatedMo)\"\n [label]=\"'View' | bbbTranslate\"\n fdCompact\n ></button>\n <button\n fd-button\n fdType=\"transparent\"\n ariaLabel=\"Close\"\n glyph=\"decline\"\n title=\"close\"\n (click)=\"onRemoveNotifiation(mo)\"\n fdCompact\n ></button>\n </fd-notification-actions>\n </fd-notification-body>\n </fd-notification>\n </div>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>{{ culture.value }} </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}\n"] }]
|
|
156
163
|
}], ctorParameters: function () { return [{ type: i1.PortalService }, { type: i1.BreadcrumbService }, { type: i2.TilesService }, { type: i0.ChangeDetectorRef }, { type: i1.BbbTranslatePipe }, { type: undefined, decorators: [{
|
|
157
164
|
type: Inject,
|
|
158
165
|
args: [APP_VERSION]
|
|
@@ -160,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
160
167
|
type: ViewChild,
|
|
161
168
|
args: [ComboboxComponent]
|
|
162
169
|
}] } });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9zaGVsbGJhci9zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQXFELE1BQU0sdUJBQXVCLENBQUM7QUFFN0csT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEVBTVIsV0FBVyxFQUVkLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQW9COUIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUF3QmhELFlBQ1ksY0FBNkIsRUFDN0Isa0JBQXFDLEVBQ3JDLGFBQTJCLEVBQzNCLElBQXVCLEVBQ3ZCLGlCQUFtQyxFQUNmLFVBQWtCO1FBRTlDLEtBQUssRUFBRSxDQUFDO1FBUEEsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQTFCbEQsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBMkIs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O1FBQ2hDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQixFQUFFLEVBQUUsRUFBRTtZQUNOLFNBQVMsRUFBRTtnQkFDUCxRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxFQUF1QjtRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFTTyxjQUFjLENBQUMsT0FBZSxDQUFDLDZCQUE2QjtRQUNoRSxRQUFRLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzhHQXhKUSxpQkFBaUIsNktBOEJkLFdBQVc7a0dBOUJkLGlCQUFpQixzR0FDZixpQkFBaUIsdUVDcENoQyxnZ09BMkpBOzJGRHhIYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkFnQzFDLE1BQU07MkJBQUMsV0FBVzs0Q0E3Qk8saUJBQWlCO3NCQUE5QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tYm9ib3hDb21wb25lbnQsIFByb2R1Y3RTd2l0Y2hJdGVtLCBTaGVsbGJhck1lbnVJdGVtLCBTaGVsbGJhclVzZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQmFyc2FBcGksXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBGaWxlUGljdHVyZUluZm9Nb2RlbCxcbiAgICBNb0ZvclJlcG9ydE1vZGVsLFxuICAgIFBvcnRhbFNlcnZpY2UsXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgQVBQX1ZFUlNJT04sXG4gICAgQmJiVHJhbnNsYXRlUGlwZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbmltcG9ydCB7IFRpbGVzU2VydmljZSB9IGZyb20gJy4uL3RpbGVzLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgU2hlbGxiYXJTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBjYWxjU3VidGl0bGU6IHN0cmluZztcbiAgICBsb2dvOiBGaWxlUGljdHVyZUluZm9Nb2RlbDtcbiAgICBQcm9kdWN0U3dpdGNoSXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgUHJvZHVjdE1lbnVJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBVc2VyTWVudUl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIEFjdGlvbkl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LXNoZWxsYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoZWxsYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxiYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKENvbWJvYm94Q29tcG9uZW50KSBjb21ib2JveENvbXBvbmVudDogQ29tYm9ib3hDb21wb25lbnQ7XG4gICAgc2hlbGxiYXJEYXRhOiBTaGVsbGJhclNldHRpbmc7XG4gICAgc2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgaXNPcGVuTm90aWZpY2F0b2luID0gZmFsc2U7XG4gICAgZGV2aWNlU2l6ZTogJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyA9ICd4bCc7XG4gICAgcHJvZHVjdE1lbnVDb250cm9sOiBzdHJpbmc7XG4gICAgdXNlcjogU2hlbGxiYXJVc2VyID0ge1xuICAgICAgICBpbml0aWFsczogJ1dXJyxcbiAgICAgICAgY29sb3JBY2NlbnQ6IDFcbiAgICB9O1xuICAgIHNlYXJjaFRlcm1zID0gWyfZhdix2K7YtduMJywgJ9mF2KfZhdmI2LHbjNiqJywgJ9iq24zaqdiqJywgJ9m+2LHZiNqY2YcnXTtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gICAgYWN0aW9ucyQ6IE9ic2VydmFibGU8U2hlbGxiYXJNZW51SXRlbVtdPjtcbiAgICBwcm9kdWN0TWVudUl0ZW1zMTogU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIHVzZXJMb2dnZWRJbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY3NzVXJsJDogYW55O1xuICAgIGNzc0N1c3RvbVVybCQ6IGFueTtcbiAgICBhbGxvd0Fub255bW91cyA9IHRydWU7XG4gICAgc2hvd1ZlcnNpb24gPSBmYWxzZTtcbiAgICBjdWx0dXJlczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBub3RpZmljYXRpb25zQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgbm90aWZpY2F0aW9ucyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcbiAgICBub3RpZmljYXRpb25Mb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfYnJlYWRDcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF90aWxlc1NlcnZpY2U6IFRpbGVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfYmJiVHJhbnNsYXRlUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQEluamVjdChBUFBfVkVSU0lPTikgcHVibGljIGFwcFZlcnNpb246IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJMb2dnZWRJbiQ7XG4gICAgICAgIHRoaXMuc2hvd1ZlcnNpb24gPSAhQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrO1xuICAgIH1cbiAgICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5TdWJ0aXRsZVxuICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YT8uU3VidGl0bGV9ICR7XG4gICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LkNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5DYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG4gICAgZ2V0IGxvZ28oKTogeyBGaWxlSWQ6IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5Mb2dvO1xuICAgIH1cbiAgICBnZXQgYWN0aW9ucygpOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IHRoaXMuc2hlbGxiYXJEYXRhPy5BY3Rpb25JdGVtcz8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICB9XG4gICAgZ2V0IHVzZXJNZW51KCk6IHsgdGV4dDogc3RyaW5nOyBjYWxsYmFjazogKCkgPT4gdm9pZCB9W10ge1xuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5zaGVsbGJhckRhdGEsICdVc2VyTWVudUl0ZW1zLk1vRGF0YUxpc3QnKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBtb0RhdGFMaXN0ID8gWy4uLm1vRGF0YUxpc3RdIDogW107XG4gICAgICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgYy50ZXh0ID0gdGhpcy5fYmJiVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oYy50ZXh0KTtcbiAgICAgICAgICAgIGMuY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oYy5Db2RlICsgdGhpcy5ib2R5Q2xpY2spO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgIGl0ZW1zLnNwbGljZSgwLCAwLCB7IElkOiAnLTEnLCAkQ2FwdGlvbjogJycsIHRleHQ6IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuVXNlckRpc3BsYXlOYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IChpdGVtcyBhcyBhbnkpO1xuICAgIH1cbiAgICBnZXQgcHJvZHVjdFN3aXRjaGVyKCk6IFByb2R1Y3RTd2l0Y2hJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGVsbGJhckRhdGE/LlByb2R1Y3RTd2l0Y2hJdGVtPy5Nb0RhdGFMaXN0ID8/IChbXSBhcyB1bmtub3duIGFzIFByb2R1Y3RTd2l0Y2hJdGVtW10pO1xuICAgIH1cbiAgICBnZXQgcHJvZHVjdE1lbnVJdGVtcygpOiBTaGVsbGJhck1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2hlbGxiYXJEYXRhPy5Qcm9kdWN0TWVudUl0ZW1zPy5Nb0RhdGFMaXN0ID8/IFtdO1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChjKSA9PiAoYy5jYWxsYmFjayA9IG5ldyBGdW5jdGlvbihjLkNvZGUgKyB0aGlzLmJvZHlDbGljaykpKTtcbiAgICAgICAgcmV0dXJuIGl0ZW1zIGFzIHVua25vd24gYXMgU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIH1cbiAgICBnZXQgYm9keUNsaWNrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnOyQoXCJib2R5XCIpLmNsaWNrKCknO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jdWx0dXJlcyA9IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZXM7XG4gICAgICAgIHRoaXMuY3NzVXJsJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuY3NzVXJsJDtcbiAgICAgICAgdGhpcy5jc3NDdXN0b21VcmwkID0gdGhpcy5fcG9ydGFsU2VydmljZS5jc3NDdXN0b21VcmwkO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDb3VudCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5vdGlmaWNhdGlvbnNDb3VudCQ7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uTG9hZGluZyQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5vdGlmaWNhdGlvbkxvYWRpbmckO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMkID0gdGhpcy5fcG9ydGFsU2VydmljZS5ub3RpZmljYXRpb25zJDtcbiAgICAgICAgQmFyc2FBcGkuQncuU2V0VXNlclBvcnRhbFNldHRpbmdzID0gKHVzZXJQb3J0YWxTZXR0aW5nczogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5zZXRVc2VyUG9ydGFsU2V0dGluZ3ModXNlclBvcnRhbFNldHRpbmdzKTtcbiAgICAgICAgfTtcbiAgICAgICAgQmFyc2FBcGkuQncuU2V0U2hlbGxiYXJTdWJ0aXRsZSA9IChjYWxjU3VidGl0bGU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaGVsbGJhckRhdGEuY2FsY1N1YnRpdGxlID0gY2FsY1N1YnRpdGxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRldmljZVNpemUgPSBjO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fYnJlYWRDcnVtYlNlcnZpY2UuYnJlYWRjcnVtYnMkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGJyZWFkQ3J1bWJzKSA9PiB7XG4gICAgICAgICAgICBpZiAoYnJlYWRDcnVtYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdE1lbnVDb250cm9sID0gYnJlYWRDcnVtYnNbYnJlYWRDcnVtYnMubGVuZ3RoIC0gMV0ubGFiZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2hlbGxiYXIkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNoZWxsYmFyRGF0YSA9IG1vIGFzIFNoZWxsYmFyU2V0dGluZztcbiAgICAgICAgICAgIC8vIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICBmb3JrSm9pbihbb2YodGhpcy5wcm9kdWN0TWVudUl0ZW1zKSwgb2YoW10pXSkgLy8gdG8gYXBwZW5kIHVzZXIgZGVmaW5lZFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW3MxLCBzMl0pID0+IFsuLi5zMSwgLi4uczJdKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdE1lbnVJdGVtczEgPSBjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuYWxsb3dBbm9ueW1vdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5sb2FkU2hlbGxiYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJMb2dnZWRJbiQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobG9nZ2VkSW4pID0+IHtcbiAgICAgICAgICAgIGlmICghbG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2UubG9hZFNoZWxsYmFyKCk7XG4gICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxvYWROb3RpZmljYXRpb25zKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvbkN1bHR1cmVDaGFuZ2UoY3VsdHVyZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VDdWx0dXJlKGN1bHR1cmUpO1xuICAgIH1cbiAgICBvbk5vdGlmaWNhdGlvblJlbGF0ZWRDbGljayhtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgbmFtYTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuTm90aWZpY2F0b2luID0gZmFsc2U7XG4gICAgICAgIEJhcnNhQXBpLkJ3LkZvcm0uU2hvdyh7XG4gICAgICAgICAgICBNbzogbW8sXG4gICAgICAgICAgICBNb0NvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICBWaWV3TmFtZTogbmFtYVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25SZW1vdmVOb3RpZmlhdGlvbihtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnJlbW92ZU5vdGlmaWNhdGlvbihtbyk7XG4gICAgfVxuICAgIG9uT3Blbk5vdGlmaWNhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5Ob3RpZmljYXRvaW4gPSB0cnVlO1xuICAgIH07XG4gICAgb25MYW5ndWFnZSA9IChlKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IGN1bHR1cmUgPSBlLmN1cnJlbnRUYXJnZXQudGV4dENvbnRlbnQudHJpbSgpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VDdWx0dXJlKGN1bHR1cmUpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIF9jaGFuZ2VDdWx0dXJlKGN1bHR1cmU6IHN0cmluZyAvKiBjdWx0dXJlIHNhbXBsZSA6RW5nbGlzaCAqLyk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5TZXRDdWx0dXJlQnlEaXNwbGF5TmFtZShjdWx0dXJlKTtcbiAgICAgICAgQmFyc2FBcGkuQncuTmF2aWdhdGVUbygnLycpO1xuICAgIH1cbn1cbiIsIjxsaW5rICpuZ0lmPVwiY3NzVXJsJCB8IGFzeW5jIGFzIGNzc1VybFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIHJlbD1cInN0eWxlc2hlZXRcIiBbaHJlZl09XCJjc3NVcmxcIiAvPlxuPGxpbmsgKm5nSWY9XCJjc3NDdXN0b21VcmwkIHwgYXN5bmMgYXMgY3NzQ3VzdG9tVXJsXCIgdHlwZT1cInRleHQvY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiIFtocmVmXT1cImNzc0N1c3RvbVVybFwiIC8+XG5cbjxmZC1zaGVsbGJhciAqbmdJZj1cIih1c2VyTG9nZ2VkSW4kIHwgYXN5bmMpIHx8IGFsbG93QW5vbnltb3VzXCIgW3NpemVdPVwiZGV2aWNlU2l6ZVwiPlxuICAgIDxmZC1zaGVsbGJhci1sb2dvICpuZ0lmPVwibG9nb1wiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyAobG9nbz8uRmlsZUlkIHwgcGljRmllbGRTcmM6ICdHZXRQaWN0dXJlRnJvbUZpbGVJbmZvJzpudWxsKSArICcpJ1wiXG4gICAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXNoZWxsYmFyX19sb2dvIGZkLXNoZWxsYmFyX19sb2dvLS1pbWFnZS1yZXBsYWNlZFwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQmFyc2EgTm92aW4gUmF5XCJcbiAgICAgICAgPjwvYT5cbiAgICA8L2ZkLXNoZWxsYmFyLWxvZ28+XG5cbiAgICA8ZmQtcHJvZHVjdC1tZW51XG4gICAgICAgICpuZ0lmPVwiIXNldHRpbmdzPy5IaWRlUHJvZHVjdE1lbnUgJiYgcHJvZHVjdE1lbnVJdGVtczEgJiYgcHJvZHVjdE1lbnVJdGVtczEubGVuZ3RoID4gMFwiXG4gICAgICAgIFtjb250cm9sXT1cInByb2R1Y3RNZW51Q29udHJvbFwiXG4gICAgICAgIFtjbG9zZVBvcG92ZXJPblNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgW2l0ZW1zXT1cInByb2R1Y3RNZW51SXRlbXMxXCJcbiAgICA+XG4gICAgPC9mZC1wcm9kdWN0LW1lbnU+XG5cbiAgICA8ZmQtc2hlbGxiYXItc3VidGl0bGU+IHt7IHN1YnRpdGxlIHwgYmJiVHJhbnNsYXRlIH19e3sgc2hvd1ZlcnNpb24gPyBhcHBWZXJzaW9uIDogJycgfX0gPC9mZC1zaGVsbGJhci1zdWJ0aXRsZT5cbiAgICA8ZmQtc2hlbGxiYXItYWN0aW9uc1xuICAgICAgICAqbmdJZj1cInVzZXIgJiYgKHVzZXJNZW51Py5sZW5ndGggfHwgIXNldHRpbmdzPy5IaWRlTGFuZ3VhZ2UpXCJcbiAgICAgICAgW3VzZXJdPVwidXNlclwiXG4gICAgICAgIFt1c2VyTWVudV09XCJ1c2VyTWVudVwiXG4gICAgICAgICNsYW5nUmVmXG4gICAgPlxuICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIlxuICAgICAgICAgICAgW2dseXBoXT1cImFjdGlvbi5JY29uXCJcbiAgICAgICAgICAgIFtjYWxsYmFja109XCJhY3Rpb24uQ2FsbGJhY2tcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5MYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG5cbiAgICAgICAgPGZkLXBvcG92ZXJcbiAgICAgICAgICAgIFsoaXNPcGVuKV09XCJpc09wZW5Ob3RpZmljYXRvaW5cIlxuICAgICAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgICAgICAgICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICB0aXRsZT1cIk5vdGlmaWNhdGlvbiBQb3BvdmVyXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidiZWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTm90aWZpY2F0aW9uJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtub3RpZmljYXRpb25Db3VudF09XCIobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jKSEhXCJcbiAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbkxhYmVsXT1cIidOb3RpZmljYXRpb24gTGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbGxiYWNrXT1cIm9uT3Blbk5vdGlmaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IHN0eWxlPVwibWF4LWhlaWdodDogNDAwcHg7IG92ZXJmbG93LXg6IGF1dG9cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxic3UtbWFzayAqbmdJZj1cIm5vdGlmaWNhdGlvbkxvYWRpbmckIHwgYXN5bmNcIiBzaXplPVwic1wiPjwvYnN1LW1hc2s+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtbyBvZiBub3RpZmljYXRpb25zJCB8IGFzeW5jOyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMXB4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzXT1cIiFsYXN0ID8gMCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzXT1cIiFsYXN0ID8gMCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzXT1cIiFmaXJzdCA/IDAgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5ib3JkZXItdG9wLWxlZnQtcmFkaXVzXT1cIiFmaXJzdCA/IDAgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIm1vLkljb24gPyBtby5JY29uIDogJ2JlbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cIm1vLlBpY3R1cmUgPyBtby5QaWN0dXJlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmQtYXZhdGFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tY29udGVudCBzdHlsZT1cIm1pbi13aWR0aDogMzIwcHg7IG92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW5vdGlmaWNhdGlvbi1pbmRpY2F0b3IgW3R5cGVdPVwibW8uVHlwZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGZkLW5vdGlmaWNhdGlvbi10aXRsZSBbdW5yZWFkXT1cInRydWVcIj57eyBtby5UaXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZmQtbm90aWZpY2F0aW9uLXBhcmFncmFwaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1vLlBhcmFncmFwaCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tZm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLWZvb3Rlci1jb250ZW50Pnt7IG1vLkZpcnN0Rm9vdGVyQ29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5vdGlmaWNhdGlvbi1zZXBhcmF0b3I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLWZvb3Rlci1jb250ZW50Pnt7IG1vLlNlY29uZEZvb3RlckNvbnRlbnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtby5SZWxhdGVkTW9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ob3RpZmljYXRpb25SZWxhdGVkQ2xpY2sobW8uUmVsYXRlZE1vLCBtby5OYW1hUmVsYXRlZE1vKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1ZpZXcnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlTm90aWZpYXRpb24obW8pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cblxuICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAqbmdJZj1cIiFzZXR0aW5ncz8uSGlkZUxhbmd1YWdlICYmIGRldmljZVNpemUgIT09ICdzJ1wiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ3dvcmxkJ1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2xhbmd1YWdlJ1wiXG4gICAgICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAgICAgICAgIChjYWxsYmFjayk9XCIob25MYW5ndWFnZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNldHRpbmdzPy5IaWRlTGFuZ3VhZ2UgJiYgZGV2aWNlU2l6ZSA9PT0gJ3MnXCI+XG4gICAgICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGN1bHR1cmUgb2YgY3VsdHVyZXMgfCBrZXl2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImN1bHR1cmUudmFsdWVcIlxuICAgICAgICAgICAgICAgIFtjYWxsYmFja109XCJvbkxhbmd1YWdlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8ZmQtcHJvZHVjdC1zd2l0Y2ggKm5nSWY9XCJwcm9kdWN0U3dpdGNoZXIubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPGZkLXByb2R1Y3Qtc3dpdGNoLWJvZHkgW3Byb2R1Y3RzXT1cInByb2R1Y3RTd2l0Y2hlclwiIFtmb3JjZUxpc3RNb2RlXT1cImRldmljZVNpemUgPT09ICdzJ1wiPlxuICAgICAgICAgICAgPC9mZC1wcm9kdWN0LXN3aXRjaC1ib2R5PlxuICAgICAgICA8L2ZkLXByb2R1Y3Qtc3dpdGNoPlxuICAgICAgICA8IS0tIDxmZC1jb21ib2JveFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIFtkcm9wZG93blZhbHVlc109XCJzZWFyY2hUZXJtc1wiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdFbnRlclNlYXJjaENyaXRlcmlhJyB8IGJiYlRyYW5zbGF0ZSkgKyAnIC4uLidcIlxuICAgICAgICAgICAgW2NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1jb21ib2JveD4gLS0+XG4gICAgPC9mZC1zaGVsbGJhci1hY3Rpb25zPlxuPC9mZC1zaGVsbGJhcj5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbjwvbmctdGVtcGxhdGU+XG5cbjxmZC1tZW51ICNtZW51PlxuICAgIDx1bCBmZC1saXN0PlxuICAgICAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBjdWx0dXJlIG9mIGN1bHR1cmVzIHwga2V5dmFsdWVcIj5cbiAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25DdWx0dXJlQ2hhbmdlKGN1bHR1cmUudmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBjdWx0dXJlLnZhbHVlIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9mZC1tZW51PlxuIl19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9zaGVsbGJhci9zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQXFELE1BQU0sdUJBQXVCLENBQUM7QUFFN0csT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEVBTVIsV0FBVyxFQUVkLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQW9COUIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUF3QmhELFlBQ1ksY0FBNkIsRUFDN0Isa0JBQXFDLEVBQ3JDLGFBQTJCLEVBQzNCLElBQXVCLEVBQ3ZCLGlCQUFtQyxFQUNmLFVBQWtCO1FBRTlDLEtBQUssRUFBRSxDQUFDO1FBUEEsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQTFCbEQsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBMkIs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QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQU87UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsMEJBQTBCLENBQUMsRUFBdUIsRUFBRSxJQUFZO1FBQzVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2xCLEVBQUUsRUFBRSxFQUFFO1lBQ04sU0FBUyxFQUFFO2dCQUNQLFFBQVEsRUFBRSxJQUFJO2FBQ2pCO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELG1CQUFtQixDQUFDLEVBQXVCO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQVNPLDBCQUEwQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTyxjQUFjLENBQUMsT0FBZSxDQUFDLDZCQUE2QjtRQUNoRSxRQUFRLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzhHQTdKUSxpQkFBaUIsNktBOEJkLFdBQVc7a0dBOUJkLGlCQUFpQixzR0FDZixpQkFBaUIsdUVDcENoQyx1aU9BMkpBOzJGRHhIYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkFnQzFDLE1BQU07MkJBQUMsV0FBVzs0Q0E3Qk8saUJBQWlCO3NCQUE5QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tYm9ib3hDb21wb25lbnQsIFByb2R1Y3RTd2l0Y2hJdGVtLCBTaGVsbGJhck1lbnVJdGVtLCBTaGVsbGJhclVzZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQmFyc2FBcGksXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBGaWxlUGljdHVyZUluZm9Nb2RlbCxcbiAgICBNb0ZvclJlcG9ydE1vZGVsLFxuICAgIFBvcnRhbFNlcnZpY2UsXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgQVBQX1ZFUlNJT04sXG4gICAgQmJiVHJhbnNsYXRlUGlwZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbmltcG9ydCB7IFRpbGVzU2VydmljZSB9IGZyb20gJy4uL3RpbGVzLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgU2hlbGxiYXJTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBjYWxjU3VidGl0bGU6IHN0cmluZztcbiAgICBsb2dvOiBGaWxlUGljdHVyZUluZm9Nb2RlbDtcbiAgICBQcm9kdWN0U3dpdGNoSXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgUHJvZHVjdE1lbnVJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBVc2VyTWVudUl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIEFjdGlvbkl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LXNoZWxsYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoZWxsYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxiYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKENvbWJvYm94Q29tcG9uZW50KSBjb21ib2JveENvbXBvbmVudDogQ29tYm9ib3hDb21wb25lbnQ7XG4gICAgc2hlbGxiYXJEYXRhOiBTaGVsbGJhclNldHRpbmc7XG4gICAgc2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgaXNPcGVuTm90aWZpY2F0b2luID0gZmFsc2U7XG4gICAgZGV2aWNlU2l6ZTogJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyA9ICd4bCc7XG4gICAgcHJvZHVjdE1lbnVDb250cm9sOiBzdHJpbmc7XG4gICAgdXNlcjogU2hlbGxiYXJVc2VyID0ge1xuICAgICAgICBpbml0aWFsczogJ1dXJyxcbiAgICAgICAgY29sb3JBY2NlbnQ6IDFcbiAgICB9O1xuICAgIHNlYXJjaFRlcm1zID0gWyfZhdix2K7YtduMJywgJ9mF2KfZhdmI2LHbjNiqJywgJ9iq24zaqdiqJywgJ9m+2LHZiNqY2YcnXTtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gICAgYWN0aW9ucyQ6IE9ic2VydmFibGU8U2hlbGxiYXJNZW51SXRlbVtdPjtcbiAgICBwcm9kdWN0TWVudUl0ZW1zMTogU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIHVzZXJMb2dnZWRJbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY3NzVXJsJDogYW55O1xuICAgIGNzc0N1c3RvbVVybCQ6IGFueTtcbiAgICBhbGxvd0Fub255bW91cyA9IHRydWU7XG4gICAgc2hvd1ZlcnNpb24gPSBmYWxzZTtcbiAgICBjdWx0dXJlczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBub3RpZmljYXRpb25zQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgbm90aWZpY2F0aW9ucyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcbiAgICBub3RpZmljYXRpb25Mb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfYnJlYWRDcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF90aWxlc1NlcnZpY2U6IFRpbGVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfYmJiVHJhbnNsYXRlUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQEluamVjdChBUFBfVkVSU0lPTikgcHVibGljIGFwcFZlcnNpb246IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJMb2dnZWRJbiQ7XG4gICAgICAgIHRoaXMuc2hvd1ZlcnNpb24gPSAhQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrO1xuICAgIH1cbiAgICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5TdWJ0aXRsZVxuICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YT8uU3VidGl0bGV9ICR7XG4gICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LkNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5DYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG4gICAgZ2V0IGxvZ28oKTogeyBGaWxlSWQ6IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5Mb2dvO1xuICAgIH1cbiAgICBnZXQgYWN0aW9ucygpOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IHRoaXMuc2hlbGxiYXJEYXRhPy5BY3Rpb25JdGVtcz8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICB9XG4gICAgZ2V0IHVzZXJNZW51KCk6IHsgdGV4dDogc3RyaW5nOyBjYWxsYmFjazogKCkgPT4gdm9pZCB9W10ge1xuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5zaGVsbGJhckRhdGEsICdVc2VyTWVudUl0ZW1zLk1vRGF0YUxpc3QnKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBtb0RhdGFMaXN0ID8gWy4uLm1vRGF0YUxpc3RdIDogW107XG4gICAgICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgYy50ZXh0ID0gdGhpcy5fYmJiVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oYy50ZXh0KTtcbiAgICAgICAgICAgIGMuY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oYy5Db2RlICsgdGhpcy5ib2R5Q2xpY2spO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgIGl0ZW1zLnNwbGljZSgwLCAwLCB7IElkOiAnLTEnLCAkQ2FwdGlvbjogJycsIHRleHQ6IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuVXNlckRpc3BsYXlOYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IChpdGVtcyBhcyBhbnkpO1xuICAgIH1cbiAgICBnZXQgcHJvZHVjdFN3aXRjaGVyKCk6IFByb2R1Y3RTd2l0Y2hJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGVsbGJhckRhdGE/LlByb2R1Y3RTd2l0Y2hJdGVtPy5Nb0RhdGFMaXN0ID8/IChbXSBhcyB1bmtub3duIGFzIFByb2R1Y3RTd2l0Y2hJdGVtW10pO1xuICAgIH1cbiAgICBnZXQgcHJvZHVjdE1lbnVJdGVtcygpOiBTaGVsbGJhck1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2hlbGxiYXJEYXRhPy5Qcm9kdWN0TWVudUl0ZW1zPy5Nb0RhdGFMaXN0ID8/IFtdO1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChjKSA9PiAoYy5jYWxsYmFjayA9IG5ldyBGdW5jdGlvbihjLkNvZGUgKyB0aGlzLmJvZHlDbGljaykpKTtcbiAgICAgICAgcmV0dXJuIGl0ZW1zIGFzIHVua25vd24gYXMgU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIH1cbiAgICBnZXQgYm9keUNsaWNrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnOyQoXCJib2R5XCIpLmNsaWNrKCknO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jdWx0dXJlcyA9IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZXM7XG4gICAgICAgIHRoaXMuY3NzVXJsJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuY3NzVXJsJDtcbiAgICAgICAgdGhpcy5jc3NDdXN0b21VcmwkID0gdGhpcy5fcG9ydGFsU2VydmljZS5jc3NDdXN0b21VcmwkO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDb3VudCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5vdGlmaWNhdGlvbkNvdW50JDtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25Mb2FkaW5nJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2Uubm90aWZpY2F0aW9uTG9hZGluZyQ7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucyQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5vdGlmaWNhdGlvbnMkO1xuICAgICAgICBCYXJzYUFwaS5Cdy5TZXRVc2VyUG9ydGFsU2V0dGluZ3MgPSAodXNlclBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnNldFVzZXJQb3J0YWxTZXR0aW5ncyh1c2VyUG9ydGFsU2V0dGluZ3MpO1xuICAgICAgICB9O1xuICAgICAgICBCYXJzYUFwaS5Cdy5TZXRTaGVsbGJhclN1YnRpdGxlID0gKGNhbGNTdWJ0aXRsZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgPSBjYWxjU3VidGl0bGU7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9IGM7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgICAgQmFyc2FBcGkuVWwuTm90aWZpY2F0aW9uTWFuYWdlci5vbih7XG4gICAgICAgICAgICBTaG93UG9wdXA6IHRoaXMuX2luY3JlYXNlTm90aWZpY2F0aW9uQ291bnQuYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fYnJlYWRDcnVtYlNlcnZpY2UuYnJlYWRjcnVtYnMkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGJyZWFkQ3J1bWJzKSA9PiB7XG4gICAgICAgICAgICBpZiAoYnJlYWRDcnVtYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdE1lbnVDb250cm9sID0gYnJlYWRDcnVtYnNbYnJlYWRDcnVtYnMubGVuZ3RoIC0gMV0ubGFiZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2hlbGxiYXIkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNoZWxsYmFyRGF0YSA9IG1vIGFzIFNoZWxsYmFyU2V0dGluZztcbiAgICAgICAgICAgIC8vIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICBmb3JrSm9pbihbb2YodGhpcy5wcm9kdWN0TWVudUl0ZW1zKSwgb2YoW10pXSkgLy8gdG8gYXBwZW5kIHVzZXIgZGVmaW5lZFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW3MxLCBzMl0pID0+IFsuLi5zMSwgLi4uczJdKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdE1lbnVJdGVtczEgPSBjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuYWxsb3dBbm9ueW1vdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5sb2FkU2hlbGxiYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJMb2dnZWRJbiQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobG9nZ2VkSW4pID0+IHtcbiAgICAgICAgICAgIGlmICghbG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2UubG9hZFNoZWxsYmFyKCk7XG4gICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxvYWROb3RpZmljYXRpb25Db3VudCgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25DdWx0dXJlQ2hhbmdlKGN1bHR1cmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlQ3VsdHVyZShjdWx0dXJlKTtcbiAgICB9XG4gICAgb25Ob3RpZmljYXRpb25SZWxhdGVkQ2xpY2sobW86IE1ldGFvYmplY3REYXRhTW9kZWwsIG5hbWE6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgICAgICBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coe1xuICAgICAgICAgICAgTW86IG1vLFxuICAgICAgICAgICAgTW9Db250ZXh0OiB7XG4gICAgICAgICAgICAgICAgVmlld05hbWU6IG5hbWFcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9uUmVtb3ZlTm90aWZpYXRpb24obW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5yZW1vdmVOb3RpZmljYXRpb24obW8pO1xuICAgIH1cbiAgICBvbk9wZW5Ob3RpZmljYXRpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuTm90aWZpY2F0b2luID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5sb2FkTm90aWZpY2F0aW9ucygpO1xuICAgIH07XG4gICAgb25MYW5ndWFnZSA9IChlKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IGN1bHR1cmUgPSBlLmN1cnJlbnRUYXJnZXQudGV4dENvbnRlbnQudHJpbSgpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VDdWx0dXJlKGN1bHR1cmUpO1xuICAgIH07XG4gICAgcHJpdmF0ZSBfaW5jcmVhc2VOb3RpZmljYXRpb25Db3VudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5JbmNyZWFzZU5vdGlmY2F0aW9uQ291bnQoMSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoYW5nZUN1bHR1cmUoY3VsdHVyZTogc3RyaW5nIC8qIGN1bHR1cmUgc2FtcGxlIDpFbmdsaXNoICovKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3LlNldEN1bHR1cmVCeURpc3BsYXlOYW1lKGN1bHR1cmUpO1xuICAgICAgICBCYXJzYUFwaS5Cdy5OYXZpZ2F0ZVRvKCcvJyk7XG4gICAgfVxufVxuIiwiPGxpbmsgKm5nSWY9XCJjc3NVcmwkIHwgYXN5bmMgYXMgY3NzVXJsXCIgdHlwZT1cInRleHQvY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiIFtocmVmXT1cImNzc1VybFwiIC8+XG48bGluayAqbmdJZj1cImNzc0N1c3RvbVVybCQgfCBhc3luYyBhcyBjc3NDdXN0b21VcmxcIiB0eXBlPVwidGV4dC9jc3NcIiByZWw9XCJzdHlsZXNoZWV0XCIgW2hyZWZdPVwiY3NzQ3VzdG9tVXJsXCIgLz5cblxuPGZkLXNoZWxsYmFyICpuZ0lmPVwiKHVzZXJMb2dnZWRJbiQgfCBhc3luYykgfHwgYWxsb3dBbm9ueW1vdXNcIiBbc2l6ZV09XCJkZXZpY2VTaXplXCI+XG4gICAgPGZkLXNoZWxsYmFyLWxvZ28gKm5nSWY9XCJsb2dvXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIChsb2dvPy5GaWxlSWQgfCBwaWNGaWVsZFNyYzogJ0dldFBpY3R1cmVGcm9tRmlsZUluZm8nOm51bGwpICsgJyknXCJcbiAgICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2xvZ28gZmQtc2hlbGxiYXJfX2xvZ28tLWltYWdlLXJlcGxhY2VkXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJCYXJzYSBOb3ZpbiBSYXlcIlxuICAgICAgICA+PC9hPlxuICAgIDwvZmQtc2hlbGxiYXItbG9nbz5cblxuICAgIDxmZC1wcm9kdWN0LW1lbnVcbiAgICAgICAgKm5nSWY9XCIhc2V0dGluZ3M/LkhpZGVQcm9kdWN0TWVudSAmJiBwcm9kdWN0TWVudUl0ZW1zMSAmJiBwcm9kdWN0TWVudUl0ZW1zMS5sZW5ndGggPiAwXCJcbiAgICAgICAgW2NvbnRyb2xdPVwicHJvZHVjdE1lbnVDb250cm9sXCJcbiAgICAgICAgW2Nsb3NlUG9wb3Zlck9uU2VsZWN0XT1cInRydWVcIlxuICAgICAgICBbaXRlbXNdPVwicHJvZHVjdE1lbnVJdGVtczFcIlxuICAgID5cbiAgICA8L2ZkLXByb2R1Y3QtbWVudT5cblxuICAgIDxmZC1zaGVsbGJhci1zdWJ0aXRsZT4ge3sgc3VidGl0bGUgfCBiYmJUcmFuc2xhdGUgfX17eyBzaG93VmVyc2lvbiA/IGFwcFZlcnNpb24gOiAnJyB9fSA8L2ZkLXNoZWxsYmFyLXN1YnRpdGxlPlxuICAgIDxmZC1zaGVsbGJhci1hY3Rpb25zXG4gICAgICAgICpuZ0lmPVwidXNlciAmJiAodXNlck1lbnU/Lmxlbmd0aCB8fCAhc2V0dGluZ3M/LkhpZGVMYW5ndWFnZSlcIlxuICAgICAgICBbdXNlcl09XCJ1c2VyXCJcbiAgICAgICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICAgICAgI2xhbmdSZWZcbiAgICA+XG4gICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiYWN0aW9uLkljb25cIlxuICAgICAgICAgICAgW2NhbGxiYWNrXT1cImFjdGlvbi5DYWxsYmFja1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLkxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cblxuICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgWyhpc09wZW4pXT1cImlzT3Blbk5vdGlmaWNhdG9pblwiXG4gICAgICAgICAgICBbdHJpZ2dlcnNdPVwiW11cIlxuICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgICAgICAgICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgIHRpdGxlPVwiTm90aWZpY2F0aW9uIFBvcG92ZXJcIlxuICAgICAgICAgICAgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGZkLXNoZWxsYmFyLWFjdGlvblxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiJ2JlbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidOb3RpZmljYXRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbkNvdW50XT1cIihub3RpZmljYXRpb25zQ291bnQkIHwgYXN5bmMpISFcIlxuICAgICAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uTGFiZWxdPVwiJ05vdGlmaWNhdGlvbiBMYWJlbCdcIlxuICAgICAgICAgICAgICAgICAgICBbY2FsbGJhY2tdPVwib25PcGVuTm90aWZpY2F0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgc3R5bGU9XCJtYXgtaGVpZ2h0OiA0MDBweDsgb3ZlcmZsb3cteDogYXV0bzsgYm94LXNoYWRvdzogdmFyKC0tc2FwQ29udGVudF9TaGFkb3cwKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJzdS1tYXNrICpuZ0lmPVwibm90aWZpY2F0aW9uTG9hZGluZyQgfCBhc3luY1wiIHNpemU9XCJzXCI+PC9ic3UtbWFzaz5cbiAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1vIG9mIG5vdGlmaWNhdGlvbnMkIHwgYXN5bmM7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxcHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXNdPVwiIWxhc3QgPyAwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXNdPVwiIWxhc3QgPyAwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXNdPVwiIWZpcnN0ID8gMCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlci10b3AtbGVmdC1yYWRpdXNdPVwiIWZpcnN0ID8gMCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2lyY2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwibW8uSWNvbiA/IG1vLkljb24gOiAnYmVsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW1hZ2VdPVwibW8uUGljdHVyZSA/IG1vLlBpY3R1cmUgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1hdmF0YXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1jb250ZW50IHN0eWxlPVwibWluLXdpZHRoOiAzMjBweDsgb3ZlcmZsb3c6IGhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbm90aWZpY2F0aW9uLWluZGljYXRvciBbdHlwZV09XCJtby5UeXBlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgZmQtbm90aWZpY2F0aW9uLXRpdGxlIFt1bnJlYWRdPVwidHJ1ZVwiPnt7IG1vLlRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBmZC1ub3RpZmljYXRpb24tcGFyYWdyYXBoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbW8uUGFyYWdyYXBoIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1mb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tZm9vdGVyLWNvbnRlbnQ+e3sgbW8uRmlyc3RGb290ZXJDb250ZW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLXNlcGFyYXRvcj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tZm9vdGVyLWNvbnRlbnQ+e3sgbW8uU2Vjb25kRm9vdGVyQ29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tZm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vLlJlbGF0ZWRNb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5vdGlmaWNhdGlvblJlbGF0ZWRDbGljayhtby5SZWxhdGVkTW8sIG1vLk5hbWFSZWxhdGVkTW8pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInVmlldycgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw9XCJDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZW1vdmVOb3RpZmlhdGlvbihtbylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tYm9keT5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPC9mZC1wb3BvdmVyPlxuXG4gICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgICpuZ0lmPVwiIXNldHRpbmdzPy5IaWRlTGFuZ3VhZ2UgJiYgZGV2aWNlU2l6ZSAhPT0gJ3MnXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCInd29ybGQnXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInbGFuZ3VhZ2UnXCJcbiAgICAgICAgICAgIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIlxuICAgICAgICAgICAgKGNhbGxiYWNrKT1cIihvbkxhbmd1YWdlKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2V0dGluZ3M/LkhpZGVMYW5ndWFnZSAmJiBkZXZpY2VTaXplID09PSAncydcIj5cbiAgICAgICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY3VsdHVyZSBvZiBjdWx0dXJlcyB8IGtleXZhbHVlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY3VsdHVyZS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2NhbGxiYWNrXT1cIm9uTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmZC1wcm9kdWN0LXN3aXRjaCAqbmdJZj1cInByb2R1Y3RTd2l0Y2hlci5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8ZmQtcHJvZHVjdC1zd2l0Y2gtYm9keSBbcHJvZHVjdHNdPVwicHJvZHVjdFN3aXRjaGVyXCIgW2ZvcmNlTGlzdE1vZGVdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnXCI+XG4gICAgICAgICAgICA8L2ZkLXByb2R1Y3Qtc3dpdGNoLWJvZHk+XG4gICAgICAgIDwvZmQtcHJvZHVjdC1zd2l0Y2g+XG4gICAgICAgIDwhLS0gPGZkLWNvbWJvYm94XG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgW2Ryb3Bkb3duVmFsdWVzXT1cInNlYXJjaFRlcm1zXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIoJ0VudGVyU2VhcmNoQ3JpdGVyaWEnIHwgYmJiVHJhbnNsYXRlKSArICcgLi4uJ1wiXG4gICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLWNvbWJvYm94PiAtLT5cbiAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbnM+XG48L2ZkLXNoZWxsYmFyPlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgIDxic3UtbWFzaz48L2JzdS1tYXNrPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGZkLW1lbnUgI21lbnU+XG4gICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgIDxsaSBmZC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGN1bHR1cmUgb2YgY3VsdHVyZXMgfCBrZXl2YWx1ZVwiPlxuICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJvbkN1bHR1cmVDaGFuZ2UoY3VsdHVyZS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IGN1bHR1cmUudmFsdWUgfX0gPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L2ZkLW1lbnU+XG4iXX0=
|
|
@@ -47,10 +47,10 @@ export class TilesViewerGroupComponent extends BaseComponent {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
TilesViewerGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
TilesViewerGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: { appTileGroup: "appTileGroup", stackContent: "stackContent", editHome: "editHome", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"editHome\" cdkDrag [cdkDragDisabled]=\"!editHome || !stackContent\">\r\n <fd-layout-panel-header *ngIf=\"editHome || stackContent || isAppTileSubGroup\">\r\n <fd-layout-panel-head>\r\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions *ngIf=\"editHome\" class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n <button\r\n fd-button\r\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\r\n [label]=\"'Refresh' | bbbTranslate\"\r\n (click)=\"onReset(appTileGroup)\"\r\n ></button>\r\n <button\r\n *ngIf=\"!appTileGroup.Predefined\"\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n fd-panel-content\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n <ng-container *ngIf=\"!editHome\">\r\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\r\n\r\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\r\n </ng-container>\r\n <div\r\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\r\n [class.edit-home]=\"editHome\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editHome || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [enableCommand]=\"!editHome && appTile.Component\"\r\n tileRenderer\r\n [data]=\"appTile\"\r\n [editHome]=\"editHome\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></span>\r\n </div>\r\n <fd-tile class=\"add-tile\" *ngIf=\"editHome\" [routerLink]=\"['/home/appfinder']\">\r\n <div>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n </div>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<bt-actions-link\r\n [class.actions-link-edit-home]=\"editHome\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [editHome]=\"editHome\"\r\n [style.min-height]=\"editHome ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n>\r\n</bt-actions-link>\r\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"true\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-container>\r\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i6.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i6.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i6.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i6.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i6.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i7.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: i9.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i11.ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "editHome"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "editHome", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: i12.TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "editHome"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i13.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
50
|
+
TilesViewerGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: { appTileGroup: "appTileGroup", stackContent: "stackContent", editHome: "editHome", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"editHome\" cdkDrag [cdkDragDisabled]=\"!editHome || !stackContent\">\r\n <fd-layout-panel-header *ngIf=\"editHome || stackContent || isAppTileSubGroup\">\r\n <fd-layout-panel-head>\r\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions *ngIf=\"editHome\" class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n <button\r\n fd-button\r\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\r\n [label]=\"'Refresh' | bbbTranslate\"\r\n (click)=\"onReset(appTileGroup)\"\r\n ></button>\r\n <button\r\n *ngIf=\"!appTileGroup.Predefined\"\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n fd-panel-content\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n <ng-container *ngIf=\"!editHome\">\r\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\r\n\r\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\r\n </ng-container>\r\n <div\r\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\r\n [class.edit-home]=\"editHome\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editHome || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [enableCommand]=\"!editHome && appTile.Component\"\r\n tileRenderer\r\n [data]=\"appTile\"\r\n [editHome]=\"editHome\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></span>\r\n </div>\r\n <fd-tile class=\"add-tile\" *ngIf=\"editHome\" [routerLink]=\"['/home/appfinder']\">\r\n <div>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n </div>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<bt-actions-link\r\n [class.actions-link-edit-home]=\"editHome\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [editHome]=\"editHome\"\r\n [style.min-height]=\"editHome ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n>\r\n</bt-actions-link>\r\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"true\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-container>\r\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:.5rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i6.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i6.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i6.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i6.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i6.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i7.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: i9.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i11.ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "editHome"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "editHome", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: i12.TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "editHome"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i13.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerGroupComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"editHome\" cdkDrag [cdkDragDisabled]=\"!editHome || !stackContent\">\r\n <fd-layout-panel-header *ngIf=\"editHome || stackContent || isAppTileSubGroup\">\r\n <fd-layout-panel-head>\r\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions *ngIf=\"editHome\" class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n <button\r\n fd-button\r\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\r\n [label]=\"'Refresh' | bbbTranslate\"\r\n (click)=\"onReset(appTileGroup)\"\r\n ></button>\r\n <button\r\n *ngIf=\"!appTileGroup.Predefined\"\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n fd-panel-content\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n <ng-container *ngIf=\"!editHome\">\r\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\r\n\r\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\r\n </ng-container>\r\n <div\r\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\r\n [class.edit-home]=\"editHome\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editHome || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [enableCommand]=\"!editHome && appTile.Component\"\r\n tileRenderer\r\n [data]=\"appTile\"\r\n [editHome]=\"editHome\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></span>\r\n </div>\r\n <fd-tile class=\"add-tile\" *ngIf=\"editHome\" [routerLink]=\"['/home/appfinder']\">\r\n <div>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n </div>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<bt-actions-link\r\n [class.actions-link-edit-home]=\"editHome\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [editHome]=\"editHome\"\r\n [style.min-height]=\"editHome ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n>\r\n</bt-actions-link>\r\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"true\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-container>\r\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}\n"] }]
|
|
53
|
+
args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"editHome\" cdkDrag [cdkDragDisabled]=\"!editHome || !stackContent\">\r\n <fd-layout-panel-header *ngIf=\"editHome || stackContent || isAppTileSubGroup\">\r\n <fd-layout-panel-head>\r\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions *ngIf=\"editHome\" class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n <button\r\n fd-button\r\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\r\n [label]=\"'Refresh' | bbbTranslate\"\r\n (click)=\"onReset(appTileGroup)\"\r\n ></button>\r\n <button\r\n *ngIf=\"!appTileGroup.Predefined\"\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n fd-panel-content\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n <ng-container *ngIf=\"!editHome\">\r\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\r\n\r\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\r\n </ng-container>\r\n <div\r\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\r\n [class.edit-home]=\"editHome\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editHome || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [enableCommand]=\"!editHome && appTile.Component\"\r\n tileRenderer\r\n [data]=\"appTile\"\r\n [editHome]=\"editHome\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></span>\r\n </div>\r\n <fd-tile class=\"add-tile\" *ngIf=\"editHome\" [routerLink]=\"['/home/appfinder']\">\r\n <div>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n </div>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<bt-actions-link\r\n [class.actions-link-edit-home]=\"editHome\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [editHome]=\"editHome\"\r\n [style.min-height]=\"editHome ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n>\r\n</bt-actions-link>\r\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"true\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-container>\r\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:.5rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}\n"] }]
|
|
54
54
|
}], ctorParameters: function () { return []; }, propDecorators: { appTileGroup: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}], stackContent: [{
|
|
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
74
74
|
}], deleteGroup: [{
|
|
75
75
|
type: Output
|
|
76
76
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsYUFBYSxFQUE4QyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRakcsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFnQnhEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFWRixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUdyQyxDQUFDO1FBQ0sscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDN0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUdoRSxDQUFDO0lBRUQsTUFBTSxDQUNGLFlBQWlDLEVBQ2pDLEtBQXFFO1FBRXJFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDdkMsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLFlBQWlDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFpQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQWlDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3NIQTdDUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixpY0NYdEMsMnVKQXdHQSxza0lEN0ZhLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTswRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgc3RhY2tDb250ZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZWRpdEhvbWU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc0FwcFRpbGVTdWJHcm91cDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgdGlsZXNEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICAgICAgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgICAgIGV2ZW50OiBDZGtEcmFnRHJvcDx7IGlzVGlsZTogYm9vbGVhbjsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9PjtcclxuICAgIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgaGlkZUFwcFRpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSByZW5hbWVBcHBUaWxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgdG9nZ2xlR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVzZXRHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBkZWxldGVHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ecm9wKFxyXG4gICAgICAgIGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgICAgICBldmVudDogQ2RrRHJhZ0Ryb3A8eyBpc1RpbGU6IGJvb2xlYW47IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfT5cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5lZGl0SG9tZSB8fCBhcHBUaWxlR3JvdXAuTG9ja2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aWxlc0Ryb3BwZWQuZW1pdCh7IGFwcFRpbGVHcm91cCwgZXZlbnQgfSk7XHJcbiAgICB9XHJcbiAgICBvbkFwcFRpbGVIaWRlQ2xpY2soYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZUFwcFRpbGVDbGljay5lbWl0KGFwcFRpbGUpO1xyXG4gICAgfVxyXG4gICAgb25BcHBUaWxlUmVuYW1lQ2xpY2soYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuYW1lQXBwVGlsZUNsaWNrLmVtaXQoYXBwVGlsZSk7XHJcbiAgICB9XHJcbiAgICBvbkRlbGV0ZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlR3JvdXAuZW1pdChhcHBUaWxlR3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVzZXQoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZXNldEdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtbGF5b3V0LXBhbmVsIFtmaXhlZF09XCJ0cnVlXCIgW2F0dHIuZWRpdEhvbWVdPVwiZWRpdEhvbWVcIiBjZGtEcmFnIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXRIb21lIHx8ICFzdGFja0NvbnRlbnRcIj5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZGVyICpuZ0lmPVwiZWRpdEhvbWUgfHwgc3RhY2tDb250ZW50IHx8IGlzQXBwVGlsZVN1Ykdyb3VwXCI+XHJcbiAgICAgICAgPGZkLWxheW91dC1wYW5lbC1oZWFkPlxyXG4gICAgICAgICAgICA8aDIgZmQtbGF5b3V0LXBhbmVsLXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB9fTwvaDI+XHJcbiAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtaGVhZD5cclxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnMgKm5nSWY9XCJlZGl0SG9tZVwiIGNsYXNzPVwiZ3JvdXAtYnRuc1wiPlxyXG4gICAgICAgICAgICA8ZmQtdG9vbGJhciBbc2hvdWxkT3ZlcmZsb3ddPVwiZmFsc2VcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIhYXBwVGlsZUdyb3VwLm5hdmlnYXRvclZpc2libGUgPyAoJ1Nob3cnIHwgYmJiVHJhbnNsYXRlKSA6ICgnSGlkZScgfCBiYmJUcmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVTaG93SGlkZShhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFwcFRpbGVHcm91cC5QcmVkZWZpbmVkICYmIGFwcFRpbGVHcm91cC4kVGlsZVNldHRpbmdDaGFuZ2VkXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1JlZnJlc2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZXNldChhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFhcHBUaWxlR3JvdXAuUHJlZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidEZWxldGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIiduZWdhdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkZXI+XHJcbiAgICA8ZmQtbGF5b3V0LXBhbmVsLWJvZHkgW2JsZWVkXT1cIiFzdGFja0NvbnRlbnRcIiBbY2xhc3Muc21hbGwtc2l6ZV09XCJkZXZpY2VTaXplID09PSAncydcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidGlsZS13cmFwcGVyXCJcclxuICAgICAgICAgICAgZmQtcGFuZWwtY29udGVudFxyXG4gICAgICAgICAgICAjdGlsZXM9XCJjZGtEcm9wTGlzdFwiXHJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcclxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoYXBwVGlsZUdyb3VwLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiYWN0aW9uTGlua3NcIlxyXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIntcclxuICAgICAgICAgICAgICAgIGlzVGlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGl0ZW1zOiBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMgfHwgW11cclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVkaXRIb21lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgZmQtdGl0bGUgKm5nSWY9XCIhYXBwVGlsZUdyb3VwLiRUaWxlc0xvYWRlZFwiIFtsb2FkaW5nXT1cInRydWVcIj48L2ZkLWJ1c3ktaW5kaWNhdG9yPlxyXG5cclxuICAgICAgICAgICAgICAgIDxoNSBmZC10aXRsZSAqbmdJZj1cIiFhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubGVuZ3RoICYmIGFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWRcIj48L2g1PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFwcFRpbGUgb2YgYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpbGVzOyBsZXQgayA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5lZGl0LWhvbWVdPVwiZWRpdEhvbWVcIlxyXG4gICAgICAgICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdEhvbWUgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNDb21tYW5kXT1cImFwcFRpbGUuRHluYW1pY0NvbW1hbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVDb21tYW5kXT1cIiFlZGl0SG9tZSAmJiBhcHBUaWxlLkNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGlsZVJlbmRlcmVyXHJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiYXBwVGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VkaXRIb21lXT1cImVkaXRIb21lXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cImFwcFRpbGUuQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAoaGlkZUNsaWNrKT1cIm9uQXBwVGlsZUhpZGVDbGljayhhcHBUaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlbmFtZUNsaWNrKT1cIm9uQXBwVGlsZVJlbmFtZUNsaWNrKGFwcFRpbGUpXCJcclxuICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZmQtdGlsZSBjbGFzcz1cImFkZC10aWxlXCIgKm5nSWY9XCJlZGl0SG9tZVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2hvbWUvYXBwZmluZGVyJ11cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhZGRcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9mZC10aWxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cclxuPC9mZC1sYXlvdXQtcGFuZWw+XHJcblxyXG48YnQtYWN0aW9ucy1saW5rXHJcbiAgICBbY2xhc3MuYWN0aW9ucy1saW5rLWVkaXQtaG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICBbYWN0aW9uc0xpbmtdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzXCJcclxuICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodF09XCJlZGl0SG9tZSA/ICc0cmVtJyA6ICdhdXRvJ1wiXHJcbiAgICBjZGtEcm9wTGlzdFxyXG4gICAgI2FjdGlvbkxpbmtzPVwiY2RrRHJvcExpc3RcIlxyXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwidGlsZXNcIlxyXG4gICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoYXBwVGlsZUdyb3VwLCAkZXZlbnQpXCJcclxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwie1xyXG4gICAgICAgIGlzVGlsZTogZmFsc2UsXHJcbiAgICAgICAgaXRlbXM6IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JBY3Rpb25MaW5rcyB8fCBbXVxyXG4gICAgfVwiXHJcbj5cclxuPC9idC1hY3Rpb25zLWxpbms+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFwcFRpbGVTdWJHcm91cCBvZiBhcHBUaWxlR3JvdXAuJENoaWxkcmVuXCI+XHJcbiAgICA8YnQtdGlsZXMtdmlld2VyLWdyb3VwXHJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlU3ViR3JvdXBcIlxyXG4gICAgICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgICAgIFtpc0FwcFRpbGVTdWJHcm91cF09XCJ0cnVlXCJcclxuICAgICAgICAodGlsZXNEcm9wcGVkKT1cInRpbGVzRHJvcHBlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChyZW5hbWVBcHBUaWxlQ2xpY2spPVwicmVuYW1lQXBwVGlsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGhpZGVBcHBUaWxlQ2xpY2spPVwiaGlkZUFwcFRpbGVDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChyZXNldEdyb3VwKT1cInJlc2V0R3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoZGVsZXRlR3JvdXApPVwiZGVsZXRlR3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAodG9nZ2xlR3JvdXApPVwidG9nZ2xlR3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L2J0LXRpbGVzLXZpZXdlci1ncm91cD5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsYUFBYSxFQUE4QyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRakcsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFnQnhEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFWRixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUdyQyxDQUFDO1FBQ0sscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDN0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUdoRSxDQUFDO0lBRUQsTUFBTSxDQUNGLFlBQWlDLEVBQ2pDLEtBQXFFO1FBRXJFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDdkMsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLFlBQWlDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFpQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQWlDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3NIQTdDUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixpY0NYdEMsMnVKQXdHQSw2b0lEN0ZhLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTswRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgc3RhY2tDb250ZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZWRpdEhvbWU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc0FwcFRpbGVTdWJHcm91cDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgdGlsZXNEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICAgICAgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgICAgIGV2ZW50OiBDZGtEcmFnRHJvcDx7IGlzVGlsZTogYm9vbGVhbjsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9PjtcclxuICAgIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgaGlkZUFwcFRpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSByZW5hbWVBcHBUaWxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgdG9nZ2xlR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVzZXRHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBkZWxldGVHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ecm9wKFxyXG4gICAgICAgIGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgICAgICBldmVudDogQ2RrRHJhZ0Ryb3A8eyBpc1RpbGU6IGJvb2xlYW47IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfT5cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5lZGl0SG9tZSB8fCBhcHBUaWxlR3JvdXAuTG9ja2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aWxlc0Ryb3BwZWQuZW1pdCh7IGFwcFRpbGVHcm91cCwgZXZlbnQgfSk7XHJcbiAgICB9XHJcbiAgICBvbkFwcFRpbGVIaWRlQ2xpY2soYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZUFwcFRpbGVDbGljay5lbWl0KGFwcFRpbGUpO1xyXG4gICAgfVxyXG4gICAgb25BcHBUaWxlUmVuYW1lQ2xpY2soYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuYW1lQXBwVGlsZUNsaWNrLmVtaXQoYXBwVGlsZSk7XHJcbiAgICB9XHJcbiAgICBvbkRlbGV0ZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlR3JvdXAuZW1pdChhcHBUaWxlR3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVzZXQoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZXNldEdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtbGF5b3V0LXBhbmVsIFtmaXhlZF09XCJ0cnVlXCIgW2F0dHIuZWRpdEhvbWVdPVwiZWRpdEhvbWVcIiBjZGtEcmFnIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXRIb21lIHx8ICFzdGFja0NvbnRlbnRcIj5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZGVyICpuZ0lmPVwiZWRpdEhvbWUgfHwgc3RhY2tDb250ZW50IHx8IGlzQXBwVGlsZVN1Ykdyb3VwXCI+XHJcbiAgICAgICAgPGZkLWxheW91dC1wYW5lbC1oZWFkPlxyXG4gICAgICAgICAgICA8aDIgZmQtbGF5b3V0LXBhbmVsLXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB9fTwvaDI+XHJcbiAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtaGVhZD5cclxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnMgKm5nSWY9XCJlZGl0SG9tZVwiIGNsYXNzPVwiZ3JvdXAtYnRuc1wiPlxyXG4gICAgICAgICAgICA8ZmQtdG9vbGJhciBbc2hvdWxkT3ZlcmZsb3ddPVwiZmFsc2VcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIhYXBwVGlsZUdyb3VwLm5hdmlnYXRvclZpc2libGUgPyAoJ1Nob3cnIHwgYmJiVHJhbnNsYXRlKSA6ICgnSGlkZScgfCBiYmJUcmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVTaG93SGlkZShhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFwcFRpbGVHcm91cC5QcmVkZWZpbmVkICYmIGFwcFRpbGVHcm91cC4kVGlsZVNldHRpbmdDaGFuZ2VkXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1JlZnJlc2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZXNldChhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFhcHBUaWxlR3JvdXAuUHJlZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidEZWxldGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIiduZWdhdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkZXI+XHJcbiAgICA8ZmQtbGF5b3V0LXBhbmVsLWJvZHkgW2JsZWVkXT1cIiFzdGFja0NvbnRlbnRcIiBbY2xhc3Muc21hbGwtc2l6ZV09XCJkZXZpY2VTaXplID09PSAncydcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidGlsZS13cmFwcGVyXCJcclxuICAgICAgICAgICAgZmQtcGFuZWwtY29udGVudFxyXG4gICAgICAgICAgICAjdGlsZXM9XCJjZGtEcm9wTGlzdFwiXHJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcclxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoYXBwVGlsZUdyb3VwLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiYWN0aW9uTGlua3NcIlxyXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIntcclxuICAgICAgICAgICAgICAgIGlzVGlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGl0ZW1zOiBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMgfHwgW11cclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVkaXRIb21lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgZmQtdGl0bGUgKm5nSWY9XCIhYXBwVGlsZUdyb3VwLiRUaWxlc0xvYWRlZFwiIFtsb2FkaW5nXT1cInRydWVcIj48L2ZkLWJ1c3ktaW5kaWNhdG9yPlxyXG5cclxuICAgICAgICAgICAgICAgIDxoNSBmZC10aXRsZSAqbmdJZj1cIiFhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubGVuZ3RoICYmIGFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWRcIj48L2g1PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFwcFRpbGUgb2YgYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpbGVzOyBsZXQgayA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5lZGl0LWhvbWVdPVwiZWRpdEhvbWVcIlxyXG4gICAgICAgICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdEhvbWUgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNDb21tYW5kXT1cImFwcFRpbGUuRHluYW1pY0NvbW1hbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVDb21tYW5kXT1cIiFlZGl0SG9tZSAmJiBhcHBUaWxlLkNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGlsZVJlbmRlcmVyXHJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiYXBwVGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VkaXRIb21lXT1cImVkaXRIb21lXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cImFwcFRpbGUuQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAoaGlkZUNsaWNrKT1cIm9uQXBwVGlsZUhpZGVDbGljayhhcHBUaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlbmFtZUNsaWNrKT1cIm9uQXBwVGlsZVJlbmFtZUNsaWNrKGFwcFRpbGUpXCJcclxuICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZmQtdGlsZSBjbGFzcz1cImFkZC10aWxlXCIgKm5nSWY9XCJlZGl0SG9tZVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2hvbWUvYXBwZmluZGVyJ11cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhZGRcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9mZC10aWxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cclxuPC9mZC1sYXlvdXQtcGFuZWw+XHJcblxyXG48YnQtYWN0aW9ucy1saW5rXHJcbiAgICBbY2xhc3MuYWN0aW9ucy1saW5rLWVkaXQtaG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICBbYWN0aW9uc0xpbmtdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzXCJcclxuICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodF09XCJlZGl0SG9tZSA/ICc0cmVtJyA6ICdhdXRvJ1wiXHJcbiAgICBjZGtEcm9wTGlzdFxyXG4gICAgI2FjdGlvbkxpbmtzPVwiY2RrRHJvcExpc3RcIlxyXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwidGlsZXNcIlxyXG4gICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoYXBwVGlsZUdyb3VwLCAkZXZlbnQpXCJcclxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwie1xyXG4gICAgICAgIGlzVGlsZTogZmFsc2UsXHJcbiAgICAgICAgaXRlbXM6IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JBY3Rpb25MaW5rcyB8fCBbXVxyXG4gICAgfVwiXHJcbj5cclxuPC9idC1hY3Rpb25zLWxpbms+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFwcFRpbGVTdWJHcm91cCBvZiBhcHBUaWxlR3JvdXAuJENoaWxkcmVuXCI+XHJcbiAgICA8YnQtdGlsZXMtdmlld2VyLWdyb3VwXHJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlU3ViR3JvdXBcIlxyXG4gICAgICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgICAgIFtpc0FwcFRpbGVTdWJHcm91cF09XCJ0cnVlXCJcclxuICAgICAgICAodGlsZXNEcm9wcGVkKT1cInRpbGVzRHJvcHBlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChyZW5hbWVBcHBUaWxlQ2xpY2spPVwicmVuYW1lQXBwVGlsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGhpZGVBcHBUaWxlQ2xpY2spPVwiaGlkZUFwcFRpbGVDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChyZXNldEdyb3VwKT1cInJlc2V0R3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoZGVsZXRlR3JvdXApPVwiZGVsZXRlR3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAodG9nZ2xlR3JvdXApPVwidG9nZ2xlR3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L2J0LXRpbGVzLXZpZXdlci1ncm91cD5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|