uitec-ng-header 1.1.0 → 1.1.1

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 (48) hide show
  1. package/README.md +11 -182
  2. package/esm2020/lib/ui-header.component.mjs +10 -26
  3. package/esm2020/lib/ui-header.module.mjs +4 -10
  4. package/esm2020/public-api.mjs +1 -17
  5. package/fesm2015/uitec-ng-header.mjs +14 -1808
  6. package/fesm2015/uitec-ng-header.mjs.map +1 -1
  7. package/fesm2020/uitec-ng-header.mjs +14 -1771
  8. package/fesm2020/uitec-ng-header.mjs.map +1 -1
  9. package/lib/ui-header.component.d.ts +4 -10
  10. package/lib/ui-header.module.d.ts +1 -2
  11. package/package.json +2 -3
  12. package/public-api.d.ts +0 -15
  13. package/esm2020/lib/assistant/components/assistant-action-card/ui-assistant-action-card.component.mjs +0 -102
  14. package/esm2020/lib/assistant/components/assistant-button/ui-assistant-button.component.mjs +0 -18
  15. package/esm2020/lib/assistant/components/assistant-composer/ui-assistant-composer.component.mjs +0 -79
  16. package/esm2020/lib/assistant/components/assistant-layout/ui-assistant-layout.component.mjs +0 -140
  17. package/esm2020/lib/assistant/components/assistant-messages/ui-assistant-messages.component.mjs +0 -144
  18. package/esm2020/lib/assistant/components/assistant-panel/ui-assistant-panel.component.mjs +0 -156
  19. package/esm2020/lib/assistant/components/assistant-text/ui-assistant-text.component.mjs +0 -26
  20. package/esm2020/lib/assistant/models/uiny-api.models.mjs +0 -12
  21. package/esm2020/lib/assistant/models/uiny.models.mjs +0 -2
  22. package/esm2020/lib/assistant/services/ui-assistant.service.mjs +0 -137
  23. package/esm2020/lib/assistant/services/uiny-api.service.mjs +0 -149
  24. package/esm2020/lib/assistant/services/uiny-chat.service.mjs +0 -368
  25. package/esm2020/lib/assistant/services/uiny-session.service.mjs +0 -74
  26. package/esm2020/lib/assistant/ui-assistant.module.mjs +0 -59
  27. package/esm2020/lib/assistant/uiny.config.mjs +0 -53
  28. package/esm2020/lib/assistant/utils/uiny-api.adapter.mjs +0 -154
  29. package/esm2020/lib/assistant/utils/uiny-contexto.mjs +0 -43
  30. package/esm2020/lib/assistant/utils/uiny-markdown.mjs +0 -122
  31. package/lib/assistant/components/assistant-action-card/ui-assistant-action-card.component.d.ts +0 -33
  32. package/lib/assistant/components/assistant-button/ui-assistant-button.component.d.ts +0 -9
  33. package/lib/assistant/components/assistant-composer/ui-assistant-composer.component.d.ts +0 -24
  34. package/lib/assistant/components/assistant-layout/ui-assistant-layout.component.d.ts +0 -51
  35. package/lib/assistant/components/assistant-messages/ui-assistant-messages.component.d.ts +0 -38
  36. package/lib/assistant/components/assistant-panel/ui-assistant-panel.component.d.ts +0 -53
  37. package/lib/assistant/components/assistant-text/ui-assistant-text.component.d.ts +0 -14
  38. package/lib/assistant/models/uiny-api.models.d.ts +0 -109
  39. package/lib/assistant/models/uiny.models.d.ts +0 -104
  40. package/lib/assistant/services/ui-assistant.service.d.ts +0 -55
  41. package/lib/assistant/services/uiny-api.service.d.ts +0 -38
  42. package/lib/assistant/services/uiny-chat.service.d.ts +0 -82
  43. package/lib/assistant/services/uiny-session.service.d.ts +0 -38
  44. package/lib/assistant/ui-assistant.module.d.ts +0 -19
  45. package/lib/assistant/uiny.config.d.ts +0 -31
  46. package/lib/assistant/utils/uiny-api.adapter.d.ts +0 -22
  47. package/lib/assistant/utils/uiny-contexto.d.ts +0 -7
  48. package/lib/assistant/utils/uiny-markdown.d.ts +0 -37
package/README.md CHANGED
@@ -1,196 +1,25 @@
1
1
  # uitec-ng-header
2
2
 
3
- Cabeçalho compartilhado (`<ui-header>`) e a **Uiny**, assistente virtual da Uishop.
3
+ Cabeçalho compartilhado (`<ui-header>`).
4
4
 
5
5
  ```bash
6
6
  ng build ui-header # gera dist/ui-header
7
- ng test ui-header --watch=false --browsers=ChromeHeadless --karma-config=karma.conf.js
8
7
  ```
9
8
 
10
- ---
9
+ ## Slots
11
10
 
12
- ## Uiny
13
-
14
- O header só mostra o botão. A conversa fica no `<ui-assistant-layout>`, que envolve a aplicação e abre o painel **à direita, ocupando espaço real**: a aplicação (header e sidebar fixos inclusive) passa a usar a largura restante à esquerda, sem ficar coberta.
15
-
16
- O botão só aparece quando **todas** as condições valem:
17
-
18
- 1. o header está com `[showAssistant]="true"` (padrão `false`; quem não liga continua igual);
19
- 2. existe um `<ui-assistant-layout>` envolvendo a aplicação;
20
- 3. o `AuthService` do `uitec-ng-core` tem usuário com token e empresa atual;
21
- 4. a URL da API está configurada.
22
-
23
- ### 1. Configurar a URL da API e o sistema
24
-
25
- `AppModule`:
26
-
27
- ```ts
28
- import { UiAssistantModule } from 'uitec-ng-header';
29
-
30
- @NgModule({
31
- imports: [
32
- UiHeaderModule, // já reexporta os componentes da Uiny
33
- UiAssistantModule.forRoot({ sistemaOrigem: 'studio' }), // 'erp' no ERP
34
- ],
35
- })
36
- ```
37
-
38
- A URL vem de `environment.domain.uiny`. Inclua o `/api/v1`:
39
-
40
- ```ts
41
- // environment.ts
42
- domain: {
43
- api: 'http://localhost:8000/api',
44
- uiny: 'http://localhost:8100/api/v1', // uishop-ia
45
- }
46
- // environment.prod.ts
47
- domain: { uiny: 'https://<host-da-uiny>/api/v1' }
48
- ```
49
-
50
- `forRoot({ apiUrl })` sobrescreve o environment se precisar. Opções: `larguraPainel` (340–400, padrão 380) e `larguraMinimaLadoALado` (padrão 1200).
51
-
52
- **Avatar:** como as outras imagens das libs (logo, coroa), o arquivo fica nos `assets` de cada aplicação. Coloque em `src/assets/images/uiny/avatar.svg` no Studio, no ERP e na demo, ou informe outro caminho em `forRoot({ avatarUrl })`. Se a imagem não carregar, o painel mostra o ícone padrão.
53
-
54
- A origem do Angular precisa estar em `CORS_ORIGINS` do uishop-ia.
55
-
56
- ### 2. Autenticação
57
-
58
- Nada novo para configurar. A Uiny lê o token de `AuthService.currentUserValue.token`, a mesma fonte do `JwtInterceptor`, e envia `Authorization: Bearer` **somente** para a URL da Uiny.
59
-
60
- As chamadas da Uiny usam um `HttpClient` próprio, sem os interceptors da aplicação. Motivo: o `ErrorInterceptor` troca o erro por uma string e perde o status. Sem o status não dá para distinguir sessão expirada, ação expirada e conflito. Além disso, ele mostraria toasts globais, e o `SpinnerInterceptor` cobriria a tela a cada mensagem.
61
-
62
- A Uiny fecha o painel, cancela as requisições e descarta conversa, ações e catálogo em memória quando:
63
-
64
- - acontece logout (`currentUser` vira `null`);
65
- - muda o usuário, a empresa atual ou o token (inclusive no re-login do mesmo usuário);
66
- - a API responde 401 (a Uiny fica oculta até a sessão mudar).
67
-
68
- Nada vai para `localStorage`/`sessionStorage`. Sem internet (`navigator.onLine`), o painel mostra o aviso e bloqueia o envio.
69
-
70
- ### 3. Integrar ao layout (Studio e ERP)
71
-
72
- **A flag no header sozinha não desloca a aplicação.** Envolva o conteúdo do `content.component.html`:
11
+ O header aceita três templates por conteúdo projetado: `#left`, `#center` e `#right`. O `#right` é renderizado dentro da lista de ícones da direita, então use `<li>`:
73
12
 
