UNPKG

@kre-form/ant

Version:

215 lines 22 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input } from "@angular/core"; import { FormBuilder, Validators } from "@angular/forms"; /** * @record */ function Item() { } if (false) { /** @type {?} */ Item.prototype.value; /** @type {?} */ Item.prototype.label; } var EventComponent = /** @class */ (function () { function EventComponent(fb) { this.fb = fb; this.data = {}; this.fields = []; this.options = []; this.triggerJson = []; this.validateForm = this.fb.group({}); this.validateForm.addControl("eventList", this.fb.array([])); } Object.defineProperty(EventComponent.prototype, "eventList", { get: /** * @return {?} */ function () { return (/** @type {?} */ (this.validateForm.get("eventList"))); }, enumerable: true, configurable: true }); /** * @return {?} */ EventComponent.prototype.save = /** * @return {?} */ function () { (/** @type {?} */ (((/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (this.validateForm))))).controls)).eventList))["controls"]))))).forEach((/** * @param {?} element * @return {?} */ function (element) { for (var i in element.controls) { element.controls[i].markAsDirty(); element.controls[i].updateValueAndValidity(); } })); }; /** * @return {?} */ EventComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.fields = this.fields.filter((/** * @param {?} el * @return {?} */ function (el) { return el.type !== "datetime"; })); if (!!this.triggerJson && this.triggerJson.length > 0) { this.triggerJson.forEach((/** * @param {?} el * @return {?} */ function (el) { _this.eventList.push(_this.addEventList(el)); })); } }; /** * @return {?} */ EventComponent.prototype.ngOnChanges = /** * @return {?} */ function () { }; /** * @return {?} */ EventComponent.prototype.add = /** * @return {?} */ function () { // console.log(this.validateForm); this.save(); if (!this.validateForm.valid) { return; } this.eventList.push(this.addEventList()); }; /** * @param {?=} element * @return {?} */ EventComponent.prototype.addEventList = /** * @param {?=} element * @return {?} */ function (element) { return this.fb.group({ selected: [ element ? (/** @type {?} */ (element)).selected || null : null, [Validators.required], ], fieldType: [this.data.type, [Validators.required]], secondType: [(/** @type {?} */ ((/** @type {?} */ (this.data)).templateOptions)).type], required: [(/** @type {?} */ ((/** @type {?} */ (this.data)).templateOptions)).required || false], fieldName: [(/** @type {?} */ ((/** @type {?} */ (this.data)).templateOptions)).label], selectItem: [element ? (/** @type {?} */ (element)).selectItem || null : null], selectItems: [element ? (/** @type {?} */ (element)).selectItems || null : null], fieldKey: [ element ? (/** @type {?} */ (element)).fieldKey || null : null, [Validators.required], ], changeFieldName: [element ? (/** @type {?} */ (element)).changeFieldName || null : null, []], changeFieldType: [ element ? (/** @type {?} */ (element)).changeFieldType || null : null, [Validators.required], ], changeAction: [ element ? (/** @type {?} */ (element)).changeAction || null : null, [Validators.required], ], changeActions: [ element ? (/** @type {?} */ (element)).changeActions || null : null, [Validators.required], ], changeToItem: [ element ? (/** @type {?} */ (element)).changeToItem || null : null, [Validators.required], ], changeToItems: [ element ? (/** @type {?} */ (element)).changeToItems || null : null, [Validators.required], ], maxLength: [element ? (/** @type {?} */ (element)).maxLength : null], maxLengthIncludes: [element ? (/** @type {?} */ (element)).maxLengthIncludes || null : null], minLength: [element ? (/** @type {?} */ (element)).minLength : null], minLengthIncludes: [element ? (/** @type {?} */ (element)).minLengthIncludes || null : null], maxIncludes: [element ? (/** @type {?} */ (element)).maxIncludes || null : null], max: [element ? (/** @type {?} */ (element)).max : null], minIncludes: [element ? (/** @type {?} */ (element)).minIncludes || null : null], min: [element ? (/** @type {?} */ (element)).min : null], // maxDateTime: [element ? element!.maxDateTime : null], // maxDateTimeIncludes: [ // element ? element!.maxDateTimeIncludes || null : null, // ], // minDateTime: [element ? element!.minDateTime : null], // minDateTimeIncludes: [ // element ? element!.minDateTimeIncludes || null : null, // ], specValue: [element ? (/** @type {?} */ (element)).specValue || null : null], // specDateTime: [element ? element!.specValue || null : null], fixedValue: [element ? (/** @type {?} */ (element)).fixedValue || null : null], // fixedDateTime: [element ? element!.fixedValue || null : null], code: [element ? (/** @type {?} */ (element)).code || Math.random() : Math.random()], }); }; /** * @param {?} i * @return {?} */ EventComponent.prototype.removeEventList = /** * @param {?} i * @return {?} */ function (i) { this.eventList.removeAt(i); }; EventComponent.decorators = [ { type: Component, args: [{ selector: "demo-event", template: "<div class=\"w-100 p-3 flex-h\">\n <div class=\"new-flex-1\">\n <div>\n <button nz-button nzType=\"primary\" (click)=\"add()\" nzSize=\"small\">\n \u65B0\u589E\n </button>\n <div class=\"event-boxs\">\n <form\n nz-form\n [formGroup]=\"validateForm\"\n class=\"form-wrap form-box h-100 flex-v\"\n >\n <ng-container *ngIf=\"eventList.value.length > 0; else cardEmpty\">\n <div\n formArrayName=\"eventList\"\n class=\"flex-h dynamic-from\"\n *ngFor=\"let lateAnalysis of eventList.controls; let i = index\"\n nz-row\n >\n <ng-container [formGroupName]=\"i\">\n <div class=\"new-flex-1 p-0\">\n <demo-event-item\n [myForm]=\"eventList.controls[i]\"\n [index]=\"i\"\n [options]=\"options\"\n [field]=\"data\"\n [fields]=\"fields\"\n >\n </demo-event-item>\n </div>\n <div style=\"width: 36px\">\n <div\n class=\"\n btn-close btn-close-show\n flex-h flex-align-center flex-justify-center\n h-100\n \"\n (click)=\"removeEventList(i)\"\n >\n <i class=\"icon-N_delete\"> </i>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #cardEmpty>\n <div class=\"repeat-card-empty\">\n <div class=\"repeat-empty-image\"></div>\n <p class=\"ant-empty-description\">\u6682\u65E0\u6570\u636E</p>\n </div>\n </ng-template>\n </form>\n </div>\n </div>\n </div>\n</div>", styles: [""] }] } ]; /** @nocollapse */ EventComponent.ctorParameters = function () { return [ { type: FormBuilder } ]; }; EventComponent.propDecorators = { data: [{ type: Input }], fields: [{ type: Input }], options: [{ type: Input }], triggerJson: [{ type: Input }] }; return EventComponent; }()); export { EventComponent }; if (false) { /** @type {?} */ EventComponent.prototype.data; /** @type {?} */ EventComponent.prototype.fields; /** @type {?} */ EventComponent.prototype.options; /** @type {?} */ EventComponent.prototype.triggerJson; /** @type {?} */ EventComponent.prototype.validateForm; /** * @type {?} * @private */ EventComponent.prototype.fb; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9kZXNpZ24vZXZlbnQvZXZlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUUvRSxtQkFHQzs7O0lBRkMscUJBQWM7O0lBQ2QscUJBQWM7O0FBRWhCO0lBaUJFLHdCQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQVgxQixTQUFJLEdBQXVCLEVBQUUsQ0FBQztRQUM5QixXQUFNLEdBQXlCLEVBQUUsQ0FBQztRQUNsQyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBUy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQVBELHNCQUFJLHFDQUFTOzs7O1FBQWI7WUFDRSxPQUFPLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFhLENBQUM7UUFDekQsQ0FBQzs7O09BQUE7Ozs7SUFPRCw2QkFBSTs7O0lBQUo7UUFDRSxtQkFBQSxDQUFDLG1CQUFBLG1CQUFBLG1CQUFBLG1CQUFBLENBQUMsbUJBQUEsSUFBSSxDQUFDLFlBQVksRUFBTyxDQUFDLEVBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FDL0MsVUFBVSxDQUNYLEVBQWUsQ0FBQyxF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QUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFDRCx3Q0FBZTs7OztJQUFmLFVBQWdCLENBQVM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Z0JBaElGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsczZEQUFxQzs7aUJBRXRDOzs7O2dCQVZRLFdBQVc7Ozt1QkFZakIsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSzs7SUF3SFIscUJBQUM7Q0FBQSxBQWpJRCxJQWlJQztTQTVIWSxjQUFjOzs7SUFDekIsOEJBQXVDOztJQUN2QyxnQ0FBMkM7O0lBQzNDLGlDQUE4Qjs7SUFDOUIscUNBQWlDOztJQUVqQyxzQ0FBd0I7Ozs7O0lBTVosNEJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgS3JlRm9ybUZpZWxkQ29uZmlnIH0gZnJvbSBcIkBrcmUtZm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW50ZXJmYWNlIEl0ZW0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRlbW8tZXZlbnRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9ldmVudC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZXZlbnQuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhOiBLcmVGb3JtRmllbGRDb25maWcgPSB7fTtcbiAgQElucHV0KCkgZmllbGRzOiBLcmVGb3JtRmllbGRDb25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBvcHRpb25zOiBJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgdHJpZ2dlckpzb246IGFueVtdID0gW107XG5cbiAgdmFsaWRhdGVGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZ2V0IGV2ZW50TGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZvcm0uZ2V0KFwiZXZlbnRMaXN0XCIpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy52YWxpZGF0ZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICB0aGlzLnZhbGlkYXRlRm9ybS5hZGRDb250cm9sKFwiZXZlbnRMaXN0XCIsIHRoaXMuZmIuYXJyYXkoW10pKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgKCh0aGlzLnZhbGlkYXRlRm9ybSBhcyBhbnkpIS5jb250cm9scyEuZXZlbnRMaXN0IVtcbiAgICAgIFwiY29udHJvbHNcIlxuICAgIF0gYXMgRm9ybUdyb3VwW10pIS5mb3JFYWNoKChlbGVtZW50OiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGZvciAoY29uc3QgaSBpbiBlbGVtZW50LmNvbnRyb2xzKSB7XG4gICAgICAgIGVsZW1lbnQuY29udHJvbHNbaV0ubWFya0FzRGlydHkoKTtcbiAgICAgICAgZWxlbWVudC5jb250cm9sc1tpXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZmllbGRzLmZpbHRlcigoZWwpID0+IGVsLnR5cGUgIT09IFwiZGF0ZXRpbWVcIik7XG4gICAgaWYgKCEhdGhpcy50cmlnZ2VySnNvbiAmJiB0aGlzLnRyaWdnZXJKc29uLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudHJpZ2dlckpzb24uZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudExpc3QucHVzaCh0aGlzLmFkZEV2ZW50TGlzdChlbCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG5nT25DaGFuZ2VzKCkge31cbiAgYWRkKCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMudmFsaWRhdGVGb3JtKTtcblxuICAgIHRoaXMuc2F2ZSgpO1xuICAgIGlmICghdGhpcy52YWxpZGF0ZUZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5ldmVudExpc3QucHVzaCh0aGlzLmFkZEV2ZW50TGlzdCgpKTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdChlbGVtZW50PzogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VsZWN0ZWQ6IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLnNlbGVjdGVkIHx8IG51bGwgOiBudWxsLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBdLFxuICAgICAgZmllbGRUeXBlOiBbdGhpcy5kYXRhLnR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG5cbiAgICAgIHNlY29uZFR5cGU6IFt0aGlzLmRhdGEhLnRlbXBsYXRlT3B0aW9ucyEudHlwZV0sXG4gICAgICByZXF1aXJlZDogW3RoaXMuZGF0YSEudGVtcGxhdGVPcHRpb25zIS5yZXF1aXJlZCB8fCBmYWxzZV0sXG5cbiAgICAgIGZpZWxkTmFtZTogW3RoaXMuZGF0YSEudGVtcGxhdGVPcHRpb25zIS5sYWJlbF0sXG5cbiAgICAgIHNlbGVjdEl0ZW06IFtlbGVtZW50ID8gZWxlbWVudCEuc2VsZWN0SXRlbSB8fCBudWxsIDogbnVsbF0sXG4gICAgICBzZWxlY3RJdGVtczogW2VsZW1lbnQgPyBlbGVtZW50IS5zZWxlY3RJdGVtcyB8fCBudWxsIDogbnVsbF0sXG5cbiAgICAgIGZpZWxkS2V5OiBbXG4gICAgICAgIGVsZW1lbnQgPyBlbGVtZW50IS5maWVsZEtleSB8fCBudWxsIDogbnVsbCxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgXSxcblxuICAgICAgY2hhbmdlRmllbGROYW1lOiBbZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZUZpZWxkTmFtZSB8fCBudWxsIDogbnVsbCwgW11dLFxuXG4gICAgICBjaGFuZ2VGaWVsZFR5cGU6IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZUZpZWxkVHlwZSB8fCBudWxsIDogbnVsbCxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgXSxcblxuICAgICAgY2hhbmdlQWN0aW9uOiBbXG4gICAgICAgIGVsZW1lbnQgPyBlbGVtZW50IS5jaGFuZ2VBY3Rpb24gfHwgbnVsbCA6IG51bGwsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIF0sXG4gICAgICBjaGFuZ2VBY3Rpb25zOiBbXG4gICAgICAgIGVsZW1lbnQgPyBlbGVtZW50IS5jaGFuZ2VBY3Rpb25zIHx8IG51bGwgOiBudWxsLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBdLFxuXG4gICAgICBjaGFuZ2VUb0l0ZW06IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZVRvSXRlbSB8fCBudWxsIDogbnVsbCxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgXSxcbiAgICAgIGNoYW5nZVRvSXRlbXM6IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZVRvSXRlbXMgfHwgbnVsbCA6IG51bGwsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIF0sXG5cbiAgICAgIG1heExlbmd0aDogW2VsZW1lbnQgPyBlbGVtZW50IS5tYXhMZW5ndGggOiBudWxsXSxcbiAgICAgIG1heExlbmd0aEluY2x1ZGVzOiBbZWxlbWVudCA/IGVsZW1lbnQhLm1heExlbmd0aEluY2x1ZGVzIHx8IG51bGwgOiBudWxsXSxcbiAgICAgIG1pbkxlbmd0aDogW2VsZW1lbnQgPyBlbGVtZW50IS5taW5MZW5ndGggOiBudWxsXSxcbiAgICAgIG1pbkxlbmd0aEluY2x1ZGVzOiBbZWxlbWVudCA/IGVsZW1lbnQhLm1pbkxlbmd0aEluY2x1ZGVzIHx8IG51bGwgOiBudWxsXSxcblxuICAgICAgbWF4SW5jbHVkZXM6IFtlbGVtZW50ID8gZWxlbWVudCEubWF4SW5jbHVkZXMgfHwgbnVsbCA6IG51bGxdLFxuICAgICAgbWF4OiBbZWxlbWVudCA/IGVsZW1lbnQhLm1heCA6IG51bGxdLFxuICAgICAgbWluSW5jbHVkZXM6IFtlbGVtZW50ID8gZWxlbWVudCEubWluSW5jbHVkZXMgfHwgbnVsbCA6IG51bGxdLFxuICAgICAgbWluOiBbZWxlbWVudCA/IGVsZW1lbnQhLm1pbiA6IG51bGxdLFxuXG4gICAgICAvLyBtYXhEYXRlVGltZTogW2VsZW1lbnQgPyBlbGVtZW50IS5tYXhEYXRlVGltZSA6IG51bGxdLFxuICAgICAgLy8gbWF4RGF0ZVRpbWVJbmNsdWRlczogW1xuICAgICAgLy8gICBlbGVtZW50ID8gZWxlbWVudCEubWF4RGF0ZVRpbWVJbmNsdWRlcyB8fCBudWxsIDogbnVsbCxcbiAgICAgIC8vIF0sXG4gICAgICAvLyBtaW5EYXRlVGltZTogW2VsZW1lbnQgPyBlbGVtZW50IS5taW5EYXRlVGltZSA6IG51bGxdLFxuICAgICAgLy8gbWluRGF0ZVRpbWVJbmNsdWRlczogW1xuICAgICAgLy8gICBlbGVtZW50ID8gZWxlbWVudCEubWluRGF0ZVRpbWVJbmNsdWRlcyB8fCBudWxsIDogbnVsbCxcbiAgICAgIC8vIF0sXG5cbiAgICAgIHNwZWNWYWx1ZTogW2VsZW1lbnQgPyBlbGVtZW50IS5zcGVjVmFsdWUgfHwgbnVsbCA6IG51bGxdLFxuICAgICAgLy8gc3BlY0RhdGVUaW1lOiBbZWxlbWVudCA/IGVsZW1lbnQhLnNwZWNWYWx1ZSB8fCBudWxsIDogbnVsbF0sXG5cbiAgICAgIGZpeGVkVmFsdWU6IFtlbGVtZW50ID8gZWxlbWVudCEuZml4ZWRWYWx1ZSB8fCBudWxsIDogbnVsbF0sXG4gICAgICAvLyBmaXhlZERhdGVUaW1lOiBbZWxlbWVudCA/IGVsZW1lbnQhLmZpeGVkVmFsdWUgfHwgbnVsbCA6IG51bGxdLFxuXG4gICAgICBjb2RlOiBbZWxlbWVudCA/IGVsZW1lbnQhLmNvZGUgfHwgTWF0aC5yYW5kb20oKSA6IE1hdGgucmFuZG9tKCldLFxuICAgIH0pO1xuICB9XG4gIHJlbW92ZUV2ZW50TGlzdChpOiBudW1iZXIpIHtcbiAgICB0aGlzLmV2ZW50TGlzdC5yZW1vdmVBdChpKTtcbiAgfVxufVxuIl19