iptdevs-design-system 3.1.801 → 3.1.802
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/README.md +24 -24
- package/esm2020/lib/cod/cod-documents-section/cod-documents-section.component.mjs +3 -3
- package/esm2020/lib/cod/cod-form/cod-form.component.mjs +6 -6
- package/esm2020/lib/cod/cod.module.mjs +1 -1
- package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +1 -1
- package/esm2020/lib/cod/logic/cod-form-controls.mjs +1 -1
- package/esm2020/lib/cod/logic/cod-form-steps.mjs +1 -1
- package/esm2020/lib/cod/logic/communicator.service.mjs +1 -1
- package/esm2020/lib/cod/logic/local-storage-cod.service.mjs +1 -1
- package/esm2020/lib/cod/modal-referred/modal-referred.component.mjs +3 -3
- package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +3 -3
- package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +3 -3
- package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +3 -3
- package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +3 -3
- package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +3 -3
- package/esm2020/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.mjs +3 -3
- package/esm2020/lib/cod-self-managed/cod-self-managed.module.mjs +1 -1
- package/esm2020/lib/cod-self-managed/logic/cod-self-managed-controls.mjs +1 -1
- package/esm2020/lib/cod-self-managed/logic/cod-self-managed-steps.mjs +1 -1
- package/esm2020/lib/cod-self-managed/logic/local-storage-cod.service.mjs +1 -1
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.mjs +3 -3
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.mjs +3 -3
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.mjs +3 -3
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs +3 -3
- package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +25 -25
- package/esm2020/lib/components/atoms/button/button.component.mjs +27 -27
- package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +21 -21
- package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +39 -39
- package/esm2020/lib/components/atoms/input/input.component.mjs +91 -91
- package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +39 -39
- package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +5 -5
- package/esm2020/lib/components/atoms/loader/loader.component.mjs +29 -29
- package/esm2020/lib/components/atoms/radio/radio.component.mjs +21 -21
- package/esm2020/lib/components/atoms/select/select.component.mjs +29 -29
- package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +15 -15
- package/esm2020/lib/components/components.module.mjs +1 -1
- package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +3 -3
- package/esm2020/lib/components/forms/login-form/login-form.component.mjs +63 -63
- package/esm2020/lib/components/material.module.mjs +1 -1
- package/esm2020/lib/components/molecules/card-course/card-course.component.mjs +3 -3
- package/esm2020/lib/components/molecules/card-select-course/card-select-course.component.mjs +3 -3
- package/esm2020/lib/components/molecules/question-type/edit-question-types.component.mjs +291 -291
- package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +95 -95
- package/esm2020/lib/core/core.module.mjs +1 -1
- package/esm2020/lib/core/models/PlacementTest/PlacementTest.models.mjs +1 -1
- package/esm2020/lib/core/models/PossibleStudent/PossibleStudent.models.mjs +1 -1
- package/esm2020/lib/core/models/academic/academic.component.mjs +1 -1
- package/esm2020/lib/core/models/activities/activities.interface.mjs +1 -1
- package/esm2020/lib/core/models/announcement/announcement-user-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/announcement/announcement-user-rs.model.mjs +1 -1
- package/esm2020/lib/core/models/attendance/attendance.interface.mjs +1 -1
- package/esm2020/lib/core/models/budget/budget.model.mjs +1 -1
- package/esm2020/lib/core/models/calendar/calendar-rq.models.mjs +1 -1
- package/esm2020/lib/core/models/classroom/classroom-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/cod/cod-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/commercial/commercial.model.mjs +1 -1
- package/esm2020/lib/core/models/course/course-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/course/courses.model.mjs +1 -1
- package/esm2020/lib/core/models/cronogram/cronogram.models.mjs +1 -1
- package/esm2020/lib/core/models/epayco/epayco.interfaces.mjs +1 -1
- package/esm2020/lib/core/models/homeTemplate/homeTemplate.models.mjs +1 -1
- package/esm2020/lib/core/models/marketing/marketing.model.mjs +1 -1
- package/esm2020/lib/core/models/media/media.interfaces.mjs +1 -1
- package/esm2020/lib/core/models/notes/INotesTemplate.mjs +1 -1
- package/esm2020/lib/core/models/notes/notes.interface.mjs +1 -1
- package/esm2020/lib/core/models/parameters/parameters-rs.model.mjs +1 -1
- package/esm2020/lib/core/models/payment/payment-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/reports/reports.model.mjs +1 -1
- package/esm2020/lib/core/models/response/response.interface.mjs +1 -1
- package/esm2020/lib/core/models/session/session.model.mjs +1 -1
- package/esm2020/lib/core/models/student/student.interface.mjs +1 -1
- package/esm2020/lib/core/models/table/table-rs.model.mjs +1 -1
- package/esm2020/lib/core/models/test/test.model.mjs +1 -1
- package/esm2020/lib/core/models/url/url.model.mjs +1 -1
- package/esm2020/lib/core/models/user/user-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/user/user-rs.model.mjs +1 -1
- package/esm2020/lib/core/pipes/course-pipes/schedule-form.pipe.mjs +1 -1
- package/esm2020/lib/core/pipes/course-pipes/time-form.pipe.mjs +1 -1
- package/esm2020/lib/core/pipes/course-pipes/type-level.pipe.mjs +1 -1
- package/esm2020/lib/core/pipes/pipe.module.mjs +1 -1
- package/esm2020/lib/core/services/academic-service/academic.service.mjs +1 -1
- package/esm2020/lib/core/services/activity-service/activity.service.mjs +1 -1
- package/esm2020/lib/core/services/announcement/announcement.service.mjs +1 -1
- package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +1 -1
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +1 -1
- package/esm2020/lib/core/services/calendar-service/calendar.service.mjs +1 -1
- package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +1 -1
- package/esm2020/lib/core/services/classroom-service/classroom-service.service.mjs +1 -1
- package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +1 -1
- package/esm2020/lib/core/services/commercial-service/validators.mjs +1 -1
- package/esm2020/lib/core/services/copies.service.mjs +1 -1
- package/esm2020/lib/core/services/course-service/course-service.model.mjs +1 -1
- package/esm2020/lib/core/services/ePayco/epayco.service.mjs +1 -1
- package/esm2020/lib/core/services/ekt-service/userekt.service.mjs +1 -1
- package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +1 -1
- package/esm2020/lib/core/services/media-service/media.service.mjs +1 -1
- package/esm2020/lib/core/services/notes-service/notes.service.mjs +1 -1
- package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +1 -1
- package/esm2020/lib/core/services/placement-service/placement.service.mjs +1 -1
- package/esm2020/lib/core/services/service-enviroments.mjs +1 -1
- package/esm2020/lib/core/services/storage-service/storage-service.mjs +1 -1
- package/esm2020/lib/core/services/student-service/student.service.mjs +1 -1
- package/esm2020/lib/core/services/switch-service/switch.service.mjs +1 -1
- package/esm2020/lib/core/services/test-service/test.service.mjs +1 -1
- package/esm2020/lib/core/services/user-service/user-service.mjs +1 -1
- package/esm2020/lib/core/utils/base-service/base.service.mjs +1 -1
- package/esm2020/lib/core/utils/copies.mjs +1 -1
- package/esm2020/lib/core/utils/route-service/route.service.mjs +1 -1
- package/esm2020/lib/design-system.module.mjs +1 -1
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/iptdevs-design-system.mjs +811 -811
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +811 -811
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/core/models/user/user-rq.model.d.ts +1 -1
- package/package.json +1 -1
|
@@ -216,10 +216,10 @@ export class CodFormStepFiveComponent extends CodFormSteps {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
CodFormStepFiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFiveComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
-
CodFormStepFiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: { userRole: "userRole", initialData: "initialData", isEditCod: "isEditCod", isRenovation: "isRenovation" }, outputs: { changeStepEvent: "changeStepEvent", action: "action" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\
|
|
219
|
+
CodFormStepFiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: { userRole: "userRole", initialData: "initialData", isEditCod: "isEditCod", isRenovation: "isRenovation" }, outputs: { changeStepEvent: "changeStepEvent", action: "action" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <div class=\"container_referred flex flex-row justify-content-between align-items-end\">\n <div class=\"containe_select1\">\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n </div>\n <p-button\n *ngIf=\"visbleReferred\"\n styleClass=\"p-button-sm w-max\"\n label=\"Cambiar Referido\"\n icon=\"pi pi-sync\"\n (onClick)=\"openModalReferred()\"\n ></p-button>\n </div>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-success p-button-sm'\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n></button>\n</div>\n", styles: [":host ::ng-deep .p-button.p-button-sm{padding:.4rem!important}.yellow-300{background-color:var(--yellow-500)!important;color:#fff}@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:3px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}.containe_select1{width:100%}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: i5.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: i9.ModalReferredComponent, selector: "cod-modal-referred", inputs: ["visibility"], outputs: ["userSelect"] }] });
|
|
220
220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFiveComponent, decorators: [{
|
|
221
221
|
type: Component,
|
|
222
|
-
args: [{ selector: 'app-cod-form-step-five', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\
|
|
222
|
+
args: [{ selector: 'app-cod-form-step-five', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <div class=\"container_referred flex flex-row justify-content-between align-items-end\">\n <div class=\"containe_select1\">\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n </div>\n <p-button\n *ngIf=\"visbleReferred\"\n styleClass=\"p-button-sm w-max\"\n label=\"Cambiar Referido\"\n icon=\"pi pi-sync\"\n (onClick)=\"openModalReferred()\"\n ></p-button>\n </div>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-success p-button-sm'\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n></button>\n</div>\n", styles: [":host ::ng-deep .p-button.p-button-sm{padding:.4rem!important}.yellow-300{background-color:var(--yellow-500)!important;color:#fff}@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:3px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}.containe_select1{width:100%}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"] }]
|
|
223
223
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }]; }, propDecorators: { userRole: [{
|
|
224
224
|
type: Input
|
|
225
225
|
}], initialData: [{
|
|
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
233
233
|
}], action: [{
|
|
234
234
|
type: Output
|
|
235
235
|
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qvc3RlcHMvY29kLWZvcm0tc3RlcC1maXZlL2NvZC1mb3JtLXN0ZXAtZml2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZml2ZS9jb2QtZm9ybS1zdGVwLWZpdmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBd0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxZQUFZO0lBcUJ4RCxZQUNVLEVBQWUsRUFDZixnQkFBa0M7UUFFMUMsS0FBSyxFQUFFLENBQUM7UUFIQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzlDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFFbkQsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLDBCQUEwQjtRQUMxQixhQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUs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Q0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7O3FIQS9OVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixpU0NackMsOG9LQWtKQTsyRkR0SWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHdCQUF3QjtpSUFLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9wYXJhbWV0ZXJzLXNlcnZpY2UvcGFyYW1ldGVycy5zZXJ2aWNlJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XHJcbmltcG9ydCB7IENvZEZvcm1TdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tc3RlcHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29kLWZvcm0tc3RlcC1maXZlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2QtZm9ybS1zdGVwLWZpdmUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcEZpdmVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHVzZXJSb2xlITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGluaXRpYWxEYXRhPzogYW55O1xyXG4gIEBJbnB1dCgpIGlzRWRpdENvZD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNSZW5vdmF0aW9uPzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb2RGb3JtU3RlcEZpdmUhOiBGb3JtR3JvdXA7XHJcbiAgbWFya2V0aW5nUmVhc29uczogYW55O1xyXG4gIHN0dWR5UmVhc29uczogYW55O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hci4nO1xyXG4gIHNlbmRGb3JtTXNnITogc3RyaW5nO1xyXG4gIHRlcm1zQ2hlY2tib3hTdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtdWx0aWN1bHR1cmFsaXRpZXM6IGFueTtcclxuICBtb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB2aXNibGVSZWZlcnJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xyXG4gIGNvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpLmNvbnRyb2xzWzRdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKTtcclxuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XHJcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyd0ZXJtcyddLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XHJcbiAgICAgIHRoaXMudGVybXNDaGVja2JveFN0YXR1cyA9IGNoYW5nZXM7XHJcbiAgICAgIGlmICghdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzKSB0aGlzLmVycm9yTWVzc2FnZSA9ICdEZWJlIG1hcmNhciBsYSBjYXNpbGxhIGRlIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzLidcclxuICAgIH0pXHJcbiAgICAvLyBpZiAodGhpcy51c2VyUm9sZSA9PT0gMzAgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzEgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzIpIHRoaXMuc2VuZEZvcm1Nc2cgPSAnRWRpdGFyIENPRCc7XHJcbiAgICBpZiAodGhpcy51c2VyUm9sZSA9PT0gMzAgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzEgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzIgfHxcclxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSA0MCB8fCB0aGlzLnVzZXJSb2xlID09PSA0MSB8fCB0aGlzLnVzZXJSb2xlID09PSA0MiB8fFxyXG4gICAgICAgIHRoaXMudXNlclJvbGUgPT09IDUwIHx8IHRoaXMudXNlclJvbGUgPT09IDUxIHx8IHRoaXMudXNlclJvbGUgPT09IDUyIHx8XHJcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PT0gMVxyXG4gICAgICAgICkgdGhpcy5pc0VkaXRDb2QgPyB0aGlzLnNlbmRGb3JtTXNnID0gJ0VkaXRhciBDT0QnIDogdGhpcy5zZW5kRm9ybU1zZyA9ICdDcmVhciBDT0QnO1xyXG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxEYXRhJ10pIHtcclxuICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQgIT0gbnVsbCB8fCB0aGlzLmluaXRpYWxEYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YUZyb21QcmV2aXVzQ29kKCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGFGcm9tVXNlckhpc3RvcnkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBhcmFtZXRlcnMoKSB7XHJcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TWFya2V0aW5nUmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5tYXJrZXRpbmdSZWFzb25zID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0dWR5UmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5zdHVkeVJlYXNvbnMgPSByZXNwb25zZS5kYXRhO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TXVsdGljdWx0dXJhbGlzbXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMubXVsdGljdWx0dXJhbGl0aWVzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBtYXJrZXRpbmdfcmVhc29uczogIFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgb2JzZXJ2YXRpb246ICAgICAgICBbJyddLFxyXG4gICAgICBzdHVkeV9yZWFzb25zOiAgICAgIFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgdGVybXM6ICAgICAgICAgICAgICBbZmFsc2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGRpc2FiaWxpdHk6ICAgICAgICAgWycnXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBbZmFsc2UsIFtdXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8yOiBbZmFsc2UsIFtdXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8zOiBbZmFsc2UsIFtdXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBbZmFsc2UsIFtdXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV81OiBbZmFsc2UsIFtdXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV82OiBbZmFsc2UsIFtdXSxcclxuICAgICAgbXVsdGljdWx0dXJhbGlzbV83OiBbZmFsc2UsIFtdXSxcclxuICAgICAgaGVhbHRoX3JlZ2ltZW46ICAgICBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGNvZGVfcmVmZXJzOiAgICAgICAgWycnXSxcclxuICAgICAgY29kZV9jb2Q6ICAgICAgICAgICBbJyddLFxyXG4gICAgICBkb2N1bWVudF9yZWZlcnM6ICAgIFt7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWUgfV0sXHJcbiAgICAgIG5hbWVfcmVmZXJzOiAgICAgICAgW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9XSxcclxuICAgICAgcGhvbmVfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxyXG4gICAgICBlbWFpbF9yZWZlcnM6ICAgICAgIFt7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWUgfV0sXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbWFya2V0aW5nX3JlYXNvbnMnXS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNoYW5nZSA9PiB7XHJcbiAgICAgIGlmIChjaGFuZ2UgPT09ICcxJykge1xyXG4gICAgICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydjb2RlX3JlZmVycyddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydjb2RlX3JlZmVycyddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLm1vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcclxuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcclxuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XHJcblxyXG4gICAgICAvLyBTb2x1Y2nDs24gYWwgYnVnIGRlbCBjaGVja2JveFxyXG4gICAgICBpZiAobG9jYWxTdG9yYWdlVmFsdWUuY29udHJvbCA9PT0gJ3Rlcm1zJykge1xyXG4gICAgICAgIGxldCBuZXh0VmFsdWU6IGJvb2xlYW4gPSBsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyd0ZXJtcyddLnNldFZhbHVlKG5leHRWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID0gbmV4dFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcblxyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKGxvY2FsU3RvcmFnZVZhbHVlLnZhbHVlKTtcclxuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcyg1LCBjb250cm9sLm5hbWUsIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY29udHJvbHMuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC5kZXNjcmlwdGlvbiA9PT0gJ011bHRpY3VsdHVyYWxpc21vJykuZm9yRWFjaChjb250cm9sID0+IHtcclxuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XHJcbiAgICAgIGxldCBuZXh0VmFsdWU6IGJvb2xlYW4gPSBsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKG5leHRWYWx1ZSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tib3hDb250cm9sKCk6IEZvcm1Db250cm9sIHtcclxuICAgIHJldHVybiB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1sndGVybXMnXSBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHNlbmRGb3JtKCkge1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGaXZlLmludmFsaWQgfHwgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID09PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICBpZiAodGhpcy51c2VyUm9sZSA9PSAzMCB8fCB0aGlzLnVzZXJSb2xlID09IDMxIHx8IHRoaXMudXNlclJvbGUgPT0gMzIgfHxcclxuICAgICAgICB0aGlzLnVzZXJSb2xlID09IDQwIHx8IHRoaXMudXNlclJvbGUgPT0gNDEgfHwgdGhpcy51c2VyUm9sZSA9PSA0MiB8fFxyXG4gICAgICAgIHRoaXMudXNlclJvbGUgPT0gNTAgfHwgdGhpcy51c2VyUm9sZSA9PSA1MSB8fCB0aGlzLnVzZXJSb2xlID09IDUyIHx8XHJcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSAxKSB0aGlzLmlzRWRpdENvZCA/IHRoaXMuYWN0aW9uLmVtaXQoJ3VwZGF0ZScpIDogdGhpcy5hY3Rpb24uZW1pdCgnY3JlYXRlJyk7XHJcblxyXG4gIH1cclxuXHJcbiAgY2xlYW5TdG9yYWdlKCl7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKVxyXG4gIH1cclxuXHJcbiAgLy8gRXZlbnRvcyBkZWwgc2VsZWN0XHJcbiAgc2VsZWN0TWFya2V0aW5nUmVhc29ucyhtYXJrZXRpbmdSZWFzb25zOiBhbnkpIHtcclxuICAgIGlmIChtYXJrZXRpbmdSZWFzb25zICE9PSAnwr9Dw7NtbyBzZSBlbnRlcsOzIGRlbCBwcm9ncmFtYT8nKSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKG1hcmtldGluZ1JlYXNvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTdHVkeVJlYXNvbnMoc3R1ZHlSZWFzb25zOiBhbnkpIHtcclxuICAgIGlmIChzdHVkeVJlYXNvbnMgIT09ICdNb3Rpdm8nKSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydzdHVkeV9yZWFzb25zJ10uc2V0VmFsdWUoc3R1ZHlSZWFzb25zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydzdHVkeV9yZWFzb25zJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREYXRhRnJvbVByZXZpdXNDb2QoKSB7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbWFya2V0aW5nX3JlYXNvbnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbj8ubWFya2V0aW5nX3JlYXNvbnMpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbj8uc3R1ZHlfcmVhc29ucyk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZGlzYWJpbGl0eSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uPy5kaXNhYmlsaXR5KTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydoZWFsdGhfcmVnaW1lbiddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uPy5oZWFsdGhfcmVnaW1lbik7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snb2JzZXJ2YXRpb24nXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbj8ub2JzZXJ2YXRpb24pO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pc1Jlbm92YXRpb24gPT09IGZhbHNlID8gdGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQuY29kZSA6IG51bGwpO1xyXG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGaXZlLmdldCgnbWFya2V0aW5nX3JlYXNvbnMnKT8udmFsdWUgPT0gMSkge1xyXG4gICAgICB0aGlzLnZpc2JsZVJlZmVycmVkID0gdHJ1ZTtcclxuICAgICAgLy8gdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQuY29kZSk7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkb2N1bWVudF9yZWZlcnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9yZWZlcnJhbD8udXNlcl9yZWZlcnJlZC5pZF9jYXJkKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ25hbWVfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQubmFtZSk7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9yZWZlcnJhbD8udXNlcl9yZWZlcnJlZC5waG9uZV9udW1iZXIpO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQuZW1haWwpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkb2N1bWVudF9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ25hbWVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2VtYWlsX3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfY29kJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RlKTtcclxuICB9XHJcbiAgc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpIHtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkaXNhYmlsaXR5J10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snaGVhbHRoX3JlZ2ltZW4nXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydvYnNlcnZhdGlvbiddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9jb2QnXS5zZXRWYWx1ZShudWxsKTtcclxuICB9XHJcblxyXG4gIGNsZWFuQ29tcG9uZW50KCl7XHJcbiAgICB0aGlzLnJlc2V0TG9jYWxTdG9yYWdlKHRoaXMuY29udHJvbHMpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIHJlZmVycmVkVXNlcihkYXRhOiBhbnkpe1xyXG4gICAgdGhpcy5tb2RhbFZpc2libGUgPSBmYWxzZTtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydjb2RlJ10pO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZG9jdW1lbnRfcmVmZXJzJ10uc2V0VmFsdWUoZGF0YVsnaWRfY2FyZCddKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ25hbWVfcmVmZXJzJ10uc2V0VmFsdWUoZGF0YVsnbmFtZSddKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Bob25lX3JlZmVycyddLnNldFZhbHVlKGRhdGFbJ3Bob25lX251bWJlciddKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2VtYWlsX3JlZmVycyddLnNldFZhbHVlKGRhdGFbJ2VtYWlsJ10pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aXNibGVSZWZlcnJlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Bob25lX3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsUmVmZXJyZWQoKXtcclxuICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwRml2ZVwiIGNsYXNzPVwiZ3JpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgIDxjb2QtbW9kYWwtcmVmZXJyZWRcclxuICAgICpuZ0lmPVwibW9kYWxWaXNpYmxlXCJcclxuICAgIFt2aXNpYmlsaXR5XT1cIm1vZGFsVmlzaWJsZVwiXHJcbiAgICAodXNlclNlbGVjdCk9XCJyZWZlcnJlZFVzZXIoJGV2ZW50KVwiXHJcbiAgICA+PC9jb2QtbW9kYWwtcmVmZXJyZWQ+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9yZWZlcnJlZCBmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVfc2VsZWN0MVwiPlxyXG4gICAgICAgIDxpcHQtc2VsZWN0XHJcbiAgICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ11cIlxyXG4gICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10udmFsdWVcIlxyXG4gICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdE1hcmtldGluZ1JlYXNvbnMoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZGF0YV09XCJtYXJrZXRpbmdSZWFzb25zXCJcclxuICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInwr9Dw7NtbyBzZSBlbnRlcsOzIGRlbCBwcm9ncmFtYT8nXCJcclxuICAgICAgICA+PC9pcHQtc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwidmlzYmxlUmVmZXJyZWRcIlxyXG4gICAgICBzdHlsZUNsYXNzPVwicC1idXR0b24tc20gdy1tYXhcIlxyXG4gICAgICBsYWJlbD1cIkNhbWJpYXIgUmVmZXJpZG9cIlxyXG4gICAgICBpY29uPVwicGkgcGktc3luY1wiXHJcbiAgICAgIChvbkNsaWNrKT1cIm9wZW5Nb2RhbFJlZmVycmVkKClcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8aXB0LWlucHV0XHJcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcclxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidEaXNjYXBhY2lkYWQnXCJcclxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkaXNhYmlsaXR5J11cIlxyXG4gICAgPjwvaXB0LWlucHV0PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgIDxpcHQtc2VsZWN0XHJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddXCJcclxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXS52YWx1ZVwiXHJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdHVkeVJlYXNvbnMoJGV2ZW50KVwiXHJcbiAgICAgIFtkYXRhXT1cInN0dWR5UmVhc29uc1wiXHJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInTW90aXZvJ1wiXHJcbiAgICA+PC9pcHQtc2VsZWN0PlxyXG4gICAgPGlwdC1pbnB1dFxyXG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXHJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInUsOpZ2ltZW4gZGUgc2FsdWQnXCJcclxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydoZWFsdGhfcmVnaW1lbiddXCJcclxuICAgID48L2lwdC1pbnB1dD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICA8aDMgKm5nSWY9XCJ2aXNibGVSZWZlcnJlZFwiIGNsYXNzPVwicmVmZXJyZWRfdGl0bGVcIj5EYXRvcyBkZWwgcmVmZXJpZG88L2gzPlxyXG4gICAgPGRpdiAqbmdJZj1cInZpc2JsZVJlZmVycmVkXCIgY2xhc3M9XCJyZWZlcnJlZF91c2VyX2RhdGFcIj5cclxuICAgICAgPGlwdC1pbnB1dFxyXG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcclxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxyXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZG9jdW1lbnRfcmVmZXJzJ11cIlxyXG4gICAgICA+PC9pcHQtaW5wdXQ+XHJcbiAgICAgIDxpcHQtaW5wdXRcclxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXHJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOb21icmVzJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyduYW1lX3JlZmVycyddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInVGVsw6lmb25vJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXVwiXHJcbiAgICAgID48L2lwdC1pbnB1dD5cclxuICAgICAgPGlwdC1pbnB1dFxyXG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcclxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0VtYWlsJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydlbWFpbF9yZWZlcnMnXVwiXHJcbiAgICAgID48L2lwdC1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJwLWZsb2F0LWxhYmVsXCI+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgIGlkPVwiZmxvYXQtaW5wdXRcIlxyXG4gICAgICAgIHJvd3M9XCI0XCJcclxuICAgICAgICBjb2xzPVwiMzBcIlxyXG4gICAgICAgIHBJbnB1dFRleHRhcmVhXHJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwib2JzZXJ2YXRpb25cIlxyXG4gICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+T2JzZXJ2YWNpb25lczwvbGFiZWw+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTJcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbXVsdGljdWx0dXJhbGl0aWVzOyBpbmRleCBhcyBpXCJcclxuICAgICAgICBjbGFzcz1cImZpZWxkLWNoZWNrYm94IG10LTQgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbXVsdGljdWx0dXJhbGlzbScgKyAnXycgKyAoaSArIDEpXCJcclxuICAgICAgICAgIGNsYXNzPVwiZXhhbXBsZS1tYXJnaW5cIlxyXG4gICAgICAgID48L21hdC1jaGVja2JveD5cclxuICAgICAgICA8bGFiZWwgW2Zvcl09XCJvcHRpb24uY29kZVwiPnt7IG9wdGlvbi5uYW1lIH19PC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBwLTQgZm9udC1ib2xkXCI+XHJcbiAgICA8cD5cclxuICAgICAgKiBFbCBlc3R1ZGlhbnRlIG8gdGl0dWxhciBzZSBjb21wcm9tZXRlbiBhIGNhbmNlbGFyIGxhcyBjdW90YXNcclxuICAgICAgZXN0YWJsZWNpZGFzIGVuIGVzdGUgY29udHJhdG8sIGxvcyBwcmltZXJvcyA1IChjaW5jbykgZMOtYXMgZGVsIG1lcy4gRW5cclxuICAgICAgY2FzbyBkZSBxdWVyZXIgcmV0aXJhcnNlLCBkZWJlcsOhIGluZm9ybWFyIHBvciBlc2NyaXRvIDMwICh0cmVpbnRhKSBkw61hc1xyXG4gICAgICBhbnRlcyB5IGNhbmNlbGFyIGxvIGNvcnJlc3BvbmRpZW50ZSBoYXN0YSBsYSBmZWNoYSBkZWZpbmlkYSBkZSByZXRpcm8sXHJcbiAgICAgIHBhcmEgcG9kZXIgb2J0ZW5lciBzdSBwYXogeSBzYWx2by5cclxuICAgIDwvcD5cclxuICAgIDxiciAvPjxiciAvPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cclxuICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRlcm1zXCJcclxuICAgICAgICBjbGFzcz1cImV4YW1wbGUtbWFyZ2luXCJcclxuICAgICAgPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICA8IS0tIDxwLWNoZWNrYm94IFtmb3JtQ29udHJvbF09XCJnZXRDaGVja2JveENvbnRyb2woKVwiPjwvcC1jaGVja2JveD4gLS0+XHJcbiAgICAgIDwhLS0gPGlwdC1jaGVja2JveCBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ11cIiBbY2hlY2tib3hPcHRpb25dPVwidGVybXNDaGVja2JveFN0YXR1c1wiPjwvaXB0LWNoZWNrYm94PiAtLT5cclxuICAgICAgPHA+XHJcbiAgICAgICAgREVDTEFSTyBIQUJFUiBMRcONRE8gWSBBQ0VQVE8gTE9TIFTDiVJNSU5PUyBZIENPTkRJQ0lPTkVTIERFIExBUyBQT0zDjVRJQ0FTXHJcbiAgICAgICAgRVNUQUJMRUNJREFTIEVOIExBIElOU1RJVFVDScOTTi5cclxuICAgICAgPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuXHJcbjxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgPHNwYW5cclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIChjb2RGb3JtU3RlcEZpdmUuaW52YWxpZCAmJiBjb2RGb3JtU3RlcEZpdmUudG91Y2hlZCkgfHxcclxuICAgICAgKCF0ZXJtc0NoZWNrYm94U3RhdHVzICYmIGNvZEZvcm1TdGVwRml2ZS50b3VjaGVkKVxyXG4gICAgXCJcclxuICAgIGNsYXNzPVwiXHJcbiAgICAgIHRleHQtcmVkLTUwMFxyXG4gICAgICBmb250LWJvbGRcclxuICAgICAgdGV4dC1jZW50ZXJcclxuICAgICAgbXQtMVxyXG4gICAgICBweS0yXHJcbiAgICAgIGJnLXJlZC0xMDBcclxuICAgICAgdy1mdWxsXHJcbiAgICAgIGJvcmRlci1yb3VuZC14bFxyXG4gICAgXCJcclxuICAgID57eyBlcnJvck1lc3NhZ2UgfX08L3NwYW5cclxuICA+XHJcbiAgPGJ1dHRvblxyXG4gIHR5cGU9XCJzdWJtaXRcIlxyXG4gIFtjbGFzc109XCJpc0VkaXRDb2QgPyAnbWwtYXV0byB5ZWxsb3ctMzAwIHAtYnV0dG9uLXNtJyA6ICdtbC1hdXRvIHAtYnV0dG9uLXN1Y2Nlc3MgcC1idXR0b24tc20nXCJcclxuICAoY2xpY2spPVwic2VuZEZvcm0oKVwiXHJcbiAgcEJ1dHRvblxyXG4gIFtsYWJlbF09XCJzZW5kRm9ybU1zZ1wiXHJcbiAgaWNvbj1cInBpIHBpLWNoZWNrXCJcclxuPjwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qvc3RlcHMvY29kLWZvcm0tc3RlcC1maXZlL2NvZC1mb3JtLXN0ZXAtZml2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZml2ZS9jb2QtZm9ybS1zdGVwLWZpdmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBd0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxZQUFZO0lBcUJ4RCxZQUNVLEVBQWUsRUFDZixnQkFBa0M7UUFFMUMsS0FBSyxFQUFFLENBQUM7UUFIQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzlDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFFbkQsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLDBCQUEwQjtRQUMxQixhQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUs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Q0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7O3FIQS9OVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixpU0NackMsMDJKQWtKQTsyRkR0SWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHdCQUF3QjtpSUFLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhcmFtZXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3BhcmFtZXRlcnMtc2VydmljZS9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgQ29kRm9ybUNvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tY29udHJvbHMnO1xuaW1wb3J0IHsgQ29kRm9ybVN0ZXBzLCBsb2NhbFN0b3JhZ2VWYWx1ZXMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1zdGVwcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2QtZm9ybS1zdGVwLWZpdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcEZpdmVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB1c2VyUm9sZSE6IG51bWJlcjtcbiAgQElucHV0KCkgaW5pdGlhbERhdGE/OiBhbnk7XG4gIEBJbnB1dCgpIGlzRWRpdENvZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzUmVub3ZhdGlvbj86IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBjaGFuZ2VTdGVwRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvZEZvcm1TdGVwRml2ZSE6IEZvcm1Hcm91cDtcbiAgbWFya2V0aW5nUmVhc29uczogYW55O1xuICBzdHVkeVJlYXNvbnM6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIHNlbmRGb3JtTXNnITogc3RyaW5nO1xuICB0ZXJtc0NoZWNrYm94U3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIG11bHRpY3VsdHVyYWxpdGllczogYW55O1xuICBtb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmlzYmxlUmVmZXJyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1s0XTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgIHRoaXMudGVybXNDaGVja2JveFN0YXR1cyA9IGNoYW5nZXM7XG4gICAgICBpZiAoIXRoaXMudGVybXNDaGVja2JveFN0YXR1cykgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRGViZSBtYXJjYXIgbGEgY2FzaWxsYSBkZSB0w6lybWlub3MgeSBjb25kaWNpb25lcy4nXG4gICAgfSlcbiAgICAvLyBpZiAodGhpcy51c2VyUm9sZSA9PT0gMzAgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzEgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzIpIHRoaXMuc2VuZEZvcm1Nc2cgPSAnRWRpdGFyIENPRCc7XG4gICAgaWYgKHRoaXMudXNlclJvbGUgPT09IDMwIHx8IHRoaXMudXNlclJvbGUgPT09IDMxIHx8IHRoaXMudXNlclJvbGUgPT09IDMyIHx8XG4gICAgICAgIHRoaXMudXNlclJvbGUgPT09IDQwIHx8IHRoaXMudXNlclJvbGUgPT09IDQxIHx8IHRoaXMudXNlclJvbGUgPT09IDQyIHx8XG4gICAgICAgIHRoaXMudXNlclJvbGUgPT09IDUwIHx8IHRoaXMudXNlclJvbGUgPT09IDUxIHx8IHRoaXMudXNlclJvbGUgPT09IDUyIHx8XG4gICAgICAgIHRoaXMudXNlclJvbGUgPT09IDFcbiAgICAgICAgKSB0aGlzLmlzRWRpdENvZCA/IHRoaXMuc2VuZEZvcm1Nc2cgPSAnRWRpdGFyIENPRCcgOiB0aGlzLnNlbmRGb3JtTXNnID0gJ0NyZWFyIENPRCc7XG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxEYXRhJ10pIHtcbiAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhICE9IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudCAhPSBudWxsIHx8IHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YUZyb21QcmV2aXVzQ29kKCk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TWFya2V0aW5nUmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMubWFya2V0aW5nUmVhc29ucyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0dWR5UmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuc3R1ZHlSZWFzb25zID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TXVsdGljdWx0dXJhbGlzbXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLm11bHRpY3VsdHVyYWxpdGllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbWFya2V0aW5nX3JlYXNvbnM6ICBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBvYnNlcnZhdGlvbjogICAgICAgIFsnJ10sXG4gICAgICBzdHVkeV9yZWFzb25zOiAgICAgIFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHRlcm1zOiAgICAgICAgICAgICAgW2ZhbHNlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZGlzYWJpbGl0eTogICAgICAgICBbJyddLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBbZmFsc2UsIFtdXSxcbiAgICAgIG11bHRpY3VsdHVyYWxpc21fMjogW2ZhbHNlLCBbXV0sXG4gICAgICBtdWx0aWN1bHR1cmFsaXNtXzM6IFtmYWxzZSwgW11dLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBbZmFsc2UsIFtdXSxcbiAgICAgIG11bHRpY3VsdHVyYWxpc21fNTogW2ZhbHNlLCBbXV0sXG4gICAgICBtdWx0aWN1bHR1cmFsaXNtXzY6IFtmYWxzZSwgW11dLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV83OiBbZmFsc2UsIFtdXSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiAgICAgWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgY29kZV9yZWZlcnM6ICAgICAgICBbJyddLFxuICAgICAgY29kZV9jb2Q6ICAgICAgICAgICBbJyddLFxuICAgICAgZG9jdW1lbnRfcmVmZXJzOiAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgbmFtZV9yZWZlcnM6ICAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgcGhvbmVfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgZW1haWxfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XG4gICAgICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5tb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52aXNibGVSZWZlcnJlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzdGFydExvY2FsU3RvcmFnZVdvcmsoKSB7XG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XG5cbiAgICAgIC8vIFNvbHVjacOzbiBhbCBidWcgZGVsIGNoZWNrYm94XG4gICAgICBpZiAobG9jYWxTdG9yYWdlVmFsdWUuY29udHJvbCA9PT0gJ3Rlcm1zJykge1xuICAgICAgICBsZXQgbmV4dFZhbHVlOiBib29sZWFuID0gbG9jYWxTdG9yYWdlVmFsdWUudmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10uc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDUsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb250cm9scy5maWx0ZXIoY29udHJvbCA9PiBjb250cm9sLmRlc2NyaXB0aW9uID09PSAnTXVsdGljdWx0dXJhbGlzbW8nKS5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XG4gICAgICBsZXQgbmV4dFZhbHVlOiBib29sZWFuID0gbG9jYWxTdG9yYWdlVmFsdWUudmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICB9KVxuICB9XG5cbiAgZ2V0Q2hlY2tib3hDb250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10gYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBzZW5kRm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGaXZlLmludmFsaWQgfHwgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID09PSBmYWxzZSkgcmV0dXJuO1xuICAgICAgaWYgKHRoaXMudXNlclJvbGUgPT0gMzAgfHwgdGhpcy51c2VyUm9sZSA9PSAzMSB8fCB0aGlzLnVzZXJSb2xlID09IDMyIHx8XG4gICAgICAgIHRoaXMudXNlclJvbGUgPT0gNDAgfHwgdGhpcy51c2VyUm9sZSA9PSA0MSB8fCB0aGlzLnVzZXJSb2xlID09IDQyIHx8XG4gICAgICAgIHRoaXMudXNlclJvbGUgPT0gNTAgfHwgdGhpcy51c2VyUm9sZSA9PSA1MSB8fCB0aGlzLnVzZXJSb2xlID09IDUyIHx8XG4gICAgICAgIHRoaXMudXNlclJvbGUgPT0gMSkgdGhpcy5pc0VkaXRDb2QgPyB0aGlzLmFjdGlvbi5lbWl0KCd1cGRhdGUnKSA6IHRoaXMuYWN0aW9uLmVtaXQoJ2NyZWF0ZScpO1xuXG4gIH1cblxuICBjbGVhblN0b3JhZ2UoKXtcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKClcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGVsIHNlbGVjdFxuICBzZWxlY3RNYXJrZXRpbmdSZWFzb25zKG1hcmtldGluZ1JlYXNvbnM6IGFueSkge1xuICAgIGlmIChtYXJrZXRpbmdSZWFzb25zICE9PSAnwr9Dw7NtbyBzZSBlbnRlcsOzIGRlbCBwcm9ncmFtYT8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbWFya2V0aW5nX3JlYXNvbnMnXS5zZXRWYWx1ZShtYXJrZXRpbmdSZWFzb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0U3R1ZHlSZWFzb25zKHN0dWR5UmVhc29uczogYW55KSB7XG4gICAgaWYgKHN0dWR5UmVhc29ucyAhPT0gJ01vdGl2bycpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydzdHVkeV9yZWFzb25zJ10uc2V0VmFsdWUoc3R1ZHlSZWFzb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZXREYXRhRnJvbVByZXZpdXNDb2QoKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24/Lm1hcmtldGluZ19yZWFzb25zKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uPy5zdHVkeV9yZWFzb25zKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZGlzYWJpbGl0eSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uPy5kaXNhYmlsaXR5KTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snaGVhbHRoX3JlZ2ltZW4nXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbj8uaGVhbHRoX3JlZ2ltZW4pO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydvYnNlcnZhdGlvbiddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uPy5vYnNlcnZhdGlvbik7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pc1Jlbm92YXRpb24gPT09IGZhbHNlID8gdGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQuY29kZSA6IG51bGwpO1xuICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwRml2ZS5nZXQoJ21hcmtldGluZ19yZWFzb25zJyk/LnZhbHVlID09IDEpIHtcbiAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSB0cnVlO1xuICAgICAgLy8gdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQuY29kZSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZG9jdW1lbnRfcmVmZXJzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcmVmZXJyYWw/LnVzZXJfcmVmZXJyZWQuaWRfY2FyZCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9yZWZlcnJhbD8udXNlcl9yZWZlcnJlZC5uYW1lKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9yZWZlcnJhbD8udXNlcl9yZWZlcnJlZC5waG9uZV9udW1iZXIpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2VtYWlsX3JlZmVycyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY29kX3JlZmVycmFsPy51c2VyX3JlZmVycmVkLmVtYWlsKTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydjb2RlX3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ25hbWVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1sncGhvbmVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydjb2RlX2NvZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY29kZSk7XG4gIH1cbiAgc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbWFya2V0aW5nX3JlYXNvbnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkaXNhYmlsaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2hlYWx0aF9yZWdpbWVuJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ29ic2VydmF0aW9uJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfY29kJ10uc2V0VmFsdWUobnVsbCk7XG4gIH1cblxuICBjbGVhbkNvbXBvbmVudCgpe1xuICAgIHRoaXMucmVzZXRMb2NhbFN0b3JhZ2UodGhpcy5jb250cm9scyk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUucmVzZXQoKTtcbiAgfVxuXG4gIHJlZmVycmVkVXNlcihkYXRhOiBhbnkpe1xuICAgIHRoaXMubW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUoZGF0YVsnY29kZSddKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkb2N1bWVudF9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydpZF9jYXJkJ10pO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ25hbWVfcmVmZXJzJ10uc2V0VmFsdWUoZGF0YVsnbmFtZSddKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydwaG9uZV9udW1iZXInXSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ10uc2V0VmFsdWUoZGF0YVsnZW1haWwnXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzYmxlUmVmZXJyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydjb2RlX3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ25hbWVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1sncGhvbmVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbWFya2V0aW5nX3JlYXNvbnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWxSZWZlcnJlZCgpe1xuICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG5cbn1cbiIsIjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY29kRm9ybVN0ZXBGaXZlXCIgY2xhc3M9XCJncmlkXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTZcIj5cbiAgICA8Y29kLW1vZGFsLXJlZmVycmVkXG4gICAgKm5nSWY9XCJtb2RhbFZpc2libGVcIlxuICAgIFt2aXNpYmlsaXR5XT1cIm1vZGFsVmlzaWJsZVwiXG4gICAgKHVzZXJTZWxlY3QpPVwicmVmZXJyZWRVc2VyKCRldmVudClcIlxuICAgID48L2NvZC1tb2RhbC1yZWZlcnJlZD5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfcmVmZXJyZWQgZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1lbmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZV9zZWxlY3QxXCI+XG4gICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddXCJcbiAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbWFya2V0aW5nX3JlYXNvbnMnXS52YWx1ZVwiXG4gICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdE1hcmtldGluZ1JlYXNvbnMoJGV2ZW50KVwiXG4gICAgICAgICAgW2RhdGFdPVwibWFya2V0aW5nUmVhc29uc1wiXG4gICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIifCv0PDs21vIHNlIGVudGVyw7MgZGVsIHByb2dyYW1hPydcIlxuICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8cC1idXR0b25cbiAgICAgICpuZ0lmPVwidmlzYmxlUmVmZXJyZWRcIlxuICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXNtIHctbWF4XCJcbiAgICAgIGxhYmVsPVwiQ2FtYmlhciBSZWZlcmlkb1wiXG4gICAgICBpY29uPVwicGkgcGktc3luY1wiXG4gICAgICAob25DbGljayk9XCJvcGVuTW9kYWxSZWZlcnJlZCgpXCJcbiAgICA+PC9wLWJ1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInRGlzY2FwYWNpZGFkJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2Rpc2FiaWxpdHknXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXVwiXG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnZhbHVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdHVkeVJlYXNvbnMoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJzdHVkeVJlYXNvbnNcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidNb3Rpdm8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInUsOpZ2ltZW4gZGUgc2FsdWQnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snaGVhbHRoX3JlZ2ltZW4nXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxoMyAqbmdJZj1cInZpc2JsZVJlZmVycmVkXCIgY2xhc3M9XCJyZWZlcnJlZF90aXRsZVwiPkRhdG9zIGRlbCByZWZlcmlkbzwvaDM+XG4gICAgPGRpdiAqbmdJZj1cInZpc2JsZVJlZmVycmVkXCIgY2xhc3M9XCJyZWZlcnJlZF91c2VyX2RhdGFcIj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyduYW1lX3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1RlbMOpZm9ubydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Bob25lX3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0VtYWlsJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGlkPVwiZmxvYXQtaW5wdXRcIlxuICAgICAgICByb3dzPVwiNFwiXG4gICAgICAgIGNvbHM9XCIzMFwiXG4gICAgICAgIHBJbnB1dFRleHRhcmVhXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9ic2VydmF0aW9uXCJcbiAgICAgID48L3RleHRhcmVhPlxuICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+T2JzZXJ2YWNpb25lczwvbGFiZWw+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMlwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG11bHRpY3VsdHVyYWxpdGllczsgaW5kZXggYXMgaVwiXG4gICAgICAgIGNsYXNzPVwiZmllbGQtY2hlY2tib3ggbXQtNCBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidtdWx0aWN1bHR1cmFsaXNtJyArICdfJyArIChpICsgMSlcIlxuICAgICAgICAgIGNsYXNzPVwiZXhhbXBsZS1tYXJnaW5cIlxuICAgICAgICA+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cIm9wdGlvbi5jb2RlXCI+e3sgb3B0aW9uLm5hbWUgfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcC00IGZvbnQtYm9sZFwiPlxuICAgIDxwPlxuICAgICAgKiBFbCBlc3R1ZGlhbnRlIG8gdGl0dWxhciBzZSBjb21wcm9tZXRlbiBhIGNhbmNlbGFyIGxhcyBjdW90YXNcbiAgICAgIGVzdGFibGVjaWRhcyBlbiBlc3RlIGNvbnRyYXRvLCBsb3MgcHJpbWVyb3MgNSAoY2luY28pIGTDrWFzIGRlbCBtZXMuIEVuXG4gICAgICBjYXNvIGRlIHF1ZXJlciByZXRpcmFyc2UsIGRlYmVyw6EgaW5mb3JtYXIgcG9yIGVzY3JpdG8gMzAgKHRyZWludGEpIGTDrWFzXG4gICAgICBhbnRlcyB5IGNhbmNlbGFyIGxvIGNvcnJlc3BvbmRpZW50ZSBoYXN0YSBsYSBmZWNoYSBkZWZpbmlkYSBkZSByZXRpcm8sXG4gICAgICBwYXJhIHBvZGVyIG9idGVuZXIgc3UgcGF6IHkgc2Fsdm8uXG4gICAgPC9wPlxuICAgIDxiciAvPjxiciAvPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRlcm1zXCJcbiAgICAgICAgY2xhc3M9XCJleGFtcGxlLW1hcmdpblwiXG4gICAgICA+PC9tYXQtY2hlY2tib3g+XG4gICAgICA8IS0tIDxwLWNoZWNrYm94IFtmb3JtQ29udHJvbF09XCJnZXRDaGVja2JveENvbnRyb2woKVwiPjwvcC1jaGVja2JveD4gLS0+XG4gICAgICA8IS0tIDxpcHQtY2hlY2tib3ggW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyd0ZXJtcyddXCIgW2NoZWNrYm94T3B0aW9uXT1cInRlcm1zQ2hlY2tib3hTdGF0dXNcIj48L2lwdC1jaGVja2JveD4gLS0+XG4gICAgICA8cD5cbiAgICAgICAgREVDTEFSTyBIQUJFUiBMRcONRE8gWSBBQ0VQVE8gTE9TIFTDiVJNSU5PUyBZIENPTkRJQ0lPTkVTIERFIExBUyBQT0zDjVRJQ0FTXG4gICAgICAgIEVTVEFCTEVDSURBUyBFTiBMQSBJTlNUSVRVQ0nDk04uXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuXG48ZGl2IGNsYXNzPVwiZmxleCBtdC0zIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICAoY29kRm9ybVN0ZXBGaXZlLmludmFsaWQgJiYgY29kRm9ybVN0ZXBGaXZlLnRvdWNoZWQpIHx8XG4gICAgICAoIXRlcm1zQ2hlY2tib3hTdGF0dXMgJiYgY29kRm9ybVN0ZXBGaXZlLnRvdWNoZWQpXG4gICAgXCJcbiAgICBjbGFzcz1cIlxuICAgICAgdGV4dC1yZWQtNTAwXG4gICAgICBmb250LWJvbGRcbiAgICAgIHRleHQtY2VudGVyXG4gICAgICBtdC0xXG4gICAgICBweS0yXG4gICAgICBiZy1yZWQtMTAwXG4gICAgICB3LWZ1bGxcbiAgICAgIGJvcmRlci1yb3VuZC14bFxuICAgIFwiXG4gICAgPnt7IGVycm9yTWVzc2FnZSB9fTwvc3BhblxuICA+XG4gIDxidXR0b25cbiAgdHlwZT1cInN1Ym1pdFwiXG4gIFtjbGFzc109XCJpc0VkaXRDb2QgPyAnbWwtYXV0byB5ZWxsb3ctMzAwIHAtYnV0dG9uLXNtJyA6ICdtbC1hdXRvIHAtYnV0dG9uLXN1Y2Nlc3MgcC1idXR0b24tc20nXCJcbiAgKGNsaWNrKT1cInNlbmRGb3JtKClcIlxuICBwQnV0dG9uXG4gIFtsYWJlbF09XCJzZW5kRm9ybU1zZ1wiXG4gIGljb249XCJwaSBwaS1jaGVja1wiXG4+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|