@senior-gestao-pessoas/payroll-core 8.7.0 → 9.0.0

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 (872) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +3024 -10904
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/workstationgroup-lookup/autocomplete.service.d.ts +31 -0
  6. package/esm2015/components/admission-draft-summary/admission-draft-summary.component.js +106 -0
  7. package/esm2015/components/admission-draft-summary/admission-draft-summary.module.js +17 -0
  8. package/esm2015/components/admission-draft-summary/admission-draft-summary.service.js +27 -0
  9. package/esm2015/components/admission-draft-summary/index.js +4 -0
  10. package/esm2015/components/block-ui/block-ui.component.js +19 -0
  11. package/esm2015/components/block-ui/block-ui.module.js +25 -0
  12. package/esm2015/components/block-ui/index.js +3 -0
  13. package/esm2015/components/breadcrumb/breadcrumb.component.js +76 -0
  14. package/esm2015/components/breadcrumb/breadcrumb.module.js +25 -0
  15. package/esm2015/components/breadcrumb/index.js +3 -0
  16. package/esm2015/components/control-messages-error/control-messages-error.component.js +28 -0
  17. package/esm2015/components/control-messages-error/control-messages-error.module.js +17 -0
  18. package/esm2015/components/control-messages-error/index.js +3 -0
  19. package/esm2015/components/custom-fields/custom-fields.component.js +32 -0
  20. package/esm2015/components/custom-fields/custom-fields.module.js +31 -0
  21. package/esm2015/components/custom-fields/index.js +3 -0
  22. package/esm2015/components/data-list/data-list.component.js +305 -0
  23. package/esm2015/components/data-list/data-list.module.js +28 -0
  24. package/esm2015/components/data-list/data-list.service.js +19 -0
  25. package/esm2015/components/data-list/entity-odata-response.js +26 -0
  26. package/esm2015/components/data-list/index.js +2 -0
  27. package/esm2015/components/data-list-rest/data-list-rest.component.js +239 -0
  28. package/esm2015/components/data-list-rest/data-list-rest.module.js +28 -0
  29. package/esm2015/components/data-list-rest/data-list-rest.service.js +19 -0
  30. package/esm2015/components/data-list-rest/index.js +2 -0
  31. package/esm2015/components/directives/directives.module.js +17 -0
  32. package/esm2015/components/directives/index.js +4 -0
  33. package/esm2015/components/directives/name-not-spaces.directive.js +31 -0
  34. package/esm2015/components/directives/only-number.directive.js +41 -0
  35. package/esm2015/components/employee-selector/employee-selector.component.js +65 -0
  36. package/esm2015/components/employee-selector/employee-selector.module.js +18 -0
  37. package/esm2015/components/employee-selector/index.js +3 -0
  38. package/esm2015/components/employee-summary/employee-summary.component.js +108 -0
  39. package/esm2015/components/employee-summary/employee-summary.module.js +17 -0
  40. package/esm2015/components/employee-summary/employee-summary.service.js +33 -0
  41. package/esm2015/components/employee-summary/index.js +4 -0
  42. package/esm2015/components/error-page/error-page.component.js +15 -0
  43. package/esm2015/components/error-page/error-page.module.js +16 -0
  44. package/esm2015/components/error-page/index.js +3 -0
  45. package/esm2015/components/field-validator/field-validator.component.js +40 -0
  46. package/esm2015/components/field-validator/field-validator.module.js +18 -0
  47. package/esm2015/components/field-validator/index.js +3 -0
  48. package/esm2015/components/file-upload/file-upload.component.js +135 -0
  49. package/esm2015/components/file-upload/file-upload.module.js +19 -0
  50. package/esm2015/components/file-upload/file-upload.service.js +44 -0
  51. package/esm2015/components/file-upload/index.js +3 -0
  52. package/esm2015/components/from-to/from-to.component.js +16 -0
  53. package/esm2015/components/from-to/from-to.module.js +19 -0
  54. package/esm2015/components/from-to/index.js +3 -0
  55. package/esm2015/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +332 -0
  56. package/esm2015/components/historical-bank-account/historical-bank-account.component.js +329 -0
  57. package/esm2015/components/historical-bank-account/historical-bank-account.module.js +56 -0
  58. package/esm2015/components/historical-bank-account/historical-bank-account.service.js +20 -0
  59. package/esm2015/components/historical-bank-account/index.js +4 -0
  60. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.component.js +223 -0
  61. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.module.js +39 -0
  62. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.service.js +35 -0
  63. package/esm2015/components/historical-bank-account-list/index.js +4 -0
  64. package/esm2015/components/image-cropper/image-crop.component.js +146 -0
  65. package/esm2015/components/image-cropper/image-crop.module.js +39 -0
  66. package/esm2015/components/image-cropper/image-crop.service.js +88 -0
  67. package/esm2015/components/image-cropper/index.js +4 -0
  68. package/esm2015/components/input-date/index.js +3 -0
  69. package/esm2015/components/input-date/input-date.component.js +115 -0
  70. package/esm2015/components/input-date/input-date.module.js +17 -0
  71. package/esm2015/components/input-date-model/index.js +3 -0
  72. package/esm2015/components/input-date-model/input-date-model.component.js +100 -0
  73. package/esm2015/components/input-date-model/input-date-model.module.js +17 -0
  74. package/esm2015/components/input-rest-auto-complete/index.js +4 -0
  75. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +303 -0
  76. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.module.js +21 -0
  77. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.service.js +20 -0
  78. package/esm2015/components/input-rest-auto-complete-employee/index.js +3 -0
  79. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +190 -0
  80. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +28 -0
  81. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +20 -0
  82. package/esm2015/components/input-rest-auto-complete-employee-model/index.js +3 -0
  83. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +179 -0
  84. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +28 -0
  85. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +20 -0
  86. package/esm2015/components/input-rest-auto-complete-enum/index.js +4 -0
  87. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +146 -0
  88. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +28 -0
  89. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +23 -0
  90. package/esm2015/components/input-rest-auto-complete-jobposition/index.js +4 -0
  91. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +173 -0
  92. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +28 -0
  93. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +20 -0
  94. package/esm2015/components/input-rest-auto-complete-model/index.js +3 -0
  95. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +227 -0
  96. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +28 -0
  97. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +20 -0
  98. package/esm2015/components/input-rest-auto-complete-model-enum/index.js +3 -0
  99. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +124 -0
  100. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +28 -0
  101. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +23 -0
  102. package/esm2015/components/list-rest/index.js +3 -0
  103. package/esm2015/components/list-rest/list-rest.component.js +117 -0
  104. package/esm2015/components/list-rest/list-rest.module.js +33 -0
  105. package/esm2015/components/list-rest/list-rest.service.js +23 -0
  106. package/esm2015/components/lookup/index.js +2 -0
  107. package/esm2015/components/lookup/lookup.component.js +324 -0
  108. package/esm2015/components/lookup/lookup.module.js +20 -0
  109. package/esm2015/components/lookup/lookup.service.js +52 -0
  110. package/esm2015/components/shared/http-client.service.js +165 -0
  111. package/esm2015/components/shared/shared.module.js +21 -0
  112. package/esm2015/components/spinner/index.js +3 -0
  113. package/esm2015/components/spinner/spinner-loader.component.js +12 -0
  114. package/esm2015/components/spinner/spinner-loader.module.js +23 -0
  115. package/esm2015/components/toast/index.js +4 -0
  116. package/esm2015/components/toast/toast.component.js +88 -0
  117. package/esm2015/components/toast/toast.module.js +20 -0
  118. package/esm2015/components/toast/toast.service.js +42 -0
  119. package/esm2015/components/type-admission/index.js +3 -0
  120. package/esm2015/components/type-admission/type-admission.module.js +14 -0
  121. package/esm2015/components/type-admission/type-admission.services.js +62 -0
  122. package/esm2015/components/utils/cnpj-validator.js +62 -0
  123. package/esm2015/components/utils/cpf-validator.js +45 -0
  124. package/esm2015/components/utils/date-validator/date-validators.js +144 -0
  125. package/esm2015/components/utils/helpers.js +476 -0
  126. package/esm2015/components/utils/validations.js +127 -0
  127. package/esm2015/components/vanilla/string-methods.js +22 -0
  128. package/esm2015/components/workstationgroup-lookup/autocomplete.service.js +111 -0
  129. package/esm2015/components/workstationgroup-lookup/index.js +3 -0
  130. package/esm2015/components/workstationgroup-lookup/lookup.service.js +142 -0
  131. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.component.js +587 -0
  132. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +48 -0
  133. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.module.js +21 -0
  134. package/esm2015/core/entities/entity-odata-parameter.js +33 -0
  135. package/esm2015/core/entities/index.js +2 -0
  136. package/esm2015/core/enums/companyIndicationType.js +18 -0
  137. package/esm2015/core/enums/comparetype.enumeration.js +14 -0
  138. package/esm2015/core/enums/coreFieldType.js +5 -0
  139. package/esm2015/core/enums/direction.enumeration.js +6 -0
  140. package/esm2015/core/enums/httpRequestType.js +6 -0
  141. package/esm2015/core/enums/index.js +14 -0
  142. package/esm2015/core/enums/menu-type.enumeration.js +6 -0
  143. package/esm2015/core/enums/moduleType.js +22 -0
  144. package/esm2015/core/enums/operators.enumeration.js +14 -0
  145. package/esm2015/core/enums/parameter-type.enumeration.js +12 -0
  146. package/esm2015/core/enums/report-format.enumeration.js +12 -0
  147. package/esm2015/core/enums/report-stage.enumeration.js +12 -0
  148. package/esm2015/core/enums/serviceType.js +9 -0
  149. package/esm2015/core/enums/usingType.js +42 -0
  150. package/esm2015/core/interfaces/date-compare-options.js +1 -0
  151. package/esm2015/core/interfaces/date-validate-options.js +1 -0
  152. package/esm2015/core/interfaces/field-validators-object.js +1 -0
  153. package/esm2015/core/interfaces/index.js +1 -0
  154. package/esm2015/core/interfaces/pagination-data.js +1 -0
  155. package/esm2015/core/interfaces/report/domain-service.interface.js +1 -0
  156. package/esm2015/core/interfaces/report/generation-status.interface.js +1 -0
  157. package/esm2015/core/interfaces/report/get-parameters-out.interface.js +1 -0
  158. package/esm2015/core/interfaces/report/index.js +1 -0
  159. package/esm2015/core/interfaces/report/lookup-parameter.interface.js +1 -0
  160. package/esm2015/core/interfaces/report/parameter-def.interface.js +1 -0
  161. package/esm2015/core/interfaces/report/parameter-value.interface.js +1 -0
  162. package/esm2015/core/interfaces/report/report-header.interface.js +1 -0
  163. package/esm2015/core/interfaces/report/report-in.interface.js +1 -0
  164. package/esm2015/core/interfaces/report/report-menu.interface.js +1 -0
  165. package/esm2015/core/interfaces/report/report-out.interface.js +1 -0
  166. package/esm2015/core/interfaces/report/report.interface.js +1 -0
  167. package/esm2015/public_api.js +52 -58
  168. package/esm2015/senior-gestao-pessoas-payroll-core.js +19 -24
  169. package/esm2015/services/autocomplete-parameters.service.js +116 -0
  170. package/esm2015/services/company-indications.service.js +42 -0
  171. package/esm2015/services/form-comparator.service.js +99 -0
  172. package/esm2015/services/integration.service.js +19 -0
  173. package/esm2015/services/lookup-parameters.service.js +345 -0
  174. package/esm2015/services/permissions.service.js +89 -0
  175. package/esm2015/services/report.service.js +109 -0
  176. package/esm2015/services/services.module.js +29 -0
  177. package/esm2015/services/workflow-data.service.js +26 -0
  178. package/esm2015/services/workflow-integrator.service.js +248 -0
  179. package/esm5/components/admission-draft-summary/admission-draft-summary.component.js +109 -0
  180. package/esm5/components/admission-draft-summary/admission-draft-summary.module.js +20 -0
  181. package/esm5/components/admission-draft-summary/admission-draft-summary.service.js +28 -0
  182. package/esm5/components/admission-draft-summary/index.js +4 -0
  183. package/esm5/components/block-ui/block-ui.component.js +22 -0
  184. package/esm5/components/block-ui/block-ui.module.js +28 -0
  185. package/esm5/components/block-ui/index.js +3 -0
  186. package/esm5/components/breadcrumb/breadcrumb.component.js +79 -0
  187. package/esm5/components/breadcrumb/breadcrumb.module.js +28 -0
  188. package/esm5/components/breadcrumb/index.js +3 -0
  189. package/esm5/components/control-messages-error/control-messages-error.component.js +34 -0
  190. package/esm5/components/control-messages-error/control-messages-error.module.js +20 -0
  191. package/esm5/components/control-messages-error/index.js +3 -0
  192. package/esm5/components/custom-fields/custom-fields.component.js +33 -0
  193. package/esm5/components/custom-fields/custom-fields.module.js +34 -0
  194. package/esm5/components/custom-fields/index.js +3 -0
  195. package/esm5/components/data-list/data-list.component.js +338 -0
  196. package/esm5/components/data-list/data-list.module.js +31 -0
  197. package/esm5/components/data-list/data-list.service.js +20 -0
  198. package/esm5/components/data-list/entity-odata-response.js +40 -0
  199. package/esm5/components/data-list/index.js +2 -0
  200. package/esm5/components/data-list-rest/data-list-rest.component.js +264 -0
  201. package/esm5/components/data-list-rest/data-list-rest.module.js +31 -0
  202. package/esm5/components/data-list-rest/data-list-rest.service.js +20 -0
  203. package/esm5/components/data-list-rest/index.js +2 -0
  204. package/esm5/components/directives/directives.module.js +20 -0
  205. package/esm5/components/directives/index.js +4 -0
  206. package/esm5/components/directives/name-not-spaces.directive.js +32 -0
  207. package/esm5/components/directives/only-number.directive.js +42 -0
  208. package/esm5/components/employee-selector/employee-selector.component.js +75 -0
  209. package/esm5/components/employee-selector/employee-selector.module.js +21 -0
  210. package/esm5/components/employee-selector/index.js +3 -0
  211. package/esm5/components/employee-summary/employee-summary.component.js +111 -0
  212. package/esm5/components/employee-summary/employee-summary.module.js +20 -0
  213. package/esm5/components/employee-summary/employee-summary.service.js +34 -0
  214. package/esm5/components/employee-summary/index.js +4 -0
  215. package/esm5/components/error-page/error-page.component.js +17 -0
  216. package/esm5/components/error-page/error-page.module.js +19 -0
  217. package/esm5/components/error-page/index.js +3 -0
  218. package/esm5/components/field-validator/field-validator.component.js +42 -0
  219. package/esm5/components/field-validator/field-validator.module.js +21 -0
  220. package/esm5/components/field-validator/index.js +3 -0
  221. package/esm5/components/file-upload/file-upload.component.js +138 -0
  222. package/esm5/components/file-upload/file-upload.module.js +22 -0
  223. package/esm5/components/file-upload/file-upload.service.js +45 -0
  224. package/esm5/components/file-upload/index.js +3 -0
  225. package/esm5/components/from-to/from-to.component.js +18 -0
  226. package/esm5/components/from-to/from-to.module.js +22 -0
  227. package/esm5/components/from-to/index.js +3 -0
  228. package/esm5/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +353 -0
  229. package/esm5/components/historical-bank-account/historical-bank-account.component.js +363 -0
  230. package/esm5/components/historical-bank-account/historical-bank-account.module.js +59 -0
  231. package/esm5/components/historical-bank-account/historical-bank-account.service.js +22 -0
  232. package/esm5/components/historical-bank-account/index.js +4 -0
  233. package/esm5/components/historical-bank-account-list/historical-bank-account-list.component.js +243 -0
  234. package/esm5/components/historical-bank-account-list/historical-bank-account-list.module.js +42 -0
  235. package/esm5/components/historical-bank-account-list/historical-bank-account-list.service.js +37 -0
  236. package/esm5/components/historical-bank-account-list/index.js +4 -0
  237. package/esm5/components/image-cropper/image-crop.component.js +164 -0
  238. package/esm5/components/image-cropper/image-crop.module.js +41 -0
  239. package/esm5/components/image-cropper/image-crop.service.js +106 -0
  240. package/esm5/components/image-cropper/index.js +4 -0
  241. package/esm5/components/input-date/index.js +3 -0
  242. package/esm5/components/input-date/input-date.component.js +129 -0
  243. package/esm5/components/input-date/input-date.module.js +20 -0
  244. package/esm5/components/input-date-model/index.js +3 -0
  245. package/esm5/components/input-date-model/input-date-model.component.js +110 -0
  246. package/esm5/components/input-date-model/input-date-model.module.js +20 -0
  247. package/esm5/components/input-rest-auto-complete/index.js +4 -0
  248. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +317 -0
  249. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.module.js +24 -0
  250. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.service.js +22 -0
  251. package/esm5/components/input-rest-auto-complete-employee/index.js +3 -0
  252. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +192 -0
  253. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +31 -0
  254. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +21 -0
  255. package/esm5/components/input-rest-auto-complete-employee-model/index.js +3 -0
  256. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +185 -0
  257. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +31 -0
  258. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +21 -0
  259. package/esm5/components/input-rest-auto-complete-enum/index.js +4 -0
  260. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +162 -0
  261. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +31 -0
  262. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +24 -0
  263. package/esm5/components/input-rest-auto-complete-jobposition/index.js +4 -0
  264. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +176 -0
  265. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +31 -0
  266. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +21 -0
  267. package/esm5/components/input-rest-auto-complete-model/index.js +3 -0
  268. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +234 -0
  269. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +31 -0
  270. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +22 -0
  271. package/esm5/components/input-rest-auto-complete-model-enum/index.js +3 -0
  272. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +130 -0
  273. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +31 -0
  274. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +24 -0
  275. package/esm5/components/list-rest/index.js +3 -0
  276. package/esm5/components/list-rest/list-rest.component.js +119 -0
  277. package/esm5/components/list-rest/list-rest.module.js +36 -0
  278. package/esm5/components/list-rest/list-rest.service.js +24 -0
  279. package/esm5/components/lookup/index.js +2 -0
  280. package/esm5/components/lookup/lookup.component.js +339 -0
  281. package/esm5/components/lookup/lookup.module.js +23 -0
  282. package/esm5/components/lookup/lookup.service.js +54 -0
  283. package/esm5/components/shared/http-client.service.js +179 -0
  284. package/esm5/components/shared/shared.module.js +22 -0
  285. package/esm5/components/spinner/index.js +3 -0
  286. package/esm5/components/spinner/spinner-loader.component.js +15 -0
  287. package/esm5/components/spinner/spinner-loader.module.js +26 -0
  288. package/esm5/components/toast/index.js +4 -0
  289. package/esm5/components/toast/toast.component.js +88 -0
  290. package/esm5/components/toast/toast.module.js +23 -0
  291. package/esm5/components/toast/toast.service.js +47 -0
  292. package/esm5/components/type-admission/index.js +3 -0
  293. package/esm5/components/type-admission/type-admission.module.js +17 -0
  294. package/esm5/components/type-admission/type-admission.services.js +75 -0
  295. package/esm5/components/utils/cnpj-validator.js +66 -0
  296. package/esm5/components/utils/cpf-validator.js +49 -0
  297. package/esm5/components/utils/date-validator/date-validators.js +149 -0
  298. package/esm5/components/utils/helpers.js +502 -0
  299. package/esm5/components/utils/validations.js +131 -0
  300. package/esm5/components/vanilla/string-methods.js +24 -0
  301. package/esm5/components/workstationgroup-lookup/autocomplete.service.js +124 -0
  302. package/esm5/components/workstationgroup-lookup/index.js +3 -0
  303. package/esm5/components/workstationgroup-lookup/lookup.service.js +147 -0
  304. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.component.js +609 -0
  305. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +50 -0
  306. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.module.js +24 -0
  307. package/esm5/core/entities/entity-odata-parameter.js +47 -0
  308. package/esm5/core/entities/index.js +2 -0
  309. package/esm5/core/enums/companyIndicationType.js +18 -0
  310. package/esm5/core/enums/comparetype.enumeration.js +14 -0
  311. package/esm5/core/enums/coreFieldType.js +5 -0
  312. package/esm5/core/enums/direction.enumeration.js +6 -0
  313. package/esm5/core/enums/httpRequestType.js +6 -0
  314. package/esm5/core/enums/index.js +14 -0
  315. package/esm5/core/enums/menu-type.enumeration.js +6 -0
  316. package/esm5/core/enums/moduleType.js +22 -0
  317. package/esm5/core/enums/operators.enumeration.js +14 -0
  318. package/esm5/core/enums/parameter-type.enumeration.js +12 -0
  319. package/esm5/core/enums/report-format.enumeration.js +12 -0
  320. package/esm5/core/enums/report-stage.enumeration.js +12 -0
  321. package/esm5/core/enums/serviceType.js +9 -0
  322. package/esm5/core/enums/usingType.js +42 -0
  323. package/esm5/core/interfaces/date-compare-options.js +1 -0
  324. package/esm5/core/interfaces/date-validate-options.js +1 -0
  325. package/esm5/core/interfaces/field-validators-object.js +1 -0
  326. package/esm5/core/interfaces/index.js +1 -0
  327. package/esm5/core/interfaces/pagination-data.js +1 -0
  328. package/esm5/core/interfaces/report/domain-service.interface.js +1 -0
  329. package/esm5/core/interfaces/report/generation-status.interface.js +1 -0
  330. package/esm5/core/interfaces/report/get-parameters-out.interface.js +1 -0
  331. package/esm5/core/interfaces/report/index.js +1 -0
  332. package/esm5/core/interfaces/report/lookup-parameter.interface.js +1 -0
  333. package/esm5/core/interfaces/report/parameter-def.interface.js +1 -0
  334. package/esm5/core/interfaces/report/parameter-value.interface.js +1 -0
  335. package/esm5/core/interfaces/report/report-header.interface.js +1 -0
  336. package/esm5/core/interfaces/report/report-in.interface.js +1 -0
  337. package/esm5/core/interfaces/report/report-menu.interface.js +1 -0
  338. package/esm5/core/interfaces/report/report-out.interface.js +1 -0
  339. package/esm5/core/interfaces/report/report.interface.js +1 -0
  340. package/esm5/public_api.js +52 -58
  341. package/esm5/senior-gestao-pessoas-payroll-core.js +19 -24
  342. package/esm5/services/autocomplete-parameters.service.js +129 -0
  343. package/esm5/services/company-indications.service.js +43 -0
  344. package/esm5/services/form-comparator.service.js +119 -0
  345. package/esm5/services/integration.service.js +20 -0
  346. package/esm5/services/lookup-parameters.service.js +362 -0
  347. package/esm5/services/permissions.service.js +100 -0
  348. package/esm5/services/report.service.js +110 -0
  349. package/esm5/services/services.module.js +32 -0
  350. package/esm5/services/workflow-data.service.js +27 -0
  351. package/esm5/services/workflow-integrator.service.js +361 -0
  352. package/fesm2015/senior-gestao-pessoas-payroll-core.js +2939 -8866
  353. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  354. package/fesm5/senior-gestao-pessoas-payroll-core.js +2999 -10876
  355. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  356. package/package.json +7 -1
  357. package/public_api.d.ts +52 -52
  358. package/senior-gestao-pessoas-payroll-core.d.ts +17 -17
  359. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
  360. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -203
  361. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -20
  362. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -59
  363. package/esm2015/lib/components/admission-draft-summary/index.js +0 -9
  364. package/esm2015/lib/components/block-ui/block-ui.component.js +0 -26
  365. package/esm2015/lib/components/block-ui/block-ui.module.js +0 -28
  366. package/esm2015/lib/components/block-ui/index.js +0 -8
  367. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -151
  368. package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +0 -28
  369. package/esm2015/lib/components/breadcrumb/index.js +0 -8
  370. package/esm2015/lib/components/control-messages-error/control-messages-error.component.js +0 -41
  371. package/esm2015/lib/components/control-messages-error/control-messages-error.module.js +0 -20
  372. package/esm2015/lib/components/control-messages-error/index.js +0 -8
  373. package/esm2015/lib/components/custom-fields/custom-fields.component.js +0 -65
  374. package/esm2015/lib/components/custom-fields/custom-fields.module.js +0 -34
  375. package/esm2015/lib/components/custom-fields/index.js +0 -8
  376. package/esm2015/lib/components/data-list/data-list.component.js +0 -456
  377. package/esm2015/lib/components/data-list/data-list.module.js +0 -31
  378. package/esm2015/lib/components/data-list/data-list.service.js +0 -38
  379. package/esm2015/lib/components/data-list/entity-odata-response.js +0 -72
  380. package/esm2015/lib/components/data-list/index.js +0 -7
  381. package/esm2015/lib/components/data-list-rest/data-list-rest.component.js +0 -354
  382. package/esm2015/lib/components/data-list-rest/data-list-rest.module.js +0 -31
  383. package/esm2015/lib/components/data-list-rest/data-list-rest.service.js +0 -38
  384. package/esm2015/lib/components/data-list-rest/index.js +0 -7
  385. package/esm2015/lib/components/directives/directives.module.js +0 -20
  386. package/esm2015/lib/components/directives/index.js +0 -9
  387. package/esm2015/lib/components/directives/name-not-spaces.directive.js +0 -59
  388. package/esm2015/lib/components/directives/only-number.directive.js +0 -60
  389. package/esm2015/lib/components/employee-selector/employee-selector.component.js +0 -145
  390. package/esm2015/lib/components/employee-selector/employee-selector.module.js +0 -21
  391. package/esm2015/lib/components/employee-selector/index.js +0 -8
  392. package/esm2015/lib/components/employee-summary/employee-summary.component.js +0 -200
  393. package/esm2015/lib/components/employee-summary/employee-summary.module.js +0 -20
  394. package/esm2015/lib/components/employee-summary/employee-summary.service.js +0 -74
  395. package/esm2015/lib/components/employee-summary/index.js +0 -9
  396. package/esm2015/lib/components/error-page/error-page.component.js +0 -23
  397. package/esm2015/lib/components/error-page/error-page.module.js +0 -19
  398. package/esm2015/lib/components/error-page/index.js +0 -8
  399. package/esm2015/lib/components/field-validator/field-validator.component.js +0 -64
  400. package/esm2015/lib/components/field-validator/field-validator.module.js +0 -21
  401. package/esm2015/lib/components/field-validator/index.js +0 -8
  402. package/esm2015/lib/components/file-upload/file-upload.component.js +0 -220
  403. package/esm2015/lib/components/file-upload/file-upload.module.js +0 -22
  404. package/esm2015/lib/components/file-upload/file-upload.service.js +0 -83
  405. package/esm2015/lib/components/file-upload/index.js +0 -8
  406. package/esm2015/lib/components/from-to/from-to.component.js +0 -25
  407. package/esm2015/lib/components/from-to/from-to.module.js +0 -22
  408. package/esm2015/lib/components/from-to/index.js +0 -8
  409. package/esm2015/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -514
  410. package/esm2015/lib/components/historical-bank-account/historical-bank-account.component.js +0 -542
  411. package/esm2015/lib/components/historical-bank-account/historical-bank-account.module.js +0 -59
  412. package/esm2015/lib/components/historical-bank-account/historical-bank-account.service.js +0 -40
  413. package/esm2015/lib/components/historical-bank-account/index.js +0 -9
  414. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -359
  415. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -42
  416. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -62
  417. package/esm2015/lib/components/historical-bank-account-list/index.js +0 -9
  418. package/esm2015/lib/components/image-cropper/image-crop.component.js +0 -248
  419. package/esm2015/lib/components/image-cropper/image-crop.module.js +0 -38
  420. package/esm2015/lib/components/image-cropper/image-crop.service.js +0 -164
  421. package/esm2015/lib/components/image-cropper/index.js +0 -9
  422. package/esm2015/lib/components/input-date/index.js +0 -8
  423. package/esm2015/lib/components/input-date/input-date.component.js +0 -189
  424. package/esm2015/lib/components/input-date/input-date.module.js +0 -20
  425. package/esm2015/lib/components/input-date-model/index.js +0 -8
  426. package/esm2015/lib/components/input-date-model/input-date-model.component.js +0 -169
  427. package/esm2015/lib/components/input-date-model/input-date-model.module.js +0 -20
  428. package/esm2015/lib/components/input-rest-auto-complete/index.js +0 -9
  429. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -444
  430. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -24
  431. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -40
  432. package/esm2015/lib/components/input-rest-auto-complete-employee/index.js +0 -8
  433. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -263
  434. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -31
  435. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -40
  436. package/esm2015/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
  437. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -253
  438. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -31
  439. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -40
  440. package/esm2015/lib/components/input-rest-auto-complete-enum/index.js +0 -9
  441. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -209
  442. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -31
  443. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -44
  444. package/esm2015/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
  445. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -254
  446. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -31
  447. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -40
  448. package/esm2015/lib/components/input-rest-auto-complete-model/index.js +0 -8
  449. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -331
  450. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -31
  451. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -40
  452. package/esm2015/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
  453. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -176
  454. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -31
  455. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -44
  456. package/esm2015/lib/components/list-rest/index.js +0 -8
  457. package/esm2015/lib/components/list-rest/list-rest.component.js +0 -192
  458. package/esm2015/lib/components/list-rest/list-rest.module.js +0 -36
  459. package/esm2015/lib/components/list-rest/list-rest.service.js +0 -48
  460. package/esm2015/lib/components/lookup/index.js +0 -7
  461. package/esm2015/lib/components/lookup/lookup.component.js +0 -471
  462. package/esm2015/lib/components/lookup/lookup.module.js +0 -23
  463. package/esm2015/lib/components/lookup/lookup.service.js +0 -91
  464. package/esm2015/lib/components/shared/http-client.service.js +0 -293
  465. package/esm2015/lib/components/shared/shared.module.js +0 -26
  466. package/esm2015/lib/components/spinner/index.js +0 -8
  467. package/esm2015/lib/components/spinner/spinner-loader.component.js +0 -15
  468. package/esm2015/lib/components/spinner/spinner-loader.module.js +0 -26
  469. package/esm2015/lib/components/toast/index.js +0 -9
  470. package/esm2015/lib/components/toast/toast.component.js +0 -156
  471. package/esm2015/lib/components/toast/toast.module.js +0 -23
  472. package/esm2015/lib/components/toast/toast.service.js +0 -76
  473. package/esm2015/lib/components/type-admission/index.js +0 -8
  474. package/esm2015/lib/components/type-admission/type-admission.module.js +0 -17
  475. package/esm2015/lib/components/type-admission/type-admission.services.js +0 -135
  476. package/esm2015/lib/components/utils/cnpj-validator.js +0 -82
  477. package/esm2015/lib/components/utils/cpf-validator.js +0 -76
  478. package/esm2015/lib/components/utils/date-validator/date-validators.js +0 -184
  479. package/esm2015/lib/components/utils/helpers.js +0 -737
  480. package/esm2015/lib/components/utils/validations.js +0 -237
  481. package/esm2015/lib/components/vanilla/string-methods.js +0 -37
  482. package/esm2015/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -175
  483. package/esm2015/lib/components/workstationgroup-lookup/index.js +0 -8
  484. package/esm2015/lib/components/workstationgroup-lookup/lookup.service.js +0 -254
  485. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -832
  486. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -193
  487. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -24
  488. package/esm2015/lib/core/entities/entity-odata-parameter.js +0 -82
  489. package/esm2015/lib/core/entities/index.js +0 -7
  490. package/esm2015/lib/core/enums/companyIndicationType.js +0 -24
  491. package/esm2015/lib/core/enums/comparetype.enumeration.js +0 -16
  492. package/esm2015/lib/core/enums/coreFieldType.js +0 -11
  493. package/esm2015/lib/core/enums/direction.enumeration.js +0 -12
  494. package/esm2015/lib/core/enums/httpRequestType.js +0 -12
  495. package/esm2015/lib/core/enums/index.js +0 -19
  496. package/esm2015/lib/core/enums/menu-type.enumeration.js +0 -12
  497. package/esm2015/lib/core/enums/moduleType.js +0 -28
  498. package/esm2015/lib/core/enums/operators.enumeration.js +0 -20
  499. package/esm2015/lib/core/enums/parameter-type.enumeration.js +0 -18
  500. package/esm2015/lib/core/enums/report-format.enumeration.js +0 -18
  501. package/esm2015/lib/core/enums/report-stage.enumeration.js +0 -18
  502. package/esm2015/lib/core/enums/serviceType.js +0 -15
  503. package/esm2015/lib/core/enums/usingType.js +0 -48
  504. package/esm2015/lib/core/interfaces/date-compare-options.js +0 -19
  505. package/esm2015/lib/core/interfaces/date-validate-options.js +0 -17
  506. package/esm2015/lib/core/interfaces/field-validators-object.js +0 -20
  507. package/esm2015/lib/core/interfaces/index.js +0 -10
  508. package/esm2015/lib/core/interfaces/pagination-data.js +0 -18
  509. package/esm2015/lib/core/interfaces/report/domain-service.interface.js +0 -16
  510. package/esm2015/lib/core/interfaces/report/generation-status.interface.js +0 -22
  511. package/esm2015/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
  512. package/esm2015/lib/core/interfaces/report/index.js +0 -15
  513. package/esm2015/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
  514. package/esm2015/lib/core/interfaces/report/parameter-def.interface.js +0 -20
  515. package/esm2015/lib/core/interfaces/report/parameter-value.interface.js +0 -16
  516. package/esm2015/lib/core/interfaces/report/report-header.interface.js +0 -16
  517. package/esm2015/lib/core/interfaces/report/report-in.interface.js +0 -20
  518. package/esm2015/lib/core/interfaces/report/report-menu.interface.js +0 -18
  519. package/esm2015/lib/core/interfaces/report/report-out.interface.js +0 -14
  520. package/esm2015/lib/core/interfaces/report/report.interface.js +0 -48
  521. package/esm2015/lib/services/autocomplete-parameters.service.js +0 -180
  522. package/esm2015/lib/services/company-indications.service.js +0 -101
  523. package/esm2015/lib/services/form-comparator.service.js +0 -208
  524. package/esm2015/lib/services/integration.service.js +0 -37
  525. package/esm2015/lib/services/lookup-parameters.service.js +0 -557
  526. package/esm2015/lib/services/permissions.service.js +0 -218
  527. package/esm2015/lib/services/report.service.js +0 -161
  528. package/esm2015/lib/services/services.module.js +0 -32
  529. package/esm2015/lib/services/workflow-data.service.js +0 -57
  530. package/esm2015/lib/services/workflow-integrator.service.js +0 -416
  531. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -214
  532. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -24
  533. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -71
  534. package/esm5/lib/components/admission-draft-summary/index.js +0 -9
  535. package/esm5/lib/components/block-ui/block-ui.component.js +0 -30
  536. package/esm5/lib/components/block-ui/block-ui.module.js +0 -32
  537. package/esm5/lib/components/block-ui/index.js +0 -8
  538. package/esm5/lib/components/breadcrumb/breadcrumb.component.js +0 -170
  539. package/esm5/lib/components/breadcrumb/breadcrumb.module.js +0 -32
  540. package/esm5/lib/components/breadcrumb/index.js +0 -8
  541. package/esm5/lib/components/control-messages-error/control-messages-error.component.js +0 -48
  542. package/esm5/lib/components/control-messages-error/control-messages-error.module.js +0 -24
  543. package/esm5/lib/components/control-messages-error/index.js +0 -8
  544. package/esm5/lib/components/custom-fields/custom-fields.component.js +0 -70
  545. package/esm5/lib/components/custom-fields/custom-fields.module.js +0 -38
  546. package/esm5/lib/components/custom-fields/index.js +0 -8
  547. package/esm5/lib/components/data-list/data-list.component.js +0 -557
  548. package/esm5/lib/components/data-list/data-list.module.js +0 -35
  549. package/esm5/lib/components/data-list/data-list.service.js +0 -42
  550. package/esm5/lib/components/data-list/entity-odata-response.js +0 -83
  551. package/esm5/lib/components/data-list/index.js +0 -7
  552. package/esm5/lib/components/data-list-rest/data-list-rest.component.js +0 -414
  553. package/esm5/lib/components/data-list-rest/data-list-rest.module.js +0 -35
  554. package/esm5/lib/components/data-list-rest/data-list-rest.service.js +0 -42
  555. package/esm5/lib/components/data-list-rest/index.js +0 -7
  556. package/esm5/lib/components/directives/directives.module.js +0 -24
  557. package/esm5/lib/components/directives/index.js +0 -9
  558. package/esm5/lib/components/directives/name-not-spaces.directive.js +0 -66
  559. package/esm5/lib/components/directives/only-number.directive.js +0 -63
  560. package/esm5/lib/components/employee-selector/employee-selector.component.js +0 -168
  561. package/esm5/lib/components/employee-selector/employee-selector.module.js +0 -25
  562. package/esm5/lib/components/employee-selector/index.js +0 -8
  563. package/esm5/lib/components/employee-summary/employee-summary.component.js +0 -212
  564. package/esm5/lib/components/employee-summary/employee-summary.module.js +0 -24
  565. package/esm5/lib/components/employee-summary/employee-summary.service.js +0 -95
  566. package/esm5/lib/components/employee-summary/index.js +0 -9
  567. package/esm5/lib/components/error-page/error-page.component.js +0 -29
  568. package/esm5/lib/components/error-page/error-page.module.js +0 -23
  569. package/esm5/lib/components/error-page/index.js +0 -8
  570. package/esm5/lib/components/field-validator/field-validator.component.js +0 -74
  571. package/esm5/lib/components/field-validator/field-validator.module.js +0 -25
  572. package/esm5/lib/components/field-validator/index.js +0 -8
  573. package/esm5/lib/components/file-upload/file-upload.component.js +0 -261
  574. package/esm5/lib/components/file-upload/file-upload.module.js +0 -26
  575. package/esm5/lib/components/file-upload/file-upload.service.js +0 -99
  576. package/esm5/lib/components/file-upload/index.js +0 -8
  577. package/esm5/lib/components/from-to/from-to.component.js +0 -28
  578. package/esm5/lib/components/from-to/from-to.module.js +0 -26
  579. package/esm5/lib/components/from-to/index.js +0 -8
  580. package/esm5/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -657
  581. package/esm5/lib/components/historical-bank-account/historical-bank-account.component.js +0 -624
  582. package/esm5/lib/components/historical-bank-account/historical-bank-account.module.js +0 -63
  583. package/esm5/lib/components/historical-bank-account/historical-bank-account.service.js +0 -46
  584. package/esm5/lib/components/historical-bank-account/index.js +0 -9
  585. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -402
  586. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -46
  587. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -68
  588. package/esm5/lib/components/historical-bank-account-list/index.js +0 -9
  589. package/esm5/lib/components/image-cropper/image-crop.component.js +0 -287
  590. package/esm5/lib/components/image-cropper/image-crop.module.js +0 -39
  591. package/esm5/lib/components/image-cropper/image-crop.service.js +0 -221
  592. package/esm5/lib/components/image-cropper/index.js +0 -9
  593. package/esm5/lib/components/input-date/index.js +0 -8
  594. package/esm5/lib/components/input-date/input-date.component.js +0 -218
  595. package/esm5/lib/components/input-date/input-date.module.js +0 -24
  596. package/esm5/lib/components/input-date-model/index.js +0 -8
  597. package/esm5/lib/components/input-date-model/input-date-model.component.js +0 -190
  598. package/esm5/lib/components/input-date-model/input-date-model.module.js +0 -24
  599. package/esm5/lib/components/input-rest-auto-complete/index.js +0 -9
  600. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -497
  601. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -28
  602. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -46
  603. package/esm5/lib/components/input-rest-auto-complete-employee/index.js +0 -8
  604. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -300
  605. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -35
  606. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -44
  607. package/esm5/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
  608. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -291
  609. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -35
  610. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -44
  611. package/esm5/lib/components/input-rest-auto-complete-enum/index.js +0 -9
  612. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -252
  613. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -35
  614. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -48
  615. package/esm5/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
  616. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -302
  617. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -35
  618. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -44
  619. package/esm5/lib/components/input-rest-auto-complete-model/index.js +0 -8
  620. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -379
  621. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -35
  622. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -46
  623. package/esm5/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
  624. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -206
  625. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -35
  626. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -48
  627. package/esm5/lib/components/list-rest/index.js +0 -8
  628. package/esm5/lib/components/list-rest/list-rest.component.js +0 -219
  629. package/esm5/lib/components/list-rest/list-rest.module.js +0 -40
  630. package/esm5/lib/components/list-rest/list-rest.service.js +0 -57
  631. package/esm5/lib/components/lookup/index.js +0 -7
  632. package/esm5/lib/components/lookup/lookup.component.js +0 -600
  633. package/esm5/lib/components/lookup/lookup.module.js +0 -27
  634. package/esm5/lib/components/lookup/lookup.service.js +0 -94
  635. package/esm5/lib/components/shared/http-client.service.js +0 -355
  636. package/esm5/lib/components/shared/shared.module.js +0 -28
  637. package/esm5/lib/components/spinner/index.js +0 -8
  638. package/esm5/lib/components/spinner/spinner-loader.component.js +0 -19
  639. package/esm5/lib/components/spinner/spinner-loader.module.js +0 -30
  640. package/esm5/lib/components/toast/index.js +0 -9
  641. package/esm5/lib/components/toast/toast.component.js +0 -173
  642. package/esm5/lib/components/toast/toast.module.js +0 -27
  643. package/esm5/lib/components/toast/toast.service.js +0 -123
  644. package/esm5/lib/components/type-admission/index.js +0 -8
  645. package/esm5/lib/components/type-admission/type-admission.module.js +0 -21
  646. package/esm5/lib/components/type-admission/type-admission.services.js +0 -191
  647. package/esm5/lib/components/utils/cnpj-validator.js +0 -94
  648. package/esm5/lib/components/utils/cpf-validator.js +0 -98
  649. package/esm5/lib/components/utils/date-validator/date-validators.js +0 -289
  650. package/esm5/lib/components/utils/helpers.js +0 -763
  651. package/esm5/lib/components/utils/validations.js +0 -241
  652. package/esm5/lib/components/vanilla/string-methods.js +0 -42
  653. package/esm5/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -250
  654. package/esm5/lib/components/workstationgroup-lookup/index.js +0 -8
  655. package/esm5/lib/components/workstationgroup-lookup/lookup.service.js +0 -318
  656. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -908
  657. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -200
  658. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -28
  659. package/esm5/lib/core/entities/entity-odata-parameter.js +0 -96
  660. package/esm5/lib/core/entities/index.js +0 -7
  661. package/esm5/lib/core/enums/companyIndicationType.js +0 -24
  662. package/esm5/lib/core/enums/comparetype.enumeration.js +0 -16
  663. package/esm5/lib/core/enums/coreFieldType.js +0 -11
  664. package/esm5/lib/core/enums/direction.enumeration.js +0 -12
  665. package/esm5/lib/core/enums/httpRequestType.js +0 -12
  666. package/esm5/lib/core/enums/index.js +0 -19
  667. package/esm5/lib/core/enums/menu-type.enumeration.js +0 -12
  668. package/esm5/lib/core/enums/moduleType.js +0 -28
  669. package/esm5/lib/core/enums/operators.enumeration.js +0 -20
  670. package/esm5/lib/core/enums/parameter-type.enumeration.js +0 -18
  671. package/esm5/lib/core/enums/report-format.enumeration.js +0 -18
  672. package/esm5/lib/core/enums/report-stage.enumeration.js +0 -18
  673. package/esm5/lib/core/enums/serviceType.js +0 -15
  674. package/esm5/lib/core/enums/usingType.js +0 -48
  675. package/esm5/lib/core/interfaces/date-compare-options.js +0 -19
  676. package/esm5/lib/core/interfaces/date-validate-options.js +0 -17
  677. package/esm5/lib/core/interfaces/field-validators-object.js +0 -20
  678. package/esm5/lib/core/interfaces/index.js +0 -10
  679. package/esm5/lib/core/interfaces/pagination-data.js +0 -18
  680. package/esm5/lib/core/interfaces/report/domain-service.interface.js +0 -16
  681. package/esm5/lib/core/interfaces/report/generation-status.interface.js +0 -22
  682. package/esm5/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
  683. package/esm5/lib/core/interfaces/report/index.js +0 -15
  684. package/esm5/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
  685. package/esm5/lib/core/interfaces/report/parameter-def.interface.js +0 -20
  686. package/esm5/lib/core/interfaces/report/parameter-value.interface.js +0 -16
  687. package/esm5/lib/core/interfaces/report/report-header.interface.js +0 -16
  688. package/esm5/lib/core/interfaces/report/report-in.interface.js +0 -20
  689. package/esm5/lib/core/interfaces/report/report-menu.interface.js +0 -18
  690. package/esm5/lib/core/interfaces/report/report-out.interface.js +0 -14
  691. package/esm5/lib/core/interfaces/report/report.interface.js +0 -48
  692. package/esm5/lib/services/autocomplete-parameters.service.js +0 -255
  693. package/esm5/lib/services/company-indications.service.js +0 -126
  694. package/esm5/lib/services/form-comparator.service.js +0 -278
  695. package/esm5/lib/services/integration.service.js +0 -40
  696. package/esm5/lib/services/lookup-parameters.service.js +0 -748
  697. package/esm5/lib/services/permissions.service.js +0 -253
  698. package/esm5/lib/services/report.service.js +0 -231
  699. package/esm5/lib/services/services.module.js +0 -36
  700. package/esm5/lib/services/workflow-data.service.js +0 -73
  701. package/esm5/lib/services/workflow-integrator.service.js +0 -715
  702. package/lib/components/workstationgroup-lookup/autocomplete.service.d.ts +0 -31
  703. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.component.d.ts +0 -0
  704. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.module.d.ts +0 -0
  705. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.service.d.ts +0 -0
  706. /package/{lib/components → components}/admission-draft-summary/index.d.ts +0 -0
  707. /package/{lib/components → components}/block-ui/block-ui.component.d.ts +0 -0
  708. /package/{lib/components → components}/block-ui/block-ui.module.d.ts +0 -0
  709. /package/{lib/components → components}/block-ui/index.d.ts +0 -0
  710. /package/{lib/components → components}/breadcrumb/breadcrumb.component.d.ts +0 -0
  711. /package/{lib/components → components}/breadcrumb/breadcrumb.module.d.ts +0 -0
  712. /package/{lib/components → components}/breadcrumb/index.d.ts +0 -0
  713. /package/{lib/components → components}/control-messages-error/control-messages-error.component.d.ts +0 -0
  714. /package/{lib/components → components}/control-messages-error/control-messages-error.module.d.ts +0 -0
  715. /package/{lib/components → components}/control-messages-error/index.d.ts +0 -0
  716. /package/{lib/components → components}/custom-fields/custom-fields.component.d.ts +0 -0
  717. /package/{lib/components → components}/custom-fields/custom-fields.module.d.ts +0 -0
  718. /package/{lib/components → components}/custom-fields/index.d.ts +0 -0
  719. /package/{lib/components → components}/data-list/data-list.component.d.ts +0 -0
  720. /package/{lib/components → components}/data-list/data-list.module.d.ts +0 -0
  721. /package/{lib/components → components}/data-list/data-list.service.d.ts +0 -0
  722. /package/{lib/components → components}/data-list/entity-odata-response.d.ts +0 -0
  723. /package/{lib/components → components}/data-list/index.d.ts +0 -0
  724. /package/{lib/components → components}/data-list-rest/data-list-rest.component.d.ts +0 -0
  725. /package/{lib/components → components}/data-list-rest/data-list-rest.module.d.ts +0 -0
  726. /package/{lib/components → components}/data-list-rest/data-list-rest.service.d.ts +0 -0
  727. /package/{lib/components → components}/data-list-rest/index.d.ts +0 -0
  728. /package/{lib/components → components}/directives/directives.module.d.ts +0 -0
  729. /package/{lib/components → components}/directives/index.d.ts +0 -0
  730. /package/{lib/components → components}/directives/name-not-spaces.directive.d.ts +0 -0
  731. /package/{lib/components → components}/directives/only-number.directive.d.ts +0 -0
  732. /package/{lib/components → components}/employee-selector/employee-selector.component.d.ts +0 -0
  733. /package/{lib/components → components}/employee-selector/employee-selector.module.d.ts +0 -0
  734. /package/{lib/components → components}/employee-selector/index.d.ts +0 -0
  735. /package/{lib/components → components}/employee-summary/employee-summary.component.d.ts +0 -0
  736. /package/{lib/components → components}/employee-summary/employee-summary.module.d.ts +0 -0
  737. /package/{lib/components → components}/employee-summary/employee-summary.service.d.ts +0 -0
  738. /package/{lib/components → components}/employee-summary/index.d.ts +0 -0
  739. /package/{lib/components → components}/error-page/error-page.component.d.ts +0 -0
  740. /package/{lib/components → components}/error-page/error-page.module.d.ts +0 -0
  741. /package/{lib/components → components}/error-page/index.d.ts +0 -0
  742. /package/{lib/components → components}/field-validator/field-validator.component.d.ts +0 -0
  743. /package/{lib/components → components}/field-validator/field-validator.module.d.ts +0 -0
  744. /package/{lib/components → components}/field-validator/index.d.ts +0 -0
  745. /package/{lib/components → components}/file-upload/file-upload.component.d.ts +0 -0
  746. /package/{lib/components → components}/file-upload/file-upload.module.d.ts +0 -0
  747. /package/{lib/components → components}/file-upload/file-upload.service.d.ts +0 -0
  748. /package/{lib/components → components}/file-upload/index.d.ts +0 -0
  749. /package/{lib/components → components}/from-to/from-to.component.d.ts +0 -0
  750. /package/{lib/components → components}/from-to/from-to.module.d.ts +0 -0
  751. /package/{lib/components → components}/from-to/index.d.ts +0 -0
  752. /package/{lib/components → components}/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.d.ts +0 -0
  753. /package/{lib/components → components}/historical-bank-account/historical-bank-account.component.d.ts +0 -0
  754. /package/{lib/components → components}/historical-bank-account/historical-bank-account.module.d.ts +0 -0
  755. /package/{lib/components → components}/historical-bank-account/historical-bank-account.service.d.ts +0 -0
  756. /package/{lib/components → components}/historical-bank-account/index.d.ts +0 -0
  757. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.component.d.ts +0 -0
  758. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.module.d.ts +0 -0
  759. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.service.d.ts +0 -0
  760. /package/{lib/components → components}/historical-bank-account-list/index.d.ts +0 -0
  761. /package/{lib/components → components}/image-cropper/image-crop.component.d.ts +0 -0
  762. /package/{lib/components → components}/image-cropper/image-crop.module.d.ts +0 -0
  763. /package/{lib/components → components}/image-cropper/image-crop.service.d.ts +0 -0
  764. /package/{lib/components → components}/image-cropper/index.d.ts +0 -0
  765. /package/{lib/components → components}/input-date/index.d.ts +0 -0
  766. /package/{lib/components → components}/input-date/input-date.component.d.ts +0 -0
  767. /package/{lib/components → components}/input-date/input-date.module.d.ts +0 -0
  768. /package/{lib/components → components}/input-date-model/index.d.ts +0 -0
  769. /package/{lib/components → components}/input-date-model/input-date-model.component.d.ts +0 -0
  770. /package/{lib/components → components}/input-date-model/input-date-model.module.d.ts +0 -0
  771. /package/{lib/components → components}/input-rest-auto-complete/index.d.ts +0 -0
  772. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +0 -0
  773. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.module.d.ts +0 -0
  774. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.service.d.ts +0 -0
  775. /package/{lib/components → components}/input-rest-auto-complete-employee/index.d.ts +0 -0
  776. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.d.ts +0 -0
  777. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.d.ts +0 -0
  778. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.d.ts +0 -0
  779. /package/{lib/components → components}/input-rest-auto-complete-employee-model/index.d.ts +0 -0
  780. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.d.ts +0 -0
  781. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.d.ts +0 -0
  782. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.d.ts +0 -0
  783. /package/{lib/components → components}/input-rest-auto-complete-enum/index.d.ts +0 -0
  784. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.d.ts +0 -0
  785. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.d.ts +0 -0
  786. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.d.ts +0 -0
  787. /package/{lib/components → components}/input-rest-auto-complete-jobposition/index.d.ts +0 -0
  788. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.d.ts +0 -0
  789. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.d.ts +0 -0
  790. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.d.ts +0 -0
  791. /package/{lib/components → components}/input-rest-auto-complete-model/index.d.ts +0 -0
  792. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.component.d.ts +0 -0
  793. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.module.d.ts +0 -0
  794. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.service.d.ts +0 -0
  795. /package/{lib/components → components}/input-rest-auto-complete-model-enum/index.d.ts +0 -0
  796. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.d.ts +0 -0
  797. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.d.ts +0 -0
  798. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.d.ts +0 -0
  799. /package/{lib/components → components}/list-rest/index.d.ts +0 -0
  800. /package/{lib/components → components}/list-rest/list-rest.component.d.ts +0 -0
  801. /package/{lib/components → components}/list-rest/list-rest.module.d.ts +0 -0
  802. /package/{lib/components → components}/list-rest/list-rest.service.d.ts +0 -0
  803. /package/{lib/components → components}/lookup/index.d.ts +0 -0
  804. /package/{lib/components → components}/lookup/lookup.component.d.ts +0 -0
  805. /package/{lib/components → components}/lookup/lookup.module.d.ts +0 -0
  806. /package/{lib/components → components}/lookup/lookup.service.d.ts +0 -0
  807. /package/{lib/components → components}/shared/http-client.service.d.ts +0 -0
  808. /package/{lib/components → components}/shared/shared.module.d.ts +0 -0
  809. /package/{lib/components → components}/spinner/index.d.ts +0 -0
  810. /package/{lib/components → components}/spinner/spinner-loader.component.d.ts +0 -0
  811. /package/{lib/components → components}/spinner/spinner-loader.module.d.ts +0 -0
  812. /package/{lib/components → components}/toast/index.d.ts +0 -0
  813. /package/{lib/components → components}/toast/toast.component.d.ts +0 -0
  814. /package/{lib/components → components}/toast/toast.module.d.ts +0 -0
  815. /package/{lib/components → components}/toast/toast.service.d.ts +0 -0
  816. /package/{lib/components → components}/type-admission/index.d.ts +0 -0
  817. /package/{lib/components → components}/type-admission/type-admission.module.d.ts +0 -0
  818. /package/{lib/components → components}/type-admission/type-admission.services.d.ts +0 -0
  819. /package/{lib/components → components}/utils/cnpj-validator.d.ts +0 -0
  820. /package/{lib/components → components}/utils/cpf-validator.d.ts +0 -0
  821. /package/{lib/components → components}/utils/date-validator/date-validators.d.ts +0 -0
  822. /package/{lib/components → components}/utils/helpers.d.ts +0 -0
  823. /package/{lib/components → components}/utils/validations.d.ts +0 -0
  824. /package/{lib/components → components}/vanilla/string-methods.d.ts +0 -0
  825. /package/{lib/components → components}/workstationgroup-lookup/index.d.ts +0 -0
  826. /package/{lib/components → components}/workstationgroup-lookup/lookup.service.d.ts +0 -0
  827. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.component.d.ts +0 -0
  828. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.dto.d.ts +0 -0
  829. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.module.d.ts +0 -0
  830. /package/{lib/core → core}/entities/entity-odata-parameter.d.ts +0 -0
  831. /package/{lib/core → core}/entities/index.d.ts +0 -0
  832. /package/{lib/core → core}/enums/companyIndicationType.d.ts +0 -0
  833. /package/{lib/core → core}/enums/comparetype.enumeration.d.ts +0 -0
  834. /package/{lib/core → core}/enums/coreFieldType.d.ts +0 -0
  835. /package/{lib/core → core}/enums/direction.enumeration.d.ts +0 -0
  836. /package/{lib/core → core}/enums/httpRequestType.d.ts +0 -0
  837. /package/{lib/core → core}/enums/index.d.ts +0 -0
  838. /package/{lib/core → core}/enums/menu-type.enumeration.d.ts +0 -0
  839. /package/{lib/core → core}/enums/moduleType.d.ts +0 -0
  840. /package/{lib/core → core}/enums/operators.enumeration.d.ts +0 -0
  841. /package/{lib/core → core}/enums/parameter-type.enumeration.d.ts +0 -0
  842. /package/{lib/core → core}/enums/report-format.enumeration.d.ts +0 -0
  843. /package/{lib/core → core}/enums/report-stage.enumeration.d.ts +0 -0
  844. /package/{lib/core → core}/enums/serviceType.d.ts +0 -0
  845. /package/{lib/core → core}/enums/usingType.d.ts +0 -0
  846. /package/{lib/core → core}/interfaces/date-compare-options.d.ts +0 -0
  847. /package/{lib/core → core}/interfaces/date-validate-options.d.ts +0 -0
  848. /package/{lib/core → core}/interfaces/field-validators-object.d.ts +0 -0
  849. /package/{lib/core → core}/interfaces/index.d.ts +0 -0
  850. /package/{lib/core → core}/interfaces/pagination-data.d.ts +0 -0
  851. /package/{lib/core → core}/interfaces/report/domain-service.interface.d.ts +0 -0
  852. /package/{lib/core → core}/interfaces/report/generation-status.interface.d.ts +0 -0
  853. /package/{lib/core → core}/interfaces/report/get-parameters-out.interface.d.ts +0 -0
  854. /package/{lib/core → core}/interfaces/report/index.d.ts +0 -0
  855. /package/{lib/core → core}/interfaces/report/lookup-parameter.interface.d.ts +0 -0
  856. /package/{lib/core → core}/interfaces/report/parameter-def.interface.d.ts +0 -0
  857. /package/{lib/core → core}/interfaces/report/parameter-value.interface.d.ts +0 -0
  858. /package/{lib/core → core}/interfaces/report/report-header.interface.d.ts +0 -0
  859. /package/{lib/core → core}/interfaces/report/report-in.interface.d.ts +0 -0
  860. /package/{lib/core → core}/interfaces/report/report-menu.interface.d.ts +0 -0
  861. /package/{lib/core → core}/interfaces/report/report-out.interface.d.ts +0 -0
  862. /package/{lib/core → core}/interfaces/report/report.interface.d.ts +0 -0
  863. /package/{lib/services → services}/autocomplete-parameters.service.d.ts +0 -0
  864. /package/{lib/services → services}/company-indications.service.d.ts +0 -0
  865. /package/{lib/services → services}/form-comparator.service.d.ts +0 -0
  866. /package/{lib/services → services}/integration.service.d.ts +0 -0
  867. /package/{lib/services → services}/lookup-parameters.service.d.ts +0 -0
  868. /package/{lib/services → services}/permissions.service.d.ts +0 -0
  869. /package/{lib/services → services}/report.service.d.ts +0 -0
  870. /package/{lib/services → services}/services.module.d.ts +0 -0
  871. /package/{lib/services → services}/workflow-data.service.d.ts +0 -0
  872. /package/{lib/services → services}/workflow-integrator.service.d.ts +0 -0