74
13
  ```html
75
- <ui-assistant-layout (assistantEvent)="aoEventoUiny($event)">
76
- <div [ngClass]="layout.config.settings.layout_type" [class]="layout.config.settings.layout_version">
77
- <div class="page-wrapper" id="canvas-bookmark" [ngClass]="layoutClass">
78
- <app-header *ngIf="userObs | async"></app-header>
79
- ...
80
- </div>
81
- </div>
82
- <ui-suporte></ui-suporte> <!-- ERP: dentro do layout, para acompanhar a coluna -->
83
- </ui-assistant-layout>
84
- <app-spinner *ngIf="spinnerService.spinnerObservable | async"></app-spinner>
85
- ```
86
-
87
- E no wrapper do header (`header.component.html`):
88
-
89
- ```html
90
- <ui-header [showAssistant]="true" ...>
91
- ```
92
-
93
- Como funciona:
94
-
95
- - **Fechado:** wrappers neutros, a janela rola normalmente. Nada muda para o usuário.
96
- - **Aberto (≥ 1200 px):** linha flex `[aplicação | painel]` com a altura da viewport. A coluna da aplicação recebe `contain: layout paint`, então os elementos `position: fixed` do tema Cuba (`.page-header`, `.sidebar-wrapper`) passam a se posicionar dentro dela, e ela ganha rolagem própria. A posição de rolagem é transferida na abertura e devolvida no fechamento. A cada `NavigationEnd`, a coluna volta ao topo (o `scrollPositionRestoration` do router só atua na janela).
97
- - **Aberto (< 1200 px):** o painel ocupa a largura toda e a aplicação fica recolhida (`inert`) até o usuário tocar em "Voltar".
98
- - Transição de largura de 240 ms, desligada com `prefers-reduced-motion`.
99
-
100
- Efeitos colaterais conhecidos com o painel aberto:
101
-
102
- - Listeners de `window.scroll` não disparam, porque quem rola é a coluna.
103
- - As media queries do tema continuam medindo a viewport: o layout desktop do Cuba é mantido na coluna, que tem no mínimo 800 px.
104
- - Modais e overlays anexados ao `body` continuam cobrindo a tela toda, como hoje.
105
-
106
- O header da lib passou a usar `width: 100%` em `.not-sidebar` (antes `100vw`) para acompanhar a coluna.
107
-
108
- ### 4. Contexto da tela
109
-
110
- ```ts
111
- constructor(private uiny: UiAssistantService) { }
112
-
113
- ngOnInit() {
114
- this.uiny.definirContexto({
115
- tela: 'loja-leiaute/editar', // até 60 caracteres [a-z0-9_-/.]
116
- idLoja: this.loja.id_loja,
117
- idLojaLeiaute: this.lojaLeiaute.id_loja_leiaute,
118
- // também: idTema, idProduto, idPedido
119
- });
120
- }
121
- ngOnDestroy() { this.uiny.definirContexto(null); }
14
+ <ui-header ...>
15
+ <ng-template #right>
16
+ <li><ui-assistant-button></ui-assistant-button></li>
17
+ </ng-template>
18
+ </ui-header>
122
19
  ```
123
20
 
