keevo-components 1.8.225 → 1.8.227

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 (147) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/api/base-components/base-component-button.mjs +1 -1
  3. package/esm2022/lib/api/base-components/base-component-chart.mjs +1 -1
  4. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +1 -1
  5. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +1 -1
  6. package/esm2022/lib/api/base-components/base-component-crud.mjs +1 -1
  7. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +1 -1
  8. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +1 -1
  9. package/esm2022/lib/api/base-components/base-component-input.mjs +1 -1
  10. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +1 -1
  11. package/esm2022/lib/api/base-components/base-component-table.mjs +1 -1
  12. package/esm2022/lib/api/base-components/base-component.mjs +1 -1
  13. package/esm2022/lib/api/components/chart/chart.config.mjs +1 -1
  14. package/esm2022/lib/api/components/chart/chart.model.mjs +1 -1
  15. package/esm2022/lib/api/components/chart/orchart.config.mjs +1 -1
  16. package/esm2022/lib/api/components/chart/orchart.item.mjs +1 -1
  17. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +1 -1
  18. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +1 -1
  19. package/esm2022/lib/api/components/table/action-item.mjs +1 -1
  20. package/esm2022/lib/api/components/table/kv-menuitem.mjs +1 -1
  21. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +1 -1
  22. package/esm2022/lib/api/components/table/table.config.column.mjs +1 -1
  23. package/esm2022/lib/api/components/table/table.config.mjs +1 -1
  24. package/esm2022/lib/api/components/table/table.paginate.mjs +1 -1
  25. package/esm2022/lib/api/components/table/tabledit.config.mjs +1 -1
  26. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +1 -1
  27. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +1 -1
  28. package/esm2022/lib/api/directives/directives.module.mjs +1 -1
  29. package/esm2022/lib/api/directives/drag/drag.directive.mjs +1 -1
  30. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +1 -1
  31. package/esm2022/lib/api/directives/template/template.directive.mjs +1 -1
  32. package/esm2022/lib/api/helpers/component-providers.mjs +1 -1
  33. package/esm2022/lib/api/helpers/keevo-validators.mjs +1 -1
  34. package/esm2022/lib/api/helpers/translate-primeng.mjs +1 -1
  35. package/esm2022/lib/api/modules/primeng.module.mjs +1 -1
  36. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +1 -1
  37. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +1 -1
  38. package/esm2022/lib/api/pipes/mask.pipe.mjs +1 -1
  39. package/esm2022/lib/api/pipes/pipes.module.mjs +1 -1
  40. package/esm2022/lib/api/pipes/telefone.pipe.mjs +1 -1
  41. package/esm2022/lib/api/services/base.api.service.mjs +1 -1
  42. package/esm2022/lib/api/services/breadcrumbs.service.mjs +1 -1
  43. package/esm2022/lib/api/services/component.service.mjs +1 -1
  44. package/esm2022/lib/api/services/docs.service.mjs +1 -1
  45. package/esm2022/lib/api/services/form.service.mjs +1 -1
  46. package/esm2022/lib/api/services/imagens.service.mjs +1 -1
  47. package/esm2022/lib/api/services/notification.service.mjs +1 -1
  48. package/esm2022/lib/api/services/object.service.mjs +1 -1
  49. package/esm2022/lib/api/types/severity.mjs +1 -1
  50. package/esm2022/lib/components/keevo-components.module.mjs +8 -8
  51. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +3 -3
  52. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +1 -1
  53. package/esm2022/lib/components/kv-button/kv-button.component.mjs +3 -3
  54. package/esm2022/lib/components/kv-button/kv-button.module.mjs +1 -1
  55. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +3 -3
  56. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +3 -3
  57. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +3 -3
  58. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +3 -3
  59. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +1 -1
  60. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +3 -3
  61. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +1 -1
  62. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +3 -3
  63. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +1 -1
  64. package/esm2022/lib/components/kv-error/kv-error.component.mjs +3 -3
  65. package/esm2022/lib/components/kv-error/kv-error.module.mjs +1 -1
  66. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +3 -3
  67. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +1 -1
  68. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +3 -3
  69. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +1 -1
  70. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +3 -3
  71. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +1 -1
  72. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +1 -1
  73. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +1 -1
  74. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +3 -3
  75. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +1 -1
  76. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +7 -3
  77. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +1 -1
  78. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +3 -3
  79. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +3 -3
  80. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +3 -3
  81. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +3 -3
  82. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +3 -3
  83. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +3 -3
  84. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +3 -3
  85. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +3 -3
  86. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +3 -3
  87. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +3 -3
  88. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +3 -3
  89. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +1 -1
  90. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +3 -3
  91. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +3 -3
  92. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +3 -3
  93. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +3 -3
  94. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +3 -3
  95. package/esm2022/lib/components/kv-label/kv-label.component.mjs +3 -3
  96. package/esm2022/lib/components/kv-label/kv-label.module.mjs +1 -1
  97. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
  98. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +50 -0
  99. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +239 -0
  100. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +3 -3
  101. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +1 -1
  102. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +1 -1
  103. package/esm2022/lib/components/kv-login/kv-login.component.mjs +3 -3
  104. package/esm2022/lib/components/kv-login/kv-login.module.mjs +1 -1
  105. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +14 -3
  106. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +1 -1
  107. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +3 -3
  108. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +1 -1
  109. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +3 -3
  110. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +1 -1
  111. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +3 -3
  112. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +1 -1
  113. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +3 -3
  114. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +1 -1
  115. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +3 -3
  116. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +1 -1
  117. package/esm2022/lib/components/kv-report/kv-report.component.mjs +3 -3
  118. package/esm2022/lib/components/kv-report/kv-report.module.mjs +1 -1
  119. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +3 -3
  120. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +1 -1
  121. package/esm2022/lib/components/kv-table/kv-table.component.mjs +3 -3
  122. package/esm2022/lib/components/kv-table/kv-table.module.mjs +1 -1
  123. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +3 -3
  124. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +1 -1
  125. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +3 -3
  126. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +1 -1
  127. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +3 -3
  128. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +1 -1
  129. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +3 -3
  130. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +1 -1
  131. package/esm2022/lib/components/kv-workspace/kv-workspace.component.mjs +3 -3
  132. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +1 -1
  133. package/esm2022/public-api.mjs +3 -3
  134. package/fesm2022/keevo-components.mjs +268 -193
  135. package/fesm2022/keevo-components.mjs.map +1 -1
  136. package/lib/components/keevo-components.module.d.ts +2 -2
  137. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +2 -1
  138. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +12 -0
  139. package/lib/components/kv-layout/kv-layout.module.d.ts +14 -0
  140. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +105 -0
  141. package/lib/components/kv-modal/kv-modal.component.d.ts +3 -1
  142. package/package.json +1 -1
  143. package/public-api.d.ts +2 -2
  144. package/esm2022/lib/components/kv-menu/kv-menu.component.mjs +0 -198
  145. package/esm2022/lib/components/kv-menu/kv-menu.module.mjs +0 -47
  146. package/lib/components/kv-menu/kv-menu.component.d.ts +0 -59
  147. package/lib/components/kv-menu/kv-menu.module.d.ts +0 -13
