UNPKG

iptdevs-design-system

Version:

Library common elements into IPT Plattform.

346 lines (336 loc) 23 kB
import { Component, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "../../atoms/input/input.component"; export class QuestionTypeComponent { ngOnChanges(changes) { if (changes['formGruoup']) { } } clickDetection(value) { switch (value) { case 'value1': if (this.formGruoup.controls['value1'].value === 1) { this.formGruoup.controls['value2'].value === 0; this.formGruoup.controls['value3'].value === 0; this.formGruoup.controls['value4'].value === 0; } break; case 'value2': if (this.formGruoup.controls['value2'].value === 1) { this.formGruoup.controls['value1'].value === 0; this.formGruoup.controls['value3'].value === 0; this.formGruoup.controls['value4'].value === 0; } break; case 'value3': if (this.formGruoup.controls['value3'].value === 1) { this.formGruoup.controls['value1'].value === 0; this.formGruoup.controls['value2'].value === 0; this.formGruoup.controls['value4'].value === 0; } break; case 'value4': if (this.formGruoup.controls['value4'].value === 1) { this.formGruoup.controls['value1'].value === 0; this.formGruoup.controls['value2'].value === 0; this.formGruoup.controls['value3'].value === 0; } break; default: console.log('exception'); break; } } } QuestionTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); QuestionTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: QuestionTypeComponent, selector: "ipt-question-types", inputs: { questionType: "questionType", formGruoup: "formGruoup" }, usesOnChanges: true, ngImport: i0, template: ` <div *ngIf=" this.questionType === 'True or False' || this.questionType === 'Correct or Incorrect' " class="sectionABCD" > <fieldset disabled="disabled"> <ipt-input [control]="formGruoup.controls['answer1']" [inputType]="'text'" [placeHolder]=" this.questionType === 'True or False' ? 'True' : 'Correct' " [validateText]="'Este campo es requerido'" > </ipt-input> </fieldset> <ipt-input [control]="formGruoup.controls['value1']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value1")' > </ipt-input> <fieldset disabled="disabled"> <ipt-input [control]="formGruoup.controls['answer2']" [inputType]="'text'" [placeHolder]=" this.questionType === 'True or False' ? 'False' : 'Incorrect' " [validateText]="'Este campo es requerido'" > </ipt-input> </fieldset> <ipt-input [control]="formGruoup.controls['value2']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value2")' > </ipt-input> </div> <div *ngIf=" this.questionType === 'Relationship' || this.questionType === 'Complete' || this.questionType === 'Conversation' " class="sectionABCD" > <ipt-input [control]="formGruoup.controls['answer1']" [inputType]="'text'" [placeHolder]="'Ingrese la opción'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value1']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value1")' > </ipt-input> </div> <div *ngIf=" this.questionType === 'A, B, C' || this.questionType === 'A, B, C, D' " class="sectionABCD" > <ipt-input [control]="formGruoup.controls['answer1']" [inputType]="'text'" [placeHolder]="'Opción A *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value1']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value1")' > </ipt-input> <ipt-input [control]="formGruoup.controls['answer2']" [inputType]="'text'" [placeHolder]="'Opción B *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value2']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value2")' > </ipt-input> <ipt-input [control]="formGruoup.controls['answer3']" [inputType]="'text'" [placeHolder]="'Opción C *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value3']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value3")' > </ipt-input> <ipt-input *ngIf="this.questionType === 'A, B, C, D'" [control]="formGruoup.controls['answer4']" [inputType]="'text'" [placeHolder]="'Opción D *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input *ngIf="this.questionType === 'A, B, C, D'" [control]="formGruoup.controls['value4']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value4")' > </ipt-input> </div> `, isInline: true, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, decorators: [{ type: Component, args: [{ selector: 'ipt-question-types', template: ` <div *ngIf=" this.questionType === 'True or False' || this.questionType === 'Correct or Incorrect' " class="sectionABCD" > <fieldset disabled="disabled"> <ipt-input [control]="formGruoup.controls['answer1']" [inputType]="'text'" [placeHolder]=" this.questionType === 'True or False' ? 'True' : 'Correct' " [validateText]="'Este campo es requerido'" > </ipt-input> </fieldset> <ipt-input [control]="formGruoup.controls['value1']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value1")' > </ipt-input> <fieldset disabled="disabled"> <ipt-input [control]="formGruoup.controls['answer2']" [inputType]="'text'" [placeHolder]=" this.questionType === 'True or False' ? 'False' : 'Incorrect' " [validateText]="'Este campo es requerido'" > </ipt-input> </fieldset> <ipt-input [control]="formGruoup.controls['value2']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value2")' > </ipt-input> </div> <div *ngIf=" this.questionType === 'Relationship' || this.questionType === 'Complete' || this.questionType === 'Conversation' " class="sectionABCD" > <ipt-input [control]="formGruoup.controls['answer1']" [inputType]="'text'" [placeHolder]="'Ingrese la opción'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value1']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value1")' > </ipt-input> </div> <div *ngIf=" this.questionType === 'A, B, C' || this.questionType === 'A, B, C, D' " class="sectionABCD" > <ipt-input [control]="formGruoup.controls['answer1']" [inputType]="'text'" [placeHolder]="'Opción A *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value1']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value1")' > </ipt-input> <ipt-input [control]="formGruoup.controls['answer2']" [inputType]="'text'" [placeHolder]="'Opción B *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value2']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value2")' > </ipt-input> <ipt-input [control]="formGruoup.controls['answer3']" [inputType]="'text'" [placeHolder]="'Opción C *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input [control]="formGruoup.controls['value3']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value3")' > </ipt-input> <ipt-input *ngIf="this.questionType === 'A, B, C, D'" [control]="formGruoup.controls['answer4']" [inputType]="'text'" [placeHolder]="'Opción D *'" [validateText]="'Este campo es requerido'" > </ipt-input> <ipt-input *ngIf="this.questionType === 'A, B, C, D'" [control]="formGruoup.controls['value4']" [inputType]="'number'" [placeHolder]="'Valor *'" [validateText]="'Debe ser 0 o 1'" (click)='clickDetection("value4")' > </ipt-input> </div> `, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"] }] }], propDecorators: { questionType: [{ type: Input }], formGruoup: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1xdWVzdGlvbi10eXBlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcXVlc3Rpb24tdHlwZS9lZGl0LXF1ZXN0aW9uLXR5cGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7QUF5SjNFLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxRQUFRO2dCQUNYLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtvQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztpQkFDaEQ7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7b0JBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7b0JBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7aUJBQ2hEO2dCQUNELE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO29CQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO29CQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO2lCQUNoRDtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtvQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztpQkFDaEQ7Z0JBQ0QsTUFBTTtZQUVSO2dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ3hCLE1BQU07U0FDVDtJQUNILENBQUM7O2tIQTVDVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixtSkFwSnRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUpUOzJGQUdVLHFCQUFxQjtrQkF0SmpDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUpUOzhCQUlRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpcHQtcXVlc3Rpb24tdHlwZXMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIHRoaXMucXVlc3Rpb25UeXBlID09PSAnVHJ1ZSBvciBGYWxzZScgfHxcbiAgICAgICAgdGhpcy5xdWVzdGlvblR5cGUgPT09ICdDb3JyZWN0IG9yIEluY29ycmVjdCdcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cInNlY3Rpb25BQkNEXCJcbiAgICA+XG4gICAgICA8ZmllbGRzZXQgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1snYW5zd2VyMSddXCJcbiAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIlxuICAgICAgICAgICAgdGhpcy5xdWVzdGlvblR5cGUgPT09ICdUcnVlIG9yIEZhbHNlJyA/ICdUcnVlJyA6ICdDb3JyZWN0J1xuICAgICAgICAgIFwiXG4gICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRXN0ZSBjYW1wbyBlcyByZXF1ZXJpZG8nXCJcbiAgICAgICAgPlxuICAgICAgICA8L2lwdC1pbnB1dD5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtjb250cm9sXT1cImZvcm1HcnVvdXAuY29udHJvbHNbJ3ZhbHVlMSddXCJcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInVmFsb3IgKidcIlxuICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIHNlciAwIG8gMSdcIlxuICAgICAgICAoY2xpY2spPSdjbGlja0RldGVjdGlvbihcInZhbHVlMVwiKSdcbiAgICAgID5cbiAgICAgIDwvaXB0LWlucHV0PlxuICAgICAgPGZpZWxkc2V0IGRpc2FibGVkPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgIFtjb250cm9sXT1cImZvcm1HcnVvdXAuY29udHJvbHNbJ2Fuc3dlcjInXVwiXG4gICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCJcbiAgICAgICAgICAgIHRoaXMucXVlc3Rpb25UeXBlID09PSAnVHJ1ZSBvciBGYWxzZScgPyAnRmFsc2UnIDogJ0luY29ycmVjdCdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9pcHQtaW5wdXQ+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbY29udHJvbF09XCJmb3JtR3J1b3VwLmNvbnRyb2xzWyd2YWx1ZTInXVwiXG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1ZhbG9yIConXCJcbiAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBzZXIgMCBvIDEnXCJcbiAgICAgICAgKGNsaWNrKT0nY2xpY2tEZXRlY3Rpb24oXCJ2YWx1ZTJcIiknXG4gICAgICA+XG4gICAgICA8L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIHRoaXMucXVlc3Rpb25UeXBlID09PSAnUmVsYXRpb25zaGlwJyB8fFxuICAgICAgICB0aGlzLnF1ZXN0aW9uVHlwZSA9PT0gJ0NvbXBsZXRlJyB8fFxuICAgICAgICB0aGlzLnF1ZXN0aW9uVHlwZSA9PT0gJ0NvbnZlcnNhdGlvbidcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cInNlY3Rpb25BQkNEXCJcbiAgICA+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtjb250cm9sXT1cImZvcm1HcnVvdXAuY29udHJvbHNbJ2Fuc3dlcjEnXVwiXG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidJbmdyZXNlIGxhIG9wY2nDs24nXCJcbiAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRXN0ZSBjYW1wbyBlcyByZXF1ZXJpZG8nXCJcbiAgICAgID5cbiAgICAgIDwvaXB0LWlucHV0PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbY29udHJvbF09XCJmb3JtR3J1b3VwLmNvbnRyb2xzWyd2YWx1ZTEnXVwiXG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1ZhbG9yIConXCJcbiAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBzZXIgMCBvIDEnXCJcbiAgICAgICAgKGNsaWNrKT0nY2xpY2tEZXRlY3Rpb24oXCJ2YWx1ZTFcIiknXG4gICAgICA+XG4gICAgICA8L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIHRoaXMucXVlc3Rpb25UeXBlID09PSAnQSwgQiwgQycgfHwgdGhpcy5xdWVzdGlvblR5cGUgPT09ICdBLCBCLCBDLCBEJ1xuICAgICAgXCJcbiAgICAgIGNsYXNzPVwic2VjdGlvbkFCQ0RcIlxuICAgID5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1snYW5zd2VyMSddXCJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ09wY2nDs24gQSAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvJ1wiXG4gICAgICA+XG4gICAgICA8L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUxJ11cIlxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidWYWxvciAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgc2VyIDAgbyAxJ1wiXG4gICAgICAgIChjbGljayk9J2NsaWNrRGV0ZWN0aW9uKFwidmFsdWUxXCIpJ1xuICAgICAgPlxuICAgICAgPC9pcHQtaW5wdXQ+XG5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1snYW5zd2VyMiddXCJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ09wY2nDs24gQiAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvJ1wiXG4gICAgICA+XG4gICAgICA8L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUyJ11cIlxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidWYWxvciAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgc2VyIDAgbyAxJ1wiXG4gICAgICAgIChjbGljayk9J2NsaWNrRGV0ZWN0aW9uKFwidmFsdWUyXCIpJ1xuICAgICAgPlxuICAgICAgPC9pcHQtaW5wdXQ+XG5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1snYW5zd2VyMyddXCJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ09wY2nDs24gQyAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvJ1wiXG4gICAgICA+XG4gICAgICA8L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUzJ11cIlxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidWYWxvciAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgc2VyIDAgbyAxJ1wiXG4gICAgICAgIChjbGljayk9J2NsaWNrRGV0ZWN0aW9uKFwidmFsdWUzXCIpJ1xuICAgICAgPlxuICAgICAgPC9pcHQtaW5wdXQ+XG5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJ0aGlzLnF1ZXN0aW9uVHlwZSA9PT0gJ0EsIEIsIEMsIEQnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1snYW5zd2VyNCddXCJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ09wY2nDs24gRCAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvJ1wiXG4gICAgICA+XG4gICAgICA8L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJ0aGlzLnF1ZXN0aW9uVHlwZSA9PT0gJ0EsIEIsIEMsIEQnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdydW91cC5jb250cm9sc1sndmFsdWU0J11cIlxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidWYWxvciAqJ1wiXG4gICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgc2VyIDAgbyAxJ1wiXG4gICAgICAgIChjbGljayk9J2NsaWNrRGV0ZWN0aW9uKFwidmFsdWU0XCIpJ1xuICAgICAgPlxuICAgICAgPC9pcHQtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2VkaXQtcXVlc3Rpb24tdHlwZXMuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblR5cGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBxdWVzdGlvblR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvcm1HcnVvdXAhOiBGb3JtR3JvdXA7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydmb3JtR3J1b3VwJ10pIHtcbiAgICB9XG4gIH1cblxuICBjbGlja0RldGVjdGlvbih2YWx1ZTogc3RyaW5nKXtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICd2YWx1ZTEnOlxuICAgICAgICBpZih0aGlzLmZvcm1HcnVvdXAuY29udHJvbHNbJ3ZhbHVlMSddLnZhbHVlID09PSAxKSB7XG4gICAgICAgICAgdGhpcy5mb3JtR3J1b3VwLmNvbnRyb2xzWyd2YWx1ZTInXS52YWx1ZSA9PT0gMDtcbiAgICAgICAgICB0aGlzLmZvcm1HcnVvdXAuY29udHJvbHNbJ3ZhbHVlMyddLnZhbHVlID09PSAwO1xuICAgICAgICAgIHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWU0J10udmFsdWUgPT09IDA7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd2YWx1ZTInOiAgICAgICAgXG4gICAgICAgIGlmKHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUyJ10udmFsdWUgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmZvcm1HcnVvdXAuY29udHJvbHNbJ3ZhbHVlMSddLnZhbHVlID09PSAwO1xuICAgICAgICAgIHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUzJ10udmFsdWUgPT09IDA7XG4gICAgICAgICAgdGhpcy5mb3JtR3J1b3VwLmNvbnRyb2xzWyd2YWx1ZTQnXS52YWx1ZSA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3ZhbHVlMyc6XG4gICAgICAgIGlmKHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUzJ10udmFsdWUgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmZvcm1HcnVvdXAuY29udHJvbHNbJ3ZhbHVlMSddLnZhbHVlID09PSAwO1xuICAgICAgICAgIHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUyJ10udmFsdWUgPT09IDA7XG4gICAgICAgICAgdGhpcy5mb3JtR3J1b3VwLmNvbnRyb2xzWyd2YWx1ZTQnXS52YWx1ZSA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3ZhbHVlNCc6XG4gICAgICAgIGlmKHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWU0J10udmFsdWUgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmZvcm1HcnVvdXAuY29udHJvbHNbJ3ZhbHVlMSddLnZhbHVlID09PSAwO1xuICAgICAgICAgIHRoaXMuZm9ybUdydW91cC5jb250cm9sc1sndmFsdWUyJ10udmFsdWUgPT09IDA7XG4gICAgICAgICAgdGhpcy5mb3JtR3J1b3VwLmNvbnRyb2xzWyd2YWx1ZTMnXS52YWx1ZSA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICBcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUubG9nKCdleGNlcHRpb24nKVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==