@piserve-tech/form-submission 1.3.183 → 1.3.184
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/esm2022/question/question/question.component.mjs +3 -3
- package/esm2022/question/question-group/question-group.component.mjs +3 -3
- package/esm2022/question/recursive-logic/recursive-logic.component.mjs +4 -1
- package/esm2022/question/sub-form/sub-form.component.mjs +3 -3
- package/fesm2022/piserve-tech-form-submission.mjs +9 -6
- package/fesm2022/piserve-tech-form-submission.mjs.map +1 -1
- package/package.json +1 -1
- package/question/recursive-logic/recursive-logic.component.d.ts +1 -0
|
@@ -120,11 +120,11 @@ export class QuestionComponent {
|
|
|
120
120
|
this.cdr.detectChanges();
|
|
121
121
|
}
|
|
122
122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionComponent, selector: "lib-question", inputs: { question: "question", edit: "edit", acceptedLanguage: "acceptedLanguage", currentPageIndex: "currentPageIndex" }, outputs: { emitValidations: "emitValidations", subFormChange: "subFormChange" }, ngImport: i0, template: "<div [ngSwitch]=\"question.formElement.elementType\">\n\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-url-fields>\n</div>\n\n<ng-container *ngIf=\"question.childLogics\">\n\n <!-- <ng-container *ngIf=\"componentToLoad\">\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer: question.answer,\n state: 'child' }\"></ng-container>\n </ng-container> -->\n\n <!-- <ng-container *ngIf=\"getComponentForChildLogics(question.childLogics, 'child', question.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container> -->\n\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer:
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionComponent, selector: "lib-question", inputs: { question: "question", edit: "edit", acceptedLanguage: "acceptedLanguage", currentPageIndex: "currentPageIndex" }, outputs: { emitValidations: "emitValidations", subFormChange: "subFormChange" }, ngImport: i0, template: "<div [ngSwitch]=\"question.formElement.elementType\">\n\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-url-fields>\n</div>\n\n<ng-container *ngIf=\"question.childLogics\">\n\n <!-- <ng-container *ngIf=\"componentToLoad\">\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer: question.answer,\n state: 'child' }\"></ng-container>\n </ng-container> -->\n\n <!-- <ng-container *ngIf=\"getComponentForChildLogics(question.childLogics, 'child', question.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container> -->\n\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer: question?.answer,\n state: 'child' }\"></ng-container>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i3.DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i4.DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i5.FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question", "inLine"], outputs: ["answerChange", "inlineDeleteFiles"] }, { kind: "component", type: i6.LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i7.MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i8.MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i9.NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i10.PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i11.RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i12.RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i13.SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i14.SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i15.SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i16.TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i17.TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i18.TextFieldsComponent, selector: "lib-text-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i19.ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i20.UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }] }); }
|
|
124
124
|
}
|
|
125
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
|
-
args: [{ selector: 'lib-question', template: "<div [ngSwitch]=\"question.formElement.elementType\">\n\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-url-fields>\n</div>\n\n<ng-container *ngIf=\"question.childLogics\">\n\n <!-- <ng-container *ngIf=\"componentToLoad\">\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer: question.answer,\n state: 'child' }\"></ng-container>\n </ng-container> -->\n\n <!-- <ng-container *ngIf=\"getComponentForChildLogics(question.childLogics, 'child', question.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container> -->\n\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer:
|
|
127
|
+
args: [{ selector: 'lib-question', template: "<div [ngSwitch]=\"question.formElement.elementType\">\n\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"question\" [acceptedLanguage]=\"acceptedLanguage\" (validate)=\"handleValidation($event)\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"question\" (validate)=\"handleValidation($event)\"></lib-url-fields>\n</div>\n\n<ng-container *ngIf=\"question.childLogics\">\n\n <!-- <ng-container *ngIf=\"componentToLoad\">\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer: question.answer,\n state: 'child' }\"></ng-container>\n </ng-container> -->\n\n <!-- <ng-container *ngIf=\"getComponentForChildLogics(question.childLogics, 'child', question.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container> -->\n\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: question.childLogics,\n answer: question?.answer,\n state: 'child' }\"></ng-container>\n </ng-container>\n</ng-container>\n" }]
|
|
128
128
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { question: [{
|
|
129
129
|
type: Input
|
|
130
130
|
}], edit: [{
|
|
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
138
138
|
}], subFormChange: [{
|
|
139
139
|
type: Output
|
|
140
140
|
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9xdWVzdGlvbi9xdWVzdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3F1ZXN0aW9uL3F1ZXN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9wRyxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBWmpDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEQsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFHdEIsb0JBQWUsR0FBdUUsRUFBRSxDQUFDO0lBRzNDLENBQUM7SUFFL0MsUUFBUTtRQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsaURBQWlEO0lBQ2pELG1FQUFtRTtJQUNuRSwyQ0FBMkM7SUFDM0MsSUFBSTtJQUNOLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsbURBQW1EO0lBQ25ELDJEQUEyRDtJQUMzRCx1Q0FBdUM7SUFDdkMsMkJBQTJCO0lBQzNCLFVBQVU7SUFDVixzQkFBc0I7SUFDdEIsYUFBYTtJ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LGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO3dHQUtmLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9O1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgPSAwO1xuICBAT3V0cHV0KCkgZW1pdFZhbGlkYXRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzdWJGb3JtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHZhbGlkYXRpb25zOiBhbnkgPSBbXTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG4gIGNoaWxkTG9naWNDYWNoZTogeyBba2V5OiBzdHJpbmddOiB7IGNvbXBvbmVudDogUHJvbWlzZTxhbnk+LCBpbmplY3RvcjogSW5qZWN0b3IgfSB9ID0ge307XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICB0aGlzLmxvYWRDb21wb25lbnQoKVxuICB9XG5cbiAgLy8gcHJpdmF0ZSBhc3luYyBsb2FkQ29tcG9uZW50KCk6IFByb21pc2U8dm9pZD4ge1xuICAvLyAgIHRoaXMuY29tcG9uZW50VG9Mb2FkID0gYXdhaXQgdGhpcy5sb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCk7XG4gIC8vICAgdGhpcy5pbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoKTtcbiAgLy8gfVxuLy8gIHNhZmVTdHJpbmdpZnkob2JqOiBhbnkpIHtcbi8vICAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQoKTtcbi8vICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLCAoa2V5LCB2YWx1ZSkgPT4ge1xuLy8gICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuLy8gICAgICAgICBpZiAoc2Vlbi5oYXModmFsdWUpKSByZXR1cm47XG4vLyAgICAgICAgIHNlZW4uYWRkKHZhbHVlKTtcbi8vICAgICAgIH1cbi8vICAgICAgIHJldHVybiB2YWx1ZTtcbi8vICAgICB9LCAyKTtcbi8vICAgfVxuLy8gICBnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkOiBhbnksIHN0YXRlOiBzdHJpbmcsIGFuc3dlcjogYW55KTogeyBjb21wb25lbnQ6IFByb21pc2U8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yIH0ge1xuLy8gICAgIGNvbnN0IGtleSA9IHRoaXMuc2FmZVN0cmluZ2lmeSh7Z3JpZCwgc3RhdGV9KTtcbi8vICAgICBpZiAoIXRoaXMuY2hpbGRMb2dpY0NhY2hlW2tleV0pIHtcbi8vICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuLy8gICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGdyaWQsIHN0YXRlLCBhbnN3ZXIpO1xuLy8gICAgICAgdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XSA9IHsgY29tcG9uZW50LCBpbmplY3RvciB9O1xuLy8gICAgIH1cbi8vICAgICByZXR1cm4gdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XTtcbi8vICAgfVxuXG4vLyAgIHByaXZhdGUgYXN5bmMgbG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpIHtcbi8vICAgICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4vLyAgICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDtcbi8vICAgfVxuXG4vLyAgIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IoZ3JpZDogYW55LCBzdGF0ZTogc3RyaW5nLCBhbnN3ZXI6IGFueSk6IEluamVjdG9yIHtcbi8vICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbi8vICAgICAgIHByb3ZpZGVyczogW1xuLy8gICAgICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6Z3JpZH0sXG4vLyAgICAgICAgIHsgcHJvdmlkZTogJ2VkaXQnLCB1c2VWYWx1ZTogdGhpcy5lZGl0IH0sXG4vLyAgICAgICAgIHsgcHJvdmlkZTogJ2Fuc3dlcicsIHVzZVZhbHVlOiBhbnN3ZXIgfSxcbi8vICAgICAgICAgeyBwcm92aWRlOiAnc3RhdGUnLCB1c2VWYWx1ZTpzdGF0ZSB9LFxuLy8gICAgICAgICB7IHByb3ZpZGU6ICdhY2NlcHRlZExhbmd1YWdlJywgdXNlVmFsdWU6IHRoaXMuYWNjZXB0ZWRMYW5ndWFnZSB9XG4vLyAgICAgICBdLFxuLy8gICAgIH0pO1xuLy8gICB9XG5cblxuXG4gcmVtb3ZlQ2lyY3VsYXJSZWZlcmVuY2VzKG9iajogYW55KTogYW55IHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBXZWFrU2V0KCk7XG5cbiAgZnVuY3Rpb24gcmVjdXJzZSh2YWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgfVxuXG4gICAgc2Vlbi5hZGQodmFsdWUpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKGl0ZW0gPT4gcmVjdXJzZShpdGVtKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcbiAgICAgIG91dHB1dFtrZXldID0gcmVjdXJzZSh2YWx1ZVtrZXldKTtcbiAgICB9XG5cbiAgICBzZWVuLmRlbGV0ZSh2YWx1ZSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHJldHVybiByZWN1cnNlKG9iaik7XG59XG5cbnByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdGhpcy5jb21wb25lbnRUb0xvYWQgPSBhd2FpdCB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbiAgdGhpcy5pbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoKTtcbn1cblxucHJpdmF0ZSBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4gIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG59XG5cbmNyZWF0ZUluamVjdG9yKCk6IEluamVjdG9yIHtcbiAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IHRoaXMucXVlc3Rpb24/LmNoaWxkTG9naWNzIH0sXG4gICAgICB7IHByb3ZpZGU6ICdzdGF0ZScsIHVzZVZhbHVlOiAnY2hpbGQnIH0sXG4gICAgXSxcbiAgfSk7XG59XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucyhldmVudDogYW55KSB7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlVmFsaWRhdGlvbih2YWxpZGF0aW9uOiBhbnkpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25zLnB1c2godmFsaWRhdGlvbik7XG4gICAgdGhpcy5lbWl0VmFsaWRhdGlvbnMuZW1pdCh0aGlzLnZhbGlkYXRpb25zKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxufVxuIiwiPGRpdiBbbmdTd2l0Y2hdPVwicXVlc3Rpb24uZm9ybUVsZW1lbnQuZWxlbWVudFR5cGVcIj5cblxuICA8bGliLWNoZWNrLWJveC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gIDxsaWItZGF0ZS10aW1lLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0RBVEVfVElNRSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cbiAgPGxpYi1kcm9wLWRvd24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInRFJPUF9ET1dOJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1kcm9wLWRvd24tZmllbGRzPlxuICA8bGliLWZpbGUtcGlja2VyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gIDxsaWItbG9jYXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTE9DQVRJT04nXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLWxvY2F0aW9uLWZpZWxkcz5cbiAgPGxpYi1tYWlsLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0VNQUlMJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1tYWlsLWZpZWxkcz5cbiAgPGxpYi1tb2JpbGUtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTU9CSUxFJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1tb2JpbGUtZmllbGRzPlxuICA8bGliLW51bWJlci1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidOVU1CRVInXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLW51bWJlci1maWVsZHM+XG4gIDxsaWItcGFzc3dvcmQtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUEFTU1dPUkQnXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLXBhc3N3b3JkLWZpZWxkcz5cbiAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUkFESU9fQlVUVE9OJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxuICA8bGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUklDSF9URVhUX0VESVRPUidcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItcmljaC10ZXh0LWVkaXRvci1maWVsZHM+XG4gIDxsaWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidTRUxFQ1RJT05fTUFUUklYJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHM+XG4gIDxsaWItc2lnbmF0dXJlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NJR05BVFVSRSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItc2lnbmF0dXJlLWZpZWxkcz5cbiAgPGxpYi1zbGlkZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInU0xJREVSJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1zbGlkZXItZmllbGRzPlxuICA8bGliLXRlcm1zLWFuZC1jb25kaXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVEVSTVNfQU5EX0NPTkRJVElPTidcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHM+XG4gIDxsaWItdGV4dC1hcmVhLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQVJFQSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgPGxpYi10ZXh0LWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQk9YJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi10ZXh0LWZpZWxkcz5cbiAgPGxpYi10b2dnbGUtc3dpdGNoLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RPR0dMRV9TV0lUQ0gnXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi10b2dnbGUtc3dpdGNoLWZpZWxkcz5cbiAgPGxpYi11cmwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi11cmwtZmllbGRzPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVzdGlvbi5jaGlsZExvZ2ljc1wiPlxuXG4gIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBvbmVudFRvTG9hZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50VG9Mb2FkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHsgZ3JpZDogcXVlc3Rpb24uY2hpbGRMb2dpY3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXI6IHF1ZXN0aW9uLmFuc3dlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAnY2hpbGQnIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+IC0tPlxuXG4gIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldENvbXBvbmVudEZvckNoaWxkTG9naWNzKHF1ZXN0aW9uLmNoaWxkTG9naWNzLCAnY2hpbGQnLCBxdWVzdGlvbi5hbnN3ZXIpIGFzIGNhY2hlZFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNhY2hlZC5jb21wb25lbnQgfCBhc3luYzsgaW5qZWN0b3I6IGNhY2hlZC5pbmplY3RvclwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj4gLS0+XG5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcG9uZW50VG9Mb2FkXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXBvbmVudFRvTG9hZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7IGdyaWQ6IHF1ZXN0aW9uLmNoaWxkTG9naWNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyOiAnYW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6ICdjaGlsZCcgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9xdWVzdGlvbi9xdWVzdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3F1ZXN0aW9uL3F1ZXN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9wRyxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBWmpDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEQsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFHdEIsb0JBQWUsR0FBdUUsRUFBRSxDQUFDO0lBRzNDLENBQUM7SUFFL0MsUUFBUTtRQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsaURBQWlEO0lBQ2pELG1FQUFtRTtJQUNuRSwyQ0FBMkM7SUFDM0MsSUFBSTtJQUNOLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsbURBQW1EO0lBQ25ELDJEQUEyRDtJQUMzRCx1Q0FBdUM7SUFDdkMsMkJBQTJCO0lBQzNCLFVBQVU7SUFDVixzQkFBc0I7SUFDdEIsYUFBYTtJ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LGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO3dHQUtmLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9O1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgPSAwO1xuICBAT3V0cHV0KCkgZW1pdFZhbGlkYXRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzdWJGb3JtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHZhbGlkYXRpb25zOiBhbnkgPSBbXTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG4gIGNoaWxkTG9naWNDYWNoZTogeyBba2V5OiBzdHJpbmddOiB7IGNvbXBvbmVudDogUHJvbWlzZTxhbnk+LCBpbmplY3RvcjogSW5qZWN0b3IgfSB9ID0ge307XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICB0aGlzLmxvYWRDb21wb25lbnQoKVxuICB9XG5cbiAgLy8gcHJpdmF0ZSBhc3luYyBsb2FkQ29tcG9uZW50KCk6IFByb21pc2U8dm9pZD4ge1xuICAvLyAgIHRoaXMuY29tcG9uZW50VG9Mb2FkID0gYXdhaXQgdGhpcy5sb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCk7XG4gIC8vICAgdGhpcy5pbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoKTtcbiAgLy8gfVxuLy8gIHNhZmVTdHJpbmdpZnkob2JqOiBhbnkpIHtcbi8vICAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQoKTtcbi8vICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLCAoa2V5LCB2YWx1ZSkgPT4ge1xuLy8gICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuLy8gICAgICAgICBpZiAoc2Vlbi5oYXModmFsdWUpKSByZXR1cm47XG4vLyAgICAgICAgIHNlZW4uYWRkKHZhbHVlKTtcbi8vICAgICAgIH1cbi8vICAgICAgIHJldHVybiB2YWx1ZTtcbi8vICAgICB9LCAyKTtcbi8vICAgfVxuLy8gICBnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkOiBhbnksIHN0YXRlOiBzdHJpbmcsIGFuc3dlcjogYW55KTogeyBjb21wb25lbnQ6IFByb21pc2U8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yIH0ge1xuLy8gICAgIGNvbnN0IGtleSA9IHRoaXMuc2FmZVN0cmluZ2lmeSh7Z3JpZCwgc3RhdGV9KTtcbi8vICAgICBpZiAoIXRoaXMuY2hpbGRMb2dpY0NhY2hlW2tleV0pIHtcbi8vICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuLy8gICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGdyaWQsIHN0YXRlLCBhbnN3ZXIpO1xuLy8gICAgICAgdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XSA9IHsgY29tcG9uZW50LCBpbmplY3RvciB9O1xuLy8gICAgIH1cbi8vICAgICByZXR1cm4gdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XTtcbi8vICAgfVxuXG4vLyAgIHByaXZhdGUgYXN5bmMgbG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpIHtcbi8vICAgICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4vLyAgICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDtcbi8vICAgfVxuXG4vLyAgIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IoZ3JpZDogYW55LCBzdGF0ZTogc3RyaW5nLCBhbnN3ZXI6IGFueSk6IEluamVjdG9yIHtcbi8vICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbi8vICAgICAgIHByb3ZpZGVyczogW1xuLy8gICAgICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6Z3JpZH0sXG4vLyAgICAgICAgIHsgcHJvdmlkZTogJ2VkaXQnLCB1c2VWYWx1ZTogdGhpcy5lZGl0IH0sXG4vLyAgICAgICAgIHsgcHJvdmlkZTogJ2Fuc3dlcicsIHVzZVZhbHVlOiBhbnN3ZXIgfSxcbi8vICAgICAgICAgeyBwcm92aWRlOiAnc3RhdGUnLCB1c2VWYWx1ZTpzdGF0ZSB9LFxuLy8gICAgICAgICB7IHByb3ZpZGU6ICdhY2NlcHRlZExhbmd1YWdlJywgdXNlVmFsdWU6IHRoaXMuYWNjZXB0ZWRMYW5ndWFnZSB9XG4vLyAgICAgICBdLFxuLy8gICAgIH0pO1xuLy8gICB9XG5cblxuXG4gcmVtb3ZlQ2lyY3VsYXJSZWZlcmVuY2VzKG9iajogYW55KTogYW55IHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBXZWFrU2V0KCk7XG5cbiAgZnVuY3Rpb24gcmVjdXJzZSh2YWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgfVxuXG4gICAgc2Vlbi5hZGQodmFsdWUpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKGl0ZW0gPT4gcmVjdXJzZShpdGVtKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcbiAgICAgIG91dHB1dFtrZXldID0gcmVjdXJzZSh2YWx1ZVtrZXldKTtcbiAgICB9XG5cbiAgICBzZWVuLmRlbGV0ZSh2YWx1ZSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHJldHVybiByZWN1cnNlKG9iaik7XG59XG5cbnByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdGhpcy5jb21wb25lbnRUb0xvYWQgPSBhd2FpdCB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbiAgdGhpcy5pbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoKTtcbn1cblxucHJpdmF0ZSBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4gIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG59XG5cbmNyZWF0ZUluamVjdG9yKCk6IEluamVjdG9yIHtcbiAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IHRoaXMucXVlc3Rpb24/LmNoaWxkTG9naWNzIH0sXG4gICAgICB7IHByb3ZpZGU6ICdzdGF0ZScsIHVzZVZhbHVlOiAnY2hpbGQnIH0sXG4gICAgXSxcbiAgfSk7XG59XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucyhldmVudDogYW55KSB7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlVmFsaWRhdGlvbih2YWxpZGF0aW9uOiBhbnkpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25zLnB1c2godmFsaWRhdGlvbik7XG4gICAgdGhpcy5lbWl0VmFsaWRhdGlvbnMuZW1pdCh0aGlzLnZhbGlkYXRpb25zKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxufVxuIiwiPGRpdiBbbmdTd2l0Y2hdPVwicXVlc3Rpb24uZm9ybUVsZW1lbnQuZWxlbWVudFR5cGVcIj5cblxuICA8bGliLWNoZWNrLWJveC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gIDxsaWItZGF0ZS10aW1lLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0RBVEVfVElNRSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cbiAgPGxpYi1kcm9wLWRvd24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInRFJPUF9ET1dOJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1kcm9wLWRvd24tZmllbGRzPlxuICA8bGliLWZpbGUtcGlja2VyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gIDxsaWItbG9jYXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTE9DQVRJT04nXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLWxvY2F0aW9uLWZpZWxkcz5cbiAgPGxpYi1tYWlsLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0VNQUlMJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1tYWlsLWZpZWxkcz5cbiAgPGxpYi1tb2JpbGUtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTU9CSUxFJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1tb2JpbGUtZmllbGRzPlxuICA8bGliLW51bWJlci1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidOVU1CRVInXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLW51bWJlci1maWVsZHM+XG4gIDxsaWItcGFzc3dvcmQtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUEFTU1dPUkQnXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgKHZhbGlkYXRlKT1cImhhbmRsZVZhbGlkYXRpb24oJGV2ZW50KVwiPjwvbGliLXBhc3N3b3JkLWZpZWxkcz5cbiAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUkFESU9fQlVUVE9OJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxuICA8bGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUklDSF9URVhUX0VESVRPUidcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItcmljaC10ZXh0LWVkaXRvci1maWVsZHM+XG4gIDxsaWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidTRUxFQ1RJT05fTUFUUklYJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHM+XG4gIDxsaWItc2lnbmF0dXJlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NJR05BVFVSRSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItc2lnbmF0dXJlLWZpZWxkcz5cbiAgPGxpYi1zbGlkZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInU0xJREVSJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi1zbGlkZXItZmllbGRzPlxuICA8bGliLXRlcm1zLWFuZC1jb25kaXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVEVSTVNfQU5EX0NPTkRJVElPTidcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHM+XG4gIDxsaWItdGV4dC1hcmVhLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQVJFQSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIiAodmFsaWRhdGUpPVwiaGFuZGxlVmFsaWRhdGlvbigkZXZlbnQpXCI+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgPGxpYi10ZXh0LWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQk9YJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi10ZXh0LWZpZWxkcz5cbiAgPGxpYi10b2dnbGUtc3dpdGNoLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RPR0dMRV9TV0lUQ0gnXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCIgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi10b2dnbGUtc3dpdGNoLWZpZWxkcz5cbiAgPGxpYi11cmwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICh2YWxpZGF0ZSk9XCJoYW5kbGVWYWxpZGF0aW9uKCRldmVudClcIj48L2xpYi11cmwtZmllbGRzPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVzdGlvbi5jaGlsZExvZ2ljc1wiPlxuXG4gIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBvbmVudFRvTG9hZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50VG9Mb2FkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHsgZ3JpZDogcXVlc3Rpb24uY2hpbGRMb2dpY3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXI6IHF1ZXN0aW9uLmFuc3dlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAnY2hpbGQnIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+IC0tPlxuXG4gIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldENvbXBvbmVudEZvckNoaWxkTG9naWNzKHF1ZXN0aW9uLmNoaWxkTG9naWNzLCAnY2hpbGQnLCBxdWVzdGlvbi5hbnN3ZXIpIGFzIGNhY2hlZFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNhY2hlZC5jb21wb25lbnQgfCBhc3luYzsgaW5qZWN0b3I6IGNhY2hlZC5pbmplY3RvclwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj4gLS0+XG5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcG9uZW50VG9Mb2FkXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXBvbmVudFRvTG9hZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7IGdyaWQ6IHF1ZXN0aW9uLmNoaWxkTG9naWNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyOiBxdWVzdGlvbj8uYW5zd2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6ICdjaGlsZCcgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -80,11 +80,11 @@ export class QuestionGroupComponent {
|
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionGroupComponent, selector: "lib-question-group", inputs: { questionGroup: "questionGroup", edit: "edit", acceptedLanguage: "acceptedLanguage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n\n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionGroupComponent, selector: "lib-question-group", inputs: { questionGroup: "questionGroup", edit: "edit", acceptedLanguage: "acceptedLanguage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n\n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: grid?.element?.childLogics,\n answer:grid?.element?.answer,\n state: 'child' }\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i3.DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i4.DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i5.FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question", "inLine"], outputs: ["answerChange", "inlineDeleteFiles"] }, { kind: "component", type: i6.LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i7.MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i8.MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i9.NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i10.PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i11.RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i12.RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i13.SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i14.SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i15.SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i16.TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i17.TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i18.TextFieldsComponent, selector: "lib-text-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i19.ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i20.UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }] }); }
|
|
84
84
|
}
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionGroupComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
|
-
args: [{ selector: 'lib-question-group', template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n\n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n
|
|
87
|
+
args: [{ selector: 'lib-question-group', template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n\n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: grid?.element?.childLogics,\n answer:grid?.element?.answer,\n state: 'child' }\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"] }]
|
|
88
88
|
}], propDecorators: { questionGroup: [{
|
|
89
89
|
type: Input
|
|
90
90
|
}], edit: [{
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
92
92
|
}], acceptedLanguage: [{
|
|
93
93
|
type: Input
|
|
94
94
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9xdWVzdGlvbi1ncm91cC9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3F1ZXN0aW9uLWdyb3VwL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlakYsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUU3QixvQkFBZSxHQUF1RSxFQUFFLENBQUM7S0E0RzFGO0lBeEdDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUVGLHdCQUF3QixDQUFDLEdBQVE7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUzQixTQUFTLE9BQU8sQ0FBQyxLQUFVO1lBQ3pCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQy9DLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25CLE9BQU8sWUFBWSxDQUFDO2FBQ3JCO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1lBRUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNuQztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYTtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLEtBQUssQ0FBQyx5QkFBeUI7UUFDckMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUMzRixPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRztnQkFDOUQsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7YUFDeEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXpFWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrS0NmbkMscXlJQThEQTs7NEZEL0NhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBS3JCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmludGVyZmFjZSBBdHRhY2htZW50IHtcbiAgZmlsZUlkOiBzdHJpbmc7XG4gIGZpbGVOYW1lOiBzdHJpbmc7XG4gIGZpbGVVcmw6IHN0cmluZztcbiAgZmlsZVNpemU/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXA6IGFueSA9IHt9O1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9Jyc7XG4gIGRlY29kZWREZXNjcmlwdGlvbjpzdHJpbmc9Jyc7XG4gIGdyaWQ6IGFueTtcbiAgY2hpbGRMb2dpY0NhY2hlOiB7IFtrZXk6IHN0cmluZ106IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IH0gPSB7fTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkQ29tcG9uZW50KClcbiAgfVxuXG4gIGRlY29kZUh0bWwoaHRtbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZXh0QXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dEFyZWEuaW5uZXJIVE1MID0gaHRtbDtcbiAgICByZXR1cm4gdGV4dEFyZWEudmFsdWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5xdWVzdGlvbkdyb3VwLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRlY29kZWREZXNjcmlwdGlvbiA9IHRoaXMuZGVjb2RlSHRtbCh0aGlzLnF1ZXN0aW9uR3JvdXAuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gcmVtb3ZlQ2lyY3VsYXJSZWZlcmVuY2VzKG9iajogYW55KTogYW55IHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBXZWFrU2V0KCk7XG5cbiAgZnVuY3Rpb24gcmVjdXJzZSh2YWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgfVxuXG4gICAgc2Vlbi5hZGQodmFsdWUpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKGl0ZW0gPT4gcmVjdXJzZShpdGVtKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcbiAgICAgIG91dHB1dFtrZXldID0gcmVjdXJzZSh2YWx1ZVtrZXldKTtcbiAgICB9XG5cbiAgICBzZWVuLmRlbGV0ZSh2YWx1ZSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHJldHVybiByZWN1cnNlKG9iaik7XG59XG5cbnByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdGhpcy5jb21wb25lbnRUb0xvYWQgPSBhd2FpdCB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbiAgdGhpcy5pbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoKTtcbn1cblxucHJpdmF0ZSBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4gIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG59XG5cbmNyZWF0ZUluamVjdG9yKCk6IEluamVjdG9yIHtcbiAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IHRoaXMuZ3JpZD8uZWxlbWVudC5jaGlsZExvZ2ljcyAgfSxcbiAgICAgIHsgcHJvdmlkZTogJ3N0YXRlJywgdXNlVmFsdWU6ICdjaGlsZCcgfSxcbiAgICBdLFxuICB9KTtcbn1cblxuLy8gICBnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkOiBhbnksIHN0YXRlOiBzdHJpbmcsIGFuc3dlcjogYW55KTogeyBjb21wb25lbnQ6IFByb21pc2U8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yIH0ge1xuLy8gICAgIC8vIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KHsgZ3JpZCwgc3RhdGUgfSx0aGlzLnJlbW92ZUNpcmN1bGFyUmVmZXJlbmNlcygpKTtcbi8vICAgICAvLyBjb25zdCBrZXkgPXRoaXMucmVtb3ZlQ2lyY3VsYXJSZWZlcmVuY2VzKHsgZ3JpZCB9KTtcbi8vICAgICBjb25zdCBjbGVhbmVkID0gdGhpcy5yZW1vdmVDaXJjdWxhclJlZmVyZW5jZXMoe1xuLy8gICBncmlkLFxuLy8gICBzdGF0ZSxcbi8vICAgYW5zd2VyXG4vLyB9KTtcblxuLy8gY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoY2xlYW5lZCk7XG5cbi8vICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbi8vICAgICAvLyAgIGNvbnNvbGUubG9nKCdrZXknLCBrZXkpO1xuLy8gICAgIC8vIH0sIDEwMDApO1xuXG4vLyAgICAgaWYgKCF0aGlzLmNoaWxkTG9naWNDYWNoZVtrZXldKSB7XG4vLyAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbi8vICAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3RvcihncmlkLCBzdGF0ZSwgYW5zd2VyKTtcbi8vICAgICAgIHRoaXMuY2hpbGRMb2dpY0NhY2hlW2tleV0gPSB7IGNvbXBvbmVudCwgaW5qZWN0b3IgfTtcbi8vICAgICB9XG5cbi8vICAgICByZXR1cm4gdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XTtcbi8vICAgfVxuXG5cbi8vICAgYXN5bmMgbG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpIHtcbi8vICAgICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4vLyAgICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDtcbi8vICAgfVxuXG4vLyAgIGNyZWF0ZUluamVjdG9yKGdyaWQ6IGFueSwgc3RhdGU6IHN0cmluZywgYW5zd2VyOiBhbnkpOiBJbmplY3RvciB7XG4vLyAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4vLyAgICAgICBwcm92aWRlcnM6IFtcbi8vICAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiBncmlkIH0sXG4vLyAgICAgICAgIHsgcHJvdmlkZTogJ3N0YXRlJywgdXNlVmFsdWU6ICdjaGlsZCcgfSxcbi8vICAgICAgICAgeyBwcm92aWRlOiAnYW5zd2VyJywgdXNlVmFsdWU6IGFuc3dlciB9LFxuLy8gICAgICAgXSxcbi8vICAgICB9KTtcbi8vICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lciBtYi00IHB4LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keSBjb250YWluZXIgcHQtMyBwYi0zIHB4LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBwdC00IHBiLTMgcHgtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInNlY3Rpb25UaXRsZVwiPnt7IHF1ZXN0aW9uR3JvdXAudGl0bGUgfX08L3A+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiZGVjb2RlZERlc2NyaXB0aW9uXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiPjwvcD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBxdWVzdGlvbkdyb3VwLnJvd3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZ3JpZCBvZiByb3cuZ3JpZFwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnd2lkdGguJSc6IChncmlkLmVsZW1lbnQuY291bnQpICogKDEwMCAvIDEyKX1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJncmlkLmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1jaGVjay1ib3gtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInQ0hFQ0tfQk9YJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1jaGVjay1ib3gtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWRhdGUtdGltZS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidEQVRFX1RJTUUnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWRhdGUtdGltZS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZHJvcC1kb3duLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0RST1BfRE9XTidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItZHJvcC1kb3duLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1maWxlLXBpY2tlci1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidGSUxFX1BJQ0tFUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItZmlsZS1waWNrZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWxvY2F0aW9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0xPQ0FUSU9OJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1sb2NhdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItbWFpbC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidFTUFJTCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItbWFpbC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItbW9iaWxlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ01PQklMRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItbW9iaWxlLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1udW1iZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTlVNQkVSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1udW1iZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXBhc3N3b3JkLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1BBU1NXT1JEJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1wYXNzd29yZC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItcmFkaW8tYnV0dG9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1JBRElPX0JVVFRPTidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItcmFkaW8tYnV0dG9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1JJQ0hfVEVYVF9FRElUT1InXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInU0VMRUNUSU9OX01BVFJJWCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCIgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXNpZ25hdHVyZS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidTSUdOQVRVUkUnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXNpZ25hdHVyZS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItc2xpZGVyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NMSURFUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2xpZGVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFUk1TX0FORF9DT05ESVRJT04nXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXRlcm1zLWFuZC1jb25kaXRpb24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXRleHQtYXJlYS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0FSRUEnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXRleHQtYXJlYS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0JPWCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdG9nZ2xlLXN3aXRjaC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidUT0dHTEVfU1dJVENIJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIiBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCI+PC9saWItdG9nZ2xlLXN3aXRjaC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdXJsLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1VSTCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdXJsLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldENvbXBvbmVudEZvckNoaWxkTG9naWNzKGdyaWQuZWxlbWVudC5jaGlsZExvZ2ljcywgJ2NoaWxkJywgZ3JpZC5lbGVtZW50LmFuc3dlcikgYXMgY2FjaGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiY2FjaGVkLmNvbXBvbmVudCB8IGFzeW5jOyBpbmplY3RvcjogY2FjaGVkLmluamVjdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZD8uZWxlbWVudD8uY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wb25lbnRUb0xvYWRcIj5cbiAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50VG9Mb2FkOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7IGdyaWQ6IGdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcjogJ2FuJywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoaWxkJyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiJdfQ==
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9xdWVzdGlvbi1ncm91cC9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3F1ZXN0aW9uLWdyb3VwL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlakYsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUU3QixvQkFBZSxHQUF1RSxFQUFFLENBQUM7S0E0RzFGO0lBeEdDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUVGLHdCQUF3QixDQUFDLEdBQVE7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUzQixTQUFTLE9BQU8sQ0FBQyxLQUFVO1lBQ3pCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQy9DLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25CLE9BQU8sWUFBWSxDQUFDO2FBQ3JCO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1lBRUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNuQztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYTtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLEtBQUssQ0FBQyx5QkFBeUI7UUFDckMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUMzRixPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRztnQkFDOUQsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7YUFDeEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXpFWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrS0NmbkMsMnhJQThEQTs7NEZEL0NhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBS3JCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmludGVyZmFjZSBBdHRhY2htZW50IHtcbiAgZmlsZUlkOiBzdHJpbmc7XG4gIGZpbGVOYW1lOiBzdHJpbmc7XG4gIGZpbGVVcmw6IHN0cmluZztcbiAgZmlsZVNpemU/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXA6IGFueSA9IHt9O1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9Jyc7XG4gIGRlY29kZWREZXNjcmlwdGlvbjpzdHJpbmc9Jyc7XG4gIGdyaWQ6IGFueTtcbiAgY2hpbGRMb2dpY0NhY2hlOiB7IFtrZXk6IHN0cmluZ106IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IH0gPSB7fTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkQ29tcG9uZW50KClcbiAgfVxuXG4gIGRlY29kZUh0bWwoaHRtbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZXh0QXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dEFyZWEuaW5uZXJIVE1MID0gaHRtbDtcbiAgICByZXR1cm4gdGV4dEFyZWEudmFsdWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5xdWVzdGlvbkdyb3VwLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRlY29kZWREZXNjcmlwdGlvbiA9IHRoaXMuZGVjb2RlSHRtbCh0aGlzLnF1ZXN0aW9uR3JvdXAuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gcmVtb3ZlQ2lyY3VsYXJSZWZlcmVuY2VzKG9iajogYW55KTogYW55IHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBXZWFrU2V0KCk7XG5cbiAgZnVuY3Rpb24gcmVjdXJzZSh2YWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgfVxuXG4gICAgc2Vlbi5hZGQodmFsdWUpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKGl0ZW0gPT4gcmVjdXJzZShpdGVtKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcbiAgICAgIG91dHB1dFtrZXldID0gcmVjdXJzZSh2YWx1ZVtrZXldKTtcbiAgICB9XG5cbiAgICBzZWVuLmRlbGV0ZSh2YWx1ZSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHJldHVybiByZWN1cnNlKG9iaik7XG59XG5cbnByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdGhpcy5jb21wb25lbnRUb0xvYWQgPSBhd2FpdCB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbiAgdGhpcy5pbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoKTtcbn1cblxucHJpdmF0ZSBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4gIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG59XG5cbmNyZWF0ZUluamVjdG9yKCk6IEluamVjdG9yIHtcbiAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IHRoaXMuZ3JpZD8uZWxlbWVudC5jaGlsZExvZ2ljcyAgfSxcbiAgICAgIHsgcHJvdmlkZTogJ3N0YXRlJywgdXNlVmFsdWU6ICdjaGlsZCcgfSxcbiAgICBdLFxuICB9KTtcbn1cblxuLy8gICBnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkOiBhbnksIHN0YXRlOiBzdHJpbmcsIGFuc3dlcjogYW55KTogeyBjb21wb25lbnQ6IFByb21pc2U8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yIH0ge1xuLy8gICAgIC8vIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KHsgZ3JpZCwgc3RhdGUgfSx0aGlzLnJlbW92ZUNpcmN1bGFyUmVmZXJlbmNlcygpKTtcbi8vICAgICAvLyBjb25zdCBrZXkgPXRoaXMucmVtb3ZlQ2lyY3VsYXJSZWZlcmVuY2VzKHsgZ3JpZCB9KTtcbi8vICAgICBjb25zdCBjbGVhbmVkID0gdGhpcy5yZW1vdmVDaXJjdWxhclJlZmVyZW5jZXMoe1xuLy8gICBncmlkLFxuLy8gICBzdGF0ZSxcbi8vICAgYW5zd2VyXG4vLyB9KTtcblxuLy8gY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoY2xlYW5lZCk7XG5cbi8vICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbi8vICAgICAvLyAgIGNvbnNvbGUubG9nKCdrZXknLCBrZXkpO1xuLy8gICAgIC8vIH0sIDEwMDApO1xuXG4vLyAgICAgaWYgKCF0aGlzLmNoaWxkTG9naWNDYWNoZVtrZXldKSB7XG4vLyAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbi8vICAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3RvcihncmlkLCBzdGF0ZSwgYW5zd2VyKTtcbi8vICAgICAgIHRoaXMuY2hpbGRMb2dpY0NhY2hlW2tleV0gPSB7IGNvbXBvbmVudCwgaW5qZWN0b3IgfTtcbi8vICAgICB9XG5cbi8vICAgICByZXR1cm4gdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XTtcbi8vICAgfVxuXG5cbi8vICAgYXN5bmMgbG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpIHtcbi8vICAgICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4vLyAgICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDtcbi8vICAgfVxuXG4vLyAgIGNyZWF0ZUluamVjdG9yKGdyaWQ6IGFueSwgc3RhdGU6IHN0cmluZywgYW5zd2VyOiBhbnkpOiBJbmplY3RvciB7XG4vLyAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4vLyAgICAgICBwcm92aWRlcnM6IFtcbi8vICAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiBncmlkIH0sXG4vLyAgICAgICAgIHsgcHJvdmlkZTogJ3N0YXRlJywgdXNlVmFsdWU6ICdjaGlsZCcgfSxcbi8vICAgICAgICAgeyBwcm92aWRlOiAnYW5zd2VyJywgdXNlVmFsdWU6IGFuc3dlciB9LFxuLy8gICAgICAgXSxcbi8vICAgICB9KTtcbi8vICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lciBtYi00IHB4LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keSBjb250YWluZXIgcHQtMyBwYi0zIHB4LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBwdC00IHBiLTMgcHgtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInNlY3Rpb25UaXRsZVwiPnt7IHF1ZXN0aW9uR3JvdXAudGl0bGUgfX08L3A+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiZGVjb2RlZERlc2NyaXB0aW9uXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiPjwvcD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBxdWVzdGlvbkdyb3VwLnJvd3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZ3JpZCBvZiByb3cuZ3JpZFwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnd2lkdGguJSc6IChncmlkLmVsZW1lbnQuY291bnQpICogKDEwMCAvIDEyKX1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJncmlkLmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1jaGVjay1ib3gtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInQ0hFQ0tfQk9YJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1jaGVjay1ib3gtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWRhdGUtdGltZS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidEQVRFX1RJTUUnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWRhdGUtdGltZS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZHJvcC1kb3duLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0RST1BfRE9XTidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItZHJvcC1kb3duLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1maWxlLXBpY2tlci1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidGSUxFX1BJQ0tFUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItZmlsZS1waWNrZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWxvY2F0aW9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0xPQ0FUSU9OJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1sb2NhdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItbWFpbC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidFTUFJTCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItbWFpbC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItbW9iaWxlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ01PQklMRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItbW9iaWxlLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1udW1iZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTlVNQkVSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1udW1iZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXBhc3N3b3JkLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1BBU1NXT1JEJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1wYXNzd29yZC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItcmFkaW8tYnV0dG9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1JBRElPX0JVVFRPTidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItcmFkaW8tYnV0dG9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1JJQ0hfVEVYVF9FRElUT1InXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInU0VMRUNUSU9OX01BVFJJWCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCIgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXNpZ25hdHVyZS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidTSUdOQVRVUkUnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXNpZ25hdHVyZS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItc2xpZGVyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NMSURFUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2xpZGVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFUk1TX0FORF9DT05ESVRJT04nXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXRlcm1zLWFuZC1jb25kaXRpb24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXRleHQtYXJlYS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0FSRUEnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXRleHQtYXJlYS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0JPWCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdG9nZ2xlLXN3aXRjaC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidUT0dHTEVfU1dJVENIJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIiBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCI+PC9saWItdG9nZ2xlLXN3aXRjaC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdXJsLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1VSTCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdXJsLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldENvbXBvbmVudEZvckNoaWxkTG9naWNzKGdyaWQuZWxlbWVudC5jaGlsZExvZ2ljcywgJ2NoaWxkJywgZ3JpZC5lbGVtZW50LmFuc3dlcikgYXMgY2FjaGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiY2FjaGVkLmNvbXBvbmVudCB8IGFzeW5jOyBpbmplY3RvcjogY2FjaGVkLmluamVjdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZD8uZWxlbWVudD8uY2hpbGRMb2dpY3NcIj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcG9uZW50VG9Mb2FkXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXBvbmVudFRvTG9hZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7IGdyaWQ6IGdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyOmdyaWQ/LmVsZW1lbnQ/LmFuc3dlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAnY2hpbGQnIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuIl19
|
|
@@ -17,6 +17,9 @@ export class RecursiveLogicComponent {
|
|
|
17
17
|
updateSubFormWithSubmissions(event) {
|
|
18
18
|
this.subFormChange.emit(event);
|
|
19
19
|
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
this.grid.element.answer = null;
|
|
22
|
+
}
|
|
20
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecursiveLogicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
24
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecursiveLogicComponent, selector: "lib-recursive-logic", inputs: { grid: "grid", currentPageIndex: "currentPageIndex", edit: "edit", acceptedLanguage: "acceptedLanguage", state: "state", answer: "answer" }, outputs: { subFormChange: "subFormChange" }, ngImport: i0, template: "<div *ngIf=\"grid.entityType === 'QUESTION'\">\n <lib-question\n [question]=\"grid?.element\"\n [edit]=\"edit\"\n [acceptedLanguage]=\"acceptedLanguage\"\n ></lib-question>\n</div>\n<div *ngIf=\"grid.entityType === 'SECTION'\">\n <lib-section-fields [section]=\"grid.element\"></lib-section-fields>\n</div>\n<ng-container *ngIf=\"grid.entityType === 'SUBFORM'\">\n <lib-sub-form\n [subForm]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n ></lib-sub-form>\n</ng-container>\n\n<ng-container *ngIf=\"grid.entityType === 'QUESTION_GROUP'\">\n <lib-question-group\n [questionGroup]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"\n ></lib-question-group>\n</ng-container>\n\n\n<ng-container *ngIf=\"grid.entityType === 'MULTIFIELD'\">\n <lib-multifields [multiFields]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-multifields>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SectionFieldsComponent, selector: "lib-section-fields", inputs: ["section"] }, { kind: "component", type: i3.QuestionComponent, selector: "lib-question", inputs: ["question", "edit", "acceptedLanguage", "currentPageIndex"], outputs: ["emitValidations", "subFormChange"] }, { kind: "component", type: i4.SubFormComponent, selector: "lib-sub-form", inputs: ["subForm", "edit", "acceptedLanguage"], outputs: ["subFormChange"] }, { kind: "component", type: i5.QuestionGroupComponent, selector: "lib-question-group", inputs: ["questionGroup", "edit", "acceptedLanguage"] }, { kind: "component", type: i6.MultifieldsComponent, selector: "lib-multifields", inputs: ["multiFields", "acceptedLanguage"] }] }); }
|
|
22
25
|
}
|
|
@@ -38,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
38
41
|
}], answer: [{
|
|
39
42
|
type: Input
|
|
40
43
|
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLWxvZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvcXVlc3Rpb24vcmVjdXJzaXZlLWxvZ2ljL3JlY3Vyc2l2ZS1sb2dpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3JlY3Vyc2l2ZS1sb2dpYy9yZWN1cnNpdmUtbG9naWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFPdkUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFDN0IsU0FBSSxHQUFhLEtBQUssQ0FBQztRQUN2QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBV25EO0lBUEMsNEJBQTRCLENBQUMsS0FBUztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUMsV0FBVztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQzsrR0FmVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4UENQcEMsKzhCQTRCZTs7NEZEckJGLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBS3RCLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcmVjdXJzaXZlLWxvZ2ljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY3Vyc2l2ZS1sb2dpYy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY3Vyc2l2ZS1sb2dpYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlY3Vyc2l2ZUxvZ2ljQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZ3JpZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlSW5kZXg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGVkaXQgOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9Jyc7XG4gIEBPdXRwdXQoKSBzdWJGb3JtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHN0YXRlITogc3RyaW5nO1xuICBASW5wdXQoKSBhbnN3ZXIhOiBzdHJpbmc7XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucyhldmVudDphbnkpe1xuICAgIHRoaXMuc3ViRm9ybUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5ncmlkLmVsZW1lbnQuYW5zd2VyPW51bGw7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJncmlkLmVudGl0eVR5cGUgPT09ICdRVUVTVElPTidcIj5cbiAgPGxpYi1xdWVzdGlvblxuICAgIFtxdWVzdGlvbl09XCJncmlkPy5lbGVtZW50XCJcbiAgICBbZWRpdF09XCJlZGl0XCJcbiAgICBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCJcbiAgPjwvbGliLXF1ZXN0aW9uPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnU0VDVElPTidcIj5cbiAgPGxpYi1zZWN0aW9uLWZpZWxkcyBbc2VjdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1zZWN0aW9uLWZpZWxkcz5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQuZW50aXR5VHlwZSA9PT0gJ1NVQkZPUk0nXCI+XG4gIDxsaWItc3ViLWZvcm1cbiAgICBbc3ViRm9ybV09XCJncmlkLmVsZW1lbnRcIlxuICAgIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIlxuICAgIChzdWJGb3JtQ2hhbmdlKT1cInVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoJGV2ZW50KVwiXG4gID48L2xpYi1zdWItZm9ybT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT05fR1JPVVAnXCI+XG4gIDxsaWItcXVlc3Rpb24tZ3JvdXBcbiAgICBbcXVlc3Rpb25Hcm91cF09XCJncmlkLmVsZW1lbnRcIlxuICAgIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIlxuICA+PC9saWItcXVlc3Rpb24tZ3JvdXA+XG48L25nLWNvbnRhaW5lcj5cblxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnTVVMVElGSUVMRCdcIj5cbiAgICA8bGliLW11bHRpZmllbGRzIFttdWx0aUZpZWxkc109XCJncmlkLmVsZW1lbnRcIiBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCI+PC9saWItbXVsdGlmaWVsZHM+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -107,11 +107,11 @@ export class SubFormComponent {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SubFormComponent, selector: "lib-sub-form", inputs: { subForm: "subForm", edit: "edit", acceptedLanguage: "acceptedLanguage" }, outputs: { subFormChange: "subFormChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\" [id]=\"'question-'+subForm.id\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ subForm.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div *ngIf=\"subForm.property.subFormStructure == 'multiple'\">\n <lib-multiple-subform *ngIf=\"!subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-multiple-subform>\n\n <lib-inline-multiple-subform *ngIf=\"subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-inline-multiple-subform>\n </div>\n <div *ngIf=\"subForm.property.subFormStructure == 'single'\">\n <div *ngFor=\"let row of subForm.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\" [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\"\n [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\"\n [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\"\n [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\"\n [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n \n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container\n *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as outlet\">\n <ng-container *ngComponentOutlet=\"outlet.component | async; injector: outlet.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n \n <ng-container *ngIf=\"componentToLoad\">\n \n <ng-container *ngComponentOutlet=\"componentToLoad; \n inputs: { grid: grid?.element?.childLogics, \n answer: 'an', \n state: 'child' }\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n \n <div *ngIf=\"grid.entityType === 'SECTION'\">\n <lib-section-fields [section]=\"grid.element\"></lib-section-fields>\n </div>\n </div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i3.DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i4.DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i5.FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question", "inLine"], outputs: ["answerChange", "inlineDeleteFiles"] }, { kind: "component", type: i6.LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i7.MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i8.MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i9.NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i10.PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i11.RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i12.RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i13.SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i14.SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i15.SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i16.TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i17.TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i18.TextFieldsComponent, selector: "lib-text-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i19.ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i20.UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i21.SectionFieldsComponent, selector: "lib-section-fields", inputs: ["section"] }, { kind: "component", type: i22.MultipleSubformComponent, selector: "lib-multiple-subform", inputs: ["subForm", "acceptedLanguage"], outputs: ["subFormChange"] }, { kind: "component", type: i23.InlineMultipleSubformComponent, selector: "lib-inline-multiple-subform", inputs: ["subForm", "acceptedLanguage"], outputs: ["subFormChange"] }] }); }
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SubFormComponent, selector: "lib-sub-form", inputs: { subForm: "subForm", edit: "edit", acceptedLanguage: "acceptedLanguage" }, outputs: { subFormChange: "subFormChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\" [id]=\"'question-'+subForm.id\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ subForm.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div *ngIf=\"subForm.property.subFormStructure == 'multiple'\">\n <lib-multiple-subform *ngIf=\"!subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-multiple-subform>\n\n <lib-inline-multiple-subform *ngIf=\"subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-inline-multiple-subform>\n </div>\n <div *ngIf=\"subForm.property.subFormStructure == 'single'\">\n <div *ngFor=\"let row of subForm.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\" [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\"\n [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\"\n [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\"\n [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\"\n [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n\n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container\n *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as outlet\">\n <ng-container *ngComponentOutlet=\"outlet.component | async; injector: outlet.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: grid?.element?.childLogics,\n answer: grid?.element?.answer,\n state: 'child' }\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"grid.entityType === 'SECTION'\">\n <lib-section-fields [section]=\"grid.element\"></lib-section-fields>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i3.DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i4.DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i5.FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question", "inLine"], outputs: ["answerChange", "inlineDeleteFiles"] }, { kind: "component", type: i6.LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i7.MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i8.MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i9.NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i10.PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i11.RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i12.RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i13.SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i14.SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i15.SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i16.TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i17.TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i18.TextFieldsComponent, selector: "lib-text-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i19.ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i20.UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i21.SectionFieldsComponent, selector: "lib-section-fields", inputs: ["section"] }, { kind: "component", type: i22.MultipleSubformComponent, selector: "lib-multiple-subform", inputs: ["subForm", "acceptedLanguage"], outputs: ["subFormChange"] }, { kind: "component", type: i23.InlineMultipleSubformComponent, selector: "lib-inline-multiple-subform", inputs: ["subForm", "acceptedLanguage"], outputs: ["subFormChange"] }] }); }
|
|
111
111
|
}
|
|
112
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubFormComponent, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
|
-
args: [{ selector: 'lib-sub-form', template: "<div class=\"outer-container mb-4 px-3\" [id]=\"'question-'+subForm.id\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ subForm.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div *ngIf=\"subForm.property.subFormStructure == 'multiple'\">\n <lib-multiple-subform *ngIf=\"!subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-multiple-subform>\n\n <lib-inline-multiple-subform *ngIf=\"subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-inline-multiple-subform>\n </div>\n <div *ngIf=\"subForm.property.subFormStructure == 'single'\">\n <div *ngFor=\"let row of subForm.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\" [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\"\n [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\"\n [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\"\n [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\"\n [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n
|
|
114
|
+
args: [{ selector: 'lib-sub-form', template: "<div class=\"outer-container mb-4 px-3\" [id]=\"'question-'+subForm.id\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ subForm.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n\n <div *ngIf=\"subForm.property.subFormStructure == 'multiple'\">\n <lib-multiple-subform *ngIf=\"!subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-multiple-subform>\n\n <lib-inline-multiple-subform *ngIf=\"subForm.property.enableInlineEditing\" [subForm]=\"subForm\"\n (subFormChange)=\"updateSubFormWithSubmissions($event)\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-inline-multiple-subform>\n </div>\n <div *ngIf=\"subForm.property.subFormStructure == 'single'\">\n <div *ngFor=\"let row of subForm.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\" [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\"\n [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\"\n [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\"\n [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\"\n [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\"\n [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n\n <!-- <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container\n *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as outlet\">\n <ng-container *ngComponentOutlet=\"outlet.component | async; injector: outlet.injector\">\n </ng-container>\n </ng-container>\n </ng-container> -->\n <ng-container *ngIf=\"grid?.element?.childLogics\">\n\n <ng-container *ngIf=\"componentToLoad\">\n\n <ng-container *ngComponentOutlet=\"componentToLoad;\n inputs: { grid: grid?.element?.childLogics,\n answer: grid?.element?.answer,\n state: 'child' }\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"grid.entityType === 'SECTION'\">\n <lib-section-fields [section]=\"grid.element\"></lib-section-fields>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"] }]
|
|
115
115
|
}], propDecorators: { subForm: [{
|
|
116
116
|
type: Input
|
|
117
117
|
}], edit: [{
|
|
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
121
121
|
}], acceptedLanguage: [{
|
|
122
122
|
type: Input
|
|
123
123
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9zdWItZm9ybS9zdWItZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3N1Yi1mb3JtL3N1Yi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNVyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUN2Qyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFHaEMsb0JBQWUsR0FBdUUsRUFBRSxDQUFDO0tBcUcxRjtJQWpHQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELHVIQUF1SDtJQUN2SCw4REFBOEQ7SUFDOUQsc0NBQXNDO0lBQ3RDLDBEQUEwRDtJQUMxRCxpRUFBaUU7SUFDakUsMkRBQTJEO0lBQzNELE1BQU07SUFDTixzQ0FBc0M7SUFDdEMsSUFBSTtJQUVJLEtBQUssQ0FBQyxhQUFhO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxJQUFJ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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBVTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDOytHQTVHVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwwTUNkN0Isa21LQThFQTs7NEZEaEVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjOzhCQUtmLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zdWItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1Yi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN1YkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzdWJGb3JtOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3ViRm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBhY2NlcHRlZExhbmd1YWdlOiBzdHJpbmcgPSAnJztcbiAgZGVjb2RlZERlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgZ3JpZDogYW55O1xuICBzdGF0ZSE6IHN0cmluZztcbiAgY2hpbGRMb2dpY0NhY2hlOiB7IFtrZXk6IHN0cmluZ106IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IH0gPSB7fTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc3ViRm9ybS5wcm9wZXJ0eS5zdWJGb3JtU3RydWN0dXJlID09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLmJpbmRBbnN3ZXJzVG9Gb3JtRWxlbWVudHMoKTtcbiAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gZ2V0Q29tcG9uZW50Rm9yQ2hpbGRMb2dpY3MoZ3JpZDogYW55LCBzdGF0ZTogc3RyaW5nLCBhbnN3ZXI6IGFueSk6IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IHtcbiAgLy8gICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeSh7Z3JpZCwgc3RhdGV9KTsgLy8gb3IgdXNlIGhhc2hcbiAgLy8gICBpZiAoIXRoaXMuY2hpbGRMb2dpY0NhY2hlW2tleV0pIHtcbiAgLy8gICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuICAvLyAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGdyaWQsIHN0YXRlLCBhbnN3ZXIpO1xuICAvLyAgICAgdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XSA9IHsgY29tcG9uZW50LCBpbmplY3RvciB9O1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XTtcbiAgLy8gfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvbXBvbmVudFRvTG9hZCA9IGF3YWl0IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKCk7XG4gIH1cbiAgXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpIHtcbiAgICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4gICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDsgICAgXG4gIH1cblxuICBjcmVhdGVJbmplY3RvcigpOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiB0aGlzLmdyaWQ/LmVsZW1lbnQuY2hpbGRMb2dpY3MgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogJ3N0YXRlJywgdXNlVmFsdWU6ICdjaGlsZCcgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBkZWNvZGVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIHRleHRBcmVhLmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRleHRBcmVhLnZhbHVlO1xuICB9XG5cbiAgYmluZEFuc3dlcnNUb0Zvcm1FbGVtZW50cygpIHtcbiAgICBjb25zdCBiaW5kQW5zd2VycyA9IChmb3JtRWxlbWVudHM6IGFueVtdLCBzdWJtaXNzaW9uczogYW55W10pID0+IHtcbiAgICAgIGZvcm1FbGVtZW50cz8uZm9yRWFjaCgoZ3JpZHM6IGFueSkgPT4ge1xuICAgICAgICBncmlkcz8uZ3JpZD8uZm9yRWFjaChcbiAgICAgICAgICAoZm9ybUVsZW1lbnQ6IHsgZW50aXR5VHlwZTogc3RyaW5nOyBlbGVtZW50OiBhbnkgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZvcm1FbGVtZW50LmVudGl0eVR5cGUgPT09ICdRVUVTVElPTicpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc3VibWlzc2lvbiA9IHN1Ym1pc3Npb25zLmZpbmQoKHN1YjogeyBhbnN3ZXJzOiBhbnlbXSB9KSA9PlxuICAgICAgICAgICAgICAgIHN1Yi5hbnN3ZXJzLnNvbWUoXG4gICAgICAgICAgICAgICAgICAoYW5zOiB7IHF1ZXN0aW9uSWQ6IGFueSB9KSA9PlxuICAgICAgICAgICAgICAgICAgICBhbnMucXVlc3Rpb25JZCA9PT0gZm9ybUVsZW1lbnQuZWxlbWVudC5pZFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBpZiAoc3VibWlzc2lvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuc3dlciA9IHN1Ym1pc3Npb24uYW5zd2Vycy5maW5kKFxuICAgICAgICAgICAgICAgICAgKGFuczogeyBxdWVzdGlvbklkOiBhbnkgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgYW5zLnF1ZXN0aW9uSWQgPT09IGZvcm1FbGVtZW50LmVsZW1lbnQuaWRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChhbnN3ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyID0gYW5zd2VyLmFuc3dlcjtcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VySWQgPSBhbnN3ZXIuYW5zd2VySWQ7XG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LnZhbGlkYXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgZm9ybUVsZW1lbnQuZWxlbWVudC5hdHRhY2htZW50cyA9IGFuc3dlci5hdHRhY2htZW50cztcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9uSWQgPSBzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoZm9ybUVsZW1lbnQuZWxlbWVudC5jaGlsZExvZ2ljcykge1xuICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuY2hpbGRMb2dpY3MuZm9yRWFjaChcbiAgICAgICAgICAgICAgICAgIChjaGlsZExvZ2ljOiB7IHJvd3M6IGFueVtdIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYmluZEFuc3dlcnMoY2hpbGRMb2dpYy5yb3dzLCBzdWJtaXNzaW9ucyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5zdWJGb3JtICYmIHRoaXMuc3ViRm9ybS5yb3dzICYmIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucykge1xuICAgICAgYmluZEFuc3dlcnModGhpcy5zdWJGb3JtLnJvd3MsIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucyhldmVudDogYW55KSB7XG4gICAgdGhpcy5zdWJGb3JtID0gZXZlbnQ7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YkZvcm0uZGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZGVjb2RlZERlc2NyaXB0aW9uID0gdGhpcy5kZWNvZGVIdG1sKHRoaXMuc3ViRm9ybS5kZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib3V0ZXItY29udGFpbmVyIG1iLTQgcHgtM1wiIFtpZF09XCIncXVlc3Rpb24tJytzdWJGb3JtLmlkXCI+XG4gIDxkaXYgY2xhc3M9XCJib2R5IGNvbnRhaW5lciBwdC0zIHBiLTMgcHgtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBwdC00IHBiLTMgcHgtM1wiPlxuICAgICAgPHAgY2xhc3M9XCJzZWN0aW9uVGl0bGVcIj57eyBzdWJGb3JtLnRpdGxlIH19PC9wPlxuICAgICAgPHAgW2lubmVySFRNTF09XCJkZWNvZGVkRGVzY3JpcHRpb25cIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+PC9wPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic3ViRm9ybS5wcm9wZXJ0eS5zdWJGb3JtU3RydWN0dXJlID09ICdtdWx0aXBsZSdcIj5cbiAgICAgICAgPGxpYi1tdWx0aXBsZS1zdWJmb3JtICpuZ0lmPVwiIXN1YkZvcm0ucHJvcGVydHkuZW5hYmxlSW5saW5lRWRpdGluZ1wiIFtzdWJGb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgIChzdWJGb3JtQ2hhbmdlKT1cInVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoJGV2ZW50KVwiXG4gICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLW11bHRpcGxlLXN1YmZvcm0+XG5cbiAgICAgICAgPGxpYi1pbmxpbmUtbXVsdGlwbGUtc3ViZm9ybSAqbmdJZj1cInN1YkZvcm0ucHJvcGVydHkuZW5hYmxlSW5saW5lRWRpdGluZ1wiIFtzdWJGb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgIChzdWJGb3JtQ2hhbmdlKT1cInVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoJGV2ZW50KVwiXG4gICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLWlubGluZS1tdWx0aXBsZS1zdWJmb3JtPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwic3ViRm9ybS5wcm9wZXJ0eS5zdWJGb3JtU3RydWN0dXJlID09ICdzaW5nbGUnXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBzdWJGb3JtLnJvd3NcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBncmlkIG9mIHJvdy5ncmlkXCIgW25nU3R5bGVdPVwieyd3aWR0aC4lJzogKGdyaWQuZWxlbWVudC5jb3VudCkgKiAoMTAwIC8gMTIpfVwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiZ3JpZC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICA8bGliLWNoZWNrLWJveC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWRhdGUtdGltZS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidEQVRFX1RJTUUnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWRhdGUtdGltZS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWRyb3AtZG93bi1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidEUk9QX0RPV04nXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWRyb3AtZG93bi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWZpbGUtcGlja2VyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWxvY2F0aW9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0xPQ0FUSU9OJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1sb2NhdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLW1haWwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInRU1BSUwnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLW1haWwtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1tb2JpbGUtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTU9CSUxFJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1tb2JpbGUtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1udW1iZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTlVNQkVSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1udW1iZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1wYXNzd29yZC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidQQVNTV09SRCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItcGFzc3dvcmQtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUkFESU9fQlVUVE9OJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1JJQ0hfVEVYVF9FRElUT1InXCJcbiAgICAgICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NFTEVDVElPTl9NQVRSSVgnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIj48L2xpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItc2lnbmF0dXJlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NJR05BVFVSRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2lnbmF0dXJlLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItc2xpZGVyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NMSURFUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2xpZGVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVJNU19BTkRfQ09ORElUSU9OJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQVJFQSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0JPWCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLXRvZ2dsZS1zd2l0Y2gtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVE9HR0xFX1NXSVRDSCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLXRvZ2dsZS1zd2l0Y2gtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi11cmwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi11cmwtZmllbGRzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MsICdjaGlsZCcsIGdyaWQuZWxlbWVudC5hbnN3ZXIpIGFzIG91dGxldFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cIm91dGxldC5jb21wb25lbnQgfCBhc3luYzsgaW5qZWN0b3I6IG91dGxldC5pbmplY3RvclwiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZD8uZWxlbWVudD8uY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcG9uZW50VG9Mb2FkXCI+XG4gICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50VG9Mb2FkOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0czogeyBncmlkOiBncmlkPy5lbGVtZW50Py5jaGlsZExvZ2ljcywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyOiAnYW4nLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoaWxkJyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdyaWQuZW50aXR5VHlwZSA9PT0gJ1NFQ1RJT04nXCI+XG4gICAgICAgICAgICAgICAgPGxpYi1zZWN0aW9uLWZpZWxkcyBbc2VjdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1zZWN0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9zdWItZm9ybS9zdWItZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3N1Yi1mb3JtL3N1Yi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNVyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUN2Qyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFHaEMsb0JBQWUsR0FBdUUsRUFBRSxDQUFDO0tBcUcxRjtJQWpHQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELHVIQUF1SDtJQUN2SCw4REFBOEQ7SUFDOUQsc0NBQXNDO0lBQ3RDLDBEQUEwRDtJQUMxRCxpRUFBaUU7SUFDakUsMkRBQTJEO0lBQzNELE1BQU07SUFDTixzQ0FBc0M7SUFDdEMsSUFBSTtJQUVJLEtBQUssQ0FBQyxhQUFhO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxJQUFJ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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBVTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDOytHQTVHVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwwTUNkN0IsOGtLQThFQTs7NEZEaEVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjOzhCQUtmLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zdWItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1Yi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN1YkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzdWJGb3JtOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3ViRm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBhY2NlcHRlZExhbmd1YWdlOiBzdHJpbmcgPSAnJztcbiAgZGVjb2RlZERlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgZ3JpZDogYW55O1xuICBzdGF0ZSE6IHN0cmluZztcbiAgY2hpbGRMb2dpY0NhY2hlOiB7IFtrZXk6IHN0cmluZ106IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IH0gPSB7fTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc3ViRm9ybS5wcm9wZXJ0eS5zdWJGb3JtU3RydWN0dXJlID09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLmJpbmRBbnN3ZXJzVG9Gb3JtRWxlbWVudHMoKTtcbiAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gZ2V0Q29tcG9uZW50Rm9yQ2hpbGRMb2dpY3MoZ3JpZDogYW55LCBzdGF0ZTogc3RyaW5nLCBhbnN3ZXI6IGFueSk6IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IHtcbiAgLy8gICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeSh7Z3JpZCwgc3RhdGV9KTsgLy8gb3IgdXNlIGhhc2hcbiAgLy8gICBpZiAoIXRoaXMuY2hpbGRMb2dpY0NhY2hlW2tleV0pIHtcbiAgLy8gICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuICAvLyAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGdyaWQsIHN0YXRlLCBhbnN3ZXIpO1xuICAvLyAgICAgdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XSA9IHsgY29tcG9uZW50LCBpbmplY3RvciB9O1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XTtcbiAgLy8gfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvbXBvbmVudFRvTG9hZCA9IGF3YWl0IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKCk7XG4gIH1cbiAgXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpIHtcbiAgICBjb25zdCB7IEZvcm1FbGVtZW50c0NvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50Jyk7XG4gICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDsgICAgXG4gIH1cblxuICBjcmVhdGVJbmplY3RvcigpOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiB0aGlzLmdyaWQ/LmVsZW1lbnQuY2hpbGRMb2dpY3MgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogJ3N0YXRlJywgdXNlVmFsdWU6ICdjaGlsZCcgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBkZWNvZGVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIHRleHRBcmVhLmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRleHRBcmVhLnZhbHVlO1xuICB9XG5cbiAgYmluZEFuc3dlcnNUb0Zvcm1FbGVtZW50cygpIHtcbiAgICBjb25zdCBiaW5kQW5zd2VycyA9IChmb3JtRWxlbWVudHM6IGFueVtdLCBzdWJtaXNzaW9uczogYW55W10pID0+IHtcbiAgICAgIGZvcm1FbGVtZW50cz8uZm9yRWFjaCgoZ3JpZHM6IGFueSkgPT4ge1xuICAgICAgICBncmlkcz8uZ3JpZD8uZm9yRWFjaChcbiAgICAgICAgICAoZm9ybUVsZW1lbnQ6IHsgZW50aXR5VHlwZTogc3RyaW5nOyBlbGVtZW50OiBhbnkgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZvcm1FbGVtZW50LmVudGl0eVR5cGUgPT09ICdRVUVTVElPTicpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc3VibWlzc2lvbiA9IHN1Ym1pc3Npb25zLmZpbmQoKHN1YjogeyBhbnN3ZXJzOiBhbnlbXSB9KSA9PlxuICAgICAgICAgICAgICAgIHN1Yi5hbnN3ZXJzLnNvbWUoXG4gICAgICAgICAgICAgICAgICAoYW5zOiB7IHF1ZXN0aW9uSWQ6IGFueSB9KSA9PlxuICAgICAgICAgICAgICAgICAgICBhbnMucXVlc3Rpb25JZCA9PT0gZm9ybUVsZW1lbnQuZWxlbWVudC5pZFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBpZiAoc3VibWlzc2lvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuc3dlciA9IHN1Ym1pc3Npb24uYW5zd2Vycy5maW5kKFxuICAgICAgICAgICAgICAgICAgKGFuczogeyBxdWVzdGlvbklkOiBhbnkgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgYW5zLnF1ZXN0aW9uSWQgPT09IGZvcm1FbGVtZW50LmVsZW1lbnQuaWRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChhbnN3ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyID0gYW5zd2VyLmFuc3dlcjtcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VySWQgPSBhbnN3ZXIuYW5zd2VySWQ7XG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LnZhbGlkYXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgZm9ybUVsZW1lbnQuZWxlbWVudC5hdHRhY2htZW50cyA9IGFuc3dlci5hdHRhY2htZW50cztcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9uSWQgPSBzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoZm9ybUVsZW1lbnQuZWxlbWVudC5jaGlsZExvZ2ljcykge1xuICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuY2hpbGRMb2dpY3MuZm9yRWFjaChcbiAgICAgICAgICAgICAgICAgIChjaGlsZExvZ2ljOiB7IHJvd3M6IGFueVtdIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYmluZEFuc3dlcnMoY2hpbGRMb2dpYy5yb3dzLCBzdWJtaXNzaW9ucyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5zdWJGb3JtICYmIHRoaXMuc3ViRm9ybS5yb3dzICYmIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucykge1xuICAgICAgYmluZEFuc3dlcnModGhpcy5zdWJGb3JtLnJvd3MsIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucyhldmVudDogYW55KSB7XG4gICAgdGhpcy5zdWJGb3JtID0gZXZlbnQ7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YkZvcm0uZGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZGVjb2RlZERlc2NyaXB0aW9uID0gdGhpcy5kZWNvZGVIdG1sKHRoaXMuc3ViRm9ybS5kZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib3V0ZXItY29udGFpbmVyIG1iLTQgcHgtM1wiIFtpZF09XCIncXVlc3Rpb24tJytzdWJGb3JtLmlkXCI+XG4gIDxkaXYgY2xhc3M9XCJib2R5IGNvbnRhaW5lciBwdC0zIHBiLTMgcHgtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBwdC00IHBiLTMgcHgtM1wiPlxuICAgICAgPHAgY2xhc3M9XCJzZWN0aW9uVGl0bGVcIj57eyBzdWJGb3JtLnRpdGxlIH19PC9wPlxuICAgICAgPHAgW2lubmVySFRNTF09XCJkZWNvZGVkRGVzY3JpcHRpb25cIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+PC9wPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic3ViRm9ybS5wcm9wZXJ0eS5zdWJGb3JtU3RydWN0dXJlID09ICdtdWx0aXBsZSdcIj5cbiAgICAgICAgPGxpYi1tdWx0aXBsZS1zdWJmb3JtICpuZ0lmPVwiIXN1YkZvcm0ucHJvcGVydHkuZW5hYmxlSW5saW5lRWRpdGluZ1wiIFtzdWJGb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgIChzdWJGb3JtQ2hhbmdlKT1cInVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoJGV2ZW50KVwiXG4gICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLW11bHRpcGxlLXN1YmZvcm0+XG5cbiAgICAgICAgPGxpYi1pbmxpbmUtbXVsdGlwbGUtc3ViZm9ybSAqbmdJZj1cInN1YkZvcm0ucHJvcGVydHkuZW5hYmxlSW5saW5lRWRpdGluZ1wiIFtzdWJGb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgIChzdWJGb3JtQ2hhbmdlKT1cInVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoJGV2ZW50KVwiXG4gICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLWlubGluZS1tdWx0aXBsZS1zdWJmb3JtPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwic3ViRm9ybS5wcm9wZXJ0eS5zdWJGb3JtU3RydWN0dXJlID09ICdzaW5nbGUnXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBzdWJGb3JtLnJvd3NcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBncmlkIG9mIHJvdy5ncmlkXCIgW25nU3R5bGVdPVwieyd3aWR0aC4lJzogKGdyaWQuZWxlbWVudC5jb3VudCkgKiAoMTAwIC8gMTIpfVwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiZ3JpZC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICA8bGliLWNoZWNrLWJveC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWRhdGUtdGltZS1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidEQVRFX1RJTUUnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWRhdGUtdGltZS1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWRyb3AtZG93bi1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidEUk9QX0RPV04nXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWRyb3AtZG93bi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWZpbGUtcGlja2VyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLWxvY2F0aW9uLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0xPQ0FUSU9OJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1sb2NhdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLW1haWwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInRU1BSUwnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLW1haWwtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1tb2JpbGUtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTU9CSUxFJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1tb2JpbGUtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1udW1iZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTlVNQkVSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1udW1iZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1wYXNzd29yZC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidQQVNTV09SRCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItcGFzc3dvcmQtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUkFESU9fQlVUVE9OJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1JJQ0hfVEVYVF9FRElUT1InXCJcbiAgICAgICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NFTEVDVElPTl9NQVRSSVgnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIj48L2xpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItc2lnbmF0dXJlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NJR05BVFVSRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2lnbmF0dXJlLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItc2xpZGVyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NMSURFUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2xpZGVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVJNU19BTkRfQ09ORElUSU9OJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQVJFQSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0JPWCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICA8bGliLXRvZ2dsZS1zd2l0Y2gtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVE9HR0xFX1NXSVRDSCdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiPjwvbGliLXRvZ2dsZS1zd2l0Y2gtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPGxpYi11cmwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi11cmwtZmllbGRzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0Q29tcG9uZW50Rm9yQ2hpbGRMb2dpY3MoZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzLCAnY2hpbGQnLCBncmlkLmVsZW1lbnQuYW5zd2VyKSBhcyBvdXRsZXRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJvdXRsZXQuY29tcG9uZW50IHwgYXN5bmM7IGluamVjdG9yOiBvdXRsZXQuaW5qZWN0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzXCI+XG5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wb25lbnRUb0xvYWRcIj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXBvbmVudFRvTG9hZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0czogeyBncmlkOiBncmlkPy5lbGVtZW50Py5jaGlsZExvZ2ljcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXI6ICBncmlkPy5lbGVtZW50Py5hbnN3ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6ICdjaGlsZCcgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnU0VDVElPTidcIj5cbiAgICAgICAgICAgICAgICA8bGliLXNlY3Rpb24tZmllbGRzIFtzZWN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXNlY3Rpb24tZmllbGRzPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|