@@ -0,0 +1,587 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Component, OnDestroy, OnInit, ViewChild, ElementRef, Input, Output, EventEmitter, AfterViewInit, ChangeDetectorRef, } from "@angular/core";
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { FieldType, FormField } from "@seniorsistemas/angular-components";
5
+ import * as moment_ from "moment";
6
+ import { now } from "moment";
7
+ import { Subject, BehaviorSubject } from "rxjs";
8
+ import { takeUntil } from "rxjs/operators";
9
+ import { ServiceType } from "../../core/enums";
10
+ import { invertFieldDate, getNowDate } from "../utils/helpers";
11
+ import { AutocompleteService } from "./autocomplete.service";
12
+ import { LookupService } from "./lookup.service";
13
+ import { WorkstationgroupLookupDto } from "./workstationgroup-lookup.dto";
14
+ const moment = moment_;
15
+ let WorkstationgroupLookupComponent = class WorkstationgroupLookupComponent {
16
+ constructor(translate, cd, autocompleteParametersService, lookupParametersService) {
17
+ this.translate = translate;
18
+ this.cd = cd;
19
+ this.autocompleteParametersService = autocompleteParametersService;
20
+ this.lookupParametersService = lookupParametersService;
21
+ this.currentCompanyId = null;
22
+ this.currentCompanyName = null;
23
+ this.onSelect = new EventEmitter();
24
+ this.onClear = new EventEmitter();
25
+ this.onBlur = new EventEmitter();
26
+ this.companyBranchId = null;
27
+ this.lookupSuggestions = [];
28
+ this.searchGridData = [];
29
+ this.suggestionsObservable = new BehaviorSubject([]);
30
+ this.totalRecords = 0;
31
+ this.valueEnumShift = [
32
+ {
33
+ label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_FIRST_SHIFT"),
34
+ value: "0",
35
+ enum: "FIRST_SHIFT",
36
+ },
37
+ {
38
+ label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_SECOND_SHIFT"),
39
+ value: "1",
40
+ enum: "SECOND_SHIFT",
41
+ },
42
+ {
43
+ label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_THIRD_SHIFT"),
44
+ value: "2",
45
+ enum: "THIRD_SHIFT",
46
+ },
47
+ {
48
+ label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_FOURTH_SHIFT"),
49
+ value: "3",
50
+ enum: "FOURTH_SHIFT",
51
+ },
52
+ {
53
+ label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_MIXED"),
54
+ value: "4",
55
+ enum: "MIXED",
56
+ },
57
+ {
58
+ label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_GENERAL"),
59
+ value: "5",
60
+ enum: "GENERAL",
61
+ },
62
+ ];
63
+ this.concatFieldsName = [
64
+ new FormField({
65
+ name: "code",
66
+ label: this.translate.instant("hcm.payroll.code"),
67
+ type: FieldType.String,
68
+ }),
69
+ new FormField({
70
+ name: "name",
71
+ label: this.translate.instant("hcm.payroll.employees_addition_workstation"),
72
+ type: FieldType.String,
73
+ }),
74
+ ];
75
+ this.concatName = [
76
+ new FormField({
77
+ name: "code",
78
+ label: this.translate.instant("hcm.payroll.code"),
79
+ type: FieldType.String,
80
+ }),
81
+ ];
82
+ this.gridFields = [
83
+ new FormField({
84
+ name: "name",
85
+ label: this.translate.instant("hcm.payroll.employees_addition_workstation"),
86
+ type: FieldType.String,
87
+ }),
88
+ new FormField({
89
+ name: "manager",
90
+ label: this.translate.instant("hcm.payroll.workstation_form_lookup_search_manager_label"),
91
+ type: FieldType.String,
92
+ }),
93
+ ];
94
+ this.searchFields = [
95
+ ...this.concatName,
96
+ {
97
+ name: "name",
98
+ label: this.translate.instant("hcm.payroll.movimentation_name"),
99
+ type: FieldType.String,
100
+ },
101
+ {
102
+ name: "headoffice",
103
+ type: FieldType.Autocomplete,
104
+ label: this.translate.instant("hcm.payroll.employees_company"),
105
+ dataKey: "id",
106
+ appendTo: "body",
107
+ fullWidth: true,
108
+ suggestionsObservable: this.suggestionsObservable,
109
+ displayField: "companyname",
110
+ },
111
+ {
112
+ name: "branchoffice",
113
+ type: FieldType.Autocomplete,
114
+ label: this.translate.instant("hcm.payroll.employees_addition_branch"),
115
+ dataKey: "id",
116
+ appendTo: "body",
117
+ fullWidth: true,
118
+ onRemove: () => this.companyBranchId = null,
119
+ onSelect: ({ id }) => this.companyBranchId = id,
120
+ onSearch: (val) => {
121
+ this.getAutocomplete("company", val ? { companyname: val, code: val } : null, "code", "companyname", { headquarter: this.currentCompanyId ? this.currentCompanyId : "not null" });
122
+ },
123
+ suggestionsObservable: this.suggestionsObservable,
124
+ displayField: "companyname",
125
+ },
126
+ {
127
+ name: "manager",
128
+ type: FieldType.Autocomplete,
129
+ multiple: false,
130
+ label: this.translate.instant("hcm.payroll.workstation_form_lookup_search_manager_label"),
131
+ appendTo: "body",
132
+ fullWidth: true,
133
+ onSearch: (val) => {
134
+ this.getAutocompleteQuery("autocompleteManager", {
135
+ valueSearch: val ? val : "",
136
+ companyId: { tableId: this.currentCompanyId },
137
+ companyBranchId: { tableId: this.companyBranchId ? this.companyBranchId : "" },
138
+ });
139
+ },
140
+ suggestionsObservable: this.suggestionsObservable,
141
+ displayField: "manager",
142
+ },
143
+ {
144
+ name: "department",
145
+ type: FieldType.Autocomplete,
146
+ label: this.translate.instant("hcm.payroll.movimentation_historical_department_tab"),
147
+ dataKey: "id",
148
+ appendTo: "body",
149
+ fullWidth: true,
150
+ onSearch: (val) => {
151
+ this.getAutocompleteQuery("autocompleteDepartmentQuery", {
152
+ searchText: val ? val : "",
153
+ companyId: this.currentCompanyId,
154
+ referenceDate: moment(now()).format("YYYY-MM-DD"),
155
+ });
156
+ },
157
+ suggestionsObservable: this.suggestionsObservable,
158
+ displayField: "name",
159
+ },
160
+ {
161
+ name: "costcenter",
162
+ type: FieldType.Autocomplete,
163
+ label: this.translate.instant("hcm.payroll.employees_addition_cost_center"),
164
+ dataKey: "id",
165
+ appendTo: "body",
166
+ fullWidth: true,
167
+ onSearch: (val) => {
168
+ this.getAutocomplete("costcenter", val ? { name: val, code: val } : null, "code", "name", this.currentCompanyId ? { company: this.currentCompanyId } : null, true, ServiceType.ORGANIZATION_REGISTER);
169
+ },
170
+ suggestionsObservable: this.suggestionsObservable,
171
+ displayField: "name",
172
+ },
173
+ {
174
+ name: "jobposition",
175
+ type: FieldType.Autocomplete,
176
+ multiple: true,
177
+ label: this.translate.instant("hcm.payroll.movimentation_historical_job_position_tab"),
178
+ dataKey: "tableId",
179
+ appendTo: "body",
180
+ fullWidth: true,
181
+ onSearch: (val) => {
182
+ this.getAutocompleteQuery("autocompleteJobpositionQuery", {
183
+ searchText: val ? val : "",
184
+ companyId: this.currentCompanyId,
185
+ creationDate: moment().format("YYYY-MM-DD"),
186
+ expirationDate: moment().format("YYYY-MM-DD"),
187
+ });
188
+ },
189
+ suggestionsObservable: this.suggestionsObservable,
190
+ displayField: "name",
191
+ },
192
+ {
193
+ name: "syndicate",
194
+ type: FieldType.Autocomplete,
195
+ label: this.translate.instant("hcm.payroll.employees_addition_syndicate"),
196
+ dataKey: "id",
197
+ appendTo: "body",
198
+ fullWidth: true,
199
+ onSearch: (val) => {
200
+ this.getAutocomplete("syndicate", val ? { name: val, code: val } : null, "code", "name");
201
+ },
202
+ suggestionsObservable: this.suggestionsObservable,
203
+ displayField: "name",
204
+ },
205
+ {
206
+ name: "workshiftScale",
207
+ type: FieldType.Enum,
208
+ label: this.translate.instant("hcm.payroll.SHIFT"),
209
+ showClear: true,
210
+ size: { md: 12 },
211
+ onChange: () => {
212
+ this.resetDependenciesOfShift(true);
213
+ },
214
+ options: this.valueEnumShift,
215
+ },
216
+ {
217
+ name: "workshiftId",
218
+ type: FieldType.Autocomplete,
219
+ label: this.translate.instant("hcm.payroll.employees_addition_scale"),
220
+ dataKey: "id",
221
+ appendTo: "body",
222
+ fullWidth: true,
223
+ onSearch: (val) => {
224
+ this.getAutocomplete("workshift", val ? { description: val, code: val } : null, "code", "description", this.workstationFilterForm.get("workshiftScale").value ?
225
+ { workshiftScale: this.valueEnumShift[this.workstationFilterForm.get("workshiftScale").value].enum } : null);
226
+ },
227
+ onSelect: () => {
228
+ this.resetDependenciesOfShift();
229
+ },
230
+ suggestionsObservable: this.suggestionsObservable,
231
+ displayField: "description",
232
+ },
233
+ {
234
+ name: "workshiftGroupId",
235
+ type: FieldType.Autocomplete,
236
+ label: this.translate.instant("hcm.payroll.employees_addition_workshift-group"),
237
+ dataKey: "id",
238
+ appendTo: "body",
239
+ fullWidth: true,
240
+ onSearch: (val) => {
241
+ this.getAutocomplete("workshiftGroup", val ? { code: val } : null, "code", "baseDate", this.workstationFilterForm.get("workshiftId").value ?
242
+ { workshift: this.workstationFilterForm.get("workshiftId").value.id } : null);
243
+ },
244
+ suggestionsObservable: this.suggestionsObservable,
245
+ displayField: "baseDate",
246
+ },
247
+ {
248
+ name: "intervalGroupId",
249
+ type: FieldType.Autocomplete,
250
+ label: this.translate.instant("hcm.payroll.employees_addition_class_interval"),
251
+ dataKey: "id",
252
+ appendTo: "body",
253
+ fullWidth: true,
254
+ onSearch: (val) => {
255
+ this.getAutocomplete("intervalGroup", val ? { description: val, code: val } : null, "code", "description", this.workstationFilterForm.get("workshiftId").value ?
256
+ { workshift: this.workstationFilterForm.get("workshiftId").value.id } : null);
257
+ },
258
+ suggestionsObservable: this.suggestionsObservable,
259
+ displayField: "description",
260
+ },
261
+ {
262
+ name: "scaleTeamId",
263
+ type: FieldType.Autocomplete,
264
+ label: this.translate.instant("hcm.payroll.employees_addition_scale_team"),
265
+ dataKey: "id",
266
+ appendTo: "body",
267
+ fullWidth: true,
268
+ onSearch: (val) => {
269
+ this.getAutocomplete("scaleTeam", val ? { name: val, code: val } : null, "code", "name");
270
+ },
271
+ suggestionsObservable: this.suggestionsObservable,
272
+ displayField: "name",
273
+ },
274
+ {
275
+ name: "scaleCategoryId",
276
+ type: FieldType.Autocomplete,
277
+ label: this.translate.instant("hcm.payroll.employees_addition_scale_category"),
278
+ dataKey: "id",
279
+ appendTo: "body",
280
+ fullWidth: true,
281
+ onSearch: (val) => {
282
+ this.getAutocomplete("scaleCategory", val ? { name: val, code: val } : null, "code", "name");
283
+ },
284
+ suggestionsObservable: this.suggestionsObservable,
285
+ displayField: "name",
286
+ },
287
+ {
288
+ name: "employmentRelationshipId",
289
+ type: FieldType.Autocomplete,
290
+ label: this.translate.instant("hcm.payroll.employees_addition_employment_relationship"),
291
+ dataKey: "id",
292
+ appendTo: "body",
293
+ fullWidth: true,
294
+ onSearch: (val) => {
295
+ this.getAutocomplete("employmentRelationship", val ? { name: val, code: val } : null, "code", "name");
296
+ },
297
+ suggestionsObservable: this.suggestionsObservable,
298
+ displayField: "name",
299
+ },
300
+ {
301
+ name: "contractType",
302
+ type: FieldType.Enum,
303
+ label: this.translate.instant("hcm.payroll.employees_temporary_contract_temporary_contract_type"),
304
+ showClear: true,
305
+ size: { md: 12 },
306
+ options: [
307
+ {
308
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Employee"),
309
+ value: "0",
310
+ },
311
+ {
312
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Manager"),
313
+ value: 1,
314
+ },
315
+ {
316
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_FarmWorker"),
317
+ value: 2,
318
+ },
319
+ {
320
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Retired"),
321
+ value: 3,
322
+ },
323
+ {
324
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Trainee"),
325
+ value: 4,
326
+ },
327
+ {
328
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Apprentice"),
329
+ value: 5,
330
+ },
331
+ {
332
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_FixedDueDate"),
333
+ value: 6,
334
+ },
335
+ {
336
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_RetiredManager"),
337
+ value: 7,
338
+ },
339
+ {
340
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_PublicAgent"),
341
+ value: 8,
342
+ },
343
+ {
344
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Teacher"),
345
+ value: 9,
346
+ },
347
+ {
348
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_CooperativeWorker"),
349
+ value: 10,
350
+ },
351
+ {
352
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_DomesticWorker"),
353
+ value: 11,
354
+ },
355
+ {
356
+ label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_TeacherFixedDueDate"),
357
+ value: 12,
358
+ },
359
+ ],
360
+ },
361
+ {
362
+ name: "expenseNatureId",
363
+ type: FieldType.Autocomplete,
364
+ label: this.translate.instant("hcm.payroll.employees_addition_expense_nature"),
365
+ dataKey: "id",
366
+ appendTo: "body",
367
+ fullWidth: true,
368
+ onSearch: (val) => {
369
+ this.getAutocomplete("expenseNature", val ? { name: val, code: val } : null, "code", "name");
370
+ },
371
+ suggestionsObservable: this.suggestionsObservable,
372
+ displayField: "name",
373
+ },
374
+ {
375
+ name: "allowDeficient",
376
+ type: FieldType.Enum,
377
+ label: this.translate.instant("hcm.payroll.allow_deficient"),
378
+ showClear: true,
379
+ size: { md: 12 },
380
+ options: [
381
+ {
382
+ label: this.translate.instant("hcm.payroll.enum_DecisionPcD_No"),
383
+ value: "0",
384
+ },
385
+ {
386
+ label: this.translate.instant("hcm.payroll.enum_DecisionPcD_Also"),
387
+ value: 1,
388
+ },
389
+ {
390
+ label: this.translate.instant("hcm.payroll.enum_DecisionPcD_Only"),
391
+ value: 2,
392
+ },
393
+ ],
394
+ },
395
+ {
396
+ name: "disabilityIds",
397
+ type: FieldType.Autocomplete,
398
+ multiple: true,
399
+ label: this.translate.instant("hcm.payroll.employees_addition_disability"),
400
+ dataKey: "id",
401
+ appendTo: "body",
402
+ fullWidth: true,
403
+ // visible: () => Number(this.workstationFilterForm.get('allowDeficient').value),
404
+ onSearch: (val) => {
405
+ this.getAutocomplete("disability", val ? { name: val, code: val } : null, "code", "name");
406
+ },
407
+ suggestionsObservable: this.suggestionsObservable,
408
+ displayField: "name",
409
+ },
410
+ ];
411
+ this.ngUnsubscribe = new Subject();
412
+ }
413
+ ngOnInit() {
414
+ }
415
+ ngOnDestroy() {
416
+ this.ngUnsubscribe.next();
417
+ this.ngUnsubscribe.complete();
418
+ }
419
+ ngAfterViewInit() {
420
+ this.cd.detectChanges();
421
+ const companyForm = this.workstationFilterForm.get("headoffice");
422
+ companyForm.setValue({ id: this.currentCompanyId, companyname: this.currentCompanyName });
423
+ companyForm.disable();
424
+ }
425
+ get workstationFilterForm() {
426
+ return this.workstationgroupEl && this.workstationgroupEl["formGroupDialog"];
427
+ }
428
+ selectOption(option) {
429
+ this.onSelect.emit(option);
430
+ }
431
+ onClearItem(option) {
432
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
433
+ yield this.onClear.emit(option);
434
+ this.form.get(this.name).reset();
435
+ });
436
+ }
437
+ resetDependenciesOfShift(isShift = false) {
438
+ if (isShift) {
439
+ this.workstationFilterForm.get("workshiftId").reset();
440
+ }
441
+ this.workstationFilterForm.get("workshiftGroupId").reset();
442
+ this.workstationFilterForm.get("intervalGroupId").reset();
443
+ }
444
+ searchRequest($event) {
445
+ const endpoint = "hcm/payroll/queries/workstationgroupFilterQuery";
446
+ const company = this.workstationFilterForm.get("headoffice");
447
+ const isLookupOpen = $event && $event.filterData;
448
+ company.setValue({
449
+ id: this.currentCompanyId,
450
+ companyname: this.currentCompanyName,
451
+ });
452
+ $event = Object.assign({}, this.getValueEvent($event, isLookupOpen));
453
+ const referenceDate = this.getHireDate().replace(/\'/g, "");
454
+ const filter = new WorkstationgroupLookupDto($event, referenceDate);
455
+ this.lookupParametersService.lookupRequestPost(filter.getToFilter(), endpoint, [...this.concatFieldsName], "name")
456
+ .pipe(takeUntil(this.ngUnsubscribe))
457
+ .subscribe((data) => {
458
+ if (isLookupOpen) {
459
+ this.searchGridData = data && [...data.contents];
460
+ }
461
+ else {
462
+ this.lookupSuggestions = data && [...data.contents];
463
+ }
464
+ this.totalRecords = data && data.totalPages;
465
+ });
466
+ }
467
+ getValueEvent($event, isLookupOpen) {
468
+ if (isLookupOpen) {
469
+ $event.filterData.headoffice = this.currentCompanyId;
470
+ }
471
+ else {
472
+ $event = {
473
+ filterData: {
474
+ headoffice: this.currentCompanyId,
475
+ searchText: $event
476
+ },
477
+ };
478
+ }
479
+ return $event;
480
+ }
481
+ getAutocompleteQuery(nameQuery, searchValue) {
482
+ this.autocompleteParametersService.getAutoCompleteQuery(nameQuery, searchValue)
483
+ .pipe(takeUntil(this.ngUnsubscribe))
484
+ .subscribe((data) => {
485
+ if (nameQuery === "autocompleteDepartmentQuery") {
486
+ data.filter((field) => {
487
+ if (field.fields && field.fields[0]) {
488
+ field["name"] = `${field.fields[1].value} - ${field.fields[0].value}`;
489
+ }
490
+ });
491
+ }
492
+ else if (nameQuery === "autocompleteJobpositionQuery") {
493
+ data.filter((field) => {
494
+ if (field.fields && field.fields[0] && field.fields[1]) {
495
+ field["name"] = `${field.fields[0].value} - ${field.fields[1].value}`;
496
+ }
497
+ });
498
+ }
499
+ else if (nameQuery === "autocompleteManager") {
500
+ data.map((field) => {
501
+ field["manager"] = field.fields[0].value ? field.fields[0].value : field.fields[3].value;
502
+ });
503
+ }
504
+ this.suggestionsObservable.next(data);
505
+ });
506
+ }
507
+ getAutocomplete(nameEntity, searchValue, concatOtherFields, nameFieldConcat, additionalParams = null, codeIsString = false, service = ServiceType.PAYROLL) {
508
+ this.autocompleteParametersService.getAutoComplete(nameEntity, Object.assign({}, additionalParams, { searchValue: Object.assign({}, searchValue) }), this.searchFields, codeIsString, service)
509
+ .pipe(takeUntil(this.ngUnsubscribe))
510
+ .subscribe((data) => {
511
+ if (nameEntity === "workshiftGroup") {
512
+ data.filter((filterData) => {
513
+ if (filterData.baseDate) {
514
+ const dateIsMoment = moment(filterData.baseDate, "YYYY-MM-DD");
515
+ if (dateIsMoment.isValid()) {
516
+ return filterData.baseDate = dateIsMoment.format(this.dateFormat);
517
+ }
518
+ }
519
+ });
520
+ }
521
+ this.suggestionsObservable.next(this.getConcatFields(data, concatOtherFields, nameFieldConcat));
522
+ });
523
+ }
524
+ getConcatFields(data, concatOtherFields, nameFieldConcat) {
525
+ if (nameFieldConcat && concatOtherFields) {
526
+ data.filter((field) => {
527
+ field[nameFieldConcat] = `${field[concatOtherFields]} - ${field[nameFieldConcat]}`;
528
+ });
529
+ }
530
+ return data;
531
+ }
532
+ getHireDate() {
533
+ const momentHireDate = moment(this.hireDate).format(this.dateFormat);
534
+ return momentHireDate ? `'${invertFieldDate(momentHireDate, this.dateFormat)}'` : `'${getNowDate()}'`;
535
+ }
536
+ };
537
+ WorkstationgroupLookupComponent.ctorParameters = () => [
538
+ { type: TranslateService },
539
+ { type: ChangeDetectorRef },
540
+ { type: AutocompleteService },
541
+ { type: LookupService }
542
+ ];
543
+ tslib_1.__decorate([
544
+ ViewChild("workstationgroupEl", { static: false })
545
+ ], WorkstationgroupLookupComponent.prototype, "workstationgroupEl", void 0);
546
+ tslib_1.__decorate([
547
+ Input()
548
+ ], WorkstationgroupLookupComponent.prototype, "currentCompanyId", void 0);
549
+ tslib_1.__decorate([
550
+ Input()
551
+ ], WorkstationgroupLookupComponent.prototype, "currentCompanyName", void 0);
552
+ tslib_1.__decorate([
553
+ Input()
554
+ ], WorkstationgroupLookupComponent.prototype, "hireDate", void 0);
555
+ tslib_1.__decorate([
556
+ Input()
557
+ ], WorkstationgroupLookupComponent.prototype, "dateFormat", void 0);
558
+ tslib_1.__decorate([
559
+ Input()
560
+ ], WorkstationgroupLookupComponent.prototype, "required", void 0);
561
+ tslib_1.__decorate([
562
+ Input()
563
+ ], WorkstationgroupLookupComponent.prototype, "disabled", void 0);
564
+ tslib_1.__decorate([
565
+ Input()
566
+ ], WorkstationgroupLookupComponent.prototype, "form", void 0);
567
+ tslib_1.__decorate([
568
+ Input()
569
+ ], WorkstationgroupLookupComponent.prototype, "name", void 0);
570
+ tslib_1.__decorate([
571
+ Output()
572
+ ], WorkstationgroupLookupComponent.prototype, "onSelect", void 0);
573
+ tslib_1.__decorate([
574
+ Output()
575
+ ], WorkstationgroupLookupComponent.prototype, "onClear", void 0);
576
+ tslib_1.__decorate([
577
+ Output()
578
+ ], WorkstationgroupLookupComponent.prototype, "onBlur", void 0);
579
+ WorkstationgroupLookupComponent = tslib_1.__decorate([
580
+ Component({
581
+ // tslint:disable-next-line:component-selector
582
+ selector: "c-workstationgroup-lookup",
583
+ template: "<div [formGroup]=\"form\">\n <s-lookup\n #workstationgroupEl\n id=\"workstationGroup\"\n dataKey=\"code\"\n (onSelect)=\"selectOption($event)\"\n (onClear)=\"onClearItem($event)\"\n [formControlName]=\"name\"\n (onLookupRequest)=\"searchRequest($event)\"\n (onSearchRequest)=\"searchRequest($event)\"\n filterTitle=\"{{ 'hcm.payroll.filters' | translate }}\"\n filterLabel=\"{{ 'hcm.payroll.filter' | translate }}\"\n clearLabel=\"{{ 'hcm.payroll.lookup_generic_clean_filter_label' | translate }}\"\n cancelLabel=\"{{ 'hcm.payroll.cancel' | translate }}\"\n selectLabel=\"{{ 'hcm.payroll.lookup_btn_select_label' | translate }}\"\n [disabled]=\"disabled\"\n [lookupSuggestions]=\"lookupSuggestions\"\n lookupEmptyMessage=\"{{ 'hcm.payroll.lookup_auto_complete_empty_message' | translate }}\"\n [searchGridData]=\"searchGridData\"\n [searchFields]=\"searchFields\"\n placeholder=\"{{'hcm.payroll.suggestions' | translate}}\"\n [searchTotalRecords]=\"totalRecords\"\n searchTotalRecordsLabel=\"{{ totalRecords }} {{\n 'hcm.payroll.admission_registers' | translate\n }}\"\n [searchGridFields]=\"gridFields\"\n searchTitle=\"{{ 'hcm.payroll.employees_addition_workstation' | translate }}\"\n lookupDisplayField=\"name\"\n ></s-lookup>\n\n</div>\n"
584
+ })
585
+ ], WorkstationgroupLookupComponent);
586
+ export { WorkstationgroupLookupComponent };
587
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3N0YXRpb25ncm91cC1sb29rdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9wYXlyb2xsLWNvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osYUFBYSxFQUNiLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFPdkIsSUFBYSwr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LG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDOzJFQUNwQjtBQUcvQjtJQURDLEtBQUssRUFBRTt5RUFDK0I7QUFFdkM7SUFEQyxLQUFLLEVBQUU7MkVBQ2lDO0FBRXpDO0lBREMsS0FBSyxFQUFFO2lFQUNnQjtBQUV4QjtJQURDLEtBQUssRUFBRTttRUFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7aUVBQ2lCO0FBRXpCO0lBREMsS0FBSyxFQUFFO2lFQUNpQjtBQUV6QjtJQURDLEtBQUssRUFBRTs2REFDZTtBQUV2QjtJQURDLEtBQUssRUFBRTs2REFDWTtBQUdwQjtJQURDLE1BQU0sRUFBRTtpRUFDK0M7QUFFeEQ7SUFEQyxNQUFNLEVBQUU7Z0VBQzhDO0FBRXZEO0lBREMsTUFBTSxFQUFFOytEQUM2QztBQTNCN0MsK0JBQStCO0lBTDNDLFNBQVMsQ0FBQztRQUNQLDhDQUE4QztRQUM5QyxRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLDg4Q0FBdUQ7S0FDMUQsQ0FBQztHQUNXLCtCQUErQixDQXVuQjNDO1NBdm5CWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IG5vdyB9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IFN1YmplY3QsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFNlcnZpY2VUeXBlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bXNcIjtcbmltcG9ydCB7IGludmVydEZpZWxkRGF0ZSwgZ2V0Tm93RGF0ZSB9IGZyb20gXCIuLi91dGlscy9oZWxwZXJzXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVTZXJ2aWNlIH0gZnJvbSBcIi4vYXV0b2NvbXBsZXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IExvb2t1cFNlcnZpY2UgfSBmcm9tIFwiLi9sb29rdXAuc2VydmljZVwiO1xuaW1wb3J0IHsgV29ya3N0YXRpb25ncm91cExvb2t1cER0byB9IGZyb20gXCIuL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwLmR0b1wiO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6IFwiYy13b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vd29ya3N0YXRpb25ncm91cC1sb29rdXAuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgV29ya3N0YXRpb25ncm91cExvb2t1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBWaWV3Q2hpbGQoXCJ3b3Jrc3RhdGlvbmdyb3VwRWxcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgd29ya3N0YXRpb25ncm91cEVsOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VycmVudENvbXBhbnlJZDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXJyZW50Q29tcGFueU5hbWU6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGlyZURhdGU6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBjb21wYW55QnJhbmNoSWQ6IHN0cmluZyA9IG51bGw7XG5cbiAgICBwdWJsaWMgbG9va3VwU3VnZ2VzdGlvbnM6IGFueVtdID0gW107XG4gICAgcHVibGljIHNlYXJjaEdyaWREYXRhOiBGb3JtRmllbGRbXSA9IFtdO1xuICAgIHB1YmxpYyBzdWdnZXN0aW9uc09ic2VydmFibGU6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgcHVibGljIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcbiAgICBwcml2YXRlIHZhbHVlRW51bVNoaWZ0ID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fV29ya3NoaWZ0U2NhbGVfRklSU1RfU0hJRlRcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCIwXCIsXG4gICAgICAgICAgICBlbnVtOiBcIkZJUlNUX1NISUZUXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9TRUNPTkRfU0hJRlRcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCIxXCIsXG4gICAgICAgICAgICBlbnVtOiBcIlNFQ09ORF9TSElGVFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fV29ya3NoaWZ0U2NhbGVfVEhJUkRfU0hJRlRcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCIyXCIsXG4gICAgICAgICAgICBlbnVtOiBcIlRISVJEX1NISUZUXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9GT1VSVEhfU0hJRlRcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCIzXCIsXG4gICAgICAgICAgICBlbnVtOiBcIkZPVVJUSF9TSElGVFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fV29ya3NoaWZ0U2NhbGVfTUlYRURcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCI0XCIsXG4gICAgICAgICAgICBlbnVtOiBcIk1JWEVEXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9HRU5FUkFMXCIpLFxuICAgICAgICAgICAgdmFsdWU6IFwiNVwiLFxuICAgICAgICAgICAgZW51bTogXCJHRU5FUkFMXCIsXG4gICAgICAgIH0sXG4gICAgXTtcbiAgICBwcml2YXRlIGNvbmNhdEZpZWxkc05hbWUgPSBbXG4gICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgbmFtZTogXCJjb2RlXCIsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmNvZGVcIiksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3dvcmtzdGF0aW9uXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgXTtcblxuICAgIHByaXZhdGUgY29uY2F0TmFtZSA9IFtcbiAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICBuYW1lOiBcImNvZGVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuY29kZVwiKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgIH0pLFxuICAgIF07XG4gICAgcHVibGljIGdyaWRGaWVsZHMgPSBbXG4gICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgbmFtZTogXCJuYW1lXCIsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl93b3Jrc3RhdGlvblwiKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgIG5hbWU6IFwibWFuYWdlclwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC53b3Jrc3RhdGlvbl9mb3JtX2xvb2t1cF9zZWFyY2hfbWFuYWdlcl9sYWJlbFwiKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgIH0pLFxuICAgIF07XG4gICAgcHVibGljIHNlYXJjaEZpZWxkcyA9IFtcbiAgICAgICAgLi4udGhpcy5jb25jYXROYW1lLFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwubW92aW1lbnRhdGlvbl9uYW1lXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJoZWFkb2ZmaWNlXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfY29tcGFueVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwiY29tcGFueW5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJicmFuY2hvZmZpY2VcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9icmFuY2hcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblJlbW92ZTogKCkgPT4gdGhpcy5jb21wYW55QnJhbmNoSWQgPSBudWxsLFxuICAgICAgICAgICAgb25TZWxlY3Q6ICh7IGlkIH06IHsgaWQ6IHN0cmluZyB9KSA9PiB0aGlzLmNvbXBhbnlCcmFuY2hJZCA9IGlkLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcImNvbXBhbnlcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBjb21wYW55bmFtZTogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcImNvbXBhbnluYW1lXCIsXG4gICAgICAgICAgICAgICAgICAgIHsgaGVhZHF1YXJ0ZXI6IHRoaXMuY3VycmVudENvbXBhbnlJZCA/IHRoaXMuY3VycmVudENvbXBhbnlJZCA6IFwibm90IG51bGxcIiB9LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJjb21wYW55bmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm1hbmFnZXJcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLndvcmtzdGF0aW9uX2Zvcm1fbG9va3VwX3NlYXJjaF9tYW5hZ2VyX2xhYmVsXCIpLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlUXVlcnkoXG4gICAgICAgICAgICAgICAgICAgIFwiYXV0b2NvbXBsZXRlTWFuYWdlclwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVNlYXJjaDogdmFsID8gdmFsIDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhbnlJZDoge3RhYmxlSWQ6IHRoaXMuY3VycmVudENvbXBhbnlJZH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wYW55QnJhbmNoSWQ6IHt0YWJsZUlkOiB0aGlzLmNvbXBhbnlCcmFuY2hJZCA/IHRoaXMuY29tcGFueUJyYW5jaElkIDogXCJcIn0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm1hbmFnZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJkZXBhcnRtZW50XCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfZGVwYXJ0bWVudF90YWJcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVRdWVyeShcbiAgICAgICAgICAgICAgICAgICAgXCJhdXRvY29tcGxldGVEZXBhcnRtZW50UXVlcnlcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogdmFsID8gdmFsIDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhbnlJZDogdGhpcy5jdXJyZW50Q29tcGFueUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlRGF0ZTogbW9tZW50KG5vdygpKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiY29zdGNlbnRlclwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX2Nvc3RfY2VudGVyXCIpLFxuICAgICAgICAgICAgZGF0YUtleTogXCJpZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcImNvc3RjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRDb21wYW55SWQgPyB7IGNvbXBhbnk6IHRoaXMuY3VycmVudENvbXBhbnlJZCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZVR5cGUuT1JHQU5JWkFUSU9OX1JFR0lTVEVSLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiam9icG9zaXRpb25cIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwubW92aW1lbnRhdGlvbl9oaXN0b3JpY2FsX2pvYl9wb3NpdGlvbl90YWJcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcInRhYmxlSWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZVF1ZXJ5KFxuICAgICAgICAgICAgICAgICAgICBcImF1dG9jb21wbGV0ZUpvYnBvc2l0aW9uUXVlcnlcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogdmFsID8gdmFsIDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhbnlJZDogdGhpcy5jdXJyZW50Q29tcGFueUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRpb25EYXRlOiBtb21lbnQoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJhdGlvbkRhdGU6IG1vbWVudCgpLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJzeW5kaWNhdGVcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9zeW5kaWNhdGVcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwic3luZGljYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgbmFtZTogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIndvcmtzaGlmdFNjYWxlXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRW51bSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuU0hJRlRcIiksXG4gICAgICAgICAgICBzaG93Q2xlYXI6IHRydWUsXG4gICAgICAgICAgICBzaXplOiB7IG1kOiAxMiB9LFxuICAgICAgICAgICAgb25DaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0RGVwZW5kZW5jaWVzT2ZTaGlmdCh0cnVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLnZhbHVlRW51bVNoaWZ0LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIndvcmtzaGlmdElkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fc2NhbGVcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwid29ya3NoaWZ0XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgZGVzY3JpcHRpb246IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRTY2FsZVwiKS52YWx1ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICB7IHdvcmtzaGlmdFNjYWxlOiB0aGlzLnZhbHVlRW51bVNoaWZ0W3RoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdFNjYWxlXCIpLnZhbHVlXS5lbnVtIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25TZWxlY3Q6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0RGVwZW5kZW5jaWVzT2ZTaGlmdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJ3b3Jrc2hpZnRHcm91cElkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fd29ya3NoaWZ0LWdyb3VwXCIpLFxuICAgICAgICAgICAgZGF0YUtleTogXCJpZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcIndvcmtzaGlmdEdyb3VwXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJiYXNlRGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS52YWx1ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICB7IHdvcmtzaGlmdDogdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwid29ya3NoaWZ0SWRcIikudmFsdWUuaWQgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcImJhc2VEYXRlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaW50ZXJ2YWxHcm91cElkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fY2xhc3NfaW50ZXJ2YWxcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiaW50ZXJ2YWxHcm91cFwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IGRlc2NyaXB0aW9uOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwid29ya3NoaWZ0SWRcIikudmFsdWUgP1xuICAgICAgICAgICAgICAgICAgICAgIHsgd29ya3NoaWZ0OiB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS52YWx1ZS5pZCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJzY2FsZVRlYW1JZFwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3NjYWxlX3RlYW1cIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwic2NhbGVUZWFtXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgbmFtZTogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNjYWxlQ2F0ZWdvcnlJZFwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3NjYWxlX2NhdGVnb3J5XCIpLFxuICAgICAgICAgICAgZGF0YUtleTogXCJpZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcInNjYWxlQ2F0ZWdvcnlcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiZW1wbG95bWVudFJlbGF0aW9uc2hpcElkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fZW1wbG95bWVudF9yZWxhdGlvbnNoaXBcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiZW1wbG95bWVudFJlbGF0aW9uc2hpcFwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJjb250cmFjdFR5cGVcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfdGVtcG9yYXJ5X2NvbnRyYWN0X3RlbXBvcmFyeV9jb250cmFjdF90eXBlXCIpLFxuICAgICAgICAgICAgc2hvd0NsZWFyOiB0cnVlLFxuICAgICAgICAgICAgc2l6ZTogeyBtZDogMTIgfSxcbiAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9FbXBsb3llZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiMFwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfTWFuYWdlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9GYXJtV29ya2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1JldGlyZWRcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfVHJhaW5lZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9BcHByZW50aWNlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0ZpeGVkRHVlRGF0ZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDYsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9SZXRpcmVkTWFuYWdlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9QdWJsaWNBZ2VudFwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9UZWFjaGVyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0Nvb3BlcmF0aXZlV29ya2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9Eb21lc3RpY1dvcmtlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDExLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfVGVhY2hlckZpeGVkRHVlRGF0ZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImV4cGVuc2VOYXR1cmVJZFwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX2V4cGVuc2VfbmF0dXJlXCIpLFxuICAgICAgICAgICAgZGF0YUtleTogXCJpZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcImV4cGVuc2VOYXR1cmVcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsb3dEZWZpY2llbnRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5hbGxvd19kZWZpY2llbnRcIiksXG4gICAgICAgICAgICBzaG93Q2xlYXI6IHRydWUsXG4gICAgICAgICAgICBzaXplOiB7IG1kOiAxMiB9LFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0RlY2lzaW9uUGNEX05vXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCIwXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9EZWNpc2lvblBjRF9BbHNvXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0RlY2lzaW9uUGNEX09ubHlcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImRpc2FiaWxpdHlJZHNcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX2Rpc2FiaWxpdHlcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICAvLyB2aXNpYmxlOiAoKSA9PiBOdW1iZXIodGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KCdhbGxvd0RlZmljaWVudCcpLnZhbHVlKSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmlsaXR5XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgbmFtZTogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBhdXRvY29tcGxldGVQYXJhbWV0ZXJzU2VydmljZTogQXV0b2NvbXBsZXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsb29rdXBQYXJhbWV0ZXJzU2VydmljZTogTG9va3VwU2VydmljZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBjb25zdCBjb21wYW55Rm9ybSA9IHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcImhlYWRvZmZpY2VcIik7XG4gICAgICAgIGNvbXBhbnlGb3JtLnNldFZhbHVlKHsgaWQ6IHRoaXMuY3VycmVudENvbXBhbnlJZCwgY29tcGFueW5hbWU6IHRoaXMuY3VycmVudENvbXBhbnlOYW1lIH0pO1xuICAgICAgICBjb21wYW55Rm9ybS5kaXNhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3b3Jrc3RhdGlvbkZpbHRlckZvcm0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndvcmtzdGF0aW9uZ3JvdXBFbCAmJiB0aGlzLndvcmtzdGF0aW9uZ3JvdXBFbFtcImZvcm1Hcm91cERpYWxvZ1wiXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0T3B0aW9uKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChvcHRpb24pO1xuICAgIH1cblxuICAgIGFzeW5jIG9uQ2xlYXJJdGVtKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgICAgIGF3YWl0IHRoaXMub25DbGVhci5lbWl0KG9wdGlvbik7XG4gICAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5uYW1lKS5yZXNldCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXREZXBlbmRlbmNpZXNPZlNoaWZ0KGlzU2hpZnQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoaXNTaGlmdCkge1xuICAgICAgICAgICAgdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwid29ya3NoaWZ0SWRcIikucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRHcm91cElkXCIpLnJlc2V0KCk7XG4gICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcImludGVydmFsR3JvdXBJZFwiKS5yZXNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hSZXF1ZXN0KCRldmVudDogYW55KSB7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50ID0gXCJoY20vcGF5cm9sbC9xdWVyaWVzL3dvcmtzdGF0aW9uZ3JvdXBGaWx0ZXJRdWVyeVwiO1xuICAgICAgICBjb25zdCBjb21wYW55ID0gdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwiaGVhZG9mZmljZVwiKTtcbiAgICAgICAgY29uc3QgaXNMb29rdXBPcGVuOiBib29sZWFuID0gJGV2ZW50ICYmICRldmVudC5maWx0ZXJEYXRhO1xuICAgICAgICBjb21wYW55LnNldFZhbHVlKHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmN1cnJlbnRDb21wYW55SWQsXG4gICAgICAgICAgICBjb21wYW55bmFtZTogdGhpcy5jdXJyZW50Q29tcGFueU5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgICRldmVudCA9IHsgLi4udGhpcy5nZXRWYWx1ZUV2ZW50KCRldmVudCwgaXNMb29rdXBPcGVuKX07XG5cbiAgICAgICAgY29uc3QgcmVmZXJlbmNlRGF0ZSA9IHRoaXMuZ2V0SGlyZURhdGUoKS5yZXBsYWNlKC9cXCcvZywgXCJcIik7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IG5ldyBXb3Jrc3RhdGlvbmdyb3VwTG9va3VwRHRvKCRldmVudCwgcmVmZXJlbmNlRGF0ZSk7XG4gICAgICAgIHRoaXMubG9va3VwUGFyYW1ldGVyc1NlcnZpY2UubG9va3VwUmVxdWVzdFBvc3QoZmlsdGVyLmdldFRvRmlsdGVyKCksIGVuZHBvaW50LCBbLi4udGhpcy5jb25jYXRGaWVsZHNOYW1lXSwgXCJuYW1lXCIpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0xvb2t1cE9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hHcmlkRGF0YSA9IGRhdGEgJiYgWy4uLmRhdGEuY29udGVudHNdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9va3VwU3VnZ2VzdGlvbnMgPSBkYXRhICYmIFsuLi5kYXRhLmNvbnRlbnRzXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSBkYXRhICYmIGRhdGEudG90YWxQYWdlcztcbiAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbHVlRXZlbnQoJGV2ZW50OiBhbnksIGlzTG9va3VwT3BlbjogYm9vbGVhbik6IE9iamVjdCB7XG4gICAgICAgIGlmIChpc0xvb2t1cE9wZW4pIHtcbiAgICAgICAgICAgICRldmVudC5maWx0ZXJEYXRhLmhlYWRvZmZpY2UgPSB0aGlzLmN1cnJlbnRDb21wYW55SWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkZXZlbnQgPSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICAgICAgICAgICAgICBoZWFkb2ZmaWNlOiB0aGlzLmN1cnJlbnRDb21wYW55SWQsXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFRleHQ6ICRldmVudFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAkZXZlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBdXRvY29tcGxldGVRdWVyeShuYW1lUXVlcnk6IHN0cmluZywgc2VhcmNoVmFsdWU6IG9iamVjdCkge1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVBhcmFtZXRlcnNTZXJ2aWNlLmdldEF1dG9Db21wbGV0ZVF1ZXJ5KG5hbWVRdWVyeSwgc2VhcmNoVmFsdWUpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuYW1lUXVlcnkgPT09IFwiYXV0b2NvbXBsZXRlRGVwYXJ0bWVudFF1ZXJ5XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5maWx0ZXIoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5maWVsZHMgJiYgZmllbGQuZmllbGRzWzBdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRbXCJuYW1lXCJdID0gYCR7IGZpZWxkLmZpZWxkc1sxXS52YWx1ZSB9IC0gJHsgZmllbGQuZmllbGRzWzBdLnZhbHVlIH1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWVRdWVyeSA9PT0gXCJhdXRvY29tcGxldGVKb2Jwb3NpdGlvblF1ZXJ5XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5maWx0ZXIoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5maWVsZHMgJiYgZmllbGQuZmllbGRzWzBdICYmIGZpZWxkLmZpZWxkc1sxXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkW1wibmFtZVwiXSA9IGAkeyBmaWVsZC5maWVsZHNbMF0udmFsdWUgfSAtICR7IGZpZWxkLmZpZWxkc1sxXS52YWx1ZSB9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lUXVlcnkgPT09IFwiYXV0b2NvbXBsZXRlTWFuYWdlclwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFtcIm1hbmFnZXJcIl0gPSBmaWVsZC5maWVsZHNbMF0udmFsdWUgPyBmaWVsZC5maWVsZHNbMF0udmFsdWUgOiBmaWVsZC5maWVsZHNbM10udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgbmFtZUVudGl0eTogc3RyaW5nLFxuICAgICAgICBzZWFyY2hWYWx1ZTogb2JqZWN0LFxuICAgICAgICBjb25jYXRPdGhlckZpZWxkczogc3RyaW5nLFxuICAgICAgICBuYW1lRmllbGRDb25jYXQ6IHN0cmluZyxcbiAgICAgICAgYWRkaXRpb25hbFBhcmFtczogb2JqZWN0ID0gbnVsbCxcbiAgICAgICAgY29kZUlzU3RyaW5nOiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgIHNlcnZpY2U6IFNlcnZpY2VUeXBlID0gU2VydmljZVR5cGUuUEFZUk9MTCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVQYXJhbWV0ZXJzU2VydmljZS5nZXRBdXRvQ29tcGxldGUoXG4gICAgICAgICAgICBuYW1lRW50aXR5LCB7XG4gICAgICAgICAgICAgICAgLi4uYWRkaXRpb25hbFBhcmFtcyxcbiAgICAgICAgICAgICAgICBzZWFyY2hWYWx1ZTogeyAuLi5zZWFyY2hWYWx1ZSB9LFxuICAgICAgICAgICAgfSwgdGhpcy5zZWFyY2hGaWVsZHMsIGNvZGVJc1N0cmluZywgc2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWVFbnRpdHkgPT09IFwid29ya3NoaWZ0R3JvdXBcIikge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbHRlcigoZmlsdGVyRGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyRGF0YS5iYXNlRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVJc01vbWVudCA9IG1vbWVudChmaWx0ZXJEYXRhLmJhc2VEYXRlLCBcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVJc01vbWVudC5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckRhdGEuYmFzZURhdGUgPSBkYXRlSXNNb21lbnQuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUubmV4dCh0aGlzLmdldENvbmNhdEZpZWxkcyhkYXRhLCBjb25jYXRPdGhlckZpZWxkcywgbmFtZUZpZWxkQ29uY2F0KSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbmNhdEZpZWxkcyhkYXRhOiBhbnksIGNvbmNhdE90aGVyRmllbGRzOiBzdHJpbmcsIG5hbWVGaWVsZENvbmNhdDogc3RyaW5nKSB7XG4gICAgICAgIGlmIChuYW1lRmllbGRDb25jYXQgJiYgY29uY2F0T3RoZXJGaWVsZHMpIHtcbiAgICAgICAgICAgIGRhdGEuZmlsdGVyKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGRbbmFtZUZpZWxkQ29uY2F0XSA9IGAkeyBmaWVsZFtjb25jYXRPdGhlckZpZWxkc10gfSAtICR7IGZpZWxkW25hbWVGaWVsZENvbmNhdF0gfWA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGlyZURhdGUoKSB7XG4gICAgICAgIGNvbnN0IG1vbWVudEhpcmVEYXRlID0gbW9tZW50KHRoaXMuaGlyZURhdGUpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpO1xuICAgICAgICByZXR1cm4gbW9tZW50SGlyZURhdGUgPyBgJyR7IGludmVydEZpZWxkRGF0ZShtb21lbnRIaXJlRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KSB9J2AgOiBgJyR7IGdldE5vd0RhdGUoKSB9J2A7XG4gICAgfVxuXG59XG4iXX0=