iptdevs-design-system 3.1.338 → 3.1.340
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/cod-form/cod-form.component.mjs +5 -3
- package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +26 -23
- package/fesm2015/iptdevs-design-system.mjs +31 -26
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +29 -24
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/cod/cod-form/cod-form.component.d.ts +2 -1
- package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -43,10 +43,10 @@ export class CodFormStepOneComponent extends CodFormSteps {
|
|
|
43
43
|
this.codFormStepOne.controls['course_type'].valueChanges
|
|
44
44
|
.subscribe(value => this.communicatorService.setCurrentCourseType(value));
|
|
45
45
|
this.communicatorService.setCurrentAgreement(this.localStorageCOD.getCodFormData(1, 'agreement_by_category'));
|
|
46
|
-
if (changes['initialData'] && this.initialData != null) {
|
|
46
|
+
if (changes['initialData'] && this.initialData != null && !this.dataPreviusCodData && !this.isEditCod && this.isRenovation === false) {
|
|
47
47
|
this.processData(this.initialData);
|
|
48
48
|
}
|
|
49
|
-
if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && this.isEditCod &&
|
|
49
|
+
if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && this.isEditCod && this.isRenovation === false) {
|
|
50
50
|
this.processData(this.dataPreviusCodData);
|
|
51
51
|
if (this.isEditCod && !this.dataPreviusCodData.edit_course_payment) {
|
|
52
52
|
this.isDisabledSel = true;
|
|
@@ -60,9 +60,10 @@ export class CodFormStepOneComponent extends CodFormSteps {
|
|
|
60
60
|
// Forzar detección de cambios
|
|
61
61
|
this.cdRef.detectChanges();
|
|
62
62
|
}
|
|
63
|
-
else if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && !this.isEditCod && this.
|
|
63
|
+
else if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && !this.isEditCod && this.courseSelectRenovation && this.isRenovation === true) {
|
|
64
64
|
this.disableFormControls();
|
|
65
65
|
this.setDataCodRenovationSelect();
|
|
66
|
+
this.cdRef.detectChanges();
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
disableFormControls() {
|
|
@@ -92,30 +93,30 @@ export class CodFormStepOneComponent extends CodFormSteps {
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
setDataFromUserHistory() {
|
|
95
|
-
this.codFormStepOne.controls['academic_plan'].setValue(this.initialData.course_type?.academic_plan.code);
|
|
96
|
-
this.codFormStepOne.controls['course_type'].setValue(this.initialData.course_type?.code);
|
|
97
|
-
this.codFormStepOne.controls['agreement_by_category'].setValue(this.initialData.agreement?.code);
|
|
98
|
-
this.codFormStepOne.controls['english_level'].setValue(this.initialData.english_level?.code);
|
|
99
|
-
this.codFormStepOne.controls['availible_courses'].setValue(this.initialData?.code);
|
|
100
|
-
this.codFormStepOne.controls['course_modality'].setValue(this.initialData.course_modality?.code);
|
|
96
|
+
this.codFormStepOne.controls['academic_plan'].setValue(this.initialData.course_type?.academic_plan.code ? this.initialData.course_type?.academic_plan.code : null);
|
|
97
|
+
this.codFormStepOne.controls['course_type'].setValue(this.initialData.course_type?.code ? this.initialData.course_type?.code : null);
|
|
98
|
+
this.codFormStepOne.controls['agreement_by_category'].setValue(this.initialData.agreement?.code ? this.initialData.agreement?.code : null);
|
|
99
|
+
this.codFormStepOne.controls['english_level'].setValue(this.initialData.english_level?.code ? this.initialData.english_level?.code : null);
|
|
100
|
+
this.codFormStepOne.controls['availible_courses'].setValue(this.initialData?.code ? this.initialData?.code : null);
|
|
101
|
+
this.codFormStepOne.controls['course_modality'].setValue(this.initialData.course_modality?.code ? this.initialData.course_modality?.code : null);
|
|
101
102
|
}
|
|
102
103
|
setDataFromEditCodHistory() {
|
|
103
|
-
this.codFormStepOne.controls['academic_plan'].setValue(this.dataPreviusCodData.course_type.academic_plan.code);
|
|
104
|
-
this.codFormStepOne.controls['course_type'].setValue(this.dataPreviusCodData.course_type.code);
|
|
105
|
-
this.codFormStepOne.controls['agreement_by_category'].setValue(this.dataPreviusCodData.agreement.code);
|
|
106
|
-
this.codFormStepOne.controls['english_level'].setValue(this.dataPreviusCodData.english_level.code);
|
|
107
|
-
this.codFormStepOne.controls['availible_courses'].setValue(this.dataPreviusCodData.course.code);
|
|
108
|
-
this.codFormStepOne.controls['course_modality'].setValue(this.dataPreviusCodData.course.course_modality);
|
|
104
|
+
this.codFormStepOne.controls['academic_plan'].setValue(this.dataPreviusCodData.course_type.academic_plan.code ? this.dataPreviusCodData.course_type.academic_plan.code : null);
|
|
105
|
+
this.codFormStepOne.controls['course_type'].setValue(this.dataPreviusCodData.course_type.code ? this.dataPreviusCodData.course_type.code : null);
|
|
106
|
+
this.codFormStepOne.controls['agreement_by_category'].setValue(this.dataPreviusCodData.agreement.code ? this.dataPreviusCodData.agreement.code : null);
|
|
107
|
+
this.codFormStepOne.controls['english_level'].setValue(this.dataPreviusCodData.english_level.code ? this.dataPreviusCodData.english_level.code : null);
|
|
108
|
+
this.codFormStepOne.controls['availible_courses'].setValue(this.dataPreviusCodData.course.code ? this.dataPreviusCodData.course.code : null);
|
|
109
|
+
this.codFormStepOne.controls['course_modality'].setValue(this.dataPreviusCodData.course.course_modality ? this.dataPreviusCodData.course.course_modality : null);
|
|
109
110
|
}
|
|
110
111
|
setDataCodRenovationSelect() {
|
|
111
112
|
this.getAgreementByPlan(this.courseSelectRenovation.course_type?.academic_plan.code);
|
|
112
113
|
this.getCourseType(this.courseSelectRenovation.course_type?.academic_plan.code);
|
|
113
|
-
this.codFormStepOne.controls['academic_plan'].setValue(this.courseSelectRenovation.course_type?.academic_plan.code);
|
|
114
|
-
this.codFormStepOne.controls['course_type'].setValue(this.courseSelectRenovation.course_type?.code);
|
|
115
|
-
this.codFormStepOne.controls['agreement_by_category'].setValue(this.courseSelectRenovation.agreement?.code);
|
|
116
|
-
this.codFormStepOne.controls['english_level'].setValue(this.courseSelectRenovation.english_level?.code);
|
|
117
|
-
this.codFormStepOne.controls['availible_courses'].setValue(this.courseSelectRenovation?.code);
|
|
118
|
-
this.codFormStepOne.controls['course_modality'].setValue(this.courseSelectRenovation.course_modality?.code);
|
|
114
|
+
this.codFormStepOne.controls['academic_plan'].setValue(this.courseSelectRenovation.course_type?.academic_plan.code ? this.courseSelectRenovation.course_type?.academic_plan.code : null);
|
|
115
|
+
this.codFormStepOne.controls['course_type'].setValue(this.courseSelectRenovation.course_type?.code ? this.courseSelectRenovation.course_type?.code : null);
|
|
116
|
+
this.codFormStepOne.controls['agreement_by_category'].setValue(this.courseSelectRenovation.agreement?.code ? this.courseSelectRenovation.agreement?.code : null);
|
|
117
|
+
this.codFormStepOne.controls['english_level'].setValue(this.courseSelectRenovation.english_level?.code ? this.courseSelectRenovation.english_level?.code : null);
|
|
118
|
+
this.codFormStepOne.controls['availible_courses'].setValue(this.courseSelectRenovation?.code ? this.courseSelectRenovation?.code : null);
|
|
119
|
+
this.codFormStepOne.controls['course_modality'].setValue(this.courseSelectRenovation.course_modality?.code ? this.courseSelectRenovation.course_modality?.code : null);
|
|
119
120
|
this.getAvailibleCourses();
|
|
120
121
|
}
|
|
121
122
|
startLocalStorageWork() {
|
|
@@ -286,7 +287,7 @@ export class CodFormStepOneComponent extends CodFormSteps {
|
|
|
286
287
|
}
|
|
287
288
|
}
|
|
288
289
|
CodFormStepOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepOneComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.CopiesService }, { token: i4.BaseService }, { token: i5.CourseService }, { token: i6.CommunicatorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
-
CodFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: { initialData: "initialData", dataPreviusCodData: "dataPreviusCodData", isEditCod: "isEditCod", courseSelectRenovation: "courseSelectRenovation" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
|
|
290
|
+
CodFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: { initialData: "initialData", dataPreviusCodData: "dataPreviusCodData", isEditCod: "isEditCod", courseSelectRenovation: "courseSelectRenovation", isRenovation: "isRenovation" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
|
|
290
291
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepOneComponent, decorators: [{
|
|
291
292
|
type: Component,
|
|
292
293
|
args: [{ selector: 'app-cod-form-step-one', template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
|
|
@@ -298,7 +299,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
298
299
|
type: Input
|
|
299
300
|
}], courseSelectRenovation: [{
|
|
300
301
|
type: Input
|
|
302
|
+
}], isRenovation: [{
|
|
303
|
+
type: Input
|
|
301
304
|
}], changeStepEvent: [{
|
|
302
305
|
type: Output
|
|
303
306
|
}] } });
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1vbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9zdGVwcy9jb2QtZm9ybS1zdGVwLW9uZS9jb2QtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtb25lL2NvZC1mb3JtLXN0ZXAtb25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7OztBQVE5RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsWUFBWTtJQXNCdkQsWUFDVSxFQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUN4QyxLQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQVJBLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUF2QnhCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUs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Q0FBQyxPQUFPLHdCQUF3QixNQUFNLENBQUMsUUFBUSxxQkFBcUIsU0FBUyxpQkFBaUIsTUFBTSxDQUFDLGtCQUFrQixFQUFFOzRCQUNuTyxRQUFRLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJO3lCQUN0QyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUE7aUJBQ0g7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztvQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQy9ELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUV6QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7b0hBeFRVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHNUQ2hCcEMsOHhHQWdFQTsyRkRoRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1QjtxUkFNeEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdldEF2YWlsaWJsZUNvdXJzZXNScSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2NvdXJzZS9jb3Vyc2UtcnEubW9kZWwnO1xuaW1wb3J0IHsgQ29waWVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY29waWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291cnNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY291cnNlLXNlcnZpY2UvY291cnNlLXNlcnZpY2UubW9kZWwnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RGb3JtU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlcyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLXN0ZXBzJztcbmltcG9ydCB7IENvbW11bmljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2dpYy9jb21tdW5pY2F0b3Iuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2QtZm9ybS1zdGVwLW9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtb25lLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kRm9ybVN0ZXBPbmVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGluaXRpYWxEYXRhPzogYW55O1xuICBASW5wdXQoKSBkYXRhUHJldml1c0NvZERhdGE/OiBhbnk7XG4gIEBJbnB1dCgpIGlzRWRpdENvZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvdXJzZVNlbGVjdFJlbm92YXRpb24/OmFueTtcbiAgQE91dHB1dCgpIGNoYW5nZVN0ZXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGNvcGllczogYW55O1xuICBjb2RGb3JtU3RlcE9uZSE6IEZvcm1Hcm91cDtcbiAgaGFzQXZhaWxhYmxlQ291cnNlITogYm9vbGVhbjtcblxuICAvLyBQYXJhbWV0ZXJzXG4gIGFncmVlbWVudHM6IGFueTtcbiAgYXZhaWxpYmxlQ291cnNlczogYW55W10gPSBbXTtcbiAgY291cnNlX3R5cGU6IGFueTtcbiAgbGV2ZWxzOiBhbnk7XG4gIHBsYW5zOiBhbnk7XG4gIGlzRGlzYWJsZWRTZWw6Ym9vbGVhbj1mYWxzZVxuICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1swXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb3BpZXNTZXJ2aWNlOiBDb3BpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY291cnNlU2VydmljZTogQ291cnNlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbW11bmljYXRvclNlcnZpY2U6IENvbW11bmljYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvcGllcyA9IHRoaXMuY29waWVzU2VydmljZS5jb3BpZXM7XG4gIH1cblxuICAvKiBFcyBuZWNlc2FyaW8gcmVjb3JyZXIgZWwgYXJyYXkgZGUgY29udHJvbHMgZGUgbnVlc3RybyBmb3JtdWxhcmlvIHBhcmE6XG4gICAg4pyFIExlZXIgZWwgTG9jYWwgU3RvcmFnZSB5IHNldGVhciBsb3MgdmFsb3Jlc1xuICAgIOKchSBTdWJzY3JpYmlyc2UgYSBsb3MgY2FtYmlvcyBkZWwgZm9ybXVsYXJpbyBwYXJhIHNldGVhciB2YWxvcmVzIG51ZXZvc1xuXG4gICAgTm90YTogbGEgY2xhc2UgQ29kRm9ybVN0ZXBzKCkgc2UgZW5jYXJnYSBkZSB0b2RhIGxhIGzDs2dpY2EgZGUgTFMgY29uIGxvcyBwYXNvcyBkZWwgZm9ybXVsYXJpbyBkZWwgQ09EXG4gICovXG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy5zZXRWYWx1ZXNCeUxvY2FsU3RvcmFnZSgpXG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS52YWx1ZUNoYW5nZXNcbiAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuY29tbXVuaWNhdG9yU2VydmljZS5zZXRDdXJyZW50Q291cnNlVHlwZSh2YWx1ZSkpO1xuXG4gICAgdGhpcy5jb21tdW5pY2F0b3JTZXJ2aWNlLnNldEN1cnJlbnRBZ3JlZW1lbnQodGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMSwgJ2FncmVlbWVudF9ieV9jYXRlZ29yeScpISk7XG5cbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbERhdGEnXSAmJiB0aGlzLmluaXRpYWxEYXRhICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvY2Vzc0RhdGEodGhpcy5pbml0aWFsRGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ2RhdGFQcmV2aXVzQ29kRGF0YSddICYmIHRoaXMuZGF0YVByZXZpdXNDb2REYXRhICE9IG51bGwgICYmIHRoaXMuaXNFZGl0Q29kICYmICF0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5jb2RfcmVub3ZhdGlvbikge1xuICAgICAgdGhpcy5wcm9jZXNzRGF0YSh0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YSk7XG5cbiAgICAgIGlmICh0aGlzLmlzRWRpdENvZCAmJiAhdGhpcy5kYXRhUHJldml1c0NvZERhdGEuZWRpdF9jb3Vyc2VfcGF5bWVudCkge1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWRTZWwgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkU2VsID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWRTZWwpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlRm9ybUNvbnRyb2xzKCk7XG4gICAgICB9XG4gICAgICAvLyBGb3J6YXIgZGV0ZWNjacOzbiBkZSBjYW1iaW9zXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9ZWxzZSBpZihjaGFuZ2VzWydkYXRhUHJldml1c0NvZERhdGEnXSAmJiAgdGhpcy5kYXRhUHJldml1c0NvZERhdGEgIT0gbnVsbCAmJiAhdGhpcy5pc0VkaXRDb2QgJiYgdGhpcy5kYXRhUHJldml1c0NvZERhdGEuY29kX3Jlbm92YXRpb24gJiYgdGhpcy5jb3Vyc2VTZWxlY3RSZW5vdmF0aW9uICl7XG4gICAgICB0aGlzLmRpc2FibGVGb3JtQ29udHJvbHMoKTtcbiAgICAgIHRoaXMuc2V0RGF0YUNvZFJlbm92YXRpb25TZWxlY3QoKTtcbiAgICB9XG5cbiAgfVxuICBwcml2YXRlIGRpc2FibGVGb3JtQ29udHJvbHMoKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLmRpc2FibGUoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLmRpc2FibGUoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS5kaXNhYmxlKCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLmRpc2FibGUoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLmRpc2FibGUoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NEYXRhKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IHsgY29kRm9ybVN0ZXBPbmUgfSA9IHRoaXM7XG4gICAgdGhpcy5nZXRBZ3JlZW1lbnRCeVBsYW4oZGF0YS5jb3Vyc2VfdHlwZT8uYWNhZGVtaWNfcGxhbi5jb2RlKTtcbiAgICB0aGlzLmdldENvdXJzZVR5cGUoZGF0YS5jb3Vyc2VfdHlwZT8uYWNhZGVtaWNfcGxhbi5jb2RlKTtcbiAgICBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnNldFZhbHVlKGRhdGEuZW5nbGlzaF9sZXZlbD8uY29kZSk7XG4gICAgY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKGRhdGEuYWdyZWVtZW50Py5jb2RlKTtcbiAgICBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS5zZXRWYWx1ZShkYXRhLmNvdXJzZV90eXBlPy5jb2RlKTtcbiAgICBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLnNldFZhbHVlKGRhdGEuY291cnNlX3R5cGU/LmFjYWRlbWljX3BsYW4uY29kZSk7XG4gICAgdGhpcy5nZXRBdmFpbGlibGVDb3Vyc2VzKCk7XG5cbiAgICBpZiAodGhpcy5pc0VkaXRDb2QpIHtcbiAgICAgIHRoaXMuc2V0RGF0YUZyb21FZGl0Q29kSGlzdG9yeSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldERhdGFGcm9tVXNlckhpc3RvcnkoKXtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb3Vyc2VfdHlwZT8uYWNhZGVtaWNfcGxhbi5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY291cnNlX3R5cGU/LmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWdyZWVtZW50Py5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5lbmdsaXNoX2xldmVsPy5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGE/LmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY291cnNlX21vZGFsaXR5Py5jb2RlKTtcbiAgfVxuXG4gIHNldERhdGFGcm9tRWRpdENvZEhpc3RvcnkoKXtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10uc2V0VmFsdWUodGhpcy5kYXRhUHJldml1c0NvZERhdGEuY291cnNlX3R5cGUuYWNhZGVtaWNfcGxhbi5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKHRoaXMuZGF0YVByZXZpdXNDb2REYXRhLmNvdXJzZV90eXBlLmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKHRoaXMuZGF0YVByZXZpdXNDb2REYXRhLmFncmVlbWVudC5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10uc2V0VmFsdWUodGhpcy5kYXRhUHJldml1c0NvZERhdGEuZW5nbGlzaF9sZXZlbC5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKHRoaXMuZGF0YVByZXZpdXNDb2REYXRhLmNvdXJzZS5jb2RlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS5zZXRWYWx1ZSh0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5jb3Vyc2UuY291cnNlX21vZGFsaXR5KTtcbiAgfVxuICBzZXREYXRhQ29kUmVub3ZhdGlvblNlbGVjdCgpe1xuICAgIHRoaXMuZ2V0QWdyZWVtZW50QnlQbGFuKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5jb3Vyc2VfdHlwZT8uYWNhZGVtaWNfcGxhbi5jb2RlKTtcbiAgICB0aGlzLmdldENvdXJzZVR5cGUodGhpcy5jb3Vyc2VTZWxlY3RSZW5vdmF0aW9uLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS5zZXRWYWx1ZSh0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24uY291cnNlX3R5cGU/LmFjYWRlbWljX3BsYW4uY29kZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS5zZXRWYWx1ZSh0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24uY291cnNlX3R5cGU/LmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5hZ3JlZW1lbnQ/LmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS5zZXRWYWx1ZSh0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24uZW5nbGlzaF9sZXZlbD8uY29kZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYXZhaWxpYmxlX2NvdXJzZXMnXS5zZXRWYWx1ZSh0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24/LmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5jb3Vyc2VfbW9kYWxpdHk/LmNvZGUpO1xuICAgIHRoaXMuZ2V0QXZhaWxpYmxlQ291cnNlcygpO1xuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzID0gdGhpcy5yZWFkQW5kV3JpdGVMUygxLCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKGxvY2FsU3RvcmFnZVZhbHVlLnZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuRm9ybUNoYW5nZXMoMSwgY29udHJvbC5uYW1lLCB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEFsbFBsYW5zKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5wbGFucyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldExldmVscygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMubGV2ZWxzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGFjYWRlbWljX3BsYW46IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNvdXJzZV90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGVuZ2xpc2hfbGV2ZWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGF2YWlsaWJsZV9jb3Vyc2VzOiBbJycsIFtdXSxcbiAgICAgIGNvdXJzZV9tb2RhbGl0eTogWycnXSxcblxuICAgIH0pO1xuICB9XG5cbiAgc2V0VmFsdWVzQnlMb2NhbFN0b3JhZ2UoKSB7XG4gICAgY29uc3QgYWNhZGVtaWNQbGFuID0gdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLnZhbHVlIHx8IG51bGw7XG4gICAgaWYgKCFhY2FkZW1pY1BsYW4pIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdEFjYWRlbWljUGxhbihhY2FkZW1pY1BsYW4pO1xuXG4gICAgY29uc3QgYWdyZWVtZW50QnlDYXRlZ29yeSA9IHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnZhbHVlIHx8IG51bGw7XG4gICAgaWYgKCFhZ3JlZW1lbnRCeUNhdGVnb3J5KSByZXR1cm47XG4gICAgdGhpcy5nZXRBdmFpbGlibGVDb3Vyc2VzKCk7XG5cbiAgICBjb25zdCBlbmdsaXNoTGV2ZWwgPSB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10udmFsdWUgfHwgbnVsbDtcbiAgICBpZiAoIWVuZ2xpc2hMZXZlbCkgcmV0dXJuO1xuICAgIHRoaXMuZ2V0QXZhaWxpYmxlQ291cnNlcygpO1xuXG4gICAgY29uc3QgY291cnNlTW9kYWxpdHkgPSB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS52YWx1ZSB8fCBudWxsO1xuICAgIGlmICghY291cnNlTW9kYWxpdHkpIHJldHVybjtcbiAgICB0aGlzLmdldEF2YWlsaWJsZUNvdXJzZXMoKTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUubWFya0FzVG91Y2hlZCgpO1xuICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwT25lLmludmFsaWQpIHJldHVybjtcblxuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gMlxuICAgIHRoaXMuY2hhbmdlU3RlcEV2ZW50LmVtaXQoMSk7XG4gIH1cblxuICByZXNldEZvcm0oKSB7XG4gICAgdGhpcy5yZXNldExvY2FsU3RvcmFnZSh0aGlzLmNvbnRyb2xzKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLnJlc2V0KCk7XG4gIH1cblxuICAvLyBFdmVudG9zIGRlIGxvcyBzZWxlY3RzXG4gIHNlbGVjdEFjYWRlbWljUGxhbihhY2FkZW1pY19wbGFuOiBhbnkpIHtcbiAgICBpZiAoYWNhZGVtaWNfcGxhbiAhPT0gJ1BsYW4nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10uc2V0VmFsdWUoYWNhZGVtaWNfcGxhbik7XG4gICAgICAvLyB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIC8vIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3NjaG9vbF9uYW1lJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICAvLyB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5nZXRDb3Vyc2VUeXBlKGFjYWRlbWljX3BsYW4pO1xuICAgICAgdGhpcy5nZXRBZ3JlZW1lbnRCeVBsYW4oYWNhZGVtaWNfcGxhbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBnZXRDb3Vyc2VUeXBlKHBsYW46IG51bWJlcikge1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDb3Vyc2VzVHlwZXNCeVBsYW4ocGxhbikuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5jb3Vyc2VfdHlwZSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBnZXRBZ3JlZW1lbnRCeVBsYW4ocGxhbjogbnVtYmVyKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEFncmVlbWVudEJ5Q2F0ZWdvcnkocGxhbikuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5hZ3JlZW1lbnRzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdENvdXJzZXNUeXBlc0J5UGxhbihjb3Vyc2VzVHlwZXM6IGFueSkge1xuICAgIGlmIChjb3Vyc2VzVHlwZXMgIT09ICdUaXBvIGRlIHBsYW4nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10uc2V0VmFsdWUoY291cnNlc1R5cGVzKTtcbiAgICAgIHRoaXMuZ2V0QXZhaWxpYmxlQ291cnNlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFncmVlbWVudEJ5Q2F0ZWdvcnkoYWdyZWVtZW50QnlDYXRlZ29yaWVzOiBhbnkpIHtcbiAgICBpZiAoYWdyZWVtZW50QnlDYXRlZ29yaWVzICE9PSAnQ29udmVuaW8gcG9yIGNhdGVnb3JpYScpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUoYWdyZWVtZW50QnlDYXRlZ29yaWVzKTtcbiAgICAgIHRoaXMuY29tbXVuaWNhdG9yU2VydmljZS5zZXRDdXJyZW50QWdyZWVtZW50KGFncmVlbWVudEJ5Q2F0ZWdvcmllcyk7XG4gICAgICB0aGlzLmdldEF2YWlsaWJsZUNvdXJzZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydzY2hvb2xfbmFtZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdExldmVsKGxldmVsczogYW55KSB7XG4gICAgaWYgKGxldmVscyAhPT0gJ05pdmVsIGRlIGluZ2zDqXMnKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS5zZXRWYWx1ZShsZXZlbHMpO1xuICAgICAgdGhpcy5nZXRBdmFpbGlibGVDb3Vyc2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RBdmFpbGlibGVDb3Vyc2VzKGF2YWlsaWJsZUNvdXJzZXM6IGFueSkge1xuICAgIGlmIChhdmFpbGlibGVDb3Vyc2VzICE9PSAnR3J1cG9zIGRpc3BvbmlibGVzJykge1xuICAgICAgbGV0IGNvdXJzZU1vZCA9IHRoaXMuYXZhaWxpYmxlQ291cnNlcy5maW5kKG9iamV0byA9PiBvYmpldG8uY29kZSA9PT0gcGFyc2VJbnQoYXZhaWxpYmxlQ291cnNlcywgMTApKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKGNvdXJzZU1vZC5tb2RhbGl0eSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKGF2YWlsaWJsZUNvdXJzZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRSZXF1ZXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10udmFsdWUgIT0gJycgJiZcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnZhbHVlICE9ICcnICYmXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnZhbHVlICE9ICcnXG4gICAgKTtcbiAgfVxuXG4gIGdldEF2YWlsaWJsZUNvdXJzZXMoKSB7XG4gICAgdGhpcy5hdmFpbGlibGVDb3Vyc2VzID0gW107XG4gICAgaWYgKHRoaXMudmFsaWRSZXF1ZXN0KCkpIHtcbiAgICAgIGxldCByZXF1ZXN0X2F2YWlsaWJsZUNvdXJzZXM6IEdldEF2YWlsaWJsZUNvdXJzZXNScSA9IHtcbiAgICAgICAgdG9rZW46IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclRva2VuKCksXG4gICAgICAgIGVuZ2xpc2hfbGV2ZWw6IHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS52YWx1ZSxcbiAgICAgICAgYWdyZWVtZW50OiB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS52YWx1ZSxcbiAgICAgICAgY291cnNlX3R5cGU6IHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10udmFsdWUsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLmNvdXJzZVNlcnZpY2UuZ2V0QXZhaWxhYmxlQ291cnNlc0J5TGV2QWdyZWVDVHlwZShyZXF1ZXN0X2F2YWlsaWJsZUNvdXJzZXMpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgICAgICAgIGxldCBjb3Vyc2VzOiBhbnlbXSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICB0aGlzLmhhc0F2YWlsYWJsZUNvdXJzZSA9IHRydWU7XG4gICAgICAgICAgICBjb3Vyc2VzLmZvckVhY2goY291cnNlID0+IHtcbiAgICAgICAgICAgICAgbGV0IHNjaGVkdWxlUGFydHMgPSBjb3Vyc2UuY291cnNlX3NjaGVkdWxlWzBdLnNwbGl0KFwiIFwiKTtcbiAgICAgICAgICAgICAgbGV0IHN0YXJ0VGltZSA9IHNjaGVkdWxlUGFydHNbMl07XG4gICAgICAgICAgICAgIHRoaXMuYXZhaWxpYmxlQ291cnNlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBjb3Vyc2UuY29kZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBgQ3Vyc28gJHtjb3Vyc2UuY291cnNlX21vZGFsaXR5Lm5hbWUgPT09ICdQcmVzZW5jaWFsJyA/ICdQcmVzZW5jaWFsJyA6ICdWaXJ0dWFsJ30gLSBUZWFjaGVyICR7Y291cnNlLnRlYWNoZXJ9IC0gIEZlY2hhIGRlIGluaWNpbzogJHtjb3Vyc2UudG9fc3RhcnR9LCBIb3JhIGRlIGluaWNpbzogJHtzdGFydFRpbWV9LCBDdXBvcyBkaXNwOiAke2NvdXJzZS5hdmFpbGFibGVfY2FwYWNpdHl9YCxcbiAgICAgICAgICAgICAgICBtb2RhbGl0eTogY291cnNlLmNvdXJzZV9tb2RhbGl0eS5jb2RlXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYXNBdmFpbGFibGVDb3Vyc2UgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ10uc2V0VmFsdWUoXCJcIik7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlU3RlcEZvdXIoKTtcblxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWVTdGVwRm91cigpe1xuICAgIHRoaXMuc2V0RGF0YUluTG9jYWxTdG9yYWdlKDQsICdwcm9ncmFtX3ByaWNlJywgbnVsbCk7XG4gICAgdGhpcy5zZXREYXRhSW5Mb2NhbFN0b3JhZ2UoNCwgJ3F1b3RhX3RpbWVzJywgbnVsbCk7XG4gICAgdGhpcy5zZXREYXRhSW5Mb2NhbFN0b3JhZ2UoNCwgJ3RvdGFsX3ByaWNlJywgbnVsbCk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiY29kRm9ybVN0ZXBPbmVcIiBjbGFzcz1cImdyaWRcIj5cbiAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10udmFsdWVcIlxuICAgICAgW3NlbGVjdENvZGVdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS52YWx1ZSA9PT0gbnVsbD8gJ1BsYW4nOiBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLnZhbHVlXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInUGxhbidcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0QWNhZGVtaWNQbGFuKCRldmVudClcIlxuICAgICAgW2RhdGFdPVwicGxhbnNcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXVwiXG4gICAgICBbZGlzYWJsZWRTZWxdPVwiaXNEaXNhYmxlZFNlbFwiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS52YWx1ZVwiXG4gICAgICBbc2VsZWN0Q29kZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS52YWx1ZSA9PT0gbnVsbD8gJ1RpcG8gZGUgcGxhbic6IGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnZhbHVlXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInVGlwbyBkZSBwbGFuJ1wiXG4gICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RDb3Vyc2VzVHlwZXNCeVBsYW4oJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJjb3Vyc2VfdHlwZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXVwiXG4gICAgICBbZGlzYWJsZWRTZWxdPVwiaXNEaXNhYmxlZFNlbFwiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10udmFsdWVcIlxuICAgICAgW3NlbGVjdENvZGVdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnZhbHVlID09PSBudWxsPyAnQ29udmVuaW8gcG9yIGNhdGVnb3JpYSc6IGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS52YWx1ZVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0NvbnZlbmlvIHBvciBjYXRlZ29yaWEnXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdEFncmVlbWVudEJ5Q2F0ZWdvcnkoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJhZ3JlZW1lbnRzXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXVwiXG4gICAgICBbZGlzYWJsZWRTZWxdPVwiaXNEaXNhYmxlZFNlbFwiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnZhbHVlXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10udmFsdWUgPT09IG51bGw/ICdOaXZlbCBkZSBpbmdsw6lzJzogY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS52YWx1ZVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ05pdmVsIGRlIGluZ2zDqXMnXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdExldmVsKCRldmVudClcIlxuICAgICAgW2RhdGFdPVwibGV2ZWxzXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ11cIlxuICAgICAgW2Rpc2FibGVkU2VsXT1cImlzRGlzYWJsZWRTZWxcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ10udmFsdWVcIlxuICAgICAgW3NlbGVjdENvZGVdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ10udmFsdWUgPT09IG51bGw/ICdHcnVwb3MgZGlzcG9uaWJsZXMnOiBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYXZhaWxpYmxlX2NvdXJzZXMnXS52YWx1ZVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0dydXBvcyBkaXNwb25pYmxlcydcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0QXZhaWxpYmxlQ291cnNlcygkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cImF2YWlsaWJsZUNvdXJzZXNcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ11cIlxuICAgICAgW2Rpc2FibGVkU2VsXT1cImlzRGlzYWJsZWRTZWxcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8c3BhbiAqbmdJZj1cIiFoYXNBdmFpbGFibGVDb3Vyc2VcIiBjbGFzcz1cIm10LTEgcGwtMiB0ZXh0LXJlZC01MDBcIj5Ub2RhdsOtYSBubyBoYXkgY3Vyc29zIGNvbiBlc3RhcyBjYXJhY3RlcsOtc3RpY2FzLjwvc3Bhbj5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW4gKm5nSWY9XCJjb2RGb3JtU3RlcE9uZS5pbnZhbGlkICYmIGNvZEZvcm1TdGVwT25lLnRvdWNoZWRcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPkZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hci48L3NwYW4+XG4gIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIFtjbGFzc109XCJpc0VkaXRDb2QgPyAnbWwtYXV0byB5ZWxsb3ctMzAwIHAtYnV0dG9uLXNtJyA6ICdtbC1hdXRvIHAtYnV0dG9uLXNtJ1wiIChjbGljayk9XCJzZW5kRm9ybSgpXCIgcEJ1dHRvbiBsYWJlbD1cIlNpZ3VpZW50ZVwiIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1vbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9zdGVwcy9jb2QtZm9ybS1zdGVwLW9uZS9jb2QtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtb25lL2NvZC1mb3JtLXN0ZXAtb25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7OztBQVE5RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsWUFBWTtJQXVCdkQsWUFDVSxFQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUN4QyxLQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQVJBLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUF2QnhCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUs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Q0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7O29IQTFUVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixvVkNoQnBDLDh4R0FnRUE7MkZEaERhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSx1QkFBdUI7cVJBTXhCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdldEF2YWlsaWJsZUNvdXJzZXNScSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2NvdXJzZS9jb3Vyc2UtcnEubW9kZWwnO1xuaW1wb3J0IHsgQ29waWVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY29waWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291cnNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY291cnNlLXNlcnZpY2UvY291cnNlLXNlcnZpY2UubW9kZWwnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RGb3JtU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlcyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLXN0ZXBzJztcbmltcG9ydCB7IENvbW11bmljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2dpYy9jb21tdW5pY2F0b3Iuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2QtZm9ybS1zdGVwLW9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtb25lLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kRm9ybVN0ZXBPbmVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGluaXRpYWxEYXRhPzogYW55O1xuICBASW5wdXQoKSBkYXRhUHJldml1c0NvZERhdGE/OiBhbnk7XG4gIEBJbnB1dCgpIGlzRWRpdENvZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvdXJzZVNlbGVjdFJlbm92YXRpb24/OmFueTtcbiAgQElucHV0KCkgaXNSZW5vdmF0aW9uPzphbnk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VTdGVwRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBjb3BpZXM6IGFueTtcbiAgY29kRm9ybVN0ZXBPbmUhOiBGb3JtR3JvdXA7XG4gIGhhc0F2YWlsYWJsZUNvdXJzZSE6IGJvb2xlYW47XG5cbiAgLy8gUGFyYW1ldGVyc1xuICBhZ3JlZW1lbnRzOiBhbnk7XG4gIGF2YWlsaWJsZUNvdXJzZXM6IGFueVtdID0gW107XG4gIGNvdXJzZV90eXBlOiBhbnk7XG4gIGxldmVsczogYW55O1xuICBwbGFuczogYW55O1xuICBpc0Rpc2FibGVkU2VsOmJvb2xlYW49ZmFsc2VcbiAgLy8gQ29udHJvbHMgZGVsIGZvcm11bGFyaW9cbiAgY29udHJvbHMgPSBuZXcgQ29kRm9ybUNvbnRyb2xzKCkuY29udHJvbHNbMF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29waWVzU2VydmljZTogQ29waWVzU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2VTZXJ2aWNlOiBCYXNlU2VydmljZSxcbiAgICBwcml2YXRlIGNvdXJzZVNlcnZpY2U6IENvdXJzZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0b3JTZXJ2aWNlOiBDb21tdW5pY2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb3BpZXMgPSB0aGlzLmNvcGllc1NlcnZpY2UuY29waWVzO1xuICB9XG5cbiAgLyogRXMgbmVjZXNhcmlvIHJlY29ycmVyIGVsIGFycmF5IGRlIGNvbnRyb2xzIGRlIG51ZXN0cm8gZm9ybXVsYXJpbyBwYXJhOlxuICAgIOKchSBMZWVyIGVsIExvY2FsIFN0b3JhZ2UgeSBzZXRlYXIgbG9zIHZhbG9yZXNcbiAgICDinIUgU3Vic2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZGVsIGZvcm11bGFyaW8gcGFyYSBzZXRlYXIgdmFsb3JlcyBudWV2b3NcblxuICAgIE5vdGE6IGxhIGNsYXNlIENvZEZvcm1TdGVwcygpIHNlIGVuY2FyZ2EgZGUgdG9kYSBsYSBsw7NnaWNhIGRlIExTIGNvbiBsb3MgcGFzb3MgZGVsIGZvcm11bGFyaW8gZGVsIENPRFxuICAqL1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIHRoaXMuc2V0VmFsdWVzQnlMb2NhbFN0b3JhZ2UoKVxuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10udmFsdWVDaGFuZ2VzXG4gICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmNvbW11bmljYXRvclNlcnZpY2Uuc2V0Q3VycmVudENvdXJzZVR5cGUodmFsdWUpKTtcblxuICAgIHRoaXMuY29tbXVuaWNhdG9yU2VydmljZS5zZXRDdXJyZW50QWdyZWVtZW50KHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknKSEpO1xuXG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxEYXRhJ10gJiYgdGhpcy5pbml0aWFsRGF0YSAhPSBudWxsICYmICF0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YSAmJiAhdGhpcy5pc0VkaXRDb2QgJiYgdGhpcy5pc1Jlbm92YXRpb24gPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnByb2Nlc3NEYXRhKHRoaXMuaW5pdGlhbERhdGEpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydkYXRhUHJldml1c0NvZERhdGEnXSAmJiB0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YSAhPSBudWxsICAmJiB0aGlzLmlzRWRpdENvZCAmJiB0aGlzLmlzUmVub3ZhdGlvbiA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucHJvY2Vzc0RhdGEodGhpcy5kYXRhUHJldml1c0NvZERhdGEpO1xuXG4gICAgICBpZiAodGhpcy5pc0VkaXRDb2QgJiYgIXRoaXMuZGF0YVByZXZpdXNDb2REYXRhLmVkaXRfY291cnNlX3BheW1lbnQpIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkU2VsID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZFNlbCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0Rpc2FibGVkU2VsKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUZvcm1Db250cm9scygpO1xuICAgICAgfVxuICAgICAgLy8gRm9yemFyIGRldGVjY2nDs24gZGUgY2FtYmlvc1xuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfWVsc2UgaWYoY2hhbmdlc1snZGF0YVByZXZpdXNDb2REYXRhJ10gJiYgdGhpcy5kYXRhUHJldml1c0NvZERhdGEgIT0gbnVsbCAmJiAhdGhpcy5pc0VkaXRDb2QgJiYgdGhpcy5jb3Vyc2VTZWxlY3RSZW5vdmF0aW9uICYmIHRoaXMuaXNSZW5vdmF0aW9uID09PSB0cnVlICl7XG4gICAgICB0aGlzLmRpc2FibGVGb3JtQ29udHJvbHMoKTtcbiAgICAgIHRoaXMuc2V0RGF0YUNvZFJlbm92YXRpb25TZWxlY3QoKTtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICB9XG4gIHByaXZhdGUgZGlzYWJsZUZvcm1Db250cm9scygpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10uZGlzYWJsZSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10uZGlzYWJsZSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLmRpc2FibGUoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10uZGlzYWJsZSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ10uZGlzYWJsZSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLmRpc2FibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0RhdGEoZGF0YTogYW55KSB7XG4gICAgY29uc3QgeyBjb2RGb3JtU3RlcE9uZSB9ID0gdGhpcztcbiAgICB0aGlzLmdldEFncmVlbWVudEJ5UGxhbihkYXRhLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUpO1xuICAgIHRoaXMuZ2V0Q291cnNlVHlwZShkYXRhLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUpO1xuICAgIGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10uc2V0VmFsdWUoZGF0YS5lbmdsaXNoX2xldmVsPy5jb2RlKTtcbiAgICBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUoZGF0YS5hZ3JlZW1lbnQ/LmNvZGUpO1xuICAgIGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKGRhdGEuY291cnNlX3R5cGU/LmNvZGUpO1xuICAgIGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10uc2V0VmFsdWUoZGF0YS5jb3Vyc2VfdHlwZT8uYWNhZGVtaWNfcGxhbi5jb2RlKTtcbiAgICB0aGlzLmdldEF2YWlsaWJsZUNvdXJzZXMoKTtcblxuICAgIGlmICh0aGlzLmlzRWRpdENvZCkge1xuICAgICAgdGhpcy5zZXREYXRhRnJvbUVkaXRDb2RIaXN0b3J5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5zZXREYXRhRnJvbVVzZXJIaXN0b3J5KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUgPyB0aGlzLmluaXRpYWxEYXRhLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY291cnNlX3R5cGU/LmNvZGUgPyB0aGlzLmluaXRpYWxEYXRhLmNvdXJzZV90eXBlPy5jb2RlIDogbnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZ3JlZW1lbnQ/LmNvZGUgPyB0aGlzLmluaXRpYWxEYXRhLmFncmVlbWVudD8uY29kZSA6IG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmVuZ2xpc2hfbGV2ZWw/LmNvZGUgPyB0aGlzLmluaXRpYWxEYXRhLmVuZ2xpc2hfbGV2ZWw/LmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGE/LmNvZGUgPyB0aGlzLmluaXRpYWxEYXRhPy5jb2RlIDogbnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX21vZGFsaXR5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb3Vyc2VfbW9kYWxpdHk/LmNvZGUgPyB0aGlzLmluaXRpYWxEYXRhLmNvdXJzZV9tb2RhbGl0eT8uY29kZSA6IG51bGwpO1xuICB9XG5cbiAgc2V0RGF0YUZyb21FZGl0Q29kSGlzdG9yeSgpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS5zZXRWYWx1ZSh0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5jb3Vyc2VfdHlwZS5hY2FkZW1pY19wbGFuLmNvZGUgPyB0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5jb3Vyc2VfdHlwZS5hY2FkZW1pY19wbGFuLmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKHRoaXMuZGF0YVByZXZpdXNDb2REYXRhLmNvdXJzZV90eXBlLmNvZGUgPyB0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5jb3Vyc2VfdHlwZS5jb2RlIDogbnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUodGhpcy5kYXRhUHJldml1c0NvZERhdGEuYWdyZWVtZW50LmNvZGUgPyB0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5hZ3JlZW1lbnQuY29kZSA6IG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS5zZXRWYWx1ZSh0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5lbmdsaXNoX2xldmVsLmNvZGUgPyB0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5lbmdsaXNoX2xldmVsLmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKHRoaXMuZGF0YVByZXZpdXNDb2REYXRhLmNvdXJzZS5jb2RlID8gdGhpcy5kYXRhUHJldml1c0NvZERhdGEuY291cnNlLmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS5zZXRWYWx1ZSh0aGlzLmRhdGFQcmV2aXVzQ29kRGF0YS5jb3Vyc2UuY291cnNlX21vZGFsaXR5ID8gdGhpcy5kYXRhUHJldml1c0NvZERhdGEuY291cnNlLmNvdXJzZV9tb2RhbGl0eSA6IG51bGwpO1xuICB9XG4gIHNldERhdGFDb2RSZW5vdmF0aW9uU2VsZWN0KCl7XG4gICAgdGhpcy5nZXRBZ3JlZW1lbnRCeVBsYW4odGhpcy5jb3Vyc2VTZWxlY3RSZW5vdmF0aW9uLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUpO1xuICAgIHRoaXMuZ2V0Q291cnNlVHlwZSh0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24uY291cnNlX3R5cGU/LmFjYWRlbWljX3BsYW4uY29kZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5jb3Vyc2VfdHlwZT8uYWNhZGVtaWNfcGxhbi5jb2RlID8gdGhpcy5jb3Vyc2VTZWxlY3RSZW5vdmF0aW9uLmNvdXJzZV90eXBlPy5hY2FkZW1pY19wbGFuLmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5jb3Vyc2VfdHlwZT8uY29kZSA/IHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5jb3Vyc2VfdHlwZT8uY29kZSA6IG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5hZ3JlZW1lbnQ/LmNvZGUgPyB0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24uYWdyZWVtZW50Py5jb2RlIDogbnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5lbmdsaXNoX2xldmVsPy5jb2RlID8gdGhpcy5jb3Vyc2VTZWxlY3RSZW5vdmF0aW9uLmVuZ2xpc2hfbGV2ZWw/LmNvZGUgOiBudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbj8uY29kZSA/IHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbj8uY29kZSA6IG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0UmVub3ZhdGlvbi5jb3Vyc2VfbW9kYWxpdHk/LmNvZGUgPyB0aGlzLmNvdXJzZVNlbGVjdFJlbm92YXRpb24uY291cnNlX21vZGFsaXR5Py5jb2RlIDogbnVsbCk7XG4gICAgdGhpcy5nZXRBdmFpbGlibGVDb3Vyc2VzKCk7XG4gIH1cblxuICBzdGFydExvY2FsU3RvcmFnZVdvcmsoKSB7XG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDEsIGNvbnRyb2wubmFtZSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcygxLCBjb250cm9sLm5hbWUsIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0QWxsUGxhbnMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLnBsYW5zID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TGV2ZWxzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5sZXZlbHMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgaW5pdEZvcm0oKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgYWNhZGVtaWNfcGxhbjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgY291cnNlX3R5cGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGFncmVlbWVudF9ieV9jYXRlZ29yeTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZW5nbGlzaF9sZXZlbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgYXZhaWxpYmxlX2NvdXJzZXM6IFsnJywgW11dLFxuICAgICAgY291cnNlX21vZGFsaXR5OiBbJyddLFxuXG4gICAgfSk7XG4gIH1cblxuICBzZXRWYWx1ZXNCeUxvY2FsU3RvcmFnZSgpIHtcbiAgICBjb25zdCBhY2FkZW1pY1BsYW4gPSB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10udmFsdWUgfHwgbnVsbDtcbiAgICBpZiAoIWFjYWRlbWljUGxhbikgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0QWNhZGVtaWNQbGFuKGFjYWRlbWljUGxhbik7XG5cbiAgICBjb25zdCBhZ3JlZW1lbnRCeUNhdGVnb3J5ID0gdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10udmFsdWUgfHwgbnVsbDtcbiAgICBpZiAoIWFncmVlbWVudEJ5Q2F0ZWdvcnkpIHJldHVybjtcbiAgICB0aGlzLmdldEF2YWlsaWJsZUNvdXJzZXMoKTtcblxuICAgIGNvbnN0IGVuZ2xpc2hMZXZlbCA9IHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS52YWx1ZSB8fCBudWxsO1xuICAgIGlmICghZW5nbGlzaExldmVsKSByZXR1cm47XG4gICAgdGhpcy5nZXRBdmFpbGlibGVDb3Vyc2VzKCk7XG5cbiAgICBjb25zdCBjb3Vyc2VNb2RhbGl0eSA9IHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnZhbHVlIHx8IG51bGw7XG4gICAgaWYgKCFjb3Vyc2VNb2RhbGl0eSkgcmV0dXJuO1xuICAgIHRoaXMuZ2V0QXZhaWxpYmxlQ291cnNlcygpO1xuICB9XG5cbiAgc2VuZEZvcm0oKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5tYXJrQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBPbmUuaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyAyXG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgxKTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpIHtcbiAgICB0aGlzLnJlc2V0TG9jYWxTdG9yYWdlKHRoaXMuY29udHJvbHMpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUucmVzZXQoKTtcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdHNcbiAgc2VsZWN0QWNhZGVtaWNQbGFuKGFjYWRlbWljX3BsYW46IGFueSkge1xuICAgIGlmIChhY2FkZW1pY19wbGFuICE9PSAnUGxhbicpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS5zZXRWYWx1ZShhY2FkZW1pY19wbGFuKTtcbiAgICAgIC8vIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgLy8gdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snc2Nob29sX25hbWUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIC8vIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmdldENvdXJzZVR5cGUoYWNhZGVtaWNfcGxhbik7XG4gICAgICB0aGlzLmdldEFncmVlbWVudEJ5UGxhbihhY2FkZW1pY19wbGFuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvdXJzZVR5cGUocGxhbjogbnVtYmVyKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENvdXJzZXNUeXBlc0J5UGxhbihwbGFuKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmNvdXJzZV90eXBlID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEFncmVlbWVudEJ5UGxhbihwbGFuOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0QWdyZWVtZW50QnlDYXRlZ29yeShwbGFuKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmFncmVlbWVudHMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0Q291cnNlc1R5cGVzQnlQbGFuKGNvdXJzZXNUeXBlczogYW55KSB7XG4gICAgaWYgKGNvdXJzZXNUeXBlcyAhPT0gJ1RpcG8gZGUgcGxhbicpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS5zZXRWYWx1ZShjb3Vyc2VzVHlwZXMpO1xuICAgICAgdGhpcy5nZXRBdmFpbGlibGVDb3Vyc2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0QWdyZWVtZW50QnlDYXRlZ29yeShhZ3JlZW1lbnRCeUNhdGVnb3JpZXM6IGFueSkge1xuICAgIGlmIChhZ3JlZW1lbnRCeUNhdGVnb3JpZXMgIT09ICdDb252ZW5pbyBwb3IgY2F0ZWdvcmlhJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX21vZGFsaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS5zZXRWYWx1ZShhZ3JlZW1lbnRCeUNhdGVnb3JpZXMpO1xuICAgICAgdGhpcy5jb21tdW5pY2F0b3JTZXJ2aWNlLnNldEN1cnJlbnRBZ3JlZW1lbnQoYWdyZWVtZW50QnlDYXRlZ29yaWVzKTtcbiAgICAgIHRoaXMuZ2V0QXZhaWxpYmxlQ291cnNlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3NjaG9vbF9uYW1lJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0TGV2ZWwobGV2ZWxzOiBhbnkpIHtcbiAgICBpZiAobGV2ZWxzICE9PSAnTml2ZWwgZGUgaW5nbMOpcycpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV9tb2RhbGl0eSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnNldFZhbHVlKGxldmVscyk7XG4gICAgICB0aGlzLmdldEF2YWlsaWJsZUNvdXJzZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEF2YWlsaWJsZUNvdXJzZXMoYXZhaWxpYmxlQ291cnNlczogYW55KSB7XG4gICAgaWYgKGF2YWlsaWJsZUNvdXJzZXMgIT09ICdHcnVwb3MgZGlzcG9uaWJsZXMnKSB7XG4gICAgICBsZXQgY291cnNlTW9kID0gdGhpcy5hdmFpbGlibGVDb3Vyc2VzLmZpbmQob2JqZXRvID0+IG9iamV0by5jb2RlID09PSBwYXJzZUludChhdmFpbGlibGVDb3Vyc2VzLCAxMCkpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX21vZGFsaXR5J10uc2V0VmFsdWUoY291cnNlTW9kLm1vZGFsaXR5KTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ10uc2V0VmFsdWUoYXZhaWxpYmxlQ291cnNlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2F2YWlsaWJsZV9jb3Vyc2VzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZFJlcXVlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS52YWx1ZSAhPSAnJyAmJlxuICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10udmFsdWUgIT0gJycgJiZcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10udmFsdWUgIT0gJydcbiAgICApO1xuICB9XG5cbiAgZ2V0QXZhaWxpYmxlQ291cnNlcygpIHtcbiAgICB0aGlzLmF2YWlsaWJsZUNvdXJzZXMgPSBbXTtcbiAgICBpZiAodGhpcy52YWxpZFJlcXVlc3QoKSkge1xuICAgICAgbGV0IHJlcXVlc3RfYXZhaWxpYmxlQ291cnNlczogR2V0QXZhaWxpYmxlQ291cnNlc1JxID0ge1xuICAgICAgICB0b2tlbjogdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyVG9rZW4oKSxcbiAgICAgICAgZW5nbGlzaF9sZXZlbDogdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnZhbHVlLFxuICAgICAgICBhZ3JlZW1lbnQ6IHRoaXMuY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnZhbHVlLFxuICAgICAgICBjb3Vyc2VfdHlwZTogdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snY291cnNlX3R5cGUnXS52YWx1ZSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuY291cnNlU2VydmljZS5nZXRBdmFpbGFibGVDb3Vyc2VzQnlMZXZBZ3JlZUNUeXBlKHJlcXVlc3RfYXZhaWxpYmxlQ291cnNlcykuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgbGV0IGNvdXJzZXM6IGFueVtdID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgIHRoaXMuaGFzQXZhaWxhYmxlQ291cnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvdXJzZXMuZm9yRWFjaChjb3Vyc2UgPT4ge1xuICAgICAgICAgICAgICBsZXQgc2NoZWR1bGVQYXJ0cyA9IGNvdXJzZS5jb3Vyc2Vfc2NoZWR1bGVbMF0uc3BsaXQoXCIgXCIpO1xuICAgICAgICAgICAgICBsZXQgc3RhcnRUaW1lID0gc2NoZWR1bGVQYXJ0c1syXTtcbiAgICAgICAgICAgICAgdGhpcy5hdmFpbGlibGVDb3Vyc2VzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvZGU6IGNvdXJzZS5jb2RlLFxuICAgICAgICAgICAgICAgIG5hbWU6IGBDdXJzbyAke2NvdXJzZS5jb3Vyc2VfbW9kYWxpdHkubmFtZSA9PT0gJ1ByZXNlbmNpYWwnID8gJ1ByZXNlbmNpYWwnIDogJ1ZpcnR1YWwnfSAtIFRlYWNoZXIgJHtjb3Vyc2UudGVhY2hlcn0gLSAgRmVjaGEgZGUgaW5pY2lvOiAke2NvdXJzZS50b19zdGFydH0sIEhvcmEgZGUgaW5pY2lvOiAke3N0YXJ0VGltZX0sIEN1cG9zIGRpc3A6ICR7Y291cnNlLmF2YWlsYWJsZV9jYXBhY2l0eX1gLFxuICAgICAgICAgICAgICAgIG1vZGFsaXR5OiBjb3Vyc2UuY291cnNlX21vZGFsaXR5LmNvZGVcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhc0F2YWlsYWJsZUNvdXJzZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYXZhaWxpYmxlX2NvdXJzZXMnXS5zZXRWYWx1ZShcIlwiKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVTdGVwRm91cigpO1xuXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZVN0ZXBGb3VyKCl7XG4gICAgdGhpcy5zZXREYXRhSW5Mb2NhbFN0b3JhZ2UoNCwgJ3Byb2dyYW1fcHJpY2UnLCBudWxsKTtcbiAgICB0aGlzLnNldERhdGFJbkxvY2FsU3RvcmFnZSg0LCAncXVvdGFfdGltZXMnLCBudWxsKTtcbiAgICB0aGlzLnNldERhdGFJbkxvY2FsU3RvcmFnZSg0LCAndG90YWxfcHJpY2UnLCBudWxsKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJjb2RGb3JtU3RlcE9uZVwiIGNsYXNzPVwiZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS52YWx1ZVwiXG4gICAgICBbc2VsZWN0Q29kZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddLnZhbHVlID09PSBudWxsPyAnUGxhbic6IGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhY2FkZW1pY19wbGFuJ10udmFsdWVcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidQbGFuJ1wiXG4gICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RBY2FkZW1pY1BsYW4oJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJwbGFuc1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWNhZGVtaWNfcGxhbiddXCJcbiAgICAgIFtkaXNhYmxlZFNlbF09XCJpc0Rpc2FibGVkU2VsXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnZhbHVlXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnZhbHVlID09PSBudWxsPyAnVGlwbyBkZSBwbGFuJzogY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdXJzZV90eXBlJ10udmFsdWVcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIHBsYW4nXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENvdXJzZXNUeXBlc0J5UGxhbigkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cImNvdXJzZV90eXBlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddXCJcbiAgICAgIFtkaXNhYmxlZFNlbF09XCJpc0Rpc2FibGVkU2VsXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknXS52YWx1ZVwiXG4gICAgICBbc2VsZWN0Q29kZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10udmFsdWUgPT09IG51bGw/ICdDb252ZW5pbyBwb3IgY2F0ZWdvcmlhJzogY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddLnZhbHVlXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInQ29udmVuaW8gcG9yIGNhdGVnb3JpYSdcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0QWdyZWVtZW50QnlDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cImFncmVlbWVudHNcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2FncmVlbWVudF9ieV9jYXRlZ29yeSddXCJcbiAgICAgIFtkaXNhYmxlZFNlbF09XCJpc0Rpc2FibGVkU2VsXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydlbmdsaXNoX2xldmVsJ10udmFsdWVcIlxuICAgICAgW3NlbGVjdENvZGVdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXS52YWx1ZSA9PT0gbnVsbD8gJ05pdmVsIGRlIGluZ2zDqXMnOiBjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnZhbHVlXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInTml2ZWwgZGUgaW5nbMOpcydcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0TGV2ZWwoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJsZXZlbHNcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2VuZ2xpc2hfbGV2ZWwnXVwiXG4gICAgICBbZGlzYWJsZWRTZWxdPVwiaXNEaXNhYmxlZFNlbFwiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYXZhaWxpYmxlX2NvdXJzZXMnXS52YWx1ZVwiXG4gICAgICBbc2VsZWN0Q29kZV09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYXZhaWxpYmxlX2NvdXJzZXMnXS52YWx1ZSA9PT0gbnVsbD8gJ0dydXBvcyBkaXNwb25pYmxlcyc6IGNvZEZvcm1TdGVwT25lLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnZhbHVlXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInR3J1cG9zIGRpc3BvbmlibGVzJ1wiXG4gICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RBdmFpbGlibGVDb3Vyc2VzKCRldmVudClcIlxuICAgICAgW2RhdGFdPVwiYXZhaWxpYmxlQ291cnNlc1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcE9uZS5jb250cm9sc1snYXZhaWxpYmxlX2NvdXJzZXMnXVwiXG4gICAgICBbZGlzYWJsZWRTZWxdPVwiaXNEaXNhYmxlZFNlbFwiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgPC9kaXY+XG4gIDxzcGFuICpuZ0lmPVwiIWhhc0F2YWlsYWJsZUNvdXJzZVwiIGNsYXNzPVwibXQtMSBwbC0yIHRleHQtcmVkLTUwMFwiPlRvZGF2w61hIG5vIGhheSBjdXJzb3MgY29uIGVzdGFzIGNhcmFjdGVyw61zdGljYXMuPC9zcGFuPlxuPC9mb3JtPlxuXG48ZGl2IGNsYXNzPVwiZmxleCBtdC0yIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICA8c3BhbiAqbmdJZj1cImNvZEZvcm1TdGVwT25lLmludmFsaWQgJiYgY29kRm9ybVN0ZXBPbmUudG91Y2hlZFwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIGZvbnQtYm9sZCB0ZXh0LWNlbnRlciBtdC0xIHB5LTIgYmctcmVkLTEwMCB3LWZ1bGwgYm9yZGVyLXJvdW5kLXhsXCI+RmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLjwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2NsYXNzXT1cImlzRWRpdENvZCA/ICdtbC1hdXRvIHllbGxvdy0zMDAgcC1idXR0b24tc20nIDogJ21sLWF1dG8gcC1idXR0b24tc20nXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIiBwQnV0dG9uIGxhYmVsPVwiU2lndWllbnRlXCIgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCI+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -3173,10 +3173,10 @@ class CodFormStepOneComponent extends CodFormSteps {
|
|
|
3173
3173
|
this.codFormStepOne.controls['course_type'].valueChanges
|
|
3174
3174
|
.subscribe(value => this.communicatorService.setCurrentCourseType(value));
|
|
3175
3175
|
this.communicatorService.setCurrentAgreement(this.localStorageCOD.getCodFormData(1, 'agreement_by_category'));
|
|
3176
|
-
if (changes['initialData'] && this.initialData != null) {
|
|
3176
|
+
if (changes['initialData'] && this.initialData != null && !this.dataPreviusCodData && !this.isEditCod && this.isRenovation === false) {
|
|
3177
3177
|
this.processData(this.initialData);
|
|
3178
3178
|
}
|
|
3179
|
-
if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && this.isEditCod &&
|
|
3179
|
+
if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && this.isEditCod && this.isRenovation === false) {
|
|
3180
3180
|
this.processData(this.dataPreviusCodData);
|
|
3181
3181
|
if (this.isEditCod && !this.dataPreviusCodData.edit_course_payment) {
|
|
3182
3182
|
this.isDisabledSel = true;
|
|
@@ -3190,9 +3190,10 @@ class CodFormStepOneComponent extends CodFormSteps {
|
|
|
3190
3190
|
// Forzar detección de cambios
|
|
3191
3191
|
this.cdRef.detectChanges();
|
|
3192
3192
|
}
|
|
3193
|
-
else if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && !this.isEditCod && this.
|
|
3193
|
+
else if (changes['dataPreviusCodData'] && this.dataPreviusCodData != null && !this.isEditCod && this.courseSelectRenovation && this.isRenovation === true) {
|
|
3194
3194
|
this.disableFormControls();
|
|
3195
3195
|
this.setDataCodRenovationSelect();
|
|
3196
|
+
this.cdRef.detectChanges();
|
|
3196
3197
|
}
|
|
3197
3198
|
}
|
|
3198
3199
|
disableFormControls() {
|
|
@@ -3223,32 +3224,32 @@ class CodFormStepOneComponent extends CodFormSteps {
|
|
|
3223
3224
|
}
|
|
3224
3225
|
}
|
|
3225
3226
|
setDataFromUserHistory() {
|
|
3226
|
-
var _a, _b, _c, _d, _e, _f;
|
|
3227
|
-
this.codFormStepOne.controls['academic_plan'].setValue((_a = this.initialData.course_type) === null || _a === void 0 ? void 0 : _a.academic_plan.code);
|
|
3228
|
-
this.codFormStepOne.controls['course_type'].setValue((
|
|
3229
|
-
this.codFormStepOne.controls['agreement_by_category'].setValue((
|
|
3230
|
-
this.codFormStepOne.controls['english_level'].setValue((
|
|
3231
|
-
this.codFormStepOne.controls['availible_courses'].setValue((
|
|
3232
|
-
this.codFormStepOne.controls['course_modality'].setValue((
|
|
3227
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
3228
|
+
this.codFormStepOne.controls['academic_plan'].setValue(((_a = this.initialData.course_type) === null || _a === void 0 ? void 0 : _a.academic_plan.code) ? (_b = this.initialData.course_type) === null || _b === void 0 ? void 0 : _b.academic_plan.code : null);
|
|
3229
|
+
this.codFormStepOne.controls['course_type'].setValue(((_c = this.initialData.course_type) === null || _c === void 0 ? void 0 : _c.code) ? (_d = this.initialData.course_type) === null || _d === void 0 ? void 0 : _d.code : null);
|
|
3230
|
+
this.codFormStepOne.controls['agreement_by_category'].setValue(((_e = this.initialData.agreement) === null || _e === void 0 ? void 0 : _e.code) ? (_f = this.initialData.agreement) === null || _f === void 0 ? void 0 : _f.code : null);
|
|
3231
|
+
this.codFormStepOne.controls['english_level'].setValue(((_g = this.initialData.english_level) === null || _g === void 0 ? void 0 : _g.code) ? (_h = this.initialData.english_level) === null || _h === void 0 ? void 0 : _h.code : null);
|
|
3232
|
+
this.codFormStepOne.controls['availible_courses'].setValue(((_j = this.initialData) === null || _j === void 0 ? void 0 : _j.code) ? (_k = this.initialData) === null || _k === void 0 ? void 0 : _k.code : null);
|
|
3233
|
+
this.codFormStepOne.controls['course_modality'].setValue(((_l = this.initialData.course_modality) === null || _l === void 0 ? void 0 : _l.code) ? (_m = this.initialData.course_modality) === null || _m === void 0 ? void 0 : _m.code : null);
|
|
3233
3234
|
}
|
|
3234
3235
|
setDataFromEditCodHistory() {
|
|
3235
|
-
this.codFormStepOne.controls['academic_plan'].setValue(this.dataPreviusCodData.course_type.academic_plan.code);
|
|
3236
|
-
this.codFormStepOne.controls['course_type'].setValue(this.dataPreviusCodData.course_type.code);
|
|
3237
|
-
this.codFormStepOne.controls['agreement_by_category'].setValue(this.dataPreviusCodData.agreement.code);
|
|
3238
|
-
this.codFormStepOne.controls['english_level'].setValue(this.dataPreviusCodData.english_level.code);
|
|
3239
|
-
this.codFormStepOne.controls['availible_courses'].setValue(this.dataPreviusCodData.course.code);
|
|
3240
|
-
this.codFormStepOne.controls['course_modality'].setValue(this.dataPreviusCodData.course.course_modality);
|
|
3236
|
+
this.codFormStepOne.controls['academic_plan'].setValue(this.dataPreviusCodData.course_type.academic_plan.code ? this.dataPreviusCodData.course_type.academic_plan.code : null);
|
|
3237
|
+
this.codFormStepOne.controls['course_type'].setValue(this.dataPreviusCodData.course_type.code ? this.dataPreviusCodData.course_type.code : null);
|
|
3238
|
+
this.codFormStepOne.controls['agreement_by_category'].setValue(this.dataPreviusCodData.agreement.code ? this.dataPreviusCodData.agreement.code : null);
|
|
3239
|
+
this.codFormStepOne.controls['english_level'].setValue(this.dataPreviusCodData.english_level.code ? this.dataPreviusCodData.english_level.code : null);
|
|
3240
|
+
this.codFormStepOne.controls['availible_courses'].setValue(this.dataPreviusCodData.course.code ? this.dataPreviusCodData.course.code : null);
|
|
3241
|
+
this.codFormStepOne.controls['course_modality'].setValue(this.dataPreviusCodData.course.course_modality ? this.dataPreviusCodData.course.course_modality : null);
|
|
3241
3242
|
}
|
|
3242
3243
|
setDataCodRenovationSelect() {
|
|
3243
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
3244
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
3244
3245
|
this.getAgreementByPlan((_a = this.courseSelectRenovation.course_type) === null || _a === void 0 ? void 0 : _a.academic_plan.code);
|
|
3245
3246
|
this.getCourseType((_b = this.courseSelectRenovation.course_type) === null || _b === void 0 ? void 0 : _b.academic_plan.code);
|
|
3246
|
-
this.codFormStepOne.controls['academic_plan'].setValue((_c = this.courseSelectRenovation.course_type) === null || _c === void 0 ? void 0 : _c.academic_plan.code);
|
|
3247
|
-
this.codFormStepOne.controls['course_type'].setValue((
|
|
3248
|
-
this.codFormStepOne.controls['agreement_by_category'].setValue((
|
|
3249
|
-
this.codFormStepOne.controls['english_level'].setValue((
|
|
3250
|
-
this.codFormStepOne.controls['availible_courses'].setValue((
|
|
3251
|
-
this.codFormStepOne.controls['course_modality'].setValue((
|
|
3247
|
+
this.codFormStepOne.controls['academic_plan'].setValue(((_c = this.courseSelectRenovation.course_type) === null || _c === void 0 ? void 0 : _c.academic_plan.code) ? (_d = this.courseSelectRenovation.course_type) === null || _d === void 0 ? void 0 : _d.academic_plan.code : null);
|
|
3248
|
+
this.codFormStepOne.controls['course_type'].setValue(((_e = this.courseSelectRenovation.course_type) === null || _e === void 0 ? void 0 : _e.code) ? (_f = this.courseSelectRenovation.course_type) === null || _f === void 0 ? void 0 : _f.code : null);
|
|
3249
|
+
this.codFormStepOne.controls['agreement_by_category'].setValue(((_g = this.courseSelectRenovation.agreement) === null || _g === void 0 ? void 0 : _g.code) ? (_h = this.courseSelectRenovation.agreement) === null || _h === void 0 ? void 0 : _h.code : null);
|
|
3250
|
+
this.codFormStepOne.controls['english_level'].setValue(((_j = this.courseSelectRenovation.english_level) === null || _j === void 0 ? void 0 : _j.code) ? (_k = this.courseSelectRenovation.english_level) === null || _k === void 0 ? void 0 : _k.code : null);
|
|
3251
|
+
this.codFormStepOne.controls['availible_courses'].setValue(((_l = this.courseSelectRenovation) === null || _l === void 0 ? void 0 : _l.code) ? (_m = this.courseSelectRenovation) === null || _m === void 0 ? void 0 : _m.code : null);
|
|
3252
|
+
this.codFormStepOne.controls['course_modality'].setValue(((_o = this.courseSelectRenovation.course_modality) === null || _o === void 0 ? void 0 : _o.code) ? (_p = this.courseSelectRenovation.course_modality) === null || _p === void 0 ? void 0 : _p.code : null);
|
|
3252
3253
|
this.getAvailibleCourses();
|
|
3253
3254
|
}
|
|
3254
3255
|
startLocalStorageWork() {
|
|
@@ -3419,7 +3420,7 @@ class CodFormStepOneComponent extends CodFormSteps {
|
|
|
3419
3420
|
}
|
|
3420
3421
|
}
|
|
3421
3422
|
CodFormStepOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepOneComponent, deps: [{ token: i1$1.FormBuilder }, { token: ParameterService }, { token: CopiesService }, { token: BaseService }, { token: CourseService }, { token: CommunicatorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3422
|
-
CodFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: { initialData: "initialData", dataPreviusCodData: "dataPreviusCodData", isEditCod: "isEditCod", courseSelectRenovation: "courseSelectRenovation" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
|
|
3423
|
+
CodFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: { initialData: "initialData", dataPreviusCodData: "dataPreviusCodData", isEditCod: "isEditCod", courseSelectRenovation: "courseSelectRenovation", isRenovation: "isRenovation" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
|
|
3423
3424
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepOneComponent, decorators: [{
|
|
3424
3425
|
type: Component,
|
|
3425
3426
|
args: [{ selector: 'app-cod-form-step-one', template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
|
|
@@ -3431,6 +3432,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
3431
3432
|
type: Input
|
|
3432
3433
|
}], courseSelectRenovation: [{
|
|
3433
3434
|
type: Input
|
|
3435
|
+
}], isRenovation: [{
|
|
3436
|
+
type: Input
|
|
3434
3437
|
}], changeStepEvent: [{
|
|
3435
3438
|
type: Output
|
|
3436
3439
|
}] } });
|
|
@@ -5119,10 +5122,10 @@ class CodFormComponent {
|
|
|
5119
5122
|
}
|
|
5120
5123
|
}
|
|
5121
5124
|
CodFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormComponent, deps: [{ token: BaseService }, { token: LocalStorageCODService }, { token: CodFormControls }, { token: CommercialService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5122
|
-
CodFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormComponent, selector: "ipt-cod-form", inputs: { dataFromPreviusCodData: "dataFromPreviusCodData", courseSelect: "courseSelect", isNewCod: "isNewCod", editCod: "editCod", CourseSelectRenovation: "CourseSelectRenovation" }, outputs: { okCreatedCOD: "okCreatedCOD" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i6$2.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: ["initialData", "dataPreviusCodData", "isEditCod", "courseSelectRenovation"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: ["initialData", "isEditCod"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", inputs: ["initialData", "isEditCod"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepFourComponent, selector: "app-cod-form-step-four", inputs: ["isEditCod", "initialData"], outputs: ["changeStepEvent", "financingData"] }, { kind: "component", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: ["userRole", "initialData", "isEditCod"], outputs: ["changeStepEvent", "action"] }] });
|
|
5125
|
+
CodFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormComponent, selector: "ipt-cod-form", inputs: { dataFromPreviusCodData: "dataFromPreviusCodData", courseSelect: "courseSelect", isNewCod: "isNewCod", editCod: "editCod", CourseSelectRenovation: "CourseSelectRenovation", isRenovation: "isRenovation" }, outputs: { okCreatedCOD: "okCreatedCOD" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" [isRenovation]=\"isRenovation\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i6$2.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: ["initialData", "dataPreviusCodData", "isEditCod", "courseSelectRenovation", "isRenovation"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: ["initialData", "isEditCod"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", inputs: ["initialData", "isEditCod"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepFourComponent, selector: "app-cod-form-step-four", inputs: ["isEditCod", "initialData"], outputs: ["changeStepEvent", "financingData"] }, { kind: "component", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: ["userRole", "initialData", "isEditCod"], outputs: ["changeStepEvent", "action"] }] });
|
|
5123
5126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormComponent, decorators: [{
|
|
5124
5127
|
type: Component,
|
|
5125
|
-
args: [{ selector: 'ipt-cod-form', template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n" }]
|
|
5128
|
+
args: [{ selector: 'ipt-cod-form', template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" [isRenovation]=\"isRenovation\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" class=\"p-1\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n" }]
|
|
5126
5129
|
}], ctorParameters: function () { return [{ type: BaseService }, { type: LocalStorageCODService }, { type: CodFormControls }, { type: CommercialService }]; }, propDecorators: { dataFromPreviusCodData: [{
|
|
5127
5130
|
type: Input
|
|
5128
5131
|
}], courseSelect: [{
|
|
@@ -5133,6 +5136,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
5133
5136
|
type: Input
|
|
5134
5137
|
}], CourseSelectRenovation: [{
|
|
5135
5138
|
type: Input
|
|
5139
|
+
}], isRenovation: [{
|
|
5140
|
+
type: Input
|
|
5136
5141
|
}], okCreatedCOD: [{
|
|
5137
5142
|
type: Output
|
|
5138
5143
|
}] } });
|