iptdevs-design-system 3.1.515 → 3.1.516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs +3 -3
- package/fesm2015/iptdevs-design-system.mjs +2 -2
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +2 -2
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/package.json +1 -1
package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs
CHANGED
|
@@ -133,10 +133,10 @@ export class CodSelfFormStepTwoComponent extends CodSelfManagedSteps {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.MessageService }, { token: i3.BaseService }], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
-
CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n
|
|
136
|
+
CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n </div>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"!codSelfFormStepTwo.valid\"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n <!-- <div *ngIf=\"codPrevious.cod_is_Progress == false\">\n </div> -->\n </form>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n<div>\n <pre>{{ codSelfFormStepTwo.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepTwo.valid | json }}</pre>\n </div>\n</div>\n\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-calendar{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i7.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i8.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i9.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "pipe", type: i4.JsonPipe, name: "json" }] });
|
|
137
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
|
-
args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n
|
|
139
|
+
args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n </div>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"!codSelfFormStepTwo.valid\"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n <!-- <div *ngIf=\"codPrevious.cod_is_Progress == false\">\n </div> -->\n </form>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n<div>\n <pre>{{ codSelfFormStepTwo.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepTwo.valid | json }}</pre>\n </div>\n</div>\n\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-calendar{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px}\n"] }]
|
|
140
140
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.MessageService }, { type: i3.BaseService }]; }, propDecorators: { completed: [{
|
|
141
141
|
type: Output
|
|
142
142
|
}], scorePlacementTest: [{
|
|
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
144
144
|
}], codPrevious: [{
|
|
145
145
|
type: Input
|
|
146
146
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9zdGVwcy9jb2QtZm9ybS1zdGVwLXR3by9jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdHdvL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFtRCxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1CQUFtQixFQUF5QixNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBYSxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0FBUS9CLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxtQkFBbUI7SUFpQmxFLFlBQ1UsRUFBZSxFQUNmLEtBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLFdBQXdCO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBTEEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQW5CeEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFNakQsYUFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMs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cy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRTdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1zdGVwcyc7XG5pbXBvcnQgeyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1jb250cm9scyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2VsZkZvcm1TdGVwVHdvQ29tcG9uZW50IGV4dGVuZHMgQ29kU2VsZk1hbmFnZWRTdGVwcyBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQElucHV0KCkgc2NvcmVQbGFjZW1lbnRUZXN0Pzphbnk7XG4gIEBJbnB1dCgpIGNvZFByZXZpb3VzPzphbnk7XG5cbiAgY29kU2VsZkZvcm1TdGVwVHdvITogRm9ybUdyb3VwO1xuICBjb250cm9scyA9IG5ldyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzKCkuY29udHJvbHNbMV07XG4gIHN0YXJ0RGF0ZTEhOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbWVzc2FnZUluZm86c3RyaW5nID0gJ0J1c2NhIHVuIHBsYW4gZGVhY3VlcmRvIGEgdHUgZGlzcG9uaWJpbGlkYWQnO1xuICBzdGF0ZU9wdGlvbnM6IGFueVtdID0gW1xuICAgIHsgY29kZTogMSwgIG5hbWU6ICdQcmVzZW5jaWFsJ30sXG4gICAgeyBjb2RlOiAyLCBuYW1lOiAnVmlydHVhbCd9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgICB0aGlzLnZhbHVlc0luaXRpYWxTY2hlZHVsZSgpXG4gIH1cbiAgbmdPbkNoYW5nZXMoKXtcbiAgICAvLyB0aGlzLmluaXRGb3JtKCk7XG4gICAgLy8gdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuXG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNjaGVkdWxlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB0b19zdGFydDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgbW9kYWxpdHk6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAvLyBhY2FkZW1pY19wbGFuOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAvLyBjb3Vyc2VfdHlwZTpbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAvLyBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLF0sXG4gICAgICAvLyBlbmdsaXNoX2xldmVsOiBbe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWV9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxuICAgICAgLy8gYXZhaWxpYmxlX2NvdXJzZXM6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIC8vIGNvdXJzZV9tb2RhbGl0eTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXSxcblxuICAgIH0pO1xuICB9XG4gIHZhbHVlc0luaXRpYWxTY2hlZHVsZSgpIHtcbiAgICBjb25zdCBzY2hlZHVsZVZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0NPRCBTRUxGIC0gc3RlcDIoc2NoZWR1bGUpJyk7XG5cbiAgICAvLyBWZXJpZmljYSBzaSBoYXkgdW4gdmFsb3IgZW4gZWwgbG9jYWxTdG9yYWdlXG4gICAgaWYgKHNjaGVkdWxlVmFsdWUgJiYgc2NoZWR1bGVWYWx1ZS50cmltKCkgIT0gJycpIHtcbiAgICAgIC8vIFNpIGhheSB1biB2YWxvciBlbiBlbCBsb2NhbFN0b3JhZ2UsIGVzdGFibGVjZSBlbCB2YWxvciBkZWwgRm9ybUNvbnRyb2xcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydzY2hlZHVsZSddLnNldFZhbHVlKG5ldyBEYXRlKHNjaGVkdWxlVmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2kgbm8gaGF5IHVuIHZhbG9yIGVuIGVsIGxvY2FsU3RvcmFnZSwgbyBzaSBlcyBudWxsIG8gdmFjw61vLCBlc3RhYmxlY2UgdW4gdmFsb3IgcHJlZGV0ZXJtaW5hZG9cbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydzY2hlZHVsZSddLnNldFZhbHVlKG5ldyBEYXRlKCkpO1xuICAgIH1cbiAgfVxuICBiYWNrKCkge1xuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gYW50ZXJpb3JcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KDApO1xuICB9XG4gIHNlbmRGb3JtKCkge1xuICAgIC8vIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAvLyBpZiAodGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyAzXG4gICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgyKTtcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlc1R3byA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMiwgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcygyLCBjb250cm9sLm5hbWUsIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNlYXJjaEF2YWxhaWJsZUNvdXJzZSgpe1xuXG4gICAgY29uc3QgYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0NPRCBTRUxGIC0gc3RlcDEoYWdlKScpXG4gICAgY29uc3QgZ3JhZGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQ09EIFNFTEYgLSBzdGVwMShncmFkZSknKVxuICAgIGNvbnN0IGFncmVlbWVudCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdDT0QgU0VMRiAtIHN0ZXAxKGFncmVlbWVudF9ieV9jYXRlZ29yeSknKVxuICAgIGNvbnN0IHVzZXJDb2RlID0gdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyQ29kZSgpO1xuXG4gICAgY29uc29sZS5sb2codGhpcy5zY29yZVBsYWNlbWVudFRlc3QpO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuY29kUHJldmlvdXMpO1xuXG4gICAgY29uc3QgcmVxdWVzdDphbnk9e1xuICAgICAgY29kZV91c2VyOiB1c2VyQ29kZSxcbiAgICAgIGNvZFByZXZpb3VzOiB0aGlzLmNvZFByZXZpb3VzLFxuICAgICAgc2NvcmVQbGFjZW1lbnRUZXN0OiB0aGlzLnNjb3JlUGxhY2VtZW50VGVzdCxcbiAgICAgIGFnZTogYWdlLFxuICAgICAgZ3JhZGU6IGdyYWRlLFxuICAgICAgYWdyZWVtZW50OiBhZ3JlZW1lbnQsXG4gICAgICBzY2hlZHVsZTogdGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28uZ2V0KCdzY2hlZHVsZScpPy52YWx1ZSxcbiAgICAgIHBvc3NpYmxlX3N0YXJ0OiB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5nZXQoJ3RvX3N0YXJ0Jyk/LnZhbHVlXG4gICAgfVxuICAgIGNvbnNvbGUubG9nKHJlcXVlc3QpO1xuICB9XG4gIHZhbGlkYXRlRGF0ZShkYXRlUmVjaWI6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGVSZWNpYlRyZWFuZiA9IGRhdGVSZWNpYiArICdUMDA6MDA6MDAtMDU6MDAnO1xuICAgIGNvbnN0IGYxID0gbmV3IERhdGUoZGF0ZVJlY2liVHJlYW5mKTtcbiAgICBjb25zdCBmMiA9IG5ldyBEYXRlKCk7XG4gICAgaWYgKGYxID49IGYyKSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZTEgPSBkYXRlUmVjaWI7XG4gICAgfSBlbHNlIGlmIChmMSA8IGYyKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXS5zZXRWYWx1ZShcIlwiKTtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXG4gICAgICAgIGljb246ICdlcnJvcicsXG4gICAgICAgIHRpdGxlOiAnTGEgZmVjaGEgc2VsZWNjaW9uYWRhIGRlYmUgc2VyIG1heW9yIHF1ZSBsYSBmZWNoYSBhY3R1YWwuJyxcbiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgICB0aW1lcjogNTAwMFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG9uRGF0ZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAvLyBDb252aWVydGUgbGEgZmVjaGEgYSB1bmEgY2FkZW5hIElTTyA4NjAxIHkgZ3XDoXJkYWxhIGVuIGVsIGxvY2FsU3RvcmFnZVxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0NPRCBTRUxGIC0gc3RlcDIoc2NoZWR1bGUpJywgZXZlbnQudG9JU09TdHJpbmcoKSk7XG4gIH1cblxuICBvblJlamVjdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCdjb25maXJtJyk7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBzaG93Q29uZmlybSgpIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogJ2NvbmZpcm0nLCBzdGlja3k6IHRydWUsIHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdDYW4geW91IHNlbmQgbWUgdGhlIHJlcG9ydD8nLCBsaWZlOiAxMDAwMCB9KTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1tYWluXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZm9ybVwiPlxuICAgIDxoMj5QbGFuZXM8L2gyPlxuICAgICAgPHAtdG9hc3QgcG9zaXRpb249XCJ0b3AtY2VudGVyXCIga2V5PVwiY29uZmlybVwiIChvbkNsb3NlKT1cIm9uUmVqZWN0KClcIiBbYmFzZVpJbmRleF09XCIxMFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lc3NhZ2UgcFRlbXBsYXRlPVwibWVzc2FnZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtc3RhcnRcIiBzdHlsZT1cImZsZXg6IDFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3FhLmlwdGRldi5jb20uY28vYXNzZXRzL2xvZ29zL3JlYWRpbmcucG5nXCIgc3R5bGU9XCJ3aWR0aDogNjVweDtcIiBzaGFwZT1cImNpcmNsZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtOTAwXCI+SmFjb2I8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtbGcgbXktMyB0ZXh0LTkwMFwiPnt7IG1lc3NhZ2VJbmZvIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdG9hc3Q+XG5cbiAgICA8aSBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZSBjdXJzb3ItcG9pbnRlciB3LWF1dG9cIiAoY2xpY2spPVwic2hvd0NvbmZpcm0oKVwiPjwvaT5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvZFNlbGZGb3JtU3RlcFR3b1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFByZXZpb3VzID09IG51bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1ldmVubHkgY29sdW1uLWdhcC00IHJvdy1nYXAtNlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTlyZW0gaC00cmVtIG0tMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggbXQtM1wiPlxuICAgICAgICAgICAgICA8c3Bhbj5Ib3JhcmlvIGRlc2VhZG8/PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtpY29uXT1cIidwaSBwaS1jbG9jaydcIlxuICAgICAgICAgICAgICBbdGltZU9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiaGg6bW1cIlxuICAgICAgICAgICAgICBbaG91ckZvcm1hdF09XCInMTInXCJcbiAgICAgICAgICAgICAgaW5wdXRJZD1cInRpbWVvbmx5XCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIiRhbnkoY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydzY2hlZHVsZSddKVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snc2NoZWR1bGUnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snc2NoZWR1bGUnXS50b3VjaGVkXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBob3JhcmlvIGRlc2VhZG88L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgdy05cmVtIGgtNHJlbSBtLTJcIj5cbiAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCInZGF0ZSdcIlxuICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1Bvc2libGUgSW5pY2lvJ1wiXG4gICAgICAgICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXVwiXG4gICAgICAgICAgICAgIChkYXRlU2VsZWN0ZWQpPVwidmFsaWRhdGVEYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXS50b3VjaGVkXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5MYSBmZWNoYSBzZWxlY2Npb25hZGEgZGViZSBzZXIgbWF5b3IgcXVlIGxhIGZlY2hhIGFjdHVhbC48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLW1vZGFsaXR5IGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBwLTFcIj5cbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJzdGF0ZU9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJtb2RhbGl0eVwiIG9wdGlvbkxhYmVsPVwibmFtZVwiIG9wdGlvblZhbHVlPVwiY29kZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtbm9uZSBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIG0tMlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHBCdXR0b25cbiAgICAgICAgICAgIFJpcHBsZVxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBpY29uPVwicGkgcGktc2VhcmNoXCJcbiAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNvZFNlbGZGb3JtU3RlcFR3by52YWxpZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoQXZhbGFpYmxlQ291cnNlKClcIlxuICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RQcmV2aW91cy5jb2RfaXNfUHJvZ3Jlc3MgPT0gZmFsc2VcIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0zIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS50b3VjaGVkXCIgY2xhc3M9XCJ0ZXh0LXJlZC01MDAgZm9udC1ib2xkIHRleHQtY2VudGVyIG10LTEgcHktMiBiZy1yZWQtMTAwIHctZnVsbCBib3JkZXItcm91bmQteGxcIj57eyBlcnJvck1lc3NhZ2UgfX08L3NwYW4+IC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgcEJ1dHRvblxuICAgICAgaWNvbj1cInBpIHBpLWFycm93LWxlZnRcIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAoY2xpY2spPVwiYmFjaygpXCJcbiAgICAgID48L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgcEJ1dHRvblxuICAgICAgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCJcbiAgICAgIChjbGljayk9XCJzZW5kRm9ybSgpXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdj5cbiAgPHByZT57eyBjb2RTZWxmRm9ybVN0ZXBUd28udmFsdWUgfCBqc29uIH19PC9wcmU+XG4gIDxkaXY+XG4gICAgPHByZT57eyBjb2RTZWxmRm9ybVN0ZXBUd28udmFsaWQgfCBqc29uIH19PC9wcmU+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9zdGVwcy9jb2QtZm9ybS1zdGVwLXR3by9jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdHdvL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFtRCxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1CQUFtQixFQUF5QixNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBYSxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0FBUS9CLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxtQkFBbUI7SUFpQmxFLFlBQ1UsRUFBZSxFQUNmLEtBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLFdBQXdCO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBTEEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQW5CeEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFNakQsYUFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMs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cy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRTdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1zdGVwcyc7XG5pbXBvcnQgeyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1jb250cm9scyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2VsZkZvcm1TdGVwVHdvQ29tcG9uZW50IGV4dGVuZHMgQ29kU2VsZk1hbmFnZWRTdGVwcyBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQElucHV0KCkgc2NvcmVQbGFjZW1lbnRUZXN0Pzphbnk7XG4gIEBJbnB1dCgpIGNvZFByZXZpb3VzPzphbnk7XG5cbiAgY29kU2VsZkZvcm1TdGVwVHdvITogRm9ybUdyb3VwO1xuICBjb250cm9scyA9IG5ldyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzKCkuY29udHJvbHNbMV07XG4gIHN0YXJ0RGF0ZTEhOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbWVzc2FnZUluZm86c3RyaW5nID0gJ0J1c2NhIHVuIHBsYW4gZGVhY3VlcmRvIGEgdHUgZGlzcG9uaWJpbGlkYWQnO1xuICBzdGF0ZU9wdGlvbnM6IGFueVtdID0gW1xuICAgIHsgY29kZTogMSwgIG5hbWU6ICdQcmVzZW5jaWFsJ30sXG4gICAgeyBjb2RlOiAyLCBuYW1lOiAnVmlydHVhbCd9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgICB0aGlzLnZhbHVlc0luaXRpYWxTY2hlZHVsZSgpXG4gIH1cbiAgbmdPbkNoYW5nZXMoKXtcbiAgICAvLyB0aGlzLmluaXRGb3JtKCk7XG4gICAgLy8gdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuXG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNjaGVkdWxlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB0b19zdGFydDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgbW9kYWxpdHk6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAvLyBhY2FkZW1pY19wbGFuOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAvLyBjb3Vyc2VfdHlwZTpbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAvLyBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLF0sXG4gICAgICAvLyBlbmdsaXNoX2xldmVsOiBbe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWV9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxuICAgICAgLy8gYXZhaWxpYmxlX2NvdXJzZXM6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIC8vIGNvdXJzZV9tb2RhbGl0eTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXSxcblxuICAgIH0pO1xuICB9XG4gIHZhbHVlc0luaXRpYWxTY2hlZHVsZSgpIHtcbiAgICBjb25zdCBzY2hlZHVsZVZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0NPRCBTRUxGIC0gc3RlcDIoc2NoZWR1bGUpJyk7XG5cbiAgICAvLyBWZXJpZmljYSBzaSBoYXkgdW4gdmFsb3IgZW4gZWwgbG9jYWxTdG9yYWdlXG4gICAgaWYgKHNjaGVkdWxlVmFsdWUgJiYgc2NoZWR1bGVWYWx1ZS50cmltKCkgIT0gJycpIHtcbiAgICAgIC8vIFNpIGhheSB1biB2YWxvciBlbiBlbCBsb2NhbFN0b3JhZ2UsIGVzdGFibGVjZSBlbCB2YWxvciBkZWwgRm9ybUNvbnRyb2xcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydzY2hlZHVsZSddLnNldFZhbHVlKG5ldyBEYXRlKHNjaGVkdWxlVmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2kgbm8gaGF5IHVuIHZhbG9yIGVuIGVsIGxvY2FsU3RvcmFnZSwgbyBzaSBlcyBudWxsIG8gdmFjw61vLCBlc3RhYmxlY2UgdW4gdmFsb3IgcHJlZGV0ZXJtaW5hZG9cbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydzY2hlZHVsZSddLnNldFZhbHVlKG5ldyBEYXRlKCkpO1xuICAgIH1cbiAgfVxuICBiYWNrKCkge1xuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gYW50ZXJpb3JcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KDApO1xuICB9XG4gIHNlbmRGb3JtKCkge1xuICAgIC8vIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAvLyBpZiAodGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyAzXG4gICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgyKTtcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlc1R3byA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMiwgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcygyLCBjb250cm9sLm5hbWUsIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNlYXJjaEF2YWxhaWJsZUNvdXJzZSgpe1xuXG4gICAgY29uc3QgYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0NPRCBTRUxGIC0gc3RlcDEoYWdlKScpXG4gICAgY29uc3QgZ3JhZGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQ09EIFNFTEYgLSBzdGVwMShncmFkZSknKVxuICAgIGNvbnN0IGFncmVlbWVudCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdDT0QgU0VMRiAtIHN0ZXAxKGFncmVlbWVudF9ieV9jYXRlZ29yeSknKVxuICAgIGNvbnN0IHVzZXJDb2RlID0gdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyQ29kZSgpO1xuXG4gICAgY29uc29sZS5sb2codGhpcy5zY29yZVBsYWNlbWVudFRlc3QpO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuY29kUHJldmlvdXMpO1xuXG4gICAgY29uc3QgcmVxdWVzdDphbnk9e1xuICAgICAgY29kZV91c2VyOiB1c2VyQ29kZSxcbiAgICAgIGNvZFByZXZpb3VzOiB0aGlzLmNvZFByZXZpb3VzLFxuICAgICAgc2NvcmVQbGFjZW1lbnRUZXN0OiB0aGlzLnNjb3JlUGxhY2VtZW50VGVzdCxcbiAgICAgIGFnZTogYWdlLFxuICAgICAgZ3JhZGU6IGdyYWRlLFxuICAgICAgYWdyZWVtZW50OiBhZ3JlZW1lbnQsXG4gICAgICBzY2hlZHVsZTogdGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28uZ2V0KCdzY2hlZHVsZScpPy52YWx1ZSxcbiAgICAgIHBvc3NpYmxlX3N0YXJ0OiB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5nZXQoJ3RvX3N0YXJ0Jyk/LnZhbHVlXG4gICAgfVxuICAgIGNvbnNvbGUubG9nKHJlcXVlc3QpO1xuICB9XG4gIHZhbGlkYXRlRGF0ZShkYXRlUmVjaWI6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGVSZWNpYlRyZWFuZiA9IGRhdGVSZWNpYiArICdUMDA6MDA6MDAtMDU6MDAnO1xuICAgIGNvbnN0IGYxID0gbmV3IERhdGUoZGF0ZVJlY2liVHJlYW5mKTtcbiAgICBjb25zdCBmMiA9IG5ldyBEYXRlKCk7XG4gICAgaWYgKGYxID49IGYyKSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZTEgPSBkYXRlUmVjaWI7XG4gICAgfSBlbHNlIGlmIChmMSA8IGYyKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXS5zZXRWYWx1ZShcIlwiKTtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXG4gICAgICAgIGljb246ICdlcnJvcicsXG4gICAgICAgIHRpdGxlOiAnTGEgZmVjaGEgc2VsZWNjaW9uYWRhIGRlYmUgc2VyIG1heW9yIHF1ZSBsYSBmZWNoYSBhY3R1YWwuJyxcbiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgICB0aW1lcjogNTAwMFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG9uRGF0ZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAvLyBDb252aWVydGUgbGEgZmVjaGEgYSB1bmEgY2FkZW5hIElTTyA4NjAxIHkgZ3XDoXJkYWxhIGVuIGVsIGxvY2FsU3RvcmFnZVxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0NPRCBTRUxGIC0gc3RlcDIoc2NoZWR1bGUpJywgZXZlbnQudG9JU09TdHJpbmcoKSk7XG4gIH1cblxuICBvblJlamVjdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCdjb25maXJtJyk7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBzaG93Q29uZmlybSgpIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogJ2NvbmZpcm0nLCBzdGlja3k6IHRydWUsIHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdDYW4geW91IHNlbmQgbWUgdGhlIHJlcG9ydD8nLCBsaWZlOiAxMDAwMCB9KTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1tYWluXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZm9ybVwiPlxuICAgIDxoMj5QbGFuZXM8L2gyPlxuICAgICAgPHAtdG9hc3QgcG9zaXRpb249XCJ0b3AtY2VudGVyXCIga2V5PVwiY29uZmlybVwiIChvbkNsb3NlKT1cIm9uUmVqZWN0KClcIiBbYmFzZVpJbmRleF09XCIxMFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lc3NhZ2UgcFRlbXBsYXRlPVwibWVzc2FnZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtc3RhcnRcIiBzdHlsZT1cImZsZXg6IDFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3FhLmlwdGRldi5jb20uY28vYXNzZXRzL2xvZ29zL3JlYWRpbmcucG5nXCIgc3R5bGU9XCJ3aWR0aDogNjVweDtcIiBzaGFwZT1cImNpcmNsZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtOTAwXCI+SmFjb2I8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtbGcgbXktMyB0ZXh0LTkwMFwiPnt7IG1lc3NhZ2VJbmZvIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdG9hc3Q+XG5cbiAgICA8aSBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZSBjdXJzb3ItcG9pbnRlciB3LWF1dG9cIiAoY2xpY2spPVwic2hvd0NvbmZpcm0oKVwiPjwvaT5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvZFNlbGZGb3JtU3RlcFR3b1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFByZXZpb3VzID09IG51bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1ldmVubHkgY29sdW1uLWdhcC00IHJvdy1nYXAtNlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTlyZW0gaC00cmVtIG0tMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggbXQtM1wiPlxuICAgICAgICAgICAgICA8c3Bhbj5Ib3JhcmlvIGRlc2VhZG8/PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtpY29uXT1cIidwaSBwaS1jbG9jaydcIlxuICAgICAgICAgICAgICBbdGltZU9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiaGg6bW1cIlxuICAgICAgICAgICAgICBbaG91ckZvcm1hdF09XCInMTInXCJcbiAgICAgICAgICAgICAgaW5wdXRJZD1cInRpbWVvbmx5XCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIiRhbnkoY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydzY2hlZHVsZSddKVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snc2NoZWR1bGUnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snc2NoZWR1bGUnXS50b3VjaGVkXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBob3JhcmlvIGRlc2VhZG88L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgdy05cmVtIGgtNHJlbSBtLTJcIj5cbiAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCInZGF0ZSdcIlxuICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1Bvc2libGUgSW5pY2lvJ1wiXG4gICAgICAgICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXVwiXG4gICAgICAgICAgICAgIChkYXRlU2VsZWN0ZWQpPVwidmFsaWRhdGVEYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1sndG9fc3RhcnQnXS50b3VjaGVkXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5MYSBmZWNoYSBzZWxlY2Npb25hZGEgZGViZSBzZXIgbWF5b3IgcXVlIGxhIGZlY2hhIGFjdHVhbC48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLW1vZGFsaXR5IGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBwLTFcIj5cbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJzdGF0ZU9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJtb2RhbGl0eVwiIG9wdGlvbkxhYmVsPVwibmFtZVwiIG9wdGlvblZhbHVlPVwiY29kZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ub25lIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQgbS0yXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgUmlwcGxlXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGljb249XCJwaSBwaS1zZWFyY2hcIlxuICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29kU2VsZkZvcm1TdGVwVHdvLnZhbGlkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWFyY2hBdmFsYWlibGVDb3Vyc2UoKVwiXG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiY29kUHJldmlvdXMuY29kX2lzX1Byb2dyZXNzID09IGZhbHNlXCI+XG4gICAgICA8L2Rpdj4gLS0+XG4gICAgPC9mb3JtPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICA8IS0tIDxzcGFuICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLnRvdWNoZWRcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj4gLS0+XG4gICAgICA8YnV0dG9uXG4gICAgICBwQnV0dG9uXG4gICAgICBpY29uPVwicGkgcGktYXJyb3ctbGVmdFwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIChjbGljayk9XCJiYWNrKClcIlxuICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICBwQnV0dG9uXG4gICAgICBpY29uPVwicGkgcGktYXJyb3ctcmlnaHRcIlxuICAgICAgKGNsaWNrKT1cInNlbmRGb3JtKClcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2PlxuICA8cHJlPnt7IGNvZFNlbGZGb3JtU3RlcFR3by52YWx1ZSB8IGpzb24gfX08L3ByZT5cbiAgPGRpdj5cbiAgICA8cHJlPnt7IGNvZFNlbGZGb3JtU3RlcFR3by52YWxpZCB8IGpzb24gfX08L3ByZT5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
@@ -6753,10 +6753,10 @@ class CodSelfFormStepTwoComponent extends CodSelfManagedSteps {
|
|
|
6753
6753
|
}
|
|
6754
6754
|
}
|
|
6755
6755
|
CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [{ token: i1$1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i3$1.MessageService }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6756
|
-
CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n
|
|
6756
|
+
CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n </div>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"!codSelfFormStepTwo.valid\"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n <!-- <div *ngIf=\"codPrevious.cod_is_Progress == false\">\n </div> -->\n </form>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n<div>\n <pre>{{ codSelfFormStepTwo.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepTwo.valid | json }}</pre>\n </div>\n</div>\n\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-calendar{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i8$2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i8$3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i9.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] });
|
|
6757
6757
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, decorators: [{
|
|
6758
6758
|
type: Component,
|
|
6759
|
-
args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n
|
|
6759
|
+
args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\"></i>\n <form [formGroup]=\"codSelfFormStepTwo\">\n <div *ngIf=\"codPrevious == null\">\n <div class=\"flex flex-wrap justify-content-evenly column-gap-4 row-gap-6\">\n <div class=\"flex-column align-items-center justify-content-center w-9rem h-4rem m-2\">\n <div class=\"flex mt-3\">\n <span>Horario deseado?</span>\n </div>\n <p-calendar\n [showIcon]=\"true\"\n [icon]=\"'pi pi-clock'\"\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n (ngModelChange)=\"onDateChange($event)\"\n ></p-calendar>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['schedule'].invalid && codSelfFormStepTwo.controls['schedule'].touched\">\n <span class=\"error-message\">Por favor ingresa un horario deseado</span>\n </div>\n <div class=\"flex align-items-center justify-content-center w-9rem h-4rem m-2\">\n <ipt-input\n [inputType]=\"'date'\"\n [placeHolder]=\"'Posible Inicio'\"\n [control]=\"codSelfFormStepTwo.controls['to_start']\"\n (dateSelected)=\"validateDate($event)\"\n ></ipt-input>\n </div>\n <div *ngIf=\"codSelfFormStepTwo.controls['to_start'].invalid && codSelfFormStepTwo.controls['to_start'].touched\">\n <span class=\"error-message\">La fecha seleccionada debe ser mayor que la fecha actual.</span>\n </div>\n\n <div class=\"container-modality flex justify-content-center align-content-center text-center p-1\">\n <p-selectButton [options]=\"stateOptions\" formControlName=\"modality\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n </div>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"!codSelfFormStepTwo.valid\"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n <!-- <div *ngIf=\"codPrevious.cod_is_Progress == false\">\n </div> -->\n </form>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n<div>\n <pre>{{ codSelfFormStepTwo.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepTwo.valid | json }}</pre>\n </div>\n</div>\n\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-calendar{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px}\n"] }]
|
|
6760
6760
|
}], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i3$1.MessageService }, { type: BaseService }]; }, propDecorators: { completed: [{
|
|
6761
6761
|
type: Output
|
|
6762
6762
|
}], scorePlacementTest: [{
|