124
- Os campos seguem o `ContextoTela` do backend, que recusa campos extras com 422. O `sistema` vem do `forRoot`. `atualizarContexto({ idLoja })` altera só os campos informados, e valores inválidos são descartados. O contexto é só uma indicação: quem autoriza é o backend. Com `idLoja`, o backend confere no Studio se a loja é da empresa (403 se não for) e restringe a conversa a ela.
125
-
126
- **Trocar de loja encerra a conversa atual.** A lista "Conversas anteriores" mostra só as do mesmo sistema e da mesma loja. Trocar de empresa limpa tudo (seção 2).
127
-
128
- ### 5. Eventos de ações concluídas
129
-
130
- ```ts
131
- aoEventoUiny(e: UinyEvento) {
132
- switch (e.tipo) {
133
- case 'acao_concluida': // a API devolveu a ação como "executada"
134
- break;
135
- case 'tema_atualizado': // instrução "atualizar_preview_tema" do backend
136
- if (e.idLojaLeiaute === this.lojaLeiaute?.id_loja_leiaute) this.recarregarPreview();
137
- break;
138
- }
139
- }
140
- ```
141
-
142
- Também disponível como `UiAssistantService.eventos$`. Eventos só saem de respostas novas, nunca do histórico. Instruções fora da lista são descartadas. O componente não navega e não executa nada recebido da API.
143
-
144
- ### Exemplos
145
-
146
- **Studio** (`sistemaOrigem: 'studio'`): contexto com `idLoja` e `idLojaLeiaute` na tela do editor; recarregar a prévia em `tema_atualizado`.
147
-
148
- **ERP** (`sistemaOrigem: 'erp'`): contexto com `tela` (ex.: `produto/form`) e `idProduto` ou `idPedido` quando houver. As ferramentas atuais do ERP são só de consulta.
149
-
150
- ### Confirmação de ações
151
-
152
- O card mostra o `resumo` e os `detalhes` da ação (na troca de cor: tema, loja, cor, valor atual e novo, com amostra), o prazo e os botões **Confirmar** e **Cancelar**:
153
-
154
- - A confirmação só acontece pelo clique. O card envia `POST /acoes/{id}/confirmar` com corpo `{}`: nenhum argumento sai do frontend.
155
- - Cliques repetidos são ignorados enquanto a ação não está `pendente`.
156
- - Sucesso só aparece com `situacao: executada` na resposta. Situação desconhecida vira "Resultado a verificar".
157
- - 409 `ACAO_INVALIDADA`: o card antigo vira "Precisa de nova confirmação" e a nova proposta aparece com seus próprios botões.
158
- - 409 de expirada, cancelada ou em execução, e 502/504: o card usa a situação que vem no corpo do erro.
159
- - Timeout ou erro de rede depois de confirmar: **nada é repetido**. O card fica "Resultado a verificar" com o botão "Verificar resultado", que relê o histórico da conversa.
160
- - Ação vencida pelo relógio local não é enviada.
161
-
162
- Pedidos de esclarecimento (`estado: esclarecimento` com bloco `opcoes`) mostram as opções como botões na última mensagem; o clique envia a opção como texto.
163
-
164
- ### Segurança e acessibilidade
165
-
166
- - O texto é renderizado como um subconjunto de Markdown por interpolação (sem `innerHTML`, sem bypass). Links só `http`, `https` e `mailto`, abertos com `noopener noreferrer`.
167
- - Mensagens de 5xx não são exibidas cruas. O id de correlação aparece para o suporte.
168
- - Painel `aside` não modal no desktop, com rótulo acessível. O foco vai para o campo ao abrir e volta ao botão ao fechar. Escape fecha. Há uma região `aria-live` discreta para "respondendo", "nova resposta" e "alteração concluída".
169
- - Enter envia e Shift+Enter quebra a linha. Composição (IME) é respeitada. Envio vazio ou duplicado é bloqueado. O limite é de 2000 caracteres (`UINY_MENSAGEM_MAX_CARACTERES` do backend).
170
-
171
- ### API pública
172
-
173
- `UiAssistantModule`, `UiAssistantService`, `UinyChatService`, `UinyApiService`, `UinySessionService`, os componentes `ui-assistant-*`, os tipos `UinyConfig`, `UinyContexto`, `UinyEvento` e `Uiny*Api`, e `UINY_CONFIG`.
174
-
175
- ### Contrato
176
-
177
- Fonte: `C:\git\uishop\uishop-ia` (README, `config/web.php`, `services/uiny/ApresentadorConversa.php`, `ContextoTela.php`, `ConfirmacaoService.php`, `config/Constants.php`). Tipos em `lib/assistant/models/uiny-api.models.ts`, conversão em `utils/uiny-api.adapter.ts`.
178
-
179
- | Rota (`/api/v1`) | Uso no frontend |
180
- |---|---|
181
- | `POST /conversas` `{ contexto }` | criada no primeiro envio |
182
- | `POST /conversas/{id}/mensagens` `{ texto, contexto }` | resposta com `conversa`, `estado`, `mensagem`, `acao_pendente` |
183
- | `GET /conversas?page=1&per_page=20` | "Conversas anteriores", filtrada pelo sistema e pela loja atuais |
184
- | `GET /conversas/{id}?page=1&per_page=100` | abrir conversa anterior e "Verificar resultado" |
185
- | `POST /acoes/{id}/confirmar` e `/cancelar` | corpo `{}` |
186
-
187
- Pontos em aberto:
188
-
189
- - **Sugestões iniciais:** a API não expõe o catálogo de ferramentas. As sugestões ficam em `UINY_SUGESTOES` (`uiny.config.ts`) e acompanham as ferramentas listadas no README do backend; mantenha os dois em sincronia.
190
- - **Blocos de `apresentacao`:** só `opcoes` é renderizado. `lista_produtos`, `resumo_vendas`, `lista_lojas`, `tema` e `alteracao_cor` aparecem apenas pelo texto da mensagem.
191
- - **Histórico longo:** abrir uma conversa carrega as 100 mensagens mais recentes; não há "carregar anteriores".
192
- - **401:** o backend sugere redirecionar para o login. A Uiny apenas se esconde, para não derrubar a sessão da aplicação por causa da idade máxima de token, que é mais curta na Uiny.
21
+ ## Uiny (assistente)
193
22
 
194
- ### Demonstração
23
+ Fica na lib `uitec-ng-assistant` (veja o README dela). O header não depende dela: para mostrar o botão da Uiny, use o slot `#right` como no exemplo acima.
195
24
 
196
- App `cuba`, rota `#/assistente` ("Uiny (assistente)" no menu). A API é simulada por `src/app/site/pages/assistente/demo/uiny-demo.backend.ts`, no formato do contrato real, que só responde a `https://uiny-demo.local/api/v1` e repassa o resto ao `HttpXhrBackend`. O usuário é trocado só em memória. A página tem controles para recurso ligado/desligado, login/logout, troca de loja, resultado da confirmação e atraso. Para usar a API real na demo, defina `environment.domain.uiny` (a demo passa a usá-la no lugar da simulada) e entre no Studio ou no ERP em `localhost` para ter o cookie de sessão.
25
+ Até a `1.1.0`, a Uiny vinha dentro do header (`[showAssistant]` e os exports `UiAssistant*`/`Uiny*`). Na `1.1.1` isso foi removido.
@@ -1,41 +1,27 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { Component, ContentChild, EventEmitter, Inject, Input, Output, TemplateRef } from '@angular/core';
3
3
  import { AuthService, BaseUrlService, IframeService, LayoutService, UsuarioMenuDTO } from 'uitec-ng-core';