@@ -0,0 +1,239 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "primeng/api";
7
+ import * as i5 from "primeng/breadcrumb";
8
+ import * as i6 from "primeng/tooltip";
9
+ import * as i7 from "primeng/button";
10
+ import * as i8 from "primeng/card";
11
+ import * as i9 from "primeng/divider";
12
+ import * as i10 from "primeng/overlaypanel";
13
+ import * as i11 from "primeng/ripple";
14
+ import * as i12 from "primeng/sidebar";
15
+ import * as i13 from "primeng/styleclass";
16
+ import * as i14 from "../dropdown-master/dropdown-master.component";
17
+ import * as i15 from "../../../api/pipes/cpfcnpj.pipe";
18
+ export class KvLayoutComponent {
19
+ constructor(cdr, fb, router) {
20
+ this.cdr = cdr;
21
+ this.fb = fb;
22
+ this.router = router;
23
+ this.apps = [];
24
+ this.breadCrumbItems = [];
25
+ this.masters = [];
26
+ this.menus = [];
27
+ this.expandMenu = true;
28
+ this.showButtonApps = true;
29
+ this.showButtonUser = true;
30
+ this.showExpandMenu = true;
31
+ this.showDropdownLicenca = true;
32
+ this.showMenu = true;
33
+ this.showTrocaEmpresa = false;
34
+ this.userName = 'Usuário';
35
+ this.accessKeePassEmit = new EventEmitter();
36
+ this.changeEmpresaEmit = new EventEmitter();
37
+ this.changeLicenseEmit = new EventEmitter();
38
+ this.expandMenuEmit = new EventEmitter();
39
+ this.logoutEmit = new EventEmitter();
40
+ this.selectAppEmit = new EventEmitter();
41
+ }
42
+ accessKeePass(event) {
43
+ this.sistemasPanel.hide();
44
+ this.accessKeePassEmit.emit(event);
45
+ }
46
+ adjustHeightCard() {
47
+ if (this.widthCard > 400) {
48
+ if (this.breadCrumbItems.length > 0)
49
+ return 105;
50
+ else
51
+ return 85;
52
+ }
53
+ else
54
+ return 83;
55
+ }
56
+ adjustWidthCard() {
57
+ this.heightCard = Number(document.getElementById('page-content')?.offsetHeight);
58
+ if (this.showMenu)
59
+ this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);
60
+ else
61
+ this.widthCard = Number(window.innerWidth);
62
+ }
63
+ callRoute(e, expand) {
64
+ if (!expand)
65
+ !this.expandMenu ? this.expandMenu = !this.expandMenu : '';
66
+ this.router.navigateByUrl(e);
67
+ }
68
+ changeEmpresa(event) {
69
+ this.changeEmpresaEmit.emit(event);
70
+ }
71
+ changeLicense(event) {
72
+ this.changeLicenseEmit.emit(event);
73
+ }
74
+ expandMenuEvent() {
75
+ this.expandMenuEmit.emit(this.expandMenu);
76
+ }
77
+ logout(event) {
78
+ this.sistemasPanel.hide();
79
+ this.logoutEmit.emit(event);
80
+ }
81
+ menusPerApp() {
82
+ if (this.router.url && this.menus && this.menus.length > 0) {
83
+ if (this.router.url === '/') {
84
+ this.navigateToFirstMenu();
85
+ }
86
+ else {
87
+ const menuSelecionado = this.menus.find((menu) => menu.link && menu.link.includes(this.router.url.slice(1)));
88
+ if (menuSelecionado) {
89
+ this.navigateToMenu(menuSelecionado);
90
+ }
91
+ }
92
+ }
93
+ if (this.sistemasPanel) {
94
+ this.sistemasPanel.hide();
95
+ }
96
+ ;
97
+ }
98
+ nameEmpresa(nomeLicenca) {
99
+ if (nomeLicenca) {
100
+ if (nomeLicenca.length > 23)
101
+ return nomeLicenca.substring(0, 23) + '...';
102
+ else
103
+ return nomeLicenca;
104
+ }
105
+ else
106
+ return '';
107
+ }
108
+ navigateToFirstMenu() {
109
+ const firstMenu = this.menus[0];
110
+ if (firstMenu.indmenupai) {
111
+ const filhos = this.returnMenuChild(firstMenu.idmenu);
112
+ if (filhos) {
113
+ this.callRoute(filhos[0].link, true);
114
+ }
115
+ }
116
+ else {
117
+ this.callRoute(firstMenu.link, true);
118
+ }
119
+ }
120
+ navigateToMenu(menu) {
121
+ if (menu.menupai) {
122
+ const filhos = this.returnMenuChild(menu.idmenu);
123
+ if (filhos) {
124
+ this.callRoute(filhos[0].link, true);
125
+ }
126
+ }
127
+ else {
128
+ this.callRoute(menu.link, true);
129
+ }
130
+ }
131
+ ngOnChanges(changes) {
132
+ const latestRequest = changes['menus'];
133
+ if (latestRequest?.currentValue) {
134
+ this.menusPerApp();
135
+ }
136
+ }
137
+ ngOnInit() {
138
+ this.formGroup = this.fb.group({
139
+ idmaster: [this.selectedMaster, []],
140
+ });
141
+ this.adjustWidthCard();
142
+ this.expandMenuEvent();
143
+ }
144
+ onMouseEnter(index) {
145
+ this.mouseOverIndex = index;
146
+ }
147
+ onMouseEnterChild(index) {
148
+ this.mouseOverFilhoIndex = index;
149
+ }
150
+ onMouseLeave() {
151
+ this.mouseOverIndex = null;
152
+ this.mouseOverFilhoIndex = null;
153
+ }
154
+ onWindowResize() {
155
+ this.adjustWidthCard();
156
+ this.cdr.detectChanges();
157
+ }
158
+ returnMenuChild(idmenu) {
159
+ return this.menus.filter((x) => x.idmenupai == idmenu);
160
+ }
161
+ selectApp(idaplicativo) {
162
+ this.selectAppEmit.emit(idaplicativo);
163
+ }
164
+ showLicencas() {
165
+ return this.showDropdownLicenca && (this.masters || []).length > 1;
166
+ }
167
+ toggleMenu() {
168
+ this.expandMenu = !this.expandMenu;
169
+ this.expandMenuEvent();
170
+ }
171
+ verifySelectedPage(link) {
172
+ return this.router.url.includes(link);
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: "apps", breadCrumbItems: "breadCrumbItems", masters: "masters", menus: "menus", expandMenu: "expandMenu", logoMenuExpand: "logoMenuExpand", logoMenuHide: "logoMenuHide", selectedApp: "selectedApp", selectedEmpresa: "selectedEmpresa", selectedMaster: "selectedMaster", showButtonApps: "showButtonApps", showButtonUser: "showButtonUser", showExpandMenu: "showExpandMenu", showDropdownLicenca: "showDropdownLicenca", showMenu: "showMenu", showTrocaEmpresa: "showTrocaEmpresa", userName: "userName" }, outputs: { accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }, { propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }, { propertyName: "sistemasPanel", first: true, predicate: ["sistemasPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\n\n @if (showMenu) {\n <div [style]=\"{ minWidth: expandMenu ? '300px' : '60px' }\"></div>\n }\n\n @if(showMenu) {\n <p-sidebar\n #sidebarRef\n [visible]=\"true\"\n [showCloseIcon]=\"false\"\n [modal]=\"false\"\n [style]=\"{ width: expandMenu ? '300px' : '60px' }\">\n <ng-template pTemplate=\"headless\">\n <div class=\"flex flex-column mx-1\">\n <div\n class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\n <div\n class=\"flex flex-row align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }} py-3\">\n <!-- Logo para o menu expandido -->\n <img\n *ngIf=\"expandMenu && logoMenuExpand\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\"\n class=\"cursor-pointer\"\n (click)=\"router.navigate(['/keevocenter/home'])\" />\n\n <!-- Logo para o menu minimizado-->\n <img\n *ngIf=\"!expandMenu && logoMenuHide\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\" />\n\n <!-- Toggle menu -->\n <button\n *ngIf=\"showExpandMenu\"\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"toggleMenu()\"\n [pTooltip]=\"expandMenu ? 'Ocultar Menu' : 'Expandir Menu'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\"> menu </i>\n </button>\n </div>\n\n @if(showTrocaEmpresa){\n <div\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\">\n <div\n class=\"flex flex-column cursor-pointer\"\n *ngIf=\"expandMenu && selectedEmpresa\"\n (click)=\"changeEmpresa($event)\">\n <span\n class=\"text-sm font-semibold mr-2\"\n [pTooltip]=\"this.selectedEmpresa.razaosocial\"\n [tooltipPosition]=\"'right'\">\n {{nameEmpresa(this.selectedEmpresa.razaosocial)}}\n </span>\n <span class=\"text-sm mt-1\">{{this.selectedEmpresa.cpfcnpj |\n cpfCnpj }}</span>\n </div>\n\n <button\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"changeEmpresa($event)\"\n [pTooltip]=\"'Trocar de empresa'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\">\n sync_alt\n </i>\n </button>\n\n </div>\n <p-divider type=\"solid\"></p-divider>\n }\n\n </div>\n\n <div\n class=\"list-none m-0 card-container {{ expandMenu ? 'mx-1' : '' }}\"\n [style.max-height]=\"heightCard - 220 + 'px'\"\n style=\"overflow-y: auto\">\n <!-- menus -->\n <li *ngFor=\"let menu of menus; let i = index\">\n <!-- menu que n\u00E3o tem filho -->\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n (click)=\"callRoute(menu.link)\"\n *ngIf=\"\n !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)\n \"\n pRipple\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n [tooltipPosition]=\"'right'\"\n class=\"{{\n verifySelectedPage(menu.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline {{\n !expandMenu ? 'justify-content-center' : ''\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"menu.icone\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </a>\n <!-- menu com filho -->\n <div *ngIf=\"menu.indmenupai\">\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n pRipple\n pStyleClass=\"@next\"\n enterClass=\"hidden\"\n enterActiveClass=\"slidedown\"\n leaveToClass=\"hidden\"\n leaveActiveClass=\"slideup\"\n class=\"menu-option flex align-items-center {{\n !expandMenu\n ? 'justify-content-center'\n : 'justify-content-between'\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n [tooltipPosition]=\"'right'\"\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n (click)=\"!expandMenu ? (expandMenu = !expandMenu) : ''\">\n <div class=\"flex flex-row align-items-center\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"menu.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </div>\n <i\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\n *ngIf=\"expandMenu\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"></i>\n </a>\n\n <!-- filhos -->\n <div\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\">\n <li\n *ngFor=\"\n let filho of returnMenuChild(menu.idmenu);\n let iFilho = index\n \">\n <a\n (mouseenter)=\"onMouseEnterChild(filho.idmenu)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{\n 'hover-color': mouseOverFilhoIndex === filho.idmenu\n }\"\n *ngIf=\"expandMenu\"\n (click)=\"callRoute(filho.link)\"\n pRipple\n class=\"{{\n verifySelectedPage(filho.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"filho.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ filho.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 ml-4 {{\n verifySelectedPage(filho.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ filho.descricaomenu }}</span>\n </a>\n </li>\n </div>\n </div>\n </li>\n </div>\n </div>\n </ng-template>\n </p-sidebar>\n }\n\n <!-- Topbar -->\n <div class=\"w-auto h-screen page-content overflow-y-hidden\" id=\"page-content\"\n style=\"width: 100vw !important;\">\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\n <!-- Breadcrumbs -->\n <div>\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">\n {{ breadCrumbItems[breadCrumbItems.length - 1]?.label }}\n </p>\n <p-breadcrumb\n *ngIf=\"widthCard > 400\"\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\n [model]=\"breadCrumbItems\"\n [style]=\"{ backgroundColor: '#d4d3d3' }\"\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"></p-breadcrumb>\n </div>\n\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\n <dropdown-master\n *ngIf=\"showLicencas()\"\n class=\"w-40rem\"\n formControlName=\"idmaster\"\n [formGroup]=\"formGroup\"\n [masters]=\"masters\"\n (onSelectionChange)=\"changeLicense($event)\"\n (onSelectionValue)=\"changeLicense($event)\">\n </dropdown-master>\n\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\n <p-button\n *ngIf=\"showButtonApps\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-th-large\"\n [rounded]=\"true\"\n [text]=\"true\"\n (click)=\"sistemasPanel.toggle($event)\"\n [pTooltip]=\"'Sistemas'\"\n [tooltipPosition]=\"'left'\"></p-button>\n\n <p-button\n *ngIf=\"showButtonUser\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-user\"\n [rounded]=\"true\"\n [text]=\"true\"\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\n [tooltipPosition]=\"'left'\"\n (click)=\"meusDadosPanel.toggle($event)\"></p-button>\n </div>\n </div>\n\n <!-- Container -->\n <p-card\n styleClass=\"m-3 border-noround overflow-y-auto {{\n !showMenu && 'sm:overflow-y-hidden'\n }} card-container\"\n [style]=\"{ height: heightCard - adjustHeightCard() + 'px' }\">\n <div class=\"{{widthCard < 992 && 'card-container'}} w-full\" [style]=\"{ width: widthCard + 'px' }\">\n <ng-content></ng-content>\n </div>\n </p-card>\n </div>\n\n <!-- Painel de aplicativos -->\n <p-overlayPanel\n #sistemasPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">Sistemas</p>\n <div\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\n style=\"width: 250px; height: 100%\">\n <button\n *ngFor=\"let aplicativo of apps\"\n pButton\n pRipple\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\n [pTooltip]=\"aplicativo?.descricaoaplicativo\"\n [tooltipPosition]=\"'left'\"\n (click)=\"selectApp(aplicativo.idaplicativo)\">\n {{ aplicativo.nomeaplicativo.charAt(0).toUpperCase() }}\n </button>\n </div>\n </ng-template>\n </p-overlayPanel>\n\n <!-- Painel do usu\u00E1rio -->\n <p-overlayPanel\n #meusDadosPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\n </p>\n <div class=\"mt-5 mb-3\"></div>\n\n <p-button\n icon=\"pi pi-lock\"\n label=\"Acessar Keepass\"\n (onClick)=\"accessKeePass($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n\n <p-button\n icon=\"pi pi-sign-out\"\n label=\"Sair\"\n (onClick)=\"logout($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n </ng-template>\n </p-overlayPanel>\n</div>\n", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#fff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}span{font-size:.9rem!important}.breadcrumb-title{font-size:1rem!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}::ng-deep .home-style{background-color:#f5f5f5;overflow:hidden}::ng-deep .page-style{overflow:auto!important}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-body{padding:0rem!important}::ng-deep .p-card .p-card-content{padding:0rem!important}::ng-deep .p-sidebar-left{z-index:auto!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i9.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i10.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i11.Ripple, selector: "[pRipple]" }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i13.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i14.DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: i15.CpfCnpjPipe, name: "cpfCnpj" }] }); }
176
+ }
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, decorators: [{
178
+ type: Component,
179
+ args: [{ selector: 'kv-layout', template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\n\n @if (showMenu) {\n <div [style]=\"{ minWidth: expandMenu ? '300px' : '60px' }\"></div>\n }\n\n @if(showMenu) {\n <p-sidebar\n #sidebarRef\n [visible]=\"true\"\n [showCloseIcon]=\"false\"\n [modal]=\"false\"\n [style]=\"{ width: expandMenu ? '300px' : '60px' }\">\n <ng-template pTemplate=\"headless\">\n <div class=\"flex flex-column mx-1\">\n <div\n class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\n <div\n class=\"flex flex-row align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }} py-3\">\n <!-- Logo para o menu expandido -->\n <img\n *ngIf=\"expandMenu && logoMenuExpand\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\"\n class=\"cursor-pointer\"\n (click)=\"router.navigate(['/keevocenter/home'])\" />\n\n <!-- Logo para o menu minimizado-->\n <img\n *ngIf=\"!expandMenu && logoMenuHide\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\" />\n\n <!-- Toggle menu -->\n <button\n *ngIf=\"showExpandMenu\"\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"toggleMenu()\"\n [pTooltip]=\"expandMenu ? 'Ocultar Menu' : 'Expandir Menu'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\"> menu </i>\n </button>\n </div>\n\n @if(showTrocaEmpresa){\n <div\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\">\n <div\n class=\"flex flex-column cursor-pointer\"\n *ngIf=\"expandMenu && selectedEmpresa\"\n (click)=\"changeEmpresa($event)\">\n <span\n class=\"text-sm font-semibold mr-2\"\n [pTooltip]=\"this.selectedEmpresa.razaosocial\"\n [tooltipPosition]=\"'right'\">\n {{nameEmpresa(this.selectedEmpresa.razaosocial)}}\n </span>\n <span class=\"text-sm mt-1\">{{this.selectedEmpresa.cpfcnpj |\n cpfCnpj }}</span>\n </div>\n\n <button\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"changeEmpresa($event)\"\n [pTooltip]=\"'Trocar de empresa'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\">\n sync_alt\n </i>\n </button>\n\n </div>\n <p-divider type=\"solid\"></p-divider>\n }\n\n </div>\n\n <div\n class=\"list-none m-0 card-container {{ expandMenu ? 'mx-1' : '' }}\"\n [style.max-height]=\"heightCard - 220 + 'px'\"\n style=\"overflow-y: auto\">\n <!-- menus -->\n <li *ngFor=\"let menu of menus; let i = index\">\n <!-- menu que n\u00E3o tem filho -->\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n (click)=\"callRoute(menu.link)\"\n *ngIf=\"\n !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)\n \"\n pRipple\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n [tooltipPosition]=\"'right'\"\n class=\"{{\n verifySelectedPage(menu.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline {{\n !expandMenu ? 'justify-content-center' : ''\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"menu.icone\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </a>\n <!-- menu com filho -->\n <div *ngIf=\"menu.indmenupai\">\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n pRipple\n pStyleClass=\"@next\"\n enterClass=\"hidden\"\n enterActiveClass=\"slidedown\"\n leaveToClass=\"hidden\"\n leaveActiveClass=\"slideup\"\n class=\"menu-option flex align-items-center {{\n !expandMenu\n ? 'justify-content-center'\n : 'justify-content-between'\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n [tooltipPosition]=\"'right'\"\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n (click)=\"!expandMenu ? (expandMenu = !expandMenu) : ''\">\n <div class=\"flex flex-row align-items-center\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"menu.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </div>\n <i\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\n *ngIf=\"expandMenu\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"></i>\n </a>\n\n <!-- filhos -->\n <div\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\">\n <li\n *ngFor=\"\n let filho of returnMenuChild(menu.idmenu);\n let iFilho = index\n \">\n <a\n (mouseenter)=\"onMouseEnterChild(filho.idmenu)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{\n 'hover-color': mouseOverFilhoIndex === filho.idmenu\n }\"\n *ngIf=\"expandMenu\"\n (click)=\"callRoute(filho.link)\"\n pRipple\n class=\"{{\n verifySelectedPage(filho.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"filho.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ filho.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 ml-4 {{\n verifySelectedPage(filho.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ filho.descricaomenu }}</span>\n </a>\n </li>\n </div>\n </div>\n </li>\n </div>\n </div>\n </ng-template>\n </p-sidebar>\n }\n\n <!-- Topbar -->\n <div class=\"w-auto h-screen page-content overflow-y-hidden\" id=\"page-content\"\n style=\"width: 100vw !important;\">\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\n <!-- Breadcrumbs -->\n <div>\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">\n {{ breadCrumbItems[breadCrumbItems.length - 1]?.label }}\n </p>\n <p-breadcrumb\n *ngIf=\"widthCard > 400\"\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\n [model]=\"breadCrumbItems\"\n [style]=\"{ backgroundColor: '#d4d3d3' }\"\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"></p-breadcrumb>\n </div>\n\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\n <dropdown-master\n *ngIf=\"showLicencas()\"\n class=\"w-40rem\"\n formControlName=\"idmaster\"\n [formGroup]=\"formGroup\"\n [masters]=\"masters\"\n (onSelectionChange)=\"changeLicense($event)\"\n (onSelectionValue)=\"changeLicense($event)\">\n </dropdown-master>\n\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\n <p-button\n *ngIf=\"showButtonApps\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-th-large\"\n [rounded]=\"true\"\n [text]=\"true\"\n (click)=\"sistemasPanel.toggle($event)\"\n [pTooltip]=\"'Sistemas'\"\n [tooltipPosition]=\"'left'\"></p-button>\n\n <p-button\n *ngIf=\"showButtonUser\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-user\"\n [rounded]=\"true\"\n [text]=\"true\"\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\n [tooltipPosition]=\"'left'\"\n (click)=\"meusDadosPanel.toggle($event)\"></p-button>\n </div>\n </div>\n\n <!-- Container -->\n <p-card\n styleClass=\"m-3 border-noround overflow-y-auto {{\n !showMenu && 'sm:overflow-y-hidden'\n }} card-container\"\n [style]=\"{ height: heightCard - adjustHeightCard() + 'px' }\">\n <div class=\"{{widthCard < 992 && 'card-container'}} w-full\" [style]=\"{ width: widthCard + 'px' }\">\n <ng-content></ng-content>\n </div>\n </p-card>\n </div>\n\n <!-- Painel de aplicativos -->\n <p-overlayPanel\n #sistemasPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">Sistemas</p>\n <div\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\n style=\"width: 250px; height: 100%\">\n <button\n *ngFor=\"let aplicativo of apps\"\n pButton\n pRipple\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\n [pTooltip]=\"aplicativo?.descricaoaplicativo\"\n [tooltipPosition]=\"'left'\"\n (click)=\"selectApp(aplicativo.idaplicativo)\">\n {{ aplicativo.nomeaplicativo.charAt(0).toUpperCase() }}\n </button>\n </div>\n </ng-template>\n </p-overlayPanel>\n\n <!-- Painel do usu\u00E1rio -->\n <p-overlayPanel\n #meusDadosPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\n </p>\n <div class=\"mt-5 mb-3\"></div>\n\n <p-button\n icon=\"pi pi-lock\"\n label=\"Acessar Keepass\"\n (onClick)=\"accessKeePass($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n\n <p-button\n icon=\"pi pi-sign-out\"\n label=\"Sair\"\n (onClick)=\"logout($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n </ng-template>\n </p-overlayPanel>\n</div>\n", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#fff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}span{font-size:.9rem!important}.breadcrumb-title{font-size:1rem!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}::ng-deep .home-style{background-color:#f5f5f5;overflow:hidden}::ng-deep .page-style{overflow:auto!important}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-body{padding:0rem!important}::ng-deep .p-card .p-card-content{padding:0rem!important}::ng-deep .p-sidebar-left{z-index:auto!important}\n"] }]
180
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i2.Router }], propDecorators: { apps: [{
181
+ type: Input
182
+ }], breadCrumbItems: [{
183
+ type: Input
184
+ }], masters: [{
185
+ type: Input
186
+ }], menus: [{
187
+ type: Input
188
+ }], expandMenu: [{
189
+ type: Input
190
+ }], logoMenuExpand: [{
191
+ type: Input
192
+ }], logoMenuHide: [{
193
+ type: Input
194
+ }], selectedApp: [{
195
+ type: Input
196
+ }], selectedEmpresa: [{
197
+ type: Input
198
+ }], selectedMaster: [{
199
+ type: Input
200
+ }], showButtonApps: [{
201
+ type: Input
202
+ }], showButtonUser: [{
203
+ type: Input
204
+ }], showExpandMenu: [{
205
+ type: Input
206
+ }], showDropdownLicenca: [{
207
+ type: Input
208
+ }], showMenu: [{
209
+ type: Input
210
+ }], showTrocaEmpresa: [{
211
+ type: Input
212
+ }], userName: [{
213
+ type: Input
214
+ }], accessKeePassEmit: [{
215
+ type: Output
216
+ }], changeEmpresaEmit: [{
217
+ type: Output
218
+ }], changeLicenseEmit: [{
219
+ type: Output
220
+ }], expandMenuEmit: [{
221
+ type: Output
222
+ }], logoutEmit: [{
223
+ type: Output
224
+ }], selectAppEmit: [{
225
+ type: Output
226
+ }], meusDadosPanel: [{
227
+ type: ViewChild,
228
+ args: ['meusDadosPanel']
229
+ }], sidebarRef: [{
230
+ type: ViewChild,
231
+ args: ['sidebarRef']
232
+ }], sistemasPanel: [{
233
+ type: ViewChild,
234
+ args: ['sistemasPanel']
235
+ }], onWindowResize: [{
236
+ type: HostListener,
237
+ args: ['window:resize', ['$event']]
238
+ }] } });
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXdkIsTUFBTSxPQUFPLGlCQUFpQjtJQXVFNUIsWUFDVSxHQUFzQixFQUN0QixFQUFlLEVBQ2IsTUFBYztRQUZoQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXhFakIsU0FBSSxHQVNQLEVBQUUsQ0FBQztRQUVBLG9CQUFlLEdBR2xCLEVBQUUsQ0FBQztRQUVBLFlBQU8sR0FLVixFQUFFLENBQUM7UUFFQSxVQUFLLEdBVVIsRUFBRSxDQUFDO1FBRUEsZUFBVSxHQUFZLElBQUksQ0FBQztRQVEzQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUMvQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUMvQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUMvQix3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFDcEMsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUU1QixzQkFBaUIsR0FBc0IsSUFB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RyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXNCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNGLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBeUluQixjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlLFxuICBSb3V0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna3YtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2t2LWxheW91dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBLdkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBhcHBzOiB7XG4gICAgaWRhcGxpY2F0aXZvOiBudW1iZXIsXG4gICAgaWRzaXN0ZW1hOiBudW1iZXIsXG4gICAgbm9tZWFwbGljYXRpdm86IHN0cmluZyxcbiAgICBkZXNjcmljYW9hcGxpY2F0aXZvOiBzdHJpbmcsXG4gICAgcm90YXBhZHJhbzogc3RyaW5nLFxuICAgIGluZHB1YmxpY2FkbzogYm9vbGVhbixcbiAgICBpbmRwdWJsaWNhY2FvZ3JhZGF0aXZhOiBib29sZWFuLFxuICAgIGluZGV4aWdlZW1wcmVzYWVudHJhZGE6IGJvb2xlYW5cbiAgfVtdID0gW107XG5cbiAgQElucHV0KCkgYnJlYWRDcnVtYkl0ZW1zOiB7XG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICByb3V0ZXJMaW5rOiBzdHJpbmdcbiAgfVtdID0gW107XG5cbiAgQElucHV0KCkgbWFzdGVyczoge1xuICAgIGlkbWFzdGVyOiBudW1iZXI7XG4gICAgY3BmY25wajogc3RyaW5nO1xuICAgIG5vbWU6IHN0cmluZztcbiAgICBpZG1hc3Rlcm5vbWU6IHN0cmluZztcbiAgfVtdID0gW107XG5cbiAgQElucHV0KCkgbWVudXM6IHtcbiAgICBpZG1lbnU6IG51bWJlcixcbiAgICBpZG1lbnVwYWk6IG51bWJlciB8IG51bGwsXG4gICAgaWRhcGxpY2F0aXZvOiBudW1iZXIsXG4gICAgZGVzY3JpY2FvbWVudTogc3RyaW5nLFxuICAgIGxpbms6IHN0cmluZyB8IG51bGwsXG4gICAgaWNvbmU6IHN0cmluZyB8IG51bGwsXG4gICAgaW5kcHVibGljYWRvOiBib29sZWFuLFxuICAgIGluZG1lbnVwYWk6IGJvb2xlYW5cbiAgICBsaXN0YWlkdmlzYW9tZW51OiBudW1iZXJbXVxuICB9W10gPSBbXTtcblxuICBASW5wdXQoKSBleHBhbmRNZW51OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbG9nb01lbnVFeHBhbmQhOiBhbnk7XG4gIEBJbnB1dCgpIGxvZ29NZW51SGlkZSE6IGFueTtcblxuICBASW5wdXQoKSBzZWxlY3RlZEFwcCE6IG51bWJlcjtcbiAgQElucHV0KCkgc2VsZWN0ZWRFbXByZXNhITogYW55O1xuICBASW5wdXQoKSBzZWxlY3RlZE1hc3RlciE6IG51bWJlcjtcblxuICBASW5wdXQoKSBzaG93QnV0dG9uQXBwczogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dCdXR0b25Vc2VyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0V4cGFuZE1lbnU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93RHJvcGRvd25MaWNlbmNhOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd01lbnU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VHJvY2FFbXByZXNhOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZXJOYW1lOiBzdHJpbmcgPSAnVXN1w6FyaW8nO1xuXG4gIEBPdXRwdXQoKSBhY2Nlc3NLZWVQYXNzRW1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VFbXByZXNhRW1pdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2hhbmdlTGljZW5zZUVtaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZXhwYW5kTWVudUVtaXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGxvZ291dEVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0QXBwRW1pdDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnbWV1c0RhZG9zUGFuZWwnKSBtZXVzRGFkb3NQYW5lbCE6IE92ZXJsYXlQYW5lbDtcbiAgQFZpZXdDaGlsZCgnc2lkZWJhclJlZicpIHNpZGViYXJSZWYhOiBTaWRlYmFyO1xuICBAVmlld0NoaWxkKCdzaXN0ZW1hc1BhbmVsJykgc2lzdGVtYXNQYW5lbCE6IE92ZXJsYXlQYW5lbDtcblxuXG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgaGVpZ2h0Q2FyZCE6IG51bWJlcjtcbiAgbW91c2VPdmVyRmlsaG9JbmRleDogYW55O1xuICBtb3VzZU92ZXJJbmRleDogYW55O1xuICB3aWR0aENhcmQhOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIGFjY2Vzc0tlZVBhc3MoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2lzdGVtYXNQYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5hY2Nlc3NLZWVQYXNzRW1pdC5lbWl0KGV2ZW50KVxuICB9XG5cbiAgcHVibGljIGFkanVzdEhlaWdodENhcmQoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy53aWR0aENhcmQgPiA0MDApIHtcbiAgICAgIGlmICh0aGlzLmJyZWFkQ3J1bWJJdGVtcy5sZW5ndGggPiAwKSByZXR1cm4gMTA1XG4gICAgICBlbHNlIHJldHVybiA4NVxuICAgIH0gZWxzZSByZXR1cm4gODNcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0V2lkdGhDYXJkKCkge1xuICAgIHRoaXMuaGVpZ2h0Q2FyZCA9IE51bWJlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1jb250ZW50Jyk/Lm9mZnNldEhlaWdodCk7XG4gICAgaWYgKHRoaXMuc2hvd01lbnUpXG4gICAgICB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCkgLSAodGhpcy5leHBhbmRNZW51ID8gMzMzIDogOTMpO1xuICAgIGVsc2UgdGhpcy53aWR0aENhcmQgPSBOdW1iZXIod2luZG93LmlubmVyV2lkdGgpO1xuICB9XG5cbiAgcHVibGljIGNhbGxSb3V0ZShlOiBhbnksIGV4cGFuZD86IGJvb2xlYW4pIHtcbiAgICBpZiAoIWV4cGFuZClcbiAgICAgICF0aGlzLmV4cGFuZE1lbnUgPyB0aGlzLmV4cGFuZE1lbnUgPSAhdGhpcy5leHBhbmRNZW51IDogJyc7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGUpXG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRW1wcmVzYShldmVudDogYW55KSB7XG4gICAgdGhpcy5jaGFuZ2VFbXByZXNhRW1pdC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VMaWNlbnNlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNoYW5nZUxpY2Vuc2VFbWl0LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHBhbmRNZW51RXZlbnQoKSB7XG4gICAgdGhpcy5leHBhbmRNZW51RW1pdC5lbWl0KHRoaXMuZXhwYW5kTWVudSk7XG4gIH1cblxuICBwdWJsaWMgbG9nb3V0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNpc3RlbWFzUGFuZWwuaGlkZSgpO1xuICAgIHRoaXMubG9nb3V0RW1pdC5lbWl0KGV2ZW50KVxuICB9XG5cbiAgcHJpdmF0ZSBtZW51c1BlckFwcCgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsICYmIHRoaXMubWVudXMgJiYgdGhpcy5tZW51cy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5yb3V0ZXIudXJsID09PSAnLycpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvRmlyc3RNZW51KClcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBtZW51U2VsZWNpb25hZG8gPSB0aGlzLm1lbnVzLmZpbmQoKG1lbnU6IGFueSkgPT4gbWVudS5saW5rICYmIG1lbnUubGluay5pbmNsdWRlcyh0aGlzLnJvdXRlci51cmwuc2xpY2UoMSkpKTtcbiAgICAgICAgaWYgKG1lbnVTZWxlY2lvbmFkbykge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb01lbnUobWVudVNlbGVjaW9uYWRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnNpc3RlbWFzUGFuZWwpIHtcbiAgICAgIHRoaXMuc2lzdGVtYXNQYW5lbC5oaWRlKClcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG5hbWVFbXByZXNhKG5vbWVMaWNlbmNhOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChub21lTGljZW5jYSkge1xuICAgICAgaWYgKG5vbWVMaWNlbmNhLmxlbmd0aCA+IDIzKVxuICAgICAgICByZXR1cm4gbm9tZUxpY2VuY2Euc3Vic3RyaW5nKDAsIDIzKSArICcuLi4nO1xuICAgICAgZWxzZSByZXR1cm4gbm9tZUxpY2VuY2E7XG4gICAgfSBlbHNlIHJldHVybiAnJztcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb0ZpcnN0TWVudSgpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdE1lbnUgPSB0aGlzLm1lbnVzWzBdO1xuICAgIGlmIChmaXJzdE1lbnUuaW5kbWVudXBhaSkge1xuICAgICAgY29uc3QgZmlsaG9zID0gdGhpcy5yZXR1cm5NZW51Q2hpbGQoZmlyc3RNZW51LmlkbWVudSk7XG4gICAgICBpZiAoZmlsaG9zKSB7XG4gICAgICAgIHRoaXMuY2FsbFJvdXRlKGZpbGhvc1swXS5saW5rLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWxsUm91dGUoZmlyc3RNZW51LmxpbmssIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb01lbnUobWVudTogYW55KTogdm9pZCB7XG4gICAgaWYgKG1lbnUubWVudXBhaSkge1xuICAgICAgY29uc3QgZmlsaG9zID0gdGhpcy5yZXR1cm5NZW51Q2hpbGQobWVudS5pZG1lbnUpO1xuICAgICAgaWYgKGZpbGhvcykge1xuICAgICAgICB0aGlzLmNhbGxSb3V0ZShmaWxob3NbMF0ubGluaywgdHJ1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FsbFJvdXRlKG1lbnUubGluaywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGxhdGVzdFJlcXVlc3QgPSBjaGFuZ2VzWydtZW51cyddO1xuICAgIGlmIChsYXRlc3RSZXF1ZXN0Py5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMubWVudXNQZXJBcHAoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWRtYXN0ZXI6IFt0aGlzLnNlbGVjdGVkTWFzdGVyLCBbXV0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkanVzdFdpZHRoQ2FyZCgpO1xuICAgIHRoaXMuZXhwYW5kTWVudUV2ZW50KClcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlRW50ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMubW91c2VPdmVySW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlRW50ZXJDaGlsZChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tb3VzZU92ZXJGaWxob0luZGV4ID0gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZUxlYXZlKCkge1xuICAgIHRoaXMubW91c2VPdmVySW5kZXggPSBudWxsO1xuICAgIHRoaXMubW91c2VPdmVyRmlsaG9JbmRleCA9IG51bGw7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCkge1xuICAgIHRoaXMuYWRqdXN0V2lkdGhDYXJkKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIHJldHVybk1lbnVDaGlsZChpZG1lbnU6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLm1lbnVzLmZpbHRlcigoeDogYW55KSA9PiB4LmlkbWVudXBhaSA9PSBpZG1lbnUpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFwcChpZGFwbGljYXRpdm86IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0QXBwRW1pdC5lbWl0KGlkYXBsaWNhdGl2byk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0xpY2VuY2FzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dEcm9wZG93bkxpY2VuY2EgJiYgKHRoaXMubWFzdGVycyB8fCBbXSkubGVuZ3RoID4gMTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kTWVudSA9ICF0aGlzLmV4cGFuZE1lbnU7XG4gICAgdGhpcy5leHBhbmRNZW51RXZlbnQoKVxuICB9XG5cbiAgcHVibGljIHZlcmlmeVNlbGVjdGVkUGFnZShsaW5rOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKGxpbmspO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBvdmVyZmxvdy15LWhpZGRlbiB3LSBmdWxsLWNvbnRhaW5lclwiPlxuXG4gIEBpZiAoc2hvd01lbnUpIHtcbiAgPGRpdiBbc3R5bGVdPVwieyBtaW5XaWR0aDogZXhwYW5kTWVudSA/ICczMDBweCcgOiAnNjBweCcgfVwiPjwvZGl2PlxuICB9XG5cbiAgQGlmKHNob3dNZW51KSB7XG4gIDxwLXNpZGViYXJcbiAgICAjc2lkZWJhclJlZlxuICAgIFt2aXNpYmxlXT1cInRydWVcIlxuICAgIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCJcbiAgICBbbW9kYWxdPVwiZmFsc2VcIlxuICAgIFtzdHlsZV09XCJ7IHdpZHRoOiBleHBhbmRNZW51ID8gJzMwMHB4JyA6ICc2MHB4JyB9XCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRsZXNzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBteC0xXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZmxleC1zaHJpbmstMCBteC0yXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e1xuICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJyA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xuICAgICAgICAgICAgfX0gcHktM1wiPlxuICAgICAgICAgICAgPCEtLSBMb2dvIHBhcmEgbyBtZW51IGV4cGFuZGlkbyAtLT5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51ICYmIGxvZ29NZW51RXhwYW5kXCJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXG4gICAgICAgICAgICAgIFtzcmNdPVwibG9nb01lbnVFeHBhbmRcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjE1MFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicm91dGVyLm5hdmlnYXRlKFsnL2tlZXZvY2VudGVyL2hvbWUnXSlcIiAvPlxuXG4gICAgICAgICAgICA8IS0tIExvZ28gcGFyYSBvIG1lbnUgbWluaW1pemFkby0tPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAqbmdJZj1cIiFleHBhbmRNZW51ICYmIGxvZ29NZW51SGlkZVwiXG4gICAgICAgICAgICAgIGFsdD1cIkNhcmRcIlxuICAgICAgICAgICAgICBbc3JjXT1cImxvZ29NZW51RXhwYW5kXCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIiAvPlxuXG4gICAgICAgICAgICA8IS0tIFRvZ2dsZSBtZW51IC0tPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dFeHBhbmRNZW51XCJcbiAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBwYWRkaW5nLXN0eWxlIGgtMnJlbSB3LTJyZW0gaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgaWNvbi1tZW51XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJleHBhbmRNZW51ID8gJ09jdWx0YXIgTWVudScgOiAnRXhwYW5kaXIgTWVudSdcIlxuICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IG1lbnUgPC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYoc2hvd1Ryb2NhRW1wcmVzYSl7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e2V4cGFuZE1lbnUgPyAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nIDogJ2p1c3RpZnktY29udGVudC1jZW50ZXInfX1cIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51ICYmIHNlbGVjdGVkRW1wcmVzYVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VFbXByZXNhKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCBtci0yXCJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidGhpcy5zZWxlY3RlZEVtcHJlc2EucmF6YW9zb2NpYWxcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiPlxuICAgICAgICAgICAgICAgIHt7bmFtZUVtcHJlc2EodGhpcy5zZWxlY3RlZEVtcHJlc2EucmF6YW9zb2NpYWwpfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gbXQtMVwiPnt7dGhpcy5zZWxlY3RlZEVtcHJlc2EuY3BmY25waiB8XG4gICAgICAgICAgICAgICAgY3BmQ25waiB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHBCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcGFkZGluZy1zdHlsZSBoLTJyZW0gdy0ycmVtIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIGljb24tbWVudVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VFbXByZXNhKCRldmVudClcIlxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiJ1Ryb2NhciBkZSBlbXByZXNhJ1wiXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAgICBzeW5jX2FsdFxuICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwLWRpdmlkZXIgdHlwZT1cInNvbGlkXCI+PC9wLWRpdmlkZXI+XG4gICAgICAgICAgfVxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3Qtbm9uZSBtLTAgIGNhcmQtY29udGFpbmVyIHt7IGV4cGFuZE1lbnUgPyAnbXgtMScgOiAnJyB9fVwiXG4gICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwiaGVpZ2h0Q2FyZCAtIDIyMCArICdweCdcIlxuICAgICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0b1wiPlxuICAgICAgICAgIDwhLS0gbWVudXMgLS0+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBtZW51IG9mIG1lbnVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8IS0tIG1lbnUgcXVlIG7Do28gdGVtIGZpbGhvIC0tPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKGkpXCJcbiAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdob3Zlci1jb2xvcic6IG1vdXNlT3ZlckluZGV4ID09PSBpIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKG1lbnUubGluaylcIlxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICFtZW51LmluZG1lbnVwYWkgJiYgKCFtZW51LmlkbWVudXBhaSB8fCBtZW51LmlkbWVudXBhaSA9PSAwKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIhZXhwYW5kTWVudSA/IG1lbnUuZGVzY3JpY2FvbWVudSA6ICcnXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ7e1xuICAgICAgICAgICAgICAgIHZlcmlmeVNlbGVjdGVkUGFnZShtZW51LmxpbmspID8gJ2JnLWdyZWVuLTYwMCcgOiAnJ1xuICAgICAgICAgICAgICB9fSBtZW51LW9wdGlvbiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBuby11bmRlcmxpbmUge3tcbiAgICAgICAgICAgICAgICAhZXhwYW5kTWVudSA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyA6ICcnXG4gICAgICAgICAgICAgIH19IGN1cnNvci1wb2ludGVyIGJvcmRlci1yb3VuZCB0ZXh0LTcwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZVwiPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLW1lbnUge3tcbiAgICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUgPyAnbWwtMSBtci0yJyA6ICcnXG4gICAgICAgICAgICAgICAgfX0gIGljb24taG92ZXItY29sb3Ige3tcbiAgICAgICAgICAgICAgICAgIHZlcmlmeVNlbGVjdGVkUGFnZShtZW51LmxpbmspID8gJ3RleHQtd2hpdGUnIDogJydcbiAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51Lmljb25lXCI+XG4gICAgICAgICAgICAgICAge3sgbWVudS5pY29uZSB9fVxuICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ibHVlLTkwMCBmb250LW1lZGl1bSB7e1xuICAgICAgICAgICAgICAgICAgdmVyaWZ5U2VsZWN0ZWRQYWdlKG1lbnUubGluaykgPyAndGV4dC13aGl0ZScgOiAnJ1xuICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIj57eyBtZW51LmRlc2NyaWNhb21lbnUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8IS0tIG1lbnUgY29tIGZpbGhvIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1lbnUuaW5kbWVudXBhaVwiPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQG5leHRcIlxuICAgICAgICAgICAgICAgIGVudGVyQ2xhc3M9XCJoaWRkZW5cIlxuICAgICAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJzbGlkZWRvd25cIlxuICAgICAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cImhpZGRlblwiXG4gICAgICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInNsaWRldXBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3tcbiAgICAgICAgICAgICAgICAgICFleHBhbmRNZW51XG4gICAgICAgICAgICAgICAgICAgID8gJ2p1c3RpZnktY29udGVudC1jZW50ZXInXG4gICAgICAgICAgICAgICAgICAgIDogJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJ1xuICAgICAgICAgICAgICAgIH19IGN1cnNvci1wb2ludGVyIGJvcmRlci1yb3VuZCB0ZXh0LTcwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiIWV4cGFuZE1lbnUgPyBtZW51LmRlc2NyaWNhb21lbnUgOiAnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFleHBhbmRNZW51ID8gKGV4cGFuZE1lbnUgPSAhZXhwYW5kTWVudSkgOiAnJ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbWVudSB7e1xuICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZE1lbnUgPyAnbWwtMSBtci0yJyA6ICcnXG4gICAgICAgICAgICAgICAgICAgIH19IGljb24taG92ZXItY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1lbnUuaWNvbmVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdob3Zlci1jb2xvcic6IG1vdXNlT3ZlckluZGV4ID09PSBpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbWVudS5pY29uZSB9fVxuICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ibHVlLTkwMCBmb250LW1lZGl1bVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaSBwaS1jaGV2cm9uLWRvd24gdGV4dC1ibHVlLTkwMCBtci0xIGljb24taG92ZXItY29sb3JcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiPjwvaT5cbiAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgIDwhLS0gZmlsaG9zIC0tPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LW5vbmUgcHktMCBwbC0zIHByLTAgbS0wIGhpZGRlbiBvdmVyZmxvdy15LWhpZGRlbiB0cmFuc2l0aW9uLWFsbCB0cmFuc2l0aW9uLWR1cmF0aW9uLTQwMCB0cmFuc2l0aW9uLWVhc2UtaW4tb3V0XCI+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGhvIG9mIHJldHVybk1lbnVDaGlsZChtZW51LmlkbWVudSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpRmlsaG8gPSBpbmRleFxuICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXJDaGlsZChmaWxoby5pZG1lbnUpXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVyRmlsaG9JbmRleCA9PT0gZmlsaG8uaWRtZW51XG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKGZpbGhvLmxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7XG4gICAgICAgICAgICAgICAgICAgICAgdmVyaWZ5U2VsZWN0ZWRQYWdlKGZpbGhvLmxpbmspID8gJ2JnLWdyZWVuLTYwMCcgOiAnJ1xuICAgICAgICAgICAgICAgICAgICB9fSBtZW51LW9wdGlvbiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBuby11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXIgYm9yZGVyLXJvdW5kIHRleHQtNzAwIGhvdmVyOmJnLWdyZWVuLTYwMCB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZSBwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1tZW51IHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ21sLTEgbXItMicgOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgIH19IGljb24taG92ZXItY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsaG8uaWNvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbGhvLmljb25lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWJsdWUtOTAwIG1sLTQge3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeVNlbGVjdGVkUGFnZShmaWxoby5saW5rKSA/ICd0ZXh0LXdoaXRlJyA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiPnt7IGZpbGhvLmRlc2NyaWNhb21lbnUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1zaWRlYmFyPlxuICB9XG5cbiAgPCEtLSBUb3BiYXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJ3LWF1dG8gaC1zY3JlZW4gcGFnZS1jb250ZW50IG92ZXJmbG93LXktaGlkZGVuXCIgaWQ9XCJwYWdlLWNvbnRlbnRcIlxuICAgIHN0eWxlPVwid2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG0tM1wiPlxuICAgICAgPCEtLSBCcmVhZGNydW1icyAtLT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtYmx1ZS05MDAgYnJlYWRjcnVtYi10aXRsZVwiPlxuICAgICAgICAgIHt7IGJyZWFkQ3J1bWJJdGVtc1ticmVhZENydW1iSXRlbXMubGVuZ3RoIC0gMV0/LmxhYmVsIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHAtYnJlYWRjcnVtYlxuICAgICAgICAgICpuZ0lmPVwid2lkdGhDYXJkID4gNDAwXCJcbiAgICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vbmUgcC0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMnJlbSAhaW1wb3J0YW50O1wiXG4gICAgICAgICAgW21vZGVsXT1cImJyZWFkQ3J1bWJJdGVtc1wiXG4gICAgICAgICAgW3N0eWxlXT1cInsgYmFja2dyb3VuZENvbG9yOiAnI2Q0ZDNkMycgfVwiXG4gICAgICAgICAgKG9uSXRlbUNsaWNrKT1cImNhbGxSb3V0ZSgkZXZlbnQuaXRlbS5yb3V0ZXJMaW5rLCB0cnVlKVwiPjwvcC1icmVhZGNydW1iPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gZHJvcGRvd24gcGFyYSBzZWxlw6fDo28gZGUgZW1wcmVzYS9saWNlbmNhIC0tPlxuICAgICAgPGRyb3Bkb3duLW1hc3RlclxuICAgICAgICAqbmdJZj1cInNob3dMaWNlbmNhcygpXCJcbiAgICAgICAgY2xhc3M9XCJ3LTQwcmVtXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaWRtYXN0ZXJcIlxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgIFttYXN0ZXJzXT1cIm1hc3RlcnNcIlxuICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlTGljZW5zZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uU2VsZWN0aW9uVmFsdWUpPVwiY2hhbmdlTGljZW5zZSgkZXZlbnQpXCI+XG4gICAgICA8L2Ryb3Bkb3duLW1hc3Rlcj5cblxuICAgICAgPCEtLSBOYXZlZ2HDp8OjbyBkZSBzaXN0ZW1hcyBlIHVzdcOhcmlvcyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzaG93QnV0dG9uQXBwc1wiXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctMnJlbSBoLTJyZW0gdGV4dC1ibHVlLTkwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZVwiXG4gICAgICAgICAgaWNvbj1cInBpIHBpLXRoLWxhcmdlXCJcbiAgICAgICAgICBbcm91bmRlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbdGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2lzdGVtYXNQYW5lbC50b2dnbGUoJGV2ZW50KVwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cIidTaXN0ZW1hcydcIlxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCI+PC9wLWJ1dHRvbj5cblxuICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dCdXR0b25Vc2VyXCJcbiAgICAgICAgICBzdHlsZUNsYXNzPVwidy0ycmVtIGgtMnJlbSB0ZXh0LWJsdWUtOTAwIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlXCJcbiAgICAgICAgICBpY29uPVwicGkgcGktdXNlclwiXG4gICAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW3RleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cIidNZW51IGRvIFVzdcOhcmlvJ1wiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxuICAgICAgICAgIChjbGljayk9XCJtZXVzRGFkb3NQYW5lbC50b2dnbGUoJGV2ZW50KVwiPjwvcC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ29udGFpbmVyIC0tPlxuICAgIDxwLWNhcmRcbiAgICAgIHN0eWxlQ2xhc3M9XCJtLTMgYm9yZGVyLW5vcm91bmQgb3ZlcmZsb3cteS1hdXRvIHt7XG4gICAgICAgICFzaG93TWVudSAmJiAnc206b3ZlcmZsb3cteS1oaWRkZW4nXG4gICAgICB9fSBjYXJkLWNvbnRhaW5lclwiXG4gICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodENhcmQgLSBhZGp1c3RIZWlnaHRDYXJkKCkgKyAncHgnIH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ7e3dpZHRoQ2FyZCA8IDk5MiAmJiAnY2FyZC1jb250YWluZXInfX0gdy1mdWxsXCIgW3N0eWxlXT1cInsgd2lkdGg6IHdpZHRoQ2FyZCArICdweCcgfVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L3AtY2FyZD5cbiAgPC9kaXY+XG5cbiAgPCEtLSBQYWluZWwgZGUgYXBsaWNhdGl2b3MgLS0+XG4gIDxwLW92ZXJsYXlQYW5lbFxuICAgICNzaXN0ZW1hc1BhbmVsXG4gICAgW3Nob3dUcmFuc2l0aW9uT3B0aW9uc109XCInMzUwbXMgZWFzZS1vdXQnXCJcbiAgICBbaGlkZVRyYW5zaXRpb25PcHRpb25zXT1cIicyNTBtcyBlYXNlLWluJ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250YWluZXJcIj5cbiAgICAgIDxwIGNsYXNzPVwidGl0bGUtc3R5bGUgbXQtM1wiPlNpc3RlbWFzPC9wPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZmxleC13cmFwIGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTUgbWItM1wiXG4gICAgICAgIHN0eWxlPVwid2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDEwMCVcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhcGxpY2F0aXZvIG9mIGFwcHNcIlxuICAgICAgICAgIHBCdXR0b25cbiAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgY2xhc3M9XCJidG4tc2lzdGVtYS0yIGJ0bi1zaXN0ZW1hIGhvdmVyLWJ0bi1jb3ItcGFkcmFvIHJlbW92ZS1mb2N1cyBoLTRyZW0gdy00cmVtXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiYXBsaWNhdGl2bz8uZGVzY3JpY2FvYXBsaWNhdGl2b1wiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBcHAoYXBsaWNhdGl2by5pZGFwbGljYXRpdm8pXCI+XG4gICAgICAgICAge3sgYXBsaWNhdGl2by5ub21lYXBsaWNhdGl2by5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1vdmVybGF5UGFuZWw+XG5cbiAgPCEtLSBQYWluZWwgZG8gdXN1w6FyaW8gLS0+XG4gIDxwLW92ZXJsYXlQYW5lbFxuICAgICNtZXVzRGFkb3NQYW5lbFxuICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwiJzM1MG1zIGVhc2Utb3V0J1wiXG4gICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMjUwbXMgZWFzZS1pbidcIj5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGFpbmVyXCI+XG4gICAgICA8cCBjbGFzcz1cInRpdGxlLXN0eWxlIG10LTNcIj5cbiAgICAgICAgT2zDoSwge3sgdXNlck5hbWUgPyB1c2VyTmFtZS5zcGxpdChcIiBcIilbMF0gOiBcIlVzdcOhcmlvXCIgfX0hXG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNSBtYi0zXCI+PC9kaXY+XG5cbiAgICAgIDxwLWJ1dHRvblxuICAgICAgICBpY29uPVwicGkgcGktbG9ja1wiXG4gICAgICAgIGxhYmVsPVwiQWNlc3NhciBLZWVwYXNzXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiYWNjZXNzS2VlUGFzcygkZXZlbnQpXCJcbiAgICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgW3RleHRdPVwidHJ1ZVwiPlxuICAgICAgPC9wLWJ1dHRvbj5cblxuICAgICAgPHAtYnV0dG9uXG4gICAgICAgIGljb249XCJwaSBwaS1zaWduLW91dFwiXG4gICAgICAgIGxhYmVsPVwiU2FpclwiXG4gICAgICAgIChvbkNsaWNrKT1cImxvZ291dCgkZXZlbnQpXCJcbiAgICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgW3RleHRdPVwidHJ1ZVwiPlxuICAgICAgPC9wLWJ1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3Atb3ZlcmxheVBhbmVsPlxuPC9kaXY+XG4iXX0=
@@ -8,10 +8,10 @@ export class KvLoaderComponent {
8
8
  this.loading = KvLoaderService.isLoading;
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvLoaderComponent, selector: "kv-loader", ngImport: i0, template: "<ngx-loading [show]=\"(loading | async) || false\"></ngx-loading>\r\n", dependencies: [{ kind: "component", type: i1.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvLoaderComponent, selector: "kv-loader", ngImport: i0, template: "<ngx-loading [show]=\"(loading | async) || false\"></ngx-loading>\n", dependencies: [{ kind: "component", type: i1.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLoaderComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'kv-loader', template: "<ngx-loading [show]=\"(loading | async) || false\"></ngx-loading>\r\n" }]
15
+ args: [{ selector: 'kv-loader', template: "<ngx-loading [show]=\"(loading | async) || false\"></ngx-loading>\n" }]
16
16
  }], ctorParameters: () => [] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCO1FBRk8sWUFBTyxHQUFxQixlQUFlLENBQUMsU0FBUyxDQUFDO0lBRTdDLENBQUM7OEdBSk4saUJBQWlCO2tHQUFqQixpQkFBaUIsaURDVDlCLHVFQUNBOzsyRkRRYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBLdkxvYWRlclNlcnZpY2UgfSBmcm9tICcuL2t2LWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtbG9hZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZMb2FkZXJDb21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgbG9hZGluZzogU3ViamVjdDxib29sZWFuPiA9IEt2TG9hZGVyU2VydmljZS5pc0xvYWRpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPG5neC1sb2FkaW5nIFtzaG93XT1cIihsb2FkaW5nIHwgYXN5bmMpIHx8IGZhbHNlXCI+PC9uZ3gtbG9hZGluZz5cclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCO1FBRk8sWUFBTyxHQUFxQixlQUFlLENBQUMsU0FBUyxDQUFDO0lBRTdDLENBQUM7OEdBSk4saUJBQWlCO2tHQUFqQixpQkFBaUIsaURDVDlCLHFFQUNBOzsyRkRRYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBLdkxvYWRlclNlcnZpY2UgfSBmcm9tICcuL2t2LWxvYWRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna3YtbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWxvYWRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgS3ZMb2FkZXJDb21wb25lbnQge1xuXG4gIHB1YmxpYyBsb2FkaW5nOiBTdWJqZWN0PGJvb2xlYW4+ID0gS3ZMb2FkZXJTZXJ2aWNlLmlzTG9hZGluZztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIiwiPG5neC1sb2FkaW5nIFtzaG93XT1cIihsb2FkaW5nIHwgYXN5bmMpIHx8IGZhbHNlXCI+PC9uZ3gtbG9hZGluZz5cbiJdfQ==
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
25
25
  ]
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9hZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBWTFELE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7K0dBQWQsY0FBYyxpQkFUVixpQkFBaUIsYUFHOUIsWUFBWSxrQ0FGSixpQkFBaUI7K0dBUWhCLGNBQWMsWUFOdkIsWUFBWTtZQUNaLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztnQkFDdkIsa0JBQWtCLEVBQUUsSUFBSTthQUN6QixDQUFDOzsyRkFHTyxjQUFjO2tCQVYxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCLENBQUMsT0FBTyxDQUFDOzRCQUN2QixrQkFBa0IsRUFBRSxJQUFJO3lCQUN6QixDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4TG9hZGluZ01vZHVsZSB9IGZyb20gJ25neC1sb2FkaW5nJztcclxuXHJcbmltcG9ydCB7IEt2TG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9rdi1sb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbS3ZMb2FkZXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtLdkxvYWRlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTmd4TG9hZGluZ01vZHVsZS5mb3JSb290KHtcclxuICAgICAgZnVsbFNjcmVlbkJhY2tkcm9wOiB0cnVlXHJcbiAgICB9KVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2TG9hZGVyTW9kdWxlIHsgfVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9hZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBWTFELE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7K0dBQWQsY0FBYyxpQkFUVixpQkFBaUIsYUFHOUIsWUFBWSxrQ0FGSixpQkFBaUI7K0dBUWhCLGNBQWMsWUFOdkIsWUFBWTtZQUNaLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztnQkFDdkIsa0JBQWtCLEVBQUUsSUFBSTthQUN6QixDQUFDOzsyRkFHTyxjQUFjO2tCQVYxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCLENBQUMsT0FBTyxDQUFDOzRCQUN2QixrQkFBa0IsRUFBRSxJQUFJO3lCQUN6QixDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hMb2FkaW5nTW9kdWxlIH0gZnJvbSAnbmd4LWxvYWRpbmcnO1xuXG5pbXBvcnQgeyBLdkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4va3YtbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0t2TG9hZGVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0t2TG9hZGVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ3hMb2FkaW5nTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgZnVsbFNjcmVlbkJhY2tkcm9wOiB0cnVlXG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBLdkxvYWRlck1vZHVsZSB7IH1cbiJdfQ==
@@ -26,4 +26,4 @@ export const loading = () => {
26
26
  }));
27
27
  };
28
28
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBRUwsT0FBTyxFQUNQLFFBQVEsRUFDVCxNQUFNLE1BQU0sQ0FBQzs7QUFLZCxNQUFNLE9BQU8sZUFBZTthQUNaLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVyxBQUF6QixDQUEwQjtJQUVqRCxNQUFNLENBQUMsSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBVFUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBYUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQVEsRUFBRTtJQUMvQixPQUFPLENBQUMsR0FBb0IsRUFBRSxFQUFFO1FBQzlCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgT2JzZXJ2YWJsZSxcclxuICBTdWJqZWN0LFxyXG4gIGZpbmFsaXplXHJcbn0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkxvYWRlclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBzdGF0aWMgaXNMb2FkaW5nID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgc3RhdGljIHNob3coKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGhpZGUoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZy5uZXh0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkaW5nID0gKCk6IGFueSA9PiB7XHJcbiAgcmV0dXJuIChzcmM6IE9ic2VydmFibGU8YW55PikgPT4ge1xyXG4gICAgS3ZMb2FkZXJTZXJ2aWNlLnNob3coKTtcclxuICAgIHJldHVybiBzcmMucGlwZShmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgIEt2TG9hZGVyU2VydmljZS5oaWRlKCk7XHJcbiAgICB9KSk7XHJcbiAgfTtcclxufTsiXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBRUwsT0FBTyxFQUNQLFFBQVEsRUFDVCxNQUFNLE1BQU0sQ0FBQzs7QUFLZCxNQUFNLE9BQU8sZUFBZTthQUNaLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVyxBQUF6QixDQUEwQjtJQUVqRCxNQUFNLENBQUMsSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBVFUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBYUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQVEsRUFBRTtJQUMvQixPQUFPLENBQUMsR0FBb0IsRUFBRSxFQUFFO1FBQzlCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgZmluYWxpemVcbn0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEt2TG9hZGVyU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgaXNMb2FkaW5nID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBzdGF0aWMgc2hvdygpIHtcbiAgICB0aGlzLmlzTG9hZGluZy5uZXh0KHRydWUpO1xuICB9XG5cbiAgc3RhdGljIGhpZGUoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcubmV4dChmYWxzZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvYWRpbmcgPSAoKTogYW55ID0+IHtcbiAgcmV0dXJuIChzcmM6IE9ic2VydmFibGU8YW55PikgPT4ge1xuICAgIEt2TG9hZGVyU2VydmljZS5zaG93KCk7XG4gICAgcmV0dXJuIHNyYy5waXBlKGZpbmFsaXplKCgpID0+IHtcbiAgICAgIEt2TG9hZGVyU2VydmljZS5oaWRlKCk7XG4gICAgfSkpO1xuICB9O1xufTsiXX0=
@@ -33,11 +33,11 @@ export class KvLoginComponent extends BaseComponentCrudForm {
33
33
  }
34
34
  }
35
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLoginComponent, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.ActivatedRoute }, { token: i1.DynamicDialogRef }, { token: i1.DynamicDialogConfig }, { token: i3.Router }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvLoginComponent, selector: "kv-login", inputs: { Background: "Background", SystemLogo: "SystemLogo", SystemColorPrimary: "SystemColorPrimary", SystemColorSecondary: "SystemColorSecondary" }, outputs: { onLogin: "onLogin" }, usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n [style.background-image]=\"'url(' + Background + ')'\"\r\n>\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div\r\n [formGroup]=\" formGroup\"\r\n id=\"kvLogin-card\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\r\n [style.width.rem]=\"20\"\r\n [style.height.px]=\"450\"\r\n (keydown.enter)=\"save()\"\r\n >\r\n\r\n <!-- LOGO DO SISTEMA -->\r\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\r\n <img\r\n alt=\"Logo do Sistema\"\r\n [style.height.rem]=\"4\"\r\n [src]=\"SystemLogo\"\r\n />\r\n </div>\r\n\r\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\r\n <div class=\" grid formgrid p-fluid gap-2 p-3 pb-0\">\r\n\r\n <div\r\n class=\"mb-2 w-full flex flex-row align-items-center justify-content-srart gap-1 font-medium\"\r\n >\r\n <img\r\n [style.height.rem]=\"1.5\"\r\n class=\"ml-2\"\r\n alt=\"keepass\"\r\n src=\"https://work-assets.keevo.com.br/img/icone-keepass-preto.png\"\r\n />\r\n <label\r\n class=\"mt-1 text-sm\"\r\n >\r\n Entrar com KeePass\r\n </label>\r\n </div>\r\n\r\n <kv-input-text\r\n componentId=\"usuario\"\r\n label=\"CPF ou e-mail\"\r\n formControlName=\"usuario\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-text>\r\n\r\n <kv-input-password\r\n componentId=\"senha\"\r\n label=\"Senha\"\r\n [toggleMask]=\"true\"\r\n formControlName=\"senha\"\r\n [required]=\"true\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-password>\r\n\r\n <div\r\n class=\"flex w-full justify-content-end mb-2 h-2\"\r\n id=\"kvLogin-esqueceu-senha\"\r\n >\r\n <a\r\n href=\"https://keepass.seg.br/redefinirsenha\"\r\n target=\"_blank\"\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorPrimary\"\r\n >\r\n Esqueceu a senha?\r\n </a>\r\n </div>\r\n\r\n <div id=\"kvLogin-cadastro\" class=\"flex w-full justify-content-center h-2\">\r\n <label\r\n class=\"text-xs font-normal\"\r\n >\r\n Novo no KeePass?\r\n <a\r\n href=\"https://keepass.seg.br/cadastrar\"\r\n target=\"_blank\"\r\n class=\"text-xs m-0 p-0\"\r\n >\r\n Cadastre-se.\r\n </a>\r\n </label>\r\n </div>\r\n </div>\r\n \r\n\r\n <button\r\n id=\"kvLogin-login-button\"\r\n [style.background-color]=\"SystemColorPrimary\"\r\n [style.color]=\"'white'\"\r\n class=\"w-full \"\r\n (click)=\"save()\"\r\n [style.height.px]=\"50\"\r\n ><strong>Login</strong></button>\r\n </div>\r\n\r\n <div class=\"logo-keevo\">\r\n <img\r\n src=\"https://work-assets.keevo.com.br/img/keevo-logo-temp.png\"\r\n />\r\n <label\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorSecondary\"\r\n >\r\n Copyright \u00A9 2024 - Keevo Ltda Todos os direitos reservados.\r\n </label>\r\n </div>\r\n\r\n</div>", styles: ["@charset \"UTF-8\";:host{overflow:hidden}#kvLogin-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}#kvLogin-card{box-shadow:#00000059 0 5px 15px}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a{text-decoration:none;font-weight:500;cursor:pointer;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-cadastro{margin-bottom:1rem}#kvLogin-cadastro a{text-decoration:none;font-weight:600;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 10px 10px;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}.logo-keevo{text-align:center}.logo-keevo img{height:2rem;width:auto;display:block;margin:0 auto;margin-top:5rem}.logo-keevo label{display:block;margin-top:.5rem}@media (max-height: 700px){.logo-keevo img{margin-top:1rem}#kvLogin-container{padding:10px}#kvLogin-container img{max-width:90%}}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.KvInputPasswordComponent, selector: "kv-input-password", inputs: ["feedback", "mediumRegex", "strongRegex", "toggleMask"] }, { kind: "component", type: i6.KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }] }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvLoginComponent, selector: "kv-login", inputs: { Background: "Background", SystemLogo: "SystemLogo", SystemColorPrimary: "SystemColorPrimary", SystemColorSecondary: "SystemColorSecondary" }, outputs: { onLogin: "onLogin" }, usesInheritance: true, ngImport: i0, template: "<div\n id=\"kvLogin-container\"\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\n [style.background-image]=\"'url(' + Background + ')'\"\n>\n\n <!-- CARD PRINCIPAL -->\n <div\n [formGroup]=\" formGroup\"\n id=\"kvLogin-card\"\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\n [style.width.rem]=\"20\"\n [style.height.px]=\"450\"\n (keydown.enter)=\"save()\"\n >\n\n <!-- LOGO DO SISTEMA -->\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\n <img\n alt=\"Logo do Sistema\"\n [style.height.rem]=\"4\"\n [src]=\"SystemLogo\"\n />\n </div>\n\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\n <div class=\" grid formgrid p-fluid gap-2 p-3 pb-0\">\n\n <div\n class=\"mb-2 w-full flex flex-row align-items-center justify-content-srart gap-1 font-medium\"\n >\n <img\n [style.height.rem]=\"1.5\"\n class=\"ml-2\"\n alt=\"keepass\"\n src=\"https://work-assets.keevo.com.br/img/icone-keepass-preto.png\"\n />\n <label\n class=\"mt-1 text-sm\"\n >\n Entrar com KeePass\n </label>\n </div>\n\n <kv-input-text\n componentId=\"usuario\"\n label=\"CPF ou e-mail\"\n formControlName=\"usuario\"\n class=\"field col-12\"\n >\n </kv-input-text>\n\n <kv-input-password\n componentId=\"senha\"\n label=\"Senha\"\n [toggleMask]=\"true\"\n formControlName=\"senha\"\n [required]=\"true\"\n class=\"field col-12\"\n >\n </kv-input-password>\n\n <div\n class=\"flex w-full justify-content-end mb-2 h-2\"\n id=\"kvLogin-esqueceu-senha\"\n >\n <a\n href=\"https://keepass.seg.br/redefinirsenha\"\n target=\"_blank\"\n class=\"text-xs\"\n [style.color]=\"SystemColorPrimary\"\n >\n Esqueceu a senha?\n </a>\n </div>\n\n <div id=\"kvLogin-cadastro\" class=\"flex w-full justify-content-center h-2\">\n <label\n class=\"text-xs font-normal\"\n >\n Novo no KeePass?\n <a\n href=\"https://keepass.seg.br/cadastrar\"\n target=\"_blank\"\n class=\"text-xs m-0 p-0\"\n >\n Cadastre-se.\n </a>\n </label>\n </div>\n </div>\n \n\n <button\n id=\"kvLogin-login-button\"\n [style.background-color]=\"SystemColorPrimary\"\n [style.color]=\"'white'\"\n class=\"w-full \"\n (click)=\"save()\"\n [style.height.px]=\"50\"\n ><strong>Login</strong></button>\n </div>\n\n <div class=\"logo-keevo\">\n <img\n src=\"https://work-assets.keevo.com.br/img/keevo-logo-temp.png\"\n />\n <label\n class=\"text-xs\"\n [style.color]=\"SystemColorSecondary\"\n >\n Copyright \u00A9 2024 - Keevo Ltda Todos os direitos reservados.\n </label>\n </div>\n\n</div>", styles: ["@charset \"UTF-8\";:host{overflow:hidden}#kvLogin-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}#kvLogin-card{box-shadow:#00000059 0 5px 15px}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a{text-decoration:none;font-weight:500;cursor:pointer;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-cadastro{margin-bottom:1rem}#kvLogin-cadastro a{text-decoration:none;font-weight:600;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 10px 10px;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}.logo-keevo{text-align:center}.logo-keevo img{height:2rem;width:auto;display:block;margin:0 auto;margin-top:5rem}.logo-keevo label{display:block;margin-top:.5rem}@media (max-height: 700px){.logo-keevo img{margin-top:1rem}#kvLogin-container{padding:10px}#kvLogin-container img{max-width:90%}}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.KvInputPasswordComponent, selector: "kv-input-password", inputs: ["feedback", "mediumRegex", "strongRegex", "toggleMask"] }, { kind: "component", type: i6.KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }] }); }
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLoginComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'kv-login', template: "<div\r\n id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n [style.background-image]=\"'url(' + Background + ')'\"\r\n>\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div\r\n [formGroup]=\" formGroup\"\r\n id=\"kvLogin-card\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\r\n [style.width.rem]=\"20\"\r\n [style.height.px]=\"450\"\r\n (keydown.enter)=\"save()\"\r\n >\r\n\r\n <!-- LOGO DO SISTEMA -->\r\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\r\n <img\r\n alt=\"Logo do Sistema\"\r\n [style.height.rem]=\"4\"\r\n [src]=\"SystemLogo\"\r\n />\r\n </div>\r\n\r\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\r\n <div class=\" grid formgrid p-fluid gap-2 p-3 pb-0\">\r\n\r\n <div\r\n class=\"mb-2 w-full flex flex-row align-items-center justify-content-srart gap-1 font-medium\"\r\n >\r\n <img\r\n [style.height.rem]=\"1.5\"\r\n class=\"ml-2\"\r\n alt=\"keepass\"\r\n src=\"https://work-assets.keevo.com.br/img/icone-keepass-preto.png\"\r\n />\r\n <label\r\n class=\"mt-1 text-sm\"\r\n >\r\n Entrar com KeePass\r\n </label>\r\n </div>\r\n\r\n <kv-input-text\r\n componentId=\"usuario\"\r\n label=\"CPF ou e-mail\"\r\n formControlName=\"usuario\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-text>\r\n\r\n <kv-input-password\r\n componentId=\"senha\"\r\n label=\"Senha\"\r\n [toggleMask]=\"true\"\r\n formControlName=\"senha\"\r\n [required]=\"true\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-password>\r\n\r\n <div\r\n class=\"flex w-full justify-content-end mb-2 h-2\"\r\n id=\"kvLogin-esqueceu-senha\"\r\n >\r\n <a\r\n href=\"https://keepass.seg.br/redefinirsenha\"\r\n target=\"_blank\"\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorPrimary\"\r\n >\r\n Esqueceu a senha?\r\n </a>\r\n </div>\r\n\r\n <div id=\"kvLogin-cadastro\" class=\"flex w-full justify-content-center h-2\">\r\n <label\r\n class=\"text-xs font-normal\"\r\n >\r\n Novo no KeePass?\r\n <a\r\n href=\"https://keepass.seg.br/cadastrar\"\r\n target=\"_blank\"\r\n class=\"text-xs m-0 p-0\"\r\n >\r\n Cadastre-se.\r\n </a>\r\n </label>\r\n </div>\r\n </div>\r\n \r\n\r\n <button\r\n id=\"kvLogin-login-button\"\r\n [style.background-color]=\"SystemColorPrimary\"\r\n [style.color]=\"'white'\"\r\n class=\"w-full \"\r\n (click)=\"save()\"\r\n [style.height.px]=\"50\"\r\n ><strong>Login</strong></button>\r\n </div>\r\n\r\n <div class=\"logo-keevo\">\r\n <img\r\n src=\"https://work-assets.keevo.com.br/img/keevo-logo-temp.png\"\r\n />\r\n <label\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorSecondary\"\r\n >\r\n Copyright \u00A9 2024 - Keevo Ltda Todos os direitos reservados.\r\n </label>\r\n </div>\r\n\r\n</div>", styles: ["@charset \"UTF-8\";:host{overflow:hidden}#kvLogin-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}#kvLogin-card{box-shadow:#00000059 0 5px 15px}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a{text-decoration:none;font-weight:500;cursor:pointer;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-cadastro{margin-bottom:1rem}#kvLogin-cadastro a{text-decoration:none;font-weight:600;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 10px 10px;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}.logo-keevo{text-align:center}.logo-keevo img{height:2rem;width:auto;display:block;margin:0 auto;margin-top:5rem}.logo-keevo label{display:block;margin-top:.5rem}@media (max-height: 700px){.logo-keevo img{margin-top:1rem}#kvLogin-container{padding:10px}#kvLogin-container img{max-width:90%}}\n"] }]
40
+ args: [{ selector: 'kv-login', template: "<div\n id=\"kvLogin-container\"\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\n [style.background-image]=\"'url(' + Background + ')'\"\n>\n\n <!-- CARD PRINCIPAL -->\n <div\n [formGroup]=\" formGroup\"\n id=\"kvLogin-card\"\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\n [style.width.rem]=\"20\"\n [style.height.px]=\"450\"\n (keydown.enter)=\"save()\"\n >\n\n <!-- LOGO DO SISTEMA -->\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\n <img\n alt=\"Logo do Sistema\"\n [style.height.rem]=\"4\"\n [src]=\"SystemLogo\"\n />\n </div>\n\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\n <div class=\" grid formgrid p-fluid gap-2 p-3 pb-0\">\n\n <div\n class=\"mb-2 w-full flex flex-row align-items-center justify-content-srart gap-1 font-medium\"\n >\n <img\n [style.height.rem]=\"1.5\"\n class=\"ml-2\"\n alt=\"keepass\"\n src=\"https://work-assets.keevo.com.br/img/icone-keepass-preto.png\"\n />\n <label\n class=\"mt-1 text-sm\"\n >\n Entrar com KeePass\n </label>\n </div>\n\n <kv-input-text\n componentId=\"usuario\"\n label=\"CPF ou e-mail\"\n formControlName=\"usuario\"\n class=\"field col-12\"\n >\n </kv-input-text>\n\n <kv-input-password\n componentId=\"senha\"\n label=\"Senha\"\n [toggleMask]=\"true\"\n formControlName=\"senha\"\n [required]=\"true\"\n class=\"field col-12\"\n >\n </kv-input-password>\n\n <div\n class=\"flex w-full justify-content-end mb-2 h-2\"\n id=\"kvLogin-esqueceu-senha\"\n >\n <a\n href=\"https://keepass.seg.br/redefinirsenha\"\n target=\"_blank\"\n class=\"text-xs\"\n [style.color]=\"SystemColorPrimary\"\n >\n Esqueceu a senha?\n </a>\n </div>\n\n <div id=\"kvLogin-cadastro\" class=\"flex w-full justify-content-center h-2\">\n <label\n class=\"text-xs font-normal\"\n >\n Novo no KeePass?\n <a\n href=\"https://keepass.seg.br/cadastrar\"\n target=\"_blank\"\n class=\"text-xs m-0 p-0\"\n >\n Cadastre-se.\n </a>\n </label>\n </div>\n </div>\n \n\n <button\n id=\"kvLogin-login-button\"\n [style.background-color]=\"SystemColorPrimary\"\n [style.color]=\"'white'\"\n class=\"w-full \"\n (click)=\"save()\"\n [style.height.px]=\"50\"\n ><strong>Login</strong></button>\n </div>\n\n <div class=\"logo-keevo\">\n <img\n src=\"https://work-assets.keevo.com.br/img/keevo-logo-temp.png\"\n />\n <label\n class=\"text-xs\"\n [style.color]=\"SystemColorSecondary\"\n >\n Copyright \u00A9 2024 - Keevo Ltda Todos os direitos reservados.\n </label>\n </div>\n\n</div>", styles: ["@charset \"UTF-8\";:host{overflow:hidden}#kvLogin-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}#kvLogin-card{box-shadow:#00000059 0 5px 15px}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a{text-decoration:none;font-weight:500;cursor:pointer;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-cadastro{margin-bottom:1rem}#kvLogin-cadastro a{text-decoration:none;font-weight:600;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 10px 10px;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}.logo-keevo{text-align:center}.logo-keevo img{height:2rem;width:auto;display:block;margin:0 auto;margin-top:5rem}.logo-keevo label{display:block;margin-top:.5rem}@media (max-height: 700px){.logo-keevo img{margin-top:1rem}#kvLogin-container{padding:10px}#kvLogin-container img{max-width:90%}}\n"] }]
41
41
  }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.ActivatedRoute }, { type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i3.Router }, { type: i4.FormBuilder }], propDecorators: { Background: [{
42
42
  type: Input
43
43
  }], SystemLogo: [{
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
49
49
  }], onLogin: [{
50
50
  type: Output
51
51
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQVV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBRXREOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxxQkFBcUI7SUFhekQsWUFDRSxhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxNQUFjLEVBQ04sV0FBd0I7UUFDaEMsS0FBSyxDQUNILGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsTUFBTSxDQUNQLENBQUE7UUFSTyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVZsQyxpREFBaUQ7UUFDdkMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBa0IvRCxDQUFDO0lBRVEsYUFBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDNUQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMzRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsUUFBUSxDQUFDLEVBQU87SUFFekIsQ0FBQztJQUVRLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7OEdBOUNVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdRQ2pDN0IsNDVIQW1ITTs7MkZEbEZPLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVO2lRQU9YLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIFJvdXRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIERpYWxvZ1NlcnZpY2UsXHJcbiAgRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICBEeW5hbWljRGlhbG9nUmVmXHJcbn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuXHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudENydWRGb3JtIH0gZnJvbSAnLi4vLi4vYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jcnVkLWZvcm0nO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2Vldm9WYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vLi4vcHVibGljLWFwaSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkZSBsb2dpbiBwZXJzb25hbGl6YWRvLlxyXG4gKiBFc3RlIGNvbXBvbmVudGUgcGVybWl0ZSBxdWUgb3MgdXN1w6FyaW9zIGZhw6dhbSBsb2dpbiBubyBzaXN0ZW1hIHV0aWxpemFuZG8gbyBlc3RpbG8gcGFkcsOjbyBkb3Mgc2lzdGVtYXMgS2Vldm8uXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtbG9naW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LWxvZ2luLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2TG9naW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q3J1ZEZvcm0ge1xyXG5cclxuICAvKiogVVJMIGRhIGltYWdlbSBkZSBmdW5kbyBkbyBjb21wb25lbnRlLiAqL1xyXG4gIEBJbnB1dCgpIEJhY2tncm91bmQhOiBhbnk7XHJcbiAgLyoqIFVSTCBkbyBsb2dvIGRvIHNpc3RlbWEuICovXHJcbiAgQElucHV0KCkgU3lzdGVtTG9nbyE6IGFueTtcclxuICAvKiogQ29yIHByaW3DoXJpYSBkbyBzaXN0ZW1hLiAqL1xyXG4gIEBJbnB1dCgpIFN5c3RlbUNvbG9yUHJpbWFyeSE6IHN0cmluZztcclxuICAvKiogQ29yIHNlY3VuZMOhcmlhIGRvIHNpc3RlbWEuICovXHJcbiAgQElucHV0KCkgU3lzdGVtQ29sb3JTZWNvbmRhcnkhOiBzdHJpbmc7XHJcbiAgLyoqIEV2ZW50byBlbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIGZheiBsb2dpbi4gKi9cclxuICBAT3V0cHV0KCkgb25Mb2dpbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIGR5bmFtaWNEaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICBkeW5hbWljRGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxyXG4gICAgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGRpYWxvZ1NlcnZpY2UsXHJcbiAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgIGFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICBkeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgICBkeW5hbWljRGlhbG9nQ29uZmlnLFxyXG4gICAgICByb3V0ZXJcclxuICAgIClcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNvbmZpZ3VyZUZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICB1c3VhcmlvOiBbJycsIEtlZXZvVmFsaWRhdG9ycy5yZXF1aXJlZCgnQ2FtcG8gb2JyaWdhdMOzcmlvJyldLFxyXG4gICAgICBzZW5oYTogWycnLCBLZWV2b1ZhbGlkYXRvcnMucmVxdWlyZWQoJ0NhbXBvIG9icmlnYXTDs3JpbycpXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBsb2FkRm9ybShpZDogYW55KTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlRm9ybSgpKSB7XHJcbiAgICAgIHRoaXMub25Mb2dpbi5lbWl0KHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgaWQ9XCJrdkxvZ2luLWNvbnRhaW5lclwiXHJcbiAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW4gaC1zY3JlZW4gXCJcclxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIEJhY2tncm91bmQgKyAnKSdcIlxyXG4+XHJcblxyXG4gICAgPCEtLSBDQVJEIFBSSU5DSVBBTCAtLT5cclxuICAgIDxkaXZcclxuICAgICAgICBbZm9ybUdyb3VwXT1cIiBmb3JtR3JvdXBcIlxyXG4gICAgICAgIGlkPVwia3ZMb2dpbi1jYXJkXCJcclxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGJnLXdoaXRlIGJvcmRlci1yb3VuZC14bFwiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLnJlbV09XCIyMFwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCI0NTBcIlxyXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cInNhdmUoKVwiXHJcbiAgICA+XHJcblxyXG4gICAgICAgIDwhLS0gTE9HTyBETyBTSVNURU1BIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMyBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGFsdD1cIkxvZ28gZG8gU2lzdGVtYVwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnJlbV09XCI0XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiU3lzdGVtTG9nb1wiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gSU5GT1JNQcOHw5VFUyBDRU5UUkFJUyAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIGdyaWQgZm9ybWdyaWQgcC1mbHVpZCBnYXAtMiBwLTMgcGItMFwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYi0yIHctZnVsbCBmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtc3JhcnQgZ2FwLTEgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5yZW1dPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cImtlZXBhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2ltZy9pY29uZS1rZWVwYXNzLXByZXRvLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0xIHRleHQtc21cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIEVudHJhciBjb20gS2VlUGFzc1xyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8a3YtaW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50SWQ9XCJ1c3VhcmlvXCJcclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiQ1BGIG91IGUtbWFpbFwiXHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c3VhcmlvXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmllbGQgY29sLTEyXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2t2LWlucHV0LXRleHQ+XHJcblxyXG4gICAgICAgICAgICA8a3YtaW5wdXQtcGFzc3dvcmRcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudElkPVwic2VuaGFcIlxyXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJTZW5oYVwiXHJcbiAgICAgICAgICAgICAgICBbdG9nZ2xlTWFza109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbmhhXCJcclxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmllbGQgY29sLTEyXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2t2LWlucHV0LXBhc3N3b3JkPlxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG1iLTIgaC0yXCJcclxuICAgICAgICAgICAgICAgIGlkPVwia3ZMb2dpbi1lc3F1ZWNldS1zZW5oYVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8va2VlcGFzcy5zZWcuYnIvcmVkZWZpbmlyc2VuaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiU3lzdGVtQ29sb3JQcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICBFc3F1ZWNldSBhIHNlbmhhP1xyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJrdkxvZ2luLWNhZGFzdHJvXCIgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGgtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtbm9ybWFsXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICBOb3ZvIG5vIEtlZVBhc3M/XHJcbiAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8va2VlcGFzcy5zZWcuYnIvY2FkYXN0cmFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIG0tMCBwLTBcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQ2FkYXN0cmUtc2UuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuXHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImt2TG9naW4tbG9naW4tYnV0dG9uXCJcclxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiU3lzdGVtQ29sb3JQcmltYXJ5XCJcclxuICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid3aGl0ZSdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbCBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcclxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCI1MFwiXHJcbiAgICAgICAgPjxzdHJvbmc+TG9naW48L3N0cm9uZz48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsb2dvLWtlZXZvXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBzcmM9XCJodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcva2Vldm8tbG9nby10ZW1wLnBuZ1wiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzXCJcclxuICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIlN5c3RlbUNvbG9yU2Vjb25kYXJ5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIENvcHlyaWdodCDCqSAyMDI0IC0gS2Vldm8gTHRkYSBUb2RvcyBvcyBkaXJlaXRvcyByZXNlcnZhZG9zLlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQVV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBRXREOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxxQkFBcUI7SUFhekQsWUFDRSxhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxNQUFjLEVBQ04sV0FBd0I7UUFDaEMsS0FBSyxDQUNILGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsTUFBTSxDQUNQLENBQUE7UUFSTyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVZsQyxpREFBaUQ7UUFDdkMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBa0IvRCxDQUFDO0lBRVEsYUFBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDNUQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMzRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsUUFBUSxDQUFDLEVBQU87SUFFekIsQ0FBQztJQUVRLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7OEdBOUNVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdRQ2pDN0Isc3JIQW1ITTs7MkZEbEZPLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVO2lRQU9YLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgUm91dGVyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBEaWFsb2dTZXJ2aWNlLFxuICBEeW5hbWljRGlhbG9nQ29uZmlnLFxuICBEeW5hbWljRGlhbG9nUmVmXG59IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5cbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZEZvcm0gfSBmcm9tICcuLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQtZm9ybSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtlZXZvVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuXG4vKipcbiAqIENvbXBvbmVudGUgZGUgbG9naW4gcGVyc29uYWxpemFkby5cbiAqIEVzdGUgY29tcG9uZW50ZSBwZXJtaXRlIHF1ZSBvcyB1c3XDoXJpb3MgZmHDp2FtIGxvZ2luIG5vIHNpc3RlbWEgdXRpbGl6YW5kbyBvIGVzdGlsbyBwYWRyw6NvIGRvcyBzaXN0ZW1hcyBLZWV2by5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna3YtbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4va3YtbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9rdi1sb2dpbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEt2TG9naW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q3J1ZEZvcm0ge1xuXG4gIC8qKiBVUkwgZGEgaW1hZ2VtIGRlIGZ1bmRvIGRvIGNvbXBvbmVudGUuICovXG4gIEBJbnB1dCgpIEJhY2tncm91bmQhOiBhbnk7XG4gIC8qKiBVUkwgZG8gbG9nbyBkbyBzaXN0ZW1hLiAqL1xuICBASW5wdXQoKSBTeXN0ZW1Mb2dvITogYW55O1xuICAvKiogQ29yIHByaW3DoXJpYSBkbyBzaXN0ZW1hLiAqL1xuICBASW5wdXQoKSBTeXN0ZW1Db2xvclByaW1hcnkhOiBzdHJpbmc7XG4gIC8qKiBDb3Igc2VjdW5kw6FyaWEgZG8gc2lzdGVtYS4gKi9cbiAgQElucHV0KCkgU3lzdGVtQ29sb3JTZWNvbmRhcnkhOiBzdHJpbmc7XG4gIC8qKiBFdmVudG8gZW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBmYXogbG9naW4uICovXG4gIEBPdXRwdXQoKSBvbkxvZ2luOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgZHluYW1pY0RpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICBkeW5hbWljRGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgc3VwZXIoXG4gICAgICBkaWFsb2dTZXJ2aWNlLFxuICAgICAgbm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgIGFjdGl2YXRlZFJvdXRlLFxuICAgICAgZHluYW1pY0RpYWxvZ1JlZixcbiAgICAgIGR5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICByb3V0ZXJcbiAgICApXG4gIH1cblxuICBvdmVycmlkZSBjb25maWd1cmVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB1c3VhcmlvOiBbJycsIEtlZXZvVmFsaWRhdG9ycy5yZXF1aXJlZCgnQ2FtcG8gb2JyaWdhdMOzcmlvJyldLFxuICAgICAgc2VuaGE6IFsnJywgS2Vldm9WYWxpZGF0b3JzLnJlcXVpcmVkKCdDYW1wbyBvYnJpZ2F0w7NyaW8nKV1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGxvYWRGb3JtKGlkOiBhbnkpOiB2b2lkIHtcblxuICB9XG5cbiAgb3ZlcnJpZGUgc2F2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWxpZGF0ZUZvcm0oKSkge1xuICAgICAgdGhpcy5vbkxvZ2luLmVtaXQodGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAgIGlkPVwia3ZMb2dpbi1jb250YWluZXJcIlxuICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtbiBoLXNjcmVlbiBcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIEJhY2tncm91bmQgKyAnKSdcIlxuPlxuXG4gICAgPCEtLSBDQVJEIFBSSU5DSVBBTCAtLT5cbiAgICA8ZGl2XG4gICAgICAgIFtmb3JtR3JvdXBdPVwiIGZvcm1Hcm91cFwiXG4gICAgICAgIGlkPVwia3ZMb2dpbi1jYXJkXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBiZy13aGl0ZSBib3JkZXItcm91bmQteGxcIlxuICAgICAgICBbc3R5bGUud2lkdGgucmVtXT1cIjIwXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCI0NTBcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzYXZlKClcIlxuICAgID5cblxuICAgICAgICA8IS0tIExPR08gRE8gU0lTVEVNQSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcC0zIG10LTJcIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJMb2dvIGRvIFNpc3RlbWFcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucmVtXT1cIjRcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiU3lzdGVtTG9nb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIElORk9STUHDh8OVRVMgQ0VOVFJBSVMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCIgZ3JpZCBmb3JtZ3JpZCBwLWZsdWlkIGdhcC0yIHAtMyBwYi0wXCI+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1iLTIgdy1mdWxsIGZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1zcmFydCBnYXAtMSBmb250LW1lZGl1bVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnJlbV09XCIxLjVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJrZWVwYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIvaW1nL2ljb25lLWtlZXBhc3MtcHJldG8ucG5nXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTEgdGV4dC1zbVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBFbnRyYXIgY29tIEtlZVBhc3NcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxrdi1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgY29tcG9uZW50SWQ9XCJ1c3VhcmlvXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIkNQRiBvdSBlLW1haWxcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzdWFyaW9cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmllbGQgY29sLTEyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwva3YtaW5wdXQtdGV4dD5cblxuICAgICAgICAgICAgPGt2LWlucHV0LXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgY29tcG9uZW50SWQ9XCJzZW5oYVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJTZW5oYVwiXG4gICAgICAgICAgICAgICAgW3RvZ2dsZU1hc2tdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VuaGFcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZpZWxkIGNvbC0xMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2t2LWlucHV0LXBhc3N3b3JkPlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG1iLTIgaC0yXCJcbiAgICAgICAgICAgICAgICBpZD1cImt2TG9naW4tZXNxdWVjZXUtc2VuaGFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2tlZXBhc3Muc2VnLmJyL3JlZGVmaW5pcnNlbmhhXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIlN5c3RlbUNvbG9yUHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBFc3F1ZWNldSBhIHNlbmhhP1xuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGlkPVwia3ZMb2dpbi1jYWRhc3Ryb1wiIGNsYXNzPVwiZmxleCB3LWZ1bGwganVzdGlmeS1jb250ZW50LWNlbnRlciBoLTJcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtbm9ybWFsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIE5vdm8gbm8gS2VlUGFzcz9cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2tlZXBhc3Muc2VnLmJyL2NhZGFzdHJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIG0tMCBwLTBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBDYWRhc3RyZS1zZS5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgXG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJrdkxvZ2luLWxvZ2luLWJ1dHRvblwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJTeXN0ZW1Db2xvclByaW1hcnlcIlxuICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCI1MFwiXG4gICAgICAgID48c3Ryb25nPkxvZ2luPC9zdHJvbmc+PC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibG9nby1rZWV2b1wiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICBzcmM9XCJodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcva2Vldm8tbG9nby10ZW1wLnBuZ1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJTeXN0ZW1Db2xvclNlY29uZGFyeVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIENvcHlyaWdodCDCqSAyMDI0IC0gS2Vldm8gTHRkYSBUb2RvcyBvcyBkaXJlaXRvcyByZXNlcnZhZG9zLlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuXG48L2Rpdj4iXX0=
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
44
44
  ]
45
45
  }]
46
46
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9naW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBbUJqRSxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBZnRCLGdCQUFnQixhQUdoQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGVBQWU7WUFDZixxQkFBcUIsYUFHckIsZ0JBQWdCOytHQUdQLGFBQWEsWUFadEIsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxlQUFlO1lBQ2YscUJBQXFCOzsyRkFNWixhQUFhO2tCQWpCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzc3Bpbm5lcic7XHJcblxyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tICcuLi9rdi1idXR0b25zL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdklucHV0c01vZHVsZSB9IGZyb20gJy4uL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4va3YtbG9naW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gJy4uLy4uL2FwaS9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBLdkxvZ2luQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgS3ZJbnB1dHNNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbnNNb2R1bGUsXHJcbiAgICBQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBLdkxvZ2luQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZMb2dpbk1vZHVsZSB7IH1cclxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbG9naW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBbUJqRSxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBZnRCLGdCQUFnQixhQUdoQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGVBQWU7WUFDZixxQkFBcUIsYUFHckIsZ0JBQWdCOytHQUdQLGFBQWEsWUFadEIsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxlQUFlO1lBQ2YscUJBQXFCOzsyRkFNWixhQUFhO2tCQWpCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcblxuaW1wb3J0IHsgS3ZCdXR0b25zTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IEt2SW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4va3YtaW5wdXRzL2t2LWlucHV0cy5tb2R1bGUnO1xuaW1wb3J0IHsgS3ZMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4va3YtbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEt2TG9naW5Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcmltZU5nTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgS3ZJbnB1dHNNb2R1bGUsXG4gICAgS3ZCdXR0b25zTW9kdWxlLFxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEt2TG9naW5Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBLdkxvZ2luTW9kdWxlIHsgfVxuIl19