barsa-tiles 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/actions-link/actions-link.component.mjs +3 -3
- package/esm2020/lib/app-finder/app-finder.component.mjs +3 -3
- package/esm2020/lib/app-finder-group/app-finder-group.component.mjs +3 -3
- package/esm2020/lib/app-finder.service.mjs +1 -1
- package/esm2020/lib/directives/emptylist.directive.mjs +1 -1
- package/esm2020/lib/feed-tile/feed-tile.component.mjs +3 -3
- package/esm2020/lib/footer-edit-tile/footer-edit-tile.component.mjs +1 -1
- package/esm2020/lib/footer-tile/footer-tile.component.mjs +1 -1
- package/esm2020/lib/form-app-finder/form-app-finder.component.mjs +3 -3
- package/esm2020/lib/form-tile/form-tile.component.mjs +1 -1
- package/esm2020/lib/models/base-bt-tile-component.mjs +1 -1
- package/esm2020/lib/models/base-tile-component.mjs +1 -1
- package/esm2020/lib/news-tile/news-tile.component.mjs +3 -3
- package/esm2020/lib/pin-tile/pin-tile.component.mjs +1 -1
- package/esm2020/lib/shellbar/shellbar.component.mjs +8 -4
- package/esm2020/lib/tile/tile.component.mjs +3 -3
- package/esm2020/lib/tile-renderer.directive.mjs +1 -1
- package/esm2020/lib/tiles-viewer/tiles-viewer.component.mjs +14 -9
- package/esm2020/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +4 -6
- package/esm2020/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +5 -3
- package/fesm2015/barsa-tiles.mjs +41 -32
- package/fesm2015/barsa-tiles.mjs.map +1 -1
- package/fesm2020/barsa-tiles.mjs +41 -32
- package/fesm2020/barsa-tiles.mjs.map +1 -1
- package/lib/shellbar/shellbar.component.d.ts +2 -0
- package/lib/tiles-viewer/tiles-viewer.component.d.ts +3 -1
- package/lib/tiles-viewer-container/tiles-viewer-container.component.d.ts +2 -1
- package/lib/tiles-viewer-group/tiles-viewer-group.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -32,14 +32,19 @@ export class TilesViewerComponent extends BaseComponent {
|
|
|
32
32
|
this.rtl = BarsaApi.LoginFormData.IsRtl;
|
|
33
33
|
}
|
|
34
34
|
onSelectedTabChange(selectedTab, appTileGroups) {
|
|
35
|
-
|
|
36
|
-
if (!this.
|
|
37
|
-
|
|
35
|
+
let firstSelected = false;
|
|
36
|
+
if (!this.selectedTabTitle) {
|
|
37
|
+
firstSelected = true;
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
const selectedTabTitle = selectedTab.title || '';
|
|
40
|
+
this.selectedTabTitle = selectedTabTitle;
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
this.tabChanged.emit({
|
|
43
|
+
firstSelected,
|
|
44
|
+
selectedTabTitle,
|
|
45
|
+
tabPanels: this.tabListComponent.tabPanels.toArray(),
|
|
46
|
+
appTileGroups
|
|
47
|
+
});
|
|
43
48
|
});
|
|
44
49
|
}
|
|
45
50
|
onDropGroup(appTileGroups, event) {
|
|
@@ -65,7 +70,7 @@ export class TilesViewerComponent extends BaseComponent {
|
|
|
65
70
|
}
|
|
66
71
|
}
|
|
67
72
|
TilesViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
TilesViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", editHome: "editHome", stackContent: "stackContent", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "attr.rtl": "this.rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appTileGroups; else loadingTpl\">\r\n <bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n <fd-dynamic-page\r\n size=\"large\"\r\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\r\n [autoResponsive]=\"true\"\r\n [class.stack-mode]=\"stackContent\"\r\n >\r\n <fd-dynamic-page-header *ngIf=\"editHome\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar *ngIf=\"editHome\" fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n stackContent ? renderTabsStacked : renderTabs;\r\n context: {\r\n $implicit: appTileGroups,\r\n stackContent: stackContent,\r\n editHome: editHome\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n <fd-dynamic-page-footer>\r\n <div fd-bar barDesign=\"footer\" *ngIf=\"editHome\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n </fd-dynamic-page>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n [stackContent]=\"true\"\r\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [count]=\"appTileGroup.$Children?.length\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template\r\n #renderGroup\r\n let-appTileGroup\r\n let-stackContent=\"stackContent\"\r\n let-editHome=\"editHome\"\r\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\r\n>\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\r\n (tilesDropped)=\"onDrop($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-template>\r\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: i3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i5.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "subtitle"] }, { kind: "component", type: i5.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i5.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i5.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i5.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i6.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i7.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "disabled", "id", "name", "required", "checked", "semantic", "ariaLabel", "ariaLabelledby", "ariaLabelledBy", "semanticAcceptLabel", "semanticDeclineLabel"], outputs: ["checkedChange"] }, { kind: "component", type: i8.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i8.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i9.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i9.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i10.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i11.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "editHome", "isAppTileSubGroup"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i12.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
|
+
TilesViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", editHome: "editHome", stackContent: "stackContent", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "attr.rtl": "this.rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appTileGroups; else loadingTpl\">\r\n <bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n <fd-dynamic-page\r\n size=\"large\"\r\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\r\n [autoResponsive]=\"true\"\r\n [class.stack-mode]=\"stackContent\"\r\n >\r\n <fd-dynamic-page-header *ngIf=\"editHome\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar *ngIf=\"editHome\" fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n stackContent ? renderTabsStacked : renderTabs;\r\n context: {\r\n $implicit: appTileGroups,\r\n stackContent: stackContent,\r\n editHome: editHome\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n <fd-dynamic-page-footer>\r\n <div fd-bar barDesign=\"footer\" *ngIf=\"editHome\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n </fd-dynamic-page>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n [stackContent]=\"true\"\r\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [count]=\"appTileGroup.$Children?.length\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template\r\n #renderGroup\r\n let-appTileGroup\r\n let-stackContent=\"stackContent\"\r\n let-editHome=\"editHome\"\r\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\r\n>\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\r\n (tilesDropped)=\"onDrop($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-template>\r\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: i3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i5.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "subtitle"] }, { kind: "component", type: i5.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i5.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i5.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i5.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i6.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i7.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "disabled", "id", "name", "required", "checked", "semantic", "ariaLabel", "ariaLabelledby", "ariaLabelledBy", "semanticAcceptLabel", "semanticDeclineLabel"], outputs: ["checkedChange"] }, { kind: "component", type: i8.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i8.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i9.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i9.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i10.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i11.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "editHome", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i12.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
69
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerComponent, decorators: [{
|
|
70
75
|
type: Component,
|
|
71
76
|
args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"appTileGroups; else loadingTpl\">\r\n <bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n <fd-dynamic-page\r\n size=\"large\"\r\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\r\n [autoResponsive]=\"true\"\r\n [class.stack-mode]=\"stackContent\"\r\n >\r\n <fd-dynamic-page-header *ngIf=\"editHome\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar *ngIf=\"editHome\" fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n stackContent ? renderTabsStacked : renderTabs;\r\n context: {\r\n $implicit: appTileGroups,\r\n stackContent: stackContent,\r\n editHome: editHome\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n <fd-dynamic-page-footer>\r\n <div fd-bar barDesign=\"footer\" *ngIf=\"editHome\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n </fd-dynamic-page>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n [stackContent]=\"true\"\r\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [count]=\"appTileGroup.$Children?.length\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template\r\n #renderGroup\r\n let-appTileGroup\r\n let-stackContent=\"stackContent\"\r\n let-editHome=\"editHome\"\r\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\r\n>\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\r\n (tilesDropped)=\"onDrop($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-template>\r\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"] }]
|
|
@@ -115,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
115
120
|
type: HostBinding,
|
|
116
121
|
args: ['attr.rtl']
|
|
117
122
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyL3RpbGVzLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci90aWxlcy12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBRSxhQUFhLEVBQXVCLFFBQVEsRUFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRyxPQUFPLEVBQVksZ0JBQWdCLEVBQXFCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXRGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBTnZEOztRQVF1QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFVakQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFHcEMsQ0FBQztRQUNLLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFJbkMsQ0FBQztRQUVLLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDdEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3JELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDdEQscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFN0QsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFHckMsQ0FBQztRQUVvQixRQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7S0FvQy9EO0lBbENHLG1CQUFtQixDQUFDLFdBQThCLEVBQUUsYUFBb0M7UUFDcEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFFMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDcEQsV0FBVztZQUNYLGFBQWE7U0FDaEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFdBQVcsQ0FBQyxhQUFvQyxFQUFFLEtBQXlDO1FBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELHFCQUFxQixDQUFDLE9BQU87UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQWdDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQzs7aUhBdkVRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHF3QkFDbEIsZ0JBQWdCLHVFQ2IvQixpa05Bb0pBOzJGRHhJYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OEJBR2xCLGdCQUFnQjtzQkFBNUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ1EsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDeEIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFJRyxVQUFVO3NCQUFuQixNQUFNO2dCQU1HLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRUcsWUFBWTtzQkFBckIsTUFBTTtnQkFLa0IsR0FBRztzQkFBM0IsV0FBVzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBCYXJzYUFwaSwgQWJicmV2YXRpb25EZXZpY2VTaXplIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFRhYkxpc3RDb21wb25lbnQsIFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC10aWxlcy12aWV3ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGVzLXZpZXdlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVzVmlld2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZChUYWJMaXN0Q29tcG9uZW50KSB0YWJMaXN0Q29tcG9uZW50OiBUYWJMaXN0Q29tcG9uZW50O1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS1jb250ZW50JykgcGFnZUNvbnRlbnRDbGFzcyA9IHRydWU7XG4gICAgQElucHV0KCkgYXBwVGlsZUdyb3VwczogQXJyYXk8TWV0YW9iamVjdERhdGFNb2RlbD47XG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBlZGl0SG9tZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzdGFja0NvbnRlbnQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkQXBwR3JvdXBJZDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgRHluYW1pY0NvbXBvbmVudHM6IGFueTtcblxuICAgIEBPdXRwdXQoKSBzdGFja0NvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlRWRpdEhvbWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGxpc3REcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGFwcFRpbGVHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICAgICAgZXZlbnQ6IENka0RyYWdEcm9wPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgdGFiQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBzZWxlY3RlZFRhYjogVGFiUGFuZWxDb21wb25lbnQ7XG4gICAgICAgIHRhYlBhbmVsczogVGFiUGFuZWxDb21wb25lbnRbXTtcbiAgICAgICAgYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIH0+KCk7XG5cbiAgICBAT3V0cHV0KCkgdG9nZ2xlR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHJlc2V0R3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGRlbGV0ZUdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBoaWRlQXBwVGlsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSByZW5hbWVBcHBUaWxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGlsZXNEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICAgICAgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+O1xuICAgIH0+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucnRsJykgcnRsID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1J0bDtcbiAgICBzZWxlY3RlZFRhYlRpdGxlOiBOdWxsYWJsZTxzdHJpbmc+O1xuICAgIG9uU2VsZWN0ZWRUYWJDaGFuZ2Uoc2VsZWN0ZWRUYWI6IFRhYlBhbmVsQ29tcG9uZW50LCBhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYlRpdGxlID0gc2VsZWN0ZWRUYWIudGl0bGU7XG5cbiAgICAgICAgaWYgKCF0aGlzLnRhYkxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICB0YWJQYW5lbHM6IHRoaXMudGFiTGlzdENvbXBvbmVudC50YWJQYW5lbHMudG9BcnJheSgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRUYWIsXG4gICAgICAgICAgICBhcHBUaWxlR3JvdXBzXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvbkRyb3BHcm91cChhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sIGV2ZW50OiBDZGtEcmFnRHJvcDxNZXRhb2JqZWN0RGF0YU1vZGVsW10+KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0SG9tZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGlzdERyb3BwZWQuZW1pdCh7IGFwcFRpbGVHcm91cHMsIGV2ZW50IH0pO1xuICAgIH1cbiAgICBvbkRyb3AoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMudGlsZXNEcm9wcGVkLmVtaXQoJGV2ZW50KTtcbiAgICB9XG4gICAgb25TdGFja0NvbnRlbnRDaGFuZ2VkKGNoZWNrZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGFja0NvbnRlbnRDaGFuZ2UuZW1pdChjaGVja2VkKTtcbiAgICB9XG5cbiAgICBvbkV4aXRFZGl0SG9tZShhcHBHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmUuZW1pdChhcHBHcm91cHMpO1xuICAgIH1cbiAgICBvbkNsb3NlRWRpdEhvbWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VFZGl0SG9tZS5lbWl0KCk7XG4gICAgfVxuICAgIF90cmFja0J5SWQoaXRlbSwgaW5kZXgpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgICAgICByZXR1cm4gaXRlbSA/IGl0ZW0uSWQgOiBpbmRleDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwVGlsZUdyb3VwczsgZWxzZSBsb2FkaW5nVHBsXCI+XHJcbiAgICA8YnN1LW1hc2sgKm5nSWY9XCJsb2FkaW5nXCI+PC9ic3UtbWFzaz5cclxuICAgIDxmZC1keW5hbWljLXBhZ2VcclxuICAgICAgICBzaXplPVwibGFyZ2VcIlxyXG4gICAgICAgIFthcmlhTGFiZWxdPVwiJ0hvbWVFZGl0JyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2F1dG9SZXNwb25zaXZlXT1cInRydWVcIlxyXG4gICAgICAgIFtjbGFzcy5zdGFjay1tb2RlXT1cInN0YWNrQ29udGVudFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1oZWFkZXIgKm5nSWY9XCJlZGl0SG9tZVwiIFt0aXRsZV09XCInSG9tZUVkaXQnIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnM+XHJcbiAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhciAqbmdJZj1cImVkaXRIb21lXCIgZmRUeXBlPVwidHJhbnNwYXJlbnRcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIGZkLXRvb2xiYXItaXRlbT5TdGFja2VkIENvbnRlbnQgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtc3dpdGNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJvblN0YWNrQ29udGVudENoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtc3dpdGNoPlxyXG4gICAgICAgICAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1nbG9iYWwtYWN0aW9ucz5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1sYXlvdXQtYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIHRpdGxlPVwiQ2xvc2VcIiAoY2xpY2spPVwib25DbG9zZUVkaXRIb21lKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzYXAtaWNvbi0tZGVjbGluZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZmQtdG9vbGJhcj5cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtbGF5b3V0LWFjdGlvbnM+XHJcbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtaGVhZGVyPlxyXG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICBzdGFja0NvbnRlbnQgPyByZW5kZXJUYWJzU3RhY2tlZCA6IHJlbmRlclRhYnM7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGFwcFRpbGVHcm91cHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQ29udGVudDogc3RhY2tDb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0SG9tZTogZWRpdEhvbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cclxuICAgICAgICAgICAgPGRpdiBmZC1iYXIgYmFyRGVzaWduPVwiZm9vdGVyXCIgKm5nSWY9XCJlZGl0SG9tZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTYXZlQW5kQ2xvc2UnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwiZW1waGFzaXplZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkV4aXRFZGl0SG9tZShhcHBUaWxlR3JvdXBzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1mb290ZXI+XHJcbiAgICA8L2ZkLWR5bmFtaWMtcGFnZT5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2xvYWRpbmdUcGw+XHJcbiAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFicyBsZXQtYXBwVGlsZUdyb3VwcyBsZXQtc3RhY2tDb250ZW50PVwic3RhY2tDb250ZW50XCIgbGV0LWVkaXRIb21lPVwiZWRpdEhvbWVcIj5cclxuICAgIDxmZC10YWItbGlzdFxyXG4gICAgICAgIGNsYXNzPVwidGlsZS10YWJzXCJcclxuICAgICAgICBbc2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbY29sbGFwc2VPdmVyZmxvd109XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwidmVydGljYWxcIlxyXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wR3JvdXAoYXBwVGlsZUdyb3VwcywgJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uU2VsZWN0ZWRUYWJDaGFuZ2UoJGV2ZW50LCBhcHBUaWxlR3JvdXBzKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IF90cmFja0J5SWRcIj5cclxuICAgICAgICAgICAgPGZkLXRhYlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlZGl0SG9tZSB8fCBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpdGxlIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidmZC10YWJzLS0nICsgZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtZXhwYW5kZWRdPVwic2VsZWN0ZWRUYWJUaXRsZSA9PT0gKGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB8IGJiYlRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQgW2lkXT1cImFwcFRpbGVHcm91cC5JZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckdyb3VwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogYXBwVGlsZUdyb3VwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQ29udGVudDogc3RhY2tDb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRIb21lOiBlZGl0SG9tZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FwcFRpbGVTdWJHcm91cDogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2ZkLXRhYj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZmQtdGFiLWxpc3Q+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFic1N0YWNrZWQgbGV0LWFwcFRpbGVHcm91cHMgbGV0LXN0YWNrQ29udGVudD1cInN0YWNrQ29udGVudFwiIGxldC1lZGl0SG9tZT1cImVkaXRIb21lXCI+XHJcbiAgICA8ZmQtdGFiLWxpc3RcclxuICAgICAgICBjbGFzcz1cInRpbGUtdGFic1wiXHJcbiAgICAgICAgW3NpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW2NvbGxhcHNlT3ZlcmZsb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIFtzdGFja0NvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW21heENvbnRlbnRIZWlnaHRdPVwic3RhY2tDb250ZW50ID8gJ2NhbGMoOTl2aCAtIDIuNzVyZW0gLSA0NHB4KScgOiAnY2FsYygxMDB2aCAtIDQ0cHgpJ1wiXHJcbiAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwidmVydGljYWxcIlxyXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wR3JvdXAoYXBwVGlsZUdyb3VwcywgJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IF90cmFja0J5SWRcIj5cclxuICAgICAgICAgICAgPGZkLXRhYlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlZGl0SG9tZSB8fCBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpdGxlIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidmZC10YWJzLS0nICsgZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICBbY291bnRdPVwiYXBwVGlsZUdyb3VwLiRDaGlsZHJlbj8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50IFtpZF09XCJhcHBUaWxlR3JvdXAuSWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJHcm91cDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGFwcFRpbGVHcm91cCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja0NvbnRlbnQ6IHN0YWNrQ29udGVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0SG9tZTogZWRpdEhvbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBcHBUaWxlU3ViR3JvdXA6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2ZkLXRhYi1saXN0PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNyZW5kZXJHcm91cFxyXG4gICAgbGV0LWFwcFRpbGVHcm91cFxyXG4gICAgbGV0LXN0YWNrQ29udGVudD1cInN0YWNrQ29udGVudFwiXHJcbiAgICBsZXQtZWRpdEhvbWU9XCJlZGl0SG9tZVwiXHJcbiAgICBsZXQtaXNBcHBUaWxlU3ViR3JvdXA9XCJpc0FwcFRpbGVTdWJHcm91cFwiXHJcbj5cclxuICAgIDxidC10aWxlcy12aWV3ZXItZ3JvdXBcclxuICAgICAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVHcm91cFwiXHJcbiAgICAgICAgW2VkaXRIb21lXT1cImVkaXRIb21lXCJcclxuICAgICAgICBbc3RhY2tDb250ZW50XT1cInN0YWNrQ29udGVudFwiXHJcbiAgICAgICAgW2lzQXBwVGlsZVN1Ykdyb3VwXT1cImlzQXBwVGlsZVN1Ykdyb3VwXCJcclxuICAgICAgICAodGlsZXNEcm9wcGVkKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAocmVuYW1lQXBwVGlsZUNsaWNrKT1cInJlbmFtZUFwcFRpbGVDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChoaWRlQXBwVGlsZUNsaWNrKT1cImhpZGVBcHBUaWxlQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAocmVzZXRHcm91cCk9XCJyZXNldEdyb3VwLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRlbGV0ZUdyb3VwKT1cImRlbGV0ZUdyb3VwLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRvZ2dsZUdyb3VwKT1cInRvZ2dsZUdyb3VwLmVtaXQoJGV2ZW50KVwiXHJcbiAgICA+PC9idC10aWxlcy12aWV3ZXItZ3JvdXA+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyL3RpbGVzLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci90aWxlcy12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBRSxhQUFhLEVBQXVCLFFBQVEsRUFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRyxPQUFPLEVBQVksZ0JBQWdCLEVBQXFCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXRGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBTnZEOztRQVF1QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFVakQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFHcEMsQ0FBQztRQUNLLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFLbkMsQ0FBQztRQUVLLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDdEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3JELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDdEQscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCwgQmFyc2FBcGksIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgTnVsbGFibGUsIFRhYkxpc3RDb21wb25lbnQsIFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC10aWxlcy12aWV3ZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGVzLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90aWxlcy12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWxlc1ZpZXdlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQFZpZXdDaGlsZChUYWJMaXN0Q29tcG9uZW50KSB0YWJMaXN0Q29tcG9uZW50OiBUYWJMaXN0Q29tcG9uZW50O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBwYWdlQ29udGVudENsYXNzID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGFwcFRpbGVHcm91cHM6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGVkaXRIb21lOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc3RhY2tDb250ZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRBcHBHcm91cElkOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KCkgRHluYW1pY0NvbXBvbmVudHM6IGFueTtcclxuXHJcbiAgICBAT3V0cHV0KCkgc3RhY2tDb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgQE91dHB1dCgpIGNsb3NlRWRpdEhvbWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBsaXN0RHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIGFwcFRpbGVHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgICAgICBldmVudDogQ2RrRHJhZ0Ryb3A8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcclxuICAgIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgdGFiQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIGZpcnN0U2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICAgICAgc2VsZWN0ZWRUYWJUaXRsZTogc3RyaW5nO1xyXG4gICAgICAgIHRhYlBhbmVsczogVGFiUGFuZWxDb21wb25lbnRbXTtcclxuICAgICAgICBhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICB9PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSB0b2dnbGVHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSByZXNldEdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIGRlbGV0ZUdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIGhpZGVBcHBUaWxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVuYW1lQXBwVGlsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSB0aWxlc0Ryb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICBhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICAgICAgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+O1xyXG4gICAgfT4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucnRsJykgcnRsID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1J0bDtcclxuICAgIHNlbGVjdGVkVGFiVGl0bGU6IE51bGxhYmxlPHN0cmluZz47XHJcbiAgICBzZWxlY3RlZFRhYklkOiBzdHJpbmc7XHJcbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlKHNlbGVjdGVkVGFiOiBUYWJQYW5lbENvbXBvbmVudCwgYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IGZpcnN0U2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRUYWJUaXRsZSkge1xyXG4gICAgICAgICAgICBmaXJzdFNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUYWJUaXRsZSA9IHNlbGVjdGVkVGFiLnRpdGxlIHx8ICcnO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJUaXRsZSA9IHNlbGVjdGVkVGFiVGl0bGU7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGFiQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGZpcnN0U2VsZWN0ZWQsXHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFRhYlRpdGxlLFxyXG4gICAgICAgICAgICAgICAgdGFiUGFuZWxzOiB0aGlzLnRhYkxpc3RDb21wb25lbnQudGFiUGFuZWxzLnRvQXJyYXkoKSxcclxuICAgICAgICAgICAgICAgIGFwcFRpbGVHcm91cHNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvbkRyb3BHcm91cChhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sIGV2ZW50OiBDZGtEcmFnRHJvcDxNZXRhb2JqZWN0RGF0YU1vZGVsW10+KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRIb21lKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5saXN0RHJvcHBlZC5lbWl0KHsgYXBwVGlsZUdyb3VwcywgZXZlbnQgfSk7XHJcbiAgICB9XHJcbiAgICBvbkRyb3AoJGV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50aWxlc0Ryb3BwZWQuZW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgb25TdGFja0NvbnRlbnRDaGFuZ2VkKGNoZWNrZWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0YWNrQ29udGVudENoYW5nZS5lbWl0KGNoZWNrZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRXhpdEVkaXRIb21lKGFwcEdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zYXZlLmVtaXQoYXBwR3JvdXBzKTtcclxuICAgIH1cclxuICAgIG9uQ2xvc2VFZGl0SG9tZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsb3NlRWRpdEhvbWUuZW1pdCgpO1xyXG4gICAgfVxyXG4gICAgX3RyYWNrQnlJZChpdGVtLCBpbmRleCk6IHN0cmluZyB8IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0gPyBpdGVtLklkIDogaW5kZXg7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRpbGVHcm91cHM7IGVsc2UgbG9hZGluZ1RwbFwiPlxyXG4gICAgPGJzdS1tYXNrICpuZ0lmPVwibG9hZGluZ1wiPjwvYnN1LW1hc2s+XHJcbiAgICA8ZmQtZHluYW1pYy1wYWdlXHJcbiAgICAgICAgc2l6ZT1cImxhcmdlXCJcclxuICAgICAgICBbYXJpYUxhYmVsXT1cIidIb21lRWRpdCcgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIFthdXRvUmVzcG9uc2l2ZV09XCJ0cnVlXCJcclxuICAgICAgICBbY2xhc3Muc3RhY2stbW9kZV09XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgPlxyXG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2UtaGVhZGVyICpuZ0lmPVwiZWRpdEhvbWVcIiBbdGl0bGVdPVwiJ0hvbWVFZGl0JyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zPlxyXG4gICAgICAgICAgICAgICAgPGZkLXRvb2xiYXIgKm5nSWY9XCJlZGl0SG9tZVwiIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZmQtZm9ybS1sYWJlbCBmZC10b29sYmFyLWl0ZW0+U3RhY2tlZCBDb250ZW50IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLXN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic3RhY2tDb250ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwib25TdGFja0NvbnRlbnRDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2ZkLXN3aXRjaD5cclxuICAgICAgICAgICAgICAgIDwvZmQtdG9vbGJhcj5cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnM+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtbGF5b3V0LWFjdGlvbnM+XHJcbiAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhciBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtjbGVhckJvcmRlcl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gZmRUeXBlPVwidHJhbnNwYXJlbnRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiB0aXRsZT1cIkNsb3NlXCIgKGNsaWNrKT1cIm9uQ2xvc2VFZGl0SG9tZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic2FwLWljb24tLWRlY2xpbmVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zPlxyXG4gICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWhlYWRlcj5cclxuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhY2tDb250ZW50ID8gcmVuZGVyVGFic1N0YWNrZWQgOiByZW5kZXJUYWJzO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBhcHBUaWxlR3JvdXBzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFja0NvbnRlbnQ6IHN0YWNrQ29udGVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdEhvbWU6IGVkaXRIb21lXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1mb290ZXI+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImZvb3RlclwiICpuZ0lmPVwiZWRpdEhvbWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU2F2ZUFuZENsb3NlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FeGl0RWRpdEhvbWUoYXBwVGlsZUdyb3VwcylcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxyXG4gICAgPC9mZC1keW5hbWljLXBhZ2U+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxyXG4gICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYnMgbGV0LWFwcFRpbGVHcm91cHMgbGV0LXN0YWNrQ29udGVudD1cInN0YWNrQ29udGVudFwiIGxldC1lZGl0SG9tZT1cImVkaXRIb21lXCI+XHJcbiAgICA8ZmQtdGFiLWxpc3RcclxuICAgICAgICBjbGFzcz1cInRpbGUtdGFic1wiXHJcbiAgICAgICAgW3NpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW2NvbGxhcHNlT3ZlcmZsb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcEdyb3VwKGFwcFRpbGVHcm91cHMsICRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudCwgYXBwVGlsZUdyb3VwcylcIlxyXG4gICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiBfdHJhY2tCeUlkXCI+XHJcbiAgICAgICAgICAgIDxmZC10YWJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdEhvbWUgfHwgYXBwVGlsZUdyb3VwLm5hdmlnYXRvclZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCInZmQtdGFicy0tJyArIGRldmljZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWV4cGFuZGVkXT1cInNlbGVjdGVkVGFiVGl0bGUgPT09IChhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGl0bGUgfCBiYmJUcmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50IFtpZF09XCJhcHBUaWxlR3JvdXAuSWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJHcm91cDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGFwcFRpbGVHcm91cCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja0NvbnRlbnQ6IHN0YWNrQ29udGVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0SG9tZTogZWRpdEhvbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBcHBUaWxlU3ViR3JvdXA6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2ZkLXRhYi1saXN0PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYnNTdGFja2VkIGxldC1hcHBUaWxlR3JvdXBzIGxldC1zdGFja0NvbnRlbnQ9XCJzdGFja0NvbnRlbnRcIiBsZXQtZWRpdEhvbWU9XCJlZGl0SG9tZVwiPlxyXG4gICAgPGZkLXRhYi1saXN0XHJcbiAgICAgICAgY2xhc3M9XCJ0aWxlLXRhYnNcIlxyXG4gICAgICAgIFtzaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRPdmVyZmxvd1RleHRdPVwiJ01vcmUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBbc3RhY2tDb250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFttYXhDb250ZW50SGVpZ2h0XT1cInN0YWNrQ29udGVudCA/ICdjYWxjKDk5dmggLSAyLjc1cmVtIC0gNDRweCknIDogJ2NhbGMoMTAwdmggLSA0NHB4KSdcIlxyXG4gICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcEdyb3VwKGFwcFRpbGVHcm91cHMsICRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiBfdHJhY2tCeUlkXCI+XHJcbiAgICAgICAgICAgIDxmZC10YWJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdEhvbWUgfHwgYXBwVGlsZUdyb3VwLm5hdmlnYXRvclZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCInZmQtdGFicy0tJyArIGRldmljZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgW2NvdW50XT1cImFwcFRpbGVHcm91cC4kQ2hpbGRyZW4/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudCBbaWRdPVwiYXBwVGlsZUdyb3VwLklkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyR3JvdXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBhcHBUaWxlR3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tDb250ZW50OiBzdGFja0NvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdEhvbWU6IGVkaXRIb21lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQXBwVGlsZVN1Ykdyb3VwOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9mZC10YWItbGlzdD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjcmVuZGVyR3JvdXBcclxuICAgIGxldC1hcHBUaWxlR3JvdXBcclxuICAgIGxldC1zdGFja0NvbnRlbnQ9XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgbGV0LWVkaXRIb21lPVwiZWRpdEhvbWVcIlxyXG4gICAgbGV0LWlzQXBwVGlsZVN1Ykdyb3VwPVwiaXNBcHBUaWxlU3ViR3JvdXBcIlxyXG4+XHJcbiAgICA8YnQtdGlsZXMtdmlld2VyLWdyb3VwXHJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlR3JvdXBcIlxyXG4gICAgICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgICAgIFtpc0FwcFRpbGVTdWJHcm91cF09XCJpc0FwcFRpbGVTdWJHcm91cFwiXHJcbiAgICAgICAgKHRpbGVzRHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJlbmFtZUFwcFRpbGVDbGljayk9XCJyZW5hbWVBcHBUaWxlQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoaGlkZUFwcFRpbGVDbGljayk9XCJoaWRlQXBwVGlsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJlc2V0R3JvdXApPVwicmVzZXRHcm91cC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChkZWxldGVHcm91cCk9XCJkZWxldGVHcm91cC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICh0b2dnbGVHcm91cCk9XCJ0b2dnbGVHcm91cC5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvYnQtdGlsZXMtdmlld2VyLWdyb3VwPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -45,11 +45,9 @@ export class TilesViewerContainerComponent extends BaseComponent {
|
|
|
45
45
|
this._tilesService.setEditHome(false);
|
|
46
46
|
}
|
|
47
47
|
onSelectedTabChange(e) {
|
|
48
|
-
const {
|
|
49
|
-
const appTileGroupTitle = selectedTab.title;
|
|
48
|
+
const { firstSelected, selectedTabTitle, appTileGroups: appGroups, tabPanels } = e;
|
|
50
49
|
let appTileGroup;
|
|
51
|
-
if (
|
|
52
|
-
this.firstSelected = true;
|
|
50
|
+
if (firstSelected) {
|
|
53
51
|
const lastSelectedAppGroupId = this._tilesViewerService.selectedAppGroupId;
|
|
54
52
|
if (lastSelectedAppGroupId) {
|
|
55
53
|
appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);
|
|
@@ -63,7 +61,7 @@ export class TilesViewerContainerComponent extends BaseComponent {
|
|
|
63
61
|
}
|
|
64
62
|
}
|
|
65
63
|
if (!appTileGroup) {
|
|
66
|
-
appTileGroup = appGroups.find((c) => c.navigatorTitle ===
|
|
64
|
+
appTileGroup = appGroups.find((c) => c.navigatorTitle === selectedTabTitle);
|
|
67
65
|
}
|
|
68
66
|
if (appTileGroup) {
|
|
69
67
|
this._tilesViewerService.setSelectedTab(appTileGroup);
|
|
@@ -155,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
155
153
|
type: Component,
|
|
156
154
|
args: [{ selector: 'bt-tiles-viewer-container', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tiles-viewer\r\n [appTileGroups]=\"(appTileGroups$ | async)!!\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [editHome]=\"(editHome$ | async)!!\"\r\n [stackContent]=\"(stackContent$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n></bt-tiles-viewer>\r\n", styles: [":host{display:block}\n"] }]
|
|
157
155
|
}], ctorParameters: function () { return [{ type: i1.PortalService }, { type: i2.TilesService }, { type: i3.TilesViewerService }]; } });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEYsT0FBTyxFQUFFLGFBQWEsRUFBNkQsTUFBTSxzQkFBc0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQVM3RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsYUFBYTtJQVk1RCxZQUNjLGNBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLG1CQUF1QztRQUVqRCxLQUFLLEVBQUUsQ0FBQztRQUpFLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFWckQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUdqQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVFsQixJQUFJ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SyxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFlBQWlDLEVBQUUsd0JBQWdDLEdBQUc7UUFDaEcsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNwRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7OzBIQXJLUSw2QkFBNkI7OEdBQTdCLDZCQUE2QixvREFIM0IsQ0FBQyxrQkFBa0IsQ0FBQyxpRENkbkMsK3lCQWtCQTsyRkREYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0ksMkJBQTJCLGFBRzFCLENBQUMsa0JBQWtCLENBQUMsbUJBQ2QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCwgUG9ydGFsU2VydmljZSwgQWJicmV2YXRpb25EZXZpY2VTaXplIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVGlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vdGlsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlc1ZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi90aWxlcy12aWV3ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBhcHBUaWxlR3JvdXBzJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xuICAgIHZpZXdMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIGVkaXRIb21lJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjaGFuZ2VkT3JkZXIgPSBmYWxzZTtcbiAgICB1c2VyU3RhY2tDb250ZW50ID0gZmFsc2U7XG4gICAgaW5pdGlhbFN0YWNrQ29udGVudFZhbHVlID0gZmFsc2U7XG4gICAgdXNlclBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIHN0YWNrQ29udGVudCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZmlyc3RTZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF90aWxlc1NlcnZpY2U6IFRpbGVzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF90aWxlc1ZpZXdlclNlcnZpY2U6IFRpbGVzVmlld2VyU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnN0YWNrQ29udGVudCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJQb3J0YWxTZXR0aW5ncyQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgIG1hcCgoc2V0dGluZ3MpID0+IHNldHRpbmdzPy5UaWxlc1N0YWNrQ29udGVudCksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3RhY2tDb250ZW50JC5zdWJzY3JpYmUoKHN0YWNrQ29udGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsU3RhY2tDb250ZW50VmFsdWUgPSB0aGlzLnVzZXJTdGFja0NvbnRlbnQgPSBzdGFja0NvbnRlbnQ7XG4gICAgICAgICAgICBpZiAoc3RhY2tDb250ZW50KSB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnZpZXdMb2FkaW5nJCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS52aWV3TG9hZGluZyQ7XG5cbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XG4gICAgICAgIHRoaXMuZWRpdEhvbWUkID0gdGhpcy5fdGlsZXNTZXJ2aWNlLmVkaXRIb21lJDtcbiAgICAgICAgdGhpcy5hcHBUaWxlR3JvdXBzJCA9IHRoaXMuX3RpbGVzU2VydmljZS5ob21lQXBwVGlsZUdyb3VwcyQ7XG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3VwcyQucGlwZSh3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0YWNrQ29udGVudCQpKS5zdWJzY3JpYmUoKFt0aWxlcywgc3RhY2tDb250ZW50XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRpbGVzICYmIHN0YWNrQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRpbGVzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLmxvYWRBcHBUaWxlR3JvdXBzKGMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zZXRFZGl0SG9tZShmYWxzZSk7XG4gICAgfVxuICAgIG9uU2VsZWN0ZWRUYWJDaGFuZ2UoZToge1xuICAgICAgICBzZWxlY3RlZFRhYjogVGFiUGFuZWxDb21wb25lbnQ7XG4gICAgICAgIHRhYlBhbmVsczogVGFiUGFuZWxDb21wb25lbnRbXTtcbiAgICAgICAgYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3RlZFRhYiwgYXBwVGlsZUdyb3VwczogYXBwR3JvdXBzLCB0YWJQYW5lbHMgfSA9IGU7XG4gICAgICAgIGNvbnN0IGFwcFRpbGVHcm91cFRpdGxlID0gc2VsZWN0ZWRUYWIudGl0bGU7XG4gICAgICAgIGxldCBhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghdGhpcy5maXJzdFNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZpcnN0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgY29uc3QgbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zZWxlY3RlZEFwcEdyb3VwSWQ7XG4gICAgICAgICAgICBpZiAobGFzdFNlbGVjdGVkQXBwR3JvdXBJZCkge1xuICAgICAgICAgICAgICAgIGFwcFRpbGVHcm91cCA9IGFwcEdyb3Vwcy5maW5kKChjKSA9PiBjLklkID09PSBsYXN0U2VsZWN0ZWRBcHBHcm91cElkKTtcbiAgICAgICAgICAgICAgICBpZiAoYXBwVGlsZUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RUYWIgPSB0YWJQYW5lbHMuZmluZCgoYykgPT4gYy50aXRsZSA9PT0gYXBwVGlsZUdyb3VwPy5uYXZpZ2F0b3JUaXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0VGFiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBUaWxlR3JvdXAgPSBhcHBHcm91cHMuZmluZCgoYykgPT4gYy5JZCA9PT0gbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0VGFiLm9wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhcHBUaWxlR3JvdXApIHtcbiAgICAgICAgICAgIGFwcFRpbGVHcm91cCA9IGFwcEdyb3Vwcy5maW5kKChjKSA9PiBjLm5hdmlnYXRvclRpdGxlID09PSBhcHBUaWxlR3JvdXBUaXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFwcFRpbGVHcm91cCkge1xuICAgICAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLnNldFNlbGVjdGVkVGFiKGFwcFRpbGVHcm91cCk7XG4gICAgICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGFwcFRpbGVHcm91cCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25Ecm9wR3JvdXAoZTogeyBhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107IGV2ZW50OiBDZGtEcmFnRHJvcDxNZXRhb2JqZWN0RGF0YU1vZGVsW10+IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBldmVudCwgYXBwVGlsZUdyb3VwczogYXBwR3JvdXBzIH0gPSBlO1xuXG4gICAgICAgIG1vdmVJdGVtSW5BcnJheShhcHBHcm91cHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VkT3JkZXIgPSB0cnVlO1xuICAgICAgICAvLyB0aGlzLnNhdmVPcmRlckFwcFRpbGVzKGFsbEFwcHMsIGdyb3VwKTtcbiAgICB9XG4gICAgb25Ecm9wKGU6IHsgYXBwVGlsZUdyb3VwOyBldmVudDogQ2RrRHJhZ0Ryb3A8eyBpc1RpbGU6IGJvb2xlYW47IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfT4gfSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGFwcFRpbGVHcm91cDogZ3JvdXAsIGV2ZW50IH0gPSBlO1xuICAgICAgICBjb25zdCBwcmV2aW91c0NvbnRhaW5lciA9IGV2ZW50LnByZXZpb3VzQ29udGFpbmVyO1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBldmVudC5jb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcklzVGlsZSA9IGNvbnRhaW5lci5kYXRhLmlzVGlsZTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNJdGVtcyA9IHByZXZpb3VzQ29udGFpbmVyLmRhdGEuaXRlbXM7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckl0ZW1zID0gY29udGFpbmVyLmRhdGEuaXRlbXM7XG4gICAgICAgIGNvbnN0IHsgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4IH0gPSBldmVudDtcbiAgICAgICAgaWYgKHByZXZpb3VzQ29udGFpbmVyID09PSBjb250YWluZXIpIHtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShwcmV2aW91c0l0ZW1zLCBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lcklzVGlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFwcFRpbGVzKGdyb3VwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQWN0aW9uTGlua3MoZ3JvdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0ocHJldmlvdXNJdGVtcywgY29udGFpbmVySXRlbXMsIHByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICBjb25zdCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQgPSBjb250YWluZXJJdGVtc1tjdXJyZW50SW5kZXhdPy5BcHBUaWxlPy5JZCA/PyBjb250YWluZXJJdGVtc1tjdXJyZW50SW5kZXhdLklkO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lcklzVGlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFjdGlvbkxpbmtzKGdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zYXZlT3JkZXJBcHBUaWxlcyhncm91cCwgYXBwVGlsZUlkVHJhbnNmZXJlZElkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQXBwVGlsZXMoZ3JvdXApO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFjdGlvbkxpbmtzKGdyb3VwLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uU3RhY2tDb250ZW50Q2hhbmdlZChjaGVja2VkKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlclN0YWNrQ29udGVudCA9IGNoZWNrZWQ7XG4gICAgfVxuXG4gICAgb25FeGl0RWRpdEhvbWUoYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNoYW5nZWRPcmRlcikge1xuICAgICAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLnNhdmVBcHBHcm91cE9yZGVycyhhcHBUaWxlR3JvdXBzKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlZE9yZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudXNlclN0YWNrQ29udGVudCAhPT0gdGhpcy5pbml0aWFsU3RhY2tDb250ZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zYXZlVGlsZXNTdGFja0NvbnRlbnQodGhpcy51c2VyU3RhY2tDb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRFZGl0SG9tZShmYWxzZSk7XG4gICAgfVxuICAgIG9uQ2xvc2VFZGl0SG9tZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0RWRpdEhvbWUoZmFsc2UpO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UuZGVsZXRlQXBwR3JvdXAoYXBwVGlsZUdyb3VwKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UudG9nZ2xlQXBwR3JvdXBTZXR0aW5nVmlzaWJsZShhcHBUaWxlR3JvdXApO1xuICAgIH1cblxuICAgIG9uUmVzZXQoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5yZXNldEFwcEdyb3VwKGFwcFRpbGVHcm91cCk7XG4gICAgfVxuICAgIG9uSGlkZUFwcFRpbGUoYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UuaGlkZVRpbGUoYXBwVGlsZSk7XG4gICAgfVxuICAgIG9uUmVuYW1lQXBwVGlsZShhcHBUaWxlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5vcGVuUmVuYW1lRm9ybShhcHBUaWxlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0RWRpdEhvbWUodmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zZXRFZGl0SG9tZSh2YWwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NhdmVPcmRlckFwcFRpbGVzKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCwgYXBwVGlsZUlkVHJhbnNmZXJlZElkOiBzdHJpbmcgPSAnMCcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYXBwVGlsZXMgPSBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubWFwKChhcHBUaWxlKSA9PlxuICAgICAgICAgICAgYXBwVGlsZS5BcHBUaWxlID8gYXBwVGlsZS5BcHBUaWxlLklkIDogYXBwVGlsZS5JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2F2ZU9yZGVyQXBwVGlsZXMoYXBwVGlsZUdyb3VwLCBhcHBUaWxlcywgZmFsc2UsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2F2ZU9yZGVyQWN0aW9uTGlua3MoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQ6IHN0cmluZyA9ICcwJyk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY3Rpb25MaW5rcyA9IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JBY3Rpb25MaW5rcy5tYXAoKGFwcFRpbGUpID0+XG4gICAgICAgICAgICBhcHBUaWxlLkFwcFRpbGUgPyBhcHBUaWxlLkFwcFRpbGUuSWQgOiBhcHBUaWxlLklkXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zYXZlT3JkZXJBcHBUaWxlcyhhcHBUaWxlR3JvdXAsIGFjdGlvbkxpbmtzLCB0cnVlLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQpO1xuICAgIH1cbn1cbiIsIjxidC10aWxlcy12aWV3ZXJcclxuICAgIFthcHBUaWxlR3JvdXBzXT1cIihhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhXCJcclxuICAgIFtsb2FkaW5nXT1cIih2aWV3TG9hZGluZyQgfCBhc3luYykhIVwiXHJcbiAgICBbZWRpdEhvbWVdPVwiKGVkaXRIb21lJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzdGFja0NvbnRlbnRdPVwiKHN0YWNrQ29udGVudCQgfCBhc3luYykhIVwiXHJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXHJcbiAgICAoc3RhY2tDb250ZW50Q2hhbmdlKT1cIm9uU3RhY2tDb250ZW50Q2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIChjbG9zZUVkaXRIb21lKT1cIm9uQ2xvc2VFZGl0SG9tZSgpXCJcclxuICAgIChzYXZlKT1cIm9uRXhpdEVkaXRIb21lKCRldmVudClcIlxyXG4gICAgKGxpc3REcm9wcGVkKT1cIm9uRHJvcEdyb3VwKCRldmVudClcIlxyXG4gICAgKHRhYkNoYW5nZWQpPVwib25TZWxlY3RlZFRhYkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICh0b2dnbGVHcm91cCk9XCJvblRvZ2dsZVNob3dIaWRlKCRldmVudClcIlxyXG4gICAgKHJlc2V0R3JvdXApPVwib25SZXNldCgkZXZlbnQpXCJcclxuICAgIChkZWxldGVHcm91cCk9XCJvbkRlbGV0ZSgkZXZlbnQpXCJcclxuICAgICh0aWxlc0Ryb3BwZWQpPVwib25Ecm9wKCRldmVudClcIlxyXG4gICAgKGhpZGVBcHBUaWxlQ2xpY2spPVwib25IaWRlQXBwVGlsZSgkZXZlbnQpXCJcclxuICAgIChyZW5hbWVBcHBUaWxlQ2xpY2spPVwib25SZW5hbWVBcHBUaWxlKCRldmVudClcIlxyXG4+PC9idC10aWxlcy12aWV3ZXI+XHJcbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEYsT0FBTyxFQUFFLGFBQWEsRUFBNkQsTUFBTSxzQkFBc0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQVM3RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsYUFBYTtJQVk1RCxZQUNjLGNBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLG1CQUF1QztRQUVqRCxLQUFLLEVBQUUsQ0FBQztRQUpFLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFWckQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUdqQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVFsQixJQUFJ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QU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNsRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDcEQsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUNqRyxDQUFDOzswSEFyS1EsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsb0RBSDNCLENBQUMsa0JBQWtCLENBQUMsaURDZG5DLCt5QkFrQkE7MkZERGEsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNJLDJCQUEyQixhQUcxQixDQUFDLGtCQUFrQixDQUFDLG1CQUNkLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIE1ldGFvYmplY3REYXRhTW9kZWwsIFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVGlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vdGlsZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRpbGVzVmlld2VyU2VydmljZSB9IGZyb20gJy4uL3RpbGVzLXZpZXdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC10aWxlcy12aWV3ZXItY29udGFpbmVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1RpbGVzVmlld2VyU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgYXBwVGlsZUdyb3VwcyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcclxuICAgIHZpZXdMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBlZGl0SG9tZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBjaGFuZ2VkT3JkZXIgPSBmYWxzZTtcclxuICAgIHVzZXJTdGFja0NvbnRlbnQgPSBmYWxzZTtcclxuICAgIGluaXRpYWxTdGFja0NvbnRlbnRWYWx1ZSA9IGZhbHNlO1xyXG4gICAgdXNlclBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgc3RhY2tDb250ZW50JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGZpcnN0U2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF90aWxlc1NlcnZpY2U6IFRpbGVzU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzVmlld2VyU2VydmljZTogVGlsZXNWaWV3ZXJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuc3RhY2tDb250ZW50JCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UudXNlclBvcnRhbFNldHRpbmdzJC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgIG1hcCgoc2V0dGluZ3MpID0+IHNldHRpbmdzPy5UaWxlc1N0YWNrQ29udGVudCksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc3RhY2tDb250ZW50JC5zdWJzY3JpYmUoKHN0YWNrQ29udGVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxTdGFja0NvbnRlbnRWYWx1ZSA9IHRoaXMudXNlclN0YWNrQ29udGVudCA9IHN0YWNrQ29udGVudDtcclxuICAgICAgICAgICAgaWYgKHN0YWNrQ29udGVudCkge1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnZpZXdMb2FkaW5nJCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS52aWV3TG9hZGluZyQ7XHJcblxyXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xyXG4gICAgICAgIHRoaXMuZWRpdEhvbWUkID0gdGhpcy5fdGlsZXNTZXJ2aWNlLmVkaXRIb21lJDtcclxuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkID0gdGhpcy5fdGlsZXNTZXJ2aWNlLmhvbWVBcHBUaWxlR3JvdXBzJDtcclxuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnBpcGUod2l0aExhdGVzdEZyb20odGhpcy5zdGFja0NvbnRlbnQkKSkuc3Vic2NyaWJlKChbdGlsZXMsIHN0YWNrQ29udGVudF0pID0+IHtcclxuICAgICAgICAgICAgaWYgKHRpbGVzICYmIHN0YWNrQ29udGVudCkge1xyXG4gICAgICAgICAgICAgICAgdGlsZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5sb2FkQXBwVGlsZUdyb3VwcyhjKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zZXRFZGl0SG9tZShmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlKGU6IHtcclxuICAgICAgICBmaXJzdFNlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgICAgIHNlbGVjdGVkVGFiVGl0bGU6IHN0cmluZztcclxuICAgICAgICB0YWJQYW5lbHM6IFRhYlBhbmVsQ29tcG9uZW50W107XHJcbiAgICAgICAgYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgfSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHsgZmlyc3RTZWxlY3RlZCwgc2VsZWN0ZWRUYWJUaXRsZSwgYXBwVGlsZUdyb3VwczogYXBwR3JvdXBzLCB0YWJQYW5lbHMgfSA9IGU7XHJcblxyXG4gICAgICAgIGxldCBhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKGZpcnN0U2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zZWxlY3RlZEFwcEdyb3VwSWQ7XHJcbiAgICAgICAgICAgIGlmIChsYXN0U2VsZWN0ZWRBcHBHcm91cElkKSB7XHJcbiAgICAgICAgICAgICAgICBhcHBUaWxlR3JvdXAgPSBhcHBHcm91cHMuZmluZCgoYykgPT4gYy5JZCA9PT0gbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXBwVGlsZUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFRhYiA9IHRhYlBhbmVscy5maW5kKChjKSA9PiBjLnRpdGxlID09PSBhcHBUaWxlR3JvdXA/Lm5hdmlnYXRvclRpdGxlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFRhYikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBUaWxlR3JvdXAgPSBhcHBHcm91cHMuZmluZCgoYykgPT4gYy5JZCA9PT0gbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RUYWIub3Blbih0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFhcHBUaWxlR3JvdXApIHtcclxuICAgICAgICAgICAgYXBwVGlsZUdyb3VwID0gYXBwR3JvdXBzLmZpbmQoKGMpID0+IGMubmF2aWdhdG9yVGl0bGUgPT09IHNlbGVjdGVkVGFiVGl0bGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYXBwVGlsZUdyb3VwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zZXRTZWxlY3RlZFRhYihhcHBUaWxlR3JvdXApO1xyXG4gICAgICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGFwcFRpbGVHcm91cCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25Ecm9wR3JvdXAoZTogeyBhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107IGV2ZW50OiBDZGtEcmFnRHJvcDxNZXRhb2JqZWN0RGF0YU1vZGVsW10+IH0pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IGV2ZW50LCBhcHBUaWxlR3JvdXBzOiBhcHBHcm91cHMgfSA9IGU7XHJcblxyXG4gICAgICAgIG1vdmVJdGVtSW5BcnJheShhcHBHcm91cHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcblxyXG4gICAgICAgIHRoaXMuY2hhbmdlZE9yZGVyID0gdHJ1ZTtcclxuICAgICAgICAvLyB0aGlzLnNhdmVPcmRlckFwcFRpbGVzKGFsbEFwcHMsIGdyb3VwKTtcclxuICAgIH1cclxuICAgIG9uRHJvcChlOiB7IGFwcFRpbGVHcm91cDsgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+IH0pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IGFwcFRpbGVHcm91cDogZ3JvdXAsIGV2ZW50IH0gPSBlO1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzQ29udGFpbmVyID0gZXZlbnQucHJldmlvdXNDb250YWluZXI7XHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gZXZlbnQuY29udGFpbmVyO1xyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcklzVGlsZSA9IGNvbnRhaW5lci5kYXRhLmlzVGlsZTtcclxuICAgICAgICBjb25zdCBwcmV2aW91c0l0ZW1zID0gcHJldmlvdXNDb250YWluZXIuZGF0YS5pdGVtcztcclxuICAgICAgICBjb25zdCBjb250YWluZXJJdGVtcyA9IGNvbnRhaW5lci5kYXRhLml0ZW1zO1xyXG4gICAgICAgIGNvbnN0IHsgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4IH0gPSBldmVudDtcclxuICAgICAgICBpZiAocHJldmlvdXNDb250YWluZXIgPT09IGNvbnRhaW5lcikge1xyXG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkocHJldmlvdXNJdGVtcywgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcclxuICAgICAgICAgICAgaWYgKGNvbnRhaW5lcklzVGlsZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQXBwVGlsZXMoZ3JvdXApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQWN0aW9uTGlua3MoZ3JvdXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0ocHJldmlvdXNJdGVtcywgY29udGFpbmVySXRlbXMsIHByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFwcFRpbGVJZFRyYW5zZmVyZWRJZCA9IGNvbnRhaW5lckl0ZW1zW2N1cnJlbnRJbmRleF0/LkFwcFRpbGU/LklkID8/IGNvbnRhaW5lckl0ZW1zW2N1cnJlbnRJbmRleF0uSWQ7XHJcbiAgICAgICAgICAgIGlmIChjb250YWluZXJJc1RpbGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFjdGlvbkxpbmtzKGdyb3VwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFwcFRpbGVzKGdyb3VwLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQXBwVGlsZXMoZ3JvdXApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQWN0aW9uTGlua3MoZ3JvdXAsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblN0YWNrQ29udGVudENoYW5nZWQoY2hlY2tlZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXNlclN0YWNrQ29udGVudCA9IGNoZWNrZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25FeGl0RWRpdEhvbWUoYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hhbmdlZE9yZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zYXZlQXBwR3JvdXBPcmRlcnMoYXBwVGlsZUdyb3Vwcyk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlZE9yZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnVzZXJTdGFja0NvbnRlbnQgIT09IHRoaXMuaW5pdGlhbFN0YWNrQ29udGVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zYXZlVGlsZXNTdGFja0NvbnRlbnQodGhpcy51c2VyU3RhY2tDb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc2V0RWRpdEhvbWUoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgb25DbG9zZUVkaXRIb21lKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldEVkaXRIb21lKGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlbGV0ZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UuZGVsZXRlQXBwR3JvdXAoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS50b2dnbGVBcHBHcm91cFNldHRpbmdWaXNpYmxlKGFwcFRpbGVHcm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25SZXNldChhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UucmVzZXRBcHBHcm91cChhcHBUaWxlR3JvdXApO1xyXG4gICAgfVxyXG4gICAgb25IaWRlQXBwVGlsZShhcHBUaWxlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLmhpZGVUaWxlKGFwcFRpbGUpO1xyXG4gICAgfVxyXG4gICAgb25SZW5hbWVBcHBUaWxlKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2Uub3BlblJlbmFtZUZvcm0oYXBwVGlsZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zZXRFZGl0SG9tZSh2YWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2V0RWRpdEhvbWUodmFsKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zYXZlT3JkZXJBcHBUaWxlcyhhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZDogc3RyaW5nID0gJzAnKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYXBwVGlsZXMgPSBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubWFwKChhcHBUaWxlKSA9PlxyXG4gICAgICAgICAgICBhcHBUaWxlLkFwcFRpbGUgPyBhcHBUaWxlLkFwcFRpbGUuSWQgOiBhcHBUaWxlLklkXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2F2ZU9yZGVyQXBwVGlsZXMoYXBwVGlsZUdyb3VwLCBhcHBUaWxlcywgZmFsc2UsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2F2ZU9yZGVyQWN0aW9uTGlua3MoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQ6IHN0cmluZyA9ICcwJyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFjdGlvbkxpbmtzID0gYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzLm1hcCgoYXBwVGlsZSkgPT5cclxuICAgICAgICAgICAgYXBwVGlsZS5BcHBUaWxlID8gYXBwVGlsZS5BcHBUaWxlLklkIDogYXBwVGlsZS5JZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLnNhdmVPcmRlckFwcFRpbGVzKGFwcFRpbGVHcm91cCwgYWN0aW9uTGlua3MsIHRydWUsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGJ0LXRpbGVzLXZpZXdlclxyXG4gICAgW2FwcFRpbGVHcm91cHNdPVwiKGFwcFRpbGVHcm91cHMkIHwgYXN5bmMpISFcIlxyXG4gICAgW2xvYWRpbmddPVwiKHZpZXdMb2FkaW5nJCB8IGFzeW5jKSEhXCJcclxuICAgIFtlZGl0SG9tZV09XCIoZWRpdEhvbWUkIHwgYXN5bmMpISFcIlxyXG4gICAgW3N0YWNrQ29udGVudF09XCIoc3RhY2tDb250ZW50JCB8IGFzeW5jKSEhXCJcclxuICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcclxuICAgIChzdGFja0NvbnRlbnRDaGFuZ2UpPVwib25TdGFja0NvbnRlbnRDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKGNsb3NlRWRpdEhvbWUpPVwib25DbG9zZUVkaXRIb21lKClcIlxyXG4gICAgKHNhdmUpPVwib25FeGl0RWRpdEhvbWUoJGV2ZW50KVwiXHJcbiAgICAobGlzdERyb3BwZWQpPVwib25Ecm9wR3JvdXAoJGV2ZW50KVwiXHJcbiAgICAodGFiQ2hhbmdlZCk9XCJvblNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKHRvZ2dsZUdyb3VwKT1cIm9uVG9nZ2xlU2hvd0hpZGUoJGV2ZW50KVwiXHJcbiAgICAocmVzZXRHcm91cCk9XCJvblJlc2V0KCRldmVudClcIlxyXG4gICAgKGRlbGV0ZUdyb3VwKT1cIm9uRGVsZXRlKCRldmVudClcIlxyXG4gICAgKHRpbGVzRHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgICAoaGlkZUFwcFRpbGVDbGljayk9XCJvbkhpZGVBcHBUaWxlKCRldmVudClcIlxyXG4gICAgKHJlbmFtZUFwcFRpbGVDbGljayk9XCJvblJlbmFtZUFwcFRpbGUoJGV2ZW50KVwiXHJcbj48L2J0LXRpbGVzLXZpZXdlcj5cclxuIl19
|
|
@@ -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" }, 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\">\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 [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 ></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{margin-top:1rem;box-shadow:none}fd-layout-panel fd-layout-panel-body{padding:0}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{--gap: 12px;display:inline-flex;flex-wrap:wrap}.tile-wrapper ::ng-deep .barsa-tile{margin:10px}.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"], 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.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\">\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 [dynamicCommand]=\"appTile.DynamicCommand\"\r\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.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: [{
|
|
@@ -59,6 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
59
59
|
type: Input
|
|
60
60
|
}], isAppTileSubGroup: [{
|
|
61
61
|
type: Input
|
|
62
|
+
}], deviceSize: [{
|
|
63
|
+
type: Input
|
|
62
64
|
}], tilesDropped: [{
|
|
63
65
|
type: Output
|
|
64
66
|
}], hideAppTileClick: [{
|
|
@@ -72,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
72
74
|
}], deleteGroup: [{
|
|
73
75
|
type: Output
|
|
74
76
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRMUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFleEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQVZGLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBR3JDLENBQUM7UUFDSyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUMzRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUM3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3RELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO0lBR2hFLENBQUM7SUFFRCxNQUFNLENBQ0YsWUFBaUMsRUFDakMsS0FBcUU7UUFFckUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUN2QyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxPQUE0QjtRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUE0QjtRQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxRQUFRLENBQUMsWUFBaUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFlBQWlDO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsWUFBaUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7c0hBNUNRLHlCQUF5QjswR0FBekIseUJBQXlCLHVhQ1h0Qyw0bEpBcUdBLCtrSUQxRmEseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LXRpbGVzLXZpZXdlci1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBzdGFja0NvbnRlbnQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZWRpdEhvbWU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNBcHBUaWxlU3ViR3JvdXA6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgdGlsZXNEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICAgICAgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+O1xuICAgIH0+KCk7XG4gICAgQE91dHB1dCgpIGhpZGVBcHBUaWxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHJlbmFtZUFwcFRpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgdG9nZ2xlR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHJlc2V0R3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGRlbGV0ZUdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG9uRHJvcChcbiAgICAgICAgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgICAgICBldmVudDogQ2RrRHJhZ0Ryb3A8eyBpc1RpbGU6IGJvb2xlYW47IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfT5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRIb21lIHx8IGFwcFRpbGVHcm91cC5Mb2NrZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRpbGVzRHJvcHBlZC5lbWl0KHsgYXBwVGlsZUdyb3VwLCBldmVudCB9KTtcbiAgICB9XG4gICAgb25BcHBUaWxlSGlkZUNsaWNrKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlQXBwVGlsZUNsaWNrLmVtaXQoYXBwVGlsZSk7XG4gICAgfVxuICAgIG9uQXBwVGlsZVJlbmFtZUNsaWNrKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5hbWVBcHBUaWxlQ2xpY2suZW1pdChhcHBUaWxlKTtcbiAgICB9XG4gICAgb25EZWxldGUoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVsZXRlR3JvdXAuZW1pdChhcHBUaWxlR3JvdXApO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlU2hvd0hpZGUoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlR3JvdXAuZW1pdChhcHBUaWxlR3JvdXApO1xuICAgIH1cblxuICAgIG9uUmVzZXQoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzZXRHcm91cC5lbWl0KGFwcFRpbGVHcm91cCk7XG4gICAgfVxufVxuIiwiPGZkLWxheW91dC1wYW5lbCBbZml4ZWRdPVwidHJ1ZVwiIFthdHRyLmVkaXRIb21lXT1cImVkaXRIb21lXCIgY2RrRHJhZyBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFlZGl0SG9tZSB8fCAhc3RhY2tDb250ZW50XCI+XHJcbiAgICA8ZmQtbGF5b3V0LXBhbmVsLWhlYWRlciAqbmdJZj1cImVkaXRIb21lIHx8IHN0YWNrQ29udGVudCB8fCBpc0FwcFRpbGVTdWJHcm91cFwiPlxyXG4gICAgICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZD5cclxuICAgICAgICAgICAgPGgyIGZkLWxheW91dC1wYW5lbC10aXRsZT57eyBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGl0bGUgfX08L2gyPlxyXG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWhlYWQ+XHJcbiAgICAgICAgPGZkLWxheW91dC1wYW5lbC1hY3Rpb25zICpuZ0lmPVwiZWRpdEhvbWVcIiBjbGFzcz1cImdyb3VwLWJ0bnNcIj5cclxuICAgICAgICAgICAgPGZkLXRvb2xiYXIgW3Nob3VsZE92ZXJmbG93XT1cImZhbHNlXCIgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiIWFwcFRpbGVHcm91cC5uYXZpZ2F0b3JWaXNpYmxlID8gKCdTaG93JyB8IGJiYlRyYW5zbGF0ZSkgOiAoJ0hpZGUnIHwgYmJiVHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlU2hvd0hpZGUoYXBwVGlsZUdyb3VwKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhcHBUaWxlR3JvdXAuUHJlZGVmaW5lZCAmJiBhcHBUaWxlR3JvdXAuJFRpbGVTZXR0aW5nQ2hhbmdlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidSZWZyZXNoJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVzZXQoYXBwVGlsZUdyb3VwKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhYXBwVGlsZUdyb3VwLlByZWRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRGVsZXRlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoYXBwVGlsZUdyb3VwKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZmQtdG9vbGJhcj5cclxuICAgICAgICA8L2ZkLWxheW91dC1wYW5lbC1hY3Rpb25zPlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtaGVhZGVyPlxyXG4gICAgPGZkLWxheW91dC1wYW5lbC1ib2R5IFtibGVlZF09XCIhc3RhY2tDb250ZW50XCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInRpbGUtd3JhcHBlclwiXHJcbiAgICAgICAgICAgIGZkLXBhbmVsLWNvbnRlbnRcclxuICAgICAgICAgICAgI3RpbGVzPVwiY2RrRHJvcExpc3RcIlxyXG4gICAgICAgICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXHJcbiAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKGFwcFRpbGVHcm91cCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cImFjdGlvbkxpbmtzXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJ7XHJcbiAgICAgICAgICAgICAgICBpc1RpbGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBpdGVtczogYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpbGVzIHx8IFtdXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlZGl0SG9tZVwiPlxyXG4gICAgICAgICAgICAgICAgPGZkLWJ1c3ktaW5kaWNhdG9yIGZkLXRpdGxlICpuZ0lmPVwiIWFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWRcIiBbbG9hZGluZ109XCJ0cnVlXCI+PC9mZC1idXN5LWluZGljYXRvcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGUgKm5nSWY9XCIhYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpbGVzLmxlbmd0aCAmJiBhcHBUaWxlR3JvdXAuJFRpbGVzTG9hZGVkXCI+PC9oNT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhcHBUaWxlIG9mIGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaWxlczsgbGV0IGsgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZWRpdC1ob21lXT1cImVkaXRIb21lXCJcclxuICAgICAgICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXRIb21lIHx8IGFwcFRpbGVHcm91cC5Mb2NrZWRcIlxyXG4gICAgICAgICAgICAgICAgW2R5bmFtaWNDb21tYW5kXT1cImFwcFRpbGUuRHluYW1pY0NvbW1hbmRcIlxyXG4gICAgICAgICAgICAgICAgW2VuYWJsZUNvbW1hbmRdPVwiIWVkaXRIb21lICYmIGFwcFRpbGUuQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgIHRpbGVSZW5kZXJlclxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiYXBwVGlsZVwiXHJcbiAgICAgICAgICAgICAgICBbZWRpdEhvbWVdPVwiZWRpdEhvbWVcIlxyXG4gICAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJhcHBUaWxlLkNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAoaGlkZUNsaWNrKT1cIm9uQXBwVGlsZUhpZGVDbGljayhhcHBUaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAocmVuYW1lQ2xpY2spPVwib25BcHBUaWxlUmVuYW1lQ2xpY2soYXBwVGlsZSlcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDxmZC10aWxlIGNsYXNzPVwiYWRkLXRpbGVcIiAqbmdJZj1cImVkaXRIb21lXCIgW3JvdXRlckxpbmtdPVwiWycvaG9tZS9hcHBmaW5kZXInXVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImFkZFwiPjwvZmQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2ZkLXRpbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbC1ib2R5PlxyXG48L2ZkLWxheW91dC1wYW5lbD5cclxuXHJcbjxidC1hY3Rpb25zLWxpbmtcclxuICAgIFtjbGFzcy5hY3Rpb25zLWxpbmstZWRpdC1ob21lXT1cImVkaXRIb21lXCJcclxuICAgIFthY3Rpb25zTGlua109XCJhcHBUaWxlR3JvdXAubmF2aWdhdG9yQWN0aW9uTGlua3NcIlxyXG4gICAgW2VkaXRIb21lXT1cImVkaXRIb21lXCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cImVkaXRIb21lID8gJzRyZW0nIDogJ2F1dG8nXCJcclxuICAgIGNka0Ryb3BMaXN0XHJcbiAgICAjYWN0aW9uTGlua3M9XCJjZGtEcm9wTGlzdFwiXHJcbiAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXHJcbiAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJ0aWxlc1wiXHJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcChhcHBUaWxlR3JvdXAsICRldmVudClcIlxyXG4gICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJ7XHJcbiAgICAgICAgaXNUaWxlOiBmYWxzZSxcclxuICAgICAgICBpdGVtczogYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzIHx8IFtdXHJcbiAgICB9XCJcclxuPlxyXG48L2J0LWFjdGlvbnMtbGluaz5cclxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXBwVGlsZVN1Ykdyb3VwIG9mIGFwcFRpbGVHcm91cC4kQ2hpbGRyZW5cIj5cclxuICAgIDxidC10aWxlcy12aWV3ZXItZ3JvdXBcclxuICAgICAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVTdWJHcm91cFwiXHJcbiAgICAgICAgW2VkaXRIb21lXT1cImVkaXRIb21lXCJcclxuICAgICAgICBbc3RhY2tDb250ZW50XT1cInN0YWNrQ29udGVudFwiXHJcbiAgICAgICAgW2lzQXBwVGlsZVN1Ykdyb3VwXT1cInRydWVcIlxyXG4gICAgICAgICh0aWxlc0Ryb3BwZWQpPVwidGlsZXNEcm9wcGVkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJlbmFtZUFwcFRpbGVDbGljayk9XCJyZW5hbWVBcHBUaWxlQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoaGlkZUFwcFRpbGVDbGljayk9XCJoaWRlQXBwVGlsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJlc2V0R3JvdXApPVwicmVzZXRHcm91cC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChkZWxldGVHcm91cCk9XCJkZWxldGVHcm91cC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICh0b2dnbGVHcm91cCk9XCJ0b2dnbGVHcm91cC5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvYnQtdGlsZXMtdmlld2VyLWdyb3VwPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsYUFBYSxFQUE4QyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRakcsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFnQnhEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFWRixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUdyQyxDQUFDO1FBQ0sscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDN0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUdoRSxDQUFDO0lBRUQsTUFBTSxDQUNGLFlBQWlDLEVBQ2pDLEtBQXFFO1FBRXJFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDdkMsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLFlBQWlDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFpQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQWlDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3NIQTdDUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixpY0NYdEMsMnVKQXdHQSxza0lEN0ZhLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTswRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgc3RhY2tDb250ZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZWRpdEhvbWU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc0FwcFRpbGVTdWJHcm91cDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgdGlsZXNEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICAgICAgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgICAgIGV2ZW50OiBDZGtEcmFnRHJvcDx7IGlzVGlsZTogYm9vbGVhbjsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9PjtcclxuICAgIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgaGlkZUFwcFRpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSByZW5hbWVBcHBUaWxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgdG9nZ2xlR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVzZXRHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBkZWxldGVHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ecm9wKFxyXG4gICAgICAgIGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgICAgICBldmVudDogQ2RrRHJhZ0Ryb3A8eyBpc1RpbGU6IGJvb2xlYW47IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfT5cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5lZGl0SG9tZSB8fCBhcHBUaWxlR3JvdXAuTG9ja2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aWxlc0Ryb3BwZWQuZW1pdCh7IGFwcFRpbGVHcm91cCwgZXZlbnQgfSk7XHJcbiAgICB9XHJcbiAgICBvbkFwcFRpbGVIaWRlQ2xpY2soYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZUFwcFRpbGVDbGljay5lbWl0KGFwcFRpbGUpO1xyXG4gICAgfVxyXG4gICAgb25BcHBUaWxlUmVuYW1lQ2xpY2soYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuYW1lQXBwVGlsZUNsaWNrLmVtaXQoYXBwVGlsZSk7XHJcbiAgICB9XHJcbiAgICBvbkRlbGV0ZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlR3JvdXAuZW1pdChhcHBUaWxlR3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVzZXQoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZXNldEdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtbGF5b3V0LXBhbmVsIFtmaXhlZF09XCJ0cnVlXCIgW2F0dHIuZWRpdEhvbWVdPVwiZWRpdEhvbWVcIiBjZGtEcmFnIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXRIb21lIHx8ICFzdGFja0NvbnRlbnRcIj5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZGVyICpuZ0lmPVwiZWRpdEhvbWUgfHwgc3RhY2tDb250ZW50IHx8IGlzQXBwVGlsZVN1Ykdyb3VwXCI+XHJcbiAgICAgICAgPGZkLWxheW91dC1wYW5lbC1oZWFkPlxyXG4gICAgICAgICAgICA8aDIgZmQtbGF5b3V0LXBhbmVsLXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB9fTwvaDI+XHJcbiAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtaGVhZD5cclxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnMgKm5nSWY9XCJlZGl0SG9tZVwiIGNsYXNzPVwiZ3JvdXAtYnRuc1wiPlxyXG4gICAgICAgICAgICA8ZmQtdG9vbGJhciBbc2hvdWxkT3ZlcmZsb3ddPVwiZmFsc2VcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIhYXBwVGlsZUdyb3VwLm5hdmlnYXRvclZpc2libGUgPyAoJ1Nob3cnIHwgYmJiVHJhbnNsYXRlKSA6ICgnSGlkZScgfCBiYmJUcmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVTaG93SGlkZShhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFwcFRpbGVHcm91cC5QcmVkZWZpbmVkICYmIGFwcFRpbGVHcm91cC4kVGlsZVNldHRpbmdDaGFuZ2VkXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1JlZnJlc2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZXNldChhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFhcHBUaWxlR3JvdXAuUHJlZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidEZWxldGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIiduZWdhdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShhcHBUaWxlR3JvdXApXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkZXI+XHJcbiAgICA8ZmQtbGF5b3V0LXBhbmVsLWJvZHkgW2JsZWVkXT1cIiFzdGFja0NvbnRlbnRcIiBbY2xhc3Muc21hbGwtc2l6ZV09XCJkZXZpY2VTaXplID09PSAncydcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidGlsZS13cmFwcGVyXCJcclxuICAgICAgICAgICAgZmQtcGFuZWwtY29udGVudFxyXG4gICAgICAgICAgICAjdGlsZXM9XCJjZGtEcm9wTGlzdFwiXHJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcclxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoYXBwVGlsZUdyb3VwLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiYWN0aW9uTGlua3NcIlxyXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIntcclxuICAgICAgICAgICAgICAgIGlzVGlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGl0ZW1zOiBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMgfHwgW11cclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVkaXRIb21lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgZmQtdGl0bGUgKm5nSWY9XCIhYXBwVGlsZUdyb3VwLiRUaWxlc0xvYWRlZFwiIFtsb2FkaW5nXT1cInRydWVcIj48L2ZkLWJ1c3ktaW5kaWNhdG9yPlxyXG5cclxuICAgICAgICAgICAgICAgIDxoNSBmZC10aXRsZSAqbmdJZj1cIiFhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubGVuZ3RoICYmIGFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWRcIj48L2g1PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFwcFRpbGUgb2YgYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpbGVzOyBsZXQgayA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5lZGl0LWhvbWVdPVwiZWRpdEhvbWVcIlxyXG4gICAgICAgICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdEhvbWUgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNDb21tYW5kXT1cImFwcFRpbGUuRHluYW1pY0NvbW1hbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVDb21tYW5kXT1cIiFlZGl0SG9tZSAmJiBhcHBUaWxlLkNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGlsZVJlbmRlcmVyXHJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiYXBwVGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VkaXRIb21lXT1cImVkaXRIb21lXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cImFwcFRpbGUuQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAoaGlkZUNsaWNrKT1cIm9uQXBwVGlsZUhpZGVDbGljayhhcHBUaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlbmFtZUNsaWNrKT1cIm9uQXBwVGlsZVJlbmFtZUNsaWNrKGFwcFRpbGUpXCJcclxuICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZmQtdGlsZSBjbGFzcz1cImFkZC10aWxlXCIgKm5nSWY9XCJlZGl0SG9tZVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2hvbWUvYXBwZmluZGVyJ11cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhZGRcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9mZC10aWxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cclxuPC9mZC1sYXlvdXQtcGFuZWw+XHJcblxyXG48YnQtYWN0aW9ucy1saW5rXHJcbiAgICBbY2xhc3MuYWN0aW9ucy1saW5rLWVkaXQtaG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICBbYWN0aW9uc0xpbmtdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzXCJcclxuICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodF09XCJlZGl0SG9tZSA/ICc0cmVtJyA6ICdhdXRvJ1wiXHJcbiAgICBjZGtEcm9wTGlzdFxyXG4gICAgI2FjdGlvbkxpbmtzPVwiY2RrRHJvcExpc3RcIlxyXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwidGlsZXNcIlxyXG4gICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoYXBwVGlsZUdyb3VwLCAkZXZlbnQpXCJcclxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwie1xyXG4gICAgICAgIGlzVGlsZTogZmFsc2UsXHJcbiAgICAgICAgaXRlbXM6IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JBY3Rpb25MaW5rcyB8fCBbXVxyXG4gICAgfVwiXHJcbj5cclxuPC9idC1hY3Rpb25zLWxpbms+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFwcFRpbGVTdWJHcm91cCBvZiBhcHBUaWxlR3JvdXAuJENoaWxkcmVuXCI+XHJcbiAgICA8YnQtdGlsZXMtdmlld2VyLWdyb3VwXHJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlU3ViR3JvdXBcIlxyXG4gICAgICAgIFtlZGl0SG9tZV09XCJlZGl0SG9tZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJzdGFja0NvbnRlbnRcIlxyXG4gICAgICAgIFtpc0FwcFRpbGVTdWJHcm91cF09XCJ0cnVlXCJcclxuICAgICAgICAodGlsZXNEcm9wcGVkKT1cInRpbGVzRHJvcHBlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChyZW5hbWVBcHBUaWxlQ2xpY2spPVwicmVuYW1lQXBwVGlsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGhpZGVBcHBUaWxlQ2xpY2spPVwiaGlkZUFwcFRpbGVDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChyZXNldEdyb3VwKT1cInJlc2V0R3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoZGVsZXRlR3JvdXApPVwiZGVsZXRlR3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAodG9nZ2xlR3JvdXApPVwidG9nZ2xlR3JvdXAuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L2J0LXRpbGVzLXZpZXdlci1ncm91cD5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|