4
- import { UiAssistantService } from './assistant/services/ui-assistant.service';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "uitec-ng-core";
7
- import * as i2 from "./assistant/services/ui-assistant.service";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "uitec-ng-icon";
10
- import * as i5 from "primeng/tooltip";
11
- import * as i6 from "./assistant/components/assistant-button/ui-assistant-button.component";
12
- import * as i7 from "./my-account/my-account.component";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "uitec-ng-icon";
8
+ import * as i4 from "primeng/tooltip";
9
+ import * as i5 from "./my-account/my-account.component";
13
10
  export class UiHeaderComponent {
14
- constructor(authService, urlService, layoutService, iframeService, assistantService, document) {
11
+ constructor(authService, urlService, layoutService, iframeService, document) {
15
12
  this.authService = authService;
16
13
  this.urlService = urlService;
17
14
  this.layoutService = layoutService;
18
15
  this.iframeService = iframeService;
19
- this.assistantService = assistantService;
20
16
  this.document = document;
21
17
  this.sidebar = true;
22
18
  this.redirectHome = true;
23
19
  this.darkDefault = "light";
24
- /** Exibe o botão da Uiny (assistente virtual). Exige um <ui-assistant-layout> envolvendo a aplicação. */
25
- this.showAssistant = false;
26
20
  this.collapseSidebarChange = new EventEmitter();
27
21
  this.fullScreenChange = new EventEmitter();
28
22
  this.headerBackdropChange = new EventEmitter();
29
23
  this.onNavigate = new EventEmitter();
30
24
  }
31
- ngOnChanges(changes) {
32
- if (changes['showAssistant']) {
33
- this.assistantService.definirHabilitado(this, !!this.showAssistant);
34
- }
35
- }
36
- ngOnDestroy() {
37
- this.assistantService.definirHabilitado(this, false);
38
- }
39
25
  ngOnInit() {
40
26
  this.elem = document.documentElement;
41
27
  this.userObs = this.authService.currentUserValue;
@@ -174,12 +160,12 @@ export class UiHeaderComponent {
174
160
  }
175
161
  }
176
162
  }
177
- UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: i1.IframeService }, { token: i2.UiAssistantService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
178
- UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault", showAssistant: "showAssistant" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li *ngIf=\"showAssistant && (assistantService.disponivel$ | async)\" class=\"uiny-nav\">\r\n <ui-assistant-button></ui-assistant-button>\r\n </li>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->\r\n", styles: ["@charset \"UTF-8\";::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100%!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.UiAssistantButtonComponent, selector: "ui-assistant-button" }, { kind: "component", type: i7.MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
163
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: i1.IframeService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
164
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->\r\n", styles: ["@charset \"UTF-8\";::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100%!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i5.MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
179
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
180
166
  type: Component,
181
- args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li *ngIf=\"showAssistant && (assistantService.disponivel$ | async)\" class=\"uiny-nav\">\r\n <ui-assistant-button></ui-assistant-button>\r\n </li>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->\r\n", styles: ["@charset \"UTF-8\";::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100%!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
182
- }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: i1.IframeService }, { type: i2.UiAssistantService }, { type: undefined, decorators: [{
167
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->\r\n", styles: ["@charset \"UTF-8\";::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100%!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
168
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: i1.IframeService }, { type: undefined, decorators: [{
183
169
  type: Inject,
184
170
  args: [DOCUMENT]
185
171
  }] }]; }, propDecorators: { collapseSidebar: [{
@@ -198,8 +184,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
198
184
  type: Input
199
185
  }], darkDefault: [{
200
186
  type: Input
201
- }], showAssistant: [{
202
- type: Input
203
187
  }], collapseSidebarChange: [{
204
188
  type: Output
205
189
  }], fullScreenChange: [{
@@ -218,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
218
202
  type: ContentChild,
219
203
  args: ['right']
220
204
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1oZWFkZXIvc3JjL2xpYi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckssT0FBTyxFQUFjLFdBQVcsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBZSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQU8vRSxNQUFNLE9BQU8saUJBQWlCO0lBNEIxQixZQUNXLFdBQXdCLEVBQ3hCLFVBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLGdCQUFvQyxFQUNqQixRQUFhO1FBTGhDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQTNCbEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUFXLE9BQU8sQ0FBQztRQUN2Qyx5R0FBeUc7UUFDaEcsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFOUIs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VTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRWUsSUFBSTtzQkFBekIsWUFBWTt1QkFBQyxNQUFNO2dCQUNJLE1BQU07c0JBQTdCLFlBQVk7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUEzQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoQWNlc3NvLCBBdXRoU2VydmljZSwgQmFzZVVybFNlcnZpY2UsIElmcmFtZVNlcnZpY2UsIExheW91dFNlcnZpY2UsIFVzZXJBdXRoRFRPLCBVc3VhcmlvTWVudURUTyB9IGZyb20gJ3VpdGVjLW5nLWNvcmUnO1xyXG5pbXBvcnQgeyBVaUFzc2lzdGFudFNlcnZpY2UgfSBmcm9tICcuL2Fzc2lzdGFudC9zZXJ2aWNlcy91aS1hc3Npc3RhbnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndWktaGVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVpSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgY29sbGFwc2VTaWRlYmFyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZnVsbFNjcmVlbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhlYWRlckJhY2tkcm9wOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpc0ZyZWU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIG1lbnVzOiBVc3VhcmlvTWVudURUT1tdO1xyXG4gICAgQElucHV0KCkgc2lkZWJhcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSByZWRpcmVjdEhvbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZGFya0RlZmF1bHQ6IHN0cmluZyA9IFwibGlnaHRcIjtcclxuICAgIC8qKiBFeGliZSBvIGJvdMOjbyBkYSBVaW55IChhc3Npc3RlbnRlIHZpcnR1YWwpLiBFeGlnZSB1bSA8dWktYXNzaXN0YW50LWxheW91dD4gZW52b2x2ZW5kbyBhIGFwbGljYcOnw6NvLiAqL1xyXG4gICAgQElucHV0KCkgc2hvd0Fzc2lzdGFudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSBjb2xsYXBzZVNpZGViYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgZnVsbFNjcmVlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBoZWFkZXJCYWNrZHJvcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBvbk5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxVc3VhcmlvTWVudURUTz4oKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdsZWZ0JykgbGVmdDogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ2NlbnRlcicpIGNlbnRlcjogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ3JpZ2h0JykgcmlnaHQ6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgcHVibGljIHN0YXR1U2lkZWJhcjtcclxuICAgIHB1YmxpYyBkYXJrOiBib29sZWFuO1xyXG4gICAgcHVibGljIGVsZW06IGFueTtcclxuICAgIHB1YmxpYyB1c2VyT2JzOiBVc2VyQXV0aERUTztcclxuICAgIHB1YmxpYyBhY2Nlc3NPYnM6IEF1dGhBY2Vzc287XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgdXJsU2VydmljZTogQmFzZVVybFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGFzc2lzdGFudFNlcnZpY2U6IFVpQXNzaXN0YW50U2VydmljZSxcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcclxuICAgICkgeyB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzaG93QXNzaXN0YW50J10pIHtcclxuICAgICAgICAgICAgdGhpcy5hc3Npc3RhbnRTZXJ2aWNlLmRlZmluaXJIYWJpbGl0YWRvKHRoaXMsICEhdGhpcy5zaG93QXNzaXN0YW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hc3Npc3RhbnRTZXJ2aWNlLmRlZmluaXJIYWJpbGl0YWRvKHRoaXMsIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIHRoaXMudXNlck9icyA9IHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZTtcclxuICAgICAgICB0aGlzLmFjY2Vzc09icyA9IHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudEFjY2Vzc1ZhbHVlO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJPYnMgPSBkYXRhO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRBY2Nlc3Muc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYWNjZXNzT2JzID0gZGF0YTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXJrID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2RhcmtNb2RlJykgPT0gJ2VuYWJsZWQnO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnNldHRpbmdzLmxheW91dF92ZXJzaW9uID0gdGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IHRoaXMuZGFya0RlZmF1bHQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IFwibGlnaHRcIik7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiKTtcclxuXHJcbiAgICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyT25JZnJhbWUoKTtcclxuICAgICAgICB0aGlzLmJ1aWxkQW1iaWVudGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBsYXlvdXRUb2dnbGUoKSB7XHJcbiAgICAgICAgdGhpcy5kYXJrID0gIXRoaXMuZGFyaztcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGFya01vZGUnLCB0aGlzLmRhcmsgPyAnZW5hYmxlZCcgOiAnZGlzYWJsZWQnKTtcclxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnNldHRpbmdzLmxheW91dF92ZXJzaW9uID0gdGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IFwibGlnaHRcIjtcclxuICAgICAgICBjb25zdCBjbGFzc0NvbG9yID0gdGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IFwibGlnaHRcIjtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnZGFyay1vbmx5Jyk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2xpZ2h0Jyk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoY2xhc3NDb2xvcik7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZGFyay1vbmx5Jyk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbGlnaHQnKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzQ29sb3IpO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUlmcmFtZVRoZW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlSWZyYW1lVGhlbWUoKSB7XHJcbiAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZyYW1lJyk7XHJcbiAgICAgICAgaWYgKCFpZnJhbWUgfHwgIWlmcmFtZS5jb250ZW50V2luZG93KSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IHRoZW1lID0gdGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IFwibGlnaHRcIjtcclxuICAgICAgICBjb25zdCBpZnJhbWVTcmMgPSBpZnJhbWUuZ2V0QXR0cmlidXRlKCdzcmMnKTtcclxuXHJcbiAgICAgICAgbGV0IG9yaWdpbiA9IFwiKlwiOyAvLyBVc2EgXCIqXCIgcG9yIHBhZHLDo28gcGFyYSBldml0YXIgZXJyb1xyXG5cclxuICAgICAgICBpZiAoaWZyYW1lU3JjKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGlmcmFtZVNyYywgd2luZG93LmxvY2F0aW9uLm9yaWdpbik7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW4gPSB1cmwub3JpZ2luOyAvLyBFeHRyYWkgbyBkb23DrW5pbyBjb3JyZXRhbWVudGVcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvIGFvIGV4dHJhaXIgbyBvcmlnaW4gZG8gaWZyYW1lOlwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHsgdGhlbWUgfSwgb3JpZ2luKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRFdmVudExpc3RlbmVyT25JZnJhbWUoKSB7XHJcbiAgICAgICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTtcclxuICAgICAgICBpZiAoIWZyYW1lKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSWZyYW1lVGhlbWUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvL3JlY2ViZSBvIHZhbG9yIGluaWNpYWwgZG8gY29sbGFwc2VTaWRlYmFyIGUgZ3JhdmEgbm8gbG9jYWxzdG9yYWdlXHJcbiAgICBzZXRTdGF0dXNTaWRlQmFyKCkge1xyXG4gICAgICAgIHRoaXMuc3RhdHVTaWRlYmFyID0gdGhpcy5jb2xsYXBzZVNpZGViYXI7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xvY2FsJywgdGhpcy5zdGF0dVNpZGViYXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHNpZGViYXJUb2dnbGUoKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZVNpZGViYXIgPSAhdGhpcy5jb2xsYXBzZVNpZGViYXI7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0dXNTaWRlQmFyKCk7XHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZVNpZGViYXJDaGFuZ2UuZW1pdCh0aGlzLmNvbGxhcHNlU2lkZWJhcik7XHJcbiAgICB9XHJcblxyXG4gICAgaG9tZSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMucmVkaXJlY3RIb21lKSByZXR1cm47XHJcblxyXG4gICAgICAgIGxldCBtZW51ID0gbmV3IFVzdWFyaW9NZW51RFRPKCk7XHJcbiAgICAgICAgbWVudS5kc19yb3RhID0gJy8nO1xyXG4gICAgICAgIG1lbnUuZHNfdGlwbyA9ICdsaW5rJztcclxuICAgICAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChtZW51KTtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKSB7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xpY2tNZW51KG1lbnU6IFVzdWFyaW9NZW51RFRPKSB7XHJcbiAgICAgICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQobWVudSk7XHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRBbWJpZW50ZSgpIHtcclxuICAgICAgICBsZXQgdGV4dENvbnRlbnQgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAobG9jYXRpb24uaG9zdC5zZWFyY2goJ2hvbS0nKSA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRleHRDb250ZW50ID0gJ0hvbW9sb2cnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobG9jYXRpb24uaG9zdC5zZWFyY2goJ2xvY2FsaG9zdCcpID09IDApIHtcclxuICAgICAgICAgICAgdGV4dENvbnRlbnQgPSAnRGV2ZWxvcCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRleHRDb250ZW50KSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgZGl2LmNsYXNzTmFtZSA9IGBhbWJpZW50ZSBhbWJpZW50ZS0ke3RleHRDb250ZW50LnRvTG93ZXJDYXNlKCl9YDtcclxuICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gdGV4dENvbnRlbnQ7XHJcbiAgICAgICAgZGl2LmFwcGVuZENoaWxkKHNwYW4pO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVGdWxsU2NyZWVuKCkge1xyXG4gICAgICAgIHRoaXMuZnVsbFNjcmVlbiA9ICF0aGlzLmZ1bGxTY3JlZW47XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbGVtLnJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmVsZW0ubW96UmVxdWVzdEZ1bGxTY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgIC8qIEZpcmVmb3ggKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmVsZW0ubXNSZXF1ZXN0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogSUUvRWRnZSAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJRS9FZGdlICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8IS0tIFBhZ2UgSGVhZGVyIEJhY2tkcm9wIC0tPlxyXG48ZGl2ICpuZ0lmPVwiaGVhZGVyQmFja2Ryb3BcIiAoY2xpY2spPVwibmF2U2VydmljZS5oaWRlQWxsUG9wVXBzKClcIiBjbGFzcz1cImhlYWRlci1iYWNrZ3JvcFwiPjwvZGl2PlxyXG5cclxuPCEtLSBQYWdlIEhlYWRlciBTdGFydCAtLT5cclxuPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyXCIgW2NsYXNzLmNsb3NlX2ljb25dPVwiY29sbGFwc2VTaWRlYmFyXCIgW2NsYXNzLm5vdC1zaWRlYmFyXT1cIiFzaWRlYmFyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXdyYXBwZXIgZC1mbGV4IG0tMCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItbG9nby13cmFwcGVyIGNvbC1hdXRvIGQtbGctbm9uZSBweC0wXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaWRlYmFyXCIgY2xhc3M9XCJ0b2dnbGUtc2lkZWJhclwiIChjbGljayk9XCJzaWRlYmFyVG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgICAgIDx1aS1pY29uIGljb249XCJtZW51XCIgY2xhc3M9XCJzdGF0dXNfdG9nZ2xlIG1pZGRsZVwiPjwvdWktaWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxhIChjbGljayk9XCJob21lKClcIiBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwicmVkaXJlY3RIb21lXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLWZsdWlkIGZvci1kYXJrIGltYWdlLWxvZ28gZC1tZC1ub25lXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9sb2dvL2xvZ29fZGFyay5wbmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWhlYWRlciBob3Jpem9udGFsLXdyYXBwZXIgcHMtMFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxlZnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjZW50ZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1yaWdodCBwLTBcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2LW1lbnVzXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxsaSBjbGFzcz1cImxhbmd1YWdlLW5hdlwiIChjbGljayk9XCJsYW5ndWFnZVRvZ2dsZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGhlYWRlci1sYW5ndWFnZXM+PC9oZWFkZXItbGFuZ3VhZ2VzPlxyXG4gICAgICAgICAgICAgICAgPC9saT4gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGcmVlOyB0aGVuIGxpVXBncmFkZTsgZWxzZSBsaUVtcHR5XCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaVVwZ3JhZGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBib3JkZXItMCByb3VuZGVkLXBpbGwgZ2FwLTIgYi1jb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1vZGFsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy9jb3JvYS5zdmdcIiBjbGFzcz1cInctYXV0b1wiIGFsdD1cImljb25lLWNvcm9hXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhw6dhIFVwZ3JhZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xpRW1wdHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicmlnaHRcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJzaG93QXNzaXN0YW50ICYmIChhc3Npc3RhbnRTZXJ2aWNlLmRpc3Bvbml2ZWwkIHwgYXN5bmMpXCIgY2xhc3M9XCJ1aW55LW5hdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1aS1hc3Npc3RhbnQtYnV0dG9uPjwvdWktYXNzaXN0YW50LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImxheW91dFRvZ2dsZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1aS1pY29uIHBUb29sdGlwPVwiQXRpdmFyIE1vZG8gRXNjdXJvXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgaWNvbj1cImRhcmtfbW9kZVwiIHNpemU9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXJrXCI+PC91aS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBwVG9vbHRpcD1cIkF0aXZhciBNb2RvIENsYXJvXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgaWNvbj1cInN1bm55XCIgc2l6ZT1cIjI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGFya1wiPjwvdWktaWNvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1heGltaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgcFRvb2x0aXA9XCJNYXhpbWl6YXJcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBjbGFzcz1cInRleHQtZGFyayBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwidG9nZ2xlRnVsbFNjcmVlbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1aS1pY29uIGljb249XCJmdWxsc2NyZWVuXCIgc2l6ZT1cIjI0XCI+PC91aS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwcm9maWxlLW5hdiBvbmhvdmVyLWRyb3Bkb3duIHAtMCBwcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG15LWFjY291bnQgW21lbnVzXT1cIm1lbnVzXCIgKG9uTmF2aWdhdGUpPVwib25OYXZpZ2F0ZS5lbWl0KCRldmVudClcIj48L215LWFjY291bnQ+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFBhZ2UgSGVhZGVyIEVuZHMgLS0+XHJcbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1oZWFkZXIvc3JjL2xpYi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQWMsV0FBVyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFlLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU9uSSxNQUFNLE9BQU8saUJBQWlCO0lBMEIxQixZQUNXLFdBQXdCLEVBQ3hCLFVBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGFBQTRCLEVBQ1QsUUFBYTtRQUpoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNULGFBQVEsR0FBUixRQUFRLENBQUs7UUF4QmxDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxPQUFPLENBQUM7UUFFN0IsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQy9DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbkQsZUFBVSxHQUFHLElBQUksWUFBWSxF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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhBY2Vzc28sIEF1dGhTZXJ2aWNlLCBCYXNlVXJsU2VydmljZSwgSWZyYW1lU2VydmljZSwgTGF5b3V0U2VydmljZSwgVXNlckF1dGhEVE8sIFVzdWFyaW9NZW51RFRPIH0gZnJvbSAndWl0ZWMtbmctY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndWktaGVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVpSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBjb2xsYXBzZVNpZGViYXI6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBmdWxsU2NyZWVuOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGVhZGVyQmFja2Ryb3A6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGlzRnJlZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbWVudXM6IFVzdWFyaW9NZW51RFRPW107XHJcbiAgICBASW5wdXQoKSBzaWRlYmFyOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHJlZGlyZWN0SG9tZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBkYXJrRGVmYXVsdDogc3RyaW5nID0gXCJsaWdodFwiO1xyXG5cclxuICAgIEBPdXRwdXQoKSBjb2xsYXBzZVNpZGViYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgZnVsbFNjcmVlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBoZWFkZXJCYWNrZHJvcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBvbk5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxVc3VhcmlvTWVudURUTz4oKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdsZWZ0JykgbGVmdDogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ2NlbnRlcicpIGNlbnRlcjogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ3JpZ2h0JykgcmlnaHQ6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgcHVibGljIHN0YXR1U2lkZWJhcjtcclxuICAgIHB1YmxpYyBkYXJrOiBib29sZWFuO1xyXG4gICAgcHVibGljIGVsZW06IGFueTtcclxuICAgIHB1YmxpYyB1c2VyT2JzOiBVc2VyQXV0aERUTztcclxuICAgIHB1YmxpYyBhY2Nlc3NPYnM6IEF1dGhBY2Vzc287XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgdXJsU2VydmljZTogQmFzZVVybFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWxlbSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxuXHJcbiAgICAgICAgdGhpcy51c2VyT2JzID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlclZhbHVlO1xyXG4gICAgICAgIHRoaXMuYWNjZXNzT2JzID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50QWNjZXNzVmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXIuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXNlck9icyA9IGRhdGE7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudEFjY2Vzcy5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hY2Nlc3NPYnMgPSBkYXRhO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRhcmsgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZGFya01vZGUnKSA9PSAnZW5hYmxlZCc7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuc2V0dGluZ3MubGF5b3V0X3ZlcnNpb24gPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogdGhpcy5kYXJrRGVmYXVsdDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuZGFyayA/IFwiZGFyay1vbmx5XCIgOiBcImxpZ2h0XCIpO1xyXG5cclxuICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJPbklmcmFtZSgpO1xyXG4gICAgICAgIHRoaXMuYnVpbGRBbWJpZW50ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxheW91dFRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmRhcmsgPSAhdGhpcy5kYXJrO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkYXJrTW9kZScsIHRoaXMuZGFyayA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuc2V0dGluZ3MubGF5b3V0X3ZlcnNpb24gPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIGNvbnN0IGNsYXNzQ29sb3IgPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW9ubHknKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbGlnaHQnKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChjbGFzc0NvbG9yKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW9ubHknKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdsaWdodCcpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NDb2xvcik7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlSWZyYW1lVGhlbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVJZnJhbWVUaGVtZSgpIHtcclxuICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTtcclxuICAgICAgICBpZiAoIWlmcmFtZSB8fCAhaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgdGhlbWUgPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIGNvbnN0IGlmcmFtZVNyYyA9IGlmcmFtZS5nZXRBdHRyaWJ1dGUoJ3NyYycpO1xyXG5cclxuICAgICAgICBsZXQgb3JpZ2luID0gXCIqXCI7IC8vIFVzYSBcIipcIiBwb3IgcGFkcsOjbyBwYXJhIGV2aXRhciBlcnJvXHJcblxyXG4gICAgICAgIGlmIChpZnJhbWVTcmMpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoaWZyYW1lU3JjLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICAgICAgICAgICAgICAgIG9yaWdpbiA9IHVybC5vcmlnaW47IC8vIEV4dHJhaSBvIGRvbcOtbmlvIGNvcnJldGFtZW50ZVxyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm8gYW8gZXh0cmFpciBvIG9yaWdpbiBkbyBpZnJhbWU6XCIsIGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyB0aGVtZSB9LCBvcmlnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXJPbklmcmFtZSgpIHtcclxuICAgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpO1xyXG4gICAgICAgIGlmICghZnJhbWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVJZnJhbWVUaGVtZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vcmVjZWJlIG8gdmFsb3IgaW5pY2lhbCBkbyBjb2xsYXBzZVNpZGViYXIgZSBncmF2YSBubyBsb2NhbHN0b3JhZ2VcclxuICAgIHNldFN0YXR1c1NpZGVCYXIoKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0dVNpZGViYXIgPSB0aGlzLmNvbGxhcHNlU2lkZWJhcjtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbG9jYWwnLCB0aGlzLnN0YXR1U2lkZWJhcik7XHJcbiAgICB9XHJcblxyXG4gICAgc2lkZWJhclRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlU2lkZWJhciA9ICF0aGlzLmNvbGxhcHNlU2lkZWJhcjtcclxuICAgICAgICB0aGlzLnNldFN0YXR1c1NpZGVCYXIoKTtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlU2lkZWJhckNoYW5nZS5lbWl0KHRoaXMuY29sbGFwc2VTaWRlYmFyKTtcclxuICAgIH1cclxuXHJcbiAgICBob21lKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5yZWRpcmVjdEhvbWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IG1lbnUgPSBuZXcgVXN1YXJpb01lbnVEVE8oKTtcclxuICAgICAgICBtZW51LmRzX3JvdGEgPSAnLyc7XHJcbiAgICAgICAgbWVudS5kc190aXBvID0gJ2xpbmsnO1xyXG4gICAgICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KG1lbnUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZ291dCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGlja01lbnUobWVudTogVXN1YXJpb01lbnVEVE8pIHtcclxuICAgICAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChtZW51KTtcclxuICAgIH1cclxuXHJcbiAgICBidWlsZEFtYmllbnRlKCkge1xyXG4gICAgICAgIGxldCB0ZXh0Q29udGVudCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmIChsb2NhdGlvbi5ob3N0LnNlYXJjaCgnaG9tLScpID09IDApIHtcclxuICAgICAgICAgICAgdGV4dENvbnRlbnQgPSAnSG9tb2xvZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChsb2NhdGlvbi5ob3N0LnNlYXJjaCgnbG9jYWxob3N0JykgPT0gMCkge1xyXG4gICAgICAgICAgICB0ZXh0Q29udGVudCA9ICdEZXZlbG9wJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGV4dENvbnRlbnQpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICBkaXYuY2xhc3NOYW1lID0gYGFtYmllbnRlIGFtYmllbnRlLSR7dGV4dENvbnRlbnQudG9Mb3dlckNhc2UoKX1gO1xyXG4gICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSB0ZXh0Q29udGVudDtcclxuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoc3Bhbik7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUZ1bGxTY3JlZW4oKSB7XHJcbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuID0gIXRoaXMuZnVsbFNjcmVlbjtcclxuICAgICAgICBpZiAodGhpcy5mdWxsU2NyZWVuKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS5yZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJRS9FZGdlICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ubXNSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgIC8qIElFL0VkZ2UgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gUGFnZSBIZWFkZXIgQmFja2Ryb3AgLS0+XHJcbjxkaXYgKm5nSWY9XCJoZWFkZXJCYWNrZHJvcFwiIChjbGljayk9XCJuYXZTZXJ2aWNlLmhpZGVBbGxQb3BVcHMoKVwiIGNsYXNzPVwiaGVhZGVyLWJhY2tncm9wXCI+PC9kaXY+XHJcblxyXG48IS0tIFBhZ2UgSGVhZGVyIFN0YXJ0IC0tPlxyXG48ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJcIiBbY2xhc3MuY2xvc2VfaWNvbl09XCJjb2xsYXBzZVNpZGViYXJcIiBbY2xhc3Mubm90LXNpZGViYXJdPVwiIXNpZGViYXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItd3JhcHBlciBkLWZsZXggbS0wIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1sb2dvLXdyYXBwZXIgY29sLWF1dG8gZC1sZy1ub25lIHB4LTBcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNpZGViYXJcIiBjbGFzcz1cInRvZ2dsZS1zaWRlYmFyXCIgKGNsaWNrKT1cInNpZGViYXJUb2dnbGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgPHVpLWljb24gaWNvbj1cIm1lbnVcIiBjbGFzcz1cInN0YXR1c190b2dnbGUgbWlkZGxlXCI+PC91aS1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cImhvbWUoKVwiIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJyZWRpcmVjdEhvbWVcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctZmx1aWQgZm9yLWRhcmsgaW1hZ2UtbG9nbyBkLW1kLW5vbmVcIiBzcmM9XCJhc3NldHMvaW1hZ2VzL2xvZ28vbG9nb19kYXJrLnBuZ1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtaGVhZGVyIGhvcml6b250YWwtd3JhcHBlciBwcy0wXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGVmdFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNlbnRlclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXJpZ2h0IHAtMFwiPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYtbWVudXNcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwibGFuZ3VhZ2UtbmF2XCIgKGNsaWNrKT1cImxhbmd1YWdlVG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aGVhZGVyLWxhbmd1YWdlcz48L2hlYWRlci1sYW5ndWFnZXM+XHJcbiAgICAgICAgICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZyZWU7IHRoZW4gbGlVcGdyYWRlOyBlbHNlIGxpRW1wdHlcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xpVXBncmFkZT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGJvcmRlci0wIHJvdW5kZWQtcGlsbCBnYXAtMiBiLWNvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTW9kYWwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2Nvcm9hLnN2Z1wiIGNsYXNzPVwidy1hdXRvXCIgYWx0PVwiaWNvbmUtY29yb2FcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRmHDp2EgVXBncmFkZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGlFbXB0eT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJsYXlvdXRUb2dnbGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBwVG9vbHRpcD1cIkF0aXZhciBNb2RvIEVzY3Vyb1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIGljb249XCJkYXJrX21vZGVcIiBzaXplPVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGFya1wiPjwvdWktaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVpLWljb24gcFRvb2x0aXA9XCJBdGl2YXIgTW9kbyBDbGFyb1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIGljb249XCJzdW5ueVwiIHNpemU9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhcmtcIj48L3VpLWljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYXhpbWl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIHBUb29sdGlwPVwiTWF4aW1pemFyXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJ0ZXh0LWRhcmsgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInRvZ2dsZUZ1bGxTY3JlZW4oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBpY29uPVwiZnVsbHNjcmVlblwiIHNpemU9XCIyNFwiPjwvdWktaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZmlsZS1uYXYgb25ob3Zlci1kcm9wZG93biBwLTAgcHMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxteS1hY2NvdW50IFttZW51c109XCJtZW51c1wiIChvbk5hdmlnYXRlKT1cIm9uTmF2aWdhdGUuZW1pdCgkZXZlbnQpXCI+PC9teS1hY2NvdW50PlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBQYWdlIEhlYWRlciBFbmRzIC0tPlxyXG4iXX0=
@@ -6,7 +6,6 @@ import { ReactiveFormsModule } from '@angular/forms';
6
6
  import { UiUserTopModule } from 'uitec-ng-user-top';
7
7
  import { MyAccountComponent } from './my-account/my-account.component';
8
8
  import { TooltipModule } from 'primeng/tooltip';
9
- import { UiAssistantModule } from './assistant/ui-assistant.module';
10
9
  import * as i0 from "@angular/core";
11
10
  export class UiHeaderModule {
12
11
  }
@@ -16,15 +15,12 @@ UiHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
16
15
  ReactiveFormsModule,
17
16
  UiIconModule,
18
17
  UiUserTopModule,
19
- TooltipModule,
20
- UiAssistantModule], exports: [UiHeaderComponent,
21
- UiAssistantModule] });
18
+ TooltipModule], exports: [UiHeaderComponent] });
22
19
  UiHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, imports: [CommonModule,
23
20
  ReactiveFormsModule,
24
21
  UiIconModule,
25
22
  UiUserTopModule,
26
- TooltipModule,
27
- UiAssistantModule, UiAssistantModule] });
23
+ TooltipModule] });
28
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, decorators: [{
29
25
  type: NgModule,
30
26
  args: [{
@@ -37,13 +33,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
37
33
  ReactiveFormsModule,
38
34
  UiIconModule,
39
35
  UiUserTopModule,
40
- TooltipModule,
41
- UiAssistantModule
36
+ TooltipModule
42
37
  ],
43
38
  exports: [
44
39
  UiHeaderComponent,
45
- UiAssistantModule,
46
40
  ]
47
41
  }]
48
42
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQW9CcEUsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxpQkFoQm5CLGlCQUFpQjtRQUNqQixrQkFBa0IsYUFHbEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osZUFBZTtRQUNmLGFBQWE7UUFDYixpQkFBaUIsYUFHakIsaUJBQWlCO1FBQ2pCLGlCQUFpQjs2R0FHWixjQUFjLFlBWm5CLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhO1FBQ2IsaUJBQWlCLEVBSWpCLGlCQUFpQjs0RkFHWixjQUFjO2tCQWxCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUljb25Nb2R1bGUgfSBmcm9tICd1aXRlYy1uZy1pY29uJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVWlVc2VyVG9wTW9kdWxlIH0gZnJvbSAndWl0ZWMtbmctdXNlci10b3AnO1xyXG5pbXBvcnQgeyBNeUFjY291bnRDb21wb25lbnQgfSBmcm9tICcuL215LWFjY291bnQvbXktYWNjb3VudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgVWlBc3Npc3RhbnRNb2R1bGUgfSBmcm9tICcuL2Fzc2lzdGFudC91aS1hc3Npc3RhbnQubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBVaUhlYWRlckNvbXBvbmVudCxcclxuICAgICAgICBNeUFjY291bnRDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgVWlJY29uTW9kdWxlLFxyXG4gICAgICAgIFVpVXNlclRvcE1vZHVsZSxcclxuICAgICAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIFVpQXNzaXN0YW50TW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFVpSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFVpQXNzaXN0YW50TW9kdWxlLFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlIZWFkZXJNb2R1bGUgeyB9XHJcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWtCaEQsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxpQkFkbkIsaUJBQWlCO1FBQ2pCLGtCQUFrQixhQUdsQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixlQUFlO1FBQ2YsYUFBYSxhQUdiLGlCQUFpQjs2R0FHWixjQUFjLFlBVm5CLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhOzRGQU1SLGNBQWM7a0JBaEIxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVaUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpSWNvbk1vZHVsZSB9IGZyb20gJ3VpdGVjLW5nLWljb24nO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaVVzZXJUb3BNb2R1bGUgfSBmcm9tICd1aXRlYy1uZy11c2VyLXRvcCc7XHJcbmltcG9ydCB7IE15QWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4vbXktYWNjb3VudC9teS1hY2NvdW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFVpSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIE15QWNjb3VudENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBVaUljb25Nb2R1bGUsXHJcbiAgICAgICAgVWlVc2VyVG9wTW9kdWxlLFxyXG4gICAgICAgIFRvb2x0aXBNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgVWlIZWFkZXJDb21wb25lbnQsXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUhlYWRlck1vZHVsZSB7IH1cclxuIl19
@@ -4,20 +4,4 @@
4
4
  export * from './lib/ui-header.service';
5
5
  export * from './lib/ui-header.component';
6
6
  export * from './lib/ui-header.module';
7
- // Uiny (assistente virtual)
8
- export * from './lib/assistant/ui-assistant.module';
9
- export * from './lib/assistant/uiny.config';
10
- export * from './lib/assistant/models/uiny.models';
11
- export * from './lib/assistant/models/uiny-api.models';
12
- export * from './lib/assistant/services/ui-assistant.service';
13
- export * from './lib/assistant/services/uiny-api.service';
14
- export * from './lib/assistant/services/uiny-chat.service';
15
- export * from './lib/assistant/services/uiny-session.service';
16
- export * from './lib/assistant/components/assistant-button/ui-assistant-button.component';
17
- export * from './lib/assistant/components/assistant-layout/ui-assistant-layout.component';
18
- export * from './lib/assistant/components/assistant-panel/ui-assistant-panel.component';
19
- export * from './lib/assistant/components/assistant-messages/ui-assistant-messages.component';
20
- export * from './lib/assistant/components/assistant-text/ui-assistant-text.component';
21
- export * from './lib/assistant/components/assistant-composer/ui-assistant-composer.component';
22
- export * from './lib/assistant/components/assistant-action-card/ui-assistant-action-card.component';
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLDRCQUE0QjtBQUM1QixjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyRUFBMkUsQ0FBQztBQUMxRixjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyxxRkFBcUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1aS1oZWFkZXJcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1oZWFkZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1oZWFkZXIubW9kdWxlJztcclxuXHJcbi8vIFVpbnkgKGFzc2lzdGVudGUgdmlydHVhbClcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzaXN0YW50L3VpLWFzc2lzdGFudC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3Npc3RhbnQvdWlueS5jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3Npc3RhbnQvbW9kZWxzL3VpbnkubW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzaXN0YW50L21vZGVscy91aW55LWFwaS5tb2RlbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3Npc3RhbnQvc2VydmljZXMvdWktYXNzaXN0YW50LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3Npc3RhbnQvc2VydmljZXMvdWlueS1hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2lzdGFudC9zZXJ2aWNlcy91aW55LWNoYXQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2lzdGFudC9zZXJ2aWNlcy91aW55LXNlc3Npb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2lzdGFudC9jb21wb25lbnRzL2Fzc2lzdGFudC1idXR0b24vdWktYXNzaXN0YW50LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3Npc3RhbnQvY29tcG9uZW50cy9hc3Npc3RhbnQtbGF5b3V0L3VpLWFzc2lzdGFudC1sYXlvdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzaXN0YW50L2NvbXBvbmVudHMvYXNzaXN0YW50LXBhbmVsL3VpLWFzc2lzdGFudC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3Npc3RhbnQvY29tcG9uZW50cy9hc3Npc3RhbnQtbWVzc2FnZXMvdWktYXNzaXN0YW50LW1lc3NhZ2VzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2lzdGFudC9jb21wb25lbnRzL2Fzc2lzdGFudC10ZXh0L3VpLWFzc2lzdGFudC10ZXh0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2lzdGFudC9jb21wb25lbnRzL2Fzc2lzdGFudC1jb21wb3Nlci91aS1hc3Npc3RhbnQtY29tcG9zZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzaXN0YW50L2NvbXBvbmVudHMvYXNzaXN0YW50LWFjdGlvbi1jYXJkL3VpLWFzc2lzdGFudC1hY3Rpb24tY2FyZC5jb21wb25lbnQnO1xyXG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpLWhlYWRlclxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWhlYWRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWhlYWRlci5tb2R1bGUnO1xyXG4iXX0=