keevo-components 2.0.207 → 2.0.209

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 (176) hide show
  1. package/esm2022/lib/api/base-components/base-component-button.mjs +4 -4
  2. package/esm2022/lib/api/base-components/base-component-chart.mjs +4 -4
  3. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +4 -4
  4. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +4 -4
  5. package/esm2022/lib/api/base-components/base-component-crud.mjs +4 -4
  6. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +4 -4
  7. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +4 -4
  8. package/esm2022/lib/api/base-components/base-component-input.mjs +4 -4
  9. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +4 -4
  10. package/esm2022/lib/api/base-components/base-component-table.mjs +4 -4
  11. package/esm2022/lib/api/base-components/base-component.mjs +4 -4
  12. package/esm2022/lib/api/directives/directives.module.mjs +5 -5
  13. package/esm2022/lib/api/directives/drag/drag.directive.mjs +4 -4
  14. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +4 -4
  15. package/esm2022/lib/api/directives/template/template.directive.mjs +4 -4
  16. package/esm2022/lib/api/modules/primeng.module.mjs +5 -5
  17. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +4 -4
  18. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +4 -4
  19. package/esm2022/lib/api/pipes/mask.pipe.mjs +4 -4
  20. package/esm2022/lib/api/pipes/pipes.module.mjs +5 -5
  21. package/esm2022/lib/api/pipes/telefone.pipe.mjs +4 -4
  22. package/esm2022/lib/api/services/base.api.service.mjs +4 -4
  23. package/esm2022/lib/api/services/breadcrumbs.service.mjs +4 -4
  24. package/esm2022/lib/api/services/chat.service.mjs +4 -4
  25. package/esm2022/lib/api/services/component.service.mjs +4 -4
  26. package/esm2022/lib/api/services/docs.service.mjs +4 -4
  27. package/esm2022/lib/api/services/form.service.mjs +4 -4
  28. package/esm2022/lib/api/services/image.cutter.service.mjs +7 -7
  29. package/esm2022/lib/api/services/imagens.service.mjs +4 -4
  30. package/esm2022/lib/api/services/notification.service.mjs +4 -4
  31. package/esm2022/lib/api/services/object.service.mjs +4 -4
  32. package/esm2022/lib/api/services/orgchart.service.mjs +4 -4
  33. package/esm2022/lib/api/services/pdf.service.mjs +4 -4
  34. package/esm2022/lib/components/keevo-components.module.mjs +5 -5
  35. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +4 -4
  36. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +5 -5
  37. package/esm2022/lib/components/kv-button/kv-button.component.mjs +4 -4
  38. package/esm2022/lib/components/kv-button/kv-button.module.mjs +5 -5
  39. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +4 -4
  40. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +4 -4
  41. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +4 -4
  42. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +4 -4
  43. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +5 -5
  44. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +4 -4
  45. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +5 -5
  46. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +4 -4
  47. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +5 -5
  48. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +4 -4
  49. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +5 -5
  50. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +4 -4
  51. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +5 -5
  52. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +4 -4
  53. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +5 -5
  54. package/esm2022/lib/components/kv-detailed-list/kv-detailed-list.component.mjs +4 -4
  55. package/esm2022/lib/components/kv-error/kv-error.component.mjs +4 -4
  56. package/esm2022/lib/components/kv-error/kv-error.module.mjs +5 -5
  57. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +4 -4
  58. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +5 -5
  59. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +4 -4
  60. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +5 -5
  61. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +4 -4
  62. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +5 -5
  63. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +4 -4
  64. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +5 -5
  65. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +4 -4
  66. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +5 -5
  67. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +4 -4
  68. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +4 -4
  69. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +5 -5
  70. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +4 -4
  71. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +5 -5
  72. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +4 -4
  73. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +5 -5
  74. package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +4 -4
  75. package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +5 -5
  76. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +4 -4
  77. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +5 -5
  78. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +4 -4
  79. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +4 -4
  80. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +4 -4
  81. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +4 -4
  82. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +4 -4
  83. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +4 -4
  84. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +4 -4
  85. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +4 -4
  86. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +4 -4
  87. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +4 -4
  88. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +4 -4
  89. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +4 -4
  90. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +4 -4
  91. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +4 -4
  92. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +4 -4
  93. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +4 -4
  94. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +4 -4
  95. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +4 -4
  96. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +4 -4
  97. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +5 -5
  98. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +4 -4
  99. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +4 -4
  100. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +4 -4
  101. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +4 -4
  102. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +4 -4
  103. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +5 -5
  104. package/esm2022/lib/components/kv-label/kv-label.component.mjs +4 -4
  105. package/esm2022/lib/components/kv-label/kv-label.module.mjs +5 -5
  106. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +4 -4
  107. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +5 -5
  108. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +4 -4
  109. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +4 -4
  110. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +4 -4
  111. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +5 -5
  112. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +4 -4
  113. package/esm2022/lib/components/kv-login/kv-login.component.mjs +4 -4
  114. package/esm2022/lib/components/kv-login/kv-login.module.mjs +5 -5
  115. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +4 -4
  116. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +5 -5
  117. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +4 -4
  118. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +5 -5
  119. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +4 -4
  120. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +5 -5
  121. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +4 -4
  122. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +5 -5
  123. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +4 -4
  124. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +5 -5
  125. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +4 -4
  126. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +5 -5
  127. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +4 -4
  128. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +5 -5
  129. package/esm2022/lib/components/kv-report/kv-report.component.mjs +4 -4
  130. package/esm2022/lib/components/kv-report/kv-report.module.mjs +5 -5
  131. package/esm2022/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.mjs +4 -4
  132. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +4 -4
  133. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +5 -5
  134. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +4 -4
  135. package/esm2022/lib/components/kv-table/kv-table.component.mjs +4 -4
  136. package/esm2022/lib/components/kv-table/kv-table.module.mjs +5 -5
  137. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.component.mjs +4 -4
  138. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.module.mjs +5 -5
  139. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +4 -4
  140. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +5 -5
  141. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +4 -4
  142. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +5 -5
  143. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +4 -4
  144. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +4 -4
  145. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +4 -4
  146. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +4 -4
  147. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +5 -5
  148. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +4 -4
  149. package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +5 -5
  150. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +4 -4
  151. package/esm2022/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.mjs +4 -4
  152. package/esm2022/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.mjs +4 -4
  153. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +4 -4
  154. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +5 -5
  155. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +4 -4
  156. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +5 -5
  157. package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +4 -4
  158. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +4 -4
  159. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +5 -5
  160. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +4 -4
  161. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +4 -4
  162. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +4 -4
  163. package/esm2022/public-api.mjs +2 -2
  164. package/fesm2022/keevo-components.mjs +539 -549
  165. package/fesm2022/keevo-components.mjs.map +1 -1
  166. package/lib/components/kv-button/kv-button.component.d.ts +1 -1
  167. package/lib/components/kv-icon/kv-icon.component.d.ts +1 -1
  168. package/lib/components/kv-table/kv-table.component.d.ts +1 -1
  169. package/lib/components/kv-table-draggable/kv-table-draggable.component.d.ts +1 -1
  170. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
  171. package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
  172. package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +2 -2
  173. package/package.json +1 -1
  174. package/public-api.d.ts +0 -1
  175. package/esm2022/lib/api/base-components/base_enum.mjs +0 -10
  176. package/lib/api/base-components/base_enum.d.ts +0 -14
@@ -153,10 +153,10 @@ export class KvPageStepperComponent {
153
153
  }
154
154
  }
155
155
  }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPageStepperComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KvPageStepperComponent, selector: "kv-page-stepper", inputs: { panels: "panels", activeStep: "activeStep", orientation: "orientation", linear: "linear", formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", disableBtnSair: "disableBtnSair" }, outputs: { activeStepChange: "activeStepChange", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n<!-- \r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary> -->\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n severity=\"tertiary\"\r\n />\r\n\r\n <!-- panel.id !== 0 -->\r\n <kv-button\r\n label=\"Voltar\"\r\n class=\"w-full lg:w-auto\"\r\n icon=\"west\"\r\n [disabled]=\"panel.id == 0\"\r\n (onClick)=\"prevCallback.emit()\"\r\n severity=\"secondary\"\r\n />\r\n <!-- @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (onClick)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n } -->\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n <kv-button\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n [icon]=\"panel.id != panels.length-1 ? 'east ' : 'save'\"\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n severity=\"primary\"\r\n iconPosition=\"right\"\r\n />\r\n <!-- @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n } -->\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:rgb(var(--kv-color-text-inv))!important;background-color:rgb(var(--kv-color-system),1)!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:rgb(var(--kv-color-system),1);background-color:rgb(var(--kv-color-system),.1)}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:rgb(var(--kv-color-system),1);background-color:rgb(var(--kv-color-system),.1)}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Stepper, selector: "p-stepper", inputs: ["activeStep", "orientation", "linear", "transitionOptions"], outputs: ["onClick", "activeStepChange"] }, { kind: "component", type: i4.StepperPanel, selector: "p-stepperPanel", inputs: ["header"] }, { kind: "directive", type: i5.DynamicInputDirective, selector: "[dynamicComponent]", inputs: ["dynamicComponent"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvPageStepperComponent, selector: "kv-page-stepper", inputs: { panels: "panels", activeStep: "activeStep", orientation: "orientation", linear: "linear", formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", disableBtnSair: "disableBtnSair" }, outputs: { activeStepChange: "activeStepChange", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n<!-- \r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary> -->\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n severity=\"tertiary\"\r\n />\r\n\r\n <!-- panel.id !== 0 -->\r\n <kv-button\r\n label=\"Voltar\"\r\n class=\"w-full lg:w-auto\"\r\n icon=\"west\"\r\n [disabled]=\"panel.id == 0\"\r\n (onClick)=\"prevCallback.emit()\"\r\n severity=\"secondary\"\r\n />\r\n <!-- @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (onClick)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n } -->\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n <kv-button\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n [icon]=\"panel.id != panels.length-1 ? 'east ' : 'save'\"\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n severity=\"primary\"\r\n iconPosition=\"right\"\r\n />\r\n <!-- @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n } -->\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:rgb(var(--kv-color-text-inv))!important;background-color:rgb(var(--kv-color-system),1)!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:rgb(var(--kv-color-system),1);background-color:rgb(var(--kv-color-system),.1)}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:rgb(var(--kv-color-system),1);background-color:rgb(var(--kv-color-system),.1)}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Stepper, selector: "p-stepper", inputs: ["activeStep", "orientation", "linear", "transitionOptions"], outputs: ["onClick", "activeStepChange"] }, { kind: "component", type: i4.StepperPanel, selector: "p-stepperPanel", inputs: ["header"] }, { kind: "directive", type: i5.DynamicInputDirective, selector: "[dynamicComponent]", inputs: ["dynamicComponent"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPageStepperComponent, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperComponent, decorators: [{
160
160
  type: Component,
161
161
  args: [{ selector: 'kv-page-stepper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n<!-- \r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary> -->\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n severity=\"tertiary\"\r\n />\r\n\r\n <!-- panel.id !== 0 -->\r\n <kv-button\r\n label=\"Voltar\"\r\n class=\"w-full lg:w-auto\"\r\n icon=\"west\"\r\n [disabled]=\"panel.id == 0\"\r\n (onClick)=\"prevCallback.emit()\"\r\n severity=\"secondary\"\r\n />\r\n <!-- @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (onClick)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n } -->\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n <kv-button\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n [icon]=\"panel.id != panels.length-1 ? 'east ' : 'save'\"\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n severity=\"primary\"\r\n iconPosition=\"right\"\r\n />\r\n <!-- @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n } -->\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:rgb(var(--kv-color-text-inv))!important;background-color:rgb(var(--kv-color-system),1)!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:rgb(var(--kv-color-system),1);background-color:rgb(var(--kv-color-system),.1)}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:rgb(var(--kv-color-system),1);background-color:rgb(var(--kv-color-system),.1)}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"] }]
162
162
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { panels: [{
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
202
202
  }], onCancel: [{
203
203
  type: Output
204
204
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1zdGVwcGVyL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN4RCxNQUFNLE9BQU8sc0JBQXNCO0lBOEJqQyx5REFBeUQ7SUFFekQsa0JBQWtCLENBQUMsSUFBWTtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxjQUFjLENBQUMsSUFBUztRQUN0QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2FBQ3pDO1NBQ0Ys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QUFNO3NCQUFmLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEt2U3RlcHBlclBhbmVsIH0gZnJvbSAnLi4vLi4vYXBpL2NvbXBvbmVudHMvc3RlcHBlci9rdi1zdGVwcGVycGFuZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1wYWdlLXN0ZXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3BpZWRhZGUgcXVlIHJlY2ViZSB1bWEgbGlzdGEgZGUgcGFpbmllc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhbmVsczogS3ZTdGVwcGVyUGFuZWxbXSA9IFtdO1xyXG5cclxuICAvLyBASW5wdXQoKSB0ZW1wbGF0ZVBhbmVsc0hlYWRlcnM6IEt2U3RlcHBlclBhbmVsW10gPSBbXTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3BpZWRhZGUgcXVlIGRlZmluZSBvIHN0ZXBwZXIgYXRpdm8gbm8gbW9tZW50b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGl2ZVN0ZXA6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3BpZWRhZGUgcXVlIGRlZmluZSBhIGZvcm1hXHJcbiAgICovXHJcbiAgQElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XHJcbiAgQElucHV0KCkgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICogRGlzcGFyYSBvIGV2ZW50byBwYXJhIGF0dWFsaXphw6fDo28gZGEgcHJvcGllZGFkZSBhY2l2ZVN0ZXBcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2ZVN0ZXBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvLyBAT3V0cHV0KCkgY29uY2x1aXJDYWxsYmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25BY3RpdmVTdGVwQ2hhbmdlKHN0ZXA6IG51bWJlcikge1xyXG4gICAgdGhpcy5hY3RpdmVTdGVwID0gc3RlcDtcclxuICAgIHRoaXMuYWN0aXZlU3RlcENoYW5nZS5lbWl0KHN0ZXApO1xyXG4gIH1cclxuXHJcbiAgYXNzaWduSWRzVG9QYW5lbHMoKSB7XHJcbiAgICB0aGlzLnBhbmVscy5mb3JFYWNoKChwYW5lbCwgaW5kZXgpID0+IHtcclxuICAgICAgcGFuZWwuaWQgPSBpbmRleDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBjcmVhdGVJbmplY3RvcihkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6ICdpbnB1dERhdGEnLCB1c2VWYWx1ZTogZGF0YSB9XHJcbiAgICAgIF1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZmlndXJhw6fDtWVzIGRvIGZvcm11bMOhcmlvXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBASW5wdXQoKSBUaXR1bG9Gb3JtOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICBASW5wdXQoKSBTdWJUaXR1bG9Gb3JtOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICBASW5wdXQoKSBpc1NhdmVMb2FkaW5nITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGxvY2F0aW9uVXNlQ29tcG9uZW50OiAncGFnZScgfCAnZGlhbG9nJyA9ICdkaWFsb2cnO1xyXG4gIC8vIEBJbnB1dCgpIGV4cGFuZE1lbnUhOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gY2FuY2VsYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuQ2FuY2VsOiBzdHJpbmcgPSAnY2xvc2UnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5DYW5jZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0bkNhbmNlbDogc3RyaW5nID0gXCJDYW5jZWxhclwiO1xyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBCb3TDo28gZGUgY2FuY2VsYXIgY29tIG9ww6fDtWVzXHJcbiAgLy8gICovXHJcbiAgLy8gQElucHV0KCkgYWN0aW9uc0NhbmNlbFRvb2dsZSE6IEFjdGlvbkl0ZW1bXTtcclxuICAvLyBASW5wdXQoKSBpY29uQnRuQ2FuY2VsVG9vZ2xlOiBzdHJpbmcgPSBcInBpIHBpLWNoZXZyb24tZG93blwiO1xyXG4gIC8vIEBJbnB1dCgpIHNob3dCdG5DYW5jZWxUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKSB0eHRCdG5DYW5jZWxUb29nbGU6IHN0cmluZyA9IFwiQ2FuY2VsYXJcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIHNhbHZhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5TYXZlOiBzdHJpbmcgPSAncGkgcGktc2F2ZSc7XHJcbiAgQElucHV0KCkgc2hvd0J0blNhdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNhdmU6IHN0cmluZyA9IFwiU2FsdmFyXCI7XHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogQm90w6NvIGRlIHNhbHZhciBjb20gb3DDp8O1ZXNcclxuICAvLyAgKi9cclxuICAvLyBASW5wdXQoKSBhY3Rpb25zU2F2ZVRvb2dsZSE6IEFjdGlvbkl0ZW1bXTtcclxuICAvLyBASW5wdXQoKSBpY29uQnRuU2F2ZVRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICAvLyBASW5wdXQoKSBzaG93QnRuU2F2ZVRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIEBJbnB1dCgpIHR4dEJ0blNhdmVUb29nbGU6IHN0cmluZyA9IFwiQcOnw7Vlc1wiO1xyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBCb3TDo28gZ2Vuw6lyaWNvIGNvbSBvcMOnw7Vlc1xyXG4gIC8vICAqL1xyXG4gIC8vIEBJbnB1dCgpIGFjdGlvbnNUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgLy8gQElucHV0KCkgaWNvbkJ0blRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICAvLyBASW5wdXQoKSBzaG93QnRuVG9vZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gQElucHV0KCkgdHh0QnRuVG9vZ2xlOiBzdHJpbmcgPSBcIkHDp8O1ZXNcIjtcclxuICAvLyBASW5wdXQoKSBkaXNhYmxlQnRuVG9vZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gQElucHV0KCkgcG9zaXRpb25CdG5Ub29nbGU6IHN0cmluZyA9ICdlbmQnO1xyXG4gIC8vIEBJbnB1dCgpIGNsYXNzQnRuVG9vZ2xlOiBzdHJpbmcgPSAnYmctZ2x1ZS01MDAnO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZmVjaGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhaXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBTYWx2YXIgZGFkb3NcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsYXJcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5hc3NpZ25JZHNUb1BhbmVscygpO1xyXG4gICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkaWNpb25hIHN1Yi10w610dWxvIMOgIHRlbGFcclxuICAgKi9cclxuICBhZGRTdWJUaXRsZSgpIHtcclxuICAgIGlmICh0aGlzLlN1YlRpdHVsb0Zvcm0pIHtcclxuICAgICAgY29uc3QgaGVhZGVyRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWRpYWxvZyAucC1kaWFsb2ctaGVhZGVyJyk7XHJcbiAgICAgIGlmIChoZWFkZXJFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3Qgc3VidGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHN1YnRpdGxlRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuU3ViVGl0dWxvRm9ybTtcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUuZm9udFNpemUgPSAnMC43NXJlbSdcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSdcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9ICcycHgnXHJcblxyXG4gICAgICAgIGhlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQoc3VidGl0bGVFbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFkZFN1YlRpdGxlKCk7XHJcbiAgICB0aGlzLnNldFBhZ2VGb3JtQ29udGFpbmVyQXR0cmlidXRlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGFyYSBvIG3DqXRvZG8gZGUgY2FuY2VsYW1lbnRvIGRhIHRlbGFcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgY2FuY2VsKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BhcmEgbyBtw6l0b2RvIGRlIHNhbHZhciBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIHNhdmUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uU2F2ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFqdXN0YSBvIHRhbWFuaG8gZGEgdGVsYSBjb25zaWRlcmFuZG8gbyBtZW51IGxhdGVyYWxcclxuICAgKi9cclxuICBzZXRQYWdlRm9ybUNvbnRhaW5lckF0dHJpYnV0ZXMoKSB7XHJcbiAgICBpZiAodGhpcy5sb2NhdGlvblVzZUNvbXBvbmVudCA9PSAncGFnZScpIHtcclxuICAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1mb3JtLWNvbnRhaW5lcicpO1xyXG5cclxuICAgICAgaWYgKGZvcm0pIHtcclxuICAgICAgICB2YXIgd2lkdGhGdWxsID0gZm9ybS5jbGllbnRXaWR0aDtcclxuICAgICAgICB2YXIgd2lkdGhBZGp1c3RlZDtcclxuXHJcbiAgICAgICAgd2lkdGhBZGp1c3RlZCA9IHdpZHRoRnVsbCAtIDMzMlxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAtLT5cclxuPGRpdlxyXG4gIGNsYXNzPVwiZ3JpZC1ub2d1dHRlciBtLTBcIlxyXG4gIGlkPVwicGFnZS1mb3JtLWNvbnRhaW5lclwiXHJcbj5cclxuXHJcbiAgPCEtLSBSZW5kZXJpemHDp8OjbyBkbyBmb3JtIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcC0wXCIgaWQ9XCJwYWdlLWZvcm0tY29udGVudFwiPlxyXG5cclxuXHJcblxyXG48IS0tX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fLS0+XHJcblxyXG5cclxuXHJcbiAgICA8cC1zdGVwcGVyXHJcbiAgICBbYWN0aXZlU3RlcF09XCJhY3RpdmVTdGVwXCJcclxuICAgIFtvcmllbnRhdGlvbl09XCJvcmllbnRhdGlvblwiXHJcbiAgICBbbGluZWFyXT1cImxpbmVhclwiXHJcbiAgICAoYWN0aXZlU3RlcENoYW5nZSk9XCJvbkFjdGl2ZVN0ZXBDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgcGFuZWxzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxwLXN0ZXBwZXJQYW5lbCBbaGVhZGVyXT1cInBhbmVsLmhlYWRlclwiPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgIHBUZW1wbGF0ZT1cImNvbnRlbnRcIlxyXG4gICAgICAgICAgbGV0LW5leHRDYWxsYmFjaz1cIm5leHRDYWxsYmFja1wiXHJcbiAgICAgICAgICBsZXQtcHJldkNhbGxiYWNrPVwicHJldkNhbGxiYWNrXCJcclxuICAgICAgICA+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFuZWxcIiBbZHluYW1pY0NvbXBvbmVudF09XCJ7IGNvbXBvbmVudDogcGFuZWwuY29udGVudFRlbXBsYXRlLCBpbnB1dHM6IHBhbmVsLmlucHV0cyB8fCB7fSB9XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJwYW5lbC5jb250ZW50VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggcHQtNFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nOiBwYW5lbC5pZCAhPT0gMCxcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWVuZCc6IHBhbmVsLmlkID09PSAwLFxyXG4gICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnOiBvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGxnOmZsZXgtcm93IGp1c3RpZnktY29udGVudC1lbmQgY29sLTEyIGdhcC0yIGJhcnJhLWFjb2VzIGdyaWQgZ3JpZC1ub2d1dHRlciBwLWZsdWlkXCI+XHJcblxyXG48IS0tIFxyXG5cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uLXNlY29uZGFyeVxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QnRuQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5DYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0bkNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9rdi1idXR0b24tc2Vjb25kYXJ5PiAtLT5cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dCdG5DYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0bkNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBwYW5lbC5pZCAhPT0gMCAtLT5cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIlZvbHRhclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cIndlc3RcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBhbmVsLmlkID09IDBcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicHJldkNhbGxiYWNrLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8IS0tIEBpZih0cnVlKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tcGVyc29uYWxpemVcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb2x0YXInXCJcclxuICAgICAgICAgICAgICAgICAgY29sb3I9XCIjMDAyNTQyXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBhbmVsLmlkID09IDBcIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIncGkgcGktYXJyb3ctbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJwcmV2Q2FsbGJhY2suZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBlcnNvbmFsaXplPlxyXG4gICAgICAgICAgICAgIH0gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIHBhbmVsLmlkICE9PSBwYW5lbHMubGVuZ3RoIC0gMSAtLT5cclxuICAgICAgICAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJwYW5lbC5pZCAhPSBwYW5lbHMubGVuZ3RoLTEgPyAnQXZhbsOnYXIgJyA6IHR4dEJ0blNhdmVcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwicGFuZWwuaWQgIT0gcGFuZWxzLmxlbmd0aC0xID8gJ2Vhc3QgJyA6ICdzYXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIHBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/IG5leHRDYWxsYmFjay5lbWl0KCkgOiBzYXZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8IS0tIEBpZih0cnVlKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tc3VjY2Vzc1xyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiIHBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/IG5leHRDYWxsYmFjay5lbWl0KCkgOiBzYXZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIncGkgcGktYXJyb3ctcmlnaHQnXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/ICdBdmFuw6dhciAnIDogdHh0QnRuU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGljb25Qb3M9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICA+PC9rdi1idXR0b24tc3VjY2Vzcz5cclxuICAgICAgICAgICAgICB9IC0tPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1zdWNjZXNzXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dCdG5TYXZlICYmICBwYW5lbC5pZCA9PT0gcGFuZWxzLmxlbmd0aCAtIDEgXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5TYXZlXCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5TYXZlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuU2F2ZSB8fCBwYW5lbC5pZCAhPT0gcGFuZWxzLmxlbmd0aCAtIDFcIlxyXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dENhbGxiYWNrLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVCdG5TYXZlID8gc2F2ZSgkZXZlbnQpIDogJydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAvPiAtLT5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIEBpZihwb3NpdGlvbkJ0blRvb2dsZSA9PSAnc3RhcnQnKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25zVG9vZ2xlICYmIHNob3dCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtZW51VG9vZ2xlLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc0J0bj1cInt7Y2xhc3NCdG5Ub29nbGV9fVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuICAgICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICAgI21lbnVUb29nbGVcclxuICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc1Rvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICA+PC9wLW1lbnU+XHJcbiAgICAgICAgICAgICAgfSAtLT5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSA8a3YtYnV0dG9uLXBvcHVwXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uc0NhbmNlbFRvb2dsZSAmJiBzaG93QnRuQ2FuY2VsVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0bkNhbmNlbFRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5DYW5jZWxUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWVudUNhbmNlbC50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc0J0bl09XCInYnRuLXNlY29uZGFyeSBib3JkZXItMzAwJ1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuICAgICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICAgI21lbnVDYW5jZWxcclxuICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc0NhbmNlbFRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICA+PC9wLW1lbnU+IC0tPlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uc1NhdmVUb29nbGUgJiYgc2hvd0J0blNhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0blNhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blNhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVTYXZlLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzc0J0bl09XCInYnRuLXN1Y2Nlc3MgYm9yZGVyLWdyZWVuLTUwMCdcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuXHJcbiAgICAgICAgICAgICAgPHAtbWVudVxyXG4gICAgICAgICAgICAgICAgI21lbnVTYXZlXHJcbiAgICAgICAgICAgICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc1NhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgPjwvcC1tZW51PiAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gQGlmKHBvc2l0aW9uQnRuVG9vZ2xlID09ICdlbmQnKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25zVG9vZ2xlICYmIHNob3dCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtZW51VG9vZ2xlLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc0J0bj1cInt7Y2xhc3NCdG5Ub29nbGV9fVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuICAgICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICAgI21lbnVUb29nbGVcclxuICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc1Rvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICA+PC9wLW1lbnU+XHJcbiAgICAgICAgICAgICAgfSAtLT5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDwvcC1zdGVwcGVyUGFuZWw+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3Atc3RlcHBlcj5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbjwhLS1fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18tLT5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1zdGVwcGVyL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN4RCxNQUFNLE9BQU8sc0JBQXNCO0lBOEJqQyx5REFBeUQ7SUFFekQsa0JBQWtCLENBQUMsSUFBWTtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxjQUFjLENBQUMsSUFBUztRQUN0QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2FBQ3pDO1NBQ0Ys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QUFNO3NCQUFmLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEt2U3RlcHBlclBhbmVsIH0gZnJvbSAnLi4vLi4vYXBpL2NvbXBvbmVudHMvc3RlcHBlci9rdi1zdGVwcGVycGFuZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1wYWdlLXN0ZXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3BpZWRhZGUgcXVlIHJlY2ViZSB1bWEgbGlzdGEgZGUgcGFpbmllc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhbmVsczogS3ZTdGVwcGVyUGFuZWxbXSA9IFtdO1xyXG5cclxuICAvLyBASW5wdXQoKSB0ZW1wbGF0ZVBhbmVsc0hlYWRlcnM6IEt2U3RlcHBlclBhbmVsW10gPSBbXTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3BpZWRhZGUgcXVlIGRlZmluZSBvIHN0ZXBwZXIgYXRpdm8gbm8gbW9tZW50b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGl2ZVN0ZXA6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3BpZWRhZGUgcXVlIGRlZmluZSBhIGZvcm1hXHJcbiAgICovXHJcbiAgQElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XHJcbiAgQElucHV0KCkgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICogRGlzcGFyYSBvIGV2ZW50byBwYXJhIGF0dWFsaXphw6fDo28gZGEgcHJvcGllZGFkZSBhY2l2ZVN0ZXBcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2ZVN0ZXBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvLyBAT3V0cHV0KCkgY29uY2x1aXJDYWxsYmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25BY3RpdmVTdGVwQ2hhbmdlKHN0ZXA6IG51bWJlcikge1xyXG4gICAgdGhpcy5hY3RpdmVTdGVwID0gc3RlcDtcclxuICAgIHRoaXMuYWN0aXZlU3RlcENoYW5nZS5lbWl0KHN0ZXApO1xyXG4gIH1cclxuXHJcbiAgYXNzaWduSWRzVG9QYW5lbHMoKSB7XHJcbiAgICB0aGlzLnBhbmVscy5mb3JFYWNoKChwYW5lbCwgaW5kZXgpID0+IHtcclxuICAgICAgcGFuZWwuaWQgPSBpbmRleDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBjcmVhdGVJbmplY3RvcihkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6ICdpbnB1dERhdGEnLCB1c2VWYWx1ZTogZGF0YSB9XHJcbiAgICAgIF1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZmlndXJhw6fDtWVzIGRvIGZvcm11bMOhcmlvXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBASW5wdXQoKSBUaXR1bG9Gb3JtOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICBASW5wdXQoKSBTdWJUaXR1bG9Gb3JtOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICBASW5wdXQoKSBpc1NhdmVMb2FkaW5nITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGxvY2F0aW9uVXNlQ29tcG9uZW50OiAncGFnZScgfCAnZGlhbG9nJyA9ICdkaWFsb2cnO1xyXG4gIC8vIEBJbnB1dCgpIGV4cGFuZE1lbnUhOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gY2FuY2VsYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuQ2FuY2VsOiBzdHJpbmcgPSAnY2xvc2UnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5DYW5jZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0bkNhbmNlbDogc3RyaW5nID0gXCJDYW5jZWxhclwiO1xyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBCb3TDo28gZGUgY2FuY2VsYXIgY29tIG9ww6fDtWVzXHJcbiAgLy8gICovXHJcbiAgLy8gQElucHV0KCkgYWN0aW9uc0NhbmNlbFRvb2dsZSE6IEFjdGlvbkl0ZW1bXTtcclxuICAvLyBASW5wdXQoKSBpY29uQnRuQ2FuY2VsVG9vZ2xlOiBzdHJpbmcgPSBcInBpIHBpLWNoZXZyb24tZG93blwiO1xyXG4gIC8vIEBJbnB1dCgpIHNob3dCdG5DYW5jZWxUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKSB0eHRCdG5DYW5jZWxUb29nbGU6IHN0cmluZyA9IFwiQ2FuY2VsYXJcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIHNhbHZhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5TYXZlOiBzdHJpbmcgPSAncGkgcGktc2F2ZSc7XHJcbiAgQElucHV0KCkgc2hvd0J0blNhdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNhdmU6IHN0cmluZyA9IFwiU2FsdmFyXCI7XHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogQm90w6NvIGRlIHNhbHZhciBjb20gb3DDp8O1ZXNcclxuICAvLyAgKi9cclxuICAvLyBASW5wdXQoKSBhY3Rpb25zU2F2ZVRvb2dsZSE6IEFjdGlvbkl0ZW1bXTtcclxuICAvLyBASW5wdXQoKSBpY29uQnRuU2F2ZVRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICAvLyBASW5wdXQoKSBzaG93QnRuU2F2ZVRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIEBJbnB1dCgpIHR4dEJ0blNhdmVUb29nbGU6IHN0cmluZyA9IFwiQcOnw7Vlc1wiO1xyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBCb3TDo28gZ2Vuw6lyaWNvIGNvbSBvcMOnw7Vlc1xyXG4gIC8vICAqL1xyXG4gIC8vIEBJbnB1dCgpIGFjdGlvbnNUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgLy8gQElucHV0KCkgaWNvbkJ0blRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICAvLyBASW5wdXQoKSBzaG93QnRuVG9vZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gQElucHV0KCkgdHh0QnRuVG9vZ2xlOiBzdHJpbmcgPSBcIkHDp8O1ZXNcIjtcclxuICAvLyBASW5wdXQoKSBkaXNhYmxlQnRuVG9vZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gQElucHV0KCkgcG9zaXRpb25CdG5Ub29nbGU6IHN0cmluZyA9ICdlbmQnO1xyXG4gIC8vIEBJbnB1dCgpIGNsYXNzQnRuVG9vZ2xlOiBzdHJpbmcgPSAnYmctZ2x1ZS01MDAnO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZmVjaGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhaXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBTYWx2YXIgZGFkb3NcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsYXJcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5hc3NpZ25JZHNUb1BhbmVscygpO1xyXG4gICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkaWNpb25hIHN1Yi10w610dWxvIMOgIHRlbGFcclxuICAgKi9cclxuICBhZGRTdWJUaXRsZSgpIHtcclxuICAgIGlmICh0aGlzLlN1YlRpdHVsb0Zvcm0pIHtcclxuICAgICAgY29uc3QgaGVhZGVyRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWRpYWxvZyAucC1kaWFsb2ctaGVhZGVyJyk7XHJcbiAgICAgIGlmIChoZWFkZXJFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3Qgc3VidGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHN1YnRpdGxlRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuU3ViVGl0dWxvRm9ybTtcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUuZm9udFNpemUgPSAnMC43NXJlbSdcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSdcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9ICcycHgnXHJcblxyXG4gICAgICAgIGhlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQoc3VidGl0bGVFbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFkZFN1YlRpdGxlKCk7XHJcbiAgICB0aGlzLnNldFBhZ2VGb3JtQ29udGFpbmVyQXR0cmlidXRlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGFyYSBvIG3DqXRvZG8gZGUgY2FuY2VsYW1lbnRvIGRhIHRlbGFcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgY2FuY2VsKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BhcmEgbyBtw6l0b2RvIGRlIHNhbHZhciBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIHNhdmUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uU2F2ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFqdXN0YSBvIHRhbWFuaG8gZGEgdGVsYSBjb25zaWRlcmFuZG8gbyBtZW51IGxhdGVyYWxcclxuICAgKi9cclxuICBzZXRQYWdlRm9ybUNvbnRhaW5lckF0dHJpYnV0ZXMoKSB7XHJcbiAgICBpZiAodGhpcy5sb2NhdGlvblVzZUNvbXBvbmVudCA9PSAncGFnZScpIHtcclxuICAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1mb3JtLWNvbnRhaW5lcicpO1xyXG5cclxuICAgICAgaWYgKGZvcm0pIHtcclxuICAgICAgICB2YXIgd2lkdGhGdWxsID0gZm9ybS5jbGllbnRXaWR0aDtcclxuICAgICAgICB2YXIgd2lkdGhBZGp1c3RlZDtcclxuXHJcbiAgICAgICAgd2lkdGhBZGp1c3RlZCA9IHdpZHRoRnVsbCAtIDMzMlxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAtLT5cclxuPGRpdlxyXG4gIGNsYXNzPVwiZ3JpZC1ub2d1dHRlciBtLTBcIlxyXG4gIGlkPVwicGFnZS1mb3JtLWNvbnRhaW5lclwiXHJcbj5cclxuXHJcbiAgPCEtLSBSZW5kZXJpemHDp8OjbyBkbyBmb3JtIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcC0wXCIgaWQ9XCJwYWdlLWZvcm0tY29udGVudFwiPlxyXG5cclxuXHJcblxyXG48IS0tX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fLS0+XHJcblxyXG5cclxuXHJcbiAgICA8cC1zdGVwcGVyXHJcbiAgICBbYWN0aXZlU3RlcF09XCJhY3RpdmVTdGVwXCJcclxuICAgIFtvcmllbnRhdGlvbl09XCJvcmllbnRhdGlvblwiXHJcbiAgICBbbGluZWFyXT1cImxpbmVhclwiXHJcbiAgICAoYWN0aXZlU3RlcENoYW5nZSk9XCJvbkFjdGl2ZVN0ZXBDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgcGFuZWxzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxwLXN0ZXBwZXJQYW5lbCBbaGVhZGVyXT1cInBhbmVsLmhlYWRlclwiPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgIHBUZW1wbGF0ZT1cImNvbnRlbnRcIlxyXG4gICAgICAgICAgbGV0LW5leHRDYWxsYmFjaz1cIm5leHRDYWxsYmFja1wiXHJcbiAgICAgICAgICBsZXQtcHJldkNhbGxiYWNrPVwicHJldkNhbGxiYWNrXCJcclxuICAgICAgICA+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFuZWxcIiBbZHluYW1pY0NvbXBvbmVudF09XCJ7IGNvbXBvbmVudDogcGFuZWwuY29udGVudFRlbXBsYXRlLCBpbnB1dHM6IHBhbmVsLmlucHV0cyB8fCB7fSB9XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJwYW5lbC5jb250ZW50VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggcHQtNFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nOiBwYW5lbC5pZCAhPT0gMCxcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWVuZCc6IHBhbmVsLmlkID09PSAwLFxyXG4gICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnOiBvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGxnOmZsZXgtcm93IGp1c3RpZnktY29udGVudC1lbmQgY29sLTEyIGdhcC0yIGJhcnJhLWFjb2VzIGdyaWQgZ3JpZC1ub2d1dHRlciBwLWZsdWlkXCI+XHJcblxyXG48IS0tIFxyXG5cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uLXNlY29uZGFyeVxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QnRuQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5DYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0bkNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9rdi1idXR0b24tc2Vjb25kYXJ5PiAtLT5cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dCdG5DYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0bkNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBwYW5lbC5pZCAhPT0gMCAtLT5cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIlZvbHRhclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cIndlc3RcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBhbmVsLmlkID09IDBcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicHJldkNhbGxiYWNrLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8IS0tIEBpZih0cnVlKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tcGVyc29uYWxpemVcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb2x0YXInXCJcclxuICAgICAgICAgICAgICAgICAgY29sb3I9XCIjMDAyNTQyXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBhbmVsLmlkID09IDBcIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIncGkgcGktYXJyb3ctbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJwcmV2Q2FsbGJhY2suZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBlcnNvbmFsaXplPlxyXG4gICAgICAgICAgICAgIH0gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIHBhbmVsLmlkICE9PSBwYW5lbHMubGVuZ3RoIC0gMSAtLT5cclxuICAgICAgICAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJwYW5lbC5pZCAhPSBwYW5lbHMubGVuZ3RoLTEgPyAnQXZhbsOnYXIgJyA6IHR4dEJ0blNhdmVcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwicGFuZWwuaWQgIT0gcGFuZWxzLmxlbmd0aC0xID8gJ2Vhc3QgJyA6ICdzYXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIHBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/IG5leHRDYWxsYmFjay5lbWl0KCkgOiBzYXZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8IS0tIEBpZih0cnVlKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tc3VjY2Vzc1xyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiIHBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/IG5leHRDYWxsYmFjay5lbWl0KCkgOiBzYXZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIncGkgcGktYXJyb3ctcmlnaHQnXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/ICdBdmFuw6dhciAnIDogdHh0QnRuU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGljb25Qb3M9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICA+PC9rdi1idXR0b24tc3VjY2Vzcz5cclxuICAgICAgICAgICAgICB9IC0tPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1zdWNjZXNzXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dCdG5TYXZlICYmICBwYW5lbC5pZCA9PT0gcGFuZWxzLmxlbmd0aCAtIDEgXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5TYXZlXCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5TYXZlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuU2F2ZSB8fCBwYW5lbC5pZCAhPT0gcGFuZWxzLmxlbmd0aCAtIDFcIlxyXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dENhbGxiYWNrLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVCdG5TYXZlID8gc2F2ZSgkZXZlbnQpIDogJydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAvPiAtLT5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIEBpZihwb3NpdGlvbkJ0blRvb2dsZSA9PSAnc3RhcnQnKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25zVG9vZ2xlICYmIHNob3dCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtZW51VG9vZ2xlLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc0J0bj1cInt7Y2xhc3NCdG5Ub29nbGV9fVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuICAgICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICAgI21lbnVUb29nbGVcclxuICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc1Rvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICA+PC9wLW1lbnU+XHJcbiAgICAgICAgICAgICAgfSAtLT5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSA8a3YtYnV0dG9uLXBvcHVwXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uc0NhbmNlbFRvb2dsZSAmJiBzaG93QnRuQ2FuY2VsVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0bkNhbmNlbFRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5DYW5jZWxUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWVudUNhbmNlbC50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc0J0bl09XCInYnRuLXNlY29uZGFyeSBib3JkZXItMzAwJ1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuICAgICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICAgI21lbnVDYW5jZWxcclxuICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc0NhbmNlbFRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICA+PC9wLW1lbnU+IC0tPlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uc1NhdmVUb29nbGUgJiYgc2hvd0J0blNhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0blNhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blNhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVTYXZlLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzc0J0bl09XCInYnRuLXN1Y2Nlc3MgYm9yZGVyLWdyZWVuLTUwMCdcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuXHJcbiAgICAgICAgICAgICAgPHAtbWVudVxyXG4gICAgICAgICAgICAgICAgI21lbnVTYXZlXHJcbiAgICAgICAgICAgICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc1NhdmVUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgPjwvcC1tZW51PiAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gQGlmKHBvc2l0aW9uQnRuVG9vZ2xlID09ICdlbmQnKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25zVG9vZ2xlICYmIHNob3dCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtZW51VG9vZ2xlLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc0J0bj1cInt7Y2xhc3NCdG5Ub29nbGV9fVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1wb3B1cD5cclxuICAgICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICAgI21lbnVUb29nbGVcclxuICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYWN0aW9uc1Rvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICA+PC9wLW1lbnU+XHJcbiAgICAgICAgICAgICAgfSAtLT5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDwvcC1zdGVwcGVyUGFuZWw+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3Atc3RlcHBlcj5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbjwhLS1fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18tLT5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -9,8 +9,8 @@ import { DirectiveModule } from "../../api/directives/directives.module";
9
9
  import { KvButtonModule } from "../kv-button/kv-button.module";
10
10
  import * as i0 from "@angular/core";
11
11
  export class KvPageStepperodule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPageStepperodule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: KvPageStepperodule, declarations: [KvPageStepperComponent], imports: [CommonModule,
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperodule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperodule, declarations: [KvPageStepperComponent], imports: [CommonModule,
14
14
  FormsModule,
15
15
  PrimeNgModule,
16
16
  KvButtonsModule,
@@ -18,7 +18,7 @@ export class KvPageStepperodule {
18
18
  KvStepperModule,
19
19
  DirectiveModule,
20
20
  KvButtonModule], exports: [KvPageStepperComponent] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPageStepperodule, imports: [CommonModule,
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperodule, imports: [CommonModule,
22
22
  FormsModule,
23
23
  PrimeNgModule,
24
24
  KvButtonsModule,
@@ -27,7 +27,7 @@ export class KvPageStepperodule {
27
27
  DirectiveModule,
28
28
  KvButtonModule] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPageStepperodule, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperodule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  declarations: [
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
48
48
  ]
49
49
  }]
50
50
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1zdGVwcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFvQi9ELE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQWhCekIsc0JBQXNCLGFBR3BCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjLGFBR2hCLHNCQUFzQjtnSEFHZixrQkFBa0IsWUFidkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7OzRGQU1ULGtCQUFrQjtrQkFsQjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYztxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcblxyXG5cclxuaW1wb3J0IHsgS3ZQYWdlU3RlcHBlckNvbXBvbmVudCB9IGZyb20gXCIuL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gXCIuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tIFwiLi4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IEt2U3RlcHBlck1vZHVsZSB9IGZyb20gXCIuLi9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIubW9kdWxlXCI7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gXCIuLi8uLi9hcGkvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbk1vZHVsZSB9IGZyb20gXCIuLi9rdi1idXR0b24va3YtYnV0dG9uLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICBLdlBhZ2VTdGVwcGVyQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUHJpbWVOZ01vZHVsZSxcclxuICAgICAgICBLdkJ1dHRvbnNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBLdlN0ZXBwZXJNb2R1bGUsXHJcbiAgICAgICAgRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgICAgIEt2QnV0dG9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICBLdlBhZ2VTdGVwcGVyQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VTdGVwcGVyb2R1bGUgeyB9XHJcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1zdGVwcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFvQi9ELE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQWhCekIsc0JBQXNCLGFBR3BCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjLGFBR2hCLHNCQUFzQjsrR0FHZixrQkFBa0IsWUFidkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7OzJGQU1ULGtCQUFrQjtrQkFsQjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYztxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcblxyXG5cclxuaW1wb3J0IHsgS3ZQYWdlU3RlcHBlckNvbXBvbmVudCB9IGZyb20gXCIuL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gXCIuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tIFwiLi4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IEt2U3RlcHBlck1vZHVsZSB9IGZyb20gXCIuLi9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIubW9kdWxlXCI7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gXCIuLi8uLi9hcGkvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbk1vZHVsZSB9IGZyb20gXCIuLi9rdi1idXR0b24va3YtYnV0dG9uLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICBLdlBhZ2VTdGVwcGVyQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUHJpbWVOZ01vZHVsZSxcclxuICAgICAgICBLdkJ1dHRvbnNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBLdlN0ZXBwZXJNb2R1bGUsXHJcbiAgICAgICAgRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgICAgIEt2QnV0dG9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICBLdlBhZ2VTdGVwcGVyQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VTdGVwcGVyb2R1bGUgeyB9XHJcbiJdfQ==
@@ -329,10 +329,10 @@ export class KvPickListComponent {
329
329
  isItemSelected(item) {
330
330
  return this.selectedPreview === item;
331
331
  }
332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPickListComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KvPickListComponent, selector: "kv-picklist", inputs: { itemIdField: "itemIdField", breakpoint: "breakpoint", dragdrop: "dragdrop", filterBy: "filterBy", itemTemplate: "itemTemplate", responsive: "responsive", source: "source", sourceHeader: "sourceHeader", sourceStyle: "sourceStyle", stripedRows: "stripedRows", target: "target", targetHeader: "targetHeader", targetStyle: "targetStyle", showSourceControls: "showSourceControls", showTargetControls: "showTargetControls", showCheckBox: "showCheckBox" }, outputs: { onMoveToSource: "onMoveToSource", onMoveToTarget: "onMoveToTarget", onMoveAllToSource: "onMoveAllToSource", onMoveAllToTarget: "onMoveAllToTarget", onSourceSelect: "onSourceSelect", onTargetSelect: "onTargetSelect" }, viewQueries: [{ propertyName: "picklist", first: true, predicate: PickList, descendants: true }], ngImport: i0, template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0000001a;border-radius:6px;padding:8px;padding-bottom:2.5rem;background-color:#fff}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.KvCheckComponent, selector: "kv-check", outputs: ["onCheckChange"] }] }); }
332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPickListComponent, selector: "kv-picklist", inputs: { itemIdField: "itemIdField", breakpoint: "breakpoint", dragdrop: "dragdrop", filterBy: "filterBy", itemTemplate: "itemTemplate", responsive: "responsive", source: "source", sourceHeader: "sourceHeader", sourceStyle: "sourceStyle", stripedRows: "stripedRows", target: "target", targetHeader: "targetHeader", targetStyle: "targetStyle", showSourceControls: "showSourceControls", showTargetControls: "showTargetControls", showCheckBox: "showCheckBox" }, outputs: { onMoveToSource: "onMoveToSource", onMoveToTarget: "onMoveToTarget", onMoveAllToSource: "onMoveAllToSource", onMoveAllToTarget: "onMoveAllToTarget", onSourceSelect: "onSourceSelect", onTargetSelect: "onTargetSelect" }, viewQueries: [{ propertyName: "picklist", first: true, predicate: PickList, descendants: true }], ngImport: i0, template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0000001a;border-radius:6px;padding:8px;padding-bottom:2.5rem;background-color:#fff}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.KvCheckComponent, selector: "kv-check", outputs: ["onCheckChange"] }] }); }
334
334
  }
335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvPickListComponent, decorators: [{
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListComponent, decorators: [{
336
336
  type: Component,
337
337
  args: [{ selector: 'kv-picklist', template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0000001a;border-radius:6px;padding:8px;padding-bottom:2.5rem;background-color:#fff}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"] }]
338
338
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { picklist: [{
@@ -383,4 +383,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
383
383
  }], onTargetSelect: [{
384
384
  type: Output
385
385
  }] } });
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFVNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUkxQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQixpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBRW5ELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGlCQUFZLEdBQVcsNEJBQTRCLENBQUM7UUFFcEQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsc0JB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Q0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBpY2tMaXN0IH0gZnJvbSAncHJpbWVuZy9waWNrbGlzdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBpY2tsaXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtcGljay1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LXBpY2stbGlzdC5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4va2Vldm8tY29tcG9uZW50cy1zdHlsZXMuc2NzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBpY2tMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChQaWNrTGlzdCkgcGlja2xpc3QhOiBQaWNrTGlzdDtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQpID0+IHRoaXMub25LZXlEb3duKGV2ZW50KSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBpdGVtSWRGaWVsZDogc3RyaW5nID0gJ2lkJztcclxuICBASW5wdXQoKSBicmVha3BvaW50OiBzdHJpbmcgPSBcIjE0MDBweFwiO1xyXG4gIEBJbnB1dCgpIGRyYWdkcm9wOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmaWx0ZXJCeSE6IHN0cmluZztcclxuICBASW5wdXQoKSBpdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZSE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNvdXJjZUhlYWRlcjogc3RyaW5nID0gJ1TDrXR1bG8gZGEgbGlzdGEgZGUgb3JpZ2VtJztcclxuICBASW5wdXQoKSBzb3VyY2VTdHlsZSE6IGFueTtcclxuICBASW5wdXQoKSBzdHJpcGVkUm93czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRhcmdldCE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHRhcmdldEhlYWRlcjogc3RyaW5nID0gJ1TDrXR1bG8gZGUgbGlzdGEgZGUgZGVzdGlubyc7XHJcbiAgQElucHV0KCkgdGFyZ2V0U3R5bGUhOiBhbnk7XHJcbiAgQElucHV0KCkgc2hvd1NvdXJjZUNvbnRyb2xzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VGFyZ2V0Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dDaGVja0JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25Nb3ZlVG9Tb3VyY2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1vdmVUb1RhcmdldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTW92ZUFsbFRvU291cmNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Nb3ZlQWxsVG9UYXJnZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNvdXJjZVNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uVGFyZ2V0U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgc2VsZWN0ZWRQcmV2aWV3ITogYW55O1xyXG4gIG5nTW9kZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZEl0ZW1zOiB7IFtrZXk6IG51bWJlcl06IGJvb2xlYW4gfSA9IHt9O1xyXG4gIHVsdGltb0l0ZW1TZWxlY2lvbmFkbzogeyBpdGVtOiBhbnksIGluZGV4OiBudW1iZXIgfVtdID0gW107XHJcbiAgbGFzdERyYWdnZWRJdGVtczogYW55W10gPSBbXTtcclxuICBkcmFnZ2VkSWRzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBtb3VzZVggPSAwO1xyXG4gIG1vdXNlWSA9IDA7XHJcbiAgcHJldmlld0Nsb25lczogSFRNTEVsZW1lbnRbXSA9IFtdO1xyXG5cclxubmdPbkluaXQoKSB7XHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLm1vdXNlWSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbm5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB0aGlzLmNyZWF0ZURyb3BPdmVybGF5KCk7XHJcbn1cclxuXHJcbiAgZHJvcE92ZXJsYXkhOiBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgY3JlYXRlRHJvcE92ZXJsYXkoKSB7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmlubmVyVGV4dCA9ICdTb2x0YXInO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmJhY2tncm91bmQgPSAnI0JGREJGRSc7IC8vIEF6dWwgY2xhcm8gdmlzw612ZWxcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuY29sb3IgPSAnIzFFM0E4QSc7IC8vIEF6dWwgZXNjdXJvIHBybyB0ZXh0b1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5ib3JkZXIgPSAnOXB4ICMxRTQwQUYnOyAvLyBCb3JkYSBhenVsIGVzY3Vyb1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5ib3hTaGFkb3cgPSAnMCAycHggNnB4IHJnYmEoMzAsIDU4LCAxMzgsIDAuMiknOyAvLyBTaGFkb3cgcmVkdXppZGFcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnY2VudGVyJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS56SW5kZXggPSAnOTk5OSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmZvbnRTaXplID0gJzEuNXJlbSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmZvbnRXZWlnaHQgPSAnYm9sZCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYWxsJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudHJhbnNpdGlvbiA9ICdhbGwgMC4ycyBlYXNlJztcclxuXHJcblxyXG4gICAgLy8gRW5jYWl4YXIgbm8gbWVzbW8gbHVnYXIgZG8gdGFyZ2V0XHJcbiAgICBjb25zdCB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICh0YXJnZXRMaXN0RWwpIHtcclxuICAgICAgY29uc3QgcmVjdCA9IHRhcmdldExpc3RFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS50b3AgPSByZWN0LnRvcCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUubGVmdCA9IHJlY3QubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5oZWlnaHQgPSByZWN0LmhlaWdodCArICdweCc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJblNvdXJjZSA9IHRoaXMuc291cmNlLnNvbWUoaXRlbSA9PiB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbVt0aGlzLml0ZW1JZEZpZWxkXV0pO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEluVGFyZ2V0ID0gdGhpcy50YXJnZXQuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtW3RoaXMuaXRlbUlkRmllbGRdXSk7XHJcbiAgICBcclxuICAgICAgaWYgKHNlbGVjdGVkSW5Tb3VyY2UpIHtcclxuICAgICAgICB0aGlzLk9uTW92ZVRvVGFyZ2V0KHt9KTtcclxuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEluVGFyZ2V0KSB7XHJcbiAgICAgICAgdGhpcy5Pbk1vdmVUb1NvdXJjZSh7fSk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgfSk7XHJcbiAgICBcclxuXHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYmFja2dyb3VuZCA9ICcjOTNDNUZEJzsgLy8gQXp1bCB1bSBwb3VjbyBtYWlzIGVzY3VybyBubyBob3ZlclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYmFja2dyb3VuZCA9ICcjQkZEQkZFJztcclxuICAgIH0pO1xyXG4gICAgXHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmRyb3BPdmVybGF5KTtcclxuICB9XHJcblxyXG5cclxuICBoYW5kbGVNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMubW91c2VZID0gZXZlbnQuY2xpZW50WTtcclxuICB9XHJcblxyXG4gIGNsZWFyUHJldmlld0Nsb25lcygpIHtcclxuICAgIHRoaXMucHJldmlld0Nsb25lcy5mb3JFYWNoKGNsb25lID0+IGNsb25lLnJlbW92ZSgpKTtcclxuICAgIHRoaXMucHJldmlld0Nsb25lcyA9IFtdO1xyXG4gIH1cclxuICBcclxuICBPbk1vdmVUb1NvdXJjZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gICAgdGhpcy5waWNrbGlzdC5tb3ZlTGVmdCgpO1xyXG4gICAgdGhpcy5vbk1vdmVUb1NvdXJjZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcbiAgXHJcbiAgT25Nb3ZlVG9UYXJnZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICAgIHRoaXMucGlja2xpc3QubW92ZVJpZ2h0KCk7XHJcbiAgICB0aGlzLm9uTW92ZVRvVGFyZ2V0LmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0ge307XHJcbiAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0U2VsZWN0ZWRJdGVtcygpOiBhbnlbXSB7XHJcbiAgICAvLyBGaWx0cmEgb3MgaXRlbnMgZGEgbGlzdGEgZGUgb3JpZ2VtIChzb3VyY2UpIGNvbSBiYXNlIG5vcyBpdGVucyBzZWxlY2lvbmFkb3NcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZS5maWx0ZXIoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07IC8vIE9idMOpbSBvIElEIGRvIGl0ZW1cclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID09PSB0cnVlOyAvLyBWZXJpZmljYSBzZSBlc3TDoSBtYXJjYWRvIGNvbW8gdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBPbk1vdmVBbGxUb1NvdXJjZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uTW92ZVRvU291cmNlLmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0ge307XHJcbiAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIH1cclxuXHJcbiAgT25Nb3ZlQWxsVG9UYXJnZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbk1vdmVUb1RhcmdldC5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcblxyXG4gIE9uU291cmNlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICBcclxuICAgIC8vIFByaW1laXJvIHJlbW92ZSB0b2RvcyBvcyBwcmV2aWV3cyBhbnRpZ29zXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIFxyXG4gICAgaWYgKHNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuaGlkZURyb3BPdmVybGF5KCk7XHJcbiAgICAgIHRoaXMub25Tb3VyY2VTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIHNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07XHJcbiAgXHJcbiAgICAgIC8vIFNlIGrDoSBleGlzdGUgdW0gY2xvbmUgcGFyYSBlc3NlIGl0ZW0sIG7Do28gY3JpYSBub3ZhbWVudGVcclxuICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlld18nICsgaXRlbUlkKSkge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkX3BpY2tfbGlzdCcgKyBpdGVtSWQpO1xyXG4gICAgICAgIGlmIChvcmlnaW5hbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVjdCA9IG9yaWdpbmFsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgY2xvbmUgPSBvcmlnaW5hbC5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjbG9uZS5jbGFzc0xpc3QuYWRkKCdkcmFnLXByZXZpZXctY2xvbmUnKTtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoYGxldmVsLSR7aW5kZXggKyAxfWApO1xyXG4gICAgICAgICAgY2xvbmUuaWQgPSAncHJldmlld18nICsgaXRlbUlkO1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLnByZXZpZXdDbG9uZXMucHVzaChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLmFuaW1hdGVDbG9uZVRvQ3Vyc29yKGNsb25lLCByZWN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgdGhpcy5zaG93RHJvcE92ZXJsYXkoKTtcclxuICAgIHRoaXMub25Tb3VyY2VTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldEl0ZW1JZChpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0/Llt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICB9XHJcbiAgXHJcblxyXG4gIHNob3dEcm9wT3ZlcmxheSgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSW5UYXJnZXQgPSB0aGlzLnRhcmdldC5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICBcclxuICAgIGxldCB0YXJnZXRMaXN0RWw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgICBpZiAoc2VsZWN0ZWRJblNvdXJjZSkge1xyXG4gICAgICB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5pbm5lclRleHQgPSAnU29sdGFyIGFxdWkgcGFyYSBtb3Zlcic7XHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkSW5UYXJnZXQpIHtcclxuICAgICAgdGFyZ2V0TGlzdEVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3Qtc291cmNlJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuaW5uZXJUZXh0ID0gJ1NvbHRhciBhcXVpIHBhcmEgcmV0b3JuYXInO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgaWYgKHRhcmdldExpc3RFbCkge1xyXG4gICAgICBjb25zdCB3cmFwcGVyID0gdGFyZ2V0TGlzdEVsLmNsb3Nlc3QoJy5wLXBpY2tsaXN0LWxpc3Qtd3JhcHBlcicpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBpZiAoIXdyYXBwZXIpIHJldHVybjtcclxuICBcclxuICAgICAgY29uc3QgaGVhZGVyID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC1oZWFkZXInKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgICAgIGNvbnN0IGZpbHRlciA9IHdyYXBwZXIucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3QtZmlsdGVyLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBcclxuICAgICAgY29uc3Qgd3JhcHBlclJlY3QgPSB3cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cuc2Nyb2xsWSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgICBjb25zdCBzY3JvbGxMZWZ0ID0gd2luZG93LnNjcm9sbFggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgXHJcbiAgICAgIGxldCBvZmZzZXRUb3AgPSB3cmFwcGVyUmVjdC50b3AgKyBzY3JvbGxUb3A7XHJcbiAgICAgIGxldCB0b3RhbE9mZnNldCA9IDA7XHJcbiAgXHJcbiAgICAgIGlmIChoZWFkZXIpIHRvdGFsT2Zmc2V0ICs9IGhlYWRlci5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGlmIChmaWx0ZXIpIHRvdGFsT2Zmc2V0ICs9IGZpbHRlci5vZmZzZXRIZWlnaHQ7XHJcbiAgXHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudG9wID0gKG9mZnNldFRvcCArIHRvdGFsT2Zmc2V0KSArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUubGVmdCA9ICh3cmFwcGVyUmVjdC5sZWZ0ICsgc2Nyb2xsTGVmdCkgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLndpZHRoID0gYCR7d3JhcHBlci5vZmZzZXRXaWR0aH1weGA7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuaGVpZ2h0ID0gYCR7d3JhcHBlci5vZmZzZXRIZWlnaHQgLSB0b3RhbE9mZnNldH1weGA7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdmbGV4J1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgaGlkZURyb3BPdmVybGF5KCkge1xyXG4gICAgaWYgKHRoaXMuZHJvcE92ZXJsYXkpIHtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBcclxuICBhbmltYXRlQ2xvbmVUb0N1cnNvcihjbG9uZTogSFRNTEVsZW1lbnQsIG9yaWdpblJlY3Q6IERPTVJlY3QpIHtcclxuICAgIC8vIENvbWXDp2EgZXhhdGFtZW50ZSBkYSBwb3Npw6fDo28gZG8gb3JpZ2luYWxcclxuICAgIGxldCBwb3NYID0gb3JpZ2luUmVjdC5sZWZ0O1xyXG4gICAgbGV0IHBvc1kgPSBvcmlnaW5SZWN0LnRvcDtcclxuICBcclxuICAgIGNsb25lLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIGNsb25lLnN0eWxlLmxlZnQgPSBgJHtwb3NYfXB4YDtcclxuICAgIGNsb25lLnN0eWxlLnRvcCA9IGAke3Bvc1l9cHhgO1xyXG4gICAgY2xvbmUuc3R5bGUud2lkdGggPSBgJHtvcmlnaW5SZWN0LndpZHRofXB4YDtcclxuICAgIGNsb25lLnN0eWxlLmhlaWdodCA9IGAke29yaWdpblJlY3QuaGVpZ2h0fXB4YDtcclxuICAgIGNsb25lLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XHJcbiAgXHJcbiAgICBjb25zdCBhbmltYXRlID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBkeCA9IHRoaXMubW91c2VYIC0gcG9zWDtcclxuICAgICAgY29uc3QgZHkgPSB0aGlzLm1vdXNlWSAtIHBvc1k7XHJcbiAgXHJcbiAgICAgIHBvc1ggKz0gZHggKiAwLjE1O1xyXG4gICAgICBwb3NZICs9IGR5ICogMC4xNTtcclxuICBcclxuICAgICAgY2xvbmUuc3R5bGUubGVmdCA9IGAke3Bvc1h9cHhgO1xyXG4gICAgICBjbG9uZS5zdHlsZS50b3AgPSBgJHtwb3NZfXB4YDtcclxuICBcclxuICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMoY2xvbmUpKSB7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIFxyXG4gICAgYW5pbWF0ZSgpO1xyXG4gIH1cclxuICBcclxuICBcclxuXHJcbiAgT25UYXJnZXRTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IHRoaXMudGFyZ2V0LmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID09PSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBMaW1wYSBjbG9uZXMgYW50aWdvc1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICBcclxuICAgIGlmIChzZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgICB0aGlzLm9uVGFyZ2V0U2VsZWN0LmVtaXQoZXZlbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gIFxyXG4gICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2aWV3XycgKyBpdGVtSWQpKSB7XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWRfcGlja19saXN0JyArIGl0ZW1JZCk7XHJcbiAgICAgICAgaWYgKG9yaWdpbmFsKSB7XHJcbiAgICAgICAgICBjb25zdCByZWN0ID0gb3JpZ2luYWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBjbG9uZSA9IG9yaWdpbmFsLmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoJ2RyYWctcHJldmlldy1jbG9uZScpO1xyXG4gICAgICAgICAgY2xvbmUuY2xhc3NMaXN0LmFkZChgbGV2ZWwtJHtpbmRleCArIDF9YCk7XHJcbiAgICAgICAgICBjbG9uZS5pZCA9ICdwcmV2aWV3XycgKyBpdGVtSWQ7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNsb25lKTtcclxuICAgICAgICAgIHRoaXMucHJldmlld0Nsb25lcy5wdXNoKGNsb25lKTtcclxuICAgICAgICAgIHRoaXMuYW5pbWF0ZUNsb25lVG9DdXJzb3IoY2xvbmUsIHJlY3QpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgdGhpcy5zaG93RHJvcE92ZXJsYXkoKTtcclxuICAgIHRoaXMub25UYXJnZXRTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBvblNlbGVjdEFsbCgpIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsSXRlbXModHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxJdGVtcyhpc1NlbGVjdGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNvdXJjZS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IGlzU2VsZWN0ZWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRhcmdldC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IGlzU2VsZWN0ZWQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5ID09PSAnYScpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5vblNlbGVjdEFsbCgpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICBcclxuICAgICAgY29uc3Qgc291cmNlU2VsZWN0ZWQgPSB0aGlzLnBpY2tsaXN0LnNlbGVjdGVkSXRlbXNTb3VyY2U7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNJZHMgPSBPYmplY3QuZW50cmllcyh0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgPT09IHRydWUpXHJcbiAgICAgICAgLm1hcCgoW2tleSwgX10pID0+IE51bWJlcihrZXkpKTtcclxuICBcclxuICAgICAgY29uc3Qgbm90SW5TZWxlY3RlZCA9IHNvdXJjZVNlbGVjdGVkLmZpbmQoXHJcbiAgICAgICAgKGl0ZW06IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+XHJcbiAgICAgICAgICAhc2VsZWN0ZWRJdGVtc0lkcy5pbmNsdWRlcyhpdGVtW3RoaXMuaXRlbUlkRmllbGRdKVxyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBjb25zdCBpbmRleEluU291cmNlID0gdGhpcy5zb3VyY2UuZmluZEluZGV4KFxyXG4gICAgICAgIChpdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PlxyXG4gICAgICAgICAgaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSA9PT0gbm90SW5TZWxlY3RlZD8uW3RoaXMuaXRlbUlkRmllbGRdXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHVsdGltb0l0ZW1BcnJheSA9IHtcclxuICAgICAgICBpdGVtOiBub3RJblNlbGVjdGVkLFxyXG4gICAgICAgIGluZGV4OiBpbmRleEluU291cmNlLFxyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICBjb25zdCBzZWxlY3RlZEluZGV4SW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5maW5kSW5kZXgoKHNvdXJjZUl0ZW06IGFueSkgPT5cclxuICAgICAgICBzZWxlY3RlZEl0ZW1zSWRzLmluY2x1ZGVzKHNvdXJjZUl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0pXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIGlmIChub3RJblNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBiZWZvcmVJZHMgPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5tYXAoaSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0pO1xyXG4gICAgICAgIGNvbnN0IGFmdGVySWRzID0gdGhpcy5waWNrbGlzdC5zZWxlY3RlZEl0ZW1zU291cmNlLm1hcChpID0+IGlbdGhpcy5pdGVtSWRGaWVsZF0pO1xyXG4gICAgICBcclxuICAgICAgICBjb25zdCByZW1vdmVkSWQgPSBiZWZvcmVJZHMuZmluZChpZCA9PiAhYWZ0ZXJJZHMuaW5jbHVkZXMoaWQpKTtcclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChyZW1vdmVkSWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVtb3ZlZEl0ZW0gPSB0aGlzLnNvdXJjZS5maW5kKGl0ZW0gPT4gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSA9PT0gcmVtb3ZlZElkKTtcclxuICAgICAgICAgIGlmIChyZW1vdmVkSXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdENoZWNrQm94KHJlbW92ZWRJdGVtKTtcclxuICAgICAgICAgICAgdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8gPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgKGkpID0+IGkuaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSAhPT0gcmVtb3ZlZElkXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGVudGVySWRzID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8ubWFwKGkgPT4gaS5pdGVtW3RoaXMuaXRlbUlkRmllbGRdKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zSWRzID0gT2JqZWN0LmVudHJpZXModGhpcy5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgLm1hcCgoW2tleSwgX10pID0+IE51bWJlcihrZXkpKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgY29uc3QgY2xpY2tlZElkcyA9IHNlbGVjdGVkSXRlbXNJZHMuZmlsdGVyKGlkID0+ICFlbnRlcklkcy5pbmNsdWRlcyhpZCkpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZiAoY2xpY2tlZElkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJdGVtID0gdGhpcy5zb3VyY2UuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gPT09IGNsaWNrZWRJZHNbMF0pO1xyXG4gICAgICAgICAgICBpZiAoY2xpY2tlZEl0ZW0pIHtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdENoZWNrQm94KGNsaWNrZWRJdGVtKTtcclxuICAgICAgICAgICAgICB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkbyA9IHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChpKSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gIT09IGNsaWNrZWRJZHNbMF1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgXHJcbiAgXHJcbiAgICAgIHRoaXMuc2VsZWN0Q2hlY2tCb3gobm90SW5TZWxlY3RlZCk7XHJcbiAgXHJcbiAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8uZmlsdGVyKFxyXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLmluZGV4ICE9PSBpbmRleEluU291cmNlXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLnB1c2godWx0aW1vSXRlbUFycmF5KTtcclxuICBcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIHNlbGVjdENoZWNrQm94KGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuXHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFByZXZpZXcgPSBpdGVtO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID0gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1JZF0gIT09IHVuZGVmaW5lZFxyXG4gICAgICA/ICF0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXVxyXG4gICAgICA6IHRydWU7XHJcblxyXG5cclxuICAgIHRoaXMubmdNb2RlbCA9IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdO1xyXG5cclxuICB9XHJcblxyXG4gIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQcmV2aWV3ID09PSBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8cC1waWNrTGlzdFxyXG4gIFtzb3VyY2VdPVwic291cmNlXCJcclxuICBbc291cmNlSGVhZGVyXT1cInNvdXJjZUhlYWRlclwiXHJcbiAgW3NvdXJjZVN0eWxlXT1cInNvdXJjZVN0eWxlXCJcclxuICBbdGFyZ2V0XT1cInRhcmdldFwiIFxyXG4gIFt0YXJnZXRIZWFkZXJdPVwidGFyZ2V0SGVhZGVyXCJcclxuICBbdGFyZ2V0U3R5bGVdPVwidGFyZ2V0U3R5bGVcIlxyXG4gIFtkcmFnZHJvcF09XCJkcmFnZHJvcFwiXHJcbiAgW3Jlc3BvbnNpdmVdPVwicmVzcG9uc2l2ZVwiXHJcbiAgW2ZpbHRlckJ5XT1cImZpbHRlckJ5XCJcclxuICBbYnJlYWtwb2ludF09XCJicmVha3BvaW50XCJcclxuICBbc3RyaXBlZFJvd3NdPVwic3RyaXBlZFJvd3NcIlxyXG4gIFtzaG93U291cmNlQ29udHJvbHNdPVwic2hvd1NvdXJjZUNvbnRyb2xzXCJcclxuICBbc2hvd1RhcmdldENvbnRyb2xzXT1cInNob3dUYXJnZXRDb250cm9sc1wiXHJcbiAgKG9uTW92ZVRvU291cmNlKT1cIk9uTW92ZVRvU291cmNlKCRldmVudClcIlxyXG4gIChvbk1vdmVUb1RhcmdldCk9XCJPbk1vdmVUb1RhcmdldCgkZXZlbnQpXCJcclxuICAob25Nb3ZlQWxsVG9Tb3VyY2UpPVwiT25Nb3ZlQWxsVG9Tb3VyY2UoJGV2ZW50KVwiXHJcbiAgKG9uTW92ZUFsbFRvVGFyZ2V0KT1cIk9uTW92ZUFsbFRvVGFyZ2V0KCRldmVudClcIlxyXG4gIChvblNvdXJjZVNlbGVjdCk9XCJPblNvdXJjZVNlbGVjdCgkZXZlbnQpXCJcclxuICAob25UYXJnZXRTZWxlY3QpPVwiT25UYXJnZXRTZWxlY3QoJGV2ZW50KVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiID5cclxuICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0Q2hlY2tCb3goaXRlbSlcIiBjbGFzcz1cImZsZXggbXItNVwiIFtpZF09XCInaWRfcGlja19saXN0JyArIGdldEl0ZW1JZChpdGVtKVwiXHJcbiAgICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxyXG4gICAgICAgIEBpZihzaG93Q2hlY2tCb3gpIHtcclxuICAgICAgICAgICAgPGt2LWNoZWNrIChvbkNoZWNrQ2hhbmdlKT1cInNlbGVjdENoZWNrQm94KGl0ZW0pXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEl0ZW1zW2l0ZW1baXRlbUlkRmllbGRdXVwiIGNsYXNzPVwibXItMVwiPjwva3YtY2hlY2s+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+IFxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1waWNrTGlzdD5cclxuIl19
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFVNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUkxQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQixpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBRW5ELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGlCQUFZLEdBQVcsNEJBQTRCLENBQUM7UUFFcEQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsc0JB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Q0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBpY2tMaXN0IH0gZnJvbSAncHJpbWVuZy9waWNrbGlzdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBpY2tsaXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtcGljay1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LXBpY2stbGlzdC5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4va2Vldm8tY29tcG9uZW50cy1zdHlsZXMuc2NzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBpY2tMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChQaWNrTGlzdCkgcGlja2xpc3QhOiBQaWNrTGlzdDtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQpID0+IHRoaXMub25LZXlEb3duKGV2ZW50KSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBpdGVtSWRGaWVsZDogc3RyaW5nID0gJ2lkJztcclxuICBASW5wdXQoKSBicmVha3BvaW50OiBzdHJpbmcgPSBcIjE0MDBweFwiO1xyXG4gIEBJbnB1dCgpIGRyYWdkcm9wOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmaWx0ZXJCeSE6IHN0cmluZztcclxuICBASW5wdXQoKSBpdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZSE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNvdXJjZUhlYWRlcjogc3RyaW5nID0gJ1TDrXR1bG8gZGEgbGlzdGEgZGUgb3JpZ2VtJztcclxuICBASW5wdXQoKSBzb3VyY2VTdHlsZSE6IGFueTtcclxuICBASW5wdXQoKSBzdHJpcGVkUm93czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRhcmdldCE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHRhcmdldEhlYWRlcjogc3RyaW5nID0gJ1TDrXR1bG8gZGUgbGlzdGEgZGUgZGVzdGlubyc7XHJcbiAgQElucHV0KCkgdGFyZ2V0U3R5bGUhOiBhbnk7XHJcbiAgQElucHV0KCkgc2hvd1NvdXJjZUNvbnRyb2xzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VGFyZ2V0Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dDaGVja0JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25Nb3ZlVG9Tb3VyY2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1vdmVUb1RhcmdldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTW92ZUFsbFRvU291cmNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Nb3ZlQWxsVG9UYXJnZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNvdXJjZVNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uVGFyZ2V0U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgc2VsZWN0ZWRQcmV2aWV3ITogYW55O1xyXG4gIG5nTW9kZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZEl0ZW1zOiB7IFtrZXk6IG51bWJlcl06IGJvb2xlYW4gfSA9IHt9O1xyXG4gIHVsdGltb0l0ZW1TZWxlY2lvbmFkbzogeyBpdGVtOiBhbnksIGluZGV4OiBudW1iZXIgfVtdID0gW107XHJcbiAgbGFzdERyYWdnZWRJdGVtczogYW55W10gPSBbXTtcclxuICBkcmFnZ2VkSWRzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBtb3VzZVggPSAwO1xyXG4gIG1vdXNlWSA9IDA7XHJcbiAgcHJldmlld0Nsb25lczogSFRNTEVsZW1lbnRbXSA9IFtdO1xyXG5cclxubmdPbkluaXQoKSB7XHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLm1vdXNlWSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbm5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB0aGlzLmNyZWF0ZURyb3BPdmVybGF5KCk7XHJcbn1cclxuXHJcbiAgZHJvcE92ZXJsYXkhOiBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgY3JlYXRlRHJvcE92ZXJsYXkoKSB7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmlubmVyVGV4dCA9ICdTb2x0YXInO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmJhY2tncm91bmQgPSAnI0JGREJGRSc7IC8vIEF6dWwgY2xhcm8gdmlzw612ZWxcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuY29sb3IgPSAnIzFFM0E4QSc7IC8vIEF6dWwgZXNjdXJvIHBybyB0ZXh0b1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5ib3JkZXIgPSAnOXB4ICMxRTQwQUYnOyAvLyBCb3JkYSBhenVsIGVzY3Vyb1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5ib3hTaGFkb3cgPSAnMCAycHggNnB4IHJnYmEoMzAsIDU4LCAxMzgsIDAuMiknOyAvLyBTaGFkb3cgcmVkdXppZGFcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnY2VudGVyJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS56SW5kZXggPSAnOTk5OSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmZvbnRTaXplID0gJzEuNXJlbSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmZvbnRXZWlnaHQgPSAnYm9sZCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYWxsJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudHJhbnNpdGlvbiA9ICdhbGwgMC4ycyBlYXNlJztcclxuXHJcblxyXG4gICAgLy8gRW5jYWl4YXIgbm8gbWVzbW8gbHVnYXIgZG8gdGFyZ2V0XHJcbiAgICBjb25zdCB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICh0YXJnZXRMaXN0RWwpIHtcclxuICAgICAgY29uc3QgcmVjdCA9IHRhcmdldExpc3RFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS50b3AgPSByZWN0LnRvcCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUubGVmdCA9IHJlY3QubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5oZWlnaHQgPSByZWN0LmhlaWdodCArICdweCc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJblNvdXJjZSA9IHRoaXMuc291cmNlLnNvbWUoaXRlbSA9PiB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbVt0aGlzLml0ZW1JZEZpZWxkXV0pO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEluVGFyZ2V0ID0gdGhpcy50YXJnZXQuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtW3RoaXMuaXRlbUlkRmllbGRdXSk7XHJcbiAgICBcclxuICAgICAgaWYgKHNlbGVjdGVkSW5Tb3VyY2UpIHtcclxuICAgICAgICB0aGlzLk9uTW92ZVRvVGFyZ2V0KHt9KTtcclxuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEluVGFyZ2V0KSB7XHJcbiAgICAgICAgdGhpcy5Pbk1vdmVUb1NvdXJjZSh7fSk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgfSk7XHJcbiAgICBcclxuXHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYmFja2dyb3VuZCA9ICcjOTNDNUZEJzsgLy8gQXp1bCB1bSBwb3VjbyBtYWlzIGVzY3VybyBubyBob3ZlclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYmFja2dyb3VuZCA9ICcjQkZEQkZFJztcclxuICAgIH0pO1xyXG4gICAgXHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmRyb3BPdmVybGF5KTtcclxuICB9XHJcblxyXG5cclxuICBoYW5kbGVNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMubW91c2VZID0gZXZlbnQuY2xpZW50WTtcclxuICB9XHJcblxyXG4gIGNsZWFyUHJldmlld0Nsb25lcygpIHtcclxuICAgIHRoaXMucHJldmlld0Nsb25lcy5mb3JFYWNoKGNsb25lID0+IGNsb25lLnJlbW92ZSgpKTtcclxuICAgIHRoaXMucHJldmlld0Nsb25lcyA9IFtdO1xyXG4gIH1cclxuICBcclxuICBPbk1vdmVUb1NvdXJjZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gICAgdGhpcy5waWNrbGlzdC5tb3ZlTGVmdCgpO1xyXG4gICAgdGhpcy5vbk1vdmVUb1NvdXJjZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcbiAgXHJcbiAgT25Nb3ZlVG9UYXJnZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICAgIHRoaXMucGlja2xpc3QubW92ZVJpZ2h0KCk7XHJcbiAgICB0aGlzLm9uTW92ZVRvVGFyZ2V0LmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0ge307XHJcbiAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0U2VsZWN0ZWRJdGVtcygpOiBhbnlbXSB7XHJcbiAgICAvLyBGaWx0cmEgb3MgaXRlbnMgZGEgbGlzdGEgZGUgb3JpZ2VtIChzb3VyY2UpIGNvbSBiYXNlIG5vcyBpdGVucyBzZWxlY2lvbmFkb3NcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZS5maWx0ZXIoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07IC8vIE9idMOpbSBvIElEIGRvIGl0ZW1cclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID09PSB0cnVlOyAvLyBWZXJpZmljYSBzZSBlc3TDoSBtYXJjYWRvIGNvbW8gdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBPbk1vdmVBbGxUb1NvdXJjZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uTW92ZVRvU291cmNlLmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0ge307XHJcbiAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIH1cclxuXHJcbiAgT25Nb3ZlQWxsVG9UYXJnZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbk1vdmVUb1RhcmdldC5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcblxyXG4gIE9uU291cmNlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICBcclxuICAgIC8vIFByaW1laXJvIHJlbW92ZSB0b2RvcyBvcyBwcmV2aWV3cyBhbnRpZ29zXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIFxyXG4gICAgaWYgKHNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuaGlkZURyb3BPdmVybGF5KCk7XHJcbiAgICAgIHRoaXMub25Tb3VyY2VTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIHNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07XHJcbiAgXHJcbiAgICAgIC8vIFNlIGrDoSBleGlzdGUgdW0gY2xvbmUgcGFyYSBlc3NlIGl0ZW0sIG7Do28gY3JpYSBub3ZhbWVudGVcclxuICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlld18nICsgaXRlbUlkKSkge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkX3BpY2tfbGlzdCcgKyBpdGVtSWQpO1xyXG4gICAgICAgIGlmIChvcmlnaW5hbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVjdCA9IG9yaWdpbmFsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgY2xvbmUgPSBvcmlnaW5hbC5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjbG9uZS5jbGFzc0xpc3QuYWRkKCdkcmFnLXByZXZpZXctY2xvbmUnKTtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoYGxldmVsLSR7aW5kZXggKyAxfWApO1xyXG4gICAgICAgICAgY2xvbmUuaWQgPSAncHJldmlld18nICsgaXRlbUlkO1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLnByZXZpZXdDbG9uZXMucHVzaChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLmFuaW1hdGVDbG9uZVRvQ3Vyc29yKGNsb25lLCByZWN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgdGhpcy5zaG93RHJvcE92ZXJsYXkoKTtcclxuICAgIHRoaXMub25Tb3VyY2VTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldEl0ZW1JZChpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0/Llt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICB9XHJcbiAgXHJcblxyXG4gIHNob3dEcm9wT3ZlcmxheSgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSW5UYXJnZXQgPSB0aGlzLnRhcmdldC5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICBcclxuICAgIGxldCB0YXJnZXRMaXN0RWw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgICBpZiAoc2VsZWN0ZWRJblNvdXJjZSkge1xyXG4gICAgICB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5pbm5lclRleHQgPSAnU29sdGFyIGFxdWkgcGFyYSBtb3Zlcic7XHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkSW5UYXJnZXQpIHtcclxuICAgICAgdGFyZ2V0TGlzdEVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3Qtc291cmNlJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuaW5uZXJUZXh0ID0gJ1NvbHRhciBhcXVpIHBhcmEgcmV0b3JuYXInO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgaWYgKHRhcmdldExpc3RFbCkge1xyXG4gICAgICBjb25zdCB3cmFwcGVyID0gdGFyZ2V0TGlzdEVsLmNsb3Nlc3QoJy5wLXBpY2tsaXN0LWxpc3Qtd3JhcHBlcicpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBpZiAoIXdyYXBwZXIpIHJldHVybjtcclxuICBcclxuICAgICAgY29uc3QgaGVhZGVyID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC1oZWFkZXInKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgICAgIGNvbnN0IGZpbHRlciA9IHdyYXBwZXIucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3QtZmlsdGVyLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBcclxuICAgICAgY29uc3Qgd3JhcHBlclJlY3QgPSB3cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cuc2Nyb2xsWSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgICBjb25zdCBzY3JvbGxMZWZ0ID0gd2luZG93LnNjcm9sbFggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgXHJcbiAgICAgIGxldCBvZmZzZXRUb3AgPSB3cmFwcGVyUmVjdC50b3AgKyBzY3JvbGxUb3A7XHJcbiAgICAgIGxldCB0b3RhbE9mZnNldCA9IDA7XHJcbiAgXHJcbiAgICAgIGlmIChoZWFkZXIpIHRvdGFsT2Zmc2V0ICs9IGhlYWRlci5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGlmIChmaWx0ZXIpIHRvdGFsT2Zmc2V0ICs9IGZpbHRlci5vZmZzZXRIZWlnaHQ7XHJcbiAgXHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudG9wID0gKG9mZnNldFRvcCArIHRvdGFsT2Zmc2V0KSArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUubGVmdCA9ICh3cmFwcGVyUmVjdC5sZWZ0ICsgc2Nyb2xsTGVmdCkgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLndpZHRoID0gYCR7d3JhcHBlci5vZmZzZXRXaWR0aH1weGA7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuaGVpZ2h0ID0gYCR7d3JhcHBlci5vZmZzZXRIZWlnaHQgLSB0b3RhbE9mZnNldH1weGA7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdmbGV4J1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgaGlkZURyb3BPdmVybGF5KCkge1xyXG4gICAgaWYgKHRoaXMuZHJvcE92ZXJsYXkpIHtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBcclxuICBhbmltYXRlQ2xvbmVUb0N1cnNvcihjbG9uZTogSFRNTEVsZW1lbnQsIG9yaWdpblJlY3Q6IERPTVJlY3QpIHtcclxuICAgIC8vIENvbWXDp2EgZXhhdGFtZW50ZSBkYSBwb3Npw6fDo28gZG8gb3JpZ2luYWxcclxuICAgIGxldCBwb3NYID0gb3JpZ2luUmVjdC5sZWZ0O1xyXG4gICAgbGV0IHBvc1kgPSBvcmlnaW5SZWN0LnRvcDtcclxuICBcclxuICAgIGNsb25lLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIGNsb25lLnN0eWxlLmxlZnQgPSBgJHtwb3NYfXB4YDtcclxuICAgIGNsb25lLnN0eWxlLnRvcCA9IGAke3Bvc1l9cHhgO1xyXG4gICAgY2xvbmUuc3R5bGUud2lkdGggPSBgJHtvcmlnaW5SZWN0LndpZHRofXB4YDtcclxuICAgIGNsb25lLnN0eWxlLmhlaWdodCA9IGAke29yaWdpblJlY3QuaGVpZ2h0fXB4YDtcclxuICAgIGNsb25lLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XHJcbiAgXHJcbiAgICBjb25zdCBhbmltYXRlID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBkeCA9IHRoaXMubW91c2VYIC0gcG9zWDtcclxuICAgICAgY29uc3QgZHkgPSB0aGlzLm1vdXNlWSAtIHBvc1k7XHJcbiAgXHJcbiAgICAgIHBvc1ggKz0gZHggKiAwLjE1O1xyXG4gICAgICBwb3NZICs9IGR5ICogMC4xNTtcclxuICBcclxuICAgICAgY2xvbmUuc3R5bGUubGVmdCA9IGAke3Bvc1h9cHhgO1xyXG4gICAgICBjbG9uZS5zdHlsZS50b3AgPSBgJHtwb3NZfXB4YDtcclxuICBcclxuICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMoY2xvbmUpKSB7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIFxyXG4gICAgYW5pbWF0ZSgpO1xyXG4gIH1cclxuICBcclxuICBcclxuXHJcbiAgT25UYXJnZXRTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IHRoaXMudGFyZ2V0LmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID09PSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBMaW1wYSBjbG9uZXMgYW50aWdvc1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICBcclxuICAgIGlmIChzZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgICB0aGlzLm9uVGFyZ2V0U2VsZWN0LmVtaXQoZXZlbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gIFxyXG4gICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2aWV3XycgKyBpdGVtSWQpKSB7XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWRfcGlja19saXN0JyArIGl0ZW1JZCk7XHJcbiAgICAgICAgaWYgKG9yaWdpbmFsKSB7XHJcbiAgICAgICAgICBjb25zdCByZWN0ID0gb3JpZ2luYWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBjbG9uZSA9IG9yaWdpbmFsLmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoJ2RyYWctcHJldmlldy1jbG9uZScpO1xyXG4gICAgICAgICAgY2xvbmUuY2xhc3NMaXN0LmFkZChgbGV2ZWwtJHtpbmRleCArIDF9YCk7XHJcbiAgICAgICAgICBjbG9uZS5pZCA9ICdwcmV2aWV3XycgKyBpdGVtSWQ7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNsb25lKTtcclxuICAgICAgICAgIHRoaXMucHJldmlld0Nsb25lcy5wdXNoKGNsb25lKTtcclxuICAgICAgICAgIHRoaXMuYW5pbWF0ZUNsb25lVG9DdXJzb3IoY2xvbmUsIHJlY3QpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgdGhpcy5zaG93RHJvcE92ZXJsYXkoKTtcclxuICAgIHRoaXMub25UYXJnZXRTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBvblNlbGVjdEFsbCgpIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsSXRlbXModHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxJdGVtcyhpc1NlbGVjdGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNvdXJjZS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IGlzU2VsZWN0ZWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRhcmdldC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IGlzU2VsZWN0ZWQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5ID09PSAnYScpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5vblNlbGVjdEFsbCgpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICBcclxuICAgICAgY29uc3Qgc291cmNlU2VsZWN0ZWQgPSB0aGlzLnBpY2tsaXN0LnNlbGVjdGVkSXRlbXNTb3VyY2U7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNJZHMgPSBPYmplY3QuZW50cmllcyh0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgPT09IHRydWUpXHJcbiAgICAgICAgLm1hcCgoW2tleSwgX10pID0+IE51bWJlcihrZXkpKTtcclxuICBcclxuICAgICAgY29uc3Qgbm90SW5TZWxlY3RlZCA9IHNvdXJjZVNlbGVjdGVkLmZpbmQoXHJcbiAgICAgICAgKGl0ZW06IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+XHJcbiAgICAgICAgICAhc2VsZWN0ZWRJdGVtc0lkcy5pbmNsdWRlcyhpdGVtW3RoaXMuaXRlbUlkRmllbGRdKVxyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBjb25zdCBpbmRleEluU291cmNlID0gdGhpcy5zb3VyY2UuZmluZEluZGV4KFxyXG4gICAgICAgIChpdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PlxyXG4gICAgICAgICAgaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSA9PT0gbm90SW5TZWxlY3RlZD8uW3RoaXMuaXRlbUlkRmllbGRdXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHVsdGltb0l0ZW1BcnJheSA9IHtcclxuICAgICAgICBpdGVtOiBub3RJblNlbGVjdGVkLFxyXG4gICAgICAgIGluZGV4OiBpbmRleEluU291cmNlLFxyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICBjb25zdCBzZWxlY3RlZEluZGV4SW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5maW5kSW5kZXgoKHNvdXJjZUl0ZW06IGFueSkgPT5cclxuICAgICAgICBzZWxlY3RlZEl0ZW1zSWRzLmluY2x1ZGVzKHNvdXJjZUl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0pXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIGlmIChub3RJblNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBiZWZvcmVJZHMgPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5tYXAoaSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0pO1xyXG4gICAgICAgIGNvbnN0IGFmdGVySWRzID0gdGhpcy5waWNrbGlzdC5zZWxlY3RlZEl0ZW1zU291cmNlLm1hcChpID0+IGlbdGhpcy5pdGVtSWRGaWVsZF0pO1xyXG4gICAgICBcclxuICAgICAgICBjb25zdCByZW1vdmVkSWQgPSBiZWZvcmVJZHMuZmluZChpZCA9PiAhYWZ0ZXJJZHMuaW5jbHVkZXMoaWQpKTtcclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChyZW1vdmVkSWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVtb3ZlZEl0ZW0gPSB0aGlzLnNvdXJjZS5maW5kKGl0ZW0gPT4gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSA9PT0gcmVtb3ZlZElkKTtcclxuICAgICAgICAgIGlmIChyZW1vdmVkSXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdENoZWNrQm94KHJlbW92ZWRJdGVtKTtcclxuICAgICAgICAgICAgdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8gPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgKGkpID0+IGkuaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSAhPT0gcmVtb3ZlZElkXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGVudGVySWRzID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8ubWFwKGkgPT4gaS5pdGVtW3RoaXMuaXRlbUlkRmllbGRdKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zSWRzID0gT2JqZWN0LmVudHJpZXModGhpcy5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgLm1hcCgoW2tleSwgX10pID0+IE51bWJlcihrZXkpKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgY29uc3QgY2xpY2tlZElkcyA9IHNlbGVjdGVkSXRlbXNJZHMuZmlsdGVyKGlkID0+ICFlbnRlcklkcy5pbmNsdWRlcyhpZCkpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZiAoY2xpY2tlZElkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJdGVtID0gdGhpcy5zb3VyY2UuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gPT09IGNsaWNrZWRJZHNbMF0pO1xyXG4gICAgICAgICAgICBpZiAoY2xpY2tlZEl0ZW0pIHtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdENoZWNrQm94KGNsaWNrZWRJdGVtKTtcclxuICAgICAgICAgICAgICB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkbyA9IHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChpKSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gIT09IGNsaWNrZWRJZHNbMF1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgXHJcbiAgXHJcbiAgICAgIHRoaXMuc2VsZWN0Q2hlY2tCb3gobm90SW5TZWxlY3RlZCk7XHJcbiAgXHJcbiAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8uZmlsdGVyKFxyXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLmluZGV4ICE9PSBpbmRleEluU291cmNlXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLnB1c2godWx0aW1vSXRlbUFycmF5KTtcclxuICBcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIHNlbGVjdENoZWNrQm94KGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuXHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFByZXZpZXcgPSBpdGVtO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID0gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1JZF0gIT09IHVuZGVmaW5lZFxyXG4gICAgICA/ICF0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXVxyXG4gICAgICA6IHRydWU7XHJcblxyXG5cclxuICAgIHRoaXMubmdNb2RlbCA9IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdO1xyXG5cclxuICB9XHJcblxyXG4gIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQcmV2aWV3ID09PSBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8cC1waWNrTGlzdFxyXG4gIFtzb3VyY2VdPVwic291cmNlXCJcclxuICBbc291cmNlSGVhZGVyXT1cInNvdXJjZUhlYWRlclwiXHJcbiAgW3NvdXJjZVN0eWxlXT1cInNvdXJjZVN0eWxlXCJcclxuICBbdGFyZ2V0XT1cInRhcmdldFwiIFxyXG4gIFt0YXJnZXRIZWFkZXJdPVwidGFyZ2V0SGVhZGVyXCJcclxuICBbdGFyZ2V0U3R5bGVdPVwidGFyZ2V0U3R5bGVcIlxyXG4gIFtkcmFnZHJvcF09XCJkcmFnZHJvcFwiXHJcbiAgW3Jlc3BvbnNpdmVdPVwicmVzcG9uc2l2ZVwiXHJcbiAgW2ZpbHRlckJ5XT1cImZpbHRlckJ5XCJcclxuICBbYnJlYWtwb2ludF09XCJicmVha3BvaW50XCJcclxuICBbc3RyaXBlZFJvd3NdPVwic3RyaXBlZFJvd3NcIlxyXG4gIFtzaG93U291cmNlQ29udHJvbHNdPVwic2hvd1NvdXJjZUNvbnRyb2xzXCJcclxuICBbc2hvd1RhcmdldENvbnRyb2xzXT1cInNob3dUYXJnZXRDb250cm9sc1wiXHJcbiAgKG9uTW92ZVRvU291cmNlKT1cIk9uTW92ZVRvU291cmNlKCRldmVudClcIlxyXG4gIChvbk1vdmVUb1RhcmdldCk9XCJPbk1vdmVUb1RhcmdldCgkZXZlbnQpXCJcclxuICAob25Nb3ZlQWxsVG9Tb3VyY2UpPVwiT25Nb3ZlQWxsVG9Tb3VyY2UoJGV2ZW50KVwiXHJcbiAgKG9uTW92ZUFsbFRvVGFyZ2V0KT1cIk9uTW92ZUFsbFRvVGFyZ2V0KCRldmVudClcIlxyXG4gIChvblNvdXJjZVNlbGVjdCk9XCJPblNvdXJjZVNlbGVjdCgkZXZlbnQpXCJcclxuICAob25UYXJnZXRTZWxlY3QpPVwiT25UYXJnZXRTZWxlY3QoJGV2ZW50KVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiID5cclxuICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0Q2hlY2tCb3goaXRlbSlcIiBjbGFzcz1cImZsZXggbXItNVwiIFtpZF09XCInaWRfcGlja19saXN0JyArIGdldEl0ZW1JZChpdGVtKVwiXHJcbiAgICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxyXG4gICAgICAgIEBpZihzaG93Q2hlY2tCb3gpIHtcclxuICAgICAgICAgICAgPGt2LWNoZWNrIChvbkNoZWNrQ2hhbmdlKT1cInNlbGVjdENoZWNrQm94KGl0ZW0pXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEl0ZW1zW2l0ZW1baXRlbUlkRmllbGRdXVwiIGNsYXNzPVwibXItMVwiPjwva3YtY2hlY2s+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+IFxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1waWNrTGlzdD5cclxuIl19