iptdevs-design-system 2.7.9 → 2.7.10
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/components/atoms/select/select.component.mjs +2 -8
- package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +2 -2
- package/fesm2015/iptdevs-design-system.mjs +2 -8
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +2 -8
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/components/atoms/select/select.component.d.ts +1 -3
- package/package.json +1 -1
|
@@ -6,10 +6,8 @@ export class SelectComponent {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.boxShadow = 0;
|
|
8
8
|
this.clicked = false;
|
|
9
|
-
this.value = '';
|
|
10
9
|
this.disabledSel = false;
|
|
11
10
|
this.eventSelect = new EventEmitter();
|
|
12
|
-
this.eventToNextSelect = new EventEmitter();
|
|
13
11
|
}
|
|
14
12
|
// type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo
|
|
15
13
|
set control(value) {
|
|
@@ -23,7 +21,6 @@ export class SelectComponent {
|
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
seleccionar(evt) {
|
|
26
|
-
this.value = evt;
|
|
27
24
|
if (this.eventSelect.emit(evt) !== this.defaultText) {
|
|
28
25
|
this.boxShadow = 1;
|
|
29
26
|
}
|
|
@@ -34,7 +31,6 @@ export class SelectComponent {
|
|
|
34
31
|
setBinding() {
|
|
35
32
|
if (this.initialValue !== '') {
|
|
36
33
|
this.binding = this.initialValue;
|
|
37
|
-
this.eventToNextSelect.emit(this.value);
|
|
38
34
|
}
|
|
39
35
|
else {
|
|
40
36
|
this.binding = this.defaultText;
|
|
@@ -54,7 +50,7 @@ export class SelectComponent {
|
|
|
54
50
|
}
|
|
55
51
|
}
|
|
56
52
|
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", disabledSel: "disabledSel", initialValue: "initialValue", control: "control" }, outputs: { eventSelect: "eventSelect"
|
|
53
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", disabledSel: "disabledSel", initialValue: "initialValue", control: "control" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: `
|
|
58
54
|
<div class="select-container">
|
|
59
55
|
<label [ngClass]="labelClass">{{ defaultText }}</label>
|
|
60
56
|
<select
|
|
@@ -100,9 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
100
96
|
type: Input
|
|
101
97
|
}], eventSelect: [{
|
|
102
98
|
type: Output
|
|
103
|
-
}], eventToNextSelect: [{
|
|
104
|
-
type: Output
|
|
105
99
|
}], control: [{
|
|
106
100
|
type: Input
|
|
107
101
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7O0FBc0J0RixNQUFNLE9BQU8sZUFBZTtJQW5CNUI7UUFzQkUsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUV0QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBT2hCLGdCQUFXLEdBQVcsS0FBSyxDQUFDO1FBRzNCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQStDcEQ7SUE5Q0MsaUdBQWlHO0lBQ2pHLElBQWEsT0FBTyxDQUFDLEtBQXNCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFvQixDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQztZQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO2FBQ0k7WUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNMLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUUsQ0FBQzs7NEdBNURVLGVBQWU7Z0dBQWYsZUFBZSx3U0FqQmhCOzs7Ozs7Ozs7Ozs7OztHQWNUOzJGQUdVLGVBQWU7a0JBbkIzQixTQUFTOytCQUNFLFlBQVksWUFDWjs7Ozs7Ozs7Ozs7Ozs7R0FjVDs4QkFVUSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRU0sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpcHQtc2VsZWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRhaW5lclwiPlxuICAgICAgPGxhYmVsIFtuZ0NsYXNzXT1cImxhYmVsQ2xhc3NcIj57eyBkZWZhdWx0VGV4dCB9fTwvbGFiZWw+XG4gICAgICA8c2VsZWN0XG4gICAgICAgIFsobmdNb2RlbCldPVwiYmluZGluZ1wiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjY2lvbmFyKCRldmVudClcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRleHRDbGFzc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFNlbFwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGE7IGluZGV4IGFzIGlcIiBbdmFsdWVdPVwiaXRlbS5jb2RlXCI+XG4gICAgICAgICAge3sgaXRlbS5uYW1lIH19IHt7IGl0ZW0ucHJlZml4IH19XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IHtcblxuICBiaW5kaW5nOiBhbnk7XG4gIGJveFNoYWRvdzogbnVtYmVyID0gMDtcbiAgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgY2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGlzUmVxdWlyZWQhOiBib29sZWFuOyAvLyB0ZW1hcyBkZSB2YWxpZGFjaW9uXG4gIC8vIG9iamV0byBxdWUgbWUgdHJhZSBlbCBsaXN0YWRvXG4gIEBJbnB1dCgpIGRhdGEhOiBhbnlbXTsgLy8gcmVjaWJlIHVuIGFycmF5IGRlIGN1YWxxdWllciBjb3NhXG4gIEBJbnB1dCgpIGRlZmF1bHRUZXh0ITogYW55O1xuICBASW5wdXQoKSBzZWxlY3RDb2RlITpzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkU2VsOmJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaW5pdGlhbFZhbHVlITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBldmVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAvLyB0eXBlIHZpZW5lIGRlIG90cm8gY29tcG9uZW50ZSAtPiBpbmRpY2EgZGUgcXVlIHRpcG8gZXMgZWwgYXJyZWdsbyBzaSBwcmVncmFkZSwgcG9zZ3JhZGUgbyBtb2RvXG4gIEBJbnB1dCgpIHNldCBjb250cm9sKHZhbHVlOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbCAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB2YWx1ZSBhcyBGb3JtQ29udHJvbDtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoIGNoYW5nZXNbJ2RhdGEnXSl7XG4gICAgICB0aGlzLnNldEJpbmRpbmcoKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY2Npb25hcihldnQ6IHN0cmluZyl7XG4gICAgaWYgKHRoaXMuZXZlbnRTZWxlY3QuZW1pdChldnQpICE9PSB0aGlzLmRlZmF1bHRUZXh0KSB7XG4gICAgICB0aGlzLmJveFNoYWRvdyA9IDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5ib3hTaGFkb3cgPSAyO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmluZGluZygpIHtcbiAgICBpZih0aGlzLmluaXRpYWxWYWx1ZSAhPT0gJycpIHtcbiAgICAgIHRoaXMuYmluZGluZyA9IHRoaXMuaW5pdGlhbFZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJpbmRpbmcgPSB0aGlzLmRlZmF1bHRUZXh0O1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrKHZhbHVlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbGlja2VkID0gdmFsdWUuaXNUcnVzdGVkO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgIHRoaXMuc2V0QmluZGluZygpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXh0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VGV4dCA9PT0gJycgPyAnc2VsZWN0ZWQnIDogJ3NlbGVjdCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuY2xpY2tlZCB8fCB0aGlzLmluaXRpYWxWYWx1ZSAhPT0gJycpID8gJ2xhYmVsVXAnIDogJ2xhYmVsJztcbiAgfVxuXG59XG4iXX0=
|
|
@@ -198,7 +198,7 @@ export class CreateUserFormComponent {
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
CreateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CreateUserFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
201
|
-
CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CreateUserFormComponent, selector: "ipt-create-user-form", inputs: { userType: "userType", visibility: "visibility" }, outputs: { userCreated: "userCreated", onHide: "onHide" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombre completo'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Seleccione el rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Seleccione el indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Ingrese el tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento de identidad'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Seleccione el departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Ingrese las horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;grid-gap:.25rem;gap:.25rem;justify-content:center;padding:0 1rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}.user_type_image{display:none}}@media screen and (min-width: 768px){form{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;justify-content:center}}@media screen and (min-width: 1366px){form{padding:0rem}.grid_container{display:grid;grid-template-columns:1fr 250px;grid-gap:1rem;gap:1rem;padding:1rem}.user_type_image{display:flex;background-size:cover;background-repeat:no-repeat;background-position:center;height:100%;border-radius:1rem;padding:1rem}}\n"], components: [{ type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { type: i5.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"
|
|
201
|
+
CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CreateUserFormComponent, selector: "ipt-create-user-form", inputs: { userType: "userType", visibility: "visibility" }, outputs: { userCreated: "userCreated", onHide: "onHide" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombre completo'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Seleccione el rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Seleccione el indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Ingrese el tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento de identidad'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Seleccione el departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Ingrese las horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;grid-gap:.25rem;gap:.25rem;justify-content:center;padding:0 1rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}.user_type_image{display:none}}@media screen and (min-width: 768px){form{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;justify-content:center}}@media screen and (min-width: 1366px){form{padding:0rem}.grid_container{display:grid;grid-template-columns:1fr 250px;grid-gap:1rem;gap:1rem;padding:1rem}.user_type_image{display:flex;background-size:cover;background-repeat:no-repeat;background-position:center;height:100%;border-radius:1rem;padding:1rem}}\n"], components: [{ type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { type: i5.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { type: i6.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "titlecase": i7.TitleCasePipe }, animations: [
|
|
202
202
|
trigger('fade', [
|
|
203
203
|
transition('void => *', [
|
|
204
204
|
style({ opacity: 0 }),
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
225
225
|
}], onHide: [{
|
|
226
226
|
type: Output
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jcmVhdGUtdXNlci1mb3JtL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3JlYXRlLXVzZXItZm9ybS9jcmVhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWtCcEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsV0FBd0I7UUFGeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFmekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLElBQUksWUFBWSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQU1wRCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLFVBQUssR0FBVyxFQUFFLENBQUM7SUFNaEIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFJLE9BQU8sR0FBd0I7WUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUs7WUFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUs7WUFDMUQsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUs7WUFDaEUsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUs7WUFDdEQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLO1lBQ3hFLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLO1lBQ2hFLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLO1lBQ2xELElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLO1lBQ2hELFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLO1lBQ2hFLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLO1lBQ2hELFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO1NBQ3pELENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzdCLFFBQVEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQzdCLEtBQUssQ0FBQztvQkFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNoQixNQUFNO2dCQUNSLEtBQUssQ0FBQztvQkFDSixNQUFNLElBQUksS0FBSyxDQUFDLHVHQUF1RyxDQUFDLENBQUM7Z0JBQzNILEtBQUssQ0FBQztvQkFDSixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7Z0JBQ2pGO29CQUNFLE1BQU07YUFDVDtZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBd0IsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUF3QixFQUFFLEVBQUU7WUFDL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBUSxFQUFFO1lBQzNFLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QixPQUFPO2dCQUNMLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2FBQ2hDLENBQUM7U0FDSDtRQUVELFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUIsT0FBTztnQkFDTCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDbkMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7YUFDaEMsQ0FBQztTQUNIO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDaEMsT0FBTztnQkFDTCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFO2dCQUNqRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO2FBQy9DLENBQUM7U0FDSDtRQUVELFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0IsT0FBTztnQkFDTCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFO2dCQUM1QyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO2FBQzFDLENBQUM7U0FDSDtRQUVELFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUIsT0FBTztnQkFDTCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO2dCQUM3QyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFO2FBQzNDLENBQUM7U0FDSDtRQUVELFVBQVU7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUIsT0FBTztnQkFDTCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO2dCQUMzQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO2FBQ3pDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ2xGLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEYsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDeEYsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0YsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLElBQUksSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLGlEQUFpRCxDQUFBO1FBQ3RGLElBQUksSUFBSSxLQUFLLFVBQVU7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLGdEQUFnRCxDQUFBO1FBQ3RGLElBQUksSUFBSSxLQUFLLGdCQUFnQjtZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcscURBQXFELENBQUE7UUFDakcsSUFBSSxJQUFJLEtBQUssV0FBVztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0RBQWdELENBQUE7UUFDdkYsSUFBSSxJQUFJLEtBQUssWUFBWTtZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0RBQWdELENBQUE7UUFDeEYsSUFBSSxJQUFJLEtBQUssVUFBVTtZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcscURBQXFELENBQUE7SUFDN0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFTO1FBQ2pCLElBQUksSUFBSSxLQUFLLG1CQUFtQixFQUFFO1lBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWU7UUFDL0IsSUFBSSxVQUFVLEtBQUssMEJBQTBCLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLElBQUksTUFBTSxLQUFLLDhCQUE4QixFQUFFO1lBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksS0FBSyxLQUFLLDRCQUE0QixFQUFFO1lBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2xCLElBQUksSUFBSSxLQUFLLHNCQUFzQixFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7b0hBMU1VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1MQ3BCcEMscWxJQTJHQSw0dEZEaEdjO1FBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNkLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzthQUNsQyxDQUFDO1NBQ0gsQ0FBQztLQUNIOzJGQUVVLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEI7d0JBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRTs0QkFDZCxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3JCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7NkJBQ2xDLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDsySkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlZ2lzdGVyRGFzaGJvYXJkUnEgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvdXNlci1zZXJ2aWNlL3VzZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwdC1jcmVhdGUtdXNlci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5jc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZhZGUnLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgYW5pbWF0ZSgyMDAsIHN0eWxlKHtvcGFjaXR5OiAxfSkpXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRlVXNlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1c2VyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdmlzaWJpbGl0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdXNlckNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcbiAgQE91dHB1dCgpIG9uSGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNyZWF0ZVVzZXJGb3JtITogRm9ybUdyb3VwO1xuICBwaG9uZU51bWJlckluZGljYXRpdmVzOiBhbnk7XG4gIGlkVHlwZXM6IGFueTtcbiAgc3RhdGVzOiBhbnk7XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBjaXRpZXM6IGFueTtcbiAgcGhvdG86IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpIHtcbiAgICB0aGlzLnZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLm9uSGlkZS5lbWl0KHRydWUpO1xuICB9XG5cbiAgY3JlYXRlVXNlcigpIHtcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG5cbiAgICBsZXQgcmVxdWVzdDogUmVnaXN0ZXJEYXNoYm9hcmRScSA9IHtcbiAgICAgIG5hbWU6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXS52YWx1ZSxcbiAgICAgIGxhc3RfbmFtZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ10udmFsdWUsXG4gICAgICBpZF9jYXJkX3R5cGU6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnZhbHVlLFxuICAgICAgaWRfY2FyZDogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZCddLnZhbHVlLFxuICAgICAgcGhvbmVfaW5kaWNhdGl2ZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlLFxuICAgICAgcGhvbmVfbnVtYmVyOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9udW1iZXInXS52YWx1ZSxcbiAgICAgIGVtYWlsOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLnZhbHVlLFxuICAgICAgY2l0eTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnZhbHVlLFxuICAgICAgc2VydmljZV9ob3VyOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlX2hvdXInXS52YWx1ZSxcbiAgICAgIHJvbGU6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3JvbGUnXS52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlZ2lzdGVyRGFzaGJvYXJkKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgdGhpcy51c2VyQ3JlYXRlZC5lbWl0KHRydWUpO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkxvcyBkYXRvcyBpbmdyZXNhZG9zIG5vIGNvcnJlc3BvbmRlbiBhIHVuIHVzdWFyaW8gcmVnaXN0cmFkbyBlbiBudWVzdHJvIHNpc3RlbWEsIHBvciBmYXZvciByZXZpc2Vsb3MuXCIpO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9zIGRhdG9zIGluZ3Jlc2Fkb3Mgbm8gY3VtcGxlbiBsb3MgcGFyw6FtZXRyb3MgZXN0YWJsZWNpZG9zXCIpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEluZGljYXRpdmVzKCkuc3Vic2NyaWJlKChyZXNwb25zZTogeyBkYXRhOiBhbnk7IH0pID0+IHtcbiAgICAgIHRoaXMucGhvbmVOdW1iZXJJbmRpY2F0aXZlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENhcmRUeXBlcygnY29sJykuc3Vic2NyaWJlKChyZXNwb25zZTogeyBkYXRhOiBhbnk7IH0pID0+IHtcbiAgICAgIHRoaXMuaWRUeXBlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0YXRlc0J5Q291bnRyeSgnY29sJykuc3Vic2NyaWJlKChyZXNwb25zZSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5zdGF0ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Um9sZXNPcHRpb25zKCk6IGFueSB7XG4gICAgLy8gRXN0dWRpYW50ZVxuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnc3R1ZGVudCcpIHtcbiAgICAgIHRoaXMuc2V0UGhvdG8oJ3N0dWRlbnQnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzEzJywgbmFtZTogJ1N0dWRlbnQnIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIEFjYWTDqW1pY29cbiAgICBpZiAodGhpcy51c2VyVHlwZSA9PT0gJ2FjYWRlbWljJykge1xuICAgICAgdGhpcy5zZXRQaG90bygnYWNhZGVtaWMnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzExJywgbmFtZTogJ1RlYWNoZXIgUFJPJyB9LFxuICAgICAgICB7IGNvZGU6ICcxMicsIG5hbWU6ICdUZWFjaGVyJyB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICAvLyBBZG1pbmlzdHJhdGl2b1xuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnYWRtaW5pc3RyYXRpdmUnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdhZG1pbmlzdHJhdGl2ZScpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnMzEnLCBuYW1lOiAnQWRtaW5pc3RyYXRpdmUgU3VwZXJ2aXNvcicgfSxcbiAgICAgICAgeyBjb2RlOiAnMzInLCBuYW1lOiAnQWRtaW5pc3RyYXRpdmUgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gTWFya2V0aW5nXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdtYXJrZXRpbmcnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdtYXJrZXRpbmcnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzIxJywgbmFtZTogJ01hcmtldGluZyBTdXBlcnZpc29yJyB9LFxuICAgICAgICB7IGNvZGU6ICcyMicsIG5hbWU6ICdNYXJrZXRpbmcgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gQ29tZXJjaWFsXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdjb21tZXJjaWFsJykge1xuICAgICAgdGhpcy5zZXRQaG90bygnY29tbWVyY2lhbCcpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnNDEnLCBuYW1lOiAnQ29tbWVyY2lhbCBTdXBlcnZpc29yJyB9LFxuICAgICAgICB7IGNvZGU6ICc0MicsIG5hbWU6ICdDb21tZXJjaWFsIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIENhcnRlcmFcbiAgICBpZiAodGhpcy51c2VyVHlwZSA9PT0gJ3RyZWFzdXJlJykge1xuICAgICAgdGhpcy5zZXRQaG90bygndHJlYXN1cmUnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzUxJywgbmFtZTogJ1RyZWF1c2VyIFN1cGVydmlzb3InIH0sXG4gICAgICAgIHsgY29kZTogJzUyJywgbmFtZTogJ1RyZWF1c2VyIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY3JlYXRlVXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLF0sXG4gICAgICBsYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwMCldXSxcbiAgICAgIGlkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaWRfY2FyZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdXSxcbiAgICAgIHBob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHJvbGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHNlcnZpY2VfaG91cjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcGhvbmVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDcpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg3KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBzdGF0ZTogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIHNldFBob3RvKHR5cGU6IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnc3R1ZGVudCcpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvZXN0dWRpYW50ZS5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdhY2FkZW1pYycpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvYWNhZGVtaWNvLnBuZydcbiAgICBpZiAodHlwZSA9PT0gJ2FkbWluaXN0cmF0aXZlJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9hZG1pbmlzdHJhdGl2by5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdtYXJrZXRpbmcnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL21hcmtldGluZy5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdjb21tZXJjaWFsJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9jb21lcmNpYWwuanBnJ1xuICAgIGlmICh0eXBlID09PSAndHJlYXN1cmUnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL2FkbWluaXN0cmF0aXZvLmpwZydcbiAgfVxuXG4gIHNlbGVjdFJvbChyb2xlOiBhbnkpIHtcbiAgICBpZiAocm9sZSAhPT0gJ1NlbGVjY2lvbmUgZWwgcm9sJykge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncm9sZSddLnNldFZhbHVlKHJvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyb2xlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXMoaW5kaWNhdGl2ZTogYW55KSB7XG4gICAgaWYgKGluZGljYXRpdmUgIT09ICdTZWxlY2Npb25lIGVsIGluZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnSW5ncmVzZSBlbCB0aXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICBpZiAoc3RhdGUgIT09ICdTZWxlY2Npb25lIGVsIGRlcGFydGFtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUoc3RhdGUpO1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENpdGllc0J5U3RhdGUoc3RhdGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5jaXRpZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENpdHkoY2l0eTogYW55KSB7XG4gICAgaWYgKGNpdHkgIT09ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiPG1haW4gKm5nSWY9XCJ2aXNpYmlsaXR5XCI+XG4gIDxkaXYgQGZhZGUgY2xhc3M9XCJtb2RhbF9jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX21vZGFsXCI+XG4gICAgICA8aDE+Q3JlYXIgdXN1YXJpbyBkZSB7eyB1c2VyVHlwZSB8IHRpdGxlY2FzZX19PC9oMT5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPng8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9jb250YWluZXJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY3JlYXRlVXNlckZvcm1cIj5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZSBjb21wbGV0bydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGVsIG5vbWJyZSdcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbG9zIGFwZWxsaWRvcydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvcnJlbyBlbGVjdHLDs25pY28nXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgdGVuZXIgZG9taW5pbyBAaW5nbGVzcGFyYXRvZG9zLmVkdS5jbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1NlbGVjY2lvbmUgZWwgcm9sJ1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Um9sKCRldmVudClcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZ2V0Um9sZXNPcHRpb25zKClcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2RhdGFdPVwicGhvbmVOdW1iZXJJbmRpY2F0aXZlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1NlbGVjY2lvbmUgZWwgaW5kaWNhdGl2bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJjcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncGhvbmVfbnVtYmVyJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciB1biBuw7ptZXJvIGRlIHRlbMOpZm9ubyB2w6FsaWRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImlkVHlwZXNcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5ncmVzZSBlbCB0aXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50byBkZSBpZGVudGlkYWQnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBlbCBuw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0U3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJzdGF0ZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidTZWxlY2Npb25lIGVsIGRlcGFydGFtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJjaXRpZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDaXVkYWQgZGUgcmVzaWRlbmNpYSdcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dCAqbmdJZj1cIiEodXNlclR5cGUgPT09ICdzdHVkZW50JylcIlxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0luZ3Jlc2UgbGFzIGhvcmFzIGRlIHNlcnZpY2lvJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJjcmVhdGVVc2VyRm9ybS5jb250cm9sc1snc2VydmljZV9ob3VyJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBsYXMgaG9yYXMgZGUgc2VydmljaW8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInQ29udHJhc2XDsWEnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInUmVwZXRpciBjb250cmFzZcOxYSdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ11cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2lwdC1pbnB1dD5cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpcHQtYnV0dG9uXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0NyZWFyIHVzdWFyaW8nXCJcbiAgICAgICAgICAgIFtpc0VuYWJsZWRdPVwiXG4gICAgICAgICAgICAgICFsb2FkZXIgJiZcbiAgICAgICAgICAgICAgY3JlYXRlVXNlckZvcm0udmFsdWVbJ3JlX3Bhc3N3b3JkJ10gPT09XG4gICAgICAgICAgICAgIGNyZWF0ZVVzZXJGb3JtLnZhbHVlWydwYXNzd29yZCddXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiY3JlYXRlVXNlcigpXCJcbiAgICAgICAgICAgIFtwcmltYXJ5XT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2lwdC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIHBob3RvICsgJyknfVwiIGNsYXNzPVwidXNlcl90eXBlX2ltYWdlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYWluPlxuIl19
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jcmVhdGUtdXNlci1mb3JtL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3JlYXRlLXVzZXItZm9ybS9jcmVhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWtCcEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsV0FBd0I7UUFGeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFmekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLElBQUksWUFBWSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQU1wRCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLFVBQUssR0FBVyxFQUFFLENBQUM7SUFNaEIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxD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QUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7b0hBMU1VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1MQ3BCcEMscWxJQTJHQSx1c0ZEaEdjO1FBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNkLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzthQUNsQyxDQUFDO1NBQ0gsQ0FBQztLQUNIOzJGQUVVLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEI7d0JBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRTs0QkFDZCxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3JCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7NkJBQ2xDLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDsySkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlZ2lzdGVyRGFzaGJvYXJkUnEgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvdXNlci1zZXJ2aWNlL3VzZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwdC1jcmVhdGUtdXNlci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5jc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZhZGUnLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgYW5pbWF0ZSgyMDAsIHN0eWxlKHtvcGFjaXR5OiAxfSkpXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRlVXNlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1c2VyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdmlzaWJpbGl0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdXNlckNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcbiAgQE91dHB1dCgpIG9uSGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNyZWF0ZVVzZXJGb3JtITogRm9ybUdyb3VwO1xuICBwaG9uZU51bWJlckluZGljYXRpdmVzOiBhbnk7XG4gIGlkVHlwZXM6IGFueTtcbiAgc3RhdGVzOiBhbnk7XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBjaXRpZXM6IGFueTtcbiAgcGhvdG86IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpIHtcbiAgICB0aGlzLnZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLm9uSGlkZS5lbWl0KHRydWUpO1xuICB9XG5cbiAgY3JlYXRlVXNlcigpIHtcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG5cbiAgICBsZXQgcmVxdWVzdDogUmVnaXN0ZXJEYXNoYm9hcmRScSA9IHtcbiAgICAgIG5hbWU6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXS52YWx1ZSxcbiAgICAgIGxhc3RfbmFtZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ10udmFsdWUsXG4gICAgICBpZF9jYXJkX3R5cGU6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnZhbHVlLFxuICAgICAgaWRfY2FyZDogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZCddLnZhbHVlLFxuICAgICAgcGhvbmVfaW5kaWNhdGl2ZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlLFxuICAgICAgcGhvbmVfbnVtYmVyOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9udW1iZXInXS52YWx1ZSxcbiAgICAgIGVtYWlsOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLnZhbHVlLFxuICAgICAgY2l0eTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnZhbHVlLFxuICAgICAgc2VydmljZV9ob3VyOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlX2hvdXInXS52YWx1ZSxcbiAgICAgIHJvbGU6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3JvbGUnXS52YWx1ZSxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlZ2lzdGVyRGFzaGJvYXJkKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgdGhpcy51c2VyQ3JlYXRlZC5lbWl0KHRydWUpO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkxvcyBkYXRvcyBpbmdyZXNhZG9zIG5vIGNvcnJlc3BvbmRlbiBhIHVuIHVzdWFyaW8gcmVnaXN0cmFkbyBlbiBudWVzdHJvIHNpc3RlbWEsIHBvciBmYXZvciByZXZpc2Vsb3MuXCIpO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9zIGRhdG9zIGluZ3Jlc2Fkb3Mgbm8gY3VtcGxlbiBsb3MgcGFyw6FtZXRyb3MgZXN0YWJsZWNpZG9zXCIpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEluZGljYXRpdmVzKCkuc3Vic2NyaWJlKChyZXNwb25zZTogeyBkYXRhOiBhbnk7IH0pID0+IHtcbiAgICAgIHRoaXMucGhvbmVOdW1iZXJJbmRpY2F0aXZlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENhcmRUeXBlcygnY29sJykuc3Vic2NyaWJlKChyZXNwb25zZTogeyBkYXRhOiBhbnk7IH0pID0+IHtcbiAgICAgIHRoaXMuaWRUeXBlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0YXRlc0J5Q291bnRyeSgnY29sJykuc3Vic2NyaWJlKChyZXNwb25zZSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5zdGF0ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Um9sZXNPcHRpb25zKCk6IGFueSB7XG4gICAgLy8gRXN0dWRpYW50ZVxuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnc3R1ZGVudCcpIHtcbiAgICAgIHRoaXMuc2V0UGhvdG8oJ3N0dWRlbnQnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzEzJywgbmFtZTogJ1N0dWRlbnQnIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIEFjYWTDqW1pY29cbiAgICBpZiAodGhpcy51c2VyVHlwZSA9PT0gJ2FjYWRlbWljJykge1xuICAgICAgdGhpcy5zZXRQaG90bygnYWNhZGVtaWMnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzExJywgbmFtZTogJ1RlYWNoZXIgUFJPJyB9LFxuICAgICAgICB7IGNvZGU6ICcxMicsIG5hbWU6ICdUZWFjaGVyJyB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICAvLyBBZG1pbmlzdHJhdGl2b1xuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnYWRtaW5pc3RyYXRpdmUnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdhZG1pbmlzdHJhdGl2ZScpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnMzEnLCBuYW1lOiAnQWRtaW5pc3RyYXRpdmUgU3VwZXJ2aXNvcicgfSxcbiAgICAgICAgeyBjb2RlOiAnMzInLCBuYW1lOiAnQWRtaW5pc3RyYXRpdmUgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gTWFya2V0aW5nXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdtYXJrZXRpbmcnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdtYXJrZXRpbmcnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzIxJywgbmFtZTogJ01hcmtldGluZyBTdXBlcnZpc29yJyB9LFxuICAgICAgICB7IGNvZGU6ICcyMicsIG5hbWU6ICdNYXJrZXRpbmcgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gQ29tZXJjaWFsXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdjb21tZXJjaWFsJykge1xuICAgICAgdGhpcy5zZXRQaG90bygnY29tbWVyY2lhbCcpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnNDEnLCBuYW1lOiAnQ29tbWVyY2lhbCBTdXBlcnZpc29yJyB9LFxuICAgICAgICB7IGNvZGU6ICc0MicsIG5hbWU6ICdDb21tZXJjaWFsIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIENhcnRlcmFcbiAgICBpZiAodGhpcy51c2VyVHlwZSA9PT0gJ3RyZWFzdXJlJykge1xuICAgICAgdGhpcy5zZXRQaG90bygndHJlYXN1cmUnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzUxJywgbmFtZTogJ1RyZWF1c2VyIFN1cGVydmlzb3InIH0sXG4gICAgICAgIHsgY29kZTogJzUyJywgbmFtZTogJ1RyZWF1c2VyIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY3JlYXRlVXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLF0sXG4gICAgICBsYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwMCldXSxcbiAgICAgIGlkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaWRfY2FyZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdXSxcbiAgICAgIHBob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHJvbGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHNlcnZpY2VfaG91cjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcGhvbmVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDcpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg3KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBzdGF0ZTogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIHNldFBob3RvKHR5cGU6IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnc3R1ZGVudCcpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvZXN0dWRpYW50ZS5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdhY2FkZW1pYycpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvYWNhZGVtaWNvLnBuZydcbiAgICBpZiAodHlwZSA9PT0gJ2FkbWluaXN0cmF0aXZlJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9hZG1pbmlzdHJhdGl2by5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdtYXJrZXRpbmcnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL21hcmtldGluZy5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdjb21tZXJjaWFsJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9jb21lcmNpYWwuanBnJ1xuICAgIGlmICh0eXBlID09PSAndHJlYXN1cmUnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL2FkbWluaXN0cmF0aXZvLmpwZydcbiAgfVxuXG4gIHNlbGVjdFJvbChyb2xlOiBhbnkpIHtcbiAgICBpZiAocm9sZSAhPT0gJ1NlbGVjY2lvbmUgZWwgcm9sJykge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncm9sZSddLnNldFZhbHVlKHJvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyb2xlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXMoaW5kaWNhdGl2ZTogYW55KSB7XG4gICAgaWYgKGluZGljYXRpdmUgIT09ICdTZWxlY2Npb25lIGVsIGluZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnSW5ncmVzZSBlbCB0aXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICBpZiAoc3RhdGUgIT09ICdTZWxlY2Npb25lIGVsIGRlcGFydGFtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUoc3RhdGUpO1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENpdGllc0J5U3RhdGUoc3RhdGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5jaXRpZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENpdHkoY2l0eTogYW55KSB7XG4gICAgaWYgKGNpdHkgIT09ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiPG1haW4gKm5nSWY9XCJ2aXNpYmlsaXR5XCI+XG4gIDxkaXYgQGZhZGUgY2xhc3M9XCJtb2RhbF9jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX21vZGFsXCI+XG4gICAgICA8aDE+Q3JlYXIgdXN1YXJpbyBkZSB7eyB1c2VyVHlwZSB8IHRpdGxlY2FzZX19PC9oMT5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPng8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9jb250YWluZXJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY3JlYXRlVXNlckZvcm1cIj5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZSBjb21wbGV0bydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGVsIG5vbWJyZSdcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbG9zIGFwZWxsaWRvcydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvcnJlbyBlbGVjdHLDs25pY28nXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgdGVuZXIgZG9taW5pbyBAaW5nbGVzcGFyYXRvZG9zLmVkdS5jbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1NlbGVjY2lvbmUgZWwgcm9sJ1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Um9sKCRldmVudClcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZ2V0Um9sZXNPcHRpb25zKClcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2RhdGFdPVwicGhvbmVOdW1iZXJJbmRpY2F0aXZlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1NlbGVjY2lvbmUgZWwgaW5kaWNhdGl2bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJjcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncGhvbmVfbnVtYmVyJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciB1biBuw7ptZXJvIGRlIHRlbMOpZm9ubyB2w6FsaWRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImlkVHlwZXNcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5ncmVzZSBlbCB0aXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50byBkZSBpZGVudGlkYWQnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBlbCBuw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0U3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJzdGF0ZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidTZWxlY2Npb25lIGVsIGRlcGFydGFtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJjaXRpZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDaXVkYWQgZGUgcmVzaWRlbmNpYSdcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dCAqbmdJZj1cIiEodXNlclR5cGUgPT09ICdzdHVkZW50JylcIlxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0luZ3Jlc2UgbGFzIGhvcmFzIGRlIHNlcnZpY2lvJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJjcmVhdGVVc2VyRm9ybS5jb250cm9sc1snc2VydmljZV9ob3VyJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBsYXMgaG9yYXMgZGUgc2VydmljaW8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInQ29udHJhc2XDsWEnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInUmVwZXRpciBjb250cmFzZcOxYSdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ11cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2lwdC1pbnB1dD5cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpcHQtYnV0dG9uXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0NyZWFyIHVzdWFyaW8nXCJcbiAgICAgICAgICAgIFtpc0VuYWJsZWRdPVwiXG4gICAgICAgICAgICAgICFsb2FkZXIgJiZcbiAgICAgICAgICAgICAgY3JlYXRlVXNlckZvcm0udmFsdWVbJ3JlX3Bhc3N3b3JkJ10gPT09XG4gICAgICAgICAgICAgIGNyZWF0ZVVzZXJGb3JtLnZhbHVlWydwYXNzd29yZCddXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiY3JlYXRlVXNlcigpXCJcbiAgICAgICAgICAgIFtwcmltYXJ5XT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2lwdC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIHBob3RvICsgJyknfVwiIGNsYXNzPVwidXNlcl90eXBlX2ltYWdlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYWluPlxuIl19
|
|
@@ -573,10 +573,8 @@ class SelectComponent {
|
|
|
573
573
|
constructor() {
|
|
574
574
|
this.boxShadow = 0;
|
|
575
575
|
this.clicked = false;
|
|
576
|
-
this.value = '';
|
|
577
576
|
this.disabledSel = false;
|
|
578
577
|
this.eventSelect = new EventEmitter();
|
|
579
|
-
this.eventToNextSelect = new EventEmitter();
|
|
580
578
|
}
|
|
581
579
|
// type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo
|
|
582
580
|
set control(value) {
|
|
@@ -590,7 +588,6 @@ class SelectComponent {
|
|
|
590
588
|
}
|
|
591
589
|
}
|
|
592
590
|
seleccionar(evt) {
|
|
593
|
-
this.value = evt;
|
|
594
591
|
if (this.eventSelect.emit(evt) !== this.defaultText) {
|
|
595
592
|
this.boxShadow = 1;
|
|
596
593
|
}
|
|
@@ -601,7 +598,6 @@ class SelectComponent {
|
|
|
601
598
|
setBinding() {
|
|
602
599
|
if (this.initialValue !== '') {
|
|
603
600
|
this.binding = this.initialValue;
|
|
604
|
-
this.eventToNextSelect.emit(this.value);
|
|
605
601
|
}
|
|
606
602
|
else {
|
|
607
603
|
this.binding = this.defaultText;
|
|
@@ -621,7 +617,7 @@ class SelectComponent {
|
|
|
621
617
|
}
|
|
622
618
|
}
|
|
623
619
|
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
624
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", disabledSel: "disabledSel", initialValue: "initialValue", control: "control" }, outputs: { eventSelect: "eventSelect"
|
|
620
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", disabledSel: "disabledSel", initialValue: "initialValue", control: "control" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: `
|
|
625
621
|
<div class="select-container">
|
|
626
622
|
<label [ngClass]="labelClass">{{ defaultText }}</label>
|
|
627
623
|
<select
|
|
@@ -667,8 +663,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
667
663
|
type: Input
|
|
668
664
|
}], eventSelect: [{
|
|
669
665
|
type: Output
|
|
670
|
-
}], eventToNextSelect: [{
|
|
671
|
-
type: Output
|
|
672
666
|
}], control: [{
|
|
673
667
|
type: Input
|
|
674
668
|
}] } });
|
|
@@ -1480,7 +1474,7 @@ class CreateUserFormComponent {
|
|
|
1480
1474
|
}
|
|
1481
1475
|
}
|
|
1482
1476
|
CreateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CreateUserFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: ParameterService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1483
|
-
CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CreateUserFormComponent, selector: "ipt-create-user-form", inputs: { userType: "userType", visibility: "visibility" }, outputs: { userCreated: "userCreated", onHide: "onHide" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombre completo'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Seleccione el rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Seleccione el indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Ingrese el tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento de identidad'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Seleccione el departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Ingrese las horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;grid-gap:.25rem;gap:.25rem;justify-content:center;padding:0 1rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}.user_type_image{display:none}}@media screen and (min-width: 768px){form{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;justify-content:center}}@media screen and (min-width: 1366px){form{padding:0rem}.grid_container{display:grid;grid-template-columns:1fr 250px;grid-gap:1rem;gap:1rem;padding:1rem}.user_type_image{display:flex;background-size:cover;background-repeat:no-repeat;background-position:center;height:100%;border-radius:1rem;padding:1rem}}\n"], components: [{ type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"
|
|
1477
|
+
CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CreateUserFormComponent, selector: "ipt-create-user-form", inputs: { userType: "userType", visibility: "visibility" }, outputs: { userCreated: "userCreated", onHide: "onHide" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombre completo'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Seleccione el rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Seleccione el indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Ingrese el tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento de identidad'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Seleccione el departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Ingrese las horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;grid-gap:.25rem;gap:.25rem;justify-content:center;padding:0 1rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}.user_type_image{display:none}}@media screen and (min-width: 768px){form{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;justify-content:center}}@media screen and (min-width: 1366px){form{padding:0rem}.grid_container{display:grid;grid-template-columns:1fr 250px;grid-gap:1rem;gap:1rem;padding:1rem}.user_type_image{display:flex;background-size:cover;background-repeat:no-repeat;background-position:center;height:100%;border-radius:1rem;padding:1rem}}\n"], components: [{ type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "titlecase": i1.TitleCasePipe }, animations: [
|
|
1484
1478
|
trigger('fade', [
|
|
1485
1479
|
transition('void => *', [
|
|
1486
1480
|
style({ opacity: 0 }),
|