UNPKG

@pepperi/lib

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.1.

131 lines 15.2 kB
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core'; import { LAYOUT_TYPE } from '@pepperi/lib'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/material/icon"; import * as i3 from "@pepperi/lib/icon"; import * as i4 from "@angular/material/menu"; import * as i5 from "@ngx-translate/core"; function PepperiMenuComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainer(0); } } const _c0 = function (a0, a1, a2, a3, a4) { return { "lock-events": a0, "left-alignment": a1, "right-alignment": a2, "center-alignment": a3, "invert": a4 }; }; function PepperiMenuComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) { const _r6 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 3); i0.ɵɵlistener("click", function PepperiMenuComponent_ng_template_1_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.menuClicked($event); }); i0.ɵɵelementStart(1, "mat-icon"); i0.ɵɵelement(2, "pep-icon", 4); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵclassMapInterpolate1("pepperi-menu pepperi-button icon-button weak ", ctx_r2.layoutType === ctx_r2.LAYOUT_TYPE.PepperiTable ? "sm" : "md", ""); i0.ɵɵpropertyInterpolate("title", ctx_r2.label); i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction5(5, _c0, ctx_r2.disabled, ctx_r2.xAlignment == "1" || ctx_r2.xAlignment == "0", ctx_r2.xAlignment == "2", ctx_r2.xAlignment == "3", ctx_r2.invertClass)); } } function PepperiMenuComponent_ng_template_3_button_5_Template(rf, ctx) { if (rf & 1) { const _r11 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 9); i0.ɵɵlistener("click", function PepperiMenuComponent_ng_template_3_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const option_r9 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.menuItemClicked(option_r9.Key); }); i0.ɵɵelementStart(1, "span"); i0.ɵɵtext(2); i0.ɵɵpipe(3, "translate"); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { const option_r9 = ctx.$implicit; i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, option_r9.Value)); } } const _c1 = function (a0, a1, a2, a3) { return { "left-alignment": a0, "right-alignment": a1, "center-alignment": a2, "invert": a3 }; }; const _c2 = function (a0) { return { rtlMenu: a0 }; }; function PepperiMenuComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "button", 5); i0.ɵɵelementStart(1, "mat-icon"); i0.ɵɵelement(2, "pep-icon", 4); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "mat-menu", 6, 7); i0.ɵɵtemplate(5, PepperiMenuComponent_ng_template_3_button_5_Template, 4, 3, "button", 8); i0.ɵɵelementEnd(); } if (rf & 2) { const _r7 = i0.ɵɵreference(4); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵclassMapInterpolate1("pepperi-menu pepperi-button icon-button weak ", ctx_r4.layoutType === ctx_r4.LAYOUT_TYPE.PepperiTable ? "sm" : "md", ""); i0.ɵɵpropertyInterpolate("title", ctx_r4.label); i0.ɵɵproperty("matMenuTriggerFor", _r7)("ngClass", i0.ɵɵpureFunction4(9, _c1, ctx_r4.xAlignment == "1" || ctx_r4.xAlignment == "0", ctx_r4.xAlignment == "2", ctx_r4.xAlignment == "3", ctx_r4.invertClass)); i0.ɵɵadvance(3); i0.ɵɵpropertyInterpolate("xPosition", ctx_r4.xAlignment == "2" ? "after" : "before"); i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c2, ctx_r4.xAlignment == "2")); i0.ɵɵadvance(2); i0.ɵɵproperty("ngForOf", ctx_r4.options); } } export class PepperiMenuComponent { constructor() { this.key = ''; this.label = ''; this.disabled = false; this.xAlignment = '0'; // @Input() hasSubMenu = false; this.options = []; this.invertClass = true; this.controlType = 'menu'; this.layoutType = LAYOUT_TYPE.PepperiForm; this.elementClicked = new EventEmitter(); this.notifyMenuItemClicked = new EventEmitter(); this.LAYOUT_TYPE = LAYOUT_TYPE; } ngOnDestroy() { if (this.elementClicked) { this.elementClicked.unsubscribe(); } if (this.notifyMenuItemClicked) { this.notifyMenuItemClicked.unsubscribe(); } } menuClicked(event) { this.elementClicked.emit({ apiName: this.key, eventWhich: event.which }); } menuItemClicked(itemKey) { this.notifyMenuItemClicked.emit({ apiName: itemKey }); } } PepperiMenuComponent.ɵfac = function PepperiMenuComponent_Factory(t) { return new (t || PepperiMenuComponent)(); }; PepperiMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PepperiMenuComponent, selectors: [["pep-menu"]], inputs: { key: "key", label: "label", disabled: "disabled", xAlignment: "xAlignment", options: "options", invertClass: "invertClass", layoutType: "layoutType" }, outputs: { elementClicked: "elementClicked", notifyMenuItemClicked: "notifyMenuItemClicked" }, decls: 5, vars: 3, consts: [[4, "ngIf", "ngIfThen", "ngIfElse"], ["noSubMenuBlock", ""], ["subMenuBlock", ""], ["mat-button", "", 3, "title", "ngClass", "click"], ["name", "system_menu"], ["mat-button", "", "menu-blur", "", 3, "matMenuTriggerFor", "ngClass", "title"], [3, "xPosition", "ngClass"], ["menu", "matMenu"], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-menu-item", "", 3, "click"]], template: function PepperiMenuComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, PepperiMenuComponent_ng_container_0_Template, 1, 0, "ng-container", 0); i0.ɵɵtemplate(1, PepperiMenuComponent_ng_template_1_Template, 3, 11, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor); i0.ɵɵtemplate(3, PepperiMenuComponent_ng_template_3_Template, 6, 16, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor); } if (rf & 2) { const _r1 = i0.ɵɵreference(2); const _r3 = i0.ɵɵreference(4); i0.ɵɵproperty("ngIf", (ctx.options == null ? null : ctx.options.length) > 0)("ngIfThen", _r3)("ngIfElse", _r1); } }, directives: [i1.NgIf, i1.NgClass, i2.MatIcon, i3.PepperiIconComponent, i4.MatMenuTrigger, i4._MatMenu, i1.NgForOf, i4.MatMenuItem], pipes: [i5.TranslatePipe], styles: ["[_nghost-%COMP%]{display:-ms-grid;display:grid;height:inherit}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{-ms-grid-row-align:center;align-self:center}.pepperi-menu[_ngcontent-%COMP%]{cursor:pointer}.pepperi-menu.left-alignment[_ngcontent-%COMP%]{justify-self:flex-start}.pepperi-menu.center-alignment[_ngcontent-%COMP%]{-ms-grid-column-align:center;justify-self:center}.pepperi-menu.right-alignment[_ngcontent-%COMP%]{justify-self:flex-end}"], changeDetection: 0 }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PepperiMenuComponent, [{ type: Component, args: [{ selector: 'pep-menu', templateUrl: './menu.component.html', styleUrls: ['./menu.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }] }], function () { return []; }, { key: [{ type: Input }], label: [{ type: Input }], disabled: [{ type: Input }], xAlignment: [{ type: Input }], options: [{ type: Input }], invertClass: [{ type: Input }], layoutType: [{ type: Input }], elementClicked: [{ type: Output }], notifyMenuItemClicked: [{ type: Output }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wZXBwZXJpLWxpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGVwcGVyaS1saWIvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLHVCQUF1QixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxXQUFXLEVBQWlCLE1BQU0sY0FBYyxDQUFDOzs7Ozs7OztJQ0QxRCx3QkFBaUc7Ozs7O0lBRTdGLGlDQVNJO0lBVEksNk1BQTZCO0lBU2pDLGdDQUNJO0lBQUEsOEJBQ1c7SUFDZixpQkFBVztJQUNmLGlCQUFTOzs7SUFaTCxtSkFBZ0g7SUFEOUUsK0NBQW1CO0lBRXJELG1NQU1FOzs7O0lBeUJGLGlDQUNJO0lBRGlELGdRQUFxQztJQUN0Riw0QkFBTTtJQUFBLFlBQThCOztJQUFBLGlCQUFPO0lBQy9DLGlCQUFTOzs7SUFEQyxlQUE4QjtJQUE5QiwyREFBOEI7Ozs7O0lBakI1QyxpQ0FRSTtJQUFBLGdDQUNJO0lBQUEsOEJBQ1c7SUFDZixpQkFBVztJQUNmLGlCQUFTO0lBRVQsc0NBRUk7SUFBQSx5RkFDSTtJQUVSLGlCQUFXOzs7O0lBbEJQLG1KQUFnSDtJQU03RywrQ0FBbUI7SUFQUCx1Q0FBMEIscUtBQUE7SUFjbkIsZUFBc0Q7SUFBdEQsb0ZBQXNEO0lBQzVFLCtFQUEwQztJQUNsQyxlQUE4QjtJQUE5Qix3Q0FBOEI7O0FEMUI5QyxNQUFNLE9BQU8sb0JBQW9CO0lBZ0I3QjtRQWZTLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsR0FBRyxDQUFDO1FBQzFCLCtCQUErQjtRQUN0QixZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUU1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQUVaLGVBQVUsR0FBZ0IsV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUNqRCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzVELDBCQUFxQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO0lBRVYsQ0FBQztJQUVqQixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM1QixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFZO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzt3RkFsQ1Esb0JBQW9CO3lEQUFwQixvQkFBb0I7UUNUakMsdUZBQWtGO1FBQ2xGLHVIQUNJO1FBZ0JKLHVIQUNJOzs7O1FBbkJVLDRFQUFtRSxpQkFBQSxpQkFBQTs7a0REU3BFLG9CQUFvQjtjQU5oQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDtzQ0FFWSxHQUFHO2tCQUFYLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUVHLE9BQU87a0JBQWYsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFJRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0ksY0FBYztrQkFBdkIsTUFBTTtZQUNHLHFCQUFxQjtrQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMQVlPVVRfVFlQRSwgUGVwcGVyaU9wdGlvbiB9IGZyb20gJ0BwZXBwZXJpL2xpYic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncGVwLW1lbnUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcHBlcmlNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xyXG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB4QWxpZ25tZW50ID0gJzAnO1xyXG4gICAgLy8gQElucHV0KCkgaGFzU3ViTWVudSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgb3B0aW9uczogUGVwcGVyaU9wdGlvbltdID0gW107XHJcbiAgICBASW5wdXQoKSBpbnZlcnRDbGFzcyA9IHRydWU7XHJcblxyXG4gICAgY29udHJvbFR5cGUgPSAnbWVudSc7XHJcblxyXG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogTEFZT1VUX1RZUEUgPSBMQVlPVVRfVFlQRS5QZXBwZXJpRm9ybTtcclxuICAgIEBPdXRwdXQoKSBlbGVtZW50Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBub3RpZnlNZW51SXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBMQVlPVVRfVFlQRSA9IExBWU9VVF9UWVBFO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudENsaWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2tlZC51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubm90aWZ5TWVudUl0ZW1DbGlja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZ5TWVudUl0ZW1DbGlja2VkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG1lbnVDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRDbGlja2VkLmVtaXQoeyBhcGlOYW1lOiB0aGlzLmtleSwgZXZlbnRXaGljaDogZXZlbnQud2hpY2ggfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbWVudUl0ZW1DbGlja2VkKGl0ZW1LZXk6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubm90aWZ5TWVudUl0ZW1DbGlja2VkLmVtaXQoeyBhcGlOYW1lOiBpdGVtS2V5IH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy5sZW5ndGggPiAwOyB0aGVuIHN1Yk1lbnVCbG9jazsgZWxzZSBub1N1Yk1lbnVCbG9ja1wiPjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI25vU3ViTWVudUJsb2NrPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibWVudUNsaWNrZWQoJGV2ZW50KVwiIHRpdGxlPVwie3sgbGFiZWwgfX1cIiBtYXQtYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJwZXBwZXJpLW1lbnUgcGVwcGVyaS1idXR0b24gaWNvbi1idXR0b24gd2VhayB7eyBsYXlvdXRUeXBlID09PSBMQVlPVVRfVFlQRS5QZXBwZXJpVGFibGUgPyAnc20nIDogJ21kJyB9fVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnbG9jay1ldmVudHMnOiBkaXNhYmxlZCxcclxuICAgICAgICAgICAgJ2xlZnQtYWxpZ25tZW50JzogeEFsaWdubWVudCA9PSAnMScgfHwgeEFsaWdubWVudCA9PSAnMCcsXHJcbiAgICAgICAgICAgICdyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICcyJyxcclxuICAgICAgICAgICAgJ2NlbnRlci1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICczJyxcclxuICAgICAgICAgICAgJ2ludmVydCc6IGludmVydENsYXNzXHJcbiAgICAgICAgfVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5cclxuICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fbWVudVwiPlxyXG4gICAgICAgICAgICA8L3BlcC1pY29uPlxyXG4gICAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc3ViTWVudUJsb2NrPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgbWVudS1ibHVyXHJcbiAgICAgICAgY2xhc3M9XCJwZXBwZXJpLW1lbnUgcGVwcGVyaS1idXR0b24gaWNvbi1idXR0b24gd2VhayB7eyBsYXlvdXRUeXBlID09PSBMQVlPVVRfVFlQRS5QZXBwZXJpVGFibGUgPyAnc20nIDogJ21kJyB9fVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnbGVmdC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICcxJyB8fCB4QWxpZ25tZW50ID09ICcwJyxcclxuICAgICAgICAgICAgJ3JpZ2h0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJzInLFxyXG4gICAgICAgICAgICAnY2VudGVyLWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJzMnLFxyXG4gICAgICAgICAgICAnaW52ZXJ0JzogaW52ZXJ0Q2xhc3NcclxuICAgICAgICB9XCIgdGl0bGU9XCJ7eyBsYWJlbCB9fVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5cclxuICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fbWVudVwiPlxyXG4gICAgICAgICAgICA8L3BlcC1pY29uPlxyXG4gICAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwie3t4QWxpZ25tZW50ID09ICcyJyA/ICdhZnRlcicgOiAnYmVmb3JlJ319XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7IHJ0bE1lbnU6IHhBbGlnbm1lbnQgPT0gJzInIH1cIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1lbnVJdGVtQ2xpY2tlZChvcHRpb24uS2V5KVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24uVmFsdWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19