@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
145 lines • 14.9 kB
JavaScript
import { Component, Injector, Input } from '@angular/core';
import { CoreBaseComponent } from '../common/base.component';
import { BreadcrumbSeparator } from './models/breadcrumb-separator';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
function BreadcrumbComponent_span_0_a_2_Template(rf, ctx) { if (rf & 1) {
const _r8 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "a", 5);
i0.ɵɵlistener("click", function BreadcrumbComponent_span_0_a_2_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r8); const item_r1 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r1.action($event)); });
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const item_r1 = i0.ɵɵnextContext().$implicit;
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(item_r1.label);
} }
function BreadcrumbComponent_span_0_span_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 6);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const item_r1 = i0.ɵɵnextContext().$implicit;
i0.ɵɵattribute("aria-label", item_r1.label);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(item_r1.label);
} }
function BreadcrumbComponent_span_0_span_4_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 10);
i0.ɵɵtext(1, "\u00A0\\\u00A0");
i0.ɵɵelementEnd();
} }
function BreadcrumbComponent_span_0_span_4_span_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 10);
i0.ɵɵtext(1, "\u00A0/\u00A0");
i0.ɵɵelementEnd();
} }
function BreadcrumbComponent_span_0_span_4_span_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "span", 11);
} }
function BreadcrumbComponent_span_0_span_4_span_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 10);
i0.ɵɵtext(1, "\u00A0,\u00A0");
i0.ɵɵelementEnd();
} }
function BreadcrumbComponent_span_0_span_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 7);
i0.ɵɵtemplate(1, BreadcrumbComponent_span_0_span_4_span_1_Template, 2, 0, "span", 8);
i0.ɵɵtemplate(2, BreadcrumbComponent_span_0_span_4_span_2_Template, 2, 0, "span", 8);
i0.ɵɵtemplate(3, BreadcrumbComponent_span_0_span_4_span_3_Template, 1, 0, "span", 9);
i0.ɵɵtemplate(4, BreadcrumbComponent_span_0_span_4_span_4_Template, 2, 0, "span", 8);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r5 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("ngSwitch", ctx_r5.separator);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", 0);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", 1);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", 2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngSwitchCase", 3);
} }
function BreadcrumbComponent_span_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span")(1, "span", 1);
i0.ɵɵtemplate(2, BreadcrumbComponent_span_0_a_2_Template, 2, 1, "a", 2);
i0.ɵɵtemplate(3, BreadcrumbComponent_span_0_span_3_Template, 2, 2, "span", 3);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(4, BreadcrumbComponent_span_0_span_4_Template, 5, 5, "span", 4);
i0.ɵɵelementEnd();
} if (rf & 2) {
const item_r1 = ctx.$implicit;
const last_r2 = ctx.last;
i0.ɵɵadvance(1);
i0.ɵɵclassProp("sme-font-family-bold", item_r1.emphasized);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", item_r1.action);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", !item_r1.action);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", !last_r2);
} }
/**
*
* @smeDoc {@label Breadcrumb @id sme-breadcrumb}
*
* @overview
* @file {@filepath ./examples/breadcrumb-overview.md}
*
* @example {@label Basic Usage @id sme-dev-guide-controls-breadcrumb}
* @file {@filename component.html @filepath ./examples/breadcrumb-example.component.html}
* @file {@filename component.ts @filepath ./examples/breadcrumb-example.component.ts}
*
*/
export class BreadcrumbComponent extends CoreBaseComponent {
/**
* Initializes a new instance of the @see BreadcrumbComponent class.
* @param injector The angular injection service. required by @SmeInjectableBase() decorator in the base @see BaseComponent class
*/
constructor(injector) {
super(injector);
this.breadcrumbs = [];
this.separator = BreadcrumbSeparator.Slash;
}
get separators() {
return BreadcrumbComponent.separators;
}
/**
* The source name to use for logging
*/
get logSourceName() {
return 'BreadcrumbComponent';
}
/**
* Gets the initial host classes to be applied to this element
*/
getInitialHostClasses() {
return super.getInitialHostClasses().concat([
'sme-layout-breadcrumb',
'sme-focus-zone',
'sme-font-family-normal'
]);
}
}
BreadcrumbComponent.separators = {
slash: BreadcrumbSeparator.Slash,
backSlash: BreadcrumbSeparator.BackSlash,
chevronRight: BreadcrumbSeparator.ChevronRight,
comma: BreadcrumbSeparator.Comma
};
/** @nocollapse */ BreadcrumbComponent.ɵfac = function BreadcrumbComponent_Factory(t) { return new (t || BreadcrumbComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
/** @nocollapse */ BreadcrumbComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: BreadcrumbComponent, selectors: [["sme-breadcrumb"]], inputs: { breadcrumbs: "breadcrumbs", separator: "separator" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[4, "ngFor", "ngForOf"], [1, "sme-behavior-hover-trigger"], ["class", "sme-behavior-hover-target-underline sme-focus-zone", "tabindex", "0", "role", "link", 3, "click", 4, "ngIf"], ["tabindex", "0", 4, "ngIf"], ["class", "sme-breadcrumb-separator", 3, "ngSwitch", 4, "ngIf"], ["tabindex", "0", "role", "link", 1, "sme-behavior-hover-target-underline", "sme-focus-zone", 3, "click"], ["tabindex", "0"], [1, "sme-breadcrumb-separator", 3, "ngSwitch"], ["aria-hidden", "true", 4, "ngSwitchCase"], ["class", "sme-icon sme-icon-chevronRight", "aria-hidden", "true", 4, "ngSwitchCase"], ["aria-hidden", "true"], ["aria-hidden", "true", 1, "sme-icon", "sme-icon-chevronRight"]], template: function BreadcrumbComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, BreadcrumbComponent_span_0_Template, 5, 5, "span", 0);
} if (rf & 2) {
i0.ɵɵproperty("ngForOf", ctx.breadcrumbs);
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgSwitch, i1.NgSwitchCase], encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BreadcrumbComponent, [{
type: Component,
args: [{ selector: 'sme-breadcrumb', template: "<span *ngFor=\"let item of breadcrumbs; let last = last\">\r\n <!-- label -->\r\n <span class=\"sme-behavior-hover-trigger\" [class.sme-font-family-bold]=\"item.emphasized\">\r\n <a *ngIf=\"item.action\" class=\"sme-behavior-hover-target-underline sme-focus-zone\" tabindex=\"0\" role=\"link\" (click)=\"item.action($event)\">{{item.label}}</a>\r\n <span tabindex=\"0\" [attr.aria-label]=\"item.label\" *ngIf=\"!item.action\">{{item.label}}</span>\r\n </span>\r\n\r\n <!-- separator -->\r\n <span *ngIf=\"!last\" [ngSwitch]=\"separator\" class=\"sme-breadcrumb-separator\">\r\n <span *ngSwitchCase=\"0\" aria-hidden=\"true\"> \\ </span>\r\n <span *ngSwitchCase=\"1\" aria-hidden=\"true\"> / </span>\r\n <span *ngSwitchCase=\"2\" class=\"sme-icon sme-icon-chevronRight\" aria-hidden=\"true\"></span>\r\n <span *ngSwitchCase=\"3\" aria-hidden=\"true\"> , </span>\r\n </span>\r\n</span>\r\n" }]
}], function () { return [{ type: i0.Injector }]; }, { breadcrumbs: [{
type: Input
}], separator: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7SUNEaEUsNEJBQXlJO0lBQTlCLGlMQUFTLGVBQUEsc0JBQW1CLENBQUEsSUFBQztJQUFDLFlBQWM7SUFBQSxpQkFBSTs7O0lBQWxCLGVBQWM7SUFBZCxtQ0FBYzs7O0lBQ3ZKLCtCQUF1RTtJQUFBLFlBQWM7SUFBQSxpQkFBTzs7O0lBQXpFLDJDQUE4QjtJQUFzQixlQUFjO0lBQWQsbUNBQWM7OztJQUtyRixnQ0FBMkM7SUFBQSw4QkFBYTtJQUFBLGlCQUFPOzs7SUFDL0QsZ0NBQTJDO0lBQUEsNkJBQWE7SUFBQSxpQkFBTzs7O0lBQy9ELDJCQUF5Rjs7O0lBQ3pGLGdDQUEyQztJQUFBLDZCQUFhO0lBQUEsaUJBQU87OztJQUpqRSwrQkFBNEU7SUFDMUUsb0ZBQStEO0lBQy9ELG9GQUErRDtJQUMvRCxvRkFBeUY7SUFDekYsb0ZBQStEO0lBQ2pFLGlCQUFPOzs7SUFMYSwyQ0FBc0I7SUFDakMsZUFBZTtJQUFmLGdDQUFlO0lBQ2YsZUFBZTtJQUFmLGdDQUFlO0lBQ2YsZUFBZTtJQUFmLGdDQUFlO0lBQ2YsZUFBZTtJQUFmLGdDQUFlOzs7SUFaMUIsNEJBQXdELGNBQUE7SUFHcEQsdUVBQTJKO0lBQzNKLDZFQUE0RjtJQUM5RixpQkFBTztJQUdQLDZFQUtPO0lBQ1QsaUJBQU87Ozs7SUFab0MsZUFBOEM7SUFBOUMsMERBQThDO0lBQ2pGLGVBQWlCO0lBQWpCLHFDQUFpQjtJQUM4QixlQUFrQjtJQUFsQixzQ0FBa0I7SUFJaEUsZUFBVztJQUFYLCtCQUFXOztBREZwQjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUE4QnREOzs7T0FHRztJQUNILFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUE3QkQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQWMsYUFBYTtRQUN2QixPQUFPLHFCQUFxQixDQUFDO0lBQ2pDLENBQUM7SUFzQkQ7O09BRUc7SUFDTyxxQkFBcUI7UUFDM0IsT0FBTyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDeEMsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQix3QkFBd0I7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUEvQ2MsOEJBQVUsR0FBRztJQUN4QixLQUFLLEVBQUUsbUJBQW1CLENBQUMsS0FBSztJQUNoQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsU0FBUztJQUN4QyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsWUFBWTtJQUM5QyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsS0FBSztDQUNuQyxDQUFDO3lHQVBPLG1CQUFtQjtxR0FBbkIsbUJBQW1CO1FDdEJoQyxzRUFjTzs7UUFkZ0IseUNBQWdCOzt1RkRzQjFCLG1CQUFtQjtjQUovQixTQUFTOzJCQUNJLGdCQUFnQjsyREEwQlYsV0FBVztrQkFBMUIsS0FBSztZQUtVLFNBQVM7a0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iIH0gZnJvbSAnLi9tb2RlbHMvYnJlYWRjcnVtYic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXBhcmF0b3IgfSBmcm9tICcuL21vZGVscy9icmVhZGNydW1iLXNlcGFyYXRvcic7XHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIEJyZWFkY3J1bWIgQGlkIHNtZS1icmVhZGNydW1ifVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL2JyZWFkY3J1bWItb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgVXNhZ2UgQGlkIHNtZS1kZXYtZ3VpZGUtY29udHJvbHMtYnJlYWRjcnVtYn1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9icmVhZGNydW1iLWV4YW1wbGUuY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2JyZWFkY3J1bWItZXhhbXBsZS5jb21wb25lbnQudHN9XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWJyZWFkY3J1bWInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIHNlcGFyYXRvcnMgPSB7XHJcbiAgICAgICAgc2xhc2g6IEJyZWFkY3J1bWJTZXBhcmF0b3IuU2xhc2gsXHJcbiAgICAgICAgYmFja1NsYXNoOiBCcmVhZGNydW1iU2VwYXJhdG9yLkJhY2tTbGFzaCxcclxuICAgICAgICBjaGV2cm9uUmlnaHQ6IEJyZWFkY3J1bWJTZXBhcmF0b3IuQ2hldnJvblJpZ2h0LFxyXG4gICAgICAgIGNvbW1hOiBCcmVhZGNydW1iU2VwYXJhdG9yLkNvbW1hXHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VwYXJhdG9ycygpIHtcclxuICAgICAgICByZXR1cm4gQnJlYWRjcnVtYkNvbXBvbmVudC5zZXBhcmF0b3JzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdCcmVhZGNydW1iQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3Qgb2YgaXRlbXMgdG8gYmUgc2hvd24gb24gdGhlIGJyZWFkY3J1bWIuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBicmVhZGNydW1iczogQnJlYWRjcnVtYltdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VwYXJhdG9yIHRvIGJlIHVzZSB0byBzZXBhcmF0ZSBicmVhZGNydW1iIGl0ZW1zLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VwYXJhdG9yOiBCcmVhZGNydW1iU2VwYXJhdG9yO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEBzZWUgQnJlYWRjcnVtYkNvbXBvbmVudCBjbGFzcy5cclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBUaGUgYW5ndWxhciBpbmplY3Rpb24gc2VydmljZS4gcmVxdWlyZWQgYnkgQFNtZUluamVjdGFibGVCYXNlKCkgZGVjb3JhdG9yIGluIHRoZSBiYXNlIEBzZWUgQmFzZUNvbXBvbmVudCBjbGFzc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VwYXJhdG9yID0gQnJlYWRjcnVtYlNlcGFyYXRvci5TbGFzaDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtbGF5b3V0LWJyZWFkY3J1bWInLFxyXG4gICAgICAgICAgICAnc21lLWZvY3VzLXpvbmUnLFxyXG4gICAgICAgICAgICAnc21lLWZvbnQtZmFtaWx5LW5vcm1hbCdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxufVxyXG4iLCI8c3BhbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZGNydW1iczsgbGV0IGxhc3QgPSBsYXN0XCI+XHJcbiAgPCEtLSBsYWJlbCAtLT5cclxuICA8c3BhbiBjbGFzcz1cInNtZS1iZWhhdmlvci1ob3Zlci10cmlnZ2VyXCIgW2NsYXNzLnNtZS1mb250LWZhbWlseS1ib2xkXT1cIml0ZW0uZW1waGFzaXplZFwiPlxyXG4gICAgPGEgKm5nSWY9XCJpdGVtLmFjdGlvblwiIGNsYXNzPVwic21lLWJlaGF2aW9yLWhvdmVyLXRhcmdldC11bmRlcmxpbmUgc21lLWZvY3VzLXpvbmVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIChjbGljayk9XCJpdGVtLmFjdGlvbigkZXZlbnQpXCI+e3tpdGVtLmxhYmVsfX08L2E+XHJcbiAgICA8c3BhbiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGFiZWxcIiAqbmdJZj1cIiFpdGVtLmFjdGlvblwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPCEtLSBzZXBhcmF0b3IgLS0+XHJcbiAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiIFtuZ1N3aXRjaF09XCJzZXBhcmF0b3JcIiBjbGFzcz1cInNtZS1icmVhZGNydW1iLXNlcGFyYXRvclwiPlxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIjBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4mbmJzcDtcXCZuYnNwOzwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIxXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Jm5ic3A7LyZuYnNwOzwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIyXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1jaGV2cm9uUmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiM1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZuYnNwOywmbmJzcDs8L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG48L3NwYW4+XHJcbiJdfQ==