@crediblefinance/credible-ui
Version:
Credible's standard UI library
78 lines • 16.2 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import checkbox from './Checkbox';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class CfCheckboxLargeComponent {
options = [];
disabled = false;
theme = 'dark';
layout = 'flex';
changed = new EventEmitter();
selected = '';
showLabel = true;
label = '';
currentSelected = new checkbox();
changedHandled(option) {
const currentSelected = this.getCurrentSelectedOption(option.value);
if (currentSelected) {
this.currentSelected = currentSelected;
this.changed.emit(this.currentSelected);
}
}
ngOnChanges(changes) {
if (changes['selected']?.currentValue) {
this.selected = changes['selected'].currentValue;
if (this.options.length > 0)
this.setDefaultSingleSelection();
}
if (changes['options']?.currentValue.length > 0) {
this.setDefaultSingleSelection();
}
}
setDefaultSingleSelection() {
if (typeof this.selected === 'string') {
const index = this.validOption(this.selected);
if (index === -1)
this.currentSelected = this.options[0];
else
this.currentSelected = this.options[index];
}
else
this.currentSelected = this.options[0];
}
getCurrentSelectedOption(value) {
return this.options.find((x) => x.value === value);
}
validOption(value) {
if (value === '')
return -1;
for (let i = 0; i < this.options.length; i++) {
if (this.options[i].value === value)
return i;
}
return -1;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CfCheckboxLargeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: CfCheckboxLargeComponent, selector: "cf-checkbox-large", inputs: { options: "options", disabled: "disabled", theme: "theme", layout: "layout", selected: "selected", showLabel: "showLabel", label: "label" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cf-checkbox-large\" [ngClass]=\"theme\">\n <div *ngIf=\"showLabel\">\n <label class=\"label\">{{ label }}</label>\n </div>\n\n <div class=\"checkbox-content\" [ngStyle]=\"{'flex-direction' : layout === 'flex' ? 'row' : 'column'}\">\n <div class=\"cf-checkbox-large-item\" (click)=\"changedHandled(option)\" *ngFor=\"let option of options\"\n [ngClass]=\"{'cf-checkbox-large-item-active': currentSelected.value === option.value}\">\n <i class=\"fa-regular fa-circle-check\" *ngIf=\"currentSelected?.value === option.value\"></i>\n <i class=\"fa-regular fa-circle\" *ngIf=\"currentSelected?.value !== option.value\"></i>\n <span class=\"item-label\"> {{ option.label }}</span>\n </div>\n </div>\n</div>", styles: [".cf-checkbox-large{padding:0!important;height:max-content;margin-left:auto;margin-right:auto}.cf-checkbox-large .label{font-weight:700;font-size:.8rem;margin-bottom:3px}.cf-checkbox-large .checkbox-content{display:flex;gap:1rem}.cf-checkbox-large .checkbox-content .cf-checkbox-large-item{align-items:center;gap:.5rem;padding:1rem;border-radius:9px}.cf-checkbox-large .checkbox-content .cf-checkbox-large-item:hover{background:#F5F5F5;cursor:pointer}.cf-checkbox-large .checkbox-content .cf-checkbox-large-item .fa-circle-check,.cf-checkbox-large .checkbox-content .cf-checkbox-large-item .fa-circle{font-size:1.2rem}.cf-checkbox-large.dark .label{color:#fff}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item{background:#24252B;border:.5px solid grey}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item .item-label{color:gray}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item .fa-circle-check,.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item .fa-circle{color:#d3d3d3}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item-active{border:1px solid lightgrey}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item-active .item-label{color:#d3d3d3}.cf-checkbox-large.light .label{color:#000}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item{background:white;border:.5px solid grey}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item .item-label,.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item .fa-circle-check,.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item .fa-circle{color:gray}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item-active{border:1px solid black}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item-active .item-label{color:#000}@media only screen and (max-width: 500px){.cf-checkbox-large .checkbox-content{grid-template-columns:1fr!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CfCheckboxLargeComponent, decorators: [{
type: Component,
args: [{ selector: 'cf-checkbox-large', template: "<div class=\"cf-checkbox-large\" [ngClass]=\"theme\">\n <div *ngIf=\"showLabel\">\n <label class=\"label\">{{ label }}</label>\n </div>\n\n <div class=\"checkbox-content\" [ngStyle]=\"{'flex-direction' : layout === 'flex' ? 'row' : 'column'}\">\n <div class=\"cf-checkbox-large-item\" (click)=\"changedHandled(option)\" *ngFor=\"let option of options\"\n [ngClass]=\"{'cf-checkbox-large-item-active': currentSelected.value === option.value}\">\n <i class=\"fa-regular fa-circle-check\" *ngIf=\"currentSelected?.value === option.value\"></i>\n <i class=\"fa-regular fa-circle\" *ngIf=\"currentSelected?.value !== option.value\"></i>\n <span class=\"item-label\"> {{ option.label }}</span>\n </div>\n </div>\n</div>", styles: [".cf-checkbox-large{padding:0!important;height:max-content;margin-left:auto;margin-right:auto}.cf-checkbox-large .label{font-weight:700;font-size:.8rem;margin-bottom:3px}.cf-checkbox-large .checkbox-content{display:flex;gap:1rem}.cf-checkbox-large .checkbox-content .cf-checkbox-large-item{align-items:center;gap:.5rem;padding:1rem;border-radius:9px}.cf-checkbox-large .checkbox-content .cf-checkbox-large-item:hover{background:#F5F5F5;cursor:pointer}.cf-checkbox-large .checkbox-content .cf-checkbox-large-item .fa-circle-check,.cf-checkbox-large .checkbox-content .cf-checkbox-large-item .fa-circle{font-size:1.2rem}.cf-checkbox-large.dark .label{color:#fff}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item{background:#24252B;border:.5px solid grey}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item .item-label{color:gray}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item .fa-circle-check,.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item .fa-circle{color:#d3d3d3}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item-active{border:1px solid lightgrey}.cf-checkbox-large.dark .checkbox-content .cf-checkbox-large-item-active .item-label{color:#d3d3d3}.cf-checkbox-large.light .label{color:#000}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item{background:white;border:.5px solid grey}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item .item-label,.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item .fa-circle-check,.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item .fa-circle{color:gray}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item-active{border:1px solid black}.cf-checkbox-large.light .checkbox-content .cf-checkbox-large-item-active .item-label{color:#000}@media only screen and (max-width: 500px){.cf-checkbox-large .checkbox-content{grid-template-columns:1fr!important}}\n"] }]
}], propDecorators: { options: [{
type: Input
}], disabled: [{
type: Input
}], theme: [{
type: Input
}], layout: [{
type: Input
}], changed: [{
type: Output
}], selected: [{
type: Input
}], showLabel: [{
type: Input
}], label: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2YtY2hlY2tib3gtbGFyZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlZGlibGUtdWkvc3JjL2xpYi9jZi1jaGVja2JveC1sYXJnZS9jZi1jaGVja2JveC1sYXJnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVkaWJsZS11aS9zcmMvbGliL2NmLWNoZWNrYm94LWxhcmdlL2NmLWNoZWNrYm94LWxhcmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFFOUIsTUFBTSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sUUFBUSxNQUFNLFlBQVksQ0FBQzs7O0FBT2xDLE1BQU0sT0FBTyx3QkFBd0I7SUFDeEIsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDL0IsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQVcsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sR0FBVyxNQUFNLENBQUM7SUFDdkIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7SUFDekMsUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDN0IsU0FBUyxHQUFZLElBQUksQ0FBQztJQUMxQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRTVCLGVBQWUsR0FBYyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRTVDLGNBQWMsQ0FBQyxNQUFpQjtRQUM1QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBFLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1lBRXZDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUMzQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUVqRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUU5QyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDOztnQkFHdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xEOztZQUVHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUNyQixJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ1osT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUs7Z0JBQy9CLE9BQU8sQ0FBQyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7dUdBL0RRLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHFRQ2RyQyx3eEJBYU07OzJGRENPLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxtQkFBbUI7OEJBS3BCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIFxuICAgIE9uQ2hhbmdlcywgXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgSUNoZWNrYm94IGZyb20gJy4vSUNoZWNrYm94JztcbmltcG9ydCBjaGVja2JveCBmcm9tICcuL0NoZWNrYm94JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjZi1jaGVja2JveC1sYXJnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NmLWNoZWNrYm94LWxhcmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY2YtY2hlY2tib3gtbGFyZ2UuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIENmQ2hlY2tib3hMYXJnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgb3B0aW9uczogQXJyYXk8SUNoZWNrYm94PiA9IFtdO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgdGhlbWU6IHN0cmluZyA9ICdkYXJrJztcbiAgICBASW5wdXQoKSBsYXlvdXQ6IHN0cmluZyA9ICdmbGV4JztcbiAgICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoZWNrYm94PigpO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkOiBzdHJpbmcgfCBudWxsID0gJyc7XG4gICAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBjdXJyZW50U2VsZWN0ZWQ6IElDaGVja2JveCA9IG5ldyBjaGVja2JveCgpO1xuXG4gICAgY2hhbmdlZEhhbmRsZWQob3B0aW9uOiBJQ2hlY2tib3gpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFNlbGVjdGVkID0gdGhpcy5nZXRDdXJyZW50U2VsZWN0ZWRPcHRpb24ob3B0aW9uLnZhbHVlKTtcblxuICAgICAgICBpZiAoY3VycmVudFNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3RlZCA9IGN1cnJlbnRTZWxlY3RlZDtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5jdXJyZW50U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWQnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gY2hhbmdlc1snc2VsZWN0ZWQnXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICB0aGlzLnNldERlZmF1bHRTaW5nbGVTZWxlY3Rpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWydvcHRpb25zJ10/LmN1cnJlbnRWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRTaW5nbGVTZWxlY3Rpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERlZmF1bHRTaW5nbGVTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zZWxlY3RlZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy52YWxpZE9wdGlvbih0aGlzLnNlbGVjdGVkKTtcblxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkgXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0ZWQgPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3RlZCA9IHRoaXMub3B0aW9uc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0ZWQgPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudFNlbGVjdGVkT3B0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKCh4OiBJQ2hlY2tib3gpID0+IHgudmFsdWUgPT09IHZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZE9wdGlvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycpXG4gICAgICAgICAgICByZXR1cm4gLTE7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnNbaV0udmFsdWUgPT09IHZhbHVlKVxuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjZi1jaGVja2JveC1sYXJnZVwiIFtuZ0NsYXNzXT1cInRoZW1lXCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dMYWJlbFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250ZW50XCIgW25nU3R5bGVdPVwieydmbGV4LWRpcmVjdGlvbicgOiBsYXlvdXQgPT09ICdmbGV4JyA/ICdyb3cnIDogJ2NvbHVtbid9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjZi1jaGVja2JveC1sYXJnZS1pdGVtXCIgKGNsaWNrKT1cImNoYW5nZWRIYW5kbGVkKG9wdGlvbilcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjZi1jaGVja2JveC1sYXJnZS1pdGVtLWFjdGl2ZSc6IGN1cnJlbnRTZWxlY3RlZC52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlfVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZS1jaGVja1wiICpuZ0lmPVwiY3VycmVudFNlbGVjdGVkPy52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlXCI+PC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZVwiICpuZ0lmPVwiY3VycmVudFNlbGVjdGVkPy52YWx1ZSAhPT0gb3B0aW9uLnZhbHVlXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWxhYmVsXCI+IHt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=