@wizishop/wizi-block 15.0.10-beta → 15.0.12-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/configs/configs.component.mjs +19 -6
- package/esm2020/lib/structures/images/two-images-title-text/two-images-title-text.component.mjs +3 -3
- package/fesm2015/wizishop-wizi-block.mjs +20 -7
- package/fesm2015/wizishop-wizi-block.mjs.map +1 -1
- package/fesm2020/wizishop-wizi-block.mjs +20 -7
- package/fesm2020/wizishop-wizi-block.mjs.map +1 -1
- package/lib/components/configs/configs.component.d.ts +3 -2
- package/package.json +1 -1
- package/wizi-block.scss +159 -154
|
@@ -27,7 +27,7 @@ export class ConfigsComponent {
|
|
|
27
27
|
this.FORM_TYPE_TAG = FORM_TYPE_TAG;
|
|
28
28
|
this.FORM_TYPE_COLOR = FORM_TYPE_COLOR;
|
|
29
29
|
this.temporizeConfig = 0;
|
|
30
|
-
this.isColorPickerOpen =
|
|
30
|
+
this.isColorPickerOpen = [];
|
|
31
31
|
}
|
|
32
32
|
ngOnInit() {
|
|
33
33
|
this.translation = this.wiziBlockService.getTranslation();
|
|
@@ -49,6 +49,11 @@ export class ConfigsComponent {
|
|
|
49
49
|
this.configs.forms[0]['value'] = '1';
|
|
50
50
|
this.updateContent();
|
|
51
51
|
}
|
|
52
|
+
for (let color of this.configs.forms) {
|
|
53
|
+
if (color.type === 'color') {
|
|
54
|
+
this.isColorPickerOpen.push(false);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
52
57
|
}
|
|
53
58
|
updateChanges($event = null, key) {
|
|
54
59
|
if ($event !== null) {
|
|
@@ -103,22 +108,30 @@ export class ConfigsComponent {
|
|
|
103
108
|
}
|
|
104
109
|
this.contentService.updateByUUID(this.configs.block.uuid, this.configs);
|
|
105
110
|
}
|
|
106
|
-
onToggleColorPicker($event) {
|
|
111
|
+
onToggleColorPicker($event, index) {
|
|
112
|
+
console.log('----------');
|
|
113
|
+
console.log($event, index);
|
|
114
|
+
console.log('----------');
|
|
107
115
|
setTimeout(() => {
|
|
108
|
-
this.isColorPickerOpen = !this.isColorPickerOpen;
|
|
116
|
+
this.isColorPickerOpen[index] = !this.isColorPickerOpen[index];
|
|
109
117
|
}, 0);
|
|
110
118
|
$event.stopPropagation(); // Avoid wbAutoHide conflict
|
|
111
119
|
$event.preventDefault();
|
|
112
120
|
}
|
|
121
|
+
onCloseColorPicjer(value, index) {
|
|
122
|
+
setTimeout(() => {
|
|
123
|
+
this.isColorPickerOpen[index] = value;
|
|
124
|
+
}, 0);
|
|
125
|
+
}
|
|
113
126
|
ngOnDestroy() {
|
|
114
127
|
this.temporizeConfig = 0;
|
|
115
128
|
}
|
|
116
129
|
}
|
|
117
130
|
ConfigsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsComponent, deps: [{ token: i1.WiziBlockService }, { token: i2.ContentService }, { token: i3.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
ConfigsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ConfigsComponent, selector: "wb-configs", inputs: { configs: "configs", isFirst: "isFirst" }, outputs: { changeConfig: "changeConfig" }, ngImport: i0, template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"
|
|
131
|
+
ConfigsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ConfigsComponent, selector: "wb-configs", inputs: { configs: "configs", isFirst: "isFirst" }, outputs: { changeConfig: "changeConfig" }, ngImport: i0, template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event, i)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"onCloseColorPicjer(false, i)\"\n [ngClass]=\"{ 'is-active': isColorPickerOpen[i] }\"\n #colorPicker\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp\" class=\"help\" [innerHTML]=\"form.help | helpMessageHandler: form | translate\"></p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.AutoHideDirective, selector: "[wbAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i7.ColorPickerDirective, selector: "[colorPicker]", inputs: ["colorPicker", "cpWidth", "cpHeight", "cpToggle", "cpDisabled", "cpIgnoredElements", "cpFallbackColor", "cpColorMode", "cpCmykEnabled", "cpOutputFormat", "cpAlphaChannel", "cpDisableInput", "cpDialogDisplay", "cpSaveClickOutside", "cpCloseClickOutside", "cpUseRootViewContainer", "cpPosition", "cpPositionOffset", "cpPositionRelativeToArrow", "cpOKButton", "cpOKButtonText", "cpOKButtonClass", "cpCancelButton", "cpCancelButtonText", "cpCancelButtonClass", "cpEyeDropper", "cpPresetLabel", "cpPresetColors", "cpPresetColorsClass", "cpMaxPresetColorsLength", "cpPresetEmptyMessage", "cpPresetEmptyMessageClass", "cpAddColorButton", "cpAddColorButtonText", "cpAddColorButtonClass", "cpRemoveColorButtonClass", "cpExtraTemplate"], outputs: ["cpInputChange", "cpToggleChange", "cpSliderChange", "cpSliderDragEnd", "cpSliderDragStart", "colorPickerOpen", "colorPickerClose", "colorPickerCancel", "colorPickerSelect", "colorPickerChange", "cpCmykColorChange", "cpPresetColorsChange"], exportAs: ["ngxColorPicker"] }, { kind: "pipe", type: i8.HelpMessageHandlerPipe, name: "helpMessageHandler" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [animateListFromLeft('200ms ease-in-out')] });
|
|
119
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsComponent, decorators: [{
|
|
120
133
|
type: Component,
|
|
121
|
-
args: [{ selector: 'wb-configs', animations: [animateListFromLeft('200ms ease-in-out')], template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"
|
|
134
|
+
args: [{ selector: 'wb-configs', animations: [animateListFromLeft('200ms ease-in-out')], template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event, i)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"onCloseColorPicjer(false, i)\"\n [ngClass]=\"{ 'is-active': isColorPickerOpen[i] }\"\n #colorPicker\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp\" class=\"help\" [innerHTML]=\"form.help | helpMessageHandler: form | translate\"></p>\n </div>\n</div>\n" }]
|
|
122
135
|
}], ctorParameters: function () { return [{ type: i1.WiziBlockService }, { type: i2.ContentService }, { type: i3.ConfigService }]; }, propDecorators: { configs: [{
|
|
123
136
|
type: Input
|
|
124
137
|
}], isFirst: [{
|
|
@@ -126,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
126
139
|
}], changeConfig: [{
|
|
127
140
|
type: Output
|
|
128
141
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvY29tcG9uZW50cy9jb25maWdzL2NvbmZpZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlncy9jb25maWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7OztBQU9wRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0J6QixZQUFvQixnQkFBa0MsRUFBVSxjQUE4QixFQUFVLGFBQTRCO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWQzSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFD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T0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQU07UUFDdEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNyRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDTixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyw0QkFBNEI7UUFDdEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7NkdBL0dRLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGlKQ2Q3Qix3Z0lBa0ZBLHM3RUR0RWdCLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQzsyRkFFN0MsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLFlBQVksY0FFVixDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0tBRzdDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2l6aUJsb2NrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpemktYmxvY2suc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbnNEdG8gfSBmcm9tICcuLi8uLi9kdG9zL2NvbmZpZ3MvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5kdG8nO1xuaW1wb3J0IHsgYW5pbWF0ZUxpc3RGcm9tTGVmdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hbmltYXRpb25zL2xpc3QvYW5pbWF0ZS1saXN0LWZyb20tbGVmdC5hbmltYXRpb24nO1xuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRk9STV9UWVBFX0NIRUNLQk9YLCBGT1JNX1RZUEVfQ09MT1IsIEZPUk1fVFlQRV9UQUcsIEZPUk1fVFlQRV9URVhULCBGT1JNX1RZUEVfTlVNQkVSLCBGb3Jtc0R0byB9IGZyb20gJy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFBhcmVudEJsb2NrRHRvIH0gZnJvbSAnLi4vLi4vZHRvcy9ibG9ja3MvcGFyZW50LWJsb2NrLmR0byc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMvY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLWNvbmZpZ3MnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25maWdzLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbYW5pbWF0ZUxpc3RGcm9tTGVmdCgnMjAwbXMgZWFzZS1pbi1vdXQnKV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgY29uZmlnczogRm9ybXNEdG88UGFyZW50QmxvY2tEdG8+O1xuICAgIEBJbnB1dCgpIGlzRmlyc3QgPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlQ29uZmlnID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICByZWFkb25seSBGT1JNX1RZUEVfVEVYVCA9IEZPUk1fVFlQRV9URVhUO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9OVU1CRVIgPSBGT1JNX1RZUEVfTlVNQkVSO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9DSEVDS0JPWCA9IEZPUk1fVFlQRV9DSEVDS0JPWDtcbiAgICByZWFkb25seSBGT1JNX1RZUEVfVEFHID0gRk9STV9UWVBFX1RBRztcbiAgICByZWFkb25seSBGT1JNX1RZUEVfQ09MT1IgPSBGT1JNX1RZUEVfQ09MT1I7XG5cbiAgICB0ZW1wb3JpemVDb25maWcgPSAwO1xuICAgIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbnNEdG87XG5cbiAgICBpc0NvbG9yUGlja2VyT3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB3aXppQmxvY2tTZXJ2aWNlOiBXaXppQmxvY2tTZXJ2aWNlLCBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb24gPSB0aGlzLndpemlCbG9ja1NlcnZpY2UuZ2V0VHJhbnNsYXRpb24oKTtcblxuICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50ZW1wb3JpemVDb25maWcgPSB0aGlzLmNvbmZpZ3MuZm9ybXMubGVuZ3RoO1xuICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWdFdmVudCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IHRoaXMuY29uZmlncy5mb3Jtcy5sZW5ndGg7XG4gICAgICAgICAgICB9LCAyMDApO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gJiYgdGhpcy5jb25maWdzLmZvcm1zWzBdWydpZCddID09PSAnaGlkZV9ibG9jaycpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSA9ICcwJztcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSAmJiB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ2lkJ10gPT09ICdoaWRlX2Jsb2NrJyAmJiAodGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddICE9PSAnMCcgJiYgdGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddICE9PSAnMScpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gPSAnMSc7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgdXBkYXRlQ2hhbmdlcygkZXZlbnQgPSBudWxsLCBrZXkpIHtcbiAgICAgICAgaWYgKCRldmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IG9uVmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBvblZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvZmZWYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzFdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9mZlZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS52YWx1ZSA9ICRldmVudC50YXJnZXQuY2hlY2tlZCA/IG9uVmFsdWUgOiBvZmZWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoYW5nZXNSZXZlcnNlKCRldmVudCA9IG51bGwsIGtleSkge1xuICAgICAgICBpZiAoJGV2ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgb25WYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9uVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG9mZlZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb2ZmVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnZhbHVlID0gJGV2ZW50LnRhcmdldC5jaGVja2VkID8gb2ZmVmFsdWUgOiBvblZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29udGVudCgpIHtcbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS51cGRhdGVCeVVVSUQodGhpcy5jb25maWdzLmJsb2NrLnV1aWQsIHRoaXMuY29uZmlncyk7XG4gICAgICAgIHRoaXMuY2hhbmdlQ29uZmlnLmVtaXQoe1xuICAgICAgICAgICAgdXVpZDogdGhpcy5jb25maWdzLmJsb2NrLnV1aWQsXG4gICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlncyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTnVtYmVyKGV2ZW50LCBpbmRleCkge1xuICAgICAgICBsZXQgU3BsaXRWYWx1ZSA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmluZGV4T2YoJy4nKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWVbMF0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZVZhbHVlID0gU3BsaXRWYWx1ZVswXTtcbiAgICAgICAgY29uc3QgdGVtcFZhbHVlID0gbmFtZVZhbHVlLnN1YnN0cmluZygwLCA3KTtcbiAgICAgICAgaWYgKHRlbXBWYWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1tpbmRleF0udmFsdWUgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS52YWx1ZSA9IHRlbXBWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnVwZGF0ZUJ5VVVJRCh0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCwgdGhpcy5jb25maWdzKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZUNvbG9yUGlja2VyKCRldmVudCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gUHJldmVudCBpbnN0YW50IGNsb3NlIGR1ZSB0byB3YkF1dG9IaWRlIGRpcmVjdGl2ZVxuICAgICAgICAgICAgdGhpcy5pc0NvbG9yUGlja2VyT3BlbiA9ICF0aGlzLmlzQ29sb3JQaWNrZXJPcGVuO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBBdm9pZCB3YkF1dG9IaWRlIGNvbmZsaWN0XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3NcIiBbbmdDbGFzc109XCJ7ICdpcy1ub3QtZmlyc3QnOiAhaXNGaXJzdCB9XCIgW0BhbmltYXRlTGlzdEZyb21MZWZ0XT1cInRlbXBvcml6ZUNvbmZpZ1wiICpuZ0lmPVwidGVtcG9yaXplQ29uZmlnXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nRm9yPVwibGV0IGZvcm0gb2YgY29uZmlncy5mb3JtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwiZm9ybS50eXBlICE9PSBGT1JNX1RZUEVfQ0hFQ0tCT1hcIiBbbmdDbGFzc109XCJ7ICdpY29uLWhlbHAnOiBmb3JtLmljb25IZWxwIH1cIlxuICAgICAgICAgICAgPnt7IGZvcm0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiZm9ybS5pY29uSGVscFwiIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgZm9ybS5oZWxwfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGUgfX08L3NwYW4+PC9pXG4gICAgICAgICAgICA+PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWlucHV0XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9URVhUXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmb3JtLnZhbHVlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmb3JtLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlQ29udGVudCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBjb250cm9sLS1pbnB1dFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfTlVNQkVSXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiOTk5OTk5OTk5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybS5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlTnVtYmVyKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhcIiBbbmdDbGFzc109XCJ7ICdkeW5hbWljLWxhYmVsJzogZm9ybS5sYWJlbEVuYWJsZSB9XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9DSEVDS0JPWFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgW2lkXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXRjaCBpcy1yb3VuZGVkIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZvcm0udmFsdWUgPT09IChmb3JtLnN0YXRlWzBdID8gZm9ybS5zdGF0ZVswXSA6IHRydWUpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUNoYW5nZXMoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ3N3aXRjaFJvdW5kZWREZWZhdWx0JyArIGlcIj48L2xhYmVsPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsRW5hYmxlIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgY29udHJvbC0tYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnbWF4LXdpZHRoJzogZm9ybS5zdGVwLmxlbmd0aCA8IDQgfVwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfVEFHXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW91dGxpbmVkJzogc3RlcCAhPT0gZm9ybS52YWx1ZSAmJiAoIWZvcm0uc3RlcEtleS5sZW5ndGggfHwgZm9ybS5zdGVwS2V5W2ldICE9PSBmb3JtLnZhbHVlKSB9XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBmb3JtLnN0ZXA7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmb3JtLnZhbHVlID0gZm9ybS5zdGVwS2V5Lmxlbmd0aCAmJiBmb3JtLnN0ZXBLZXlbaV0gPyBmb3JtLnN0ZXBLZXlbaV0gOiBzdGVwOyB1cGRhdGVDb250ZW50KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHN0ZXAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhTdGFydFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfQ09MT1I7XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3Itd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIid3Yi1jb25maWdzX19jb2xvciB3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sb3JQaWNrZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZm9ybS52YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItY29uZmlnc19fcGlja2VyXCJcbiAgICAgICAgICAgICAgICB3YkF1dG9IaWRlXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJFbGVtZW50XT1cIid3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGlja091dHNpZGUpPVwiaXNDb2xvclBpY2tlck9wZW4gPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtYWN0aXZlJzogaXNDb2xvclBpY2tlck9wZW4gfVwiXG4gICAgICAgICAgICAgICAgI2NvbG9yUGlja2VyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbKGNvbG9yUGlja2VyKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZm9ybS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjcFBvc2l0aW9uXT1cIid0b3AnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwV2lkdGhdPVwiJ2F1dG8nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY3BEaWFsb2dEaXNwbGF5XT1cIidpbmxpbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInVwZGF0ZUNvbnRlbnQoKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCAqbmdJZj1cIiFmb3JtLmljb25IZWxwXCIgY2xhc3M9XCJoZWxwXCIgW2lubmVySFRNTF09XCJmb3JtLmhlbHAgfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGVcIj48L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvY29tcG9uZW50cy9jb25maWdzL2NvbmZpZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlncy9jb25maWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7OztBQU9wRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0J6QixZQUFvQixnQkFBa0MsRUFBVSxjQUE4QixFQUFVLGFBQTRCO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWQzSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFD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Q0ksWUFBWSxjQUVWLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnS0FHN0MsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaXppQmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2l6aS1ibG9jay5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uc0R0byB9IGZyb20gJy4uLy4uL2R0b3MvY29uZmlncy90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb25zLmR0byc7XG5pbXBvcnQgeyBhbmltYXRlTGlzdEZyb21MZWZ0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FuaW1hdGlvbnMvbGlzdC9hbmltYXRlLWxpc3QtZnJvbS1sZWZ0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGT1JNX1RZUEVfQ0hFQ0tCT1gsIEZPUk1fVFlQRV9DT0xPUiwgRk9STV9UWVBFX1RBRywgRk9STV9UWVBFX1RFWFQsIEZPUk1fVFlQRV9OVU1CRVIsIEZvcm1zRHRvIH0gZnJvbSAnLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgUGFyZW50QmxvY2tEdG8gfSBmcm9tICcuLi8uLi9kdG9zL2Jsb2Nrcy9wYXJlbnQtYmxvY2suZHRvJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9jb25maWcuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd2ItY29uZmlncycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3MuY29tcG9uZW50Lmh0bWwnLFxuICAgIGFuaW1hdGlvbnM6IFthbmltYXRlTGlzdEZyb21MZWZ0KCcyMDBtcyBlYXNlLWluLW91dCcpXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBjb25maWdzOiBGb3Jtc0R0bzxQYXJlbnRCbG9ja0R0bz47XG4gICAgQElucHV0KCkgaXNGaXJzdCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2VDb25maWcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9URVhUID0gRk9STV9UWVBFX1RFWFQ7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX05VTUJFUiA9IEZPUk1fVFlQRV9OVU1CRVI7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX0NIRUNLQk9YID0gRk9STV9UWVBFX0NIRUNLQk9YO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9UQUcgPSBGT1JNX1RZUEVfVEFHO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9DT0xPUiA9IEZPUk1fVFlQRV9DT0xPUjtcblxuICAgIHRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uc0R0bztcblxuICAgIGlzQ29sb3JQaWNrZXJPcGVuID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbiA9IHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRUcmFuc2xhdGlvbigpO1xuXG4gICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IHRoaXMuY29uZmlncy5mb3Jtcy5sZW5ndGg7XG4gICAgICAgIH0sIDIwMCk7XG5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZ0V2ZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gdGhpcy5jb25maWdzLmZvcm1zLmxlbmd0aDtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSAmJiB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ2lkJ10gPT09ICdoaWRlX2Jsb2NrJykge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddID0gJzAnO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddICYmIHRoaXMuY29uZmlncy5mb3Jtc1swXVsnaWQnXSA9PT0gJ2hpZGVfYmxvY2snICYmICh0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gIT09ICcwJyAmJiB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gIT09ICcxJykpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSA9ICcxJztcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGNvbG9yIG9mIHRoaXMuY29uZmlncy5mb3Jtcykge1xuICAgICAgICAgICAgaWYgKGNvbG9yLnR5cGUgPT09ICdjb2xvcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29sb3JQaWNrZXJPcGVuLnB1c2goZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICB1cGRhdGVDaGFuZ2VzKCRldmVudCA9IG51bGwsIGtleSkge1xuICAgICAgICBpZiAoJGV2ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgb25WYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9uVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG9mZlZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb2ZmVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnZhbHVlID0gJGV2ZW50LnRhcmdldC5jaGVja2VkID8gb25WYWx1ZSA6IG9mZlZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hhbmdlc1JldmVyc2UoJGV2ZW50ID0gbnVsbCwga2V5KSB7XG4gICAgICAgIGlmICgkZXZlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldCBvblZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMF0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb25WYWx1ZSA9IHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgb2ZmVmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBvZmZWYWx1ZSA9IHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2tleV0udmFsdWUgPSAkZXZlbnQudGFyZ2V0LmNoZWNrZWQgPyBvZmZWYWx1ZSA6IG9uVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZW50KCkge1xuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnVwZGF0ZUJ5VVVJRCh0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCwgdGhpcy5jb25maWdzKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VDb25maWcuZW1pdCh7XG4gICAgICAgICAgICB1dWlkOiB0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCxcbiAgICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWdzLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVOdW1iZXIoZXZlbnQsIGluZGV4KSB7XG4gICAgICAgIGxldCBTcGxpdFZhbHVlID0gW107XG4gICAgICAgIGlmIChldmVudC50YXJnZXQudmFsdWUuaW5kZXhPZignLicpICE9PSAtMSkge1xuICAgICAgICAgICAgU3BsaXRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZS5zcGxpdCgnLicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgU3BsaXRWYWx1ZVswXSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lVmFsdWUgPSBTcGxpdFZhbHVlWzBdO1xuICAgICAgICBjb25zdCB0ZW1wVmFsdWUgPSBuYW1lVmFsdWUuc3Vic3RyaW5nKDAsIDcpO1xuICAgICAgICBpZiAodGVtcFZhbHVlIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS52YWx1ZSA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNbaW5kZXhdLnZhbHVlID0gdGVtcFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UudXBkYXRlQnlVVUlEKHRoaXMuY29uZmlncy5ibG9jay51dWlkLCB0aGlzLmNvbmZpZ3MpO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlQ29sb3JQaWNrZXIoJGV2ZW50LCBpbmRleCkge1xuICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0tLS0tLScpO1xuICAgICAgICBjb25zb2xlLmxvZygkZXZlbnQsIGluZGV4KTtcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS0tLS0tLS0nKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIFByZXZlbnQgaW5zdGFudCBjbG9zZSBkdWUgdG8gd2JBdXRvSGlkZSBkaXJlY3RpdmVcbiAgICAgICAgICAgIHRoaXMuaXNDb2xvclBpY2tlck9wZW5baW5kZXhdID0gIXRoaXMuaXNDb2xvclBpY2tlck9wZW5baW5kZXhdO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBBdm9pZCB3YkF1dG9IaWRlIGNvbmZsaWN0XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uQ2xvc2VDb2xvclBpY2plcih2YWx1ZSwgaW5kZXgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIFByZXZlbnQgaW5zdGFudCBjbG9zZSBkdWUgdG8gd2JBdXRvSGlkZSBkaXJlY3RpdmVcbiAgICAgICAgICAgIHRoaXMuaXNDb2xvclBpY2tlck9wZW5baW5kZXhdID0gdmFsdWU7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3NcIiBbbmdDbGFzc109XCJ7ICdpcy1ub3QtZmlyc3QnOiAhaXNGaXJzdCB9XCIgW0BhbmltYXRlTGlzdEZyb21MZWZ0XT1cInRlbXBvcml6ZUNvbmZpZ1wiICpuZ0lmPVwidGVtcG9yaXplQ29uZmlnXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nRm9yPVwibGV0IGZvcm0gb2YgY29uZmlncy5mb3JtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwiZm9ybS50eXBlICE9PSBGT1JNX1RZUEVfQ0hFQ0tCT1hcIiBbbmdDbGFzc109XCJ7ICdpY29uLWhlbHAnOiBmb3JtLmljb25IZWxwIH1cIlxuICAgICAgICAgICAgPnt7IGZvcm0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiZm9ybS5pY29uSGVscFwiIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgZm9ybS5oZWxwfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGUgfX08L3NwYW4+PC9pXG4gICAgICAgICAgICA+PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWlucHV0XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9URVhUXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmb3JtLnZhbHVlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmb3JtLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlQ29udGVudCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBjb250cm9sLS1pbnB1dFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfTlVNQkVSXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiOTk5OTk5OTk5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybS5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlTnVtYmVyKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhcIiBbbmdDbGFzc109XCJ7ICdkeW5hbWljLWxhYmVsJzogZm9ybS5sYWJlbEVuYWJsZSB9XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9DSEVDS0JPWFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgW2lkXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXRjaCBpcy1yb3VuZGVkIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZvcm0udmFsdWUgPT09IChmb3JtLnN0YXRlWzBdID8gZm9ybS5zdGF0ZVswXSA6IHRydWUpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUNoYW5nZXMoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ3N3aXRjaFJvdW5kZWREZWZhdWx0JyArIGlcIj48L2xhYmVsPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsRW5hYmxlIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgY29udHJvbC0tYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnbWF4LXdpZHRoJzogZm9ybS5zdGVwLmxlbmd0aCA8IDQgfVwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfVEFHXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW91dGxpbmVkJzogc3RlcCAhPT0gZm9ybS52YWx1ZSAmJiAoIWZvcm0uc3RlcEtleS5sZW5ndGggfHwgZm9ybS5zdGVwS2V5W2ldICE9PSBmb3JtLnZhbHVlKSB9XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBmb3JtLnN0ZXA7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmb3JtLnZhbHVlID0gZm9ybS5zdGVwS2V5Lmxlbmd0aCAmJiBmb3JtLnN0ZXBLZXlbaV0gPyBmb3JtLnN0ZXBLZXlbaV0gOiBzdGVwOyB1cGRhdGVDb250ZW50KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHN0ZXAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhTdGFydFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfQ09MT1I7XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3Itd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIid3Yi1jb25maWdzX19jb2xvciB3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sb3JQaWNrZXIoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZm9ybS52YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItY29uZmlnc19fcGlja2VyXCJcbiAgICAgICAgICAgICAgICB3YkF1dG9IaWRlXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJFbGVtZW50XT1cIid3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGlja091dHNpZGUpPVwib25DbG9zZUNvbG9yUGljamVyKGZhbHNlLCBpKVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtYWN0aXZlJzogaXNDb2xvclBpY2tlck9wZW5baV0gfVwiXG4gICAgICAgICAgICAgICAgI2NvbG9yUGlja2VyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbKGNvbG9yUGlja2VyKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZm9ybS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjcFBvc2l0aW9uXT1cIid0b3AnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwV2lkdGhdPVwiJ2F1dG8nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY3BEaWFsb2dEaXNwbGF5XT1cIidpbmxpbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInVwZGF0ZUNvbnRlbnQoKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCAqbmdJZj1cIiFmb3JtLmljb25IZWxwXCIgY2xhc3M9XCJoZWxwXCIgW2lubmVySFRNTF09XCJmb3JtLmhlbHAgfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGVcIj48L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2020/lib/structures/images/two-images-title-text/two-images-title-text.component.mjs
CHANGED
|
@@ -50,9 +50,9 @@ export class TwoImagesTitleTextComponent extends StructuresComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
TwoImagesTitleTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TwoImagesTitleTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
TwoImagesTitleTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TwoImagesTitleTextComponent, selector: "wb-images-two-title-text", usesInheritance: true, ngImport: i0, template: "<div class=\"wb-two-images-title-text\">\n <div class=\"wb-two-images-title-text__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper\"\n [ngClass]=\"{\n 'wb-images-simple__container--small': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-images-simple__container--medium': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-images-simple__container--large': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('0')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('0')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length <= 0\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item__text\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('1')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('1')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length <= 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"] }, { kind: "component", type: i4.StructureConfigInputComponent, selector: "wb-structure-config-input", inputs: ["label", "type", "placeholder", "resizeMiddleScreen"] }, { kind: "component", type: i5.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i6.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "directive", type: i7.GetSizeImageDirective, selector: "[wbGetSizeImageDirective]", inputs: ["urlToParse", "dimensions"], outputs: ["onUpdate"] }, { kind: "directive", type: i8.PicturesTemplateDirective, selector: "[wbPicturesTemplateDirective]", inputs: ["dimensions", "classImageSize"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
53
|
+
TwoImagesTitleTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TwoImagesTitleTextComponent, selector: "wb-images-two-title-text", usesInheritance: true, ngImport: i0, template: "<div class=\"wb-two-images-title-text\">\n <div class=\"wb-two-images-title-text__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper\"\n [ngClass]=\"{\n 'wb-images-simple__container--small': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-images-simple__container--medium': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-images-simple__container--large': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('0')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('0')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length <= 0\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item__text\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('1')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('1')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length <= 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"] }, { kind: "component", type: i4.StructureConfigInputComponent, selector: "wb-structure-config-input", inputs: ["label", "type", "placeholder", "resizeMiddleScreen"] }, { kind: "component", type: i5.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i6.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "directive", type: i7.GetSizeImageDirective, selector: "[wbGetSizeImageDirective]", inputs: ["urlToParse", "dimensions"], outputs: ["onUpdate"] }, { kind: "directive", type: i8.PicturesTemplateDirective, selector: "[wbPicturesTemplateDirective]", inputs: ["dimensions", "classImageSize"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TwoImagesTitleTextComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: TwoImagesTitleTextService.selector(), template: "<div class=\"wb-two-images-title-text\">\n <div class=\"wb-two-images-title-text__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper\"\n [ngClass]=\"{\n 'wb-images-simple__container--small': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-images-simple__container--medium': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-images-simple__container--large': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('0')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('0')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length <= 0\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item__text\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('1')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('1')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length <= 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n </div>\n</div>\n" }]
|
|
56
|
+
args: [{ selector: TwoImagesTitleTextService.selector(), template: "<div class=\"wb-two-images-title-text\">\n <div class=\"wb-two-images-title-text__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper\"\n [ngClass]=\"{\n 'wb-images-simple__container--small': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-images-simple__container--medium': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-images-simple__container--large': contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('0')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('0')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length <= 0\"\n >\n <div class=\"wb-two-images-title-text__wrapper__item__text\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_LEFT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_LEFT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n [isFullwidth]=\"true\"\n [small]=\"true\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n >\n <wb-structure-config-input\n [label]=\"'wb.structures.template.9' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-input\n [label]=\"'wb.structures.template.10' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL]\"\n [placeholder]=\"'wb.structures.template.11' | translate\"\n (ngModelChange)=\"persist()\"\n ></wb-structure-config-input>\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.12' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL_TARGET]\"\n (ngModelChange)=\"persist()\"\n [off]=\"'_self'\"\n [on]=\"'_blank'\"\n ></wb-structure-config-checkbox>\n </wb-structure-config>\n <div\n class=\"wb-two-images-title-text__wrapper__item__img\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <div\n class=\"wb-two-images-title-text__wrapper__item__img__empty\"\n wbPicturesTemplateDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length <= 0\"\n (click)=\"getMediaFor('1')\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__empty--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__empty--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__empty--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n >\n <p>\n <i class=\"fal fa-image\"></i> <span>{{ 'wb.structures.template.8' | translate }}</span>\n </p>\n </div>\n\n <div\n wbGetSizeImageDirective\n [dimensions]=\"sizes[contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK]]\"\n [urlToParse]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]\"\n [style.background-image]=\"'url(' + contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL] + ')'\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_IMAGE_URL]?.length > 0\"\n (click)=\"getMediaFor('1')\"\n class=\"wb-two-images-title-text__wrapper__item__img__picture\"\n [ngClass]=\"{\n 'wb-two-images-title-text__wrapper__item__img__picture--small':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_SMALL,\n 'wb-two-images-title-text__wrapper__item__img__picture--medium':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_MEDIUM,\n 'wb-two-images-title-text__wrapper__item__img__picture--large':\n contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_MASK] === FORM_TYPE_IMAGE_MASK_LARGE\n }\"\n ></div>\n </div>\n <div class=\"wb-two-images-title-text__wrapper__item__title\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length <= 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <a\n class=\"wb-two-images-title-text__wrapper__item__text\"\n *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_IMAGE_RIGHT][FORM_NAME_URL].length > 0\"\n >\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TEXT_RIGHT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n <i [style]=\"'color: ' + contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_COLOR]\" class=\"far fa-arrow-right\"></i>\n </a>\n </div>\n </div>\n</div>\n" }]
|
|
57
57
|
}], ctorParameters: function () { return []; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLWltYWdlcy10aXRsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL2ltYWdlcy90d28taW1hZ2VzLXRpdGxlLXRleHQvdHdvLWltYWdlcy10aXRsZS10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL2ltYWdlcy90d28taW1hZ2VzLXRpdGxlLXRleHQvdHdvLWltYWdlcy10aXRsZS10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUVuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFNNUYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUEwQztJQUt2RjtRQUNJLEtBQUssRUFBRSxDQUFDO1FBTFosVUFBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUVsRSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUliLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUMxQyxhQUFhLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDMUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsR0FBRyxhQUFhLENBQUM7YUFDM0Q7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLGFBQWEsQ0FBQzthQUM1RDtZQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBRztRQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDOzt3SEF0Q1EsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUZDWHhDLGk3YkE2T0E7MkZEbE9hLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDSSx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VNZWRpYUR0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvY29uZmlncy9tZWRpYXMvaW1hZ2UvaW1hZ2UtbWVkaWEuZHRvJztcbmltcG9ydCB7IFR3b0ltYWdlc1RpdGxlVGV4dER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL2ltYWdlcy90d28taW1hZ2VzLXRpdGxlLXRleHQuZHRvJztcbmltcG9ydCB7IFR3b0ltYWdlc1RpdGxlVGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvaW1hZ2VzL3R3by1pbWFnZXMtdGl0bGUtdGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9JTUFHRV9MRUZULCBGT1JNX05BTUVfSU1BR0VfUklHSFQgfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBUd29JbWFnZXNUaXRsZVRleHRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL3R3by1pbWFnZXMtdGl0bGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR3b0ltYWdlc1RpdGxlVGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8VHdvSW1hZ2VzVGl0bGVUZXh0RHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzaXplcyA9IHsgc21hbGw6ICc5ODB4NDkwJywgbWVkaXVtOiAnOTgweDYxOCcsIGxhcmdlOiAnOTgweDcxMCcgfTtcblxuICAgIHNlbGVjdGVkS2V5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKFR3b0ltYWdlc1RpdGxlVGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50cy5ibG9jay5pbml0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5ibG9jay5pbWFnZV9sZWZ0ID0gbmV3IEltYWdlTWVkaWFEdG8oKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudHMuYmxvY2suaW1hZ2VfcmlnaHQgPSBuZXcgSW1hZ2VNZWRpYUR0bygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudHMuYmxvY2suaW5pdCA9IHRydWU7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9JbWFnZSgpO1xuICAgIH1cblxuICAgIHN1YnNjcmliZVRvSW1hZ2UoKSB7XG4gICAgICAgIHRoaXMuaW1hZ2Uuc3Vic2NyaWJlKChtZWRpYSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW1hZ2VNZWRpYUR0byA9IG5ldyBJbWFnZU1lZGlhRHRvKCk7XG4gICAgICAgICAgICBpbWFnZU1lZGlhRHRvLmltYWdlX3VybCA9IG1lZGlhLmltYWdlX3VybDtcbiAgICAgICAgICAgIGltYWdlTWVkaWFEdG8uaWQgPSBtZWRpYS5pZDtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkS2V5ID09PSAnMCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSU1BR0VfTEVGVF0gPSBpbWFnZU1lZGlhRHRvO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSU1BR0VfUklHSFRdID0gaW1hZ2VNZWRpYUR0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRLZXkgPSAnJztcbiAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRNZWRpYUZvcihrZXkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEtleSA9IGtleTtcbiAgICAgICAgdGhpcy5nZXRNZWRpYSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X190aXRsZVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICd3Yi1pbWFnZXMtc2ltcGxlX19jb250YWluZXItLXNtYWxsJzogY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX1NNQUxMLFxuICAgICAgICAgICAgJ3diLWltYWdlcy1zaW1wbGVfX2NvbnRhaW5lci0tbWVkaXVtJzogY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSxcbiAgICAgICAgICAgICd3Yi1pbWFnZXMtc2ltcGxlX19jb250YWluZXItLWxhcmdlJzogY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nLS1zbWFsbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tbWVkaXVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tbGFyZ2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWdcbiAgICAgICAgICAgICAgICAgICAgW2Jsb2NrVVVJRF09XCJ1dWlkXCJcbiAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX0xFRlRfVE9QXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRnVsbHdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbc21hbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTEVGVF1bRk9STV9OQU1FX0lNQUdFX1VSTF0/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS45JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9USVRMRV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1pbnB1dD5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xMCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfVVJMXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctaW5wdXQ+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTEVGVF1bRk9STV9OQU1FX1VSTF9UQVJHRVRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbb2ZmXT1cIidfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29uXT1cIidfYmxhbmsnXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19lbXB0eVwiXG4gICAgICAgICAgICAgICAgICAgIHdiUGljdHVyZXNUZW1wbGF0ZURpcmVjdGl2ZVxuICAgICAgICAgICAgICAgICAgICBbZGltZW5zaW9uc109XCJzaXplc1tjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXV1cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdPy5sZW5ndGggPD0gMFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnZXRNZWRpYUZvcignMCcpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19lbXB0eS0tc21hbGwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19TTUFMTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fZW1wdHktLW1lZGl1bSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fZW1wdHktLWxhcmdlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfTEFSR0VcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWltYWdlXCI+PC9pPiA8c3Bhbj57eyAnd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS44JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICB3YkdldFNpemVJbWFnZURpcmVjdGl2ZVxuICAgICAgICAgICAgICAgICAgICBbZGltZW5zaW9uc109XCJzaXplc1tjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXV1cIlxuICAgICAgICAgICAgICAgICAgICBbdXJsVG9QYXJzZV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfSU1BR0VfVVJMXVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdICsgJyknXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfSU1BR0VfVVJMXT8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnZXRNZWRpYUZvcignMCcpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fcGljdHVyZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fcGljdHVyZS0tc21hbGwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19TTUFMTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fcGljdHVyZS0tbWVkaXVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfTUVESVVNLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19waWN0dXJlLS1sYXJnZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElUTEVfTEVGVF1cIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9fdGV4dFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfVVJMXS5sZW5ndGggPD0gMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RFWFRfTEVGVF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX190ZXh0XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9VUkxdLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9URVhUX0xFRlRdXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgIDxpIFtzdHlsZV09XCInY29sb3I6ICcgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0NPTE9SXVwiIGNsYXNzPVwiZmFyIGZhLWFycm93LXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nLS1zbWFsbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tbWVkaXVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tbGFyZ2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWdcbiAgICAgICAgICAgICAgICAgICAgW2Jsb2NrVVVJRF09XCJ1dWlkXCJcbiAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX0xFRlRfVE9QXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRnVsbHdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbc21hbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuOScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWlucHV0PlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1pbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjEwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX1JJR0hUXVtGT1JNX05BTUVfVVJMXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctaW5wdXQ+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9VUkxfVEFSR0VUXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29mZl09XCInX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvbl09XCInX2JsYW5rJ1wiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC93Yi1zdHJ1Y3R1cmUtY29uZmlnPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fZW1wdHlcIlxuICAgICAgICAgICAgICAgICAgICB3YlBpY3R1cmVzVGVtcGxhdGVEaXJlY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgW2RpbWVuc2lvbnNdPVwic2l6ZXNbY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS11dXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX0lNQUdFX1VSTF0/Lmxlbmd0aCA8PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdldE1lZGlhRm9yKCcxJylcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX2VtcHR5LS1zbWFsbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX1NNQUxMLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19lbXB0eS0tbWVkaXVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfTUVESVVNLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19lbXB0eS0tbGFyZ2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19MQVJHRVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtaW1hZ2VcIj48L2k+IDxzcGFuPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjgnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHdiR2V0U2l6ZUltYWdlRGlyZWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIFtkaW1lbnNpb25zXT1cInNpemVzW2NvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdXVwiXG4gICAgICAgICAgICAgICAgICAgIFt1cmxUb1BhcnNlXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX1JJR0hUXVtGT1JNX05BTUVfSU1BR0VfVVJMXVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX1JJR0hUXVtGT1JNX05BTUVfSU1BR0VfVVJMXSArICcpJ1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdldE1lZGlhRm9yKCcxJylcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19waWN0dXJlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19waWN0dXJlLS1zbWFsbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX1NNQUxMLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19waWN0dXJlLS1tZWRpdW0nOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmUtLWxhcmdlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfTEFSR0VcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX190aXRsZVwiPlxuICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9USVRMRV9SSUdIVF1cIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9fdGV4dFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX1VSTF0ubGVuZ3RoIDw9IDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9URVhUX1JJR0hUXVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9fdGV4dFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX1VSTF0ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RFWFRfUklHSFRdXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgIDxpIFtzdHlsZV09XCInY29sb3I6ICcgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0NPTE9SXVwiIGNsYXNzPVwiZmFyIGZhLWFycm93LXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLWltYWdlcy10aXRsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL2ltYWdlcy90d28taW1hZ2VzLXRpdGxlLXRleHQvdHdvLWltYWdlcy10aXRsZS10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL2ltYWdlcy90d28taW1hZ2VzLXRpdGxlLXRleHQvdHdvLWltYWdlcy10aXRsZS10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUVuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFNNUYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUEwQztJQUt2RjtRQUNJLEtBQUssRUFBRSxDQUFDO1FBTFosVUFBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUVsRSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUliLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUMxQyxhQUFhLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDMUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsR0FBRyxhQUFhLENBQUM7YUFDM0Q7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLGFBQWEsQ0FBQzthQUM1RDtZQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBRztRQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDOzt3SEF0Q1EsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUZDWHhDLGl1YkE2T0E7MkZEbE9hLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDSSx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VNZWRpYUR0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvY29uZmlncy9tZWRpYXMvaW1hZ2UvaW1hZ2UtbWVkaWEuZHRvJztcbmltcG9ydCB7IFR3b0ltYWdlc1RpdGxlVGV4dER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL2ltYWdlcy90d28taW1hZ2VzLXRpdGxlLXRleHQuZHRvJztcbmltcG9ydCB7IFR3b0ltYWdlc1RpdGxlVGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvaW1hZ2VzL3R3by1pbWFnZXMtdGl0bGUtdGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9JTUFHRV9MRUZULCBGT1JNX05BTUVfSU1BR0VfUklHSFQgfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBUd29JbWFnZXNUaXRsZVRleHRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL3R3by1pbWFnZXMtdGl0bGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR3b0ltYWdlc1RpdGxlVGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8VHdvSW1hZ2VzVGl0bGVUZXh0RHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzaXplcyA9IHsgc21hbGw6ICc5ODB4NDkwJywgbWVkaXVtOiAnOTgweDYxOCcsIGxhcmdlOiAnOTgweDcxMCcgfTtcblxuICAgIHNlbGVjdGVkS2V5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKFR3b0ltYWdlc1RpdGxlVGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50cy5ibG9jay5pbml0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5ibG9jay5pbWFnZV9sZWZ0ID0gbmV3IEltYWdlTWVkaWFEdG8oKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudHMuYmxvY2suaW1hZ2VfcmlnaHQgPSBuZXcgSW1hZ2VNZWRpYUR0bygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudHMuYmxvY2suaW5pdCA9IHRydWU7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9JbWFnZSgpO1xuICAgIH1cblxuICAgIHN1YnNjcmliZVRvSW1hZ2UoKSB7XG4gICAgICAgIHRoaXMuaW1hZ2Uuc3Vic2NyaWJlKChtZWRpYSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW1hZ2VNZWRpYUR0byA9IG5ldyBJbWFnZU1lZGlhRHRvKCk7XG4gICAgICAgICAgICBpbWFnZU1lZGlhRHRvLmltYWdlX3VybCA9IG1lZGlhLmltYWdlX3VybDtcbiAgICAgICAgICAgIGltYWdlTWVkaWFEdG8uaWQgPSBtZWRpYS5pZDtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkS2V5ID09PSAnMCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSU1BR0VfTEVGVF0gPSBpbWFnZU1lZGlhRHRvO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSU1BR0VfUklHSFRdID0gaW1hZ2VNZWRpYUR0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRLZXkgPSAnJztcbiAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRNZWRpYUZvcihrZXkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEtleSA9IGtleTtcbiAgICAgICAgdGhpcy5nZXRNZWRpYSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X190aXRsZVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICd3Yi1pbWFnZXMtc2ltcGxlX19jb250YWluZXItLXNtYWxsJzogY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX1NNQUxMLFxuICAgICAgICAgICAgJ3diLWltYWdlcy1zaW1wbGVfX2NvbnRhaW5lci0tbWVkaXVtJzogY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSxcbiAgICAgICAgICAgICd3Yi1pbWFnZXMtc2ltcGxlX19jb250YWluZXItLWxhcmdlJzogY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbVwiPlxuICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWdcbiAgICAgICAgICAgICAgICBbYmxvY2tVVUlEXT1cInV1aWRcIlxuICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJUWVBFX0NPTkZJR19QT1NJVElPTl9MRUZUX1RPUFwiXG4gICAgICAgICAgICAgICAgW2lzRnVsbHdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzbWFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1pbnB1dFxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuOScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9USVRMRV1cIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctaW5wdXQ+XG4gICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjEwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTEVGVF1bRk9STV9OQU1FX1VSTF1cIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWlucHV0PlxuICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xMicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX0xFRlRdW0ZPUk1fTkFNRV9VUkxfVEFSR0VUXVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtvZmZdPVwiJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtvbl09XCInX2JsYW5rJ1wiXG4gICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveD5cbiAgICAgICAgICAgIDwvd2Itc3RydWN0dXJlLWNvbmZpZz5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tc21hbGwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX1NNQUxMLFxuICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWctLW1lZGl1bSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfTUVESVVNLFxuICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWctLWxhcmdlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19MQVJHRVxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fZW1wdHlcIlxuICAgICAgICAgICAgICAgICAgICB3YlBpY3R1cmVzVGVtcGxhdGVEaXJlY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgW2RpbWVuc2lvbnNdPVwic2l6ZXNbY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS11dXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfSU1BR0VfVVJMXT8ubGVuZ3RoIDw9IDBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0TWVkaWFGb3IoJzAnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fZW1wdHktLXNtYWxsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX2VtcHR5LS1tZWRpdW0nOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX2VtcHR5LS1sYXJnZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1pbWFnZVwiPjwvaT4gPHNwYW4+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuOCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgd2JHZXRTaXplSW1hZ2VEaXJlY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgW2RpbWVuc2lvbnNdPVwic2l6ZXNbY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS11dXCJcbiAgICAgICAgICAgICAgICAgICAgW3VybFRvUGFyc2VdPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTEVGVF1bRk9STV9OQU1FX0lNQUdFX1VSTF1cIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfSU1BR0VfVVJMXSArICcpJ1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTEVGVF1bRk9STV9OQU1FX0lNQUdFX1VSTF0/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0TWVkaWFGb3IoJzAnKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmUtLXNtYWxsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmUtLW1lZGl1bSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fcGljdHVyZS0tbGFyZ2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19MQVJHRVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFX0xFRlRdXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX3RleHRcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTEVGVF1bRk9STV9OQU1FX1VSTF0ubGVuZ3RoIDw9IDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9URVhUX0xFRlRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9fdGV4dFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9MRUZUXVtGT1JNX05BTUVfVVJMXS5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVEVYVF9MRUZUXVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICAgICAgICAgICAgICA8aSBbc3R5bGVdPVwiJ2NvbG9yOiAnICsgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9DT0xPUl1cIiBjbGFzcz1cImZhciBmYS1hcnJvdy1yaWdodFwiPjwvaT5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1cIj5cbiAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnXG4gICAgICAgICAgICAgICAgW2Jsb2NrVVVJRF09XCJ1dWlkXCJcbiAgICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiVFlQRV9DT05GSUdfUE9TSVRJT05fTEVGVF9UT1BcIlxuICAgICAgICAgICAgICAgIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc21hbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX0lNQUdFX1VSTF0/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWlucHV0XG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS45JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9USVRMRV1cIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctaW5wdXQ+XG4gICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjEwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9VUkxdXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjExJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1pbnB1dD5cbiAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX1VSTF9UQVJHRVRdXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW29mZl09XCInX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgW29uXT1cIidfYmxhbmsnXCJcbiAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94PlxuICAgICAgICAgICAgPC93Yi1zdHJ1Y3R1cmUtY29uZmlnPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3diLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nLS1zbWFsbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tbWVkaXVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZy0tbGFyZ2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndiLXR3by1pbWFnZXMtdGl0bGUtdGV4dF9fd3JhcHBlcl9faXRlbV9faW1nX19lbXB0eVwiXG4gICAgICAgICAgICAgICAgICAgIHdiUGljdHVyZXNUZW1wbGF0ZURpcmVjdGl2ZVxuICAgICAgICAgICAgICAgICAgICBbZGltZW5zaW9uc109XCJzaXplc1tjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXV1cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX1JJR0hUXVtGT1JNX05BTUVfSU1BR0VfVVJMXT8ubGVuZ3RoIDw9IDBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0TWVkaWFGb3IoJzEnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fZW1wdHktLXNtYWxsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX2VtcHR5LS1tZWRpdW0nOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX2VtcHR5LS1sYXJnZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1pbWFnZVwiPjwvaT4gPHNwYW4+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuOCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgd2JHZXRTaXplSW1hZ2VEaXJlY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgW2RpbWVuc2lvbnNdPVwic2l6ZXNbY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS11dXCJcbiAgICAgICAgICAgICAgICAgICAgW3VybFRvUGFyc2VdPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfUklHSFRdW0ZPUk1fTkFNRV9JTUFHRV9VUkxdICsgJyknXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9SSUdIVF1bRk9STV9OQU1FX0lNQUdFX1VSTF0/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0TWVkaWFGb3IoJzEnKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmUtLXNtYWxsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTUFHRV9NQVNLXSA9PT0gRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX19pbWdfX3BpY3R1cmUtLW1lZGl1bSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU1BR0VfTUFTS10gPT09IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX2ltZ19fcGljdHVyZS0tbGFyZ2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX01BU0tdID09PSBGT1JNX1RZUEVfSU1BR0VfTUFTS19MQVJHRVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi10d28taW1hZ2VzLXRpdGxlLXRleHRfX3dyYXBwZXJfX2l0ZW1fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFX1JJR0hUXVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX190ZXh0XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX1JJR0hUXVtGT1JNX05BTUVfVVJMXS5sZW5ndGggPD0gMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RFWFRfUklHSFRdXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItdHdvLWltYWdlcy10aXRsZS10ZXh0X193cmFwcGVyX19pdGVtX190ZXh0XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lNQUdFX1JJR0hUXVtGT1JNX05BTUVfVVJMXS5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVEVYVF9SSUdIVF1cIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgPGkgW3N0eWxlXT1cIidjb2xvcjogJyArIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lDT05fQ09MT1JdXCIgY2xhc3M9XCJmYXIgZmEtYXJyb3ctcmlnaHRcIj48L2k+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|