ngx-sp-auth 1.0.5 → 2.1.6

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.
Files changed (64) hide show
  1. package/README.md +207 -24
  2. package/fesm2022/ngx-sp-auth.mjs +381 -409
  3. package/fesm2022/ngx-sp-auth.mjs.map +1 -1
  4. package/lib/auth.module.d.ts +8 -15
  5. package/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.d.ts +1 -1
  6. package/lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component.d.ts +1 -1
  7. package/lib/components/menu-lateral/menu/menu-lateral.component.d.ts +13 -13
  8. package/lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component.d.ts +1 -1
  9. package/lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component.d.ts +1 -1
  10. package/lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component.d.ts +1 -1
  11. package/lib/components/nova-senha/nova-senhacomponent.d.ts +1 -1
  12. package/package.json +2 -4
  13. package/esm2022/lib/auth.module.mjs +0 -87
  14. package/esm2022/lib/auth.service.mjs +0 -306
  15. package/esm2022/lib/components/login/login.component.mjs +0 -323
  16. package/esm2022/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.mjs +0 -67
  17. package/esm2022/lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component.mjs +0 -32
  18. package/esm2022/lib/components/menu-lateral/menu/list-estab.service.mjs +0 -55
  19. package/esm2022/lib/components/menu-lateral/menu/menu-lateral.component.mjs +0 -233
  20. package/esm2022/lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component.mjs +0 -200
  21. package/esm2022/lib/components/menu-lateral/menu-services.service.mjs +0 -151
  22. package/esm2022/lib/components/menu-lateral/model/iestabelecimento.model.mjs +0 -2
  23. package/esm2022/lib/components/menu-lateral/model/imenu-item-structure.model.mjs +0 -2
  24. package/esm2022/lib/components/menu-lateral/model/imenu.model.mjs +0 -12
  25. package/esm2022/lib/components/menu-lateral/model/infrausuarioimg.mjs +0 -12
  26. package/esm2022/lib/components/menu-lateral/model/isubmenu-item-structure.model.mjs +0 -2
  27. package/esm2022/lib/components/menu-lateral/model/ret-estabelecimento-session.mjs +0 -10
  28. package/esm2022/lib/components/menu-lateral/model/ret-infrausuarioemail.mjs +0 -8
  29. package/esm2022/lib/components/menu-lateral/model/ret-infrausuarioimg.mjs +0 -11
  30. package/esm2022/lib/components/menu-lateral/model/usuario-img.mjs +0 -8
  31. package/esm2022/lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component.mjs +0 -54
  32. package/esm2022/lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component.mjs +0 -14
  33. package/esm2022/lib/components/nova-senha/nova-senhacomponent.mjs +0 -191
  34. package/esm2022/lib/custom/custom-login.service.mjs +0 -52
  35. package/esm2022/lib/custom/custom-menu.service.mjs +0 -88
  36. package/esm2022/lib/custom/custom-storage.service.mjs +0 -70
  37. package/esm2022/lib/custom/menu-config.service.mjs +0 -70
  38. package/esm2022/lib/custom/models/icustom-login-service.mjs +0 -2
  39. package/esm2022/lib/custom/models/icustom-menu-service.mjs +0 -2
  40. package/esm2022/lib/custom/models/icustom-storage-service.mjs +0 -2
  41. package/esm2022/lib/custom/models/imenu-config.mjs +0 -2
  42. package/esm2022/lib/environments/environments.service.mjs +0 -21
  43. package/esm2022/lib/environments/models/ienvironments.mjs +0 -2
  44. package/esm2022/lib/guards/auth-guard.mjs +0 -34
  45. package/esm2022/lib/guards/external-login-guard.mjs +0 -88
  46. package/esm2022/lib/guards/login-guard.mjs +0 -35
  47. package/esm2022/lib/interceptors/auth-aplic.interceptor.mjs +0 -41
  48. package/esm2022/lib/interceptors/auth-infra.interceptor.mjs +0 -30
  49. package/esm2022/lib/models/code-2fa.mjs +0 -2
  50. package/esm2022/lib/models/custom-propriedades-login.mjs +0 -3
  51. package/esm2022/lib/models/forgotten-password-form.mjs +0 -2
  52. package/esm2022/lib/models/login-form.mjs +0 -2
  53. package/esm2022/lib/models/login.mjs +0 -2
  54. package/esm2022/lib/models/nova-senha-form.mjs +0 -2
  55. package/esm2022/lib/models/password-recup.mjs +0 -2
  56. package/esm2022/lib/models/payload.mjs +0 -2
  57. package/esm2022/lib/models/ret-login.mjs +0 -21
  58. package/esm2022/lib/models/ret-token.mjs +0 -8
  59. package/esm2022/lib/models/token.mjs +0 -2
  60. package/esm2022/lib/server/ret-server-config.mjs +0 -9
  61. package/esm2022/lib/server/server.service.mjs +0 -38
  62. package/esm2022/lib/storage/auth-storage.service.mjs +0 -365
  63. package/esm2022/ngx-sp-auth.mjs +0 -5
  64. package/esm2022/public-api.mjs +0 -39
@@ -1,200 +0,0 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../../storage/auth-storage.service";
4
- import * as i2 from "ngx-bootstrap/modal";
5
- import * as i3 from "../../../../custom/custom-menu.service";
6
- import * as i4 from "../../menu-services.service";
7
- import * as i5 from "ngx-sp-infra";
8
- import * as i6 from "@angular/common";
9
- import * as i7 from "@angular/forms";
10
- import * as i8 from "ngx-pagination";
11
- import * as i9 from "ngx-bootstrap/tooltip";
12
- export class SelecaoEstabelecimentosModalComponent {
13
- constructor(_authStorageService, _bsModalService, _customMenuService, _menuServicesService, _messageService) {
14
- this._authStorageService = _authStorageService;
15
- this._bsModalService = _bsModalService;
16
- this._customMenuService = _customMenuService;
17
- this._menuServicesService = _menuServicesService;
18
- this._messageService = _messageService;
19
- // #region ==========> PROPERTIES <==========
20
- // #region PRIVATE
21
- // [...]
22
- // #endregion PRIVATE
23
- // #region PUBLIC
24
- this.onClose = new EventEmitter();
25
- this.onSelected = new EventEmitter();
26
- this.$estabelecimentosList = [];
27
- this.page = 1;
28
- this.itemsPerPage = 10;
29
- this.response_messages = {
30
- 'emptyMessage': 'Consulta não retornou registros...',
31
- 'totalMessage': 'Linhas encontradas.'
32
- };
33
- }
34
- ngOnInit() {
35
- this.getEstabelecimentos("");
36
- }
37
- // #endregion PUBLIC
38
- // #endregion ==========> PROPERTIES <==========
39
- // #region ==========> FORM BUILDER <==========
40
- // #region DATA
41
- // [...]
42
- // #endregion DATA
43
- // #region VALIDATORS
44
- // [...]
45
- // #endregion VALIDATORS
46
- // #endregion ==========> FORM BUILDER <==========
47
- // #region ==========> SERVICES <==========
48
- // #region PREPARATION
49
- refreshList(pesquisa) {
50
- this.getEstabelecimentos(pesquisa);
51
- }
52
- getEstabelecimentos(pesquisa = "") {
53
- this._menuServicesService.getEstabelecimentosModalList(this._authStorageService.infraUsuarioId, pesquisa).subscribe({
54
- next: response => {
55
- this.$estabelecimentosList = response.InfraEstabelecimentos;
56
- this.resetPagination(this.$estabelecimentosList);
57
- if (response.InfraEstabelecimentos.length == 0) {
58
- this._messageService.showAlertDanger(this.response_messages.emptyMessage);
59
- }
60
- },
61
- error: error => {
62
- //this._projectUtilService.showHttpError(error);
63
- this._messageService.showAlertDanger(error);
64
- throw new Error(error);
65
- this.$estabelecimentosList = [];
66
- }
67
- });
68
- }
69
- // #endregion PREPARATION
70
- // #region GET
71
- // [...]
72
- // #endregion GET
73
- // #region CREATE OR UPDATE
74
- /**
75
- * Atualiza o estado do Estabelecimento, informando se ele é Padrão ou não.
76
- * @param estabID ID do Estabelecimento a ser alterado
77
- * @param isDefault Informa se ele é Padrão ou não
78
- */
79
- defineDefaultEstabelecimento(estabID, isDefault) {
80
- this._menuServicesService.defineDefaultEstabelecimento(estabID, this._authStorageService.infraUsuarioId, isDefault).subscribe({
81
- next: () => {
82
- this.getEstabelecimentos("");
83
- isDefault
84
- ? this._messageService.showAlertSuccess('Novo estabelecimento definido como padrão para o usuário')
85
- : this._messageService.showAlertSuccess('Estabelecimento padrão removido para o usuário');
86
- },
87
- error: error => {
88
- //this._projectUtilService.showHttpError(error);
89
- this._messageService.showAlertDanger(error);
90
- throw new Error(error);
91
- }
92
- });
93
- }
94
- // #endregion CREATE OR UPDATE
95
- // #region DELETE
96
- // [...]
97
- // #endregion DELETE
98
- // #endregion ==========> SERVICES <==========
99
- // #region ==========> UTILITIES <==========
100
- /**
101
- * Envia um sinal ao componente pai com o ID e Nome do Estabelecimento selecionado no Modal
102
- * @param estabID ID do Estabelecimento que será enviado
103
- * @param estabNome Nome do Estabelecimento que será enviado
104
- */
105
- selectEstabelecimento(estabID, estabNome) {
106
- // * Método customizado para emissão de evento ao trocar de estabelecimento
107
- this._customMenuService.emitEstabelecimentoEvent();
108
- this.onSelected.emit(estabID + " - " + estabNome);
109
- }
110
- /**
111
- * Realiza uma nova pesquisa no banco para atualizar a lista a cada 3 caracteres digitados
112
- * @param pesquisa Texto do input de pesquisa
113
- */
114
- updateSearch(pesquisa) {
115
- pesquisa.length % 3 == 0
116
- ? this.getEstabelecimentos(pesquisa)
117
- : null;
118
- }
119
- /**
120
- * Verifica se a string passada é alfanumérica.
121
- * @param str String que será verificada
122
- * @returns TRUE se for alfanumérica, caso contrário FALSE.
123
- */
124
- isAlphanumeric(str) {
125
- var code, i, len;
126
- for (i = 0, len = str.length; i < len; i++) {
127
- code = str.charCodeAt(i);
128
- if (!(code > 47 && code < 58) && // (0-9)
129
- !(code > 64 && code < 91) && // (A-Z)
130
- !(code > 96 && code < 123)) { // (a-z)
131
- return false;
132
- }
133
- }
134
- return true;
135
- }
136
- ;
137
- /** Modifica a quantidade de itens a ser mostrada na lista.
138
- * @param event parâmetro de evento que irá selecionar a nova quantidade.
139
- */
140
- onSelectChange(event) {
141
- this.itemsPerPage = parseInt(event.target.value, 10);
142
- this.page = 1;
143
- }
144
- /** Reseta a paginação da listagem.
145
- */
146
- resetPagination(list) {
147
- // Cálculo para encontrar o valor inicial do index da página atual
148
- const startIndex = (this.page - 1) * this.itemsPerPage;
149
- // Condição para resetar o valor da paginação
150
- if (list.length <= startIndex) {
151
- this.page = 1;
152
- }
153
- }
154
- // #endregion ==========> UTILITIES <==========
155
- // #region ==========> MODALS <==========
156
- /**
157
- * Função simples com o objetivo de abrir os modais no centro da tela.
158
- * @param template Template HTML do modal que será aberto.
159
- * @param modalID ID do modal que será aberto, para que possa ser referenciado depois.
160
- */
161
- openModal(template, modalID) {
162
- if (modalID == 4) {
163
- this._bsModalService.show(template, {
164
- id: modalID,
165
- class: 'modal-dialog-centered modal-lg',
166
- ignoreBackdropClick: false,
167
- keyboard: false
168
- });
169
- }
170
- else {
171
- this._bsModalService.show(template, {
172
- id: modalID,
173
- class: 'modal-dialog-centered',
174
- ignoreBackdropClick: false,
175
- keyboard: false
176
- });
177
- }
178
- }
179
- /**
180
- * Função simples com o objetivo de fechar os modais que estiverem abertos (baseados pelo ID).
181
- * @param modalID ID do modal que será fechado.
182
- */
183
- closeModal(modalID) {
184
- this._bsModalService.hide(modalID);
185
- }
186
- closeSelf() {
187
- this.onClose.emit();
188
- }
189
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelecaoEstabelecimentosModalComponent, deps: [{ token: i1.AuthStorageService }, { token: i2.BsModalService }, { token: i3.LibCustomMenuService }, { token: i4.MenuServicesService }, { token: i5.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: { onClose: "onClose", onSelected: "onSelected" }, ngImport: i0, template: "<div class=\"main-container\">\r\n <div class=\"modal-header modal-style modal-dialog-centered\">\r\n <h4 class=\"modal-title pull-left color-modal\" style=\"font-size: 20px; font-weight: bold;\"> Selecione um\r\n estabelecimento </h4>\r\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"modal-message\">\r\n <div class=\"search-and-filters d-flex flex-row align-items-center justify-content-between\">\r\n <div class=\"d-flex flex-row w-100\">\r\n <div class=\"input-group\">\r\n <span class=\"input-group-text px-2\" id=\"basic-addon1\"\r\n style=\"background-color: transparent; border-right: none;\">\r\n <lib-icon iconName=\"lupa\" iconColor=\"gray\"/>\r\n </span>\r\n <input type=\"text\" class=\"form-control border-start-0 ps-0\" id=\"pesquisaInput\" #pesquisa\r\n placeholder=\"Digite o C\u00F3digo\" (keyup.enter)=\"refreshList(pesquisa.value)\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"filters d-flex align-items-center justify-content-between ms-3\">\r\n <div class=\"search-buttons d-flex flex-row align-items-center my-0 mx-0\">\r\n <button id=\"clearFilterBtn\" class=\"btn btn-outline-primary ms-0 no-hover-btn me-2\"\r\n (click)=\"pesquisa.value = ''; refreshList(pesquisa.value)\"> Limpar </button>\r\n <button id=\"searchFilterBtn\" class=\"btn btn-primary me-0\" (click)=\"refreshList(pesquisa.value)\"> Pesquisar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"table-list w-100 mt-3\" *ngIf=\"$estabelecimentosList; else loading\">\r\n <table class=\"table table-bordered table-hover mb-0\">\r\n <thead class=\"fs-6\">\r\n <tr>\r\n <th scope=\"col\" class=\"col-11 align-middle th\">Estabelecimento <span\r\n class=\"text-primary fst-italic\">(duplo-clique para selecionar)</span></th>\r\n <th scope=\"col\" class=\"col-1 align-middle text-center th\">A\u00E7\u00F5es</th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody *ngIf=\"$estabelecimentosList.length > 0; else emptyList\">\r\n <tr\r\n *ngFor=\"let estabelecimento of $estabelecimentosList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }\"\r\n (dblclick)=\"selectEstabelecimento(estabelecimento.ID, estabelecimento.NOMEEXIBICAO)\" role=\"button\">\r\n <td><span class=\"row-name\"> {{ estabelecimento.CODIGO }} - {{ estabelecimento.NOMEEXIBICAO }} </span>\r\n <span class=\"subname\"> {{ estabelecimento.IS_MATRIZ ? \"Matriz \" : null }} CNPJ: {{ estabelecimento.CNPJ\r\n }} </span></td>\r\n <td class=\"text-center align-middle\">\r\n <div class=\"action-icons d-flex flex-row align-items-center justify-content-around\">\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckChecked\"\r\n tooltip=\"Estabelecimento padr\u00E3o\" [checked]=\"estabelecimento.IS_DEFAULT\"\r\n style=\"transform: translateY(3px); height: 1rem; width: 28px;\" #isDefaultRow\r\n (click)=\"estabelecimento.IS_DEFAULT = !estabelecimento.IS_DEFAULT; defineDefaultEstabelecimento(estabelecimento.ID, estabelecimento.IS_DEFAULT)\">\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n\r\n <!-- #region EMPTY LIST CELL -->\r\n <ng-template #emptyList>\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\" class=\"align-middle\"><span class=\"row-name fw-light fst-italic text-center\"> {{\r\n response_messages.emptyMessage }} </span></td>\r\n </tr>\r\n </tbody>\r\n </ng-template>\r\n <!-- #endregion EMPTY LIST CELL -->\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$estabelecimentosList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\">Itens por p\u00E1gina</label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option class=\"selected\" value=\"10\" selected>10</option>\r\n <option value=\"25\">25</option>\r\n <option value=\"50\">50</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\"\r\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\">\r\n </pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n \r\n </div>\r\n\r\n <!-- <div class=\"d-flex justify-content-between align-items-center mt-3\">\r\n <span style=\"color: #6C757D\"> Registros {{$estabelecimentosList.length}} de {{$estabelecimentosList.length}} </span>\r\n <nav aria-label=\"...\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item disabled\"> <a class=\"page-link\" href=\"#\" tabindex=\"-1\">Anterior</a> </li>\r\n <li class=\"page-item active\"> <a class=\"page-link\" href=\"#\">1</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">2</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">3</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">Pr\u00F3ximo</a> </li>\r\n </ul>\r\n </nav>\r\n </div> -->\r\n\r\n\r\n <ng-template #loading>\r\n <lib-spinner></lib-spinner>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>", styles: [".table-list table thead{height:50px;font-size:1rem;background-color:#e9ecef}.table-list table thead .status-header{width:5%}.table-list table thead th:first-child{width:50px;height:50px}.table-list table thead th{font-size:16px}.table-list table .center-content{text-align:center}.table-list table tbody{font-size:.875rem}.table-list table tbody>tr:hover{background-color:#cce5ff}.table-list table tbody span.row-name{display:block;width:100%;font-weight:700}.table-list table tbody span.subname{color:#0f0f0f80}.table-list table tbody .action-icons{color:#007bff}.table-list table tbody .action-icons a{margin:0 .75rem}.table-list table tbody .status{width:13px;height:13px;border-radius:50%}.table-list table tbody .active{background-color:#28a745}.table-list table tbody .inactive{background-color:#a72828}.name-estab{font-size:14px;font-weight:700;text-transform:uppercase;color:#212529}.subname-estab{font-size:12px;color:#212529}#clearFilterBtn,#searchFilterBtn{padding:6px 12px}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i5.LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "component", type: i8.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "pipe", type: i8.PaginatePipe, name: "paginate" }] }); }
191
- }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelecaoEstabelecimentosModalComponent, decorators: [{
193
- type: Component,
194
- args: [{ selector: 'selecao-estabelecimentos-modal', template: "<div class=\"main-container\">\r\n <div class=\"modal-header modal-style modal-dialog-centered\">\r\n <h4 class=\"modal-title pull-left color-modal\" style=\"font-size: 20px; font-weight: bold;\"> Selecione um\r\n estabelecimento </h4>\r\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"modal-message\">\r\n <div class=\"search-and-filters d-flex flex-row align-items-center justify-content-between\">\r\n <div class=\"d-flex flex-row w-100\">\r\n <div class=\"input-group\">\r\n <span class=\"input-group-text px-2\" id=\"basic-addon1\"\r\n style=\"background-color: transparent; border-right: none;\">\r\n <lib-icon iconName=\"lupa\" iconColor=\"gray\"/>\r\n </span>\r\n <input type=\"text\" class=\"form-control border-start-0 ps-0\" id=\"pesquisaInput\" #pesquisa\r\n placeholder=\"Digite o C\u00F3digo\" (keyup.enter)=\"refreshList(pesquisa.value)\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"filters d-flex align-items-center justify-content-between ms-3\">\r\n <div class=\"search-buttons d-flex flex-row align-items-center my-0 mx-0\">\r\n <button id=\"clearFilterBtn\" class=\"btn btn-outline-primary ms-0 no-hover-btn me-2\"\r\n (click)=\"pesquisa.value = ''; refreshList(pesquisa.value)\"> Limpar </button>\r\n <button id=\"searchFilterBtn\" class=\"btn btn-primary me-0\" (click)=\"refreshList(pesquisa.value)\"> Pesquisar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"table-list w-100 mt-3\" *ngIf=\"$estabelecimentosList; else loading\">\r\n <table class=\"table table-bordered table-hover mb-0\">\r\n <thead class=\"fs-6\">\r\n <tr>\r\n <th scope=\"col\" class=\"col-11 align-middle th\">Estabelecimento <span\r\n class=\"text-primary fst-italic\">(duplo-clique para selecionar)</span></th>\r\n <th scope=\"col\" class=\"col-1 align-middle text-center th\">A\u00E7\u00F5es</th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody *ngIf=\"$estabelecimentosList.length > 0; else emptyList\">\r\n <tr\r\n *ngFor=\"let estabelecimento of $estabelecimentosList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }\"\r\n (dblclick)=\"selectEstabelecimento(estabelecimento.ID, estabelecimento.NOMEEXIBICAO)\" role=\"button\">\r\n <td><span class=\"row-name\"> {{ estabelecimento.CODIGO }} - {{ estabelecimento.NOMEEXIBICAO }} </span>\r\n <span class=\"subname\"> {{ estabelecimento.IS_MATRIZ ? \"Matriz \" : null }} CNPJ: {{ estabelecimento.CNPJ\r\n }} </span></td>\r\n <td class=\"text-center align-middle\">\r\n <div class=\"action-icons d-flex flex-row align-items-center justify-content-around\">\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckChecked\"\r\n tooltip=\"Estabelecimento padr\u00E3o\" [checked]=\"estabelecimento.IS_DEFAULT\"\r\n style=\"transform: translateY(3px); height: 1rem; width: 28px;\" #isDefaultRow\r\n (click)=\"estabelecimento.IS_DEFAULT = !estabelecimento.IS_DEFAULT; defineDefaultEstabelecimento(estabelecimento.ID, estabelecimento.IS_DEFAULT)\">\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n\r\n <!-- #region EMPTY LIST CELL -->\r\n <ng-template #emptyList>\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\" class=\"align-middle\"><span class=\"row-name fw-light fst-italic text-center\"> {{\r\n response_messages.emptyMessage }} </span></td>\r\n </tr>\r\n </tbody>\r\n </ng-template>\r\n <!-- #endregion EMPTY LIST CELL -->\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$estabelecimentosList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\">Itens por p\u00E1gina</label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option class=\"selected\" value=\"10\" selected>10</option>\r\n <option value=\"25\">25</option>\r\n <option value=\"50\">50</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\"\r\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\">\r\n </pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n \r\n </div>\r\n\r\n <!-- <div class=\"d-flex justify-content-between align-items-center mt-3\">\r\n <span style=\"color: #6C757D\"> Registros {{$estabelecimentosList.length}} de {{$estabelecimentosList.length}} </span>\r\n <nav aria-label=\"...\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item disabled\"> <a class=\"page-link\" href=\"#\" tabindex=\"-1\">Anterior</a> </li>\r\n <li class=\"page-item active\"> <a class=\"page-link\" href=\"#\">1</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">2</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">3</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">Pr\u00F3ximo</a> </li>\r\n </ul>\r\n </nav>\r\n </div> -->\r\n\r\n\r\n <ng-template #loading>\r\n <lib-spinner></lib-spinner>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>", styles: [".table-list table thead{height:50px;font-size:1rem;background-color:#e9ecef}.table-list table thead .status-header{width:5%}.table-list table thead th:first-child{width:50px;height:50px}.table-list table thead th{font-size:16px}.table-list table .center-content{text-align:center}.table-list table tbody{font-size:.875rem}.table-list table tbody>tr:hover{background-color:#cce5ff}.table-list table tbody span.row-name{display:block;width:100%;font-weight:700}.table-list table tbody span.subname{color:#0f0f0f80}.table-list table tbody .action-icons{color:#007bff}.table-list table tbody .action-icons a{margin:0 .75rem}.table-list table tbody .status{width:13px;height:13px;border-radius:50%}.table-list table tbody .active{background-color:#28a745}.table-list table tbody .inactive{background-color:#a72828}.name-estab{font-size:14px;font-weight:700;text-transform:uppercase;color:#212529}.subname-estab{font-size:12px;color:#212529}#clearFilterBtn,#searchFilterBtn{padding:6px 12px}\n"] }]
195
- }], ctorParameters: () => [{ type: i1.AuthStorageService }, { type: i2.BsModalService }, { type: i3.LibCustomMenuService }, { type: i4.MenuServicesService }, { type: i5.MessageService }], propDecorators: { onClose: [{
196
- type: Output
197
- }], onSelected: [{
198
- type: Output
199
- }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbWVudS9zZWxlY2FvLWVzdGFiZWxlY2ltZW50b3MtbW9kYWwvc2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbWVudS9zZWxlY2FvLWVzdGFiZWxlY2ltZW50b3MtbW9kYWwvc2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFpQnJGLE1BQU0sT0FBTyxxQ0FBcUM7SUFDaEQsWUFDVSxtQkFBdUMsRUFDdkMsZUFBK0IsRUFDL0Isa0JBQXdDLEVBQ3hDLG9CQUF5QyxFQUN6QyxlQUErQjtRQUovQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBUXpDLDZDQUE2QztRQUU3QyxrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLHFCQUFxQjtRQUVyQixpQkFBaUI7UUFDQSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUUvQywwQkFBcUIsR0FB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QUM7SUFDdEIsQ0FBQzsrR0EvTlUscUNBQXFDO21HQUFyQyxxQ0FBcUMsaUlDakJsRCx3aE1BOEdNOzs0RkQ3Rk8scUNBQXFDO2tCQUxqRCxTQUFTOytCQUNFLGdDQUFnQztzTkF5QnpCLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsVUFBVTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XHJcblxyXG5pbXBvcnQgeyBJbmZyYUVzdGFiZWxlY2ltZW50b0Zhdm9yaXRvRGVmYXVsdCwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICduZ3gtc3AtaW5mcmEnO1xyXG4vL2ltcG9ydCB7IFByb2plY3RVdGlsc2VydmljZSB9IGZyb20gJ3NyYy9hcHAvcHJvamVjdC91dGlscy9wcm9qZWN0LXV0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yYWdlL2F1dGgtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IExpYkN1c3RvbU1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY3VzdG9tL2N1c3RvbS1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVudS1zZXJ2aWNlcy5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NlbGVjYW8tZXN0YWJlbGVjaW1lbnRvcy1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjYW8tZXN0YWJlbGVjaW1lbnRvcy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY2FvRXN0YWJlbGVjaW1lbnRvc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2F1dGhTdG9yYWdlU2VydmljZTogQXV0aFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYnNNb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTWVudVNlcnZpY2U6IExpYkN1c3RvbU1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWVudVNlcnZpY2VzU2VydmljZTogTWVudVNlcnZpY2VzU2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIC8vcHJpdmF0ZSBfcHJvamVjdFV0aWxTZXJ2aWNlOiBQcm9qZWN0VXRpbHNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RXN0YWJlbGVjaW1lbnRvcyhcIlwiKTtcclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxyXG5cclxuICAvLyAjcmVnaW9uIFBSSVZBVEVcclxuICAvLyBbLi4uXVxyXG4gIC8vICNlbmRyZWdpb24gUFJJVkFURVxyXG5cclxuICAvLyAjcmVnaW9uIFBVQkxJQ1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwdWJsaWMgJGVzdGFiZWxlY2ltZW50b3NMaXN0OiBJbmZyYUVzdGFiZWxlY2ltZW50b0Zhdm9yaXRvRGVmYXVsdFtdID0gW107XHJcblxyXG4gIHB1YmxpYyBwYWdlOiBudW1iZXIgPSAxO1xyXG4gIHB1YmxpYyBpdGVtc1BlclBhZ2U6IG51bWJlciA9IDEwO1xyXG5cclxuICBwdWJsaWMgcmVzcG9uc2VfbWVzc2FnZXMgPSB7XHJcbiAgICAnZW1wdHlNZXNzYWdlJzogJ0NvbnN1bHRhIG7Do28gcmV0b3Jub3UgcmVnaXN0cm9zLi4uJyxcclxuICAgICd0b3RhbE1lc3NhZ2UnOiAnTGluaGFzIGVuY29udHJhZGFzLidcclxuICB9O1xyXG4gIC8vICNlbmRyZWdpb24gUFVCTElDXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBEQVRBXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIERBVEFcclxuXHJcbiAgLy8gI3JlZ2lvbiBWQUxJREFUT1JTXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFZBTElEQVRPUlNcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gU0VSVklDRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUkVQQVJBVElPTlxyXG5cclxuICBwdWJsaWMgcmVmcmVzaExpc3QocGVzcXVpc2E6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRFc3RhYmVsZWNpbWVudG9zKHBlc3F1aXNhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RXN0YWJlbGVjaW1lbnRvcyhwZXNxdWlzYTogc3RyaW5nID0gXCJcIik6IHZvaWQge1xyXG4gICAgdGhpcy5fbWVudVNlcnZpY2VzU2VydmljZS5nZXRFc3RhYmVsZWNpbWVudG9zTW9kYWxMaXN0KHRoaXMuX2F1dGhTdG9yYWdlU2VydmljZS5pbmZyYVVzdWFyaW9JZCwgcGVzcXVpc2EpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlc3BvbnNlID0+IHtcclxuICAgICAgICB0aGlzLiRlc3RhYmVsZWNpbWVudG9zTGlzdCA9IHJlc3BvbnNlLkluZnJhRXN0YWJlbGVjaW1lbnRvcztcclxuXHJcbiAgICAgICAgdGhpcy5yZXNldFBhZ2luYXRpb24odGhpcy4kZXN0YWJlbGVjaW1lbnRvc0xpc3QpO1xyXG5cclxuICAgICAgICBpZiAocmVzcG9uc2UuSW5mcmFFc3RhYmVsZWNpbWVudG9zLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlU2VydmljZS5zaG93QWxlcnREYW5nZXIodGhpcy5yZXNwb25zZV9tZXNzYWdlcy5lbXB0eU1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICAvL3RoaXMuX3Byb2plY3RVdGlsU2VydmljZS5zaG93SHR0cEVycm9yKGVycm9yKTtcclxuICAgICAgICB0aGlzLl9tZXNzYWdlU2VydmljZS5zaG93QWxlcnREYW5nZXIoZXJyb3IpO1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XHJcblxyXG4gICAgICAgIHRoaXMuJGVzdGFiZWxlY2ltZW50b3NMaXN0ID0gW107XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFBSRVBBUkFUSU9OXHJcblxyXG4gIC8vICNyZWdpb24gR0VUXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEdFVFxyXG5cclxuICAvLyAjcmVnaW9uIENSRUFURSBPUiBVUERBVEVcclxuXHJcbiAgLyoqXHJcbiAgICogQXR1YWxpemEgbyBlc3RhZG8gZG8gRXN0YWJlbGVjaW1lbnRvLCBpbmZvcm1hbmRvIHNlIGVsZSDDqSBQYWRyw6NvIG91IG7Do28uXHJcbiAgICogQHBhcmFtIGVzdGFiSUQgSUQgZG8gRXN0YWJlbGVjaW1lbnRvIGEgc2VyIGFsdGVyYWRvXHJcbiAgICogQHBhcmFtIGlzRGVmYXVsdCBJbmZvcm1hIHNlIGVsZSDDqSBQYWRyw6NvIG91IG7Do29cclxuICAgKi9cclxuICBwdWJsaWMgZGVmaW5lRGVmYXVsdEVzdGFiZWxlY2ltZW50byhlc3RhYklEOiBzdHJpbmcsIGlzRGVmYXVsdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fbWVudVNlcnZpY2VzU2VydmljZS5kZWZpbmVEZWZhdWx0RXN0YWJlbGVjaW1lbnRvKGVzdGFiSUQsIHRoaXMuX2F1dGhTdG9yYWdlU2VydmljZS5pbmZyYVVzdWFyaW9JZCwgaXNEZWZhdWx0KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXRFc3RhYmVsZWNpbWVudG9zKFwiXCIpO1xyXG5cclxuICAgICAgICBpc0RlZmF1bHRcclxuICAgICAgICAgID8gdGhpcy5fbWVzc2FnZVNlcnZpY2Uuc2hvd0FsZXJ0U3VjY2VzcygnTm92byBlc3RhYmVsZWNpbWVudG8gZGVmaW5pZG8gY29tbyBwYWRyw6NvIHBhcmEgbyB1c3XDoXJpbycpXHJcbiAgICAgICAgICA6IHRoaXMuX21lc3NhZ2VTZXJ2aWNlLnNob3dBbGVydFN1Y2Nlc3MoJ0VzdGFiZWxlY2ltZW50byBwYWRyw6NvIHJlbW92aWRvIHBhcmEgbyB1c3XDoXJpbycpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgIC8vdGhpcy5fcHJvamVjdFV0aWxTZXJ2aWNlLnNob3dIdHRwRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuX21lc3NhZ2VTZXJ2aWNlLnNob3dBbGVydERhbmdlcihlcnJvcik7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENSRUFURSBPUiBVUERBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBERUxFVEVcclxuICAvLyBbLi4uXVxyXG4gIC8vICNlbmRyZWdpb24gREVMRVRFXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gU0VSVklDRVMgPD09PT09PT09PT1cclxuXHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gVVRJTElUSUVTIDw9PT09PT09PT09XHJcblxyXG4gIC8qKlxyXG4gICAqIEVudmlhIHVtIHNpbmFsIGFvIGNvbXBvbmVudGUgcGFpIGNvbSBvIElEIGUgTm9tZSBkbyBFc3RhYmVsZWNpbWVudG8gc2VsZWNpb25hZG8gbm8gTW9kYWxcclxuICAgKiBAcGFyYW0gZXN0YWJJRCBJRCBkbyBFc3RhYmVsZWNpbWVudG8gcXVlIHNlcsOhIGVudmlhZG9cclxuICAgKiBAcGFyYW0gZXN0YWJOb21lIE5vbWUgZG8gRXN0YWJlbGVjaW1lbnRvIHF1ZSBzZXLDoSBlbnZpYWRvXHJcbiAgICovXHJcbiAgcHVibGljIHNlbGVjdEVzdGFiZWxlY2ltZW50byhlc3RhYklEOiBzdHJpbmcsIGVzdGFiTm9tZTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gICAgLy8gKiBNw6l0b2RvIGN1c3RvbWl6YWRvIHBhcmEgZW1pc3PDo28gZGUgZXZlbnRvIGFvIHRyb2NhciBkZSBlc3RhYmVsZWNpbWVudG9cclxuICAgIHRoaXMuX2N1c3RvbU1lbnVTZXJ2aWNlLmVtaXRFc3RhYmVsZWNpbWVudG9FdmVudCgpO1xyXG5cclxuICAgIHRoaXMub25TZWxlY3RlZC5lbWl0KGVzdGFiSUQgKyBcIiAtIFwiICsgZXN0YWJOb21lKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZWFsaXphIHVtYSBub3ZhIHBlc3F1aXNhIG5vIGJhbmNvIHBhcmEgYXR1YWxpemFyIGEgbGlzdGEgYSBjYWRhIDMgY2FyYWN0ZXJlcyBkaWdpdGFkb3NcclxuICAgKiBAcGFyYW0gcGVzcXVpc2EgVGV4dG8gZG8gaW5wdXQgZGUgcGVzcXVpc2FcclxuICAgKi9cclxuICBwdWJsaWMgdXBkYXRlU2VhcmNoKHBlc3F1aXNhOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHBlc3F1aXNhLmxlbmd0aCAlIDMgPT0gMFxyXG4gICAgICA/IHRoaXMuZ2V0RXN0YWJlbGVjaW1lbnRvcyhwZXNxdWlzYSlcclxuICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmVyaWZpY2Egc2UgYSBzdHJpbmcgcGFzc2FkYSDDqSBhbGZhbnVtw6lyaWNhLlxyXG4gICAqIEBwYXJhbSBzdHIgU3RyaW5nIHF1ZSBzZXLDoSB2ZXJpZmljYWRhXHJcbiAgICogQHJldHVybnMgVFJVRSBzZSBmb3IgYWxmYW51bcOpcmljYSwgY2FzbyBjb250csOhcmlvIEZBTFNFLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgaXNBbHBoYW51bWVyaWMoc3RyOiBzdHJpbmcpIHtcclxuICAgIHZhciBjb2RlLCBpLCBsZW47XHJcblxyXG4gICAgZm9yIChpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTtcclxuICAgICAgaWYgKCEoY29kZSA+IDQ3ICYmIGNvZGUgPCA1OCkgJiYgIC8vICgwLTkpXHJcbiAgICAgICAgIShjb2RlID4gNjQgJiYgY29kZSA8IDkxKSAmJiAgLy8gKEEtWilcclxuICAgICAgICAhKGNvZGUgPiA5NiAmJiBjb2RlIDwgMTIzKSkgeyAvLyAoYS16KVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH07XHJcblxyXG4gIC8qKiBNb2RpZmljYSBhIHF1YW50aWRhZGUgZGUgaXRlbnMgYSBzZXIgbW9zdHJhZGEgbmEgbGlzdGEuXHJcbiAgICogQHBhcmFtIGV2ZW50IHBhcsOibWV0cm8gZGUgZXZlbnRvIHF1ZSBpcsOhIHNlbGVjaW9uYXIgYSBub3ZhIHF1YW50aWRhZGUuXHJcbiAgICovXHJcbiAgcHVibGljIG9uU2VsZWN0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuaXRlbXNQZXJQYWdlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlLCAxMCk7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlc2V0YSBhIHBhZ2luYcOnw6NvIGRhIGxpc3RhZ2VtLlxyXG4gICovXHJcbiAgcHVibGljIHJlc2V0UGFnaW5hdGlvbihsaXN0OiBhbnlbXSk6IHZvaWQge1xyXG4gICAgLy8gQ8OhbGN1bG8gcGFyYSBlbmNvbnRyYXIgbyB2YWxvciBpbmljaWFsIGRvIGluZGV4IGRhIHDDoWdpbmEgYXR1YWxcclxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAodGhpcy5wYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZTtcclxuXHJcbiAgICAvLyBDb25kacOnw6NvIHBhcmEgcmVzZXRhciBvIHZhbG9yIGRhIHBhZ2luYcOnw6NvXHJcbiAgICBpZiAobGlzdC5sZW5ndGggPD0gc3RhcnRJbmRleCkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuw6fDo28gc2ltcGxlcyBjb20gbyBvYmpldGl2byBkZSBhYnJpciBvcyBtb2RhaXMgbm8gY2VudHJvIGRhIHRlbGEuXHJcbiAgICogQHBhcmFtIHRlbXBsYXRlIFRlbXBsYXRlIEhUTUwgZG8gbW9kYWwgcXVlIHNlcsOhIGFiZXJ0by5cclxuICAgKiBAcGFyYW0gbW9kYWxJRCBJRCBkbyBtb2RhbCBxdWUgc2Vyw6EgYWJlcnRvLCBwYXJhIHF1ZSBwb3NzYSBzZXIgcmVmZXJlbmNpYWRvIGRlcG9pcy5cclxuICAqL1xyXG4gIHB1YmxpYyBvcGVuTW9kYWwodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIG1vZGFsSUQ6IG51bWJlcikge1xyXG4gICAgaWYgKG1vZGFsSUQgPT0gNCkge1xyXG4gICAgICB0aGlzLl9ic01vZGFsU2VydmljZS5zaG93KHRlbXBsYXRlLCB7XHJcbiAgICAgICAgaWQ6IG1vZGFsSUQsXHJcbiAgICAgICAgY2xhc3M6ICdtb2RhbC1kaWFsb2ctY2VudGVyZWQgbW9kYWwtbGcnLFxyXG4gICAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IGZhbHNlLFxyXG4gICAgICAgIGtleWJvYXJkOiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2JzTW9kYWxTZXJ2aWNlLnNob3codGVtcGxhdGUsIHtcclxuICAgICAgICBpZDogbW9kYWxJRCxcclxuICAgICAgICBjbGFzczogJ21vZGFsLWRpYWxvZy1jZW50ZXJlZCcsXHJcbiAgICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogZmFsc2UsXHJcbiAgICAgICAga2V5Ym9hcmQ6IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuw6fDo28gc2ltcGxlcyBjb20gbyBvYmpldGl2byBkZSBmZWNoYXIgb3MgbW9kYWlzIHF1ZSBlc3RpdmVyZW0gYWJlcnRvcyAoYmFzZWFkb3MgcGVsbyBJRCkuXHJcbiAgICogQHBhcmFtIG1vZGFsSUQgSUQgZG8gbW9kYWwgcXVlIHNlcsOhIGZlY2hhZG8uXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlTW9kYWwobW9kYWxJRDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9ic01vZGFsU2VydmljZS5oaWRlKG1vZGFsSUQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlU2VsZigpIHtcclxuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IE1PREFMUyA8PT09PT09PT09PVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIG1vZGFsLXN0eWxlIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiPlxyXG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0IGNvbG9yLW1vZGFsXCIgc3R5bGU9XCJmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPiBTZWxlY2lvbmUgdW1cclxuICAgICAgZXN0YWJlbGVjaW1lbnRvIDwvaDQ+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZVNlbGYoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1tZXNzYWdlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYW5kLWZpbHRlcnMgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgdy0xMDBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHQgcHgtMlwiIGlkPVwiYmFzaWMtYWRkb24xXCJcclxuICAgICAgICAgICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBib3JkZXItcmlnaHQ6IG5vbmU7XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1pY29uIGljb25OYW1lPVwibHVwYVwiIGljb25Db2xvcj1cImdyYXlcIi8+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm9yZGVyLXN0YXJ0LTAgcHMtMFwiIGlkPVwicGVzcXVpc2FJbnB1dFwiICNwZXNxdWlzYVxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGlnaXRlIG8gQ8OzZGlnb1wiIChrZXl1cC5lbnRlcik9XCJyZWZyZXNoTGlzdChwZXNxdWlzYS52YWx1ZSlcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVycyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1zLTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYnV0dG9ucyBkLWZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIG15LTAgbXgtMFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGlkPVwiY2xlYXJGaWx0ZXJCdG5cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IG1zLTAgbm8taG92ZXItYnRuIG1lLTJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJwZXNxdWlzYS52YWx1ZSA9ICcnOyByZWZyZXNoTGlzdChwZXNxdWlzYS52YWx1ZSlcIj4gTGltcGFyIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGlkPVwic2VhcmNoRmlsdGVyQnRuXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbWUtMFwiIChjbGljayk9XCJyZWZyZXNoTGlzdChwZXNxdWlzYS52YWx1ZSlcIj4gUGVzcXVpc2FyXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWxpc3Qgdy0xMDAgbXQtM1wiICpuZ0lmPVwiJGVzdGFiZWxlY2ltZW50b3NMaXN0OyBlbHNlIGxvYWRpbmdcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0YWJsZS1ob3ZlciBtYi0wXCI+XHJcbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJmcy02XCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImNvbC0xMSBhbGlnbi1taWRkbGUgdGhcIj5Fc3RhYmVsZWNpbWVudG8gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnN0LWl0YWxpY1wiPihkdXBsby1jbGlxdWUgcGFyYSBzZWxlY2lvbmFyKTwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiY29sLTEgYWxpZ24tbWlkZGxlIHRleHQtY2VudGVyIHRoXCI+QcOnw7VlczwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICAgIDx0Ym9keSAqbmdJZj1cIiRlc3RhYmVsZWNpbWVudG9zTGlzdC5sZW5ndGggPiAwOyBlbHNlIGVtcHR5TGlzdFwiPlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZXN0YWJlbGVjaW1lbnRvIG9mICRlc3RhYmVsZWNpbWVudG9zTGlzdCB8IHBhZ2luYXRlOiB7IGl0ZW1zUGVyUGFnZTogaXRlbXNQZXJQYWdlLCBjdXJyZW50UGFnZTogcGFnZSB9XCJcclxuICAgICAgICAgICAgICAoZGJsY2xpY2spPVwic2VsZWN0RXN0YWJlbGVjaW1lbnRvKGVzdGFiZWxlY2ltZW50by5JRCwgZXN0YWJlbGVjaW1lbnRvLk5PTUVFWElCSUNBTylcIiByb2xlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwicm93LW5hbWVcIj4ge3sgZXN0YWJlbGVjaW1lbnRvLkNPRElHTyB9fSAtIHt7IGVzdGFiZWxlY2ltZW50by5OT01FRVhJQklDQU8gfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJuYW1lXCI+IHt7IGVzdGFiZWxlY2ltZW50by5JU19NQVRSSVogPyBcIk1hdHJpeiBcIiA6IG51bGwgfX0gQ05QSjoge3sgZXN0YWJlbGVjaW1lbnRvLkNOUEpcclxuICAgICAgICAgICAgICAgICAgfX0gPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXIgYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWljb25zIGQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWFyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiByb2xlPVwic3dpdGNoXCIgaWQ9XCJmbGV4U3dpdGNoQ2hlY2tDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJFc3RhYmVsZWNpbWVudG8gcGFkcsOjb1wiIFtjaGVja2VkXT1cImVzdGFiZWxlY2ltZW50by5JU19ERUZBVUxUXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7IGhlaWdodDogMXJlbTsgd2lkdGg6IDI4cHg7XCIgI2lzRGVmYXVsdFJvd1xyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVzdGFiZWxlY2ltZW50by5JU19ERUZBVUxUID0gIWVzdGFiZWxlY2ltZW50by5JU19ERUZBVUxUOyBkZWZpbmVEZWZhdWx0RXN0YWJlbGVjaW1lbnRvKGVzdGFiZWxlY2ltZW50by5JRCwgZXN0YWJlbGVjaW1lbnRvLklTX0RFRkFVTFQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcblxyXG4gICAgICAgICAgPCEtLSAjcmVnaW9uIEVNUFRZIExJU1QgQ0VMTCAtLT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlMaXN0PlxyXG4gICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj48c3BhbiBjbGFzcz1cInJvdy1uYW1lIGZ3LWxpZ2h0IGZzdC1pdGFsaWMgdGV4dC1jZW50ZXJcIj4ge3tcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZV9tZXNzYWdlcy5lbXB0eU1lc3NhZ2UgfX0gPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8IS0tICNlbmRyZWdpb24gRU1QVFkgTElTVCBDRUxMIC0tPlxyXG4gICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgIDwhLS0gI3JlZ2lvbiBQQUdJTkFUSU9OIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yXCIgKm5nSWY9XCIkZXN0YWJlbGVjaW1lbnRvc0xpc3QubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWUtMlwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj5JdGVucyBwb3IgcMOhZ2luYTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBzZWxlY3Qtc2VhcmNoXCIgKGNoYW5nZSk9XCJvblNlbGVjdENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiBjbGFzcz1cInNlbGVjdGVkXCIgdmFsdWU9XCIxMFwiIHNlbGVjdGVkPjEwPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjI1XCI+MjU8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNTBcIj41MDwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxwYWdpbmF0aW9uLWNvbnRyb2xzIGNsYXNzPVwic3AtcGFnaW5hdGlvbiBtdC0zXCIgKHBhZ2VDaGFuZ2UpPVwicGFnZSA9ICRldmVudFwiXHJcbiAgICAgICAgICAgIHByZXZpb3VzTGFiZWw9XCLCqyZuYnNwOyZuYnNwOyZuYnNwO1wiIG5leHRMYWJlbD1cIiZuYnNwOyZuYnNwOyZuYnNwO8K7XCIgW21heFNpemVdPVwiNVwiPlxyXG4gICAgICAgICAgPC9wYWdpbmF0aW9uLWNvbnRyb2xzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gI2VuZHJlZ2lvbiBQQUdJTkFUSU9OIC0tPlxyXG4gICAgICAgIFxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtM1wiPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2Qzc1N0RcIj4gUmVnaXN0cm9zIHt7JGVzdGFiZWxlY2ltZW50b3NMaXN0Lmxlbmd0aH19IGRlIHt7JGVzdGFiZWxlY2ltZW50b3NMaXN0Lmxlbmd0aH19IDwvc3Bhbj5cclxuICAgICAgICA8bmF2IGFyaWEtbGFiZWw9XCIuLi5cIj5cclxuICAgICAgICAgIDx1bCBjbGFzcz1cInBhZ2luYXRpb24gbWItMFwiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW0gZGlzYWJsZWRcIj4gPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiI1wiIHRhYmluZGV4PVwiLTFcIj5BbnRlcmlvcjwvYT4gPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtIGFjdGl2ZVwiPiA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCI+MTwvYT4gPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCI+IDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIiNcIj4yPC9hPiA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj4gPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiI1wiPjM8L2E+IDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPiA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCI+UHLDs3hpbW88L2E+IDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbmF2PlxyXG4gICAgICA8L2Rpdj4gLS0+XHJcblxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxyXG4gICAgICAgIDxsaWItc3Bpbm5lcj48L2xpYi1zcGlubmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -1,151 +0,0 @@
1
- import { HttpHeaders, HttpParams } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { Subject, take, tap } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../storage/auth-storage.service";
6
- import * as i2 from "@angular/common/http";
7
- export class MenuServicesService {
8
- constructor(_authStorageService, _httpClient) {
9
- this._authStorageService = _authStorageService;
10
- this._httpClient = _httpClient;
11
- this._BASE_URL = "https://siscandesv6.sispro.com.br/SisproErpCloud/Service_Private/Infra/SpInfra2ErpWS/api"; // SpInfra2AplicWS
12
- this._HTTP_HEADERS = new HttpHeaders().set('Content-Type', 'application/json');
13
- // #endregion Menu: Estabelecimentos
14
- // #endregion UPDATE
15
- // #region DELETE
16
- // [...]
17
- // #endregion DELETE
18
- // #endregion ==========> SERVICES <==========
19
- // #region ==========> UTILITIES <==========
20
- this._menuFooterImg = null;
21
- // #region NewImg Event
22
- // Implementação de lógica vista no link: https://hasangalakdinu.medium.com/how-to-call-a-function-in-another-component-angular-using-rxjs-3f2e85920705
23
- this._subject = new Subject();
24
- //verificar se é a melhor solucão
25
- //this._BASE_URL = !environment.production ? this._BASE_URL : `${environment.SpInfra2ErpWS}`;
26
- }
27
- // #region ==========> SERVICES <==========
28
- // #region PREPARATION
29
- // #region Menu: Usuário
30
- // [...]
31
- // #endregion Menu: Usuário
32
- // #region Menu: Estabelecimentos
33
- getEstabelecimentosModalList(usuarioID, pesquisa) {
34
- const params = new HttpParams()
35
- .set('pesquisa', pesquisa);
36
- const headers = new HttpHeaders()
37
- .set('Content-Type', 'application/json');
38
- const url = `${this._BASE_URL}/InfraEstabelecimento/GetEstabelecimentosModal`;
39
- return this._httpClient
40
- .get(url, { 'params': params, 'headers': headers })
41
- .pipe(take(1), tap(response => {
42
- if (response.Error) {
43
- throw Error(response.ErrorMessage);
44
- }
45
- }));
46
- }
47
- // #endregion Menu: Estabelecimentos
48
- // #endregion PREPARATION
49
- // #region GET
50
- // #region Menu: Usuário
51
- getImagemMenu() {
52
- const url = `${this._BASE_URL}/InfraUsuario/GetImagemMenu`;
53
- return this._httpClient
54
- .get(url, { 'headers': this._HTTP_HEADERS })
55
- .pipe(take(1), tap(response => {
56
- if (response.Error) {
57
- throw Error(response.ErrorMessage);
58
- }
59
- this.saveImageToStorage(response.InfraUsuarioImg.Imagem, response.InfraUsuarioImg.FileName);
60
- }));
61
- }
62
- // #endregion Menu: Usuário
63
- // #region Menu: Estabelecimentos
64
- getEstabelecimentoSession(estabID) {
65
- const params = new HttpParams()
66
- .set('id', estabID);
67
- const url = `${this._BASE_URL}/InfraEstabelecimento/GetEstabelecimentoSession`;
68
- return this._httpClient
69
- .get(url, { 'params': params, 'headers': this._HTTP_HEADERS })
70
- .pipe(take(1), tap(response => {
71
- if (response.Error) {
72
- throw Error(response.ErrorMessage);
73
- }
74
- }));
75
- }
76
- // #endregion Menu: Estabelecimentos
77
- // #region Get Usuario Email
78
- getUsuarioEmail() {
79
- const url = `${this._BASE_URL}/InfraUsuario/GetUsuarioEmail`;
80
- return this._httpClient
81
- .get(url, { 'headers': this._HTTP_HEADERS })
82
- .pipe(take(1), tap(response => {
83
- if (response.Error) {
84
- throw Error(response.ErrorMessage);
85
- }
86
- }));
87
- }
88
- // #endregion Get Usuario Email
89
- // #endregion GET
90
- // #region CREATE
91
- // [...]
92
- // #endregion CREATE
93
- // #region UPDATE
94
- // #region Menu: Usuário
95
- updateLastLogEstabID(estabID) {
96
- const params = new HttpParams()
97
- .set('estabID', estabID);
98
- const url = `${this._BASE_URL}/InfraUsuario/UpdateLastSelectedEstabelecimento`;
99
- return this._httpClient
100
- .post(url, null, { 'params': params, 'headers': this._HTTP_HEADERS })
101
- .pipe(take(1), tap(response => {
102
- if (response.Error) {
103
- throw Error(response.ErrorMessage);
104
- }
105
- }));
106
- }
107
- // #endregion Menu: Usuário
108
- // #region Menu: Estabelecimentos
109
- defineDefaultEstabelecimento(estabID, usuarioID, isDefault) {
110
- const params = new HttpParams()
111
- .set('estabID', estabID)
112
- .set('isDefault', isDefault);
113
- const url = `${this._BASE_URL}/InfraEstabelecimento/DefineDefaultEstab`;
114
- return this._httpClient
115
- .post(url, null, { 'params': params, 'headers': this._HTTP_HEADERS })
116
- .pipe(take(1), tap(response => {
117
- if (response.Error) {
118
- throw Error(response.ErrorMessage);
119
- }
120
- }));
121
- }
122
- getMenuFooterImg() {
123
- const cachedFooterImg = JSON.parse(localStorage.getItem('menuFooterImg'));
124
- if (cachedFooterImg) {
125
- return cachedFooterImg;
126
- }
127
- return this._menuFooterImg;
128
- }
129
- setMenuFooterImg(value) {
130
- this._menuFooterImg = value;
131
- localStorage.setItem('menuFooterImg', JSON.stringify(value));
132
- }
133
- saveImageToStorage(footerImgSrc, footerImgName) {
134
- this.setMenuFooterImg({ USUARIOID: this._authStorageService.infraUsuarioId, FILENAME: footerImgName, FILE: footerImgSrc });
135
- }
136
- newUserImageEvent(value) {
137
- this._subject.next(value);
138
- }
139
- getNewUserImageEvent() {
140
- return this._subject.asObservable();
141
- }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuServicesService, deps: [{ token: i1.AuthStorageService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
143
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuServicesService, providedIn: 'root' }); }
144
- }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuServicesService, decorators: [{
146
- type: Injectable,
147
- args: [{
148
- providedIn: 'root'
149
- }]
150
- }], ctorParameters: () => [{ type: i1.AuthStorageService }, { type: i2.HttpClient }] });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zZXJ2aWNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tZW51LXNlcnZpY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQWN0RCxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ1UsbUJBQXVDLEVBQ3ZDLFdBQXVCO1FBRHZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFMaEIsY0FBUyxHQUFXLDBGQUEwRixDQUFDLENBQUMsa0JBQWtCO1FBQ2xJLGtCQUFhLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFtSjNGLG9DQUFvQztRQUVwQyxvQkFBb0I7UUFFcEIsaUJBQWlCO1FBQ2pCLFFBQVE7UUFDUixvQkFBb0I7UUFFcEIsOENBQThDO1FBRzlDLDRDQUE0QztRQUNwQyxtQkFBYyxHQUF1QixJQUFJLENBQUM7UUFtQmxELHVCQUF1QjtRQUV2Qix1SkFBdUo7UUFDL0ksYUFBUSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUEvS3BDLGlDQUFpQztRQUNqQyw2RkFBNkY7SUFDL0YsQ0FBQztJQUVELDJDQUEyQztJQUUzQyxzQkFBc0I7SUFFdEIsd0JBQXdCO0lBQ3hCLFFBQVE7SUFDUiwyQkFBMkI7SUFFM0IsaUNBQWlDO0lBQzFCLDRCQUE0QixDQUFDLFNBQWlCLEVBQUUs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LENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQzsrR0EvTFUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFJldEVycm9yLCBSZXRFc3RhYmVsZWNpbWVudG9zTW9kYWwgfSBmcm9tICduZ3gtc3AtaW5mcmEnO1xyXG4vLyBpbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudHMnO1xyXG5pbXBvcnQgeyBBdXRoU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdG9yYWdlL2F1dGgtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFJldEVzdGFiZWxlY2ltZW50b1Nlc3Npb24gfSBmcm9tICcuL21vZGVsL3JldC1lc3RhYmVsZWNpbWVudG8tc2Vzc2lvbic7XHJcbmltcG9ydCB7IFJldEluZnJhVXN1YXJpb0VtYWlsIH0gZnJvbSAnLi9tb2RlbC9yZXQtaW5mcmF1c3VhcmlvZW1haWwnO1xyXG5pbXBvcnQgeyBSZXRJbmZyYVVzdWFyaW9JbWcgfSBmcm9tICcuL21vZGVsL3JldC1pbmZyYXVzdWFyaW9pbWcnO1xyXG5pbXBvcnQgeyBVc3VhcmlvX0lNRyB9IGZyb20gJy4vbW9kZWwvdXN1YXJpby1pbWcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2VzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfQkFTRV9VUkw6IHN0cmluZyA9IFwiaHR0cHM6Ly9zaXNjYW5kZXN2Ni5zaXNwcm8uY29tLmJyL1Npc3Byb0VycENsb3VkL1NlcnZpY2VfUHJpdmF0ZS9JbmZyYS9TcEluZnJhMkVycFdTL2FwaVwiOyAvLyBTcEluZnJhMkFwbGljV1NcclxuICBwcml2YXRlIHJlYWRvbmx5IF9IVFRQX0hFQURFUlMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfYXV0aFN0b3JhZ2VTZXJ2aWNlOiBBdXRoU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgICAvL3ZlcmlmaWNhciBzZSDDqSBhIG1lbGhvciBzb2x1Y8Ojb1xyXG4gICAgLy90aGlzLl9CQVNFX1VSTCA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uID8gdGhpcy5fQkFTRV9VUkwgOiBgJHtlbnZpcm9ubWVudC5TcEluZnJhMkVycFdTfWA7XHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFNFUlZJQ0VTIDw9PT09PT09PT09XHJcblxyXG4gIC8vICNyZWdpb24gUFJFUEFSQVRJT05cclxuXHJcbiAgLy8gI3JlZ2lvbiBNZW51OiBVc3XDoXJpb1xyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBNZW51OiBVc3XDoXJpb1xyXG5cclxuICAvLyAjcmVnaW9uIE1lbnU6IEVzdGFiZWxlY2ltZW50b3NcclxuICBwdWJsaWMgZ2V0RXN0YWJlbGVjaW1lbnRvc01vZGFsTGlzdCh1c3VhcmlvSUQ6IHN0cmluZywgcGVzcXVpc2E6IHN0cmluZyk6IE9ic2VydmFibGU8UmV0RXN0YWJlbGVjaW1lbnRvc01vZGFsPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgIC5zZXQoJ3Blc3F1aXNhJywgcGVzcXVpc2EpXHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XHJcblxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fQkFTRV9VUkx9L0luZnJhRXN0YWJlbGVjaW1lbnRvL0dldEVzdGFiZWxlY2ltZW50b3NNb2RhbGA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgLmdldDxSZXRFc3RhYmVsZWNpbWVudG9zTW9kYWw+KHVybCwgeyAncGFyYW1zJzogcGFyYW1zLCAnaGVhZGVycyc6IGhlYWRlcnMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uIE1lbnU6IEVzdGFiZWxlY2ltZW50b3NcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQUkVQQVJBVElPTlxyXG5cclxuICAvLyAjcmVnaW9uIEdFVFxyXG5cclxuICAvLyAjcmVnaW9uIE1lbnU6IFVzdcOhcmlvXHJcbiAgcHVibGljIGdldEltYWdlbU1lbnUoKTogT2JzZXJ2YWJsZTxSZXRJbmZyYVVzdWFyaW9JbWc+IHtcclxuXHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLl9CQVNFX1VSTH0vSW5mcmFVc3VhcmlvL0dldEltYWdlbU1lbnVgO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgIC5nZXQ8UmV0SW5mcmFVc3VhcmlvSW1nPih1cmwsIHsgJ2hlYWRlcnMnOiB0aGlzLl9IVFRQX0hFQURFUlMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5zYXZlSW1hZ2VUb1N0b3JhZ2UocmVzcG9uc2UuSW5mcmFVc3VhcmlvSW1nLkltYWdlbSwgcmVzcG9uc2UuSW5mcmFVc3VhcmlvSW1nLkZpbGVOYW1lKTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gTWVudTogVXN1w6FyaW9cclxuXHJcbiAgLy8gI3JlZ2lvbiBNZW51OiBFc3RhYmVsZWNpbWVudG9zXHJcbiAgcHVibGljIGdldEVzdGFiZWxlY2ltZW50b1Nlc3Npb24oZXN0YWJJRDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXRFc3RhYmVsZWNpbWVudG9TZXNzaW9uPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgIC5zZXQoJ2lkJywgZXN0YWJJRCk7XHJcblxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fQkFTRV9VUkx9L0luZnJhRXN0YWJlbGVjaW1lbnRvL0dldEVzdGFiZWxlY2ltZW50b1Nlc3Npb25gO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgIC5nZXQ8UmV0RXN0YWJlbGVjaW1lbnRvU2Vzc2lvbj4odXJsLCB7ICdwYXJhbXMnOiBwYXJhbXMsICdoZWFkZXJzJzogdGhpcy5fSFRUUF9IRUFERVJTIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgdGFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZS5FcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihyZXNwb25zZS5FcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiBNZW51OiBFc3RhYmVsZWNpbWVudG9zXHJcblxyXG4gIC8vICNyZWdpb24gR2V0IFVzdWFyaW8gRW1haWxcclxuICBwdWJsaWMgZ2V0VXN1YXJpb0VtYWlsKCk6IE9ic2VydmFibGU8UmV0SW5mcmFVc3VhcmlvRW1haWw+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX0JBU0VfVVJMfS9JbmZyYVVzdWFyaW8vR2V0VXN1YXJpb0VtYWlsYDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAuZ2V0PFJldEluZnJhVXN1YXJpb0VtYWlsPih1cmwsIHsgJ2hlYWRlcnMnOiB0aGlzLl9IVFRQX0hFQURFUlMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uIEdldCBVc3VhcmlvIEVtYWlsXHJcblxyXG4gIC8vICNlbmRyZWdpb24gR0VUXHJcblxyXG4gIC8vICNyZWdpb24gQ1JFQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIENSRUFURVxyXG5cclxuICAvLyAjcmVnaW9uIFVQREFURVxyXG5cclxuICAvLyAjcmVnaW9uIE1lbnU6IFVzdcOhcmlvXHJcbiAgcHVibGljIHVwZGF0ZUxhc3RMb2dFc3RhYklEKGVzdGFiSUQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmV0RXJyb3I+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgLnNldCgnZXN0YWJJRCcsIGVzdGFiSUQpXHJcblxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fQkFTRV9VUkx9L0luZnJhVXN1YXJpby9VcGRhdGVMYXN0U2VsZWN0ZWRFc3RhYmVsZWNpbWVudG9gO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PFJldEVycm9yPih1cmwsIG51bGwsIHsgJ3BhcmFtcyc6IHBhcmFtcywgJ2hlYWRlcnMnOiB0aGlzLl9IVFRQX0hFQURFUlMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7IHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7IH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gTWVudTogVXN1w6FyaW9cclxuXHJcbiAgLy8gI3JlZ2lvbiBNZW51OiBFc3RhYmVsZWNpbWVudG9zXHJcbiAgcHVibGljIGRlZmluZURlZmF1bHRFc3RhYmVsZWNpbWVudG8oZXN0YWJJRDogc3RyaW5nLCB1c3VhcmlvSUQ6IHN0cmluZywgaXNEZWZhdWx0OiBib29sZWFuKTogT2JzZXJ2YWJsZTxSZXRFcnJvcj4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAuc2V0KCdlc3RhYklEJywgZXN0YWJJRClcclxuICAgICAgLnNldCgnaXNEZWZhdWx0JywgaXNEZWZhdWx0KVxyXG5cclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX0JBU0VfVVJMfS9JbmZyYUVzdGFiZWxlY2ltZW50by9EZWZpbmVEZWZhdWx0RXN0YWJgO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PFJldEVycm9yPih1cmwsIG51bGwsIHsgJ3BhcmFtcyc6IHBhcmFtcywgJ2hlYWRlcnMnOiB0aGlzLl9IVFRQX0hFQURFUlMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uIE1lbnU6IEVzdGFiZWxlY2ltZW50b3NcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBVUERBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBERUxFVEVcclxuICAvLyBbLi4uXVxyXG4gIC8vICNlbmRyZWdpb24gREVMRVRFXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gU0VSVklDRVMgPD09PT09PT09PT1cclxuXHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gVVRJTElUSUVTIDw9PT09PT09PT09XHJcbiAgcHJpdmF0ZSBfbWVudUZvb3RlckltZzogVXN1YXJpb19JTUcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHVibGljIGdldE1lbnVGb290ZXJJbWcoKTogVXN1YXJpb19JTUcgfCBudWxsIHtcclxuICAgIGNvbnN0IGNhY2hlZEZvb3RlckltZyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lbnVGb290ZXJJbWcnKSEpO1xyXG5cclxuICAgIGlmIChjYWNoZWRGb290ZXJJbWcpIHsgcmV0dXJuIGNhY2hlZEZvb3RlckltZzsgfVxyXG4gICAgcmV0dXJuIHRoaXMuX21lbnVGb290ZXJJbWc7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRNZW51Rm9vdGVySW1nKHZhbHVlOiBVc3VhcmlvX0lNRyk6IHZvaWQge1xyXG4gICAgdGhpcy5fbWVudUZvb3RlckltZyA9IHZhbHVlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21lbnVGb290ZXJJbWcnLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzYXZlSW1hZ2VUb1N0b3JhZ2UoZm9vdGVySW1nU3JjOiBzdHJpbmcsIGZvb3RlckltZ05hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRNZW51Rm9vdGVySW1nKHsgVVNVQVJJT0lEOiB0aGlzLl9hdXRoU3RvcmFnZVNlcnZpY2UuaW5mcmFVc3VhcmlvSWQsIEZJTEVOQU1FOiBmb290ZXJJbWdOYW1lLCBGSUxFOiBmb290ZXJJbWdTcmMgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiBOZXdJbWcgRXZlbnRcclxuXHJcbiAgLy8gSW1wbGVtZW50YcOnw6NvIGRlIGzDs2dpY2EgdmlzdGEgbm8gbGluazogaHR0cHM6Ly9oYXNhbmdhbGFrZGludS5tZWRpdW0uY29tL2hvdy10by1jYWxsLWEtZnVuY3Rpb24taW4tYW5vdGhlci1jb21wb25lbnQtYW5ndWxhci11c2luZy1yeGpzLTNmMmU4NTkyMDcwNVxyXG4gIHByaXZhdGUgX3N1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIHB1YmxpYyBuZXdVc2VySW1hZ2VFdmVudCh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJqZWN0Lm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE5ld1VzZXJJbWFnZUV2ZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gTmV3SW1nIEV2ZW50XHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTElUSUVTIDw9PT09PT09PT09XHJcblxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWVzdGFiZWxlY2ltZW50by5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbW9kZWwvaWVzdGFiZWxlY2ltZW50by5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRXN0YWJlbGVjaW1lbnRvIHtcclxuICAgIElkOiBzdHJpbmcsXHJcbiAgICBOb21lOiBzdHJpbmdcclxufSJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1lbnUtaXRlbS1zdHJ1Y3R1cmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU3VibWVudUl0ZW1TdHJ1Y3R1cmUgfSBmcm9tICcuL2lzdWJtZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsJztcclxuXHJcbi8qKiBJbnRlcmZhY2UgcXVlIGRlZmluZSBhIGVzdHJ1dHVyYSBkZSB1bSBpdGVtIGRlIG1lbnUuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU1lbnVJdGVtU3RydWN0dXJlIHtcclxuICAgaWQ6IG51bWJlcjtcclxuICAgbGFiZWw6IHN0cmluZztcclxuICAgZGVzY3JpY2FvOiBzdHJpbmc7XHJcbiAgIGljb246IHN0cmluZztcclxuICAgcm91dGU6IHN0cmluZztcclxuICAgaXNFeHRlcm5hbDogYm9vbGVhbjtcclxuICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcclxuXHJcbiAgIGNoaWxkcmVuPzogSVN1Ym1lbnVJdGVtU3RydWN0dXJlW107XHJcbn1cclxuIl19
@@ -1,12 +0,0 @@
1
- export class IMenu {
2
- constructor() {
3
- this.LABEL = "";
4
- this.DESCRICAO = "";
5
- this.URL = "";
6
- this.CLASS_ICON = "";
7
- this.URL_DASHBOARD = "";
8
- this.TAG = "";
9
- this.STRUCT_LIST = [];
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1lbnUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxLQUFLO0lBQWxCO1FBR0UsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFFBQUcsR0FBVyxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixRQUFHLEdBQVcsRUFBRSxDQUFDO1FBRWpCLGdCQUFXLEdBdUJOLEVBQUUsQ0FBQTtJQUNULENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJTWVudSB7XHJcbiAgSUQhOiBudW1iZXI7XHJcbiAgVU5JQ09JRCE6IG51bWJlcjtcclxuICBMQUJFTDogc3RyaW5nID0gXCJcIjtcclxuICBERVNDUklDQU86IHN0cmluZyA9IFwiXCI7XHJcbiAgVVJMOiBzdHJpbmcgPSBcIlwiO1xyXG4gIENMQVNTX0lDT046IHN0cmluZyA9IFwiXCI7XHJcbiAgSVNfRVhJQkVNRU5VITogYm9vbGVhbjtcclxuICBVUkxfREFTSEJPQVJEOiBzdHJpbmcgPSBcIlwiO1xyXG4gIFRBRzogc3RyaW5nID0gXCJcIjtcclxuICBGSyE6IG51bWJlcjtcclxuICBTVFJVQ1RfTElTVDogW10gfCBbe1xyXG4gICAgSUQ6IG51bWJlcjtcclxuICAgIFVOSUNPSUQ6IG51bWJlcjtcclxuICAgIExBQkVMOiBzdHJpbmc7XHJcbiAgICBERVNDUklDQU86IHN0cmluZztcclxuICAgIFVSTDogc3RyaW5nO1xyXG4gICAgQ0xBU1NfSUNPTjogc3RyaW5nO1xyXG4gICAgSVNfRVhJQkVNRU5VOiBib29sZWFuO1xyXG4gICAgVVJMX0RBU0hCT0FSRDogc3RyaW5nO1xyXG4gICAgVEFHOiBzdHJpbmc7XHJcbiAgICBGSzogbnVtYmVyO1xyXG4gICAgU1RSVUNUX0xJU1Q6IFtdIHwgW3tcclxuICAgICAgSUQ6IG51bWJlcjtcclxuICAgICAgVU5JQ09JRDogbnVtYmVyO1xyXG4gICAgICBMQUJFTDogc3RyaW5nO1xyXG4gICAgICBERVNDUklDQU86IHN0cmluZztcclxuICAgICAgVVJMOiBzdHJpbmc7XHJcbiAgICAgIENMQVNTX0lDT046IHN0cmluZztcclxuICAgICAgSVNfRVhJQkVNRU5VOiBib29sZWFuO1xyXG4gICAgICBVUkxfREFTSEJPQVJEOiBzdHJpbmc7XHJcbiAgICAgIFRBRzogc3RyaW5nO1xyXG4gICAgICBGSzogbnVtYmVyO1xyXG4gICAgfV1cclxuICB9XSA9IFtdXHJcbn0iXX0=
@@ -1,12 +0,0 @@
1
- export class InfraUsuarioImg {
2
- constructor() {
3
- this.Tenant_Id = 0;
4
- this.Id = 0;
5
- this.Imagem = "";
6
- this.FileName = "";
7
- this.DataCriacao = new Date();
8
- this.Is_Active = false;
9
- this.UsuarioId = "";
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmF1c3VhcmlvaW1nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tb2RlbC9pbmZyYXVzdWFyaW9pbWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDRSxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLE9BQUUsR0FBVyxDQUFDLENBQUM7UUFDZixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSW5mcmFVc3VhcmlvSW1nIHtcclxuICBUZW5hbnRfSWQ6IG51bWJlciA9IDA7XHJcbiAgSWQ6IG51bWJlciA9IDA7XHJcbiAgSW1hZ2VtOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEZpbGVOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIERhdGFDcmlhY2FvOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBJc19BY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBVc3VhcmlvSWQ6IHN0cmluZyA9IFwiXCI7XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXN1Ym1lbnUtaXRlbS1zdHJ1Y3R1cmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2lzdWJtZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogSW50ZXJmYWNlIHF1ZSBkZWZpbmUgYSBlc3RydXR1cmEgZGUgdW0gaXRlbSBkZSBtZW51LiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElTdWJtZW51SXRlbVN0cnVjdHVyZSB7XHJcbiAgIGlkOiBudW1iZXI7XHJcbiAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgIGRlc2NyaWNhbzogc3RyaW5nO1xyXG4gICByb3V0ZTogc3RyaW5nO1xyXG4gICBpc0V4dGVybmFsOiBib29sZWFuO1xyXG4gICBpc1NlbGVjdGVkOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,10 +0,0 @@
1
- export class RetEstabelecimentoSession {
2
- constructor() {
3
- this.Error = false;
4
- this.ErrorMessage = "";
5
- this.InfraEstabNome = "";
6
- this.InfraEmpresaId = "";
7
- this.InfraEmpresaNome = "";
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0LWVzdGFiZWxlY2ltZW50by1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tb2RlbC9yZXQtZXN0YWJlbGVjaW1lbnRvLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHlCQUF5QjtJQUF0QztRQUNTLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDakMsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDNUIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDNUIscUJBQWdCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFcnJvciB9IGZyb20gJ25neC1zcC1pbmZyYSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUmV0RXN0YWJlbGVjaW1lbnRvU2Vzc2lvbiBpbXBsZW1lbnRzIElFcnJvciB7XHJcbiAgcHVibGljIEVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIEVycm9yTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuICBJbmZyYUVzdGFiTm9tZTogc3RyaW5nID0gXCJcIjtcclxuICBJbmZyYUVtcHJlc2FJZDogc3RyaW5nID0gXCJcIjtcclxuICBJbmZyYUVtcHJlc2FOb21lOiBzdHJpbmcgPSBcIlwiOyBcclxufVxyXG4iXX0=
@@ -1,8 +0,0 @@
1
- export class RetInfraUsuarioEmail {
2
- constructor() {
3
- this.Error = false;
4
- this.ErrorMessage = "";
5
- this.Email = "";
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0LWluZnJhdXN1YXJpb2VtYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tb2RlbC9yZXQtaW5mcmF1c3VhcmlvZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRXJyb3IgfSBmcm9tIFwibmd4LXNwLWluZnJhXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmV0SW5mcmFVc3VhcmlvRW1haWwgaW1wbGVtZW50cyBJRXJyb3J7XHJcbiAgRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBFcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcbiAgRW1haWw6IHN0cmluZyA9IFwiXCI7XHJcbn0iXX0=
@@ -1,11 +0,0 @@
1
- import { InfraUsuarioImg } from './infrausuarioimg';
2
- export class RetInfraUsuarioImg {
3
- constructor() {
4
- this.Error = false;
5
- this.ErrorMessage = "";
6
- this.InfraUsuarioImg = new InfraUsuarioImg();
7
- this.uncompressedFileSize = 0;
8
- this.compressedFileSize = 0;
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0LWluZnJhdXN1YXJpb2ltZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbW9kZWwvcmV0LWluZnJhdXN1YXJpb2ltZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNFLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN6RCx5QkFBb0IsR0FBbUIsQ0FBQyxDQUFDO1FBQ3pDLHVCQUFrQixHQUFtQixDQUFDLENBQUM7SUFDekMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUVycm9yIH0gZnJvbSBcIm5neC1zcC1pbmZyYVwiO1xyXG5pbXBvcnQgeyBJbmZyYVVzdWFyaW9JbWcgfSBmcm9tICcuL2luZnJhdXN1YXJpb2ltZyc7XHJcblxyXG5leHBvcnQgY2xhc3MgUmV0SW5mcmFVc3VhcmlvSW1nIGltcGxlbWVudHMgSUVycm9ye1xyXG4gIEVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgRXJyb3JNZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEluZnJhVXN1YXJpb0ltZzogSW5mcmFVc3VhcmlvSW1nID0gbmV3IEluZnJhVXN1YXJpb0ltZygpO1xyXG4gIHVuY29tcHJlc3NlZEZpbGVTaXplPzogbnVtYmVyIHwgbnVsbCA9IDA7XHJcbiAgY29tcHJlc3NlZEZpbGVTaXplPzogbnVtYmVyIHwgbnVsbCA9IDA7XHJcbn0iXX0=
@@ -1,8 +0,0 @@
1
- export class Usuario_IMG {
2
- constructor() {
3
- this.USUARIOID = "";
4
- this.FILENAME = "";
5
- this.FILE = "";
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXN1YXJpby1pbWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL3VzdWFyaW8taW1nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBQ1MsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVzdWFyaW9fSU1HIHtcclxuICBwdWJsaWMgVVNVQVJJT0lEOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBGSUxFTkFNRTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgRklMRTogc3RyaW5nID0gXCJcIjtcclxufVxyXG4iXX0=