@litigiovirtual/ius-design-components 1.0.291 → 1.0.293
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/esm2022/lib/alert/alert.component.mjs +2 -2
- package/esm2022/lib/avatar-business/avatar-business.component.mjs +1 -1
- package/esm2022/lib/avatar-v2/avatar-v2.component.mjs +1 -1
- package/esm2022/lib/button-auth/button-auth.component.mjs +9 -3
- package/esm2022/lib/button-dynamic/button-dynamic.component.mjs +9 -3
- package/esm2022/lib/button-filter/button-filter.component.mjs +2 -2
- package/esm2022/lib/button-standard-outline/button-standard-outline.component.mjs +9 -3
- package/esm2022/lib/button-standard-outline/index.mjs +1 -1
- package/esm2022/lib/button-standard-primary/button-standard-primary.component.mjs +9 -3
- package/esm2022/lib/button-standard-tertiary/button-standard-tertiary.component.mjs +9 -3
- package/esm2022/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.mjs +8 -5
- package/esm2022/lib/card-actividad-evento/card-actividad-evento.component.mjs +3 -3
- package/esm2022/lib/card-etapa-subetapa/card-etapa-subetapa.component.mjs +3 -3
- package/esm2022/lib/card-impulso-procesal/card-impulso-procesal.component.mjs +3 -3
- package/esm2022/lib/card-vigilancia-judicial/card-vigilancia-judicial.component.mjs +3 -3
- package/esm2022/lib/create-ticket/create-ticket.component.mjs +3 -3
- package/esm2022/lib/create-ticket/index.mjs +1 -1
- package/esm2022/lib/custom-dropdown/custom-dropdown.component.mjs +3 -3
- package/esm2022/lib/date-hour-picker/date-hour-picker.component.mjs +1 -1
- package/esm2022/lib/date-picker/date-picker.component.mjs +1 -1
- package/esm2022/lib/double-date-picker/double-date-picker.component.mjs +1 -1
- package/esm2022/lib/dropdown-option-item/dropdown-option-item.component.mjs +5 -5
- package/esm2022/lib/menu-item/menu-item.component.mjs +26 -3
- package/esm2022/lib/notification-card/notification-card.component.mjs +61 -42
- package/esm2022/lib/notifications/notifications.component.mjs +97 -28
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +1 -1
- package/esm2022/lib/section-collapse-drawer-parent/section-collapse-drawer-parent.component.mjs +3 -3
- package/esm2022/lib/support-panel/support-panel.component.mjs +1 -1
- package/esm2022/lib/toolbar/toolbar.component.mjs +12 -3
- package/esm2022/lib/toolbar-user-menu/toolbar-user-menu.component.mjs +3 -3
- package/esm2022/utils/currency-format.pipe.mjs +1 -1
- package/esm2022/utils/date-format.util.mjs +1 -1
- package/esm2022/utils/file-mime.util.mjs +1 -1
- package/esm2022/utils/file-size.util.mjs +1 -1
- package/esm2022/utils/formato-hora.pipe.mjs +1 -1
- package/esm2022/utils/list-filter.util.mjs +1 -1
- package/esm2022/utils/public-api.mjs +1 -1
- package/fesm2022/litigiovirtual-ius-design-components-utils.mjs.map +1 -1
- package/fesm2022/litigiovirtual-ius-design-components.mjs +257 -106
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/lib/button-auth/button-auth.component.d.ts +3 -1
- package/lib/button-dynamic/button-dynamic.component.d.ts +3 -1
- package/lib/button-standard-outline/button-standard-outline.component.d.ts +3 -1
- package/lib/button-standard-primary/button-standard-primary.component.d.ts +3 -1
- package/lib/button-standard-tertiary/button-standard-tertiary.component.d.ts +3 -1
- package/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.d.ts +3 -2
- package/lib/dropdown-option-item/dropdown-option-item.component.d.ts +2 -2
- package/lib/menu-item/menu-item.component.d.ts +7 -1
- package/lib/notification-card/notification-card.component.d.ts +21 -14
- package/lib/notifications/notifications.component.d.ts +16 -5
- package/lib/toolbar/toolbar.component.d.ts +8 -1
- package/package.json +1 -1
|
@@ -83,11 +83,11 @@ export class ToolbarUserMenuComponent {
|
|
|
83
83
|
return !!(this.detallesConsumo && this.detallesConsumo.length > 0);
|
|
84
84
|
}
|
|
85
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarUserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ToolbarUserMenuComponent, isStandalone: true, selector: "ius-toolbar-user-menu", inputs: { object: "object", subscripcionDetalle: "subscripcionDetalle", detallesConsumo: "detallesConsumo", accountList: "accountList", showUsuariosGrupos: "showUsuariosGrupos", showConfiguracionCuenta: "showConfiguracionCuenta", showPagosFacturacion: "showPagosFacturacion", showSubscripcionesServicios: "showSubscripcionesServicios", showReferir: "showReferir" }, outputs: { clickPerfilPreferencias: "clickPerfilPreferencias", clickUsuariosRoles: "clickUsuariosRoles", clickConfiguracion: "clickConfiguracion", clickPagos: "clickPagos", clickSubsServicios: "clickSubsServicios", clickCambiarCuenta: "clickCambiarCuenta", clickCerrarSesion: "clickCerrarSesion", clickReferir: "clickReferir", requestClose: "requestClose", clickAccountSelected: "clickAccountSelected", clickAccountPredeterminada: "clickAccountPredeterminada", clickEditAccount: "clickEditAccount", clickDesvincularAccount: "clickDesvincularAccount", clickAgregarAccount: "clickAgregarAccount" }, ngImport: i0, template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (click)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }, { kind: "component", type: IconXsComponent, selector: "ius-icon-xs", inputs: ["iconName", "color"] }, { kind: "component", type: DropdownOptionItemComponent, selector: "ius-dropdown-option-item", inputs: ["iconName", "route"], outputs: ["click"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["isActive", "iconName", "numberAlerts"], outputs: ["buttonClicked"] }, { kind: "component", type: ProgressBarComponent, selector: "ius-progress-bar", inputs: ["total", "v1", "v2", "v3", "titleV1", "titleV2", "titleV3", "titleV4"] }, { kind: "component", type: ButtonAccountsComponent, selector: "ius-button-accounts", inputs: ["account", "showOptionsFlag"], outputs: ["accountSelected", "onPressedPredeterminado", "onPressedDesvincular", "onPressedEditar", "optionsOpened"] }] }); }
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ToolbarUserMenuComponent, isStandalone: true, selector: "ius-toolbar-user-menu", inputs: { object: "object", subscripcionDetalle: "subscripcionDetalle", detallesConsumo: "detallesConsumo", accountList: "accountList", showUsuariosGrupos: "showUsuariosGrupos", showConfiguracionCuenta: "showConfiguracionCuenta", showPagosFacturacion: "showPagosFacturacion", showSubscripcionesServicios: "showSubscripcionesServicios", showReferir: "showReferir" }, outputs: { clickPerfilPreferencias: "clickPerfilPreferencias", clickUsuariosRoles: "clickUsuariosRoles", clickConfiguracion: "clickConfiguracion", clickPagos: "clickPagos", clickSubsServicios: "clickSubsServicios", clickCambiarCuenta: "clickCambiarCuenta", clickCerrarSesion: "clickCerrarSesion", clickReferir: "clickReferir", requestClose: "requestClose", clickAccountSelected: "clickAccountSelected", clickAccountPredeterminada: "clickAccountPredeterminada", clickEditAccount: "clickEditAccount", clickDesvincularAccount: "clickDesvincularAccount", clickAgregarAccount: "clickAgregarAccount" }, ngImport: i0, template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (optionClick)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }, { kind: "component", type: IconXsComponent, selector: "ius-icon-xs", inputs: ["iconName", "color"] }, { kind: "component", type: DropdownOptionItemComponent, selector: "ius-dropdown-option-item", inputs: ["iconName", "route"], outputs: ["optionClick"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName", "prefixIcon", "sufixIcon"], outputs: ["buttonClicked"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["isActive", "iconName", "numberAlerts", "iconColorActive", "iconColorDefault", "iconColorHovered"], outputs: ["buttonClicked"] }, { kind: "component", type: ProgressBarComponent, selector: "ius-progress-bar", inputs: ["total", "v1", "v2", "v3", "titleV1", "titleV2", "titleV3", "titleV4"] }, { kind: "component", type: ButtonAccountsComponent, selector: "ius-button-accounts", inputs: ["account", "showOptionsFlag"], outputs: ["accountSelected", "onPressedPredeterminado", "onPressedDesvincular", "onPressedEditar", "optionsOpened"] }] }); }
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarUserMenuComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
90
|
-
args: [{ selector: 'ius-toolbar-user-menu', standalone: true, imports: [CommonModule, IconSmComponent, IconXsComponent, DropdownOptionItemComponent, SimpleDividerComponent, IconMdComponent, ButtonCircleTertiaryComponent, ButtonStandardTertiaryComponent, MenuItemComponent, ProgressBarComponent, ButtonAccountsComponent], template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (click)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px}\n"] }]
|
|
90
|
+
args: [{ selector: 'ius-toolbar-user-menu', standalone: true, imports: [CommonModule, IconSmComponent, IconXsComponent, DropdownOptionItemComponent, SimpleDividerComponent, IconMdComponent, ButtonCircleTertiaryComponent, ButtonStandardTertiaryComponent, MenuItemComponent, ProgressBarComponent, ButtonAccountsComponent], template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (optionClick)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" iconColorDefault=\"#595959\" iconColorHovered=\"#595959\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px}\n"] }]
|
|
91
91
|
}], propDecorators: { object: [{
|
|
92
92
|
type: Input,
|
|
93
93
|
args: [{ required: true }]
|
|
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
136
136
|
}], clickAgregarAccount: [{
|
|
137
137
|
type: Output
|
|
138
138
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFVdkYsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQWNXLHVCQUFrQixHQUFhLElBQUksQ0FBQztRQUNwQyw0QkFBdUIsR0FBYSxJQUFJLENBQUM7UUFDekMseUJBQW9CLEdBQWEsSUFBSSxDQUFDO1FBQ3RDLGdDQUEyQixHQUFhLElBQUksQ0FBQztRQUM3QyxnQkFBVyxHQUFhLElBQUksQ0FBQztRQUU1Qiw0QkFBdUIsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0QsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRELHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELCtCQUEwQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELDRCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hFLHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLFdBQU0sR0FBWSxLQUFLLENBQUM7S0EwRHpCO0lBeERDLGFBQWE7UUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDM0QsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdCO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUN2QixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQzsrR0F6Rlksd0JBQXdCO21HQUF4Qix3QkFBd0Isb2hDQ3JCckMsb2lRQW9MTSxpMUlEbktNLFlBQVksNkhBQUUsZUFBZSx1RkFBRSxlQUFlLHVGQUFFLDJCQUEyQix3SEFBRSxzQkFBc0IsK0RBQUUsZUFBZSx1RkFBRSw2QkFBNkIscUlBQUUsK0JBQStCLHVJQUFFLGlCQUFpQix3SUFBRSxvQkFBb0IsOElBQUUsdUJBQXVCOzs0RkFJclAsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsNkJBQTZCLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLENBQUM7OEJBTXRPLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uU21Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1zbVwiO1xyXG5pbXBvcnQgeyBJY29uWHNDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi14c1wiO1xyXG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGRvd24tb3B0aW9uLWl0ZW1cIjtcclxuaW1wb3J0IHsgU2ltcGxlRGl2aWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9zaW1wbGUtZGl2aWRlclwiO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1tZFwiO1xyXG5pbXBvcnQgeyBCdXR0b25DaXJjbGVUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tY2lyY2xlLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQgfSBmcm9tIFwiLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uL21lbnUtaXRlbVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25BY2NvdW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tYWNjb3VudHMvYnV0dG9uLWFjY291bnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPYmpldG8sIEFjY291bnQsIFN1YnNjcmlwY2lvbkRldGFsbGUsIENvbnN1bW9EZXRhbGxlcyB9IGZyb20gXCIuLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy10b29sYmFyLXVzZXItbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uU21Db21wb25lbnQsIEljb25Yc0NvbXBvbmVudCwgRHJvcGRvd25PcHRpb25JdGVtQ29tcG9uZW50LCBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LCBJY29uTWRDb21wb25lbnQsIEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50LCBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50LCBNZW51SXRlbUNvbXBvbmVudCwgUHJvZ3Jlc3NCYXJDb21wb25lbnQsIEJ1dHRvbkFjY291bnRzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90b29sYmFyLXVzZXItbWVudS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJVc2VyTWVudUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIG9iamVjdCE6IE9iamV0bztcclxuICBASW5wdXQoKSBzdWJzY3JpcGNpb25EZXRhbGxlPzogU3Vic2NyaXBjaW9uRGV0YWxsZTtcclxuICBASW5wdXQoKSBkZXRhbGxlc0NvbnN1bW8/OiBDb25zdW1vRGV0YWxsZXNbXTtcclxuICBASW5wdXQoKSBhY2NvdW50TGlzdD86IEFjY291bnRbXTtcclxuXHJcbiAgQElucHV0KCkgc2hvd1VzdWFyaW9zR3J1cG9zPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NvbmZpZ3VyYWNpb25DdWVudGE/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UGFnb3NGYWN0dXJhY2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dTdWJzY3JpcGNpb25lc1NlcnZpY2lvcz86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dSZWZlcmlyPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja1BlcmZpbFByZWZlcmVuY2lhczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1VzdWFyaW9zUm9sZXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tDb25maWd1cmFjaW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrUGFnb3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tTdWJzU2VydmljaW9zOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQ2FtYmlhckN1ZW50YTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja0NlcnJhclNlc2lvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1JlZmVyaXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVxdWVzdENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0FjY291bnRTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQWNjb3VudFByZWRldGVybWluYWRhOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tFZGl0QWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrRGVzdmluY3VsYXJBY2NvdW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tBZ3JlZ2FyQWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBzaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dGb3JtU3dpdGNoQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjbGlja1Nob3dNb3JlKCkge1xyXG4gICAgdGhpcy5zaG93TW9yZSA9ICF0aGlzLnNob3dNb3JlO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja1VzdWFyaW9zUm9sZXMoKSB7XHJcbiAgICB0aGlzLmNsaWNrVXN1YXJpb3NSb2xlcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ29uZmlndXJhY2lvbigpIHtcclxuICAgIHRoaXMuY2xpY2tDb25maWd1cmFjaW9uLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tQYWdvcygpIHtcclxuICAgIHRoaXMuY2xpY2tQYWdvcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrU3Vic1NlcnZpY2lvcygpIHtcclxuICAgIHRoaXMuY2xpY2tTdWJzU2VydmljaW9zLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tDYW1iaWFyQ3VlbnRhKCkge1xyXG4gICAgdGhpcy5jbGlja0NhbWJpYXJDdWVudGEuZW1pdCgpO1xyXG4gICAgdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQgPSAhdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQ7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2VycmFyU2VzaW9uKCkge1xyXG4gICAgdGhpcy5jbGlja0NlcnJhclNlc2lvbi5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUGVyZmlsUHJlZmVyZW5jaWFzKCkge1xyXG4gICAgdGhpcy5jbGlja1BlcmZpbFByZWZlcmVuY2lhcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUmVmZXJpcigpIHtcclxuICAgIHRoaXMuY2xpY2tSZWZlcmlyLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tBY2NvdW50KGFjY291bnQ6IEFjY291bnQpIHtcclxuICAgIHRoaXMuY2xpY2tBY2NvdW50U2VsZWN0ZWQuZW1pdChhY2NvdW50KTtcclxuICAgIHRoaXMuc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhZGRBY2NvdW50KCkge1xyXG4gICAgdGhpcy5jbGlja0FncmVnYXJBY2NvdW50LmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNNdWx0aXBsZVNlcnZpY2VzKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAhISh0aGlzLmRldGFsbGVzQ29uc3VtbyAmJiB0aGlzLmRldGFsbGVzQ29uc3Vtby5sZW5ndGggPiAwKTtcclxufVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YmwtbWVudVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJib2R5LW1lbnUgc2Nyb2xsYWJsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTEgdGV4dC1oZWFkLW1uXCI+XHJcbiAgICAgIDxzcGFuPkVzdMOhcyBuYXZlZ2FuZG8gZW48L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1zbSBpY29uTmFtZT1cImljb24tYWNjb3VudC1jaXJjbGVcIiBjbGFzcz1cImljb24tYWNjLWNpcmNsZVwiPjwvaXVzLWljb24tc20+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoNCB0eC1hYm9nXCI+e3sgb2JqZWN0Lm5vbWJyZUNvbXBhbnkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgaWQtY3RcIj5cclxuICAgICAgICA8c3Bhbj5JRCBDdWVudGE8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1pZC1jdFwiPnt7IG9iamVjdC5jdWVudGFJRCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMSB0eC1yb2xcIj5cclxuICAgICAgICA8c3Bhbj5UdSByb2w8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1uYW1lLXJsXCI+e3sgb2JqZWN0LnJvbCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoIXNob3dGb3JtU3dpdGNoQWNjb3VudCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTFcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLWluZlwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tYWx0ZXJuYXRlLWVtYWlsXCIgY2xhc3M9XCJpY29uLWFsdC1lbWFpbFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgPHNwYW4+e3sgb2JqZWN0LmNvcnJlbyB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtZHJvcGRvd24tb3B0aW9uLWl0ZW0gKGNsaWNrKT1cIm9uQ2xpY2tQZXJmaWxQcmVmZXJlbmNpYXMoKVwiPlBlcmZpbCwgcHJlZmVyZW5jaWFzIHlcclxuICAgICAgICBzZWd1cmlkYWQ8L2l1cy1kcm9wZG93bi1vcHRpb24taXRlbT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItcGxhblwiIFtuZ0NsYXNzXT1cInsgJ3Nob3ctbW9yZSc6IHNob3dNb3JlIH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZi1wbGFuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1wbGFuLTFcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtcGxhbi0xXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtc21hbGwgdHgtdGlwby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPnt7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5uYW1lUGxhblxyXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCIgY2xhc3M9XCJpY29uLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0yIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5Ub3RhbCBnbG9iYWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTJcIj57e1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50VG90YWxcclxuICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5EaXNwb25pYmxlIGdsb2JhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnREaXNwb25pYmxlXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5lc3RhZG9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmIChzdWJzY3JpcGNpb25EZXRhbGxlPy5lc1BsYW5HcmF0dWl0bykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgdHgtc21hbGwgdHgtcHJ1ZWJhXCI+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zY2hlZHVsZVwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgICAgPHNwYW4+UGxhbiBkZSBwcnVlYmEgYWN0aXZvPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWRpc2NvdmVyLXR1bmVcIj48L2l1cy1idXR0b24tY2lyY2xlLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgPGl1cy1wcm9ncmVzcy1iYXIgW3RvdGFsXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRUb3RhbCA/PyAwXCIgW3RpdGxlVjFdPVwiJ0p1ZGljaWFsJ1wiXHJcbiAgICAgICAgICAgIFt2MV09XCJzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50SnVkaWNpYWwgPz8gMFwiIFt0aXRsZVYyXT1cIidTdXBlclNvY2llZGFkZXMnXCJcclxuICAgICAgICAgICAgW3YyXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczIgPz8gMFwiIFt0aXRsZVYzXT1cIidQcm9jdXJhZHVyaWEnXCJcclxuICAgICAgICAgICAgW3YzXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczMgPz8gMFwiPlxyXG4gICAgICAgICAgPC9pdXMtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvdW50ZXIgdHgtc21hbGxcIj5cclxuICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zdG9yYWdlLXNldFwiIGNsYXNzPVwiaWNvbi1zdG9yYWdlLXNldFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHN1YnNjcmlwY2lvbkRldGFsbGU/LmFzaWduYWRvcyA/PyAwIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb3VudGVyIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tc3RvcmFnZS1wbHVzXCIgY2xhc3M9XCJpY29uLXN0b3JhZ2UtcGx1c1wiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICAgICAgc3Vic2NyaXBjaW9uRGV0YWxsZT8uY2FudEFzaWduYWRhRGlzcG9uaWJsZSA/PyAwXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgIEBpZiAoZGV0YWxsZXNDb25zdW1vKSB7XHJcbiAgICAgIEBmb3IgKGRldGFpbCBvZiBkZXRhbGxlc0NvbnN1bW87IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mLXBsYW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXBsYW4tMVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1wbGFuLTFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1zbWFsbCB0eC10aXBvLXBsYW5cIj57e1xyXG4gICAgICAgICAgICAgIGRldGFpbC50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPlBvciBjb25zdW1vPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMiB0eC1zbWFsbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jb250YWRvci0xXCI+Q29uc3VtbyBlc3RlIG1lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIGRldGFpbC5jYW50Q29uc3VtaWRhXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBkZXRhaWwuZXN0YWRvXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24tZGlzY292ZXItdHVuZVwiPjwvaXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmKGhhc011bHRpcGxlU2VydmljZXMpIHtcclxuICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5IGNsYXNzPVwiYnRuLWxpc3RcIiBbaWNvbk5hbWVdPVwiXHJcbiAgICAgICAgICBzaG93TW9yZSA/ICdpY29uLWtleWJvYXJkLWFycm93LXVwJyA6ICdpY29uLWtleWJvYXJkLWFycm93LWRvd24nXHJcbiAgICAgICAgXCIgKGJ1dHRvbkNsaWNrZWQpPVwiY2xpY2tTaG93TW9yZSgpXCI+XHJcbiAgICAgIHt7IHNob3dNb3JlID8gXCJNb3N0cmFyIG1lbm9zXCIgOiBcIk1vc3RyYXIgbcOhc1wiIH19XHJcbiAgICA8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICB9XHJcbiAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImN0bi1pdGVtc1wiPlxyXG4gICAgICBAaWYgKHNob3dVc3Vhcmlvc0dydXBvcykge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1ncm91cHNcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrVXN1YXJpb3NSb2xlcygpXCI+VXN1YXJpb3MgeSByb2xlczwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNob3dDb25maWd1cmFjaW9uQ3VlbnRhKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWJ1aWxkXCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NvbmZpZ3VyYWNpb24oKVwiPkNvbmZpZ3VyYWNpw7NuIGRlIGxhXHJcbiAgICAgICAgICBjdWVudGE8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93UGFnb3NGYWN0dXJhY2lvbikge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1maW5hbmNlLWNoaXBcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUGFnb3MoKVwiPlBhZ29zIHkgZmFjdHVyYWNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1N1YnNjcmlwY2lvbmVzU2VydmljaW9zKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWVudGVycHJpc2VcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrU3Vic1NlcnZpY2lvcygpXCI+U3VzY3JpcGNpb25lcyB5XHJcbiAgICAgICAgICBzZXJ2aWNpb3M8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93UmVmZXJpcikge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1zdHJlYW1cIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUmVmZXJpcigpXCI+UmVmZXJpciBzZXJ2aWNpbzwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1ib3R0b21cIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jYW1iaWFyXCI+Q2FtYmlhciBhPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxpc3RcIj5cclxuICAgICAgICBAZm9yIChhY2NvdW50IG9mIGFjY291bnRMaXN0OyB0cmFjayBhY2NvdW50OyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgIDxpdXMtYnV0dG9uLWFjY291bnRzIChhY2NvdW50U2VsZWN0ZWQpPVwib25DbGlja0FjY291bnQoYWNjb3VudClcIiAob25QcmVzc2VkUHJlZGV0ZXJtaW5hZG8pPVwiXHJcbiAgICAgICAgICAgICAgICBjbGlja0FjY291bnRQcmVkZXRlcm1pbmFkYS5lbWl0KGFjY291bnQpXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAsXHJcbiAgICAgICAgICAgICAgKG9uUHJlc3NlZEVkaXRhcik9XCJjbGlja0VkaXRBY2NvdW50LmVtaXQoYWNjb3VudClcIlxyXG4gICAgICAgICAgICAgICxcclxuICAgICAgICAgICAgICAob25QcmVzc2VkRGVzdmluY3VsYXIpPVwiY2xpY2tEZXN2aW5jdWxhckFjY291bnQuZW1pdChhY2NvdW50KVwiXHJcbiAgICAgICAgICAgICAgW2FjY291bnRdPVwiYWNjb3VudFwiXHJcbiAgICAgICAgICAgICAgW3Nob3dPcHRpb25zRmxhZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2l1cy1idXR0b24tYWNjb3VudHM+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgW2ljb25OYW1lXT1cIidpY29uLWFkZCdcIiAoYnV0dG9uQ2xpY2tlZCk9XCJhZGRBY2NvdW50KClcIj5BZ3JlZ2FyXHJcbiAgICAgICAgICAgICAgICBudWV2YSBjdWVudGE8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjdG4taXRlbXMgbWd0LThcIj5cclxuICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwie3tcclxuICAgICAgICAhc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID8gJ2ljb24tY2FzZXMnIDogJ2ljb24tYXJyb3ctbGVmdC1hbHQnXHJcbiAgICAgIH19XCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NhbWJpYXJDdWVudGEoKVwiPnt7XHJcbiAgICAgICFzaG93Rm9ybVN3aXRjaEFjY291bnRcclxuICAgICAgPyBcIkNhbWJpYXIgZGUgY3VlbnRhXCJcclxuICAgICAgOiBcIlZvbHZlciBhbCBtZW51IGRlIHVzdWFyaW9cIlxyXG4gICAgICB9fTwvaXVzLW1lbnUtaXRlbT5cclxuICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1leGl0LXRvLWFwcFwiIChidXR0b25DbGlja2VkKT1cIm9uQ2xpY2tDZXJyYXJTZXNpb24oKVwiPkNlcnJhciBzZXNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFVdkYsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQWNX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QVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uU21Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1zbVwiO1xyXG5pbXBvcnQgeyBJY29uWHNDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi14c1wiO1xyXG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGRvd24tb3B0aW9uLWl0ZW1cIjtcclxuaW1wb3J0IHsgU2ltcGxlRGl2aWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9zaW1wbGUtZGl2aWRlclwiO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1tZFwiO1xyXG5pbXBvcnQgeyBCdXR0b25DaXJjbGVUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tY2lyY2xlLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQgfSBmcm9tIFwiLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uL21lbnUtaXRlbVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25BY2NvdW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tYWNjb3VudHMvYnV0dG9uLWFjY291bnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPYmpldG8sIEFjY291bnQsIFN1YnNjcmlwY2lvbkRldGFsbGUsIENvbnN1bW9EZXRhbGxlcyB9IGZyb20gXCIuLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy10b29sYmFyLXVzZXItbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uU21Db21wb25lbnQsIEljb25Yc0NvbXBvbmVudCwgRHJvcGRvd25PcHRpb25JdGVtQ29tcG9uZW50LCBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LCBJY29uTWRDb21wb25lbnQsIEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50LCBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50LCBNZW51SXRlbUNvbXBvbmVudCwgUHJvZ3Jlc3NCYXJDb21wb25lbnQsIEJ1dHRvbkFjY291bnRzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90b29sYmFyLXVzZXItbWVudS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJVc2VyTWVudUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIG9iamVjdCE6IE9iamV0bztcclxuICBASW5wdXQoKSBzdWJzY3JpcGNpb25EZXRhbGxlPzogU3Vic2NyaXBjaW9uRGV0YWxsZTtcclxuICBASW5wdXQoKSBkZXRhbGxlc0NvbnN1bW8/OiBDb25zdW1vRGV0YWxsZXNbXTtcclxuICBASW5wdXQoKSBhY2NvdW50TGlzdD86IEFjY291bnRbXTtcclxuXHJcbiAgQElucHV0KCkgc2hvd1VzdWFyaW9zR3J1cG9zPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NvbmZpZ3VyYWNpb25DdWVudGE/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UGFnb3NGYWN0dXJhY2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dTdWJzY3JpcGNpb25lc1NlcnZpY2lvcz86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dSZWZlcmlyPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja1BlcmZpbFByZWZlcmVuY2lhczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1VzdWFyaW9zUm9sZXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tDb25maWd1cmFjaW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrUGFnb3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tTdWJzU2VydmljaW9zOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQ2FtYmlhckN1ZW50YTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja0NlcnJhclNlc2lvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1JlZmVyaXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVxdWVzdENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0FjY291bnRTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQWNjb3VudFByZWRldGVybWluYWRhOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tFZGl0QWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrRGVzdmluY3VsYXJBY2NvdW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tBZ3JlZ2FyQWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBzaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dGb3JtU3dpdGNoQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjbGlja1Nob3dNb3JlKCkge1xyXG4gICAgdGhpcy5zaG93TW9yZSA9ICF0aGlzLnNob3dNb3JlO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja1VzdWFyaW9zUm9sZXMoKSB7XHJcbiAgICB0aGlzLmNsaWNrVXN1YXJpb3NSb2xlcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ29uZmlndXJhY2lvbigpIHtcclxuICAgIHRoaXMuY2xpY2tDb25maWd1cmFjaW9uLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tQYWdvcygpIHtcclxuICAgIHRoaXMuY2xpY2tQYWdvcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrU3Vic1NlcnZpY2lvcygpIHtcclxuICAgIHRoaXMuY2xpY2tTdWJzU2VydmljaW9zLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tDYW1iaWFyQ3VlbnRhKCkge1xyXG4gICAgdGhpcy5jbGlja0NhbWJpYXJDdWVudGEuZW1pdCgpO1xyXG4gICAgdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQgPSAhdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQ7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2VycmFyU2VzaW9uKCkge1xyXG4gICAgdGhpcy5jbGlja0NlcnJhclNlc2lvbi5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUGVyZmlsUHJlZmVyZW5jaWFzKCkge1xyXG4gICAgdGhpcy5jbGlja1BlcmZpbFByZWZlcmVuY2lhcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUmVmZXJpcigpIHtcclxuICAgIHRoaXMuY2xpY2tSZWZlcmlyLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tBY2NvdW50KGFjY291bnQ6IEFjY291bnQpIHtcclxuICAgIHRoaXMuY2xpY2tBY2NvdW50U2VsZWN0ZWQuZW1pdChhY2NvdW50KTtcclxuICAgIHRoaXMuc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhZGRBY2NvdW50KCkge1xyXG4gICAgdGhpcy5jbGlja0FncmVnYXJBY2NvdW50LmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNNdWx0aXBsZVNlcnZpY2VzKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAhISh0aGlzLmRldGFsbGVzQ29uc3VtbyAmJiB0aGlzLmRldGFsbGVzQ29uc3Vtby5sZW5ndGggPiAwKTtcclxufVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YmwtbWVudVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJib2R5LW1lbnUgc2Nyb2xsYWJsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTEgdGV4dC1oZWFkLW1uXCI+XHJcbiAgICAgIDxzcGFuPkVzdMOhcyBuYXZlZ2FuZG8gZW48L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1zbSBpY29uTmFtZT1cImljb24tYWNjb3VudC1jaXJjbGVcIiBjbGFzcz1cImljb24tYWNjLWNpcmNsZVwiPjwvaXVzLWljb24tc20+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoNCB0eC1hYm9nXCI+e3sgb2JqZWN0Lm5vbWJyZUNvbXBhbnkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgaWQtY3RcIj5cclxuICAgICAgICA8c3Bhbj5JRCBDdWVudGE8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1pZC1jdFwiPnt7IG9iamVjdC5jdWVudGFJRCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMSB0eC1yb2xcIj5cclxuICAgICAgICA8c3Bhbj5UdSByb2w8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1uYW1lLXJsXCI+e3sgb2JqZWN0LnJvbCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoIXNob3dGb3JtU3dpdGNoQWNjb3VudCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTFcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLWluZlwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tYWx0ZXJuYXRlLWVtYWlsXCIgY2xhc3M9XCJpY29uLWFsdC1lbWFpbFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgPHNwYW4+e3sgb2JqZWN0LmNvcnJlbyB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtZHJvcGRvd24tb3B0aW9uLWl0ZW0gKG9wdGlvbkNsaWNrKT1cIm9uQ2xpY2tQZXJmaWxQcmVmZXJlbmNpYXMoKVwiPlBlcmZpbCwgcHJlZmVyZW5jaWFzIHlcclxuICAgICAgICBzZWd1cmlkYWQ8L2l1cy1kcm9wZG93bi1vcHRpb24taXRlbT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItcGxhblwiIFtuZ0NsYXNzXT1cInsgJ3Nob3ctbW9yZSc6IHNob3dNb3JlIH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZi1wbGFuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1wbGFuLTFcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtcGxhbi0xXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtc21hbGwgdHgtdGlwby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPnt7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5uYW1lUGxhblxyXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCIgY2xhc3M9XCJpY29uLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0yIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5Ub3RhbCBnbG9iYWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTJcIj57e1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50VG90YWxcclxuICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5EaXNwb25pYmxlIGdsb2JhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnREaXNwb25pYmxlXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5lc3RhZG9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmIChzdWJzY3JpcGNpb25EZXRhbGxlPy5lc1BsYW5HcmF0dWl0bykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgdHgtc21hbGwgdHgtcHJ1ZWJhXCI+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zY2hlZHVsZVwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgICAgPHNwYW4+UGxhbiBkZSBwcnVlYmEgYWN0aXZvPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWRpc2NvdmVyLXR1bmVcIj48L2l1cy1idXR0b24tY2lyY2xlLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgPGl1cy1wcm9ncmVzcy1iYXIgW3RvdGFsXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRUb3RhbCA/PyAwXCIgW3RpdGxlVjFdPVwiJ0p1ZGljaWFsJ1wiXHJcbiAgICAgICAgICAgIFt2MV09XCJzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50SnVkaWNpYWwgPz8gMFwiIFt0aXRsZVYyXT1cIidTdXBlclNvY2llZGFkZXMnXCJcclxuICAgICAgICAgICAgW3YyXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczIgPz8gMFwiIFt0aXRsZVYzXT1cIidQcm9jdXJhZHVyaWEnXCJcclxuICAgICAgICAgICAgW3YzXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczMgPz8gMFwiPlxyXG4gICAgICAgICAgPC9pdXMtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvdW50ZXIgdHgtc21hbGxcIj5cclxuICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zdG9yYWdlLXNldFwiIGNsYXNzPVwiaWNvbi1zdG9yYWdlLXNldFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHN1YnNjcmlwY2lvbkRldGFsbGU/LmFzaWduYWRvcyA/PyAwIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb3VudGVyIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tc3RvcmFnZS1wbHVzXCIgY2xhc3M9XCJpY29uLXN0b3JhZ2UtcGx1c1wiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICAgICAgc3Vic2NyaXBjaW9uRGV0YWxsZT8uY2FudEFzaWduYWRhRGlzcG9uaWJsZSA/PyAwXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgIEBpZiAoZGV0YWxsZXNDb25zdW1vKSB7XHJcbiAgICAgIEBmb3IgKGRldGFpbCBvZiBkZXRhbGxlc0NvbnN1bW87IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mLXBsYW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXBsYW4tMVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1wbGFuLTFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1zbWFsbCB0eC10aXBvLXBsYW5cIj57e1xyXG4gICAgICAgICAgICAgIGRldGFpbC50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPlBvciBjb25zdW1vPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMiB0eC1zbWFsbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jb250YWRvci0xXCI+Q29uc3VtbyBlc3RlIG1lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIGRldGFpbC5jYW50Q29uc3VtaWRhXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBkZXRhaWwuZXN0YWRvXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24tZGlzY292ZXItdHVuZVwiPjwvaXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmKGhhc011bHRpcGxlU2VydmljZXMpIHtcclxuICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5IGNsYXNzPVwiYnRuLWxpc3RcIiBbaWNvbk5hbWVdPVwiXHJcbiAgICAgICAgICBzaG93TW9yZSA/ICdpY29uLWtleWJvYXJkLWFycm93LXVwJyA6ICdpY29uLWtleWJvYXJkLWFycm93LWRvd24nXHJcbiAgICAgICAgXCIgKGJ1dHRvbkNsaWNrZWQpPVwiY2xpY2tTaG93TW9yZSgpXCI+XHJcbiAgICAgIHt7IHNob3dNb3JlID8gXCJNb3N0cmFyIG1lbm9zXCIgOiBcIk1vc3RyYXIgbcOhc1wiIH19XHJcbiAgICA8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICB9XHJcbiAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImN0bi1pdGVtc1wiPlxyXG4gICAgICBAaWYgKHNob3dVc3Vhcmlvc0dydXBvcykge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1ncm91cHNcIiBpY29uQ29sb3JEZWZhdWx0PVwiIzU5NTk1OVwiIGljb25Db2xvckhvdmVyZWQ9XCIjNTk1OTU5XCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja1VzdWFyaW9zUm9sZXMoKVwiPlVzdWFyaW9zIHkgcm9sZXM8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93Q29uZmlndXJhY2lvbkN1ZW50YSkge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1idWlsZFwiIGljb25Db2xvckRlZmF1bHQ9XCIjNTk1OTU5XCIgaWNvbkNvbG9ySG92ZXJlZD1cIiM1OTU5NTlcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrQ29uZmlndXJhY2lvbigpXCI+Q29uZmlndXJhY2nDs24gZGUgbGFcclxuICAgICAgICAgIGN1ZW50YTwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNob3dQYWdvc0ZhY3R1cmFjaW9uKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWZpbmFuY2UtY2hpcFwiIGljb25Db2xvckRlZmF1bHQ9XCIjNTk1OTU5XCIgaWNvbkNvbG9ySG92ZXJlZD1cIiM1OTU5NTlcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUGFnb3MoKVwiPlBhZ29zIHkgZmFjdHVyYWNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1N1YnNjcmlwY2lvbmVzU2VydmljaW9zKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWVudGVycHJpc2VcIiBpY29uQ29sb3JEZWZhdWx0PVwiIzU5NTk1OVwiIGljb25Db2xvckhvdmVyZWQ9XCIjNTk1OTU5XCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja1N1YnNTZXJ2aWNpb3MoKVwiPlN1c2NyaXBjaW9uZXMgeVxyXG4gICAgICAgICAgc2VydmljaW9zPC9pdXMtbWVudS1pdGVtPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1JlZmVyaXIpIHtcclxuICAgICAgICA8aXVzLW1lbnUtaXRlbSBpY29uTmFtZT1cImljb24tc3RyZWFtXCIgaWNvbkNvbG9yRGVmYXVsdD1cIiM1OTU5NTlcIiBpY29uQ29sb3JIb3ZlcmVkPVwiIzU5NTk1OVwiIChidXR0b25DbGlja2VkKT1cIm9uQ2xpY2tSZWZlcmlyKClcIj5SZWZlcmlyIHNlcnZpY2lvPC9pdXMtbWVudS1pdGVtPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJvdHRvbVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInR4LWNhbWJpYXJcIj5DYW1iaWFyIGE8L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGlzdFwiPlxyXG4gICAgICAgIEBmb3IgKGFjY291bnQgb2YgYWNjb3VudExpc3Q7IHRyYWNrIGFjY291bnQ7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgPGl1cy1idXR0b24tYWNjb3VudHMgKGFjY291bnRTZWxlY3RlZCk9XCJvbkNsaWNrQWNjb3VudChhY2NvdW50KVwiIChvblByZXNzZWRQcmVkZXRlcm1pbmFkbyk9XCJcclxuICAgICAgICAgICAgICAgIGNsaWNrQWNjb3VudFByZWRldGVybWluYWRhLmVtaXQoYWNjb3VudClcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICxcclxuICAgICAgICAgICAgICAob25QcmVzc2VkRWRpdGFyKT1cImNsaWNrRWRpdEFjY291bnQuZW1pdChhY2NvdW50KVwiXHJcbiAgICAgICAgICAgICAgLFxyXG4gICAgICAgICAgICAgIChvblByZXNzZWREZXN2aW5jdWxhcik9XCJjbGlja0Rlc3ZpbmN1bGFyQWNjb3VudC5lbWl0KGFjY291bnQpXCJcclxuICAgICAgICAgICAgICBbYWNjb3VudF09XCJhY2NvdW50XCJcclxuICAgICAgICAgICAgICBbc2hvd09wdGlvbnNGbGFnXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgPjwvaXVzLWJ1dHRvbi1hY2NvdW50cz5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeSBbaWNvbk5hbWVdPVwiJ2ljb24tYWRkJ1wiIChidXR0b25DbGlja2VkKT1cImFkZEFjY291bnQoKVwiPkFncmVnYXJcclxuICAgICAgICAgICAgICAgIG51ZXZhIGN1ZW50YTwvaXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImN0bi1pdGVtcyBtZ3QtOFwiPlxyXG4gICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJ7e1xyXG4gICAgICAgICFzaG93Rm9ybVN3aXRjaEFjY291bnQgPyAnaWNvbi1jYXNlcycgOiAnaWNvbi1hcnJvdy1sZWZ0LWFsdCdcclxuICAgICAgfX1cIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrQ2FtYmlhckN1ZW50YSgpXCI+e3tcclxuICAgICAgIXNob3dGb3JtU3dpdGNoQWNjb3VudFxyXG4gICAgICA/IFwiQ2FtYmlhciBkZSBjdWVudGFcIlxyXG4gICAgICA6IFwiVm9sdmVyIGFsIG1lbnUgZGUgdXN1YXJpb1wiXHJcbiAgICAgIH19PC9pdXMtbWVudS1pdGVtPlxyXG4gICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWV4aXQtdG8tYXBwXCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NlcnJhclNlc2lvbigpXCI+Q2VycmFyIHNlc2nDs248L2l1cy1tZW51LWl0ZW0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
92
92
|
standalone: true,
|
|
93
93
|
}]
|
|
94
94
|
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2N1cnJlbmN5LWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRCwrREFBK0Q7QUFDL0QsbUZBQW1GO0FBQ25GLEVBQUU7QUFDRiwwQkFBMEI7QUFDMUIsOEVBQThFO0FBQzlFLDBEQUEwRDtBQUMxRCxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHNFQUFzRTtBQUN0RSw4QkFBOEI7QUFDOUIsNkRBQTZEO0FBQzdELE1BQU07QUFDTixxRUFBcUU7QUFDckUsK0RBQStEO0FBRS9EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQWU7SUFLaEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDM0UsTUFBTSxPQUFPLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLEVB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QUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVXRpbGlkYWRlcyBkZSBtb25lZGEgKGxvY2FsZSBlcy1DTyBwb3IgZGVmZWN0bykuIFJldXRpbGl6YWJsZXMgZW4gY3VhbHF1aWVyIGFwcC5cbi8vXG4vLyBFbiB1biBpbnB1dCBjb250cm9sYWRvOlxuLy8gICBpbXBvcnQgeyBwYXJzZUN1cnJlbmN5SW5wdXQsIGJ1aWxkQ3VycmVuY3lEaXNwbGF5LCBmb3JtYXRDdXJyZW5jeU9uQmx1ciB9XG4vLyAgICAgZnJvbSAnQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscyc7XG4vL1xuLy8gICBvbkNoYW5nZShldmVudDogc3RyaW5nKSB7XG4vLyAgICAgY29uc3QgeyByYXdTdHIsIGludFBhcnQsIGRlY1BhcnQgfSA9IHBhcnNlQ3VycmVuY3lJbnB1dChldmVudCk7XG4vLyAgICAgdGhpcy52YWxvclJhdyA9IHJhd1N0cjtcbi8vICAgICB0aGlzLmRpc3BsYXkgPSBidWlsZEN1cnJlbmN5RGlzcGxheShpbnRQYXJ0LCBkZWNQYXJ0KTtcbi8vICAgfVxuLy8gICBvbkJsdXIoKSB7IHRoaXMuZGlzcGxheSA9IGZvcm1hdEN1cnJlbmN5T25CbHVyKHRoaXMudmFsb3JSYXcpOyB9XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBQYXJzZWEgbG8gcXVlIGVsIHVzdWFyaW8gZXNjcmliZSBlbiB1biBpbnB1dCBkZSBtb25lZGEgKGVzLUNPOiBwdW50byA9IG1pbGVzLCBjb21hID0gZGVjaW1hbCkuXG4gKiAgLSByYXdTdHI6IHN0cmluZyBjb24gcHVudG8gZGVjaW1hbCBwYXJhIGPDoWxjdWxvcyBKUyAoXCIxNTAwMDAuNTBcIilcbiAqICAtIGludFBhcnQ6IHBhcnRlIGVudGVyYSBzaW4gZm9ybWF0byAoXCIxNTAwMDBcIilcbiAqICAtIGRlY1BhcnQ6IHBhcnRlIGRlY2ltYWwgdGFsIGNvbW8gbGEgZXNjcmliacOzIGVsIHVzdWFyaW8gKFwiNTBcIikgbyBudWxsIHNpIG5vIGhheSBjb21hXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUN1cnJlbmN5SW5wdXQoZGlzcGxheTogc3RyaW5nKToge1xuICByYXdTdHI6IHN0cmluZztcbiAgaW50UGFydDogc3RyaW5nO1xuICBkZWNQYXJ0OiBzdHJpbmcgfCBudWxsO1xufSB7XG4gIGNvbnN0IHN0cmlwcGVkID0gZGlzcGxheS5yZXBsYWNlKC9cXC4vZywgJycpLnJlcGxhY2UoL1teMC05LF0vZywgJycpO1xuICBjb25zdCBjb21tYUluZGV4ID0gc3RyaXBwZWQuaW5kZXhPZignLCcpO1xuICBjb25zdCBpbnRQYXJ0ID0gY29tbWFJbmRleCA+PSAwID8gc3RyaXBwZWQuc2xpY2UoMCwgY29tbWFJbmRleCkgOiBzdHJpcHBlZDtcbiAgY29uc3QgZGVjUGFydCA9IGNvbW1hSW5kZXggPj0gMCA/IHN0cmlwcGVkLnNsaWNlKGNvbW1hSW5kZXggKyAxKSA6IG51bGw7XG4gIGNvbnN0IHJhd1N0ciA9IGRlY1BhcnQgIT09IG51bGwgPyBgJHtpbnRQYXJ0fS4ke2RlY1BhcnR9YCA6IGludFBhcnQ7XG4gIHJldHVybiB7IHJhd1N0ciwgaW50UGFydCwgZGVjUGFydCB9O1xufVxuXG4vKipcbiAqIEZvcm1hdGVhIGxhIHBhcnRlIGVudGVyYSBjb24gc2VwYXJhZG9yZXMgZGUgbWlsZXMgKGVzLUNPKSB5IGNvbnNlcnZhIGxhIGRlY2ltYWxcbiAqIGV4YWN0YW1lbnRlIGNvbW8gbGEgZXNjcmliacOzIGVsIHVzdWFyaW8gKHNpbiByZWRvbmRlYXIpLiBQYXJhIGFjdHVhbGl6YXIgZWwgZGlzcGxheSBhbCBlc2NyaWJpci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ3VycmVuY3lEaXNwbGF5KGludFBhcnQ6IHN0cmluZywgZGVjUGFydDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gIGlmICghaW50UGFydCAmJiBkZWNQYXJ0ID09PSBudWxsKSByZXR1cm4gJyc7XG4gIGNvbnN0IGludE51bSA9IGludFBhcnQgPyBwYXJzZUludChpbnRQYXJ0LCAxMCkgOiAwO1xuICBjb25zdCBmb3JtYXR0ZWRJbnQgPSBpc05hTihpbnROdW0pXG4gICAgPyBpbnRQYXJ0XG4gICAgOiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VzLUNPJywgeyBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KS5mb3JtYXQoaW50TnVtKTtcbiAgcmV0dXJuIGRlY1BhcnQgIT09IG51bGwgPyBgJHtmb3JtYXR0ZWRJbnR9LCR7ZGVjUGFydH1gIDogZm9ybWF0dGVkSW50O1xufVxuXG4vKipcbiAqIEZvcm1hdGVhIGVsIHZhbG9yIHJhdyBhbCBzYWxpciBkZWwgY2FtcG8gKGJsdXIpOiBjb21wbGV0YSBkZWNpbWFsZXMgc2kgbG9zIGhheS5cbiAqICAgZm9ybWF0Q3VycmVuY3lPbkJsdXIoJzE1MDAwMC41JykgIOKGkiBcIjE1MC4wMDAsNTBcIlxuICogICBmb3JtYXRDdXJyZW5jeU9uQmx1cignMTUwMDAwJykgICAg4oaSIFwiMTUwLjAwMFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeU9uQmx1cihyYXdWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFyYXdWYWx1ZSkgcmV0dXJuICcnO1xuICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KHJhd1ZhbHVlKTtcbiAgaWYgKGlzTmFOKG51bSkgfHwgbnVtIDw9IDApIHJldHVybiByYXdWYWx1ZTtcbiAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgnZXMtQ08nLCB7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgfSkuZm9ybWF0KG51bSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGlwZSBwYXJhIG1vc3RyYXIgdmFsb3JlcyBlbiB0ZW1wbGF0ZXNcbi8vICAge3sgMTUwMDAwIHwgY3VycmVuY3lGb3JtYXQgfX0gICAgICAgIOKGkiBcIjE1MC4wMDBcIlxuLy8gICB7eyAxNTAwMDAuNSB8IGN1cnJlbmN5Rm9ybWF0IH19ICAgICAg4oaSIFwiMTUwLjAwMCw1XCJcbi8vICAge3sgMTUwMDAwIHwgY3VycmVuY3lGb3JtYXQ6IHRydWUgfX0gIOKGkiBcIiQgMTUwLjAwMFwiIChzw61tYm9sbyBDT1ApXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBQaXBlKHtcbiAgbmFtZTogJ2N1cnJlbmN5Rm9ybWF0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBzaG93U3ltYm9sID0gZmFsc2UsXG4gICAgY3VycmVuY3lDb2RlID0gJ0NPUCcsXG4gICAgbG9jYWxlID0gJ2VzLUNPJyxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcblxuICAgIGNvbnN0IG51bSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBwYXJzZUZsb2F0KHZhbHVlLnJlcGxhY2UoLywvZywgJycpKSA6IHZhbHVlO1xuXG4gICAgaWYgKGlzTmFOKG51bSkpIHJldHVybiBTdHJpbmcodmFsdWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XG4gICAgICAgIHN0eWxlOiBzaG93U3ltYm9sID8gJ2N1cnJlbmN5JyA6ICdkZWNpbWFsJyxcbiAgICAgICAgY3VycmVuY3k6IHNob3dTeW1ib2wgPyBjdXJyZW5jeUNvZGUgOiB1bmRlZmluZWQsXG4gICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgfSkuZm9ybWF0KG51bSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -70,4 +70,4 @@ export function toTimeOnlyString(d) {
|
|
|
70
70
|
const s = d.getSeconds().toString().padStart(2, '0');
|
|
71
71
|
return `${h}:${min}:${s}`;
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvZGF0ZS1mb3JtYXQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVU7SUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxJQUFJLEtBQUssWUFBWSxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixP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SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSGVscGVycyBkZSBmZWNoYS9ob3JhIHBhcmEgaW5wdXRzIEFuZ3VsYXIg4oaUIGJhY2tlbmQgKERhdGVPbmx5IC8gVGltZU9ubHkgZGUgQyMpLlxuICpcbiAqIElNUE9SVEFOVEU6IHNlIHVzYSBTSUVNUFJFIGVsIGNvbnN0cnVjdG9yIGxvY2FsIERhdGUoeSwgbSwgZCkgcGFyYSBldml0YXIgZWwgc2hpZnQgZGVcbiAqIHpvbmEgaG9yYXJpYS4gbmV3IERhdGUoJ3l5eXktTU0tZGQnKSBzZSBpbnRlcnByZXRhIGNvbW8gVVRDIHkgcHVlZGUgc2FsdGFyIHVuIGTDrWEgc2Vnw7puXG4gKiBsYSB6b25hOyBlc3RvcyBoZWxwZXJzIHJlY29uc3RydXllbiBsYSBmZWNoYSBkZXNkZSBzdXMgY29tcG9uZW50ZXMgKGhvcmEgbG9jYWwpLlxuICovXG5cbi8qKlxuICogQ29udmllcnRlIGN1YWxxdWllciB2YWxvciBkZSBmZWNoYSAoc3RyaW5nIFwieXl5eS1NTS1kZFwiLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIiBvIERhdGUpXG4gKiBhIERhdGUgZW4gaG9yYSBMT0NBTC4gRGV2dWVsdmUgdW5kZWZpbmVkIHNpIGVzIHZhY8Otby8gaW52w6FsaWRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMb2NhbERhdGUodmFsdWU6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBpc05hTih2YWx1ZS5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbSA9IHZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkoPzpbVCBdKFxcZHsyfSk6KFxcZHsyfSkoPzo6KFxcZHsyfSkpPyk/Lyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgrbVsxXSwgK21bMl0gLSAxLCArbVszXSwgKyhtWzRdID8/IDApLCArKG1bNV0gPz8gMCksICsobVs2XSA/PyAwKSk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBwYXJzZWQ7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIFBhcnNlYSBldmVudG8gZGUgZGF0ZS1waWNrZXIgKElTTyBzdHJpbmcsIERhdGUsIFwiWVlZWS1NTS1ERFwiKSBhIERhdGUgbG9jYWwuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRXZlbnQoZXZlbnQ6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAoIWV2ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gZXZlbnQ7XG4gIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBldmVudC5tYXRjaCgvXihcXGR7NH0pLShcXGR7Mn0pLShcXGR7Mn0pLyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoK21hdGNoWzFdLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbM10pO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShldmVudCk7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogcGFyc2VkO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBQYXJzZWEgZXZlbnRvIGRlIHRpbWUtcGlja2VyIGEgc3RyaW5nIFwiSEg6bW06c3NcIi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUhvcmFFdmVudChldmVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFldmVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHRvVGltZU9ubHlTdHJpbmcoZXZlbnQpO1xuICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBldmVudC50cmltKCk7XG4gICAgaWYgKC9eXFxkezJ9OlxcZHsyfSg6XFxkezJ9KT8kLy50ZXN0KHRyaW1tZWQpKSB7XG4gICAgICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPT09IDUgPyBgJHt0cmltbWVkfTowMGAgOiB0cmltbWVkO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShldmVudCk7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdG9UaW1lT25seVN0cmluZyhwYXJzZWQpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBEYXRlIC0+IFwieXl5eS1NTS1kZFwiIGVuIGhvcmEgbG9jYWwgKGZvcm1hdG8gRGF0ZU9ubHkgQyMpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XG4gIGNvbnN0IHkgPSBkLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IG0gPSAoZC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBkZCA9IGQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke3l9LSR7bX0tJHtkZH1gO1xufVxuXG4vKiogRGF0ZSAtPiBcIkhIOm1tOnNzXCIgZW4gaG9yYSBsb2NhbCAoZm9ybWF0byBUaW1lT25seSBDIykuICovXG5leHBvcnQgZnVuY3Rpb24gdG9UaW1lT25seVN0cmluZyhkOiBEYXRlKTogc3RyaW5nIHtcbiAgY29uc3QgaCA9IGQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IG1pbiA9IGQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgY29uc3QgcyA9IGQuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke2h9OiR7bWlufToke3N9YDtcbn1cbiJdfQ==
|
|
@@ -19,4 +19,4 @@ export function inferMimeTypeFromName(fileName) {
|
|
|
19
19
|
default: return '';
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1taW1lLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtbWltZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFpQjtJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztRQUNyQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUM7UUFDakMsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8seUVBQXlFLENBQUM7UUFDOUYsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbmZpZXJlIGVsIE1JTUUgdHlwZSBhIHBhcnRpciBkZSBsYSBleHRlbnNpw7NuIGRlbCBub21icmUgZGUgYXJjaGl2by5cbiAqXG4gKiDDmnRpbCBjdWFuZG8gZWwgYmFja2VuZCBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcGVybyBubyBzdSBNSU1FIHR5cGUsIHkgbGEgVUlcbiAqIG5lY2VzaXRhIHVubyBwYXJhIGRlY2lkaXIgw61jb25vL3Zpc29yIChlai4gZGlzdGluZ3VpciBQREYgZGUgV29yZC9FeGNlbC9pbWFnZW4pLlxuICogUGFyYSBhcmNoaXZvcyBOVUVWT1Mgc3ViaWRvcyBwb3IgZWwgdXN1YXJpbywgdXNhciBgRmlsZS50eXBlYCAoeWEgdmllbmUgZGVsIG5hdmVnYWRvcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmZlck1pbWVUeXBlRnJvbU5hbWUoZmlsZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWZpbGVOYW1lKSByZXR1cm4gJyc7XG4gIGNvbnN0IGV4dCA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XG4gIHN3aXRjaCAoZXh0KSB7XG4gICAgY2FzZSAncGRmJzogcmV0dXJuICdhcHBsaWNhdGlvbi9wZGYnO1xuICAgIGNhc2UgJ2pwZyc6XG4gICAgY2FzZSAnanBlZyc6IHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgY2FzZSAncG5nJzogcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ2RvY3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JztcbiAgICBjYXNlICd4bHN4JzogcmV0dXJuICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc7XG4gICAgZGVmYXVsdDogcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -8,4 +8,4 @@ export const MB_IN_BYTES = 1024 * 1024;
|
|
|
8
8
|
export function bytesToMB(bytes) {
|
|
9
9
|
return Math.round((bytes / MB_IN_BYTES) * 10) / 10;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtc2l6ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdkMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnN0YW50ZXMgeSBjb252ZXJzacOzbiBkZSB0YW1hw7FvIGRlIGFyY2hpdm8uIENlbnRyYWxpemEgbG9zIG7Dum1lcm9zIG3DoWdpY29zXG4gKiAoMTAyNCkgeSBvZnJlY2UgdW5hIGNvbnZlcnNpw7NuIGEgTUIgcGFyYSBtb3N0cmFyIHRvdGFsZXMgYWdyZWdhZG9zIGVuIFVJLlxuICovXG5leHBvcnQgY29uc3QgS0JfSU5fQllURVMgPSAxMDI0O1xuZXhwb3J0IGNvbnN0IE1CX0lOX0JZVEVTID0gMTAyNCAqIDEwMjQ7XG5cbi8qKiBCeXRlcyAtPiBNQiAoMSBkZWNpbWFsKS4gUGFyYSBtb3N0cmFyIHRvdGFsZXMgYWdyZWdhZG9zIChlai4gXCJYIE1CIGRlIDI1IE1CXCIpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9NQihieXRlczogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgucm91bmQoKGJ5dGVzIC8gTUJfSU5fQllURVMpICogMTApIC8gMTA7XG59XG4iXX0=
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
41
41
|
standalone: true,
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0by1ob3JhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2Zvcm1hdG8taG9yYS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDeEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RFLENBQUM7K0dBNUJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE11ZXN0cmEgdW5hIGhvcmEgZW4gZm9ybWF0byAxMmggY29uIGFtL3BtLlxuICogICB7eyAnMTQ6MzA6MDAnIHwgZm9ybWF0b0hvcmEgfX0gIOKGkiBcIjI6MzAgcG1cIlxuICogICB7eyAnMDk6MDAnICAgIHwgZm9ybWF0b0hvcmEgfX0gIOKGkiBcIjkgYW1cIlxuICogQWNlcHRhIHN0cmluZyAoY29uIEhIOm1tWzpzc10gZW4gY3VhbHF1aWVyIHBhcnRlKSwgRGF0ZSBvIElTTy5cbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnZm9ybWF0b0hvcmEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXRvSG9yYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlPzogc3RyaW5nIHwgRGF0ZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEhvdXJzKHZhbHVlLmdldEhvdXJzKCksIHZhbHVlLmdldE1pbnV0ZXMoKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyID0gU3RyaW5nKHZhbHVlKTtcblxuICAgIGNvbnN0IG1hdGNoID0gc3RyLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7Mn0pKD86OlxcZHsyfSk/Lyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xuICAgIGlmICghaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEhvdXJzKHBhcnNlZC5nZXRIb3VycygpLCBwYXJzZWQuZ2V0TWludXRlcygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEhvdXJzKGhvdXJzOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcGVyaW9kID0gaG91cnMgPj0gMTIgPyAncG0nIDogJ2FtJztcbiAgICBjb25zdCBob3VyMTIgPSBob3VycyAlIDEyID09PSAwID8gMTIgOiBob3VycyAlIDEyO1xuICAgIGlmIChtaW51dGVzID09PSAwKSByZXR1cm4gYCR7aG91cjEyfSAke3BlcmlvZH1gO1xuICAgIHJldHVybiBgJHtob3VyMTJ9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9ICR7cGVyaW9kfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -74,4 +74,4 @@ export class ListFilter {
|
|
|
74
74
|
this._reopened = false;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvbGlzdC1maWx0ZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBWXJCOzs7T0FHRztJQUNILFlBQ21CLE1BQWlCLEVBQ2pCLEtBQXlDO1FBRHpDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0M7UUFqQnBELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLDJGQUEyRjtRQUMzRixrR0FBa0c7UUFDMUYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBZSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUoseUdBQXlHO0lBQ3pHLElBQUksT0FBTztRQUNULE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFDRSxJQUFJLENBQUMsU0FBUztZQUNkLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUztZQUN0QixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVO1lBQzlCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaXN0RmlsdGVyPFQ+IOKAlCBwYXRyw7NuIMO6bmljbyBkZSBmaWx0cmFkbyBwYXJhIGBpdXMtaW5wdXQtc2VsZWN0YCBkZWwgZWNvc2lzdGVtYS5cbiAqXG4gKiBDZW50cmFsaXphIGVsIGZpbHRyYWRvIGNsaWVudC1zaWRlIGRlIGxpc3RhcyBlbiBtZW1vcmlhIGNvbiBkb3MgY29tcG9ydGFtaWVudG9zOlxuICogIC0gRGVib3VuY2U6IGxvIGFwb3J0YSBlbCBwcm9waW8gYGl1cy1pbnB1dC1zZWxlY3RgIChpbnB1dCBgZGVib3VuY2VNc2AsIGRlZmF1bHQgMzAwKS5cbiAqICAtIFwiUmUtY2xpY2sgbXVlc3RyYSBsaXN0YSBjb21wbGV0YVwiOiBhbCByZS1lbmZvY2FyIHVuIHNlbGVjdCB5YSBzZWxlY2Npb25hZG8sXG4gKiAgICByZWFwYXJlY2UgbGEgbGlzdGEgY29tcGxldGEgKG1hbnRlbmllbmRvIGVsIHRleHRvKTsgYWwgdGVjbGVhciwgdnVlbHZlIGEgZmlsdHJhci5cbiAqXG4gKiBDbGFzZSBwbGFuYSAoc2luIHNpZ25hbHMpOiBmdW5jaW9uYSBlbiBjaGFuZ2UgZGV0ZWN0aW9uIGNvbiBvIHNpbiBzaWduYWxzLlxuICpcbiAqIFVzbzpcbiAqICAgdGlwb0ZpbHRlciA9IG5ldyBMaXN0RmlsdGVyKFxuICogICAgICgpID0+IHRoaXMudGlwb0FjdGl2aWRhZGVzLFxuICogICAgICh0LCBxKSA9PiAodC50aXBvQWN0aXZpZGFkID8/ICcnKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpLFxuICogICApO1xuICogICAvLyB0ZW1wbGF0ZTpcbiAqICAgLy8gICBAZm9yICh0IG9mIHRpcG9GaWx0ZXIudmlzaWJsZTsgdHJhY2sgdC5pZCkgeyAuLi4gfVxuICogICAvLyAgIChvbkNoYW5nZXNWYWx1ZUV2ZW50KT1cIm9uU2VhcmNoKCRldmVudClcIiAgLT4gZGVudHJvOiB0aXBvRmlsdGVyLnNlYXJjaCgkZXZlbnQpXG4gKiAgIC8vICAgKG9uRm9jdXNFdmVudCk9XCJ0aXBvRmlsdGVyLnJlb3BlbigpXCJcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RGaWx0ZXI8VD4ge1xuICBwcml2YXRlIF90ZXJtID0gJyc7XG4gIHByaXZhdGUgX3Jlb3BlbmVkID0gZmFsc2U7XG5cbiAgLy8gTWVtb2l6YWNpw7NuOiBzb2xvIHJlLWZpbHRyYSBjdWFuZG8gY2FtYmlhIChyZWZlcmVuY2lhIGRlIGxhIGZ1ZW50ZSwgdMOpcm1pbm8gbyByZW9wZW5lZCkuXG4gIC8vIEVuIGVsIHJlc3RvIGRlIGNpY2xvcyBkZSBkZXRlY2Npw7NuIGRldnVlbHZlIGVsIHJlc3VsdGFkbyBjYWNoZWFkbyDihpIgYmFyYXRvIHBhcmEgbGlzdGFzIGdyYW5kZXMuXG4gIHByaXZhdGUgX2hhc0NhY2hlID0gZmFsc2U7XG4gIHByaXZhdGUgX2NhY2hlOiBUW10gPSBbXTtcbiAgcHJpdmF0ZSBfY2FjaGVTcmM6IFRbXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9jYWNoZVRlcm0gPSAnJztcbiAgcHJpdmF0ZSBfY2FjaGVSZW9wZW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gc291cmNlIEZ1bmNpw7NuIHF1ZSBkZXZ1ZWx2ZSBsYSBsaXN0YSBjb21wbGV0YSBhY3R1YWwgKGFzeW5jLXNhZmU6IHNlIGxlZSBlbiBjYWRhIGFjY2VzbyBhIGB2aXNpYmxlYCkuXG4gICAqIEBwYXJhbSBtYXRjaCAgUHJlZGljYWRvIGRlIGNvaW5jaWRlbmNpYS4gYHRlcm1gIGxsZWdhIHlhIGVuIG1pbsO6c2N1bGFzLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U6ICgpID0+IFRbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdGNoOiAoaXRlbTogVCwgdGVybTogc3RyaW5nKSA9PiBib29sZWFuLFxuICApIHt9XG5cbiAgLyoqIExpc3RhIGEgcmVuZGVyaXphciBlbiBlbCBgQGZvcmAuIE1lbW9pemFkYTogcmUtZmlsdHJhIHNvbG8gY3VhbmRvIGNhbWJpYW4gZnVlbnRlL3TDqXJtaW5vL3Jlb3BlbmVkLiAqL1xuICBnZXQgdmlzaWJsZSgpOiBUW10ge1xuICAgIGNvbnN0IGFsbCA9IHRoaXMuc291cmNlKCkgPz8gW107XG4gICAgaWYgKFxuICAgICAgdGhpcy5faGFzQ2FjaGUgJiZcbiAgICAgIGFsbCA9PT0gdGhpcy5fY2FjaGVTcmMgJiZcbiAgICAgIHRoaXMuX3Rlcm0gPT09IHRoaXMuX2NhY2hlVGVybSAmJlxuICAgICAgdGhpcy5fcmVvcGVuZWQgPT09IHRoaXMuX2NhY2hlUmVvcGVuZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgdGhpcy5fcmVvcGVuZWQgfHwgIXRoaXMuX3Rlcm0udHJpbSgpXG4gICAgICAgID8gYWxsXG4gICAgICAgIDogYWxsLmZpbHRlcigoaSkgPT4gdGhpcy5tYXRjaChpLCB0aGlzLl90ZXJtLnRvTG93ZXJDYXNlKCkpKTtcblxuICAgIHRoaXMuX2NhY2hlID0gcmVzdWx0O1xuICAgIHRoaXMuX2NhY2hlU3JjID0gYWxsO1xuICAgIHRoaXMuX2NhY2hlVGVybSA9IHRoaXMuX3Rlcm07XG4gICAgdGhpcy5fY2FjaGVSZW9wZW5lZCA9IHRoaXMuX3Jlb3BlbmVkO1xuICAgIHRoaXMuX2hhc0NhY2hlID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIFTDqXJtaW5vIGRlIGZpbHRybyBhY3R1YWwgKHNpbiBub3JtYWxpemFyKS4gKi9cbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGVybTtcbiAgfVxuXG4gIC8qKiBMbGFtYXIgZGVzZGUgZWwgaGFuZGxlciBkZSBiw7pzcXVlZGEgKGFsIHRlY2xlYXIpOiBhcGFnYSBlbCBcIm1vc3RyYXIgdG9kb1wiIHkgZmlsdHJhLiAqL1xuICBzZWFyY2godGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcmVvcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLl90ZXJtID0gdGVybSA/PyAnJztcbiAgfVxuXG4gIC8qKiBMbGFtYXIgZGVzZGUgYChvbkZvY3VzRXZlbnQpYDogbXVlc3RyYSBsYSBsaXN0YSBjb21wbGV0YSBzaW4gcGVyZGVyIGVsIHRleHRvLiAqL1xuICByZW9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVvcGVuZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqIExpbXBpYSB0w6lybWlubyB5IGVzdGFkbyAoZWouIGFsIGFicmlyL2NlcnJhciB1biBmb3JtdWxhcmlvKS4gKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGVybSA9ICcnO1xuICAgIHRoaXMuX3Jlb3BlbmVkID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,4 +13,4 @@ export * from './date-format.util';
|
|
|
13
13
|
export * from './file-mime.util';
|
|
14
14
|
export * from './file-size.util';
|
|
15
15
|
export * from './list-filter.util';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEVudHJ5LXBvaW50IHNlY3VuZGFyaW86IEBsaXRpZ2lvdmlydHVhbC9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHNcbiAqXG4gKiBVdGlsaWRhZGVzIGNvbXBhcnRpZGFzIChzaW4gVUkpIHBhcmEgdG9kYXMgbGFzIGFwcHMgZGVsIGVjb3Npc3RlbWE6XG4gKiBtb25lZGEsIGZlY2hhcy9ob3JhcyB5IGFyY2hpdm9zLiBFdml0YSBkdXBsaWNhciBlc3RlIGPDs2RpZ28gZW4gY2FkYSBhcHAuXG4gKlxuICogVXNvOlxuICogICBpbXBvcnQgeyBDdXJyZW5jeUZvcm1hdFBpcGUsIHBhcnNlTG9jYWxEYXRlIH0gZnJvbSAnQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscyc7XG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZm9ybWF0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXRvLWhvcmEucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtZm9ybWF0LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLW1pbWUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtc2l6ZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1maWx0ZXIudXRpbCc7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"litigiovirtual-ius-design-components-utils.mjs","sources":["../../../projects/ius-design-components/utils/src/currency-format.pipe.ts","../../../projects/ius-design-components/utils/src/formato-hora.pipe.ts","../../../projects/ius-design-components/utils/src/date-format.util.ts","../../../projects/ius-design-components/utils/src/file-mime.util.ts","../../../projects/ius-design-components/utils/src/file-size.util.ts","../../../projects/ius-design-components/utils/src/list-filter.util.ts","../../../projects/ius-design-components/utils/src/public-api.ts","../../../projects/ius-design-components/utils/src/litigiovirtual-ius-design-components-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n// ============================================================\r\n// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.\r\n//\r\n// En un input controlado:\r\n// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }\r\n// from '@litigiovirtual/ius-design-components/utils';\r\n//\r\n// onChange(event: string) {\r\n// const { rawStr, intPart, decPart } = parseCurrencyInput(event);\r\n// this.valorRaw = rawStr;\r\n// this.display = buildCurrencyDisplay(intPart, decPart);\r\n// }\r\n// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }\r\n// ============================================================\r\n\r\n/**\r\n * Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).\r\n * - rawStr: string con punto decimal para cálculos JS (\"150000.50\")\r\n * - intPart: parte entera sin formato (\"150000\")\r\n * - decPart: parte decimal tal como la escribió el usuario (\"50\") o null si no hay coma\r\n */\r\nexport function parseCurrencyInput(display: string): {\r\n rawStr: string;\r\n intPart: string;\r\n decPart: string | null;\r\n} {\r\n const stripped = display.replace(/\\./g, '').replace(/[^0-9,]/g, '');\r\n const commaIndex = stripped.indexOf(',');\r\n const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;\r\n const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;\r\n const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;\r\n return { rawStr, intPart, decPart };\r\n}\r\n\r\n/**\r\n * Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal\r\n * exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.\r\n */\r\nexport function buildCurrencyDisplay(intPart: string, decPart: string | null): string {\r\n if (!intPart && decPart === null) return '';\r\n const intNum = intPart ? parseInt(intPart, 10) : 0;\r\n const formattedInt = isNaN(intNum)\r\n ? intPart\r\n : new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);\r\n return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;\r\n}\r\n\r\n/**\r\n * Formatea el valor raw al salir del campo (blur): completa decimales si los hay.\r\n * formatCurrencyOnBlur('150000.5') → \"150.000,50\"\r\n * formatCurrencyOnBlur('150000') → \"150.000\"\r\n */\r\nexport function formatCurrencyOnBlur(rawValue: string): string {\r\n if (!rawValue) return '';\r\n const num = parseFloat(rawValue);\r\n if (isNaN(num) || num <= 0) return rawValue;\r\n return new Intl.NumberFormat('es-CO', {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n }).format(num);\r\n}\r\n\r\n// ============================================================\r\n// Pipe para mostrar valores en templates\r\n// {{ 150000 | currencyFormat }} → \"150.000\"\r\n// {{ 150000.5 | currencyFormat }} → \"150.000,5\"\r\n// {{ 150000 | currencyFormat: true }} → \"$ 150.000\" (símbolo COP)\r\n// ============================================================\r\n@Pipe({\r\n name: 'currencyFormat',\r\n standalone: true,\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n transform(\r\n value: number | string | null | undefined,\r\n showSymbol = false,\r\n currencyCode = 'COP',\r\n locale = 'es-CO',\r\n ): string {\r\n if (value === null || value === undefined || value === '') return '';\r\n\r\n const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;\r\n\r\n if (isNaN(num)) return String(value);\r\n\r\n try {\r\n return new Intl.NumberFormat(locale, {\r\n style: showSymbol ? 'currency' : 'decimal',\r\n currency: showSymbol ? currencyCode : undefined,\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n }).format(num);\r\n } catch {\r\n return num.toString();\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Muestra una hora en formato 12h con am/pm.\r\n * {{ '14:30:00' | formatoHora }} → \"2:30 pm\"\r\n * {{ '09:00' | formatoHora }} → \"9 am\"\r\n * Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.\r\n */\r\n@Pipe({\r\n name: 'formatoHora',\r\n standalone: true,\r\n})\r\nexport class FormatoHoraPipe implements PipeTransform {\r\n transform(value?: string | Date | null): string {\r\n if (!value) return '';\r\n\r\n if (value instanceof Date) {\r\n return this.formatHours(value.getHours(), value.getMinutes());\r\n }\r\n\r\n const str = String(value);\r\n\r\n const match = str.match(/(\\d{1,2}):(\\d{2})(?::\\d{2})?/);\r\n if (match) {\r\n return this.formatHours(Number(match[1]), Number(match[2]));\r\n }\r\n\r\n const parsed = new Date(str);\r\n if (!isNaN(parsed.getTime())) {\r\n return this.formatHours(parsed.getHours(), parsed.getMinutes());\r\n }\r\n\r\n return '';\r\n }\r\n\r\n private formatHours(hours: number, minutes: number): string {\r\n const period = hours >= 12 ? 'pm' : 'am';\r\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\r\n if (minutes === 0) return `${hour12} ${period}`;\r\n return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;\r\n }\r\n}\r\n","/**\r\n * Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).\r\n *\r\n * IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de\r\n * zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según\r\n * la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).\r\n */\r\n\r\n/**\r\n * Convierte cualquier valor de fecha (string \"yyyy-MM-dd\", \"yyyy-MM-ddTHH:mm:ss\" o Date)\r\n * a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.\r\n */\r\nexport function parseLocalDate(value: any): Date | undefined {\r\n if (value === null || value === undefined || value === '') return undefined;\r\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\r\n if (typeof value === 'string') {\r\n const m = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?)?/);\r\n if (m) {\r\n return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));\r\n }\r\n const parsed = new Date(value);\r\n return isNaN(parsed.getTime()) ? undefined : parsed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Parsea evento de date-picker (ISO string, Date, \"YYYY-MM-DD\") a Date local. */\r\nexport function parseDateEvent(event: any): Date | undefined {\r\n if (!event) return undefined;\r\n if (event instanceof Date) return event;\r\n if (typeof event === 'string') {\r\n const match = event.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\r\n if (match) {\r\n return new Date(+match[1], +match[2] - 1, +match[3]);\r\n }\r\n const parsed = new Date(event);\r\n return isNaN(parsed.getTime()) ? undefined : parsed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Parsea evento de time-picker a string \"HH:mm:ss\". */\r\nexport function parseHoraEvent(event: any): string | undefined {\r\n if (!event) return undefined;\r\n if (event instanceof Date) return toTimeOnlyString(event);\r\n if (typeof event === 'string') {\r\n const trimmed = event.trim();\r\n if (/^\\d{2}:\\d{2}(:\\d{2})?$/.test(trimmed)) {\r\n return trimmed.length === 5 ? `${trimmed}:00` : trimmed;\r\n }\r\n const parsed = new Date(event);\r\n return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Date -> \"yyyy-MM-dd\" en hora local (formato DateOnly C#). */\r\nexport function toDateOnlyString(d: Date): string {\r\n const y = d.getFullYear();\r\n const m = (d.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = d.getDate().toString().padStart(2, '0');\r\n return `${y}-${m}-${dd}`;\r\n}\r\n\r\n/** Date -> \"HH:mm:ss\" en hora local (formato TimeOnly C#). */\r\nexport function toTimeOnlyString(d: Date): string {\r\n const h = d.getHours().toString().padStart(2, '0');\r\n const min = d.getMinutes().toString().padStart(2, '0');\r\n const s = d.getSeconds().toString().padStart(2, '0');\r\n return `${h}:${min}:${s}`;\r\n}\r\n","/**\r\n * Infiere el MIME type a partir de la extensión del nombre de archivo.\r\n *\r\n * Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI\r\n * necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).\r\n * Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).\r\n */\r\nexport function inferMimeTypeFromName(fileName?: string): string {\r\n if (!fileName) return '';\r\n const ext = fileName.split('.').pop()?.toLowerCase();\r\n switch (ext) {\r\n case 'pdf': return 'application/pdf';\r\n case 'jpg':\r\n case 'jpeg': return 'image/jpeg';\r\n case 'png': return 'image/png';\r\n case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n default: return '';\r\n }\r\n}\r\n","/**\r\n * Constantes y conversión de tamaño de archivo. Centraliza los números mágicos\r\n * (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.\r\n */\r\nexport const KB_IN_BYTES = 1024;\r\nexport const MB_IN_BYTES = 1024 * 1024;\r\n\r\n/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. \"X MB de 25 MB\"). */\r\nexport function bytesToMB(bytes: number): number {\r\n return Math.round((bytes / MB_IN_BYTES) * 10) / 10;\r\n}\r\n","/**\r\n * ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.\r\n *\r\n * Centraliza el filtrado client-side de listas en memoria con dos comportamientos:\r\n * - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).\r\n * - \"Re-click muestra lista completa\": al re-enfocar un select ya seleccionado,\r\n * reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.\r\n *\r\n * Clase plana (sin signals): funciona en change detection con o sin signals.\r\n *\r\n * Uso:\r\n * tipoFilter = new ListFilter(\r\n * () => this.tipoActividades,\r\n * (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),\r\n * );\r\n * // template:\r\n * // @for (t of tipoFilter.visible; track t.id) { ... }\r\n * // (onChangesValueEvent)=\"onSearch($event)\" -> dentro: tipoFilter.search($event)\r\n * // (onFocusEvent)=\"tipoFilter.reopen()\"\r\n */\r\nexport class ListFilter<T> {\r\n private _term = '';\r\n private _reopened = false;\r\n\r\n // Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).\r\n // En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.\r\n private _hasCache = false;\r\n private _cache: T[] = [];\r\n private _cacheSrc: T[] | null = null;\r\n private _cacheTerm = '';\r\n private _cacheReopened = false;\r\n\r\n /**\r\n * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).\r\n * @param match Predicado de coincidencia. `term` llega ya en minúsculas.\r\n */\r\n constructor(\r\n private readonly source: () => T[],\r\n private readonly match: (item: T, term: string) => boolean,\r\n ) {}\r\n\r\n /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */\r\n get visible(): T[] {\r\n const all = this.source() ?? [];\r\n if (\r\n this._hasCache &&\r\n all === this._cacheSrc &&\r\n this._term === this._cacheTerm &&\r\n this._reopened === this._cacheReopened\r\n ) {\r\n return this._cache;\r\n }\r\n\r\n const result =\r\n this._reopened || !this._term.trim()\r\n ? all\r\n : all.filter((i) => this.match(i, this._term.toLowerCase()));\r\n\r\n this._cache = result;\r\n this._cacheSrc = all;\r\n this._cacheTerm = this._term;\r\n this._cacheReopened = this._reopened;\r\n this._hasCache = true;\r\n return result;\r\n }\r\n\r\n /** Término de filtro actual (sin normalizar). */\r\n get term(): string {\r\n return this._term;\r\n }\r\n\r\n /** Llamar desde el handler de búsqueda (al teclear): apaga el \"mostrar todo\" y filtra. */\r\n search(term: string): void {\r\n this._reopened = false;\r\n this._term = term ?? '';\r\n }\r\n\r\n /** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */\r\n reopen(): void {\r\n this._reopened = true;\r\n }\r\n\r\n /** Limpia término y estado (ej. al abrir/cerrar un formulario). */\r\n reset(): void {\r\n this._term = '';\r\n this._reopened = false;\r\n }\r\n}\r\n","/*\r\n * Entry-point secundario: @litigiovirtual/ius-design-components/utils\r\n *\r\n * Utilidades compartidas (sin UI) para todas las apps del ecosistema:\r\n * moneda, fechas/horas y archivos. Evita duplicar este código en cada app.\r\n *\r\n * Uso:\r\n * import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';\r\n */\r\nexport * from './currency-format.pipe';\r\nexport * from './formato-hora.pipe';\r\nexport * from './date-format.util';\r\nexport * from './file-mime.util';\r\nexport * from './file-size.util';\r\nexport * from './list-filter.util';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;AAKG;AACG,SAAU,kBAAkB,CAAC,OAAe,EAAA;AAKhD,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ;IAC1E,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI;AACvE,IAAA,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,CAAA,EAAG,OAAO,IAAI,OAAO,CAAA,CAAE,GAAG,OAAO;AACnE,IAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;AACrC;AAEA;;;AAGG;AACG,SAAU,oBAAoB,CAAC,OAAe,EAAE,OAAsB,EAAA;AAC1E,IAAA,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI;AAAE,QAAA,OAAO,EAAE;AAC3C,IAAA,MAAM,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC;AAClD,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM;AAC/B,UAAE;UACA,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACzG,IAAA,OAAO,OAAO,KAAK,IAAI,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,GAAG,YAAY;AACvE;AAEA;;;;AAIG;AACG,SAAU,oBAAoB,CAAC,QAAgB,EAAA;AACnD,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,EAAE;AACxB,IAAA,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;AAChC,IAAA,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAAE,QAAA,OAAO,QAAQ;AAC3C,IAAA,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACpC,QAAA,qBAAqB,EAAE,CAAC;AACxB,QAAA,qBAAqB,EAAE,CAAC;AACzB,KAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AAChB;AAEA;AACA;AACA;AACA;AACA;AACA;MAKa,kBAAkB,CAAA;AAC7B,IAAA,SAAS,CACP,KAAyC,EACzC,UAAU,GAAG,KAAK,EAClB,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,OAAO,EAAA;QAEhB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;AAAE,YAAA,OAAO,EAAE;QAEpE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK;QAEnF,IAAI,KAAK,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC;AAEpC,QAAA,IAAI;AACF,YAAA,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBACnC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS;gBAC1C,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS;AAC/C,gBAAA,qBAAqB,EAAE,CAAC;AACxB,gBAAA,qBAAqB,EAAE,CAAC;AACzB,aAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAChB;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,GAAG,CAAC,QAAQ,EAAE;QACvB;IACF;+GAvBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gBAAgB;AACtB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACvED;;;;;AAKG;MAKU,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAA4B,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;AAErB,QAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/D;AAEA,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;QAEzB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC;QACvD,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACjE;AAEA,QAAA,OAAO,EAAE;IACX;IAEQ,WAAW,CAAC,KAAa,EAAE,OAAe,EAAA;AAChD,QAAA,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;AACxC,QAAA,MAAM,MAAM,GAAG,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE;QACjD,IAAI,OAAO,KAAK,CAAC;AAAE,YAAA,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,EAAE;AAC/C,QAAA,OAAO,GAAG,MAAM,CAAA,CAAA,EAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI,MAAM,EAAE;IACrE;+GA5BW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACXD;;;;;;AAMG;AAEH;;;AAGG;AACG,SAAU,cAAc,CAAC,KAAU,EAAA;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;AAAE,QAAA,OAAO,SAAS;IAC3E,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK;AAC5E,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,+DAA+D,CAAC;QACtF,IAAI,CAAC,EAAE;YACL,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF;AACA,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;IACrD;AACA,IAAA,OAAO,SAAS;AAClB;AAEA;AACM,SAAU,cAAc,CAAC,KAAU,EAAA;AACvC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,SAAS;IAC5B,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,KAAK;AACvC,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC;QACrD,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD;AACA,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;IACrD;AACA,IAAA,OAAO,SAAS;AAClB;AAEA;AACM,SAAU,cAAc,CAAC,KAAU,EAAA;AACvC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,SAAS;IAC5B,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,gBAAgB,CAAC,KAAK,CAAC;AACzD,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;AAC5B,QAAA,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC1C,YAAA,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAA,EAAG,OAAO,CAAA,GAAA,CAAK,GAAG,OAAO;QACzD;AACA,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACvE;AACA,IAAA,OAAO,SAAS;AAClB;AAEA;AACM,SAAU,gBAAgB,CAAC,CAAO,EAAA;AACtC,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;IACzB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,IAAA,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClD,IAAA,OAAO,GAAG,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,EAAI,EAAE,EAAE;AAC1B;AAEA;AACM,SAAU,gBAAgB,CAAC,CAAO,EAAA;AACtC,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClD,IAAA,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACtD,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACpD,IAAA,OAAO,GAAG,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,CAAC,EAAE;AAC3B;;ACtEA;;;;;;AAMG;AACG,SAAU,qBAAqB,CAAC,QAAiB,EAAA;AACrD,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,EAAE;AACxB,IAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE;IACpD,QAAQ,GAAG;AACT,QAAA,KAAK,KAAK,EAAE,OAAO,iBAAiB;AACpC,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM,EAAE,OAAO,YAAY;AAChC,QAAA,KAAK,KAAK,EAAE,OAAO,WAAW;AAC9B,QAAA,KAAK,MAAM,EAAE,OAAO,yEAAyE;AAC7F,QAAA,KAAK,MAAM,EAAE,OAAO,mEAAmE;AACvF,QAAA,SAAS,OAAO,EAAE;;AAEtB;;ACnBA;;;AAGG;AACI,MAAM,WAAW,GAAG;AACpB,MAAM,WAAW,GAAG,IAAI,GAAG;AAElC;AACM,SAAU,SAAS,CAAC,KAAa,EAAA;AACrC,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,WAAW,IAAI,EAAE,CAAC,GAAG,EAAE;AACpD;;ACVA;;;;;;;;;;;;;;;;;;;AAmBG;MACU,UAAU,CAAA;AAYrB;;;AAGG;IACH,WAAA,CACmB,MAAiB,EACjB,KAAyC,EAAA;QADzC,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,KAAK,GAAL,KAAK;QAjBhB,IAAA,CAAA,KAAK,GAAG,EAAE;QACV,IAAA,CAAA,SAAS,GAAG,KAAK;;;QAIjB,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,MAAM,GAAQ,EAAE;QAChB,IAAA,CAAA,SAAS,GAAe,IAAI;QAC5B,IAAA,CAAA,UAAU,GAAG,EAAE;QACf,IAAA,CAAA,cAAc,GAAG,KAAK;IAS3B;;AAGH,IAAA,IAAI,OAAO,GAAA;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;QAC/B,IACE,IAAI,CAAC,SAAS;YACd,GAAG,KAAK,IAAI,CAAC,SAAS;AACtB,YAAA,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU;AAC9B,YAAA,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,cAAc,EACtC;YACA,OAAO,IAAI,CAAC,MAAM;QACpB;AAEA,QAAA,MAAM,MAAM,GACV,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;AAChC,cAAE;cACA,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAEhE,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK;AAC5B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS;AACpC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,OAAO,MAAM;IACf;;AAGA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;;AAGA,IAAA,MAAM,CAAC,IAAY,EAAA;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE;IACzB;;IAGA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;IACvB;;IAGA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;IACxB;AACD;;ACvFD;;;;;;;;AAQG;;ACRH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"litigiovirtual-ius-design-components-utils.mjs","sources":["../../../projects/ius-design-components/utils/src/currency-format.pipe.ts","../../../projects/ius-design-components/utils/src/formato-hora.pipe.ts","../../../projects/ius-design-components/utils/src/date-format.util.ts","../../../projects/ius-design-components/utils/src/file-mime.util.ts","../../../projects/ius-design-components/utils/src/file-size.util.ts","../../../projects/ius-design-components/utils/src/list-filter.util.ts","../../../projects/ius-design-components/utils/src/public-api.ts","../../../projects/ius-design-components/utils/src/litigiovirtual-ius-design-components-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n// ============================================================\n// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.\n//\n// En un input controlado:\n// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }\n// from '@litigiovirtual/ius-design-components/utils';\n//\n// onChange(event: string) {\n// const { rawStr, intPart, decPart } = parseCurrencyInput(event);\n// this.valorRaw = rawStr;\n// this.display = buildCurrencyDisplay(intPart, decPart);\n// }\n// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }\n// ============================================================\n\n/**\n * Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).\n * - rawStr: string con punto decimal para cálculos JS (\"150000.50\")\n * - intPart: parte entera sin formato (\"150000\")\n * - decPart: parte decimal tal como la escribió el usuario (\"50\") o null si no hay coma\n */\nexport function parseCurrencyInput(display: string): {\n rawStr: string;\n intPart: string;\n decPart: string | null;\n} {\n const stripped = display.replace(/\\./g, '').replace(/[^0-9,]/g, '');\n const commaIndex = stripped.indexOf(',');\n const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;\n const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;\n const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;\n return { rawStr, intPart, decPart };\n}\n\n/**\n * Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal\n * exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.\n */\nexport function buildCurrencyDisplay(intPart: string, decPart: string | null): string {\n if (!intPart && decPart === null) return '';\n const intNum = intPart ? parseInt(intPart, 10) : 0;\n const formattedInt = isNaN(intNum)\n ? intPart\n : new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);\n return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;\n}\n\n/**\n * Formatea el valor raw al salir del campo (blur): completa decimales si los hay.\n * formatCurrencyOnBlur('150000.5') → \"150.000,50\"\n * formatCurrencyOnBlur('150000') → \"150.000\"\n */\nexport function formatCurrencyOnBlur(rawValue: string): string {\n if (!rawValue) return '';\n const num = parseFloat(rawValue);\n if (isNaN(num) || num <= 0) return rawValue;\n return new Intl.NumberFormat('es-CO', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n }).format(num);\n}\n\n// ============================================================\n// Pipe para mostrar valores en templates\n// {{ 150000 | currencyFormat }} → \"150.000\"\n// {{ 150000.5 | currencyFormat }} → \"150.000,5\"\n// {{ 150000 | currencyFormat: true }} → \"$ 150.000\" (símbolo COP)\n// ============================================================\n@Pipe({\n name: 'currencyFormat',\n standalone: true,\n})\nexport class CurrencyFormatPipe implements PipeTransform {\n transform(\n value: number | string | null | undefined,\n showSymbol = false,\n currencyCode = 'COP',\n locale = 'es-CO',\n ): string {\n if (value === null || value === undefined || value === '') return '';\n\n const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;\n\n if (isNaN(num)) return String(value);\n\n try {\n return new Intl.NumberFormat(locale, {\n style: showSymbol ? 'currency' : 'decimal',\n currency: showSymbol ? currencyCode : undefined,\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n }).format(num);\n } catch {\n return num.toString();\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Muestra una hora en formato 12h con am/pm.\n * {{ '14:30:00' | formatoHora }} → \"2:30 pm\"\n * {{ '09:00' | formatoHora }} → \"9 am\"\n * Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.\n */\n@Pipe({\n name: 'formatoHora',\n standalone: true,\n})\nexport class FormatoHoraPipe implements PipeTransform {\n transform(value?: string | Date | null): string {\n if (!value) return '';\n\n if (value instanceof Date) {\n return this.formatHours(value.getHours(), value.getMinutes());\n }\n\n const str = String(value);\n\n const match = str.match(/(\\d{1,2}):(\\d{2})(?::\\d{2})?/);\n if (match) {\n return this.formatHours(Number(match[1]), Number(match[2]));\n }\n\n const parsed = new Date(str);\n if (!isNaN(parsed.getTime())) {\n return this.formatHours(parsed.getHours(), parsed.getMinutes());\n }\n\n return '';\n }\n\n private formatHours(hours: number, minutes: number): string {\n const period = hours >= 12 ? 'pm' : 'am';\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\n if (minutes === 0) return `${hour12} ${period}`;\n return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;\n }\n}\n","/**\n * Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).\n *\n * IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de\n * zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según\n * la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).\n */\n\n/**\n * Convierte cualquier valor de fecha (string \"yyyy-MM-dd\", \"yyyy-MM-ddTHH:mm:ss\" o Date)\n * a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.\n */\nexport function parseLocalDate(value: any): Date | undefined {\n if (value === null || value === undefined || value === '') return undefined;\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\n if (typeof value === 'string') {\n const m = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?)?/);\n if (m) {\n return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));\n }\n const parsed = new Date(value);\n return isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Parsea evento de date-picker (ISO string, Date, \"YYYY-MM-DD\") a Date local. */\nexport function parseDateEvent(event: any): Date | undefined {\n if (!event) return undefined;\n if (event instanceof Date) return event;\n if (typeof event === 'string') {\n const match = event.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\n if (match) {\n return new Date(+match[1], +match[2] - 1, +match[3]);\n }\n const parsed = new Date(event);\n return isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Parsea evento de time-picker a string \"HH:mm:ss\". */\nexport function parseHoraEvent(event: any): string | undefined {\n if (!event) return undefined;\n if (event instanceof Date) return toTimeOnlyString(event);\n if (typeof event === 'string') {\n const trimmed = event.trim();\n if (/^\\d{2}:\\d{2}(:\\d{2})?$/.test(trimmed)) {\n return trimmed.length === 5 ? `${trimmed}:00` : trimmed;\n }\n const parsed = new Date(event);\n return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);\n }\n return undefined;\n}\n\n/** Date -> \"yyyy-MM-dd\" en hora local (formato DateOnly C#). */\nexport function toDateOnlyString(d: Date): string {\n const y = d.getFullYear();\n const m = (d.getMonth() + 1).toString().padStart(2, '0');\n const dd = d.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${dd}`;\n}\n\n/** Date -> \"HH:mm:ss\" en hora local (formato TimeOnly C#). */\nexport function toTimeOnlyString(d: Date): string {\n const h = d.getHours().toString().padStart(2, '0');\n const min = d.getMinutes().toString().padStart(2, '0');\n const s = d.getSeconds().toString().padStart(2, '0');\n return `${h}:${min}:${s}`;\n}\n","/**\n * Infiere el MIME type a partir de la extensión del nombre de archivo.\n *\n * Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI\n * necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).\n * Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).\n */\nexport function inferMimeTypeFromName(fileName?: string): string {\n if (!fileName) return '';\n const ext = fileName.split('.').pop()?.toLowerCase();\n switch (ext) {\n case 'pdf': return 'application/pdf';\n case 'jpg':\n case 'jpeg': return 'image/jpeg';\n case 'png': return 'image/png';\n case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n default: return '';\n }\n}\n","/**\n * Constantes y conversión de tamaño de archivo. Centraliza los números mágicos\n * (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.\n */\nexport const KB_IN_BYTES = 1024;\nexport const MB_IN_BYTES = 1024 * 1024;\n\n/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. \"X MB de 25 MB\"). */\nexport function bytesToMB(bytes: number): number {\n return Math.round((bytes / MB_IN_BYTES) * 10) / 10;\n}\n","/**\n * ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.\n *\n * Centraliza el filtrado client-side de listas en memoria con dos comportamientos:\n * - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).\n * - \"Re-click muestra lista completa\": al re-enfocar un select ya seleccionado,\n * reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.\n *\n * Clase plana (sin signals): funciona en change detection con o sin signals.\n *\n * Uso:\n * tipoFilter = new ListFilter(\n * () => this.tipoActividades,\n * (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),\n * );\n * // template:\n * // @for (t of tipoFilter.visible; track t.id) { ... }\n * // (onChangesValueEvent)=\"onSearch($event)\" -> dentro: tipoFilter.search($event)\n * // (onFocusEvent)=\"tipoFilter.reopen()\"\n */\nexport class ListFilter<T> {\n private _term = '';\n private _reopened = false;\n\n // Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).\n // En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.\n private _hasCache = false;\n private _cache: T[] = [];\n private _cacheSrc: T[] | null = null;\n private _cacheTerm = '';\n private _cacheReopened = false;\n\n /**\n * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).\n * @param match Predicado de coincidencia. `term` llega ya en minúsculas.\n */\n constructor(\n private readonly source: () => T[],\n private readonly match: (item: T, term: string) => boolean,\n ) {}\n\n /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */\n get visible(): T[] {\n const all = this.source() ?? [];\n if (\n this._hasCache &&\n all === this._cacheSrc &&\n this._term === this._cacheTerm &&\n this._reopened === this._cacheReopened\n ) {\n return this._cache;\n }\n\n const result =\n this._reopened || !this._term.trim()\n ? all\n : all.filter((i) => this.match(i, this._term.toLowerCase()));\n\n this._cache = result;\n this._cacheSrc = all;\n this._cacheTerm = this._term;\n this._cacheReopened = this._reopened;\n this._hasCache = true;\n return result;\n }\n\n /** Término de filtro actual (sin normalizar). */\n get term(): string {\n return this._term;\n }\n\n /** Llamar desde el handler de búsqueda (al teclear): apaga el \"mostrar todo\" y filtra. */\n search(term: string): void {\n this._reopened = false;\n this._term = term ?? '';\n }\n\n /** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */\n reopen(): void {\n this._reopened = true;\n }\n\n /** Limpia término y estado (ej. al abrir/cerrar un formulario). */\n reset(): void {\n this._term = '';\n this._reopened = false;\n }\n}\n","/*\n * Entry-point secundario: @litigiovirtual/ius-design-components/utils\n *\n * Utilidades compartidas (sin UI) para todas las apps del ecosistema:\n * moneda, fechas/horas y archivos. Evita duplicar este código en cada app.\n *\n * Uso:\n * import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';\n */\nexport * from './currency-format.pipe';\nexport * from './formato-hora.pipe';\nexport * from './date-format.util';\nexport * from './file-mime.util';\nexport * from './file-size.util';\nexport * from './list-filter.util';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|