@pepperi-addons/ngx-composite-lib 0.4.2-beta.193 → 0.4.2-beta.194

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.
@@ -4,6 +4,7 @@ import { BaseDestroyerDirective } from '@pepperi-addons/ngx-lib';
4
4
  import { pepIconDeviceDesktop, pepIconDeviceMobile, pepIconDeviceTablet } from '@pepperi-addons/ngx-lib/icon';
5
5
  import { PepSideBarComponent } from '@pepperi-addons/ngx-lib/side-bar';
6
6
  import { LayoutBuilderInternalService } from './layout-builder-internal.service';
7
+ import { PepLayoutContentDirective } from './layout-content.directive';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@ngx-translate/core";
9
10
  import * as i2 from "./layout-builder-internal.service";
@@ -44,6 +45,7 @@ export class PepLayoutBuilderComponent extends BaseDestroyerDirective {
44
45
  this.viewportWidth = 0;
45
46
  this.sectionsColumnsDropList = [];
46
47
  this.hasProjectedLayoutContent = false;
48
+ this.didInitFromProjectedLayoutView = false;
47
49
  this.layoutBuilderInternalService = layoutBuilderInternalService;
48
50
  this.renderer.addClass(this.hostElement.nativeElement, 'pep-layout-builder');
49
51
  }
@@ -150,14 +152,45 @@ export class PepLayoutBuilderComponent extends BaseDestroyerDirective {
150
152
  this.layoutBuilderInternalService.setBlocksConfig(this._blocksLayoutConfig);
151
153
  }
152
154
  }
155
+ hasProjectedLayoutContentInDom() {
156
+ const host = this.hostElement?.nativeElement;
157
+ return !!host?.querySelector?.('[layout-content]');
158
+ }
153
159
  updateHasProjectedLayoutContent() {
154
- this.hasProjectedLayoutContent = (this.projectedLayoutContentElements?.length ?? 0) > 0;
160
+ const hasProjectedFromDirective = (this.projectedLayoutContentDirectives?.length ?? 0) > 0;
161
+ const hasProjectedFromDom = this.hasProjectedLayoutContentInDom();
162
+ this.hasProjectedLayoutContent = hasProjectedFromDirective || hasProjectedFromDom;
163
+ }
164
+ tryInitFromProjectedLayoutView() {
165
+ if (this.didInitFromProjectedLayoutView)
166
+ return;
167
+ if (this.layoutView)
168
+ return;
169
+ if (!this.hasProjectedLayoutContent)
170
+ return;
171
+ const existingLayoutView = this.layoutBuilderInternalService?.getCurrentLayoutView();
172
+ if (existingLayoutView) {
173
+ this.didInitFromProjectedLayoutView = true;
174
+ this.layoutBuilderInternalService.loadLayoutBuilder(existingLayoutView);
175
+ }
155
176
  }
156
177
  ngAfterContentInit() {
157
178
  this.updateHasProjectedLayoutContent();
179
+ // If pep-layout (projected) loaded the layoutView before editorMode was enabled,
180
+ // reload it once editorMode is on so the default editor (sidebar) is created.
181
+ queueMicrotask(() => this.tryInitFromProjectedLayoutView());
182
+ this.projectedLayoutContentDirectives?.changes
183
+ .pipe(this.getDestroyer())
184
+ .subscribe(() => {
185
+ this.updateHasProjectedLayoutContent();
186
+ queueMicrotask(() => this.tryInitFromProjectedLayoutView());
187
+ });
158
188
  this.projectedLayoutContentElements?.changes
159
189
  .pipe(this.getDestroyer())
160
- .subscribe(() => this.updateHasProjectedLayoutContent());
190
+ .subscribe(() => {
191
+ this.updateHasProjectedLayoutContent();
192
+ queueMicrotask(() => this.tryInitFromProjectedLayoutView());
193
+ });
161
194
  }
162
195
  ngOnChanges(changes) {
163
196
  if (changes['manageGlobalCursor']) {
@@ -235,10 +268,10 @@ export class PepLayoutBuilderComponent extends BaseDestroyerDirective {
235
268
  }
236
269
  }
237
270
  PepLayoutBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutBuilderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.TranslateService }, { token: i2.LayoutBuilderInternalService }, { token: i3.PepAddonService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
238
- PepLayoutBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutBuilderComponent, selector: "pep-layout-builder", inputs: { availableBlocksForDrag: "availableBlocksForDrag", blocksLayoutConfig: "blocksLayoutConfig", layoutEditorTitle: "layoutEditorTitle", lockScreen: "lockScreen", updateShellRouterData: "updateShellRouterData", manageGlobalCursor: "manageGlobalCursor", layoutView: "layoutView" }, outputs: { backClick: "backClick", editorChange: "editorChange", blockAdded: "blockAdded", blocksRemoved: "blocksRemoved", editableStateChange: "editableStateChange" }, host: { listeners: { "window:resize": "onResize($event)" } }, providers: [LayoutBuilderInternalService], queries: [{ propertyName: "projectedLayoutContentElements", predicate: ["[layout-content]"], descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "layoutBuilderWrapper", first: true, predicate: ["layoutBuilderWrapper"], descendants: true, static: true }, { propertyName: "sideBarComponent", first: true, predicate: PepSideBarComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"lockScreen\" class=\"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing\"></div>\n\n<pep-page-layout [showShadow]=\"!previewMode && currentEditor !== null\" >\n <div pep-side-area *ngIf=\"!previewMode && currentEditor\" style=\"height: inherit;\">\n <pep-side-bar #sideBar [ignoreResize]=\"true\" (stateChange)=\"onSidebarStateChange($event)\">\n <div header-content class=\"side-bar-title\">\n <pep-button class=\"back-button\" sizeType=\"sm\" iconName=\"arrow_left_alt\" (buttonClick)=\"onNavigateBackFromEditor();\"></pep-button>\n <div #editorTitle class=\"title title-lg ellipsis\" \n [title]=\"currentEditor.type === 'layout-builder' ? (layoutEditorTitle || currentEditor.title) : currentEditor.title\">\n <span class=\"ellipsis\">{{ editorTitle.title }}</span>\n </div>\n </div>\n <div class=\"layout-builder-editor-wrapper\">\n <main-editor *ngIf=\"currentEditor.type === 'layout-builder'\" [sectionsColumnsDropList]=\"sectionsColumnsDropList\" [availableBlocksForDrag]=\"availableBlocksForDrag\"\n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onLayoutEditorObjectChange($event)\" \n (addSectionClick)=\"onAddSectionClick($event)\" (onBlockDragStart)=\"onBlockDragStart($event)\" (onBlockDragEnd)=\"onBlockDragEnd($event)\"\n >\n <ng-container layout-editor-top-content>\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n </ng-container>\n <!-- <ng-container layout-editor-bottom-content>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </ng-container> -->\n </main-editor>\n \n <section-editor *ngIf=\"currentEditor.type === 'section'\" \n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onSectionEditorObjectChange($event)\"></section-editor>\n \n <ng-container *ngIf=\"currentEditor.type === 'block'\" >\n <ng-content select=\"[block-editor-content]\"></ng-content>\n </ng-container>\n </div>\n </pep-side-bar>\n </div>\n <ng-container pep-main-area>\n <div class=\"main-area-container\" [ngClass]=\"{'preview-mode': previewMode }\">\n <div class=\"header-container\" >\n <ng-container *ngIf=\"!previewMode; then editorTitleTemplate; else previewTitleTemplate\"></ng-container>\n <ng-template #editorTitleTemplate>\n <div>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.VIEWPORT_WIDTH' | translate)}}:&nbsp;</span>\n <span class=\"body-xs\"><b>{{viewportWidth}}</b></span>\n </div>\n </ng-template>\n <ng-template #previewTitleTemplate>\n <div class=\"preview-title body-sm\">\n <span>{{('LAYOUT_BUILDER.PREVIEW_TITLE' | translate)}}</span>\n </div>\n </ng-template>\n\n <div class=\"header-group-btn\">\n <pep-group-buttons [buttons]=\"screenTypes\" [selectedButtonKey]=\"selectedScreenType\" sizeType=\"sm\" viewType=\"toggle\" >\n </pep-group-buttons>\n </div>\n\n <ng-container *ngIf=\"!previewMode; then editorButtonsTemplate; else previewButtonsTemplate\"></ng-container>\n <ng-template #editorButtonsTemplate>\n <div class=\"header-end\">\n <pep-button key='Preview' [value]=\"'ACTIONS.PREVIEW' | translate\" sizeType=\"sm\" (buttonClick)=\"togglePreviewMode()\"></pep-button>\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n </ng-template>\n <ng-template #previewButtonsTemplate>\n <a class=\"color-link body-sm\" (click)=\"togglePreviewMode()\" href=\"javascript:void(0)\">{{('LAYOUT_BUILDER.PREVIEW_CLICK_HERE' | translate)}}</a> \n </ng-template>\n </div>\n <div #layoutBuilderWrapper class=\"layout-builder-wrapper\" [ngClass]=\"{'limit-min-width': selectedScreenType === 'Landscape' }\">\n <ng-container *ngIf=\"hasProjectedLayoutContent; else defaultLayout\">\n <ng-content select=\"[layout-content]\"></ng-content>\n </ng-container>\n <ng-template #defaultLayout>\n <pep-layout *ngIf=\"layoutView\" [editorMode]=\"true\" [layoutView]=\"layoutView\" [blockTemplate]=\"defaultBlockTemplate\"></pep-layout>\n </ng-template>\n <ng-template #defaultBlockTemplate let-blockKey=\"blockKey\">\n <div>{{ layoutBuilderInternalService.getBlockTitle(blockKey) }}</div>\n </ng-template>\n <div *ngIf=\"!previewMode\" class=\"backdrop\" [ngClass]=\"{'show-backdrop': currentEditor?.type === 'section' || currentEditor?.type === 'block'}\"></div>\n </div>\n </div>\n </ng-container>\n</pep-page-layout>", styles: [".side-bar-title{display:flex;padding-top:var(--pep-spacing-sm, .5rem)}.side-bar-title .back-button{margin-inline-end:var(--pep-spacing-sm, .5rem)}.side-bar-title .title{display:grid;align-items:center}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs{height:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{position:sticky;top:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:2}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header-pagination,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header-pagination{display:none}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels{display:grid;grid-template-columns:1fr 1fr}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels .mat-tab-label,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels .mat-tab-label{padding:0 var(--pep-spacing-md, .75rem)!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper{overflow:unset;margin:0;display:block}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active{overflow:unset}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content{overflow:unset;display:flex;flex-direction:column;padding-inline:0!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container{padding-top:var(--pep-spacing-lg, 1rem);padding-bottom:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem);display:flex;flex-direction:column}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .editor-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-bold, 600)!important;font-size:var(--pep-font-size-xl, 1.25rem)!important;line-height:var(--pep-line-height-xl, 1.5625rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-sub-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400)!important;font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-separator{margin-top:var(--pep-spacing-lg, 1rem);border-bottom:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title{margin-bottom:.5rem!important;min-height:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container{background:unset!important;padding-left:unset!important;padding-right:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-inner-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-inner-container{margin-left:0!important;margin-right:0!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-lg, 1.125rem)!important;line-height:var(--pep-line-height-lg, 1.40625rem)!important;font-weight:var(--pep-font-weight-bold, 600)!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span{margin:0 .5rem}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;font-weight:var(--pep-font-weight-normal, 400)!important}.main-area-container{min-height:100%;display:grid;grid-template-rows:auto 1fr}.main-area-container .header-container{display:flex;position:sticky;top:0;z-index:100;height:3rem;align-items:center;justify-content:space-between;padding:0 var(--pep-spacing-sm, .5rem)}.main-area-container .header-container .header-group-btn{display:flex;justify-content:space-around;align-items:center}.main-area-container .header-container .header-end{display:flex;justify-content:flex-end;gap:var(--pep-spacing-sm, .5rem)}.main-area-container .header-container ::ng-deep .group-buttons-container .toggle-buttons{width:16rem}.main-area-container .layout-builder-wrapper{width:100%;margin:0 auto;position:relative}.main-area-container .layout-builder-wrapper.limit-min-width{min-width:800px}.main-area-container .layout-builder-wrapper .backdrop{position:absolute;width:100%;height:100%;top:0;z-index:10;display:none}.main-area-container .layout-builder-wrapper .backdrop.show-backdrop{display:block}\n", ".layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}.main-area-container .header-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .header-container .header-title{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}.main-area-container .header-container .size-limit-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.08)}.main-area-container.preview-mode .header-container{background:unset;background-color:hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.main-area-container.preview-mode .header-container .preview-title,.main-area-container.preview-mode .header-container .color-link{color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container.preview-mode .layout-builder-wrapper{overflow:auto}.main-area-container .layout-builder-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .layout-builder-wrapper .backdrop{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.5)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i6.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "stateType", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i7.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i8.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }, { kind: "component", type: i9.PepLayoutComponent, selector: "pep-layout", inputs: ["editorMode", "layoutView", "blockTemplate", "renderSkeleton", "showSkeleton"], outputs: ["layoutViewChange", "screenTypeChange"] }, { kind: "component", type: i10.MainEditorComponent, selector: "main-editor", inputs: ["availableBlocksForDrag", "sectionsColumnsDropList", "hostObject"], outputs: ["hostObjectChange", "addSectionClick", "onBlockDragStart", "onBlockDragEnd"] }, { kind: "component", type: i11.SectionEditorComponent, selector: "section-editor", inputs: ["hostObject"], outputs: ["hostObjectChange"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
271
+ PepLayoutBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutBuilderComponent, selector: "pep-layout-builder", inputs: { availableBlocksForDrag: "availableBlocksForDrag", blocksLayoutConfig: "blocksLayoutConfig", layoutEditorTitle: "layoutEditorTitle", lockScreen: "lockScreen", updateShellRouterData: "updateShellRouterData", manageGlobalCursor: "manageGlobalCursor", layoutView: "layoutView" }, outputs: { backClick: "backClick", editorChange: "editorChange", blockAdded: "blockAdded", blocksRemoved: "blocksRemoved", editableStateChange: "editableStateChange" }, host: { listeners: { "window:resize": "onResize($event)" } }, providers: [LayoutBuilderInternalService], queries: [{ propertyName: "projectedLayoutContentElements", predicate: ["[layout-content]"], descendants: true, read: ElementRef }, { propertyName: "projectedLayoutContentDirectives", predicate: PepLayoutContentDirective, descendants: true }], viewQueries: [{ propertyName: "layoutBuilderWrapper", first: true, predicate: ["layoutBuilderWrapper"], descendants: true, static: true }, { propertyName: "sideBarComponent", first: true, predicate: PepSideBarComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"lockScreen\" class=\"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing\"></div>\n\n<pep-page-layout [showShadow]=\"!previewMode && currentEditor !== null\" >\n <div pep-side-area *ngIf=\"!previewMode && currentEditor\" style=\"height: inherit;\">\n <pep-side-bar #sideBar [ignoreResize]=\"true\" (stateChange)=\"onSidebarStateChange($event)\">\n <div header-content class=\"side-bar-title\">\n <pep-button class=\"back-button\" sizeType=\"sm\" iconName=\"arrow_left_alt\" (buttonClick)=\"onNavigateBackFromEditor();\"></pep-button>\n <div #editorTitle class=\"title title-lg ellipsis\" \n [title]=\"currentEditor.type === 'layout-builder' ? (layoutEditorTitle || currentEditor.title) : currentEditor.title\">\n <span class=\"ellipsis\">{{ editorTitle.title }}</span>\n </div>\n </div>\n <div class=\"layout-builder-editor-wrapper\">\n <main-editor *ngIf=\"currentEditor.type === 'layout-builder'\" [sectionsColumnsDropList]=\"sectionsColumnsDropList\" [availableBlocksForDrag]=\"availableBlocksForDrag\"\n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onLayoutEditorObjectChange($event)\" \n (addSectionClick)=\"onAddSectionClick($event)\" (onBlockDragStart)=\"onBlockDragStart($event)\" (onBlockDragEnd)=\"onBlockDragEnd($event)\"\n >\n <ng-container layout-editor-top-content>\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n </ng-container>\n <!-- <ng-container layout-editor-bottom-content>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </ng-container> -->\n </main-editor>\n \n <section-editor *ngIf=\"currentEditor.type === 'section'\" \n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onSectionEditorObjectChange($event)\"></section-editor>\n \n <ng-container *ngIf=\"currentEditor.type === 'block'\" >\n <ng-content select=\"[block-editor-content]\"></ng-content>\n </ng-container>\n </div>\n </pep-side-bar>\n </div>\n <ng-container pep-main-area>\n <div class=\"main-area-container\" [ngClass]=\"{'preview-mode': previewMode }\">\n <div class=\"header-container\" >\n <ng-container *ngIf=\"!previewMode; then editorTitleTemplate; else previewTitleTemplate\"></ng-container>\n <ng-template #editorTitleTemplate>\n <div>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.VIEWPORT_WIDTH' | translate)}}:&nbsp;</span>\n <span class=\"body-xs\"><b>{{viewportWidth}}</b></span>\n </div>\n </ng-template>\n <ng-template #previewTitleTemplate>\n <div class=\"preview-title body-sm\">\n <span>{{('LAYOUT_BUILDER.PREVIEW_TITLE' | translate)}}</span>\n </div>\n </ng-template>\n\n <div class=\"header-group-btn\">\n <pep-group-buttons [buttons]=\"screenTypes\" [selectedButtonKey]=\"selectedScreenType\" sizeType=\"sm\" viewType=\"toggle\" >\n </pep-group-buttons>\n </div>\n\n <ng-container *ngIf=\"!previewMode; then editorButtonsTemplate; else previewButtonsTemplate\"></ng-container>\n <ng-template #editorButtonsTemplate>\n <div class=\"header-end\">\n <pep-button key='Preview' [value]=\"'ACTIONS.PREVIEW' | translate\" sizeType=\"sm\" (buttonClick)=\"togglePreviewMode()\"></pep-button>\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n </ng-template>\n <ng-template #previewButtonsTemplate>\n <a class=\"color-link body-sm\" (click)=\"togglePreviewMode()\" href=\"javascript:void(0)\">{{('LAYOUT_BUILDER.PREVIEW_CLICK_HERE' | translate)}}</a> \n </ng-template>\n </div>\n <div #layoutBuilderWrapper class=\"layout-builder-wrapper\" [ngClass]=\"{'limit-min-width': selectedScreenType === 'Landscape' }\">\n <ng-container *ngIf=\"hasProjectedLayoutContent; else defaultLayout\">\n <ng-content select=\"[layout-content]\"></ng-content>\n </ng-container>\n <ng-template #defaultLayout>\n <pep-layout *ngIf=\"layoutView\" [editorMode]=\"true\" [layoutView]=\"layoutView\" [blockTemplate]=\"defaultBlockTemplate\"></pep-layout>\n </ng-template>\n <ng-template #defaultBlockTemplate let-blockKey=\"blockKey\">\n <div>{{ layoutBuilderInternalService.getBlockTitle(blockKey) }}</div>\n </ng-template>\n <div *ngIf=\"!previewMode\" class=\"backdrop\" [ngClass]=\"{'show-backdrop': currentEditor?.type === 'section' || currentEditor?.type === 'block'}\"></div>\n </div>\n </div>\n </ng-container>\n</pep-page-layout>", styles: [":host{display:block;height:100%}pep-page-layout{height:100%}.side-bar-title{display:flex;padding-top:var(--pep-spacing-sm, .5rem)}.side-bar-title .back-button{margin-inline-end:var(--pep-spacing-sm, .5rem)}.side-bar-title .title{display:grid;align-items:center}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs{height:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{position:sticky;top:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:2}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header-pagination,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header-pagination{display:none}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels{display:grid;grid-template-columns:1fr 1fr}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels .mat-tab-label,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels .mat-tab-label{padding:0 var(--pep-spacing-md, .75rem)!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper{overflow:unset;margin:0;display:block}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active{overflow:unset}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content{overflow:unset;display:flex;flex-direction:column;padding-inline:0!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container{padding-top:var(--pep-spacing-lg, 1rem);padding-bottom:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem);display:flex;flex-direction:column}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .editor-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-bold, 600)!important;font-size:var(--pep-font-size-xl, 1.25rem)!important;line-height:var(--pep-line-height-xl, 1.5625rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-sub-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400)!important;font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-separator{margin-top:var(--pep-spacing-lg, 1rem);border-bottom:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title{margin-bottom:.5rem!important;min-height:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container{background:unset!important;padding-left:unset!important;padding-right:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-inner-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-inner-container{margin-left:0!important;margin-right:0!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-lg, 1.125rem)!important;line-height:var(--pep-line-height-lg, 1.40625rem)!important;font-weight:var(--pep-font-weight-bold, 600)!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span{margin:0 .5rem}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;font-weight:var(--pep-font-weight-normal, 400)!important}.main-area-container{height:100%;min-height:100%;display:grid;grid-template-rows:auto 1fr}.main-area-container .header-container{display:flex;position:sticky;top:0;z-index:100;height:3rem;align-items:center;justify-content:space-between;padding:0 var(--pep-spacing-sm, .5rem)}.main-area-container .header-container .header-group-btn{display:flex;justify-content:space-around;align-items:center}.main-area-container .header-container .header-end{display:flex;justify-content:flex-end;gap:var(--pep-spacing-sm, .5rem)}.main-area-container .header-container ::ng-deep .group-buttons-container .toggle-buttons{width:16rem}.main-area-container .layout-builder-wrapper{width:100%;margin:0 auto;position:relative;height:100%;min-height:0}.main-area-container .layout-builder-wrapper.limit-min-width{min-width:800px}.main-area-container .layout-builder-wrapper .backdrop{position:absolute;width:100%;height:100%;top:0;z-index:10;display:none}.main-area-container .layout-builder-wrapper .backdrop.show-backdrop{display:block}\n", ".layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}.main-area-container .header-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .header-container .header-title{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}.main-area-container .header-container .size-limit-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.08)}.main-area-container.preview-mode .header-container{background:unset;background-color:hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.main-area-container.preview-mode .header-container .preview-title,.main-area-container.preview-mode .header-container .color-link{color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container.preview-mode .layout-builder-wrapper{overflow:auto}.main-area-container .layout-builder-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .layout-builder-wrapper .backdrop{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.5)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i6.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "stateType", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i7.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i8.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }, { kind: "component", type: i9.PepLayoutComponent, selector: "pep-layout", inputs: ["editorMode", "layoutView", "blockTemplate", "renderSkeleton", "showSkeleton"], outputs: ["layoutViewChange", "screenTypeChange"] }, { kind: "component", type: i10.MainEditorComponent, selector: "main-editor", inputs: ["availableBlocksForDrag", "sectionsColumnsDropList", "hostObject"], outputs: ["hostObjectChange", "addSectionClick", "onBlockDragStart", "onBlockDragEnd"] }, { kind: "component", type: i11.SectionEditorComponent, selector: "section-editor", inputs: ["hostObject"], outputs: ["hostObjectChange"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
239
272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutBuilderComponent, decorators: [{
240
273
  type: Component,
241
- args: [{ selector: 'pep-layout-builder', providers: [LayoutBuilderInternalService], template: "<div *ngIf=\"lockScreen\" class=\"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing\"></div>\n\n<pep-page-layout [showShadow]=\"!previewMode && currentEditor !== null\" >\n <div pep-side-area *ngIf=\"!previewMode && currentEditor\" style=\"height: inherit;\">\n <pep-side-bar #sideBar [ignoreResize]=\"true\" (stateChange)=\"onSidebarStateChange($event)\">\n <div header-content class=\"side-bar-title\">\n <pep-button class=\"back-button\" sizeType=\"sm\" iconName=\"arrow_left_alt\" (buttonClick)=\"onNavigateBackFromEditor();\"></pep-button>\n <div #editorTitle class=\"title title-lg ellipsis\" \n [title]=\"currentEditor.type === 'layout-builder' ? (layoutEditorTitle || currentEditor.title) : currentEditor.title\">\n <span class=\"ellipsis\">{{ editorTitle.title }}</span>\n </div>\n </div>\n <div class=\"layout-builder-editor-wrapper\">\n <main-editor *ngIf=\"currentEditor.type === 'layout-builder'\" [sectionsColumnsDropList]=\"sectionsColumnsDropList\" [availableBlocksForDrag]=\"availableBlocksForDrag\"\n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onLayoutEditorObjectChange($event)\" \n (addSectionClick)=\"onAddSectionClick($event)\" (onBlockDragStart)=\"onBlockDragStart($event)\" (onBlockDragEnd)=\"onBlockDragEnd($event)\"\n >\n <ng-container layout-editor-top-content>\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n </ng-container>\n <!-- <ng-container layout-editor-bottom-content>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </ng-container> -->\n </main-editor>\n \n <section-editor *ngIf=\"currentEditor.type === 'section'\" \n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onSectionEditorObjectChange($event)\"></section-editor>\n \n <ng-container *ngIf=\"currentEditor.type === 'block'\" >\n <ng-content select=\"[block-editor-content]\"></ng-content>\n </ng-container>\n </div>\n </pep-side-bar>\n </div>\n <ng-container pep-main-area>\n <div class=\"main-area-container\" [ngClass]=\"{'preview-mode': previewMode }\">\n <div class=\"header-container\" >\n <ng-container *ngIf=\"!previewMode; then editorTitleTemplate; else previewTitleTemplate\"></ng-container>\n <ng-template #editorTitleTemplate>\n <div>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.VIEWPORT_WIDTH' | translate)}}:&nbsp;</span>\n <span class=\"body-xs\"><b>{{viewportWidth}}</b></span>\n </div>\n </ng-template>\n <ng-template #previewTitleTemplate>\n <div class=\"preview-title body-sm\">\n <span>{{('LAYOUT_BUILDER.PREVIEW_TITLE' | translate)}}</span>\n </div>\n </ng-template>\n\n <div class=\"header-group-btn\">\n <pep-group-buttons [buttons]=\"screenTypes\" [selectedButtonKey]=\"selectedScreenType\" sizeType=\"sm\" viewType=\"toggle\" >\n </pep-group-buttons>\n </div>\n\n <ng-container *ngIf=\"!previewMode; then editorButtonsTemplate; else previewButtonsTemplate\"></ng-container>\n <ng-template #editorButtonsTemplate>\n <div class=\"header-end\">\n <pep-button key='Preview' [value]=\"'ACTIONS.PREVIEW' | translate\" sizeType=\"sm\" (buttonClick)=\"togglePreviewMode()\"></pep-button>\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n </ng-template>\n <ng-template #previewButtonsTemplate>\n <a class=\"color-link body-sm\" (click)=\"togglePreviewMode()\" href=\"javascript:void(0)\">{{('LAYOUT_BUILDER.PREVIEW_CLICK_HERE' | translate)}}</a> \n </ng-template>\n </div>\n <div #layoutBuilderWrapper class=\"layout-builder-wrapper\" [ngClass]=\"{'limit-min-width': selectedScreenType === 'Landscape' }\">\n <ng-container *ngIf=\"hasProjectedLayoutContent; else defaultLayout\">\n <ng-content select=\"[layout-content]\"></ng-content>\n </ng-container>\n <ng-template #defaultLayout>\n <pep-layout *ngIf=\"layoutView\" [editorMode]=\"true\" [layoutView]=\"layoutView\" [blockTemplate]=\"defaultBlockTemplate\"></pep-layout>\n </ng-template>\n <ng-template #defaultBlockTemplate let-blockKey=\"blockKey\">\n <div>{{ layoutBuilderInternalService.getBlockTitle(blockKey) }}</div>\n </ng-template>\n <div *ngIf=\"!previewMode\" class=\"backdrop\" [ngClass]=\"{'show-backdrop': currentEditor?.type === 'section' || currentEditor?.type === 'block'}\"></div>\n </div>\n </div>\n </ng-container>\n</pep-page-layout>", styles: [".side-bar-title{display:flex;padding-top:var(--pep-spacing-sm, .5rem)}.side-bar-title .back-button{margin-inline-end:var(--pep-spacing-sm, .5rem)}.side-bar-title .title{display:grid;align-items:center}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs{height:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{position:sticky;top:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:2}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header-pagination,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header-pagination{display:none}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels{display:grid;grid-template-columns:1fr 1fr}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels .mat-tab-label,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels .mat-tab-label{padding:0 var(--pep-spacing-md, .75rem)!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper{overflow:unset;margin:0;display:block}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active{overflow:unset}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content{overflow:unset;display:flex;flex-direction:column;padding-inline:0!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container{padding-top:var(--pep-spacing-lg, 1rem);padding-bottom:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem);display:flex;flex-direction:column}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .editor-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-bold, 600)!important;font-size:var(--pep-font-size-xl, 1.25rem)!important;line-height:var(--pep-line-height-xl, 1.5625rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-sub-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400)!important;font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-separator{margin-top:var(--pep-spacing-lg, 1rem);border-bottom:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title{margin-bottom:.5rem!important;min-height:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container{background:unset!important;padding-left:unset!important;padding-right:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-inner-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-inner-container{margin-left:0!important;margin-right:0!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-lg, 1.125rem)!important;line-height:var(--pep-line-height-lg, 1.40625rem)!important;font-weight:var(--pep-font-weight-bold, 600)!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span{margin:0 .5rem}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;font-weight:var(--pep-font-weight-normal, 400)!important}.main-area-container{min-height:100%;display:grid;grid-template-rows:auto 1fr}.main-area-container .header-container{display:flex;position:sticky;top:0;z-index:100;height:3rem;align-items:center;justify-content:space-between;padding:0 var(--pep-spacing-sm, .5rem)}.main-area-container .header-container .header-group-btn{display:flex;justify-content:space-around;align-items:center}.main-area-container .header-container .header-end{display:flex;justify-content:flex-end;gap:var(--pep-spacing-sm, .5rem)}.main-area-container .header-container ::ng-deep .group-buttons-container .toggle-buttons{width:16rem}.main-area-container .layout-builder-wrapper{width:100%;margin:0 auto;position:relative}.main-area-container .layout-builder-wrapper.limit-min-width{min-width:800px}.main-area-container .layout-builder-wrapper .backdrop{position:absolute;width:100%;height:100%;top:0;z-index:10;display:none}.main-area-container .layout-builder-wrapper .backdrop.show-backdrop{display:block}\n", ".layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}.main-area-container .header-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .header-container .header-title{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}.main-area-container .header-container .size-limit-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.08)}.main-area-container.preview-mode .header-container{background:unset;background-color:hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.main-area-container.preview-mode .header-container .preview-title,.main-area-container.preview-mode .header-container .color-link{color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container.preview-mode .layout-builder-wrapper{overflow:auto}.main-area-container .layout-builder-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .layout-builder-wrapper .backdrop{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.5)}\n"] }]
274
+ args: [{ selector: 'pep-layout-builder', providers: [LayoutBuilderInternalService], template: "<div *ngIf=\"lockScreen\" class=\"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing\"></div>\n\n<pep-page-layout [showShadow]=\"!previewMode && currentEditor !== null\" >\n <div pep-side-area *ngIf=\"!previewMode && currentEditor\" style=\"height: inherit;\">\n <pep-side-bar #sideBar [ignoreResize]=\"true\" (stateChange)=\"onSidebarStateChange($event)\">\n <div header-content class=\"side-bar-title\">\n <pep-button class=\"back-button\" sizeType=\"sm\" iconName=\"arrow_left_alt\" (buttonClick)=\"onNavigateBackFromEditor();\"></pep-button>\n <div #editorTitle class=\"title title-lg ellipsis\" \n [title]=\"currentEditor.type === 'layout-builder' ? (layoutEditorTitle || currentEditor.title) : currentEditor.title\">\n <span class=\"ellipsis\">{{ editorTitle.title }}</span>\n </div>\n </div>\n <div class=\"layout-builder-editor-wrapper\">\n <main-editor *ngIf=\"currentEditor.type === 'layout-builder'\" [sectionsColumnsDropList]=\"sectionsColumnsDropList\" [availableBlocksForDrag]=\"availableBlocksForDrag\"\n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onLayoutEditorObjectChange($event)\" \n (addSectionClick)=\"onAddSectionClick($event)\" (onBlockDragStart)=\"onBlockDragStart($event)\" (onBlockDragEnd)=\"onBlockDragEnd($event)\"\n >\n <ng-container layout-editor-top-content>\n <ng-content select=\"[layout-editor-top-content]\"></ng-content>\n </ng-container>\n <!-- <ng-container layout-editor-bottom-content>\n <ng-content select=\"[layout-editor-bottom-content]\"></ng-content>\n </ng-container> -->\n </main-editor>\n \n <section-editor *ngIf=\"currentEditor.type === 'section'\" \n [hostObject]=\"currentEditor.hostObject\" (hostObjectChange)=\"onSectionEditorObjectChange($event)\"></section-editor>\n \n <ng-container *ngIf=\"currentEditor.type === 'block'\" >\n <ng-content select=\"[block-editor-content]\"></ng-content>\n </ng-container>\n </div>\n </pep-side-bar>\n </div>\n <ng-container pep-main-area>\n <div class=\"main-area-container\" [ngClass]=\"{'preview-mode': previewMode }\">\n <div class=\"header-container\" >\n <ng-container *ngIf=\"!previewMode; then editorTitleTemplate; else previewTitleTemplate\"></ng-container>\n <ng-template #editorTitleTemplate>\n <div>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.VIEWPORT_WIDTH' | translate)}}:&nbsp;</span>\n <span class=\"body-xs\"><b>{{viewportWidth}}</b></span>\n </div>\n </ng-template>\n <ng-template #previewTitleTemplate>\n <div class=\"preview-title body-sm\">\n <span>{{('LAYOUT_BUILDER.PREVIEW_TITLE' | translate)}}</span>\n </div>\n </ng-template>\n\n <div class=\"header-group-btn\">\n <pep-group-buttons [buttons]=\"screenTypes\" [selectedButtonKey]=\"selectedScreenType\" sizeType=\"sm\" viewType=\"toggle\" >\n </pep-group-buttons>\n </div>\n\n <ng-container *ngIf=\"!previewMode; then editorButtonsTemplate; else previewButtonsTemplate\"></ng-container>\n <ng-template #editorButtonsTemplate>\n <div class=\"header-end\">\n <pep-button key='Preview' [value]=\"'ACTIONS.PREVIEW' | translate\" sizeType=\"sm\" (buttonClick)=\"togglePreviewMode()\"></pep-button>\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n </ng-template>\n <ng-template #previewButtonsTemplate>\n <a class=\"color-link body-sm\" (click)=\"togglePreviewMode()\" href=\"javascript:void(0)\">{{('LAYOUT_BUILDER.PREVIEW_CLICK_HERE' | translate)}}</a> \n </ng-template>\n </div>\n <div #layoutBuilderWrapper class=\"layout-builder-wrapper\" [ngClass]=\"{'limit-min-width': selectedScreenType === 'Landscape' }\">\n <ng-container *ngIf=\"hasProjectedLayoutContent; else defaultLayout\">\n <ng-content select=\"[layout-content]\"></ng-content>\n </ng-container>\n <ng-template #defaultLayout>\n <pep-layout *ngIf=\"layoutView\" [editorMode]=\"true\" [layoutView]=\"layoutView\" [blockTemplate]=\"defaultBlockTemplate\"></pep-layout>\n </ng-template>\n <ng-template #defaultBlockTemplate let-blockKey=\"blockKey\">\n <div>{{ layoutBuilderInternalService.getBlockTitle(blockKey) }}</div>\n </ng-template>\n <div *ngIf=\"!previewMode\" class=\"backdrop\" [ngClass]=\"{'show-backdrop': currentEditor?.type === 'section' || currentEditor?.type === 'block'}\"></div>\n </div>\n </div>\n </ng-container>\n</pep-page-layout>", styles: [":host{display:block;height:100%}pep-page-layout{height:100%}.side-bar-title{display:flex;padding-top:var(--pep-spacing-sm, .5rem)}.side-bar-title .back-button{margin-inline-end:var(--pep-spacing-sm, .5rem)}.side-bar-title .title{display:grid;align-items:center}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs{height:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{position:sticky;top:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:2}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header-pagination,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header-pagination{display:none}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels{display:grid;grid-template-columns:1fr 1fr}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-labels .mat-tab-label,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-labels .mat-tab-label{padding:0 var(--pep-spacing-md, .75rem)!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper{overflow:unset;margin:0;display:block}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active{overflow:unset}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-body-wrapper .mat-tab-body.mat-tab-body-active .mat-tab-body-content{overflow:unset;display:flex;flex-direction:column;padding-inline:0!important}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .page-builder-editor-tab .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .layout-builder-editor-tab .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container{padding-top:var(--pep-spacing-lg, 1rem);padding-bottom:var(--pep-spacing-lg, 1rem)}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group{overflow:inherit;display:inherit;flex-direction:inherit;gap:var(--pep-spacing-lg, 1rem);display:flex;flex-direction:column}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .group-buttons-container .toggle-buttons,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .group-buttons-container .toggle-buttons{width:100%}.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-container .no-margin-bottom,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-checkbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-color,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-date,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-select,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textarea,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group pep-textbox,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-group .no-margin-bottom{margin-bottom:0!important}.layout-builder-editor-wrapper ::ng-deep .editor-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-bold, 600)!important;font-size:var(--pep-font-size-xl, 1.25rem)!important;line-height:var(--pep-line-height-xl, 1.5625rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-sub-title{display:block;font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400)!important;font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layout-builder-editor-wrapper ::ng-deep .editor-separator{margin-top:var(--pep-spacing-lg, 1rem);border-bottom:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title{margin-bottom:.5rem!important;min-height:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container{background:unset!important;padding-left:unset!important;padding-right:unset!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-inner-container,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-inner-container{margin-left:0!important;margin-right:0!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-lg, 1.125rem)!important;line-height:var(--pep-line-height-lg, 1.40625rem)!important;font-weight:var(--pep-font-weight-bold, 600)!important}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span,.layout-builder-editor-wrapper ::ng-deep .checkbox-as-title .pep-checkbox-container .mat-checkbox-layout .mat-checkbox-label span{margin:0 .5rem}.layout-builder-editor-wrapper ::ng-deep .checkbox-as-sub-title .pep-checkbox-container .mat-checkbox-layout{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;font-weight:var(--pep-font-weight-normal, 400)!important}.main-area-container{height:100%;min-height:100%;display:grid;grid-template-rows:auto 1fr}.main-area-container .header-container{display:flex;position:sticky;top:0;z-index:100;height:3rem;align-items:center;justify-content:space-between;padding:0 var(--pep-spacing-sm, .5rem)}.main-area-container .header-container .header-group-btn{display:flex;justify-content:space-around;align-items:center}.main-area-container .header-container .header-end{display:flex;justify-content:flex-end;gap:var(--pep-spacing-sm, .5rem)}.main-area-container .header-container ::ng-deep .group-buttons-container .toggle-buttons{width:16rem}.main-area-container .layout-builder-wrapper{width:100%;margin:0 auto;position:relative;height:100%;min-height:0}.main-area-container .layout-builder-wrapper.limit-min-width{min-width:800px}.main-area-container .layout-builder-wrapper .backdrop{position:absolute;width:100%;height:100%;top:0;z-index:10;display:none}.main-area-container .layout-builder-wrapper .backdrop.show-backdrop{display:block}\n", ".layout-builder-editor-wrapper ::ng-deep .page-builder-editor-tabs .mat-tab-header,.layout-builder-editor-wrapper ::ng-deep .layout-builder-editor-tabs .mat-tab-header{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}.main-area-container .header-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .header-container .header-title{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}.main-area-container .header-container .size-limit-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.08)}.main-area-container.preview-mode .header-container{background:unset;background-color:hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.main-area-container.preview-mode .header-container .preview-title,.main-area-container.preview-mode .header-container .color-link{color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.main-area-container.preview-mode .layout-builder-wrapper{overflow:auto}.main-area-container .layout-builder-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.main-area-container .layout-builder-wrapper .backdrop{background:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.5)}\n"] }]
242
275
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.TranslateService }, { type: i2.LayoutBuilderInternalService }, { type: i3.PepAddonService, decorators: [{
243
276
  type: Optional
244
277
  }] }]; }, propDecorators: { layoutBuilderWrapper: [{
@@ -250,6 +283,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
250
283
  }], projectedLayoutContentElements: [{
251
284
  type: ContentChildren,
252
285
  args: ['[layout-content]', { descendants: true, read: ElementRef }]
286
+ }], projectedLayoutContentDirectives: [{
287
+ type: ContentChildren,
288
+ args: [PepLayoutContentDirective, { descendants: true }]
253
289
  }], availableBlocksForDrag: [{
254
290
  type: Input
255
291
  }], blocksLayoutConfig: [{
@@ -278,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
278
314
  type: HostListener,
279
315
  args: ['window:resize', ['$event']]
280
316
  }] } });
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsVUFBVSxFQUFnQyxRQUFRLEVBQXVDLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVOLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBNEIsTUFBTSx5QkFBeUIsQ0FBQztBQUkzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJcEcsT0FBTyxFQUF1Qyw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBRXRILHNFQUFzRTtBQVF0RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsc0JBQXNCO0lBcURqRSxZQUNZLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLFNBQTJCO0lBQ25DLHlEQUF5RDtJQUN6RCxzRUFBc0U7SUFDdEUsNEJBQTBELEVBQ3RDLGVBQXVDO1FBRTNELEtBQUssRUFBRSxDQUFDO1FBUkEsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtR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QUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlLCBQZXBBZGRvblNlcnZpY2UsIFBlcEd1aWQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBEYXRhVmlld1NjcmVlblNpemUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUGVwQnV0dG9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IHBlcEljb25EZXZpY2VEZXNrdG9wLCBwZXBJY29uRGV2aWNlTW9iaWxlLCBwZXBJY29uRGV2aWNlVGFibGV0IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQgeyBJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQsIFBlcFNpZGVCYXJDb21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zaWRlLWJhcic7XG5pbXBvcnQgeyBJUGVwRHJhZ2dhYmxlSXRlbSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RyYWdnYWJsZS1pdGVtcyc7XG5cbmltcG9ydCB7IElFZGl0b3IsIElQZXBMYXlvdXRCbG9ja0FkZGVkRXZlbnQsIElQZXBMYXlvdXRCbG9ja0NvbmZpZywgSVBlcExheW91dFNlY3Rpb24sIElQZXBMYXlvdXRWaWV3IH0gZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5pbXBvcnQgeyBJTGF5b3V0RWRpdG9yLCBJTGF5b3V0U2VjdGlvbkVkaXRvciwgTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSB9IGZyb20gJy4vbGF5b3V0LWJ1aWxkZXItaW50ZXJuYWwuc2VydmljZSc7XG5pbXBvcnQgeyBDZGtEcmFnRW5kLCBDZGtEcmFnU3RhcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbi8vIGltcG9ydCB7IFBlcExheW91dEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbGF5b3V0LWJ1aWxkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50LnNjc3MnLCAnLi9sYXlvdXQtYnVpbGRlci5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW0xheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBMYXlvdXRCdWlsZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ2xheW91dEJ1aWxkZXJXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgbGF5b3V0QnVpbGRlcldyYXBwZXIhOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoUGVwU2lkZUJhckNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgc2lkZUJhckNvbXBvbmVudCE6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKCdbbGF5b3V0LWNvbnRlbnRdJywgeyBkZXNjZW5kYW50czogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHByaXZhdGUgcHJvamVjdGVkTGF5b3V0Q29udGVudEVsZW1lbnRzITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgcHJpdmF0ZSBfYXZhaWxhYmxlQmxvY2tzRm9yRHJhZzogQXJyYXk8SVBlcERyYWdnYWJsZUl0ZW0+ID0gW107XG4gICAgQElucHV0KCkgXG4gICAgc2V0IGF2YWlsYWJsZUJsb2Nrc0ZvckRyYWcodmFsdWU6IEFycmF5PElQZXBEcmFnZ2FibGVJdGVtPikge1xuICAgICAgICB0aGlzLl9hdmFpbGFibGVCbG9ja3NGb3JEcmFnID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBhdmFpbGFibGVCbG9ja3NGb3JEcmFnKCk6IEFycmF5PElQZXBEcmFnZ2FibGVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVCbG9ja3NGb3JEcmFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Jsb2Nrc0xheW91dENvbmZpZzogSVBlcExheW91dEJsb2NrQ29uZmlnID0ge307XG4gICAgQElucHV0KClcbiAgICBzZXQgYmxvY2tzTGF5b3V0Q29uZmlnKHZhbHVlOiBJUGVwTGF5b3V0QmxvY2tDb25maWcpIHtcbiAgICAgICAgdGhpcy5fYmxvY2tzTGF5b3V0Q29uZmlnID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0QmxvY2tzQ29uZmlnKCk7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgX2xheW91dEVkaXRvclRpdGxlID0gJyc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0RWRpdG9yVGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sYXlvdXRFZGl0b3JUaXRsZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbGF5b3V0RWRpdG9yVGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dEVkaXRvclRpdGxlO1xuICAgIH1cbiAgICBcbiAgICBASW5wdXQoKSBsb2NrU2NyZWVuID0gZmFsc2U7XG4gICAgQElucHV0KCkgdXBkYXRlU2hlbGxSb3V0ZXJEYXRhID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBtYW5hZ2VHbG9iYWxDdXJzb3IgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgbGF5b3V0VmlldzogSVBlcExheW91dFZpZXcgfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKSBiYWNrQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZWRpdG9yQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUVkaXRvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGJsb2NrQWRkZWQ6IEV2ZW50RW1pdHRlcjxJUGVwTGF5b3V0QmxvY2tBZGRlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYmxvY2tzUmVtb3ZlZDogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZWRpdGFibGVTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJvdGVjdGVkIHByZXZpZXdNb2RlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGN1cnJlbnRFZGl0b3I6IElFZGl0b3IgfCBudWxsID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgdmlld3BvcnRXaWR0aCA9IDA7XG4gICAgcHJvdGVjdGVkIHNjcmVlblR5cGVzITogQXJyYXk8UGVwQnV0dG9uPjtcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNDb2x1bW5zRHJvcExpc3QgPSBbXTtcbiAgICBwcm90ZWN0ZWQgc2VsZWN0ZWRTY3JlZW5UeXBlITogRGF0YVZpZXdTY3JlZW5TaXplO1xuICAgIHByb3RlY3RlZCBoYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50ID0gZmFsc2U7XG4gICAgcHVibGljIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIC8vIHByaXZhdGUgbGF5b3V0QnVpbGRlclNlcnZpY2U6IFBlcExheW91dEJ1aWxkZXJTZXJ2aWNlLFxuICAgICAgICAvLyBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcGVwQWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSA9IGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAncGVwLWxheW91dC1idWlsZGVyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTY3JlZW5XaWR0aChzY3JlZW5UeXBlOiBEYXRhVmlld1NjcmVlblNpemUpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5zZXRTY3JlZW5XaWR0aChzY3JlZW5UeXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZpZXdwb3J0V2lkdGgoKSB7XG4gICAgICAgIGlmICh0aGlzLmxheW91dEJ1aWxkZXJXcmFwcGVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdwb3J0V2lkdGggPSB0aGlzLmxheW91dEJ1aWxkZXJXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIHN1YnNjcmliZUV2ZW50cyhsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlOiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlKSB7XG4gICAgICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuYWwgRXZlbnRzIC0gZm9yIGNvZGUgdXNhZ2VcbiAgICAgICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UucHJldmlld01vZGVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChwcmV2aWV3TW9kZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3TW9kZSA9IHByZXZpZXdNb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdGFibGVTdGF0ZUNoYW5nZS5lbWl0KCF0aGlzLnByZXZpZXdNb2RlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmxvY2tTY3JlZW5DaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChsb2NrU2NyZWVuOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vICAgICB0aGlzLmxvY2tTY3JlZW4gPSBsb2NrU2NyZWVuO1xuICAgICAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2NyZWVuU2l6ZUNoYW5nZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNpemU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmVlblR5cGUgPSBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmdldFNjcmVlblR5cGUoc2l6ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNjcmVlblR5cGUgPSBzY3JlZW5UeXBlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEZvciB1cGRhdGUgdGhlIGxheW91dCBkYXRhXG4gICAgICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmxheW91dFZpZXdDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChsYXlvdXRWaWV3OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGF5b3V0Vmlldykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRCdWlsZGVyV3JhcHBlcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4V2lkdGggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eShsYXlvdXRWaWV3LkxheW91dC5NYXhXaWR0aCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXhXaWR0aFRvU2V0ID0gbWF4V2lkdGggPT09IDAgPyAnMTAwJScgOiBgJHttYXhXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubGF5b3V0QnVpbGRlcldyYXBwZXIubmF0aXZlRWxlbWVudCwgJ21heC13aWR0aCcsIG1heFdpZHRoVG9TZXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3cG9ydFdpZHRoKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5zY3JlZW5XaWR0aENoYW5nZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHdpZHRoOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRCdWlsZGVyV3JhcHBlcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubGF5b3V0QnVpbGRlcldyYXBwZXIubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXdwb3J0V2lkdGgoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gR2V0IHRoZSBzZWN0aW9ucyBpZCdzIGludG8gc2VjdGlvbnNDb2x1bW5zRHJvcExpc3QgZm9yIHRoZSBkcmFnICYgZHJvcC5cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2VjdGlvbnNDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzZWN0aW9uczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ29uY2F0IGFsbCByZXN1bHRzIGludG8gb25lIGFycmF5LlxuICAgICAgICAgICAgICAgIGNvbnN0IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0ID0gW10uY29uY2F0KC4uLnNlY3Rpb25zLm1hcCgoc2VjdGlvbjogSVBlcExheW91dFNlY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlY3Rpb24uQ29sdW1ucy5tYXAoKGNvbHVtbiwgaW5kZXgpID0+IFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTZWN0aW9uQ29sdW1uS2V5KHNlY3Rpb24uS2V5LCBpbmRleC50b1N0cmluZygpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5zZXRTZWN0aW9uc0NvbHVtbnNEcm9wTGlzdENoYW5nZShzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsIEV2ZW50cyAtIGZvciByYWlzZSB0byB0aGUgY2xpZW50XG4gICAgICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgICAgIC8vIEZvciB1cGRhdGUgZWRpdG9yLlxuICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5lZGl0b3JDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChlZGl0b3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlZGl0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSW5pdCB0aGUgc2lkZSBiYXIgc2Nyb2xsIHRvcCB0byAwLlxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zaWRlQmFyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaWRlTGF5b3V0ID0gdGhpcy5zaWRlQmFyQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNpZGUtbGF5b3V0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaWRlTGF5b3V0Py5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50RWRpdG9yID0gZWRpdG9yO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLy8gUmFpc2UgZXZlbnQgdG8gbGV0IHRoZSB1c2VyIHNldCB0aGUgYmxvY2sgZWRpdG9yIGluIHRoZSBVSS5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JDaGFuZ2UuZW1pdChlZGl0b3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmJsb2NrQWRkZWRFdmVudFN1YmplY3QkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tBZGRlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5ibG9ja3NSZW1vdmVkRXZlbnRTdWJqZWN0JC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudD8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2Nrc1JlbW92ZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEJsb2Nrc0NvbmZpZygpIHtcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNldEJsb2Nrc0NvbmZpZyh0aGlzLl9ibG9ja3NMYXlvdXRDb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhc1Byb2plY3RlZExheW91dENvbnRlbnQgPSAodGhpcy5wcm9qZWN0ZWRMYXlvdXRDb250ZW50RWxlbWVudHM/Lmxlbmd0aCA/PyAwKSA+IDA7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhhc1Byb2plY3RlZExheW91dENvbnRlbnQoKTtcbiAgICAgICAgdGhpcy5wcm9qZWN0ZWRMYXlvdXRDb250ZW50RWxlbWVudHM/LmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlSGFzUHJvamVjdGVkTGF5b3V0Q29udGVudCgpKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydtYW5hZ2VHbG9iYWxDdXJzb3InXSkge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5zZXRNYW5hZ2VHbG9iYWxDdXJzb3IodGhpcy5tYW5hZ2VHbG9iYWxDdXJzb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ2xheW91dFZpZXcnXSkge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0VmlldyA9IGNoYW5nZXNbJ2xheW91dFZpZXcnXS5jdXJyZW50VmFsdWUgYXMgSVBlcExheW91dFZpZXcgfCBudWxsO1xuICAgICAgICAgICAgaWYgKGxheW91dFZpZXcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/LmxvYWRMYXlvdXRCdWlsZGVyKGxheW91dFZpZXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3VwZGF0ZVNoZWxsUm91dGVyRGF0YSddKSB7XG4gICAgICAgICAgICBpZiAodGhpcy51cGRhdGVTaGVsbFJvdXRlckRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcEFkZG9uU2VydmljZT8uc2V0U2hlbGxSb3V0ZXJEYXRhKHsgc2hvd1NpZGViYXI6IGZhbHNlLCBhZGRQYWRkaW5nOiBmYWxzZX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVNoZWxsUm91dGVyRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2U/LnNldFNoZWxsUm91dGVyRGF0YSh7IHNob3dTaWRlYmFyOiBmYWxzZSwgYWRkUGFkZGluZzogZmFsc2V9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8uc2V0TWFuYWdlR2xvYmFsQ3Vyc29yKHRoaXMubWFuYWdlR2xvYmFsQ3Vyc29yKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8uc2V0RWRpdG9yTW9kZSh0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRCbG9ja3NDb25maWcoKTtcblxuICAgICAgICBpZiAodGhpcy5sYXlvdXRWaWV3KSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/LmxvYWRMYXlvdXRCdWlsZGVyKHRoaXMubGF5b3V0Vmlldyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIGZvciBsb2FkIGFsbCB0cmFuc2xhdGlvbnMuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnTEFZT1VUX0JVSUxERVIuREVTS1RPUCcpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuVHlwZXMgPSBbXG4gICAgICAgICAgICAgICAgeyBrZXk6ICdMYW5kc2NhcGUnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTEFZT1VUX0JVSUxERVIuREVTS1RPUCcpLCBjYWxsYmFjazogKCkgPT4gdGhpcy5zZXRTY3JlZW5XaWR0aCgnTGFuZHNjYXBlJyksIGljb25OYW1lOiBwZXBJY29uRGV2aWNlRGVza3RvcC5uYW1lLCBpY29uUG9zaXRpb246ICdlbmQnIH0sXG4gICAgICAgICAgICAgICAgeyBrZXk6ICdUYWJsZXQnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTEFZT1VUX0JVSUxERVIuVEFCTEVUJyksIGNhbGxiYWNrOiAoKSA9PiB0aGlzLnNldFNjcmVlbldpZHRoKCdUYWJsZXQnKSwgaWNvbk5hbWU6IHBlcEljb25EZXZpY2VUYWJsZXQubmFtZSwgaWNvblBvc2l0aW9uOiAnZW5kJyB9LFxuICAgICAgICAgICAgICAgIHsga2V5OiAnUGhhYmxldCcsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdMQVlPVVRfQlVJTERFUi5NT0JJTEUnKSwgY2FsbGJhY2s6ICgpID0+IHRoaXMuc2V0U2NyZWVuV2lkdGgoJ1BoYWJsZXQnKSwgaWNvbk5hbWU6IHBlcEljb25EZXZpY2VNb2JpbGUubmFtZSwgaWNvblBvc2l0aW9uOiAnZW5kJyB9XG4gICAgICAgICAgICBdO1xuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRzKHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8uc2V0RWRpdG9yTW9kZShmYWxzZSk7XG4gICAgICAgIC8vIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UucmVtb3ZlSW50ZXJuYWxTZXJ2aWNlKHRoaXMuX2xheW91dEtleSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXdwb3J0V2lkdGgoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVQcmV2aWV3TW9kZSgpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5jaGFuZ2VQcmV2aWV3TW9kZSghdGhpcy5wcmV2aWV3TW9kZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVmlld3BvcnRXaWR0aCgpO1xuICAgIH1cblxuICAgIG9uU2lkZWJhclN0YXRlQ2hhbmdlKGV2ZW50OiBJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3cG9ydFdpZHRoKCk7XG4gICAgfVxuXG4gICAgb25MYXlvdXRFZGl0b3JPYmplY3RDaGFuZ2UocGFnZUVkaXRvcjogSUxheW91dEVkaXRvcikge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/LnVwZGF0ZUxheW91dEZyb21FZGl0b3IocGFnZUVkaXRvcik7XG4gICAgfVxuXG4gICAgb25TZWN0aW9uRWRpdG9yT2JqZWN0Q2hhbmdlKHNlY3Rpb25FZGl0b3I6IElMYXlvdXRTZWN0aW9uRWRpdG9yKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8udXBkYXRlU2VjdGlvbkZyb21FZGl0b3Ioc2VjdGlvbkVkaXRvcik7XG4gICAgfVxuXG4gICAgb25BZGRTZWN0aW9uQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/LmFkZFNlY3Rpb24oKTtcbiAgICB9XG5cbiAgICBvbkJsb2NrRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5vbkJsb2NrRHJhZ1N0YXJ0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkJsb2NrRHJhZ0VuZChldmVudDogQ2RrRHJhZ0VuZCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/Lm9uQmxvY2tEcmFnRW5kKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbk5hdmlnYXRlQmFja0Zyb21FZGl0b3IoKSB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50RWRpdG9yIHx8IHRoaXMuY3VycmVudEVkaXRvcj8udHlwZSA9PT0gJ2xheW91dC1idWlsZGVyJykge1xuICAgICAgICAgICAgdGhpcy5iYWNrQ2xpY2suZW1pdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5uYXZpZ2F0ZUJhY2tGcm9tRWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwibG9ja1NjcmVlblwiIGNsYXNzPVwiY2RrLW92ZXJsYXktYmFja2Ryb3AgY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCBjZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nXCI+PC9kaXY+XG5cbjxwZXAtcGFnZS1sYXlvdXQgW3Nob3dTaGFkb3ddPVwiIXByZXZpZXdNb2RlICYmIGN1cnJlbnRFZGl0b3IgIT09IG51bGxcIiA+XG4gICAgPGRpdiBwZXAtc2lkZS1hcmVhICpuZ0lmPVwiIXByZXZpZXdNb2RlICYmIGN1cnJlbnRFZGl0b3JcIiBzdHlsZT1cImhlaWdodDogaW5oZXJpdDtcIj5cbiAgICAgICAgPHBlcC1zaWRlLWJhciAjc2lkZUJhciBbaWdub3JlUmVzaXplXT1cInRydWVcIiAoc3RhdGVDaGFuZ2UpPVwib25TaWRlYmFyU3RhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGRpdiBoZWFkZXItY29udGVudCBjbGFzcz1cInNpZGUtYmFyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHBlcC1idXR0b24gY2xhc3M9XCJiYWNrLWJ1dHRvblwiIHNpemVUeXBlPVwic21cIiBpY29uTmFtZT1cImFycm93X2xlZnRfYWx0XCIgKGJ1dHRvbkNsaWNrKT1cIm9uTmF2aWdhdGVCYWNrRnJvbUVkaXRvcigpO1wiPjwvcGVwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZGl2ICNlZGl0b3JUaXRsZSBjbGFzcz1cInRpdGxlIHRpdGxlLWxnIGVsbGlwc2lzXCIgXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjdXJyZW50RWRpdG9yLnR5cGUgPT09ICdsYXlvdXQtYnVpbGRlcicgPyAobGF5b3V0RWRpdG9yVGl0bGUgfHwgY3VycmVudEVkaXRvci50aXRsZSkgOiBjdXJyZW50RWRpdG9yLnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj57eyBlZGl0b3JUaXRsZS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1idWlsZGVyLWVkaXRvci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPG1haW4tZWRpdG9yICpuZ0lmPVwiY3VycmVudEVkaXRvci50eXBlID09PSAnbGF5b3V0LWJ1aWxkZXInXCIgW3NlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0XT1cInNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0XCIgW2F2YWlsYWJsZUJsb2Nrc0ZvckRyYWddPVwiYXZhaWxhYmxlQmxvY2tzRm9yRHJhZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtob3N0T2JqZWN0XT1cImN1cnJlbnRFZGl0b3IuaG9zdE9iamVjdFwiIChob3N0T2JqZWN0Q2hhbmdlKT1cIm9uTGF5b3V0RWRpdG9yT2JqZWN0Q2hhbmdlKCRldmVudClcIiBcbiAgICAgICAgICAgICAgICAgICAgKGFkZFNlY3Rpb25DbGljayk9XCJvbkFkZFNlY3Rpb25DbGljaygkZXZlbnQpXCIgKG9uQmxvY2tEcmFnU3RhcnQpPVwib25CbG9ja0RyYWdTdGFydCgkZXZlbnQpXCIgKG9uQmxvY2tEcmFnRW5kKT1cIm9uQmxvY2tEcmFnRW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbGF5b3V0LWVkaXRvci10b3AtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsYXlvdXQtZWRpdG9yLXRvcC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciBsYXlvdXQtZWRpdG9yLWJvdHRvbS1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xheW91dC1lZGl0b3ItYm90dG9tLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgICAgPC9tYWluLWVkaXRvcj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxzZWN0aW9uLWVkaXRvciAqbmdJZj1cImN1cnJlbnRFZGl0b3IudHlwZSA9PT0gJ3NlY3Rpb24nXCIgXG4gICAgICAgICAgICAgICAgICAgIFtob3N0T2JqZWN0XT1cImN1cnJlbnRFZGl0b3IuaG9zdE9iamVjdFwiIChob3N0T2JqZWN0Q2hhbmdlKT1cIm9uU2VjdGlvbkVkaXRvck9iamVjdENoYW5nZSgkZXZlbnQpXCI+PC9zZWN0aW9uLWVkaXRvcj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50RWRpdG9yLnR5cGUgPT09ICdibG9jaydcIiA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltibG9jay1lZGl0b3ItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9wZXAtc2lkZS1iYXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciBwZXAtbWFpbi1hcmVhPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1hcmVhLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsncHJldmlldy1tb2RlJzogcHJldmlld01vZGUgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250YWluZXJcIiA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwcmV2aWV3TW9kZTsgdGhlbiBlZGl0b3JUaXRsZVRlbXBsYXRlOyBlbHNlIHByZXZpZXdUaXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0b3JUaXRsZVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItdGl0bGUgYm9keS14c1wiPnt7KCdMQVlPVVRfQlVJTERFUi5WSUVXUE9SVF9XSURUSCcgfCB0cmFuc2xhdGUpfX06Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXhzXCI+PGI+e3t2aWV3cG9ydFdpZHRofX08L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJldmlld1RpdGxlVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXRpdGxlIGJvZHktc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7KCdMQVlPVVRfQlVJTERFUi5QUkVWSUVXX1RJVExFJyB8IHRyYW5zbGF0ZSl9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZ3JvdXAtYnRuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtZ3JvdXAtYnV0dG9ucyBbYnV0dG9uc109XCJzY3JlZW5UeXBlc1wiIFtzZWxlY3RlZEJ1dHRvbktleV09XCJzZWxlY3RlZFNjcmVlblR5cGVcIiBzaXplVHlwZT1cInNtXCIgdmlld1R5cGU9XCJ0b2dnbGVcIiA+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLWdyb3VwLWJ1dHRvbnM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByZXZpZXdNb2RlOyB0aGVuIGVkaXRvckJ1dHRvbnNUZW1wbGF0ZTsgZWxzZSBwcmV2aWV3QnV0dG9uc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0b3JCdXR0b25zVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWJ1dHRvbiBrZXk9J1ByZXZpZXcnIFt2YWx1ZV09XCInQUNUSU9OUy5QUkVWSUVXJyB8IHRyYW5zbGF0ZVwiIHNpemVUeXBlPVwic21cIiAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlUHJldmlld01vZGUoKVwiPjwvcGVwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXItZW5kLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJldmlld0J1dHRvbnNUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJjb2xvci1saW5rIGJvZHktc21cIiAoY2xpY2spPVwidG9nZ2xlUHJldmlld01vZGUoKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj57eygnTEFZT1VUX0JVSUxERVIuUFJFVklFV19DTElDS19IRVJFJyB8IHRyYW5zbGF0ZSl9fTwvYT4gICAgXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAjbGF5b3V0QnVpbGRlcldyYXBwZXIgY2xhc3M9XCJsYXlvdXQtYnVpbGRlci13cmFwcGVyXCIgW25nQ2xhc3NdPVwieydsaW1pdC1taW4td2lkdGgnOiBzZWxlY3RlZFNjcmVlblR5cGUgPT09ICdMYW5kc2NhcGUnIH1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUHJvamVjdGVkTGF5b3V0Q29udGVudDsgZWxzZSBkZWZhdWx0TGF5b3V0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsYXlvdXQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TGF5b3V0PlxuICAgICAgICAgICAgICAgICAgICA8cGVwLWxheW91dCAqbmdJZj1cImxheW91dFZpZXdcIiBbZWRpdG9yTW9kZV09XCJ0cnVlXCIgW2xheW91dFZpZXddPVwibGF5b3V0Vmlld1wiIFtibG9ja1RlbXBsYXRlXT1cImRlZmF1bHRCbG9ja1RlbXBsYXRlXCI+PC9wZXAtbGF5b3V0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0QmxvY2tUZW1wbGF0ZSBsZXQtYmxvY2tLZXk9XCJibG9ja0tleVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7IGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZ2V0QmxvY2tUaXRsZShibG9ja0tleSkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcHJldmlld01vZGVcIiBjbGFzcz1cImJhY2tkcm9wXCIgW25nQ2xhc3NdPVwieydzaG93LWJhY2tkcm9wJzogY3VycmVudEVkaXRvcj8udHlwZSA9PT0gJ3NlY3Rpb24nIHx8IGN1cnJlbnRFZGl0b3I/LnR5cGUgPT09ICdibG9jayd9XCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3BlcC1wYWdlLWxheW91dD4iXX0=
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsVUFBVSxFQUFnQyxRQUFRLEVBQXVDLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVOLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBNEIsTUFBTSx5QkFBeUIsQ0FBQztBQUkzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJcEcsT0FBTyxFQUF1Qyw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBQ3ZFLHNFQUFzRTtBQVF0RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsc0JBQXNCO0lBNERqRSxZQUNZLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLFNBQTJCO0lBQ25DLHlEQUF5RDtJQUN6RCxzRUFBc0U7SUFDdEUsNEJBQTBELEVBQ3RDLGVBQXVDO1FBRTNELEtBQUssRUFBRSxDQUFDO1FBUkEsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFB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QUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBd09QLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlLCBQZXBBZGRvblNlcnZpY2UsIFBlcEd1aWQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBEYXRhVmlld1NjcmVlblNpemUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUGVwQnV0dG9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IHBlcEljb25EZXZpY2VEZXNrdG9wLCBwZXBJY29uRGV2aWNlTW9iaWxlLCBwZXBJY29uRGV2aWNlVGFibGV0IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQgeyBJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQsIFBlcFNpZGVCYXJDb21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zaWRlLWJhcic7XG5pbXBvcnQgeyBJUGVwRHJhZ2dhYmxlSXRlbSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RyYWdnYWJsZS1pdGVtcyc7XG5cbmltcG9ydCB7IElFZGl0b3IsIElQZXBMYXlvdXRCbG9ja0FkZGVkRXZlbnQsIElQZXBMYXlvdXRCbG9ja0NvbmZpZywgSVBlcExheW91dFNlY3Rpb24sIElQZXBMYXlvdXRWaWV3IH0gZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5pbXBvcnQgeyBJTGF5b3V0RWRpdG9yLCBJTGF5b3V0U2VjdGlvbkVkaXRvciwgTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSB9IGZyb20gJy4vbGF5b3V0LWJ1aWxkZXItaW50ZXJuYWwuc2VydmljZSc7XG5pbXBvcnQgeyBDZGtEcmFnRW5kLCBDZGtEcmFnU3RhcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IFBlcExheW91dENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2xheW91dC1jb250ZW50LmRpcmVjdGl2ZSc7XG4vLyBpbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbGF5b3V0LWJ1aWxkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWxheW91dC1idWlsZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xheW91dC1idWlsZGVyLmNvbXBvbmVudC5zY3NzJywgJy4vbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwTGF5b3V0QnVpbGRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdsYXlvdXRCdWlsZGVyV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIGxheW91dEJ1aWxkZXJXcmFwcGVyITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKFBlcFNpZGVCYXJDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwcml2YXRlIHNpZGVCYXJDb21wb25lbnQhOiBFbGVtZW50UmVmO1xuXG4gICAgLy8gRm9yIFdlYiBDb21wb25lbnQgLyBSZWFjdCBwcm9qZWN0aW9uIChyZWFsIERPTSBub2RlcykuXG4gICAgQENvbnRlbnRDaGlsZHJlbignW2xheW91dC1jb250ZW50XScsIHsgZGVzY2VuZGFudHM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBwcml2YXRlIHByb2plY3RlZExheW91dENvbnRlbnRFbGVtZW50cyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIC8vIEZvciBBbmd1bGFyIHRlbXBsYXRlcyB1c2luZyA8bmctY29udGFpbmVyIGxheW91dC1jb250ZW50PiAobmctY29udGFpbmVyIGhhcyBubyBFbGVtZW50UmVmKS5cbiAgICBAQ29udGVudENoaWxkcmVuKFBlcExheW91dENvbnRlbnREaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHByb2plY3RlZExheW91dENvbnRlbnREaXJlY3RpdmVzITogUXVlcnlMaXN0PFBlcExheW91dENvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgcHJpdmF0ZSBfYXZhaWxhYmxlQmxvY2tzRm9yRHJhZzogQXJyYXk8SVBlcERyYWdnYWJsZUl0ZW0+ID0gW107XG4gICAgQElucHV0KCkgXG4gICAgc2V0IGF2YWlsYWJsZUJsb2Nrc0ZvckRyYWcodmFsdWU6IEFycmF5PElQZXBEcmFnZ2FibGVJdGVtPikge1xuICAgICAgICB0aGlzLl9hdmFpbGFibGVCbG9ja3NGb3JEcmFnID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBhdmFpbGFibGVCbG9ja3NGb3JEcmFnKCk6IEFycmF5PElQZXBEcmFnZ2FibGVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVCbG9ja3NGb3JEcmFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Jsb2Nrc0xheW91dENvbmZpZzogSVBlcExheW91dEJsb2NrQ29uZmlnID0ge307XG4gICAgQElucHV0KClcbiAgICBzZXQgYmxvY2tzTGF5b3V0Q29uZmlnKHZhbHVlOiBJUGVwTGF5b3V0QmxvY2tDb25maWcpIHtcbiAgICAgICAgdGhpcy5fYmxvY2tzTGF5b3V0Q29uZmlnID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0QmxvY2tzQ29uZmlnKCk7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgX2xheW91dEVkaXRvclRpdGxlID0gJyc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0RWRpdG9yVGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sYXlvdXRFZGl0b3JUaXRsZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbGF5b3V0RWRpdG9yVGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dEVkaXRvclRpdGxlO1xuICAgIH1cbiAgICBcbiAgICBASW5wdXQoKSBsb2NrU2NyZWVuID0gZmFsc2U7XG4gICAgQElucHV0KCkgdXBkYXRlU2hlbGxSb3V0ZXJEYXRhID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBtYW5hZ2VHbG9iYWxDdXJzb3IgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgbGF5b3V0VmlldzogSVBlcExheW91dFZpZXcgfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKSBiYWNrQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZWRpdG9yQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUVkaXRvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGJsb2NrQWRkZWQ6IEV2ZW50RW1pdHRlcjxJUGVwTGF5b3V0QmxvY2tBZGRlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYmxvY2tzUmVtb3ZlZDogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZWRpdGFibGVTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJvdGVjdGVkIHByZXZpZXdNb2RlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGN1cnJlbnRFZGl0b3I6IElFZGl0b3IgfCBudWxsID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgdmlld3BvcnRXaWR0aCA9IDA7XG4gICAgcHJvdGVjdGVkIHNjcmVlblR5cGVzITogQXJyYXk8UGVwQnV0dG9uPjtcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNDb2x1bW5zRHJvcExpc3QgPSBbXTtcbiAgICBwcm90ZWN0ZWQgc2VsZWN0ZWRTY3JlZW5UeXBlITogRGF0YVZpZXdTY3JlZW5TaXplO1xuICAgIHByb3RlY3RlZCBoYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50ID0gZmFsc2U7XG4gICAgcHVibGljIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U7XG5cbiAgICBwcml2YXRlIGRpZEluaXRGcm9tUHJvamVjdGVkTGF5b3V0VmlldyA9IGZhbHNlO1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAvLyBwcml2YXRlIGxheW91dEJ1aWxkZXJTZXJ2aWNlOiBQZXBMYXlvdXRCdWlsZGVyU2VydmljZSxcbiAgICAgICAgLy8gcHJpdmF0ZSBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlOiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlOiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UgPSBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BlcC1sYXlvdXQtYnVpbGRlcicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVuV2lkdGgoc2NyZWVuVHlwZTogRGF0YVZpZXdTY3JlZW5TaXplKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8uc2V0U2NyZWVuV2lkdGgoc2NyZWVuVHlwZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3cG9ydFdpZHRoKCkge1xuICAgICAgICBpZiAodGhpcy5sYXlvdXRCdWlsZGVyV3JhcHBlcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3cG9ydFdpZHRoID0gdGhpcy5sYXlvdXRCdWlsZGVyV3JhcHBlci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVFdmVudHMobGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZTogTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAobGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSkge1xuICAgICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgIEludGVybmFsIEV2ZW50cyAtIGZvciBjb2RlIHVzYWdlXG4gICAgICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0Q2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnNDb2x1bW5zRHJvcExpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3QgPSBzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgocHJldmlld01vZGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUgPSBwcmV2aWV3TW9kZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRhYmxlU3RhdGVDaGFuZ2UuZW1pdCghdGhpcy5wcmV2aWV3TW9kZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5sb2NrU2NyZWVuQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgobG9ja1NjcmVlbjogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyAgICAgdGhpcy5sb2NrU2NyZWVuID0gbG9ja1NjcmVlbjtcbiAgICAgICAgICAgIC8vIH0pO1xuXG4gICAgICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNjcmVlblNpemVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaXplOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JlZW5UeXBlID0gbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTY3JlZW5UeXBlKHNpemUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTY3JlZW5UeXBlID0gc2NyZWVuVHlwZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBGb3IgdXBkYXRlIHRoZSBsYXlvdXQgZGF0YVxuICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5sYXlvdXRWaWV3Q2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgobGF5b3V0VmlldzogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxheW91dFZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0QnVpbGRlcldyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFdpZHRoID0gY29lcmNlTnVtYmVyUHJvcGVydHkobGF5b3V0Vmlldy5MYXlvdXQuTWF4V2lkdGgsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4V2lkdGhUb1NldCA9IG1heFdpZHRoID09PSAwID8gJzEwMCUnIDogYCR7bWF4V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmxheW91dEJ1aWxkZXJXcmFwcGVyLm5hdGl2ZUVsZW1lbnQsICdtYXgtd2lkdGgnLCBtYXhXaWR0aFRvU2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmlld3BvcnRXaWR0aCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2NyZWVuV2lkdGhDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKCh3aWR0aDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0QnVpbGRlcldyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmxheW91dEJ1aWxkZXJXcmFwcGVyLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIHdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3cG9ydFdpZHRoKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgc2VjdGlvbnMgaWQncyBpbnRvIHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0IGZvciB0aGUgZHJhZyAmIGRyb3AuXG4gICAgICAgICAgICBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNlY3Rpb25zQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIENvbmNhdCBhbGwgcmVzdWx0cyBpbnRvIG9uZSBhcnJheS5cbiAgICAgICAgICAgICAgICBjb25zdCBzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IFtdLmNvbmNhdCguLi5zZWN0aW9ucy5tYXAoKHNlY3Rpb246IElQZXBMYXlvdXRTZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWN0aW9uLkNvbHVtbnMubWFwKChjb2x1bW4sIGluZGV4KSA9PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZ2V0U2VjdGlvbkNvbHVtbktleShzZWN0aW9uLktleSwgaW5kZXgudG9TdHJpbmcoKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2V0U2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2Uoc2VjdGlvbnNDb2x1bW5zRHJvcExpc3QpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBFdmVudHMgLSBmb3IgcmFpc2UgdG8gdGhlIGNsaWVudFxuICAgICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgICAgICAgICAvLyBGb3IgdXBkYXRlIGVkaXRvci5cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuZWRpdG9yQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoZWRpdG9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWRpdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEluaXQgdGhlIHNpZGUgYmFyIHNjcm9sbCB0b3AgdG8gMC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2lkZUJhckNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2lkZUxheW91dCA9IHRoaXMuc2lkZUJhckNvbXBvbmVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaWRlLWxheW91dCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2lkZUxheW91dD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEVkaXRvciA9IGVkaXRvcjtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC8vIFJhaXNlIGV2ZW50IHRvIGxldCB0aGUgdXNlciBzZXQgdGhlIGJsb2NrIGVkaXRvciBpbiB0aGUgVUkuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yQ2hhbmdlLmVtaXQoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5ibG9ja0FkZGVkRXZlbnRTdWJqZWN0JC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2NrQWRkZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UuYmxvY2tzUmVtb3ZlZEV2ZW50U3ViamVjdCQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja3NSZW1vdmVkLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRCbG9ja3NDb25maWcoKSB7XG4gICAgICAgIGlmICh0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5zZXRCbG9ja3NDb25maWcodGhpcy5fYmxvY2tzTGF5b3V0Q29uZmlnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFzUHJvamVjdGVkTGF5b3V0Q29udGVudEluRG9tKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5ob3N0RWxlbWVudD8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgIHJldHVybiAhIWhvc3Q/LnF1ZXJ5U2VsZWN0b3I/LignW2xheW91dC1jb250ZW50XScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSGFzUHJvamVjdGVkTGF5b3V0Q29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzUHJvamVjdGVkRnJvbURpcmVjdGl2ZSA9ICh0aGlzLnByb2plY3RlZExheW91dENvbnRlbnREaXJlY3RpdmVzPy5sZW5ndGggPz8gMCkgPiAwO1xuICAgICAgICBjb25zdCBoYXNQcm9qZWN0ZWRGcm9tRG9tID0gdGhpcy5oYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50SW5Eb20oKTtcblxuICAgICAgICB0aGlzLmhhc1Byb2plY3RlZExheW91dENvbnRlbnQgPSBoYXNQcm9qZWN0ZWRGcm9tRGlyZWN0aXZlIHx8IGhhc1Byb2plY3RlZEZyb21Eb207XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cnlJbml0RnJvbVByb2plY3RlZExheW91dFZpZXcoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpZEluaXRGcm9tUHJvamVjdGVkTGF5b3V0VmlldykgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5sYXlvdXRWaWV3KSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5oYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50KSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdMYXlvdXRWaWV3ID0gdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5nZXRDdXJyZW50TGF5b3V0VmlldygpO1xuICAgICAgICBpZiAoZXhpc3RpbmdMYXlvdXRWaWV3KSB7XG4gICAgICAgICAgICB0aGlzLmRpZEluaXRGcm9tUHJvamVjdGVkTGF5b3V0VmlldyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UubG9hZExheW91dEJ1aWxkZXIoZXhpc3RpbmdMYXlvdXRWaWV3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50KCk7XG4gICAgICAgIC8vIElmIHBlcC1sYXlvdXQgKHByb2plY3RlZCkgbG9hZGVkIHRoZSBsYXlvdXRWaWV3IGJlZm9yZSBlZGl0b3JNb2RlIHdhcyBlbmFibGVkLFxuICAgICAgICAvLyByZWxvYWQgaXQgb25jZSBlZGl0b3JNb2RlIGlzIG9uIHNvIHRoZSBkZWZhdWx0IGVkaXRvciAoc2lkZWJhcikgaXMgY3JlYXRlZC5cbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy50cnlJbml0RnJvbVByb2plY3RlZExheW91dFZpZXcoKSk7XG5cbiAgICAgICAgdGhpcy5wcm9qZWN0ZWRMYXlvdXRDb250ZW50RGlyZWN0aXZlcz8uY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSGFzUHJvamVjdGVkTGF5b3V0Q29udGVudCgpO1xuICAgICAgICAgICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMudHJ5SW5pdEZyb21Qcm9qZWN0ZWRMYXlvdXRWaWV3KCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5wcm9qZWN0ZWRMYXlvdXRDb250ZW50RWxlbWVudHM/LmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUhhc1Byb2plY3RlZExheW91dENvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB0aGlzLnRyeUluaXRGcm9tUHJvamVjdGVkTGF5b3V0VmlldygpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ21hbmFnZUdsb2JhbEN1cnNvciddKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/LnNldE1hbmFnZUdsb2JhbEN1cnNvcih0aGlzLm1hbmFnZUdsb2JhbEN1cnNvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1snbGF5b3V0VmlldyddKSB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXRWaWV3ID0gY2hhbmdlc1snbGF5b3V0VmlldyddLmN1cnJlbnRWYWx1ZSBhcyBJUGVwTGF5b3V0VmlldyB8IG51bGw7XG4gICAgICAgICAgICBpZiAobGF5b3V0Vmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8ubG9hZExheW91dEJ1aWxkZXIobGF5b3V0Vmlldyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1sndXBkYXRlU2hlbGxSb3V0ZXJEYXRhJ10pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZVNoZWxsUm91dGVyRGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGVwQWRkb25TZXJ2aWNlPy5zZXRTaGVsbFJvdXRlckRhdGEoeyBzaG93U2lkZWJhcjogZmFsc2UsIGFkZFBhZGRpbmc6IGZhbHNlfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudXBkYXRlU2hlbGxSb3V0ZXJEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnBlcEFkZG9uU2VydmljZT8uc2V0U2hlbGxSb3V0ZXJEYXRhKHsgc2hvd1NpZGViYXI6IGZhbHNlLCBhZGRQYWRkaW5nOiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5zZXRNYW5hZ2VHbG9iYWxDdXJzb3IodGhpcy5tYW5hZ2VHbG9iYWxDdXJzb3IpO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5zZXRFZGl0b3JNb2RlKHRydWUpO1xuICAgICAgICB0aGlzLnNldEJsb2Nrc0NvbmZpZygpO1xuXG4gICAgICAgIGlmICh0aGlzLmxheW91dFZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8ubG9hZExheW91dEJ1aWxkZXIodGhpcy5sYXlvdXRWaWV3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgdHJhbnNsYXRpb24gZm9yIGxvYWQgYWxsIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdMQVlPVVRfQlVJTERFUi5ERVNLVE9QJykuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5zY3JlZW5UeXBlcyA9IFtcbiAgICAgICAgICAgICAgICB7IGtleTogJ0xhbmRzY2FwZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdMQVlPVVRfQlVJTERFUi5ERVNLVE9QJyksIGNhbGxiYWNrOiAoKSA9PiB0aGlzLnNldFNjcmVlbldpZHRoKCdMYW5kc2NhcGUnKSwgaWNvbk5hbWU6IHBlcEljb25EZXZpY2VEZXNrdG9wLm5hbWUsIGljb25Qb3NpdGlvbjogJ2VuZCcgfSxcbiAgICAgICAgICAgICAgICB7IGtleTogJ1RhYmxldCcsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdMQVlPVVRfQlVJTERFUi5UQUJMRVQnKSwgY2FsbGJhY2s6ICgpID0+IHRoaXMuc2V0U2NyZWVuV2lkdGgoJ1RhYmxldCcpLCBpY29uTmFtZTogcGVwSWNvbkRldmljZVRhYmxldC5uYW1lLCBpY29uUG9zaXRpb246ICdlbmQnIH0sXG4gICAgICAgICAgICAgICAgeyBrZXk6ICdQaGFibGV0JywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0xBWU9VVF9CVUlMREVSLk1PQklMRScpLCBjYWxsYmFjazogKCkgPT4gdGhpcy5zZXRTY3JlZW5XaWR0aCgnUGhhYmxldCcpLCBpY29uTmFtZTogcGVwSWNvbkRldmljZU1vYmlsZS5uYW1lLCBpY29uUG9zaXRpb246ICdlbmQnIH1cbiAgICAgICAgICAgIF07XG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVFdmVudHModGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy5zZXRFZGl0b3JNb2RlKGZhbHNlKTtcbiAgICAgICAgLy8gdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5yZW1vdmVJbnRlcm5hbFNlcnZpY2UodGhpcy5fbGF5b3V0S2V5KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvblJlc2l6ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmlld3BvcnRXaWR0aCgpO1xuICAgIH1cblxuICAgIHRvZ2dsZVByZXZpZXdNb2RlKCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/LmNoYW5nZVByZXZpZXdNb2RlKCF0aGlzLnByZXZpZXdNb2RlKTtcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3cG9ydFdpZHRoKCk7XG4gICAgfVxuXG4gICAgb25TaWRlYmFyU3RhdGVDaGFuZ2UoZXZlbnQ6IElQZXBTaWRlQmFyU3RhdGVDaGFuZ2VFdmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXdwb3J0V2lkdGgoKTtcbiAgICB9XG5cbiAgICBvbkxheW91dEVkaXRvck9iamVjdENoYW5nZShwYWdlRWRpdG9yOiBJTGF5b3V0RWRpdG9yKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8udXBkYXRlTGF5b3V0RnJvbUVkaXRvcihwYWdlRWRpdG9yKTtcbiAgICB9XG5cbiAgICBvblNlY3Rpb25FZGl0b3JPYmplY3RDaGFuZ2Uoc2VjdGlvbkVkaXRvcjogSUxheW91dFNlY3Rpb25FZGl0b3IpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlPy51cGRhdGVTZWN0aW9uRnJvbUVkaXRvcihzZWN0aW9uRWRpdG9yKTtcbiAgICB9XG5cbiAgICBvbkFkZFNlY3Rpb25DbGljayhldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8uYWRkU2VjdGlvbigpO1xuICAgIH1cblxuICAgIG9uQmxvY2tEcmFnU3RhcnQoZXZlbnQ6IENka0RyYWdTdGFydCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/Lm9uQmxvY2tEcmFnU3RhcnQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uQmxvY2tEcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZT8ub25CbG9ja0RyYWdFbmQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTmF2aWdhdGVCYWNrRnJvbUVkaXRvcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRFZGl0b3IgfHwgdGhpcy5jdXJyZW50RWRpdG9yPy50eXBlID09PSAnbGF5b3V0LWJ1aWxkZXInKSB7XG4gICAgICAgICAgICB0aGlzLmJhY2tDbGljay5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U/Lm5hdmlnYXRlQmFja0Zyb21FZGl0b3IoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJsb2NrU2NyZWVuXCIgY2xhc3M9XCJjZGstb3ZlcmxheS1iYWNrZHJvcCBjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIGNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdcIj48L2Rpdj5cblxuPHBlcC1wYWdlLWxheW91dCBbc2hvd1NoYWRvd109XCIhcHJldmlld01vZGUgJiYgY3VycmVudEVkaXRvciAhPT0gbnVsbFwiID5cbiAgICA8ZGl2IHBlcC1zaWRlLWFyZWEgKm5nSWY9XCIhcHJldmlld01vZGUgJiYgY3VycmVudEVkaXRvclwiIHN0eWxlPVwiaGVpZ2h0OiBpbmhlcml0O1wiPlxuICAgICAgICA8cGVwLXNpZGUtYmFyICNzaWRlQmFyIFtpZ25vcmVSZXNpemVdPVwidHJ1ZVwiIChzdGF0ZUNoYW5nZSk9XCJvblNpZGViYXJTdGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8ZGl2IGhlYWRlci1jb250ZW50IGNsYXNzPVwic2lkZS1iYXItdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8cGVwLWJ1dHRvbiBjbGFzcz1cImJhY2stYnV0dG9uXCIgc2l6ZVR5cGU9XCJzbVwiIGljb25OYW1lPVwiYXJyb3dfbGVmdF9hbHRcIiAoYnV0dG9uQ2xpY2spPVwib25OYXZpZ2F0ZUJhY2tGcm9tRWRpdG9yKCk7XCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxkaXYgI2VkaXRvclRpdGxlIGNsYXNzPVwidGl0bGUgdGl0bGUtbGcgZWxsaXBzaXNcIiBcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImN1cnJlbnRFZGl0b3IudHlwZSA9PT0gJ2xheW91dC1idWlsZGVyJyA/IChsYXlvdXRFZGl0b3JUaXRsZSB8fCBjdXJyZW50RWRpdG9yLnRpdGxlKSA6IGN1cnJlbnRFZGl0b3IudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPnt7IGVkaXRvclRpdGxlLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWJ1aWxkZXItZWRpdG9yLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bWFpbi1lZGl0b3IgKm5nSWY9XCJjdXJyZW50RWRpdG9yLnR5cGUgPT09ICdsYXlvdXQtYnVpbGRlcidcIiBbc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RdPVwic2VjdGlvbnNDb2x1bW5zRHJvcExpc3RcIiBbYXZhaWxhYmxlQmxvY2tzRm9yRHJhZ109XCJhdmFpbGFibGVCbG9ja3NGb3JEcmFnXCJcbiAgICAgICAgICAgICAgICAgICAgW2hvc3RPYmplY3RdPVwiY3VycmVudEVkaXRvci5ob3N0T2JqZWN0XCIgKGhvc3RPYmplY3RDaGFuZ2UpPVwib25MYXlvdXRFZGl0b3JPYmplY3RDaGFuZ2UoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICAgICAgICAoYWRkU2VjdGlvbkNsaWNrKT1cIm9uQWRkU2VjdGlvbkNsaWNrKCRldmVudClcIiAob25CbG9ja0RyYWdTdGFydCk9XCJvbkJsb2NrRHJhZ1N0YXJ0KCRldmVudClcIiAob25CbG9ja0RyYWdFbmQpPVwib25CbG9ja0RyYWdFbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBsYXlvdXQtZWRpdG9yLXRvcC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xheW91dC1lZGl0b3ItdG9wLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyIGxheW91dC1lZGl0b3ItYm90dG9tLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGF5b3V0LWVkaXRvci1ib3R0b20tY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICAgICAgICA8L21haW4tZWRpdG9yPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPHNlY3Rpb24tZWRpdG9yICpuZ0lmPVwiY3VycmVudEVkaXRvci50eXBlID09PSAnc2VjdGlvbidcIiBcbiAgICAgICAgICAgICAgICAgICAgW2hvc3RPYmplY3RdPVwiY3VycmVudEVkaXRvci5ob3N0T2JqZWN0XCIgKGhvc3RPYmplY3RDaGFuZ2UpPVwib25TZWN0aW9uRWRpdG9yT2JqZWN0Q2hhbmdlKCRldmVudClcIj48L3NlY3Rpb24tZWRpdG9yPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRFZGl0b3IudHlwZSA9PT0gJ2Jsb2NrJ1wiID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Jsb2NrLWVkaXRvci1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3BlcC1zaWRlLWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIHBlcC1tYWluLWFyZWE+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWFyZWEtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydwcmV2aWV3LW1vZGUnOiBwcmV2aWV3TW9kZSB9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByZXZpZXdNb2RlOyB0aGVuIGVkaXRvclRpdGxlVGVtcGxhdGU7IGVsc2UgcHJldmlld1RpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRvclRpdGxlVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci10aXRsZSBib2R5LXhzXCI+e3soJ0xBWU9VVF9CVUlMREVSLlZJRVdQT1JUX1dJRFRIJyB8IHRyYW5zbGF0ZSl9fTombmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvZHkteHNcIj48Yj57e3ZpZXdwb3J0V2lkdGh9fTwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwcmV2aWV3VGl0bGVUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctdGl0bGUgYm9keS1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3soJ0xBWU9VVF9CVUlMREVSLlBSRVZJRVdfVElUTEUnIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1ncm91cC1idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1ncm91cC1idXR0b25zIFtidXR0b25zXT1cInNjcmVlblR5cGVzXCIgW3NlbGVjdGVkQnV0dG9uS2V5XT1cInNlbGVjdGVkU2NyZWVuVHlwZVwiIHNpemVUeXBlPVwic21cIiB2aWV3VHlwZT1cInRvZ2dsZVwiID5cbiAgICAgICAgICAgICAgICAgICAgPC9wZXAtZ3JvdXAtYnV0dG9ucz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcHJldmlld01vZGU7IHRoZW4gZWRpdG9yQnV0dG9uc1RlbXBsYXRlOyBlbHNlIHByZXZpZXdCdXR0b25zVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRvckJ1dHRvbnNUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1lbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtYnV0dG9uIGtleT0nUHJldmlldycgW3ZhbHVlXT1cIidBQ1RJT05TLlBSRVZJRVcnIHwgdHJhbnNsYXRlXCIgc2l6ZVR5cGU9XCJzbVwiIChidXR0b25DbGljayk9XCJ0b2dnbGVQcmV2aWV3TW9kZSgpXCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlci1lbmQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwcmV2aWV3QnV0dG9uc1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImNvbG9yLWxpbmsgYm9keS1zbVwiIChjbGljayk9XCJ0b2dnbGVQcmV2aWV3TW9kZSgpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPnt7KCdMQVlPVVRfQlVJTERFUi5QUkVWSUVXX0NMSUNLX0hFUkUnIHwgdHJhbnNsYXRlKX19PC9hPiAgICBcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICNsYXlvdXRCdWlsZGVyV3JhcHBlciBjbGFzcz1cImxheW91dC1idWlsZGVyLXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7J2xpbWl0LW1pbi13aWR0aCc6IHNlbGVjdGVkU2NyZWVuVHlwZSA9PT0gJ0xhbmRzY2FwZScgfVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNQcm9qZWN0ZWRMYXlvdXRDb250ZW50OyBlbHNlIGRlZmF1bHRMYXlvdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xheW91dC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMYXlvdXQ+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtbGF5b3V0ICpuZ0lmPVwibGF5b3V0Vmlld1wiIFtlZGl0b3JNb2RlXT1cInRydWVcIiBbbGF5b3V0Vmlld109XCJsYXlvdXRWaWV3XCIgW2Jsb2NrVGVtcGxhdGVdPVwiZGVmYXVsdEJsb2NrVGVtcGxhdGVcIj48L3BlcC1sYXlvdXQ+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRCbG9ja1RlbXBsYXRlIGxldC1ibG9ja0tleT1cImJsb2NrS2V5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3sgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRCbG9ja1RpdGxlKGJsb2NrS2V5KSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFwcmV2aWV3TW9kZVwiIGNsYXNzPVwiYmFja2Ryb3BcIiBbbmdDbGFzc109XCJ7J3Nob3ctYmFja2Ryb3AnOiBjdXJyZW50RWRpdG9yPy50eXBlID09PSAnc2VjdGlvbicgfHwgY3VycmVudEVkaXRvcj8udHlwZSA9PT0gJ2Jsb2NrJ31cIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvcGVwLXBhZ2UtbGF5b3V0PiJdfQ==
@@ -20,6 +20,7 @@ import { PepLayoutModule } from './layout/layout.module';
20
20
  import { MainEditorModule } from './main-editor/main-editor.module';
21
21
  import { SectionEditorModule } from './section-editor/section-editor.module';
22
22
  import { PepLayoutBuilderComponent } from './layout-builder.component';
23
+ import { PepLayoutContentDirective } from './layout-content.directive';
23
24
  // import { SectionBlockModule } from './layout/section-block/section-block.module';
24
25
  import { PepIconModule, pepIconDeviceDesktop, pepIconDeviceTablet, pepIconDeviceMobile, } from '@pepperi-addons/ngx-lib/icon';
25
26
  import { PepLayoutBuilderService } from './layout-builder.service';
@@ -37,7 +38,8 @@ export class PepLayoutBuilderModule {
37
38
  }
38
39
  }
39
40
  PepLayoutBuilderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutBuilderModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
40
- PepLayoutBuilderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutBuilderModule, declarations: [PepLayoutBuilderComponent], imports: [CommonModule,
41
+ PepLayoutBuilderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutBuilderModule, declarations: [PepLayoutBuilderComponent,
42
+ PepLayoutContentDirective], imports: [CommonModule,
41
43
  DragDropModule,
42
44
  // Material modules,
43
45
  MatCommonModule,
@@ -63,6 +65,7 @@ PepLayoutBuilderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
63
65
  PepLayoutBuilderEditorModule
64
66
  // SectionBlockModule
65
67
  ], exports: [PepLayoutBuilderComponent,
68
+ PepLayoutContentDirective,
66
69
  PepLayoutModule,
67
70
  PepLayoutBuilderEditorModule] });
68
71
  PepLayoutBuilderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutBuilderModule, providers: [
@@ -99,6 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
99
102
  args: [{
100
103
  declarations: [
101
104
  PepLayoutBuilderComponent,
105
+ PepLayoutContentDirective,
102
106
  ],
103
107
  imports: [
104
108
  CommonModule,
@@ -129,6 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
129
133
  ],
130
134
  exports: [
131
135
  PepLayoutBuilderComponent,
136
+ PepLayoutContentDirective,
132
137
  PepLayoutModule,
133
138
  PepLayoutBuilderEditorModule
134
139
  ],
@@ -137,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
137
142
  ]
138
143
  }]
139
144
  }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJ1aWxkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWJ1aWxkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsNkJBQTZC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RCxTQUFTLEVBQUU7d0JBQ1AsdUJBQXVCO3FCQUMxQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5cbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFNpemVEZXRlY3Rvck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NpemUtZGV0ZWN0b3InO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcERpYWxvZ01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBHcm91cEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9ncm91cC1idXR0b25zJztcbmltcG9ydCB7IFBlcFBhZ2VMYXlvdXRNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9wYWdlLWxheW91dCc7XG5pbXBvcnQgeyBQZXBTaWRlQmFyTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2lkZS1iYXInO1xuaW1wb3J0IHsgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kcmFnZ2FibGUtaXRlbXMnO1xuaW1wb3J0IHsgUGVwQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9jaGVja2JveCc7XG5pbXBvcnQgeyBQZXBTZWxlY3RNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zZWxlY3QnO1xuaW1wb3J0IHsgUGVwVGV4dGJveE1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3RleHRib3gnO1xuXG5pbXBvcnQgeyBQZXBHcm91cEJ1dHRvbnNTZXR0aW5nc01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtY29tcG9zaXRlLWxpYi9ncm91cC1idXR0b25zLXNldHRpbmdzJztcblxuaW1wb3J0IHsgSGlkZUluTW9kdWxlIH0gZnJvbSAnLi9oaWRlLWluL2hpZGUtaW4ubW9kdWxlJztcbmltcG9ydCB7IFBlcExheW91dE1vZHVsZSB9IGZyb20gJy4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgTWFpbkVkaXRvck1vZHVsZSB9IGZyb20gJy4vbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IubW9kdWxlJztcbmltcG9ydCB7IFNlY3Rpb25FZGl0b3JNb2R1bGUgfSBmcm9tICcuL3NlY3Rpb24tZWRpdG9yL3NlY3Rpb24tZWRpdG9yLm1vZHVsZSc7XG5cbmltcG9ydCB7IFBlcExheW91dEJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1idWlsZGVyLmNvbXBvbmVudCc7XG5cbi8vIGltcG9ydCB7IFNlY3Rpb25CbG9ja01vZHVsZSB9IGZyb20gJy4vbGF5b3V0L3NlY3Rpb24tYmxvY2svc2VjdGlvbi1ibG9jay5tb2R1bGUnO1xuXG5pbXBvcnQge1xuICAgIFBlcEljb25Nb2R1bGUsXG4gICAgUGVwSWNvblJlZ2lzdHJ5LFxuICAgIHBlcEljb25EZXZpY2VEZXNrdG9wLFxuICAgIHBlcEljb25EZXZpY2VUYWJsZXQsXG4gICAgcGVwSWNvbkRldmljZU1vYmlsZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbGF5b3V0LWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyRWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9sYXlvdXQtYnVpbGRlci1lZGl0b3IvbGF5b3V0LWJ1aWxkZXItZWRpdG9yLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcExheW91dEJ1aWxkZXJDb21wb25lbnQsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIC8vIE1hdGVyaWFsIG1vZHVsZXMsXG4gICAgICAgIE1hdENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0VGFic01vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgICAgICBQZXBJY29uTW9kdWxlLFxuICAgICAgICBQZXBQYWdlTGF5b3V0TW9kdWxlLFxuICAgICAgICBQZXBTaWRlQmFyTW9kdWxlLFxuICAgICAgICBQZXBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBlcENoZWNrYm94TW9kdWxlLFxuICAgICAgICBQZXBUZXh0Ym94TW9kdWxlLFxuICAgICAgICBQZXBTZWxlY3RNb2R1bGUsXG4gICAgICAgIFBlcFNpemVEZXRlY3Rvck1vZHVsZSxcbiAgICAgICAgUGVwR3JvdXBCdXR0b25zTW9kdWxlLFxuICAgICAgICBQZXBEcmFnZ2FibGVJdGVtc01vZHVsZSxcbiAgICAgICAgUGVwR3JvdXBCdXR0b25zU2V0dGluZ3NNb2R1bGUsXG4gICAgICAgIEhpZGVJbk1vZHVsZSxcbiAgICAgICAgUGVwTGF5b3V0TW9kdWxlLFxuICAgICAgICBNYWluRWRpdG9yTW9kdWxlLFxuICAgICAgICBTZWN0aW9uRWRpdG9yTW9kdWxlLFxuICAgICAgICBQZXBMYXlvdXRCdWlsZGVyRWRpdG9yTW9kdWxlXG4gICAgICAgIC8vIFNlY3Rpb25CbG9ja01vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBQZXBMYXlvdXRCdWlsZGVyQ29tcG9uZW50LFxuICAgICAgICBQZXBMYXlvdXRNb2R1bGUsXG4gICAgICAgIFBlcExheW91dEJ1aWxkZXJFZGl0b3JNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQZXBMYXlvdXRCdWlsZGVyU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUGVwTGF5b3V0QnVpbGRlck1vZHVsZSB7IFxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5wZXBJY29uUmVnaXN0cnkucmVnaXN0ZXJJY29ucyhbXG4gICAgICAgICAgICBwZXBJY29uRGV2aWNlRGVza3RvcCxcbiAgICAgICAgICAgIHBlcEljb25EZXZpY2VUYWJsZXQsXG4gICAgICAgICAgICBwZXBJY29uRGV2aWNlTW9iaWxlLFxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJ1aWxkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWJ1aWxkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsNkJBQTZC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QkFDNUIscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsNEJBQTRCO3FCQUMvQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsdUJBQXVCO3FCQUMxQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5cbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFNpemVEZXRlY3Rvck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NpemUtZGV0ZWN0b3InO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcERpYWxvZ01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBHcm91cEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9ncm91cC1idXR0b25zJztcbmltcG9ydCB7IFBlcFBhZ2VMYXlvdXRNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9wYWdlLWxheW91dCc7XG5pbXBvcnQgeyBQZXBTaWRlQmFyTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2lkZS1iYXInO1xuaW1wb3J0IHsgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kcmFnZ2FibGUtaXRlbXMnO1xuaW1wb3J0IHsgUGVwQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9jaGVja2JveCc7XG5pbXBvcnQgeyBQZXBTZWxlY3RNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zZWxlY3QnO1xuaW1wb3J0IHsgUGVwVGV4dGJveE1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3RleHRib3gnO1xuXG5pbXBvcnQgeyBQZXBHcm91cEJ1dHRvbnNTZXR0aW5nc01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtY29tcG9zaXRlLWxpYi9ncm91cC1idXR0b25zLXNldHRpbmdzJztcblxuaW1wb3J0IHsgSGlkZUluTW9kdWxlIH0gZnJvbSAnLi9oaWRlLWluL2hpZGUtaW4ubW9kdWxlJztcbmltcG9ydCB7IFBlcExheW91dE1vZHVsZSB9IGZyb20gJy4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgTWFpbkVkaXRvck1vZHVsZSB9IGZyb20gJy4vbWFpbi1lZGl0b3IvbWFpbi1lZGl0b3IubW9kdWxlJztcbmltcG9ydCB7IFNlY3Rpb25FZGl0b3JNb2R1bGUgfSBmcm9tICcuL3NlY3Rpb24tZWRpdG9yL3NlY3Rpb24tZWRpdG9yLm1vZHVsZSc7XG5cbmltcG9ydCB7IFBlcExheW91dEJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1idWlsZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBMYXlvdXRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9sYXlvdXQtY29udGVudC5kaXJlY3RpdmUnO1xuXG4vLyBpbXBvcnQgeyBTZWN0aW9uQmxvY2tNb2R1bGUgfSBmcm9tICcuL2xheW91dC9zZWN0aW9uLWJsb2NrL3NlY3Rpb24tYmxvY2subW9kdWxlJztcblxuaW1wb3J0IHtcbiAgICBQZXBJY29uTW9kdWxlLFxuICAgIFBlcEljb25SZWdpc3RyeSxcbiAgICBwZXBJY29uRGV2aWNlRGVza3RvcCxcbiAgICBwZXBJY29uRGV2aWNlVGFibGV0LFxuICAgIHBlcEljb25EZXZpY2VNb2JpbGUsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL2xheW91dC1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwTGF5b3V0QnVpbGRlckVkaXRvck1vZHVsZSB9IGZyb20gJy4vbGF5b3V0LWJ1aWxkZXItZWRpdG9yL2xheW91dC1idWlsZGVyLWVkaXRvci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBQZXBMYXlvdXRCdWlsZGVyQ29tcG9uZW50LFxuICAgICAgICBQZXBMYXlvdXRDb250ZW50RGlyZWN0aXZlLFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgICAgIC8vIG5neC1saWIgbW9kdWxlc1xuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwUGFnZUxheW91dE1vZHVsZSxcbiAgICAgICAgUGVwU2lkZUJhck1vZHVsZSxcbiAgICAgICAgUGVwQnV0dG9uTW9kdWxlLFxuICAgICAgICBQZXBDaGVja2JveE1vZHVsZSxcbiAgICAgICAgUGVwVGV4dGJveE1vZHVsZSxcbiAgICAgICAgUGVwU2VsZWN0TW9kdWxlLFxuICAgICAgICBQZXBTaXplRGV0ZWN0b3JNb2R1bGUsXG4gICAgICAgIFBlcEdyb3VwQnV0dG9uc01vZHVsZSxcbiAgICAgICAgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUsXG4gICAgICAgIFBlcEdyb3VwQnV0dG9uc1NldHRpbmdzTW9kdWxlLFxuICAgICAgICBIaWRlSW5Nb2R1bGUsXG4gICAgICAgIFBlcExheW91dE1vZHVsZSxcbiAgICAgICAgTWFpbkVkaXRvck1vZHVsZSxcbiAgICAgICAgU2VjdGlvbkVkaXRvck1vZHVsZSxcbiAgICAgICAgUGVwTGF5b3V0QnVpbGRlckVkaXRvck1vZHVsZVxuICAgICAgICAvLyBTZWN0aW9uQmxvY2tNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGVwTGF5b3V0QnVpbGRlckNvbXBvbmVudCxcbiAgICAgICAgUGVwTGF5b3V0Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgUGVwTGF5b3V0TW9kdWxlLFxuICAgICAgICBQZXBMYXlvdXRCdWlsZGVyRWRpdG9yTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUGVwTGF5b3V0QnVpbGRlclNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBlcExheW91dEJ1aWxkZXJNb2R1bGUgeyBcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW1xuICAgICAgICAgICAgcGVwSWNvbkRldmljZURlc2t0b3AsXG4gICAgICAgICAgICBwZXBJY29uRGV2aWNlVGFibGV0LFxuICAgICAgICAgICAgcGVwSWNvbkRldmljZU1vYmlsZSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PepLayoutContentDirective {
4
+ }
5
+ PepLayoutContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ PepLayoutContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutContentDirective, selector: "[layout-content]", ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutContentDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[layout-content]',
11
+ }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0LWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFDLE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2xheW91dC1jb250ZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIFBlcExheW91dENvbnRlbnREaXJlY3RpdmUge31cbiJdfQ==
@@ -5,8 +5,9 @@ export * from './layout-builder.module';
5
5
  export * from './layout-builder.model';
6
6
  export * from './layout-builder.service';
7
7
  export * from './layout-builder.component';
8
+ export * from './layout-content.directive';
8
9
  export * from './layout-builder-editor/layout-builder-editor.module';
9
10
  export * from './layout-builder-editor/layout-builder-editor.component';
10
11
  export * from './layout/layout.module';
11
12
  export * from './layout/layout.component';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0LWJ1aWxkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0LWJ1aWxkZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0LWJ1aWxkZXItZWRpdG9yL2xheW91dC1idWlsZGVyLWVkaXRvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYnVpbGRlci1lZGl0b3IvbGF5b3V0LWJ1aWxkZXItZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXJcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC1idWlsZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYnVpbGRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtYnVpbGRlci1lZGl0b3IvbGF5b3V0LWJ1aWxkZXItZWRpdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC1idWlsZGVyLWVkaXRvci9sYXlvdXQtYnVpbGRlci1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XG4iXX0=