@reusa/ngx-reusa-app-lib 0.0.731 → 0.1.731

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 (472) hide show
  1. package/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
  2. package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
  3. package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
  4. package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
  5. package/esm2022/lib/components/address/address.component.mjs +487 -0
  6. package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
  7. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  8. package/esm2022/lib/components/card/card.component.mjs +55 -0
  9. package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
  10. package/esm2022/lib/components/content/content.component.mjs +61 -0
  11. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
  12. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
  13. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
  14. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  15. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  16. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  17. package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
  18. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
  19. package/esm2022/lib/components/error/error.component.mjs +86 -0
  20. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  21. package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
  22. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
  23. package/esm2022/lib/components/footer/footer.component.mjs +332 -0
  24. package/esm2022/lib/components/header/header.component.mjs +558 -0
  25. package/esm2022/lib/components/help/help.component.mjs +49 -0
  26. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
  27. package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
  28. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
  29. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
  30. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  31. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  32. package/esm2022/lib/components/menu/menu.component.mjs +423 -0
  33. package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
  34. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
  35. package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
  36. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  37. package/esm2022/lib/components/news/news.component.mjs +90 -0
  38. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  39. package/esm2022/lib/components/page/page.component.mjs +136 -0
  40. package/esm2022/lib/components/profile/profile.component.mjs +177 -0
  41. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
  42. package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
  43. package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
  44. package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
  45. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
  46. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
  47. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
  48. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
  49. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
  50. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
  51. package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
  52. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
  53. package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
  54. package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
  55. package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
  56. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
  57. package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
  58. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
  59. package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
  60. package/esm2022/lib/components/select/select.component.mjs +154 -0
  61. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  62. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
  63. package/esm2022/lib/components/test/test.component.mjs +19 -0
  64. package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
  65. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
  66. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
  67. package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
  68. package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
  69. package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
  70. package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
  71. package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
  72. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  73. package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
  74. package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
  75. package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
  76. package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
  77. package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
  78. package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
  79. package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
  80. package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
  81. package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
  82. package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
  83. package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
  84. package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
  86. package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
  87. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  88. package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
  89. package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
  91. package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
  92. package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
  93. package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
  94. package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
  95. package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
  96. package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
  97. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  98. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
  99. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
  100. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  101. package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
  102. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  103. package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
  104. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  105. package/esm2022/lib/models/dependent.model.mjs +8 -0
  106. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
  107. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
  108. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
  109. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
  110. package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
  111. package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
  112. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
  113. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
  114. package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
  115. package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
  116. package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
  117. package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
  118. package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
  119. package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
  120. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
  121. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
  122. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
  123. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  124. package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
  125. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  126. package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
  127. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  128. package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
  129. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  130. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
  131. package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
  132. package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
  133. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
  134. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
  135. package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
  136. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  137. package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
  138. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  139. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  140. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  141. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  142. package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
  143. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  144. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
  145. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  146. package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
  147. package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
  148. package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
  149. package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
  150. package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
  151. package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
  152. package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
  153. package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
  154. package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
  155. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  156. package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
  157. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  158. package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
  159. package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
  160. package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
  161. package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
  162. package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
  163. package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
  164. package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
  165. package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
  166. package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
  167. package/esm2022/lib/services/login/login.service.mjs +330 -0
  168. package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
  169. package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
  170. package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
  171. package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
  172. package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
  173. package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
  174. package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
  175. package/esm2022/lib/validations/AppRegex.mjs +45 -0
  176. package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
  177. package/{esm2020 → esm2022}/public-api.mjs +131 -131
  178. package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
  179. package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
  180. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
  181. package/index.d.ts +5 -5
  182. package/lib/annimations/app-animations.d.ts +3 -3
  183. package/lib/components/add-employer/add-employer.component.d.ts +276 -276
  184. package/lib/components/add-participant/add-participant.component.d.ts +45 -45
  185. package/lib/components/add-payment/add-payment.component.d.ts +33 -33
  186. package/lib/components/address/address.component.d.ts +68 -68
  187. package/lib/components/address/address.component.d.ts.map +1 -1
  188. package/lib/components/bank-details/bank-details.component.d.ts +39 -39
  189. package/lib/components/captcha/captcha.component.d.ts +44 -44
  190. package/lib/components/card/card.component.d.ts +11 -11
  191. package/lib/components/contact-us/contact-us.component.d.ts +105 -107
  192. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  193. package/lib/components/content/content.component.d.ts +13 -13
  194. package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
  195. package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
  196. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  197. package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
  198. package/lib/components/disclosure/disclosure.component.d.ts +12 -12
  199. package/lib/components/dropdown/dropdown.component.d.ts +581 -207
  200. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
  201. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  202. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  203. package/lib/components/email-update/email-update.component.d.ts +31 -31
  204. package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
  205. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  206. package/lib/components/error/error.component.d.ts +17 -17
  207. package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
  208. package/lib/components/file-download/file-download.component.d.ts +22 -22
  209. package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
  210. package/lib/components/footer/footer.component.d.ts +36 -36
  211. package/lib/components/header/header.component.d.ts +59 -58
  212. package/lib/components/header/header.component.d.ts.map +1 -1
  213. package/lib/components/help/help.component.d.ts +10 -10
  214. package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
  215. package/lib/components/info/info.component.d.ts +22 -22
  216. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
  217. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
  218. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
  219. package/lib/components/mask/mask.component.d.ts +11 -11
  220. package/lib/components/menu/menu.component.d.ts +43 -43
  221. package/lib/components/mfa/mfa.component.d.ts +59 -59
  222. package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
  223. package/lib/components/money-expect/money-expect.component.d.ts +18 -18
  224. package/lib/components/msg/msg.component.d.ts +10 -10
  225. package/lib/components/news/news.component.d.ts +14 -14
  226. package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
  227. package/lib/components/page/page.component.d.ts +23 -23
  228. package/lib/components/profile/profile.component.d.ts +28 -28
  229. package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
  230. package/lib/components/questionnaire/AppValidators.d.ts +14 -14
  231. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  232. package/lib/components/questionnaire/FbConstants.d.ts +7 -7
  233. package/lib/components/questionnaire/SelectItem.d.ts +4 -4
  234. package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
  235. package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
  236. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  237. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
  238. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
  239. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  240. package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
  241. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  242. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
  243. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  244. package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
  245. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
  246. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  247. package/lib/components/questionnaire/question-base.d.ts +16 -16
  248. package/lib/components/questionnaire/question-control.service.d.ts +19 -19
  249. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  250. package/lib/components/questionnaire/question.service.d.ts +18 -18
  251. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
  252. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  253. package/lib/components/read-more/read-more.component.d.ts +14 -14
  254. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
  255. package/lib/components/search-employer/search-employer.component.d.ts +37 -36
  256. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  257. package/lib/components/select/select.component.d.ts +55 -55
  258. package/lib/components/ssn/ssn.component.d.ts +11 -11
  259. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
  260. package/lib/components/test/test.component.d.ts +8 -8
  261. package/lib/components/user-login/user-login.component.d.ts +48 -48
  262. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
  263. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
  264. package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
  265. package/lib/directives/caps-lock.directive.d.ts +11 -11
  266. package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
  267. package/lib/enums/EmailStatusEnum.d.ts +7 -7
  268. package/lib/guards/auth.guard.d.ts +28 -28
  269. package/lib/guards/auth.guard.d.ts.map +1 -1
  270. package/lib/guards/no-login/no-login.guard.d.ts +11 -11
  271. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
  272. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
  273. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
  274. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
  275. package/lib/models/AddressComponentModel.d.ts +12 -12
  276. package/lib/models/BankDetailsComponentModel.d.ts +11 -11
  277. package/lib/models/BankDetailsModel.d.ts +4 -4
  278. package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
  279. package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
  280. package/lib/models/ErrorModel.d.ts +6 -6
  281. package/lib/models/FileModel.d.ts +4 -4
  282. package/lib/models/LibConstants.d.ts +112 -112
  283. package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
  284. package/lib/models/NotificationModel.d.ts +10 -10
  285. package/lib/models/OtpAuthModel.d.ts +6 -6
  286. package/lib/models/PaymentComponentModel.d.ts +7 -7
  287. package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
  288. package/lib/models/SsaVerificationModel.d.ts +8 -8
  289. package/lib/models/TrendModel.d.ts +13 -13
  290. package/lib/models/UserDetailsModel.d.ts +9 -9
  291. package/lib/models/UserModel.d.ts +46 -46
  292. package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
  293. package/lib/models/claimant/ClaimantModel.d.ts +22 -22
  294. package/lib/models/claimant/JobResultsData.d.ts +7 -7
  295. package/lib/models/claimant/MatchingJobs.d.ts +12 -12
  296. package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
  297. package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
  298. package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
  299. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
  300. package/lib/models/cmp/ContactUsModel.d.ts +22 -22
  301. package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
  302. package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
  303. package/lib/models/cmp/messageRourceModel.d.ts +5 -5
  304. package/lib/models/dashboard-model.d.ts +43 -43
  305. package/lib/models/dependent.model.d.ts +11 -18
  306. package/lib/models/dependent.model.d.ts.map +1 -1
  307. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
  308. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
  309. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
  310. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
  311. package/lib/models/questionnaire/ComboModel.d.ts +85 -85
  312. package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
  313. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
  314. package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
  315. package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
  316. package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
  317. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
  318. package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
  319. package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
  320. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
  321. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
  322. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
  323. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
  324. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
  325. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
  326. package/lib/models/questionnaire/StatusModel.d.ts +15 -15
  327. package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
  328. package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
  329. package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
  330. package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
  331. package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
  332. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  333. package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
  334. package/lib/pages/BasePage.d.ts +26 -26
  335. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
  336. package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
  337. package/lib/pages/common/landing/landing.component.d.ts +24 -24
  338. package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
  339. package/lib/pages/common/login/login.component.d.ts +64 -64
  340. package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
  341. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
  342. package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
  343. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
  344. package/lib/pages/popovers/language/language.page.d.ts +16 -16
  345. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
  346. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
  347. package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
  348. package/lib/pipes/filter.pipe.d.ts +7 -7
  349. package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
  350. package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
  351. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
  352. package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
  353. package/lib/services/base-service.d.ts +92 -92
  354. package/lib/services/captcha/captcha.service.d.ts +15 -15
  355. package/lib/services/case-service/case.service.d.ts +19 -19
  356. package/lib/services/chatbot/chatbot.service.d.ts +60 -60
  357. package/lib/services/chatbot/script.const.d.ts +15 -15
  358. package/lib/services/claimant/claimant.service.d.ts +17 -17
  359. package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
  360. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
  361. package/lib/services/claimant-service/claimant.service.d.ts +19 -19
  362. package/lib/services/claims/claims.service.d.ts +39 -39
  363. package/lib/services/cmp-service/cmp.service.d.ts +33 -33
  364. package/lib/services/dms-service/dms.service.d.ts +23 -23
  365. package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
  366. package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
  367. package/lib/services/help/help.service.d.ts +25 -25
  368. package/lib/services/help/help.service.d.ts.map +1 -1
  369. package/lib/services/idle/idle.service.d.ts +43 -43
  370. package/lib/services/logger/logger.service.d.ts +31 -31
  371. package/lib/services/logger/logger.service.d.ts.map +1 -1
  372. package/lib/services/login/login.service.d.ts +75 -75
  373. package/lib/services/login/login.service.d.ts.map +1 -1
  374. package/lib/services/maintenance/maintenance.service.d.ts +15 -15
  375. package/lib/services/notification/notification.service.d.ts +38 -38
  376. package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
  377. package/lib/services/questionnaire/validation.service.d.ts +81 -81
  378. package/lib/services/security-service/security.service.d.ts +14 -14
  379. package/lib/services/tour/tour.service.d.ts +24 -24
  380. package/lib/services/util/util.service.d.ts +190 -190
  381. package/lib/validations/AppRegex.d.ts +43 -43
  382. package/lib/validations/AppValidators.d.ts +53 -53
  383. package/package.json +6 -11
  384. package/public-api.d.ts +121 -121
  385. package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
  386. package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
  387. package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
  388. package/esm2020/lib/components/address/address.component.mjs +0 -480
  389. package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
  390. package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
  391. package/esm2020/lib/components/card/card.component.mjs +0 -54
  392. package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
  393. package/esm2020/lib/components/content/content.component.mjs +0 -60
  394. package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
  395. package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
  396. package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
  397. package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
  398. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
  399. package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
  400. package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
  401. package/esm2020/lib/components/error/error.component.mjs +0 -85
  402. package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
  403. package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
  404. package/esm2020/lib/components/footer/footer.component.mjs +0 -337
  405. package/esm2020/lib/components/header/header.component.mjs +0 -566
  406. package/esm2020/lib/components/help/help.component.mjs +0 -48
  407. package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
  408. package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
  409. package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
  410. package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
  411. package/esm2020/lib/components/mask/mask.component.mjs +0 -48
  412. package/esm2020/lib/components/menu/menu.component.mjs +0 -430
  413. package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
  414. package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
  415. package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
  416. package/esm2020/lib/components/msg/msg.component.mjs +0 -48
  417. package/esm2020/lib/components/news/news.component.mjs +0 -89
  418. package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
  419. package/esm2020/lib/components/page/page.component.mjs +0 -138
  420. package/esm2020/lib/components/profile/profile.component.mjs +0 -182
  421. package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
  422. package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
  423. package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
  424. package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
  425. package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
  426. package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
  427. package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
  428. package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
  429. package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
  430. package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
  431. package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
  432. package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
  433. package/esm2020/lib/components/select/select.component.mjs +0 -153
  434. package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
  435. package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
  436. package/esm2020/lib/components/test/test.component.mjs +0 -18
  437. package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
  438. package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
  439. package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
  440. package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
  441. package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
  442. package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
  443. package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
  444. package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
  445. package/esm2020/lib/models/dashboard-model.mjs +0 -3
  446. package/esm2020/lib/models/dependent.model.mjs +0 -8
  447. package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
  448. package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
  449. package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
  450. package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
  451. package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
  452. package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
  453. package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
  454. package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
  455. package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
  456. package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
  457. package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
  458. package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
  459. package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
  460. package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
  461. package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
  462. package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
  463. package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
  464. package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
  465. package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
  466. package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
  467. package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
  468. package/esm2020/lib/services/login/login.service.mjs +0 -330
  469. package/esm2020/lib/validations/AppRegex.mjs +0 -45
  470. package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
  471. package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
  472. package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
@@ -1,800 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ClaimAppEmpResponseModel } from '../../models/questionnaire/ClaimAppEmpResponseModel';
4
- import { ClaimAppEmployerDetailsModel } from '../../models/questionnaire/ClaimAppEmployerDetailsModel';
5
- import { ClaimAppEmpRequestModel } from '../../models/questionnaire/ClaimAppEmpRequestModel';
6
- import { ClaimOnlyEmployerDataModel } from '../../models/questionnaire/ClaimOnlyEmployerDataModel';
7
- import { EmployerWagesModel } from '../../models/questionnaire/EmployerWagesModel';
8
- import { ComboOption } from '../../models/questionnaire/ComboModel';
9
- import { FbConstants } from '../questionnaire/FbConstants';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@ionic/angular";
12
- import * as i2 from "../../services/logger/logger.service";
13
- import * as i3 from "../../services/questionnaire/validation.service";
14
- import * as i4 from "../../services/util/util.service";
15
- import * as i5 from "../../services/login/login.service";
16
- import * as i6 from "@angular/router";
17
- import * as i7 from "../../services/claims/claims.service";
18
- import * as i8 from "@ionic/storage";
19
- import * as i9 from "@angular/common";
20
- import * as i10 from "primeng/api";
21
- import * as i11 from "@angular/forms";
22
- import * as i12 from "primeng/dialog";
23
- import * as i13 from "primeng/table";
24
- import * as i14 from "@fortawesome/angular-fontawesome";
25
- import * as i15 from "../add-employer/add-employer.component";
26
- import * as i16 from "@ngx-translate/core";
27
- import * as i17 from "../../pipes/trust-html/trust-html.pipe";
28
- function EmployerGridComponent_p_table_6_ng_template_2_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelementStart(0, "tr")(1, "th", 10);
30
- i0.ɵɵtext(2);
31
- i0.ɵɵpipe(3, "translate");
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵelement(4, "th");
34
- i0.ɵɵelementStart(5, "th");
35
- i0.ɵɵtext(6);
36
- i0.ɵɵpipe(7, "translate");
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵelementStart(8, "th");
39
- i0.ɵɵtext(9);
40
- i0.ɵɵpipe(10, "translate");
41
- i0.ɵɵelementEnd();
42
- i0.ɵɵelementStart(11, "th");
43
- i0.ɵɵtext(12);
44
- i0.ɵɵpipe(13, "translate");
45
- i0.ɵɵelementEnd();
46
- i0.ɵɵelementStart(14, "th");
47
- i0.ɵɵtext(15);
48
- i0.ɵɵpipe(16, "translate");
49
- i0.ɵɵelementEnd()();
50
- } if (rf & 2) {
51
- i0.ɵɵadvance(2);
52
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "induction.employment.table.employer.name"), " ");
53
- i0.ɵɵadvance(4);
54
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 7, "induction.employment.table.job.title"), " ");
55
- i0.ɵɵadvance(3);
56
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 9, "induction.employment.table.pay"), " ");
57
- i0.ɵɵadvance(3);
58
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 11, "induction.employment.table.dates"), " ");
59
- i0.ɵɵadvance(3);
60
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 13, "induction.employment.table.sep.reason"), " ");
61
- } }
62
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_1_Template(rf, ctx) { if (rf & 1) {
63
- i0.ɵɵelementStart(0, "td", 10)(1, "span", 20);
64
- i0.ɵɵtext(2, "Employer");
65
- i0.ɵɵelementEnd();
66
- i0.ɵɵelementStart(3, "span");
67
- i0.ɵɵtext(4);
68
- i0.ɵɵelement(5, "br");
69
- i0.ɵɵelementEnd();
70
- i0.ɵɵelement(6, "div", 21);
71
- i0.ɵɵpipe(7, "trustHtml");
72
- i0.ɵɵelementEnd();
73
- } if (rf & 2) {
74
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
75
- i0.ɵɵadvance(4);
76
- i0.ɵɵtextInterpolate1(" ", employer_r8.employerData.displayName, " ");
77
- i0.ɵɵadvance(2);
78
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(7, 2, employer_r8.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
79
- } }
80
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_2_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "td", 10)(1, "span", 20);
82
- i0.ɵɵtext(2, "Employer");
83
- i0.ɵɵelementEnd();
84
- i0.ɵɵelement(3, "span");
85
- i0.ɵɵelementEnd();
86
- } }
87
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_3_Template(rf, ctx) { if (rf & 1) {
88
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
89
- i0.ɵɵtext(2, "Employer");
90
- i0.ɵɵelementEnd();
91
- i0.ɵɵelementStart(3, "span");
92
- i0.ɵɵtext(4);
93
- i0.ɵɵelement(5, "br");
94
- i0.ɵɵelementEnd()();
95
- } if (rf & 2) {
96
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
97
- i0.ɵɵadvance(4);
98
- i0.ɵɵtextInterpolate1(" ", employer_r8.serviceBranch.text, " ");
99
- } }
100
- const _c0 = function () { return ["fal", "edit"]; };
101
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_5_Template(rf, ctx) { if (rf & 1) {
102
- const _r35 = i0.ɵɵgetCurrentView();
103
- i0.ɵɵelementStart(0, "ion-button", 23);
104
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_5_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r35); const employer_r8 = i0.ɵɵnextContext(2).$implicit; const ctx_r33 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r33.editBasePeriodEmployer(employer_r8)); });
105
- i0.ɵɵelement(1, "fa-icon", 24);
106
- i0.ɵɵelementEnd();
107
- } if (rf & 2) {
108
- i0.ɵɵadvance(1);
109
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c0));
110
- } }
111
- const _c1 = function () { return ["fal", "check-circle"]; };
112
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_6_Template(rf, ctx) { if (rf & 1) {
113
- const _r38 = i0.ɵɵgetCurrentView();
114
- i0.ɵɵelementStart(0, "ion-button", 25);
115
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_6_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const employer_r8 = i0.ɵɵnextContext(2).$implicit; const ctx_r36 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r36.finish(employer_r8)); });
116
- i0.ɵɵelement(1, "fa-icon", 24);
117
- i0.ɵɵelementEnd();
118
- } if (rf & 2) {
119
- i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c1));
121
- } }
122
- const _c2 = function () { return ["fal", "trash-alt"]; };
123
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_7_Template(rf, ctx) { if (rf & 1) {
124
- const _r41 = i0.ɵɵgetCurrentView();
125
- i0.ɵɵelementStart(0, "ion-button", 26);
126
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_7_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r41); const rowIndex_r9 = i0.ɵɵnextContext(2).rowIndex; const ctx_r39 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r39.deleteEmployer(rowIndex_r9)); });
127
- i0.ɵɵelement(1, "fa-icon", 24);
128
- i0.ɵɵelementEnd();
129
- } if (rf & 2) {
130
- i0.ɵɵadvance(1);
131
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c2));
132
- } }
133
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_8_Template(rf, ctx) { if (rf & 1) {
134
- const _r44 = i0.ɵɵgetCurrentView();
135
- i0.ɵɵelementStart(0, "ion-button", 26);
136
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_8_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(2); const employer_r8 = ctx_r43.$implicit; const rowIndex_r9 = ctx_r43.rowIndex; const ctx_r42 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r42.removeEmployment(employer_r8, rowIndex_r9)); });
137
- i0.ɵɵelement(1, "fa-icon", 24);
138
- i0.ɵɵelementEnd();
139
- } if (rf & 2) {
140
- i0.ɵɵadvance(1);
141
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c2));
142
- } }
143
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_9_Template(rf, ctx) { if (rf & 1) {
144
- const _r47 = i0.ɵɵgetCurrentView();
145
- i0.ɵɵelementStart(0, "ion-button", 27);
146
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_9_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r47); const employer_r8 = i0.ɵɵnextContext(2).$implicit; const ctx_r45 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r45.editEmployer(employer_r8)); });
147
- i0.ɵɵelement(1, "fa-icon", 24);
148
- i0.ɵɵelementEnd();
149
- } if (rf & 2) {
150
- i0.ɵɵadvance(1);
151
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c0));
152
- } }
153
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_10_Template(rf, ctx) { if (rf & 1) {
154
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
155
- i0.ɵɵtext(2, "Job Title");
156
- i0.ɵɵelementEnd();
157
- i0.ɵɵtext(3);
158
- i0.ɵɵelementEnd();
159
- } if (rf & 2) {
160
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
161
- i0.ɵɵadvance(3);
162
- i0.ɵɵtextInterpolate(employer_r8.jobTileOrPosition);
163
- } }
164
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_11_Template(rf, ctx) { if (rf & 1) {
165
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
166
- i0.ɵɵtext(2, "Job Title");
167
- i0.ɵɵelementEnd()();
168
- } }
169
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_12_Template(rf, ctx) { if (rf & 1) {
170
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
171
- i0.ɵɵtext(2, "Job Title");
172
- i0.ɵɵelementEnd();
173
- i0.ɵɵtext(3);
174
- i0.ɵɵelementEnd();
175
- } if (rf & 2) {
176
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
177
- i0.ɵɵadvance(3);
178
- i0.ɵɵtextInterpolate(employer_r8.fedJobTileOrPosition);
179
- } }
180
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_13_Template(rf, ctx) { if (rf & 1) {
181
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
182
- i0.ɵɵtext(2, "Pay");
183
- i0.ɵɵelementEnd();
184
- i0.ɵɵtext(3);
185
- i0.ɵɵpipe(4, "currency");
186
- i0.ɵɵelementEnd();
187
- } if (rf & 2) {
188
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
189
- i0.ɵɵadvance(3);
190
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(4, 2, employer_r8.payRate), "/", employer_r8.payRateFrequency.text, "");
191
- } }
192
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_14_Template(rf, ctx) { if (rf & 1) {
193
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
194
- i0.ɵɵtext(2, "Pay");
195
- i0.ɵɵelementEnd()();
196
- } }
197
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_15_Template(rf, ctx) { if (rf & 1) {
198
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
199
- i0.ɵɵtext(2, "Pay");
200
- i0.ɵɵelementEnd()();
201
- } }
202
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_16_Template(rf, ctx) { if (rf & 1) {
203
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
204
- i0.ɵɵtext(2, "Start and End");
205
- i0.ɵɵelementEnd();
206
- i0.ɵɵtext(3);
207
- i0.ɵɵpipe(4, "date");
208
- i0.ɵɵpipe(5, "date");
209
- i0.ɵɵelementEnd();
210
- } if (rf & 2) {
211
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
212
- i0.ɵɵadvance(3);
213
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r8.startDate, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r8.endDate, "M/d/yyyy"), " ");
214
- } }
215
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_17_Template(rf, ctx) { if (rf & 1) {
216
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
217
- i0.ɵɵtext(2, "Start and End");
218
- i0.ɵɵelementEnd();
219
- i0.ɵɵtext(3);
220
- i0.ɵɵpipe(4, "date");
221
- i0.ɵɵpipe(5, "date");
222
- i0.ɵɵelementEnd();
223
- } if (rf & 2) {
224
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
225
- i0.ɵɵadvance(3);
226
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r8.startDateFed, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r8.endDateFed, "M/d/yyyy"), " ");
227
- } }
228
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_18_Template(rf, ctx) { if (rf & 1) {
229
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
230
- i0.ɵɵtext(2, "Start and End");
231
- i0.ɵɵelementEnd();
232
- i0.ɵɵtext(3);
233
- i0.ɵɵpipe(4, "date");
234
- i0.ɵɵpipe(5, "date");
235
- i0.ɵɵelementEnd();
236
- } if (rf & 2) {
237
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
238
- i0.ɵɵadvance(3);
239
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r8.startDateMil, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r8.endDateMil, "M/d/yyyy"), " ");
240
- } }
241
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_19_Template(rf, ctx) { if (rf & 1) {
242
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
243
- i0.ɵɵtext(2, "Start and End");
244
- i0.ɵɵelementEnd()();
245
- } }
246
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_20_Template(rf, ctx) { if (rf & 1) {
247
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
248
- i0.ɵɵtext(2, "Separation Reason");
249
- i0.ɵɵelementEnd();
250
- i0.ɵɵtext(3);
251
- i0.ɵɵelementEnd();
252
- } if (rf & 2) {
253
- const employer_r8 = i0.ɵɵnextContext(2).$implicit;
254
- i0.ɵɵadvance(3);
255
- i0.ɵɵtextInterpolate1("", employer_r8.reasonSeparation.text, " ");
256
- } }
257
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_21_Template(rf, ctx) { if (rf & 1) {
258
- i0.ɵɵelementStart(0, "td")(1, "span", 20);
259
- i0.ɵɵtext(2, "Separation Reason");
260
- i0.ɵɵelementEnd()();
261
- } }
262
- function EmployerGridComponent_p_table_6_ng_template_3_tr_0_Template(rf, ctx) { if (rf & 1) {
263
- i0.ɵɵelementStart(0, "tr", 12);
264
- i0.ɵɵtemplate(1, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_1_Template, 8, 4, "td", 13);
265
- i0.ɵɵtemplate(2, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_2_Template, 4, 0, "td", 13);
266
- i0.ɵɵtemplate(3, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_3_Template, 6, 1, "td", 14);
267
- i0.ɵɵelementStart(4, "td", 15);
268
- i0.ɵɵtemplate(5, EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_5_Template, 2, 2, "ion-button", 16);
269
- i0.ɵɵtemplate(6, EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_6_Template, 2, 2, "ion-button", 17);
270
- i0.ɵɵtemplate(7, EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_7_Template, 2, 2, "ion-button", 18);
271
- i0.ɵɵtemplate(8, EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_8_Template, 2, 2, "ion-button", 18);
272
- i0.ɵɵtemplate(9, EmployerGridComponent_p_table_6_ng_template_3_tr_0_ion_button_9_Template, 2, 2, "ion-button", 19);
273
- i0.ɵɵelementEnd();
274
- i0.ɵɵtemplate(10, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_10_Template, 4, 1, "td", 14);
275
- i0.ɵɵtemplate(11, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_11_Template, 3, 0, "td", 14);
276
- i0.ɵɵtemplate(12, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_12_Template, 4, 1, "td", 14);
277
- i0.ɵɵtemplate(13, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_13_Template, 5, 4, "td", 14);
278
- i0.ɵɵtemplate(14, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_14_Template, 3, 0, "td", 14);
279
- i0.ɵɵtemplate(15, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_15_Template, 3, 0, "td", 14);
280
- i0.ɵɵtemplate(16, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_16_Template, 6, 8, "td", 14);
281
- i0.ɵɵtemplate(17, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_17_Template, 6, 8, "td", 14);
282
- i0.ɵɵtemplate(18, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_18_Template, 6, 8, "td", 14);
283
- i0.ɵɵtemplate(19, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_19_Template, 3, 0, "td", 14);
284
- i0.ɵɵtemplate(20, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_20_Template, 4, 1, "td", 14);
285
- i0.ɵɵtemplate(21, EmployerGridComponent_p_table_6_ng_template_3_tr_0_td_21_Template, 3, 0, "td", 14);
286
- i0.ɵɵelementEnd();
287
- } if (rf & 2) {
288
- const employer_r8 = i0.ɵɵnextContext().$implicit;
289
- i0.ɵɵadvance(1);
290
- i0.ɵɵproperty("ngIf", employer_r8.employerData.displayName && employer_r8.employerType != "MIL");
291
- i0.ɵɵadvance(1);
292
- i0.ɵɵproperty("ngIf", !employer_r8.employerData.displayName && employer_r8.employerType != "MIL");
293
- i0.ɵɵadvance(1);
294
- i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL");
295
- i0.ɵɵadvance(2);
296
- i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1" && employer_r8.payRate && employer_r8.startDate);
297
- i0.ɵɵadvance(1);
298
- i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1" && !employer_r8.payRate && !employer_r8.startDate);
299
- i0.ɵɵadvance(1);
300
- i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "0");
301
- i0.ɵɵadvance(1);
302
- i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "1");
303
- i0.ɵɵadvance(1);
304
- i0.ɵɵproperty("ngIf", employer_r8.bpEmployerFlag === "0");
305
- i0.ɵɵadvance(1);
306
- i0.ɵɵproperty("ngIf", employer_r8.jobTileOrPosition && !employer_r8.fedJobTileOrPosition);
307
- i0.ɵɵadvance(1);
308
- i0.ɵɵproperty("ngIf", !employer_r8.jobTileOrPosition && !employer_r8.fedJobTileOrPosition);
309
- i0.ɵɵadvance(1);
310
- i0.ɵɵproperty("ngIf", employer_r8.fedJobTileOrPosition && !employer_r8.jobTileOrPosition);
311
- i0.ɵɵadvance(1);
312
- i0.ɵɵproperty("ngIf", employer_r8.payRate);
313
- i0.ɵɵadvance(1);
314
- i0.ɵɵproperty("ngIf", !employer_r8.payRate);
315
- i0.ɵɵadvance(1);
316
- i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL");
317
- i0.ɵɵadvance(1);
318
- i0.ɵɵproperty("ngIf", employer_r8.employerType === "REG");
319
- i0.ɵɵadvance(1);
320
- i0.ɵɵproperty("ngIf", employer_r8.employerType === "FED");
321
- i0.ɵɵadvance(1);
322
- i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL");
323
- i0.ɵɵadvance(1);
324
- i0.ɵɵproperty("ngIf", !employer_r8.startDate && !employer_r8.startDateFed && !employer_r8.startDateMil);
325
- i0.ɵɵadvance(1);
326
- i0.ɵɵproperty("ngIf", employer_r8.employerType != "MIL" && employer_r8.reasonSeparation);
327
- i0.ɵɵadvance(1);
328
- i0.ɵɵproperty("ngIf", employer_r8.employerType === "MIL" && !employer_r8.reasonSeparation);
329
- } }
330
- function EmployerGridComponent_p_table_6_ng_template_3_Template(rf, ctx) { if (rf & 1) {
331
- i0.ɵɵtemplate(0, EmployerGridComponent_p_table_6_ng_template_3_tr_0_Template, 22, 20, "tr", 11);
332
- } if (rf & 2) {
333
- const employer_r8 = ctx.$implicit;
334
- i0.ɵɵproperty("ngIf", employer_r8.empDeleted != "Y");
335
- } }
336
- const _c3 = function () { return ["fal", "plus"]; };
337
- function EmployerGridComponent_p_table_6_ng_template_4_Template(rf, ctx) { if (rf & 1) {
338
- const _r58 = i0.ɵɵgetCurrentView();
339
- i0.ɵɵelementStart(0, "table")(1, "tr")(2, "td", 28);
340
- i0.ɵɵelement(3, "div", 1);
341
- i0.ɵɵpipe(4, "trustHtml");
342
- i0.ɵɵpipe(5, "translate");
343
- i0.ɵɵelementEnd();
344
- i0.ɵɵelementStart(6, "td", 29)(7, "ion-button", 30);
345
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_6_ng_template_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r58); const ctx_r57 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r57.addNewEmpDetails()); });
346
- i0.ɵɵelement(8, "fa-icon", 24);
347
- i0.ɵɵelementEnd()();
348
- i0.ɵɵelementStart(9, "td", 31);
349
- i0.ɵɵtext(10, "\u00A0");
350
- i0.ɵɵelementEnd()()();
351
- } if (rf & 2) {
352
- i0.ɵɵadvance(2);
353
- i0.ɵɵattribute("colspan", 2);
354
- i0.ɵɵadvance(1);
355
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(4, 3, i0.ɵɵpipeBind1(5, 5, "induction.employment.footer.label")), i0.ɵɵsanitizeHtml);
356
- i0.ɵɵadvance(5);
357
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(7, _c3));
358
- } }
359
- function EmployerGridComponent_p_table_6_Template(rf, ctx) { if (rf & 1) {
360
- i0.ɵɵelementStart(0, "p-table", 5, 6);
361
- i0.ɵɵtemplate(2, EmployerGridComponent_p_table_6_ng_template_2_Template, 17, 15, "ng-template", 7);
362
- i0.ɵɵtemplate(3, EmployerGridComponent_p_table_6_ng_template_3_Template, 1, 1, "ng-template", 8);
363
- i0.ɵɵtemplate(4, EmployerGridComponent_p_table_6_ng_template_4_Template, 11, 8, "ng-template", 9);
364
- i0.ɵɵelementEnd();
365
- } if (rf & 2) {
366
- const ctx_r0 = i0.ɵɵnextContext();
367
- i0.ɵɵproperty("columns", ctx_r0.cols)("value", ctx_r0.claimAppEmpResponseModelFromService.bpEmpList)("loading", ctx_r0.showProgressBar)("rowHover", true);
368
- } }
369
- function EmployerGridComponent_app_add_employer_7_Template(rf, ctx) { if (rf & 1) {
370
- const _r60 = i0.ɵɵgetCurrentView();
371
- i0.ɵɵelementStart(0, "app-add-employer", 32);
372
- i0.ɵɵlistener("success", function EmployerGridComponent_app_add_employer_7_Template_app_add_employer_success_0_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r59.addEmployer($event)); })("basePeriodIndex", function EmployerGridComponent_app_add_employer_7_Template_app_add_employer_basePeriodIndex_0_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r61 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r61.deleteBpEmpl($event)); })("modelCancel", function EmployerGridComponent_app_add_employer_7_Template_app_add_employer_modelCancel_0_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r62 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r62.onModelCancel($event)); });
373
- i0.ɵɵelementEnd();
374
- } if (rf & 2) {
375
- const ctx_r1 = i0.ɵɵnextContext();
376
- i0.ɵɵproperty("recordIndexToEdit", ctx_r1.indexToEdit)("isBasePeriodEmployer", ctx_r1.isBasePeriodEmployer)("isNewClaim", ctx_r1.isNewClaim);
377
- } }
378
- function EmployerGridComponent_p_dialog_8_ng_template_18_Template(rf, ctx) { if (rf & 1) {
379
- const _r65 = i0.ɵɵgetCurrentView();
380
- i0.ɵɵelementStart(0, "ion-button", 36);
381
- i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_8_ng_template_18_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r65); const ctx_r64 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r64.close()); });
382
- i0.ɵɵtext(1);
383
- i0.ɵɵpipe(2, "translate");
384
- i0.ɵɵelementEnd();
385
- i0.ɵɵelementStart(3, "ion-button", 37);
386
- i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_8_ng_template_18_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r65); const ctx_r66 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r66.removeBasePeriodEmployer()); });
387
- i0.ɵɵtext(4);
388
- i0.ɵɵpipe(5, "translate");
389
- i0.ɵɵelementEnd();
390
- } if (rf & 2) {
391
- i0.ɵɵadvance(1);
392
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "induction.employment.grid.popup.cancel"), " ");
393
- i0.ɵɵadvance(3);
394
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, "induction.employment.grid.popup.remove"), " ");
395
- } }
396
- const _c4 = function () { return { width: "45vw" }; };
397
- const _c5 = function () { return { "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" }; };
398
- function EmployerGridComponent_p_dialog_8_Template(rf, ctx) { if (rf & 1) {
399
- i0.ɵɵelementStart(0, "p-dialog", 33)(1, "h4", 34);
400
- i0.ɵɵtext(2);
401
- i0.ɵɵpipe(3, "translate");
402
- i0.ɵɵelementEnd();
403
- i0.ɵɵelementStart(4, "ion-label");
404
- i0.ɵɵtext(5);
405
- i0.ɵɵelementEnd();
406
- i0.ɵɵelementStart(6, "ion-label");
407
- i0.ɵɵelement(7, "div", 21);
408
- i0.ɵɵpipe(8, "trustHtml");
409
- i0.ɵɵelementEnd();
410
- i0.ɵɵelement(9, "br");
411
- i0.ɵɵelementStart(10, "ion-label");
412
- i0.ɵɵtext(11);
413
- i0.ɵɵpipe(12, "translate");
414
- i0.ɵɵelementEnd();
415
- i0.ɵɵelement(13, "br")(14, "br");
416
- i0.ɵɵelementStart(15, "ion-label");
417
- i0.ɵɵtext(16);
418
- i0.ɵɵpipe(17, "translate");
419
- i0.ɵɵelementEnd();
420
- i0.ɵɵtemplate(18, EmployerGridComponent_p_dialog_8_ng_template_18_Template, 6, 6, "ng-template", 35);
421
- i0.ɵɵelementEnd();
422
- } if (rf & 2) {
423
- const ctx_r2 = i0.ɵɵnextContext();
424
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(21, _c4));
425
- i0.ɵɵproperty("visible", ctx_r2.showConfirmPopup)("modal", true)("breakpoints", i0.ɵɵpureFunction0(22, _c5))("baseZIndex", 5000)("draggable", false)("resizable", false);
426
- i0.ɵɵadvance(2);
427
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 13, "induction.employment.grid.popup.heading"));
428
- i0.ɵɵadvance(3);
429
- i0.ɵɵtextInterpolate(ctx_r2.selectedEmployer.employerData.displayName);
430
- i0.ɵɵadvance(2);
431
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(8, 15, ctx_r2.selectedEmployer.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
432
- i0.ɵɵadvance(4);
433
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 17, "induction.employment.grid.popup.failure.label"), " ");
434
- i0.ɵɵadvance(5);
435
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 19, "induction.employment.grid.popup.didnt.work.label"), " ");
436
- } }
437
- export class EmployerGridComponent {
438
- constructor(popup, logger, validationService, navController, util, ls, activatedRoute, claimsService, storage) {
439
- this.popup = popup;
440
- this.logger = logger;
441
- this.validationService = validationService;
442
- this.navController = navController;
443
- this.util = util;
444
- this.ls = ls;
445
- this.activatedRoute = activatedRoute;
446
- this.claimsService = claimsService;
447
- this.storage = storage;
448
- this.claimAppEmpResponseModelFromService = new ClaimAppEmpResponseModel();
449
- this.modelDisplay = new EventEmitter();
450
- this.onComplete = new EventEmitter();
451
- this.claimdetailModel = new ClaimAppEmployerDetailsModel();
452
- this.caimAppEmpResponseModel = new ClaimAppEmpResponseModel();
453
- this.isBasePeriodEmployer = false;
454
- this.isNewClaim = false;
455
- this.showConfirmPopup = false;
456
- this.showProgressBar = false;
457
- this.uuid = null;
458
- this.dischargeReasonOptionsAll = [];
459
- this.volQuitReasonOptionsAll = [];
460
- this.employmentStatusOptionsAll = [];
461
- this.payRateOptions = ComboOption.PAY_PERIOD;
462
- this.countryOptions = ComboOption.COUNTRY;
463
- this.workCountryOptions = ComboOption.WORK_COUNTRY;
464
- this.statesOptions = ComboOption.US_STATES;
465
- this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
466
- this.onChange = (value) => {
467
- };
468
- this.onTouch = () => {
469
- };
470
- }
471
- loadMasterData() {
472
- this.claimsService.loadMasterData();
473
- this.claimsService.getReasonSeparation().subscribe(value => {
474
- value.forEach(arr => this.employmentStatusOptionsAll.push(arr));
475
- });
476
- this.claimsService.getDischargeReasons().subscribe(value => {
477
- value.forEach(arr => this.dischargeReasonOptionsAll.push(arr));
478
- });
479
- this.claimsService.getQuitReasons().subscribe(value => {
480
- value.forEach(arr => this.volQuitReasonOptionsAll.push(arr));
481
- });
482
- }
483
- ngOnInit() {
484
- this.logger.debug('ng onit of employer grid');
485
- this.loadMasterData();
486
- this.cols = [
487
- { field: 'employer', header: 'Employer' },
488
- { field: 'jobTitle', header: 'Job Title' },
489
- { field: 'Pay', header: 'Pay' },
490
- { field: 'startEndDate', header: 'Start and End' },
491
- { field: 'separationReason', header: 'Separation Reason' },
492
- { field: '', header: '' }
493
- ];
494
- if (this.validationService.bpEmpLstFrmService) {
495
- this.validationService.bpEmpLstFrmService.subscribe(res => {
496
- if (res) {
497
- this.claimAppEmpResponseModelFromService = res.valueOf();
498
- if (this.claimAppEmpResponseModelFromService && this.claimAppEmpResponseModelFromService.isNewClaimApplication) {
499
- this.isNewClaim = this.claimAppEmpResponseModelFromService.isNewClaimApplication.valueOf();
500
- }
501
- }
502
- });
503
- }
504
- }
505
- async addNewEmpDetails() {
506
- this.display = true;
507
- this.isBasePeriodEmployer = false;
508
- this.modelDisplay.emit(true);
509
- }
510
- writeValue(value) {
511
- if (value) {
512
- this.validationService.bpEmpLstFrmService.next(value);
513
- }
514
- else {
515
- this.setupEmployer();
516
- }
517
- }
518
- registerOnChange(fn) {
519
- this.onChange = fn;
520
- }
521
- registerOnTouched(fn) {
522
- this.onTouch = fn;
523
- }
524
- async fetchIdentifier() {
525
- let data = this.activatedRoute.snapshot.queryParamMap.get('identifier');
526
- this.logger.debug("data for identifier is : ", data);
527
- if (data) {
528
- this.uuid = data;
529
- }
530
- else {
531
- this.uuid = await this.storage.get(FbConstants.uuid);
532
- }
533
- }
534
- setupEmployer() {
535
- let model = new ClaimAppEmpRequestModel();
536
- if (!this.validationService.bpEmpLstFrmService.getValue()) {
537
- this.fetchIdentifier();
538
- this.logger.debug('uuid is ====', this.uuid);
539
- let url = "";
540
- if (this.ls.isClaimant() === true) {
541
- url = "/claims-service/claim/claimant/app/bpemployers";
542
- let objData = this.activatedRoute.snapshot.queryParamMap.get('data');
543
- if (objData && (this.uuid == undefined || this.uuid == null)) {
544
- //console.log('objData ====', objData);
545
- model.flowFrom = "Aic-Reopen-flow";
546
- }
547
- }
548
- else {
549
- let data = this.activatedRoute.snapshot.queryParamMap.get('key');
550
- if (data) {
551
- this.ssnForCSR = JSON.parse(atob(data));
552
- model.ssn = this.ssnForCSR;
553
- }
554
- url = "/claims-service/claim/app/bpemployers";
555
- }
556
- this.logger.debug('the uuid used in model is : ', this.uuid);
557
- if (model.flowFrom === 'Aic-Reopen-flow') {
558
- this.fetchEmployersFromBackEnd(model, url);
559
- }
560
- else if (this.uuid) {
561
- model.uuid = this.uuid;
562
- this.fetchEmployersFromBackEnd(model, url);
563
- }
564
- else {
565
- this.logger.debug("Keep waiting....uuid not found..");
566
- }
567
- }
568
- }
569
- fetchEmployersFromBackEnd(model, url) {
570
- this.showProgressBar = true;
571
- this.validationService.post(url, model).subscribe(res => {
572
- if (res.bpEmpList.length > 0) {
573
- res.bpEmpList.forEach(emp => this.setChoiseModels(emp));
574
- }
575
- this.validationService.bpEmpLstFrmService.next(res);
576
- this.onComplete.emit(this.validationService.bpEmpLstFrmService.getValue());
577
- this.onChange(this.validationService.bpEmpLstFrmService.getValue());
578
- this.logger.debug('employer List from Service', this.validationService.bpEmpLstFrmService.getValue());
579
- this.showProgressBar = false;
580
- }, err => {
581
- let list = new ClaimAppEmpResponseModel();
582
- this.validationService.bpEmpLstFrmService.next(list);
583
- this.showProgressBar = false;
584
- });
585
- }
586
- deleteBpEmpl(event) {
587
- this.logger.debug('Delete method called ', event);
588
- this.claimAppEmpResponseModelFromService.bpEmpList.splice(event, 1);
589
- }
590
- deleteEmployer(elementIndex) {
591
- this.logger.debug('Delete method called for = ', elementIndex);
592
- this.isBasePeriodEmployer = false;
593
- //this.claimAppEmpResponseModelFromService.bpEmpList[elementIndex].empDeleted = "Y";
594
- this.claimAppEmpResponseModelFromService.bpEmpList.splice(elementIndex, 1);
595
- this.logger.debug('After delete list is = ', this.claimAppEmpResponseModelFromService);
596
- }
597
- deleteEmployerBasePeriod(elementIndex) {
598
- this.logger.debug('Delete method base period employer called for = ', elementIndex);
599
- this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].workFlag = "N";
600
- this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].empDeleted = "Y";
601
- this.logger.debug('After delete base period employer list is = ', this.claimAppEmpResponseModelFromService);
602
- }
603
- editEmployer(employer) {
604
- this.logger.debug('Edit method called', employer);
605
- this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
606
- this.logger.debug('Index To Edit = ', this.indexToEdit);
607
- this.display = true;
608
- }
609
- finish(employer) {
610
- this.logger.debug('Finish Employer called', employer);
611
- this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
612
- employer.workFlag = 'Y';
613
- this.isBasePeriodEmployer = true;
614
- this.display = true;
615
- this.modelDisplay.emit(true);
616
- }
617
- editBasePeriodEmployer(employer) {
618
- this.logger.debug('Edit BasePeriod Employer called for ', employer);
619
- this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
620
- this.display = true;
621
- this.isBasePeriodEmployer = true;
622
- this.logger.debug('Index To Edit = ', this.indexToEdit);
623
- }
624
- onModelCancel(cancel) {
625
- this.logger.debug('Cancel Method ', cancel);
626
- this.display = cancel;
627
- this.basePerioddisplay = cancel;
628
- this.indexToEdit = null;
629
- this.isBasePeriodEmployer = false;
630
- this.logger.debug('after value change on employer grid ', this.display);
631
- }
632
- addEmployer(event) {
633
- this.logger.debug('Add Employer called from grid ', event, 'indexToEdit', this.indexToEdit, 'this.isBasePeriodEmployer', this.isBasePeriodEmployer);
634
- if (this.indexToEdit || this.indexToEdit == 0) {
635
- this.logger.debug('Inside if of add employer -- ', event);
636
- let empDataModel = new ClaimOnlyEmployerDataModel();
637
- let empProvidedWageModel = new EmployerWagesModel();
638
- if (this.isBasePeriodEmployer) {
639
- this.claimdetailModel = new ClaimAppEmployerDetailsModel();
640
- this.claimdetailModel = event;
641
- empDataModel = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.indexToEdit].employerData;
642
- empProvidedWageModel = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.indexToEdit].employerProvidedWages;
643
- event.bpEmployerFlag = '1';
644
- event.employerData = empDataModel;
645
- event.employerProvidedWages = empProvidedWageModel;
646
- this.logger.debug('resetting the value again = ', event);
647
- }
648
- else {
649
- this.claimdetailModel = new ClaimAppEmployerDetailsModel();
650
- this.claimdetailModel = event;
651
- empDataModel = new ClaimOnlyEmployerDataModel();
652
- if (event.employerType === 'REG') {
653
- empDataModel.displayName = event.employerName;
654
- empDataModel.mailingAddressDisplay =
655
- event.address['streetAddress'] + '-' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
656
- }
657
- else if (event.employerType === 'FED') {
658
- empDataModel.displayName = event.fedEmployerName;
659
- empDataModel.mailingAddressDisplay =
660
- event.address['streetAddress'] + '-' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
661
- }
662
- else {
663
- this.logger.debug("no address for this employer type");
664
- }
665
- empDataModel.employerType = event.employerType;
666
- event.employerData = empDataModel;
667
- empDataModel.employerId = event.employerId;
668
- empDataModel.mailAddressLine1 = event.address?.streetAddress;
669
- empDataModel.mailAddressLine2 = event.address?.optionalAddress;
670
- event.bpEmployerFlag = '0';
671
- }
672
- this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.indexToEdit] = event;
673
- }
674
- else {
675
- this.logger.debug('Inside else of add employer -- ', event);
676
- this.claimdetailModel = new ClaimAppEmployerDetailsModel();
677
- let empDataModel = new ClaimOnlyEmployerDataModel();
678
- this.claimdetailModel = event;
679
- empDataModel = new ClaimOnlyEmployerDataModel();
680
- if (event.employerType === 'REG') {
681
- empDataModel.displayName = event.employerName;
682
- empDataModel.mailingAddressDisplay =
683
- event.address['streetAddress'] + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
684
- }
685
- else if (event.employerType === 'FED') {
686
- empDataModel.displayName = event.fedEmployerName;
687
- empDataModel.mailingAddressDisplay =
688
- event.address['streetAddress'] + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
689
- }
690
- else {
691
- this.logger.debug("Inside else - no address for this employer type");
692
- }
693
- empDataModel.employerType = event.employerType;
694
- empDataModel.employerId = event.employerId;
695
- empDataModel.mailAddressLine1 = event.address?.streetAddress;
696
- empDataModel.mailAddressLine2 = event.address?.optionalAddress;
697
- if (this.isBasePeriodEmployer) {
698
- this.claimdetailModel.bpEmployerFlag = '1';
699
- }
700
- else {
701
- this.claimdetailModel.bpEmployerFlag = '0';
702
- }
703
- this.claimdetailModel.employerData = empDataModel;
704
- this.validationService.bpEmpLstFrmService.getValue().bpEmpList.push(this.claimdetailModel);
705
- }
706
- this.display = false;
707
- this.indexToEdit = null;
708
- }
709
- removeEmployment(selectedEmployer, index) {
710
- this.indexToEdit = index;
711
- this.selectedEmployer = selectedEmployer;
712
- this.showConfirmPopup = true;
713
- }
714
- removeBasePeriodEmployer() {
715
- this.deleteEmployerBasePeriod(this.indexToEdit);
716
- this.showConfirmPopup = false;
717
- this.selectedEmployer = null;
718
- this.indexToEdit = null;
719
- }
720
- close() {
721
- this.indexToEdit = null;
722
- this.showConfirmPopup = false;
723
- this.selectedEmployer = null;
724
- }
725
- setChoiseModels(emp) {
726
- let sepReason = this.employmentStatusOptionsAll.filter(s => s.value == emp.reasonSeparation?.value);
727
- if (sepReason.length > 0) {
728
- emp.reasonSeparation = sepReason[0];
729
- }
730
- let dischargeReason = this.dischargeReasonOptionsAll.filter(s => s.value == emp.dischargeDetail?.value);
731
- if (dischargeReason.length > 0) {
732
- emp.dischargeDetail = dischargeReason[0];
733
- }
734
- let volQuit = this.volQuitReasonOptionsAll.filter(s => s.value == emp.volQuitDetails?.value);
735
- if (volQuit.length > 0) {
736
- emp.volQuitDetails = volQuit[0];
737
- }
738
- let payRateFrequency = this.payRateOptions.filter(s => s.value == emp.payRateFrequency?.value);
739
- if (payRateFrequency.length > 0) {
740
- emp.payRateFrequency = payRateFrequency[0];
741
- }
742
- let country = this.workCountryOptions.filter(s => s.value == emp.fedWorkCountry?.value);
743
- if (country.length > 0) {
744
- emp.fedWorkCountry = country[0];
745
- }
746
- let state = this.statesOptions.filter(s => s.value == emp.fedWorkState?.value);
747
- if (state.length > 0) {
748
- emp.fedWorkState = state[0];
749
- }
750
- let serviceBranch = this.militaryServiceOptions.filter(s => s.value == emp.serviceBranch?.value);
751
- if (serviceBranch.length > 0) {
752
- emp.serviceBranch = serviceBranch[0];
753
- }
754
- let workState = this.statesOptions.filter(s => s.value == emp.workState?.value?.trim());
755
- emp.workState = workState[0];
756
- }
757
- }
758
- EmployerGridComponent.ɵfac = function EmployerGridComponent_Factory(t) { return new (t || EmployerGridComponent)(i0.ɵɵdirectiveInject(i1.PopoverController), i0.ɵɵdirectiveInject(i2.LoggerService), i0.ɵɵdirectiveInject(i3.ValidationService), i0.ɵɵdirectiveInject(i1.NavController), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.LoginService), i0.ɵɵdirectiveInject(i6.ActivatedRoute), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.Storage)); };
759
- EmployerGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmployerGridComponent, selectors: [["app-employer-grid"]], inputs: { form: "form", dynamicParam: "dynamicParam" }, outputs: { modelDisplay: "modelDisplay", onComplete: "onComplete" }, features: [i0.ɵɵProvidersFeature([{
760
- provide: NG_VALUE_ACCESSOR,
761
- useExisting: EmployerGridComponent,
762
- multi: true
763
- }])], decls: 9, vars: 9, consts: [[2, "margin-left", "-5px", 3, "formGroup"], [3, "innerHtml"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover", 4, "ngIf"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "success", "basePeriodIndex", "modelCancel", 4, "ngIf"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "style", "baseZIndex", "draggable", "resizable", 4, "ngIf"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover"], ["dt", ""], ["pTemplate", "header"], ["pTemplate", "body"], ["pTemplate", "summary"], ["colspan", "2", 2, "width", "20%"], ["class", "ui-selectable-row", 4, "ngIf"], [1, "ui-selectable-row"], ["colspan", "2", "style", "width: 20%;", 4, "ngIf"], [4, "ngIf"], [2, "text-align", "center"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Add employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Confirm employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Remove employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Edit employer", 3, "click", 4, "ngIf"], [1, "p-column-title"], [2, "font-size", "12px", 3, "innerHtml"], ["colspan", "2", 1, "p-column-title", 2, "width", "20%"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Add employer", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Confirm employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Remove employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Edit employer", 1, "action-button", 3, "click"], [2, "width", "20%"], [2, "width", "9.75%", "text-align", "right"], ["fill", "outline", "size", "small", "aria-label", "Add employer", 1, "action-button", 3, "click"], ["colspan", "4"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "success", "basePeriodIndex", "modelCancel"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], [1, "heading"], ["pTemplate", "footer"], ["shape", "round", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "fill", "solid", 3, "click"]], template: function EmployerGridComponent_Template(rf, ctx) { if (rf & 1) {
764
- i0.ɵɵelementStart(0, "div", 0)(1, "ion-row")(2, "ion-col");
765
- i0.ɵɵelement(3, "div", 1);
766
- i0.ɵɵpipe(4, "trustHtml");
767
- i0.ɵɵpipe(5, "translate");
768
- i0.ɵɵelementEnd()();
769
- i0.ɵɵtemplate(6, EmployerGridComponent_p_table_6_Template, 5, 4, "p-table", 2);
770
- i0.ɵɵtemplate(7, EmployerGridComponent_app_add_employer_7_Template, 1, 3, "app-add-employer", 3);
771
- i0.ɵɵtemplate(8, EmployerGridComponent_p_dialog_8_Template, 19, 23, "p-dialog", 4);
772
- i0.ɵɵelementEnd();
773
- } if (rf & 2) {
774
- i0.ɵɵproperty("formGroup", ctx.form);
775
- i0.ɵɵadvance(3);
776
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(4, 5, i0.ɵɵpipeBind1(5, 7, "induction.employment.subheader")), i0.ɵɵsanitizeHtml);
777
- i0.ɵɵadvance(3);
778
- i0.ɵɵproperty("ngIf", ctx.claimAppEmpResponseModelFromService);
779
- i0.ɵɵadvance(1);
780
- i0.ɵɵproperty("ngIf", ctx.display);
781
- i0.ɵɵadvance(1);
782
- i0.ɵɵproperty("ngIf", ctx.selectedEmployer);
783
- } }, dependencies: [i1.IonButton, i1.IonCol, i1.IonLabel, i1.IonRow, i9.NgIf, i10.PrimeTemplate, i11.NgControlStatusGroup, i11.FormGroupDirective, i12.Dialog, i13.Table, i14.FaIconComponent, i15.AddEmployerComponent, i9.CurrencyPipe, i9.DatePipe, i16.TranslatePipe, i17.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(even){background:none}@media screen and (max-width: 50rem){ion-col[_ngcontent-%COMP%]{text-align:left!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%;float:left;clear:left;border:0 none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}"] });
784
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmployerGridComponent, [{
785
- type: Component,
786
- args: [{ selector: 'app-employer-grid', providers: [{
787
- provide: NG_VALUE_ACCESSOR,
788
- useExisting: EmployerGridComponent,
789
- multi: true
790
- }], changeDetection: ChangeDetectionStrategy.Default, template: "<div [formGroup]=\"form\" style=\"margin-left: -5px;\">\r\n<ion-row>\r\n <ion-col>\r\n <div [innerHtml]=\"'induction.employment.subheader' | translate | trustHtml\"></div>\r\n </ion-col>\r\n</ion-row>\r\n\r\n<p-table #dt [columns]=\"cols\" [value]=\"claimAppEmpResponseModelFromService.bpEmpList\" [loading]=\"showProgressBar\"\r\n [rowHover]=\"true\" *ngIf=\"claimAppEmpResponseModelFromService\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th colspan=\"2\" style=\"width: 20%;\">\r\n {{\"induction.employment.table.employer.name\"|translate}}\r\n </th>\r\n <th>\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.job.title\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.pay\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.dates\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.sep.reason\"|translate}}\r\n </th>\r\n \r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr class=\"ui-selectable-row\" *ngIf=\"(employer.empDeleted!='Y')\">\r\n <td *ngIf=\"employer.employerData.displayName && employer.employerType!='MIL'\" colspan=\"2\" style=\"width: 20%;\"><span class=\"p-column-title\">Employer</span><span>\r\n {{employer.employerData.displayName}} <br>\r\n </span><div style=\"font-size: 12px;\" [innerHtml]=\"employer.employerData.mailingAddressDisplay | trustHtml\">\r\n </div>\r\n </td>\r\n \r\n <td *ngIf=\"!employer.employerData.displayName && employer.employerType!='MIL'\" colspan=\"2\" style=\"width: 20%;\"><span class=\"p-column-title\">Employer</span><span>\r\n </span>\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\" colspan=\"2\" style=\"width: 20%;\">Employer</span><span>\r\n {{employer.serviceBranch.text}} <br>\r\n </span>\r\n </td>\r\n <td style=\"text-align: center;\"> \r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.payRate && employer.startDate\" color=\"success\" fill=\"outline\" \r\n (click)=\"editBasePeriodEmployer(employer);\" class=\"action-button\" aria-label=\"Add employer\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && !employer.payRate && !employer.startDate\" color=\"success\" fill=\"outline\" \r\n (click)=\"finish(employer);\" class=\"action-button\" aria-label=\"Confirm employer\">\r\n <fa-icon [icon]=\"['fal', 'check-circle']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \r\n (click)=\"deleteEmployer(rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1'\" color=\"success\" fill=\"outline\" \r\n (click)=\"removeEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n \r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \r\n (click)=\"editEmployer(employer);\" class=\"action-button\" aria-label=\"Edit employer\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td *ngIf=\"employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">Job Title</span>{{employer.jobTileOrPosition}}</td>\r\n <td *ngIf=\"!employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">Job Title</span></td>\r\n <td *ngIf=\"employer.fedJobTileOrPosition && !employer.jobTileOrPosition\"><span class=\"p-column-title\">Job Title</span>{{employer.fedJobTileOrPosition}}</td>\r\n \r\n <td *ngIf=\"employer.payRate\"><span class=\"p-column-title\">Pay</span>{{employer.payRate | currency}}/{{employer.payRateFrequency.text}}</td>\r\n <td *ngIf=\"!employer.payRate\"><span class=\"p-column-title\">Pay</span></td>\r\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\">Pay</span></td>\r\n \r\n <td *ngIf=\"employer.employerType==='REG'\"><span class=\"p-column-title\">Start and End</span>\r\n {{employer.startDate | date:'M/d/yyyy'}} - {{employer.endDate | date:'M/d/yyyy'}}\r\n </td>\r\n \r\n <td *ngIf=\"employer.employerType==='FED'\"><span class=\"p-column-title\">Start and End</span>\r\n {{employer.startDateFed | date:'M/d/yyyy'}} - {{employer.endDateFed | date:'M/d/yyyy'}}\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\">Start and End</span>\r\n {{employer.startDateMil | date:'M/d/yyyy'}} - {{employer.endDateMil | date:'M/d/yyyy'}}\r\n </td>\r\n\r\n <td *ngIf=\"!employer.startDate && !employer.startDateFed && !employer.startDateMil\"><span class=\"p-column-title\">Start and End</span></td>\r\n\r\n <td *ngIf=\"employer.employerType!='MIL' && employer.reasonSeparation\"><span class=\"p-column-title\">Separation Reason</span>{{employer.reasonSeparation.text}}\r\n </td>\r\n \r\n <td *ngIf=\"employer.employerType==='MIL' && !employer.reasonSeparation\"><span class=\"p-column-title\">Separation Reason</span>\r\n </td>\r\n \r\n \r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"summary\" let-columns>\r\n <table>\r\n <tr>\r\n <td [attr.colspan]=\"2\" style=\"width: 20%;\">\r\n <div [innerHtml]=\"'induction.employment.footer.label' | translate | trustHtml\"></div>\r\n </td>\r\n <td style=\"width: 9.75%; text-align: right;\">\r\n <ion-button fill=\"outline\" size=\"small\" class=\"action-button\" (click)=\"addNewEmpDetails()\" class=\"action-button\" aria-label=\"Add employer\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td colspan=\"4\">&nbsp;</td>\r\n </tr>\r\n </table>\r\n </ng-template>\r\n\r\n</p-table>\r\n <app-add-employer *ngIf=\"display\" (success)=\"addEmployer($event)\" [recordIndexToEdit]=\"indexToEdit\" \r\n (basePeriodIndex)=\"deleteBpEmpl($event)\" [isBasePeriodEmployer]=\"isBasePeriodEmployer\" [isNewClaim]=\"isNewClaim\" (modelCancel)=\"onModelCancel($event)\">\r\n </app-add-employer>\r\n\r\n <p-dialog [visible]=\"showConfirmPopup\" [modal]=\"true\" appendTo=\"body\" position=\"top\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" [style]=\"{width: '45vw'}\"\r\n [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\" closeOnEscape=\"false\" *ngIf=\"selectedEmployer\">\r\n <h4 class=\"heading\">{{'induction.employment.grid.popup.heading' | translate}}</h4>\r\n <ion-label>{{selectedEmployer.employerData.displayName}}</ion-label>\r\n <ion-label><div style=\"font-size: 12px;\" [innerHtml]=\"selectedEmployer.employerData.mailingAddressDisplay | trustHtml\"></div></ion-label><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.failure.label' | translate}}\r\n </ion-label><br/><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.didnt.work.label' | translate}}\r\n </ion-label>\r\n <ng-template pTemplate=\"footer\">\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"outline\" (click)=\"close()\">\r\n {{'induction.employment.grid.popup.cancel' | translate}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"solid\" (click)=\"removeBasePeriodEmployer()\">\r\n {{'induction.employment.grid.popup.remove' | translate}}\r\n </ion-button>\r\n </ng-template>\r\n </p-dialog>\r\n</div>", styles: [":host ::ng-deep .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(even){background:none}@media screen and (max-width: 50rem){ion-col{text-align:left!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%;float:left;clear:left;border:0 none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}\n"] }]
791
- }], function () { return [{ type: i1.PopoverController }, { type: i2.LoggerService }, { type: i3.ValidationService }, { type: i1.NavController }, { type: i4.UtilService }, { type: i5.LoginService }, { type: i6.ActivatedRoute }, { type: i7.ClaimService }, { type: i8.Storage }]; }, { form: [{
792
- type: Input
793
- }], dynamicParam: [{
794
- type: Input
795
- }], modelDisplay: [{
796
- type: Output
797
- }], onComplete: [{
798
- type: Output
799
- }] }); })();
800
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZW1wbG95ZXItZ3JpZC9lbXBsb3llci1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbXBsb3llci1ncmlkL2VtcGxveWVyLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUEwQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBS25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBR25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDTnZELDBCQUFJLGFBQUE7SUFFQSxZQUNGOztJQUFBLGlCQUFLO0lBQ0wscUJBQ007SUFDTiwwQkFBSTtJQUNGLFlBQ0Q7O0lBQUEsaUJBQUs7SUFDTCwwQkFBSTtJQUNILFlBQ0Q7O0lBQUEsaUJBQUs7SUFDTCwyQkFB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QUFtRCxjQUFBLGNBQUE7UUFHL0MseUJBQWtGOzs7UUFDcEYsaUJBQVUsRUFBQTtRQUdaLDhFQW1IVTtRQUNSLGdHQUVtQjtRQUVuQixrRkFtQmE7UUFDZixpQkFBTTs7UUFuSkQsb0NBQWtCO1FBR2QsZUFBc0U7UUFBdEUsMkhBQXNFO1FBSzNELGVBQXlDO1FBQXpDLDhEQUF5QztRQW1IeEMsZUFBYTtRQUFiLGtDQUFhO1FBS3FFLGVBQXNCO1FBQXRCLDJDQUFzQjs7dUZEbEdoSCxxQkFBcUI7Y0FYakMsU0FBUzsyQkFDRSxtQkFBbUIsYUFHbEIsQ0FBQzt3QkFDVixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLHVCQUF1Qjt3QkFDbEMsS0FBSyxFQUFFLElBQUk7cUJBQ1osQ0FBQyxtQkFDZSx1QkFBdUIsQ0FBQyxPQUFPOytSQWF2QyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLO1lBR0ksWUFBWTtrQkFBckIsTUFBTTtZQUNHLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsJztcbmltcG9ydCB7IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFbXBsb3llcldhZ2VzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9FbXBsb3llcldhZ2VzTW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcbmltcG9ydCB7IENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcbmltcG9ydCB7IEZiQ29uc3RhbnRzIH0gZnJvbSAnLi4vcXVlc3Rpb25uYWlyZS9GYkNvbnN0YW50cyc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZW1wbG95ZXItZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbXBsb3llci1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEVtcGxveWVyR3JpZENvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0XG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVyR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwb3B1cDogUG9wb3ZlckNvbnRyb2xsZXIsIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHVibGljIHZhbGlkYXRpb25TZXJ2aWNlOiBWYWxpZGF0aW9uU2VydmljZSwgcHVibGljIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxcbiAgICBwdWJsaWMgbHM6IExvZ2luU2VydmljZSwgcHVibGljIGFjdGl2YXRlZFJvdXRlIDogQWN0aXZhdGVkUm91dGUsIHB1YmxpYyBjbGFpbXNTZXJ2aWNlIDogQ2xhaW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZSA6IFN0b3JhZ2UpIHtcblxuICB9XG5cbiAgY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2U6ICBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsKCk7XG4gIGNvbHM6IGFueVtdO1xuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBASW5wdXQoKSBkeW5hbWljUGFyYW0gOiBhbnk7XG4gIGRpc3BsYXk6IGJvb2xlYW47XG4gIGJhc2VQZXJpb2RkaXNwbGF5OiBib29sZWFuO1xuICBAT3V0cHV0KCkgbW9kZWxEaXNwbGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY2xhaW1kZXRhaWxNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XG4gIGNhaW1BcHBFbXBSZXNwb25zZU1vZGVsID0gbmV3IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCgpO1xuICBzZWxlY3RlZEVtcGxveWVyOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsO1xuICBzZWxlY3RlZEJhc2VQZXJpb2RFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbDtcbiAgcHVibGljIGluZGV4VG9FZGl0O1xuICBwdWJsaWMgaXNCYXNlUGVyaW9kRW1wbG95ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzTmV3Q2xhaW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNob3dDb25maXJtUG9wdXAgOiBib29sZWFuID0gZmFsc2U7XG4gIHNzbkZvckNTUiA6IHN0cmluZztcbiAgcHVibGljIHNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICB1dWlkOiBzdHJpbmcgPSBudWxsO1xuXG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyBlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcbiAgcHVibGljIGNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgcHVibGljIHdvcmtDb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfQ09VTlRSWTtcbiAgcHVibGljIHN0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5VU19TVEFURVM7XG4gIHB1YmxpYyBtaWxpdGFyeVNlcnZpY2VPcHRpb25zID0gQ29tYm9PcHRpb24uTUlMSVRBUllfU0VSVklDRTtcblxuICBsb2FkTWFzdGVyRGF0YSgpe1xuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkTWFzdGVyRGF0YSgpO1xuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UXVpdFJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuICBcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ25nIG9uaXQgb2YgZW1wbG95ZXIgZ3JpZCcpXG4gICAgdGhpcy5sb2FkTWFzdGVyRGF0YSgpO1xuICAgIHRoaXMuY29scyA9IFtcbiAgICAgIHsgZmllbGQ6ICdlbXBsb3llcicsIGhlYWRlcjogJ0VtcGxveWVyJyB9LFxuICAgICAgeyBmaWVsZDogJ2pvYlRpdGxlJywgaGVhZGVyOiAnSm9iIFRpdGxlJyB9LFxuICAgICAgeyBmaWVsZDogJ1BheScsIGhlYWRlcjogJ1BheScgfSxcbiAgICAgIHsgZmllbGQ6ICdzdGFydEVuZERhdGUnLCBoZWFkZXI6ICdTdGFydCBhbmQgRW5kJyB9LFxuICAgICAgeyBmaWVsZDogJ3NlcGFyYXRpb25SZWFzb24nLCBoZWFkZXI6ICdTZXBhcmF0aW9uIFJlYXNvbicgfSxcbiAgICAgIHsgZmllbGQ6ICcnLCBoZWFkZXI6ICcnIH1cbiAgICBdO1xuICAgIGlmICh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2Uuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UgPSByZXMudmFsdWVPZigpO1xuICAgICAgICAgICAgaWYodGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZSAmJiB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmlzTmV3Q2xhaW1BcHBsaWNhdGlvbil7XG4gICAgICAgICAgICAgIHRoaXMuaXNOZXdDbGFpbSA9IHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuaXNOZXdDbGFpbUFwcGxpY2F0aW9uLnZhbHVlT2YoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBhc3luYyBhZGROZXdFbXBEZXRhaWxzKCkge1xuICAgIHRoaXMuZGlzcGxheSA9IHRydWU7XG4gICAgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcj1mYWxzZTtcbiAgICB0aGlzLm1vZGVsRGlzcGxheS5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xuICB9O1xuXG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XG4gIH07XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYodmFsdWUpe1xuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dCh2YWx1ZSk7XG4gICAgfSBlbHNle1xuICAgICAgdGhpcy5zZXR1cEVtcGxveWVyKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoID0gZm5cbiAgfVxuXG4gIGFzeW5jIGZldGNoSWRlbnRpZmllcigpe1xuICAgIGxldCBkYXRhID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnaWRlbnRpZmllcicpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiZGF0YSBmb3IgaWRlbnRpZmllciBpcyA6IFwiLCBkYXRhKVxuICAgICAgaWYoZGF0YSl7ICAgICAgICAgIFxuICAgICAgICB0aGlzLnV1aWQgPSBkYXRhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51dWlkID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy51dWlkKTtcbiAgICAgIH1cbiAgfVxuICBzZXR1cEVtcGxveWVyKCkge1xuICAgIGxldCBtb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCgpO1xuICAgIGlmICghdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSkge1xuICAgICAgdGhpcy5mZXRjaElkZW50aWZpZXIoKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1dWlkIGlzID09PT0nLCB0aGlzLnV1aWQpO1xuICAgICAgbGV0IHVybCA9IFwiXCI7XG4gICAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSA9PT0gdHJ1ZSl7XG4gICAgICAgIHVybCA9IFwiL2NsYWltcy1zZXJ2aWNlL2NsYWltL2NsYWltYW50L2FwcC9icGVtcGxveWVyc1wiOyAgICAgXG4gICAgICAgIGxldCBvYmpEYXRhID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGF0YScpO1xuICAgICAgICBpZihvYmpEYXRhICYmICh0aGlzLnV1aWQgPT0gdW5kZWZpbmVkIHx8IHRoaXMudXVpZCA9PSBudWxsKSl7XG4gICAgICAgICAgLy9jb25zb2xlLmxvZygnb2JqRGF0YSA9PT09Jywgb2JqRGF0YSk7XG4gICAgICAgICAgbW9kZWwuZmxvd0Zyb20gPSBcIkFpYy1SZW9wZW4tZmxvd1wiO1xuICAgICAgICB9ICBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgna2V5Jyk7XG4gICAgICAgIGlmKGRhdGEpe1xuICAgICAgICAgIHRoaXMuc3NuRm9yQ1NSID0gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcbiAgICAgICAgICBtb2RlbC5zc24gPSB0aGlzLnNzbkZvckNTUjtcbiAgICAgICAgfSAgIFxuICAgICAgICB1cmwgPSBcIi9jbGFpbXMtc2VydmljZS9jbGFpbS9hcHAvYnBlbXBsb3llcnNcIjtcbiAgICAgIH1cbiAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhlIHV1aWQgdXNlZCBpbiBtb2RlbCBpcyA6ICcsIHRoaXMudXVpZCk7XG4gICAgICBpZihtb2RlbC5mbG93RnJvbSA9PT0gJ0FpYy1SZW9wZW4tZmxvdycpe1xuICAgICAgICB0aGlzLmZldGNoRW1wbG95ZXJzRnJvbUJhY2tFbmQobW9kZWwsIHVybCk7XG4gICAgICB9IGVsc2UgaWYodGhpcy51dWlkKXtcbiAgICAgICAgICBtb2RlbC51dWlkID0gdGhpcy51dWlkO1xuICAgICAgICAgIHRoaXMuZmV0Y2hFbXBsb3llcnNGcm9tQmFja0VuZChtb2RlbCwgdXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiS2VlcCB3YWl0aW5nLi4uLnV1aWQgbm90IGZvdW5kLi5cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZldGNoRW1wbG95ZXJzRnJvbUJhY2tFbmQobW9kZWw6IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsLCB1cmw6IHN0cmluZykge1xuICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLnBvc3Q8Q2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsPih1cmwsIG1vZGVsKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICBpZihyZXMuYnBFbXBMaXN0Lmxlbmd0aCA+IDApe1xuICAgICAgICAgIHJlcy5icEVtcExpc3QuZm9yRWFjaChlbXAgPT4gdGhpcy5zZXRDaG9pc2VNb2RlbHMoZW1wKSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5uZXh0KHJlcyk7XG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW1wbG95ZXIgTGlzdCBmcm9tIFNlcnZpY2UnLCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICBsZXQgbGlzdCA9IG5ldyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwoKTtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dChsaXN0KTtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG4gIFxuICBkZWxldGVCcEVtcGwoZXZlbnQ6bnVtYmVyKXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGVsZXRlIG1ldGhvZCBjYWxsZWQgJywgZXZlbnQpO1xuICAgIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LnNwbGljZShldmVudCwgMSk7XG4gIH1cblxuICBkZWxldGVFbXBsb3llcihlbGVtZW50SW5kZXgpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGVsZXRlIG1ldGhvZCBjYWxsZWQgZm9yID0gJywgZWxlbWVudEluZGV4KTtcbiAgICB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyPWZhbHNlO1xuICAgIC8vdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3RbZWxlbWVudEluZGV4XS5lbXBEZWxldGVkID0gXCJZXCI7XG4gICAgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3Quc3BsaWNlKGVsZW1lbnRJbmRleCwgMSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FmdGVyIGRlbGV0ZSBsaXN0IGlzID0gJywgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZSk7XG4gIH1cblxuICBkZWxldGVFbXBsb3llckJhc2VQZXJpb2QoZWxlbWVudEluZGV4KSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0RlbGV0ZSBtZXRob2QgYmFzZSBwZXJpb2QgZW1wbG95ZXIgY2FsbGVkIGZvciA9ICcsIGVsZW1lbnRJbmRleCk7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbZWxlbWVudEluZGV4XS53b3JrRmxhZyA9IFwiTlwiO1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W2VsZW1lbnRJbmRleF0uZW1wRGVsZXRlZCA9IFwiWVwiO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBZnRlciBkZWxldGUgYmFzZSBwZXJpb2QgZW1wbG95ZXIgbGlzdCBpcyA9ICcsIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UpO1xuICB9XG5cbiAgZWRpdEVtcGxveWVyKGVtcGxveWVyKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0VkaXQgbWV0aG9kIGNhbGxlZCcsIGVtcGxveWVyKTtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3QuaW5kZXhPZihlbXBsb3llcik7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0luZGV4IFRvIEVkaXQgPSAnLCB0aGlzLmluZGV4VG9FZGl0KTtcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICB9XG5cbiAgZmluaXNoKGVtcGxveWVyKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0ZpbmlzaCBFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llcik7XG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LmluZGV4T2YoZW1wbG95ZXIpO1xuICAgIGVtcGxveWVyLndvcmtGbGFnID0gJ1knO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSB0cnVlO1xuICAgIHRoaXMuZGlzcGxheSA9IHRydWU7XG4gICAgdGhpcy5tb2RlbERpc3BsYXkuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIGVkaXRCYXNlUGVyaW9kRW1wbG95ZXIoZW1wbG95ZXIpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRWRpdCBCYXNlUGVyaW9kIEVtcGxveWVyIGNhbGxlZCBmb3IgJywgZW1wbG95ZXIpO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmJwRW1wTGlzdC5pbmRleE9mKGVtcGxveWVyKTtcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSB0cnVlO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbmRleCBUbyBFZGl0ID0gJywgdGhpcy5pbmRleFRvRWRpdCk7XG4gIH1cblxuICBvbk1vZGVsQ2FuY2VsKGNhbmNlbDogYm9vbGVhbikge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5jZWwgTWV0aG9kICAnLCBjYW5jZWwpO1xuICAgIHRoaXMuZGlzcGxheSA9IGNhbmNlbDtcbiAgICB0aGlzLmJhc2VQZXJpb2RkaXNwbGF5ID0gY2FuY2VsO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYWZ0ZXIgdmFsdWUgY2hhbmdlIG9uIGVtcGxveWVyIGdyaWQgJywgdGhpcy5kaXNwbGF5KTtcbiAgfVxuXG4gIGFkZEVtcGxveWVyKGV2ZW50OiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FkZCBFbXBsb3llciBjYWxsZWQgZnJvbSBncmlkICcsIGV2ZW50LCAnaW5kZXhUb0VkaXQnLCB0aGlzLmluZGV4VG9FZGl0LCd0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyJyx0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKTtcbiAgICBpZiAodGhpcy5pbmRleFRvRWRpdCB8fCB0aGlzLmluZGV4VG9FZGl0ID09IDApIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbnNpZGUgaWYgb2YgYWRkIGVtcGxveWVyIC0tICcsZXZlbnQpXG4gICAgICBsZXQgZW1wRGF0YU1vZGVsID0gbmV3IENsYWltT25seUVtcGxveWVyRGF0YU1vZGVsKCk7XG4gICAgICBsZXQgZW1wUHJvdmlkZWRXYWdlTW9kZWwgPSBuZXcgRW1wbG95ZXJXYWdlc01vZGVsKCk7XG4gICAgICBpZiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikge1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBldmVudDtcbiAgICAgICAgZW1wRGF0YU1vZGVsID0gIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMuaW5kZXhUb0VkaXRdLmVtcGxveWVyRGF0YTtcbiAgICAgICAgZW1wUHJvdmlkZWRXYWdlTW9kZWwgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLmluZGV4VG9FZGl0XS5lbXBsb3llclByb3ZpZGVkV2FnZXM7XG4gICAgICAgIGV2ZW50LmJwRW1wbG95ZXJGbGFnID0gJzEnXG4gICAgICAgIGV2ZW50LmVtcGxveWVyRGF0YSA9IGVtcERhdGFNb2RlbDtcbiAgICAgICAgZXZlbnQuZW1wbG95ZXJQcm92aWRlZFdhZ2VzID0gZW1wUHJvdmlkZWRXYWdlTW9kZWw7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXNldHRpbmcgdGhlIHZhbHVlIGFnYWluID0gICcsZXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcbiAgICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gZXZlbnQ7XG4gICAgICAgIGVtcERhdGFNb2RlbCA9IG5ldyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCgpO1xuICAgICAgIGlmKGV2ZW50LmVtcGxveWVyVHlwZT09PSdSRUcnKXtcbiAgICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQuZW1wbG95ZXJOYW1lO1xuICAgICAgICBlbXBEYXRhTW9kZWwubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID1cbiAgICAgICAgZXZlbnQuYWRkcmVzc1snc3RyZWV0QWRkcmVzcyddICsgJy0nICsgZXZlbnQuYWRkcmVzc1snY2l0eSddICArICctJyArIChldmVudC5hZGRyZXNzWydzdGF0ZSddID8gZXZlbnQuYWRkcmVzc1snc3RhdGUnXS50ZXh0IDogJycpICsnLScgKyAoZXZlbnQuYWRkcmVzc1snY291bnRyeSddID8gZXZlbnQuYWRkcmVzc1snY291bnRyeSddLnZhbHVlIDogJycpO1xuICAgICAgfSBlbHNlIGlmKGV2ZW50LmVtcGxveWVyVHlwZT09PSdGRUQnKXsgXG4gICAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50LmZlZEVtcGxveWVyTmFtZTtcbiAgICAgICAgZW1wRGF0YU1vZGVsLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9XG4gICAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSArICctJyArIGV2ZW50LmFkZHJlc3NbJ2NpdHknXSAgKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snc3RhdGUnXSA/IGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10udGV4dCA6ICcnKSArICctJyArIChldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJubyBhZGRyZXNzIGZvciB0aGlzIGVtcGxveWVyIHR5cGVcIik7XG4gICAgICB9XG4gICAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llclR5cGUgPSBldmVudC5lbXBsb3llclR5cGU7XG4gICAgICAgIGV2ZW50LmVtcGxveWVyRGF0YSA9IGVtcERhdGFNb2RlbDtcbiAgICAgICAgZW1wRGF0YU1vZGVsLmVtcGxveWVySWQ9ZXZlbnQuZW1wbG95ZXJJZDtcbiAgICAgICAgZW1wRGF0YU1vZGVsLm1haWxBZGRyZXNzTGluZTE9ZXZlbnQuYWRkcmVzcz8uc3RyZWV0QWRkcmVzcztcbiAgICAgICAgZW1wRGF0YU1vZGVsLm1haWxBZGRyZXNzTGluZTI9ZXZlbnQuYWRkcmVzcz8ub3B0aW9uYWxBZGRyZXNzO1xuICAgICAgICBldmVudC5icEVtcGxveWVyRmxhZyA9ICcwJ1xuICAgICAgfVxuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbdGhpcy5pbmRleFRvRWRpdF0gPSBldmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0luc2lkZSBlbHNlIG9mIGFkZCBlbXBsb3llciAtLSAnLGV2ZW50KVxuICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcbiAgICAgIGxldCBlbXBEYXRhTW9kZWwgPSBuZXcgQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwoKVxuICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gZXZlbnQ7XG4gICAgICBlbXBEYXRhTW9kZWwgPSBuZXcgQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwoKTtcbiAgICAgIGlmKGV2ZW50LmVtcGxveWVyVHlwZT09PSdSRUcnKXtcbiAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50LmVtcGxveWVyTmFtZTtcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxuICAgICAgZXZlbnQuYWRkcmVzc1snc3RyZWV0QWRkcmVzcyddICsgZXZlbnQuYWRkcmVzc1snY2l0eSddICArICctJyArIChldmVudC5hZGRyZXNzWydzdGF0ZSddID8gZXZlbnQuYWRkcmVzc1snc3RhdGUnXS50ZXh0IDogJycpICsgJy0nICsoZXZlbnQuYWRkcmVzc1snY291bnRyeSddID8gZXZlbnQuYWRkcmVzc1snY291bnRyeSddLnZhbHVlIDogJycpO1xuICAgICAgfSBlbHNlIGlmKGV2ZW50LmVtcGxveWVyVHlwZT09PSdGRUQnKXtcbiAgICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQuZmVkRW1wbG95ZXJOYW1lO1xuICAgICAgICBlbXBEYXRhTW9kZWwubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID1cbiAgICAgICAgZXZlbnQuYWRkcmVzc1snc3RyZWV0QWRkcmVzcyddICsgZXZlbnQuYWRkcmVzc1snY2l0eSddICArICctJyArIChldmVudC5hZGRyZXNzWydzdGF0ZSddID8gZXZlbnQuYWRkcmVzc1snc3RhdGUnXS50ZXh0IDogJycpICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXSA/IGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXS52YWx1ZSA6ICcnKTtcbiAgICAgIH1lbHNlIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJJbnNpZGUgZWxzZSAtIG5vIGFkZHJlc3MgZm9yIHRoaXMgZW1wbG95ZXIgdHlwZVwiKTtcbiAgICAgIH1cbiAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llclR5cGUgPSBldmVudC5lbXBsb3llclR5cGU7XG4gICAgICBlbXBEYXRhTW9kZWwuZW1wbG95ZXJJZD1ldmVudC5lbXBsb3llcklkO1xuICAgICAgZW1wRGF0YU1vZGVsLm1haWxBZGRyZXNzTGluZTE9ZXZlbnQuYWRkcmVzcz8uc3RyZWV0QWRkcmVzcztcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUyPWV2ZW50LmFkZHJlc3M/Lm9wdGlvbmFsQWRkcmVzcztcbiAgICAgIGlmICh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSB7XG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbC5icEVtcGxveWVyRmxhZyA9ICcxJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbC5icEVtcGxveWVyRmxhZyA9ICcwJztcbiAgICAgIH1cbiAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbC5lbXBsb3llckRhdGEgPSBlbXBEYXRhTW9kZWw7XG4gICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdC5wdXNoKHRoaXMuY2xhaW1kZXRhaWxNb2RlbCk7XG4gICAgfVxuICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xuICB9XG5cbiAgcmVtb3ZlRW1wbG95bWVudChzZWxlY3RlZEVtcGxveWVyOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsLCBpbmRleCl7XG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IGluZGV4O1xuICAgIHRoaXMuc2VsZWN0ZWRFbXBsb3llciA9IHNlbGVjdGVkRW1wbG95ZXI7XG4gICAgdGhpcy5zaG93Q29uZmlybVBvcHVwID0gdHJ1ZTtcbiAgfVxuXG4gIHJlbW92ZUJhc2VQZXJpb2RFbXBsb3llcigpe1xuICAgIHRoaXMuZGVsZXRlRW1wbG95ZXJCYXNlUGVyaW9kKHRoaXMuaW5kZXhUb0VkaXQpO1xuICAgIHRoaXMuc2hvd0NvbmZpcm1Qb3B1cCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRFbXBsb3llciA9IG51bGw7XG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IG51bGw7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcbiAgICB0aGlzLnNob3dDb25maXJtUG9wdXAgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBudWxsO1xuICB9XG4gIHNldENob2lzZU1vZGVscyhlbXA6IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwpOiB2b2lkIHtcbiAgICBsZXQgc2VwUmVhc29uIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlKTtcbiAgICBpZihzZXBSZWFzb24ubGVuZ3RoID4gMCl7XG4gICAgICBlbXAucmVhc29uU2VwYXJhdGlvbiA9IHNlcFJlYXNvblswXTtcbiAgICB9XG4gICAgbGV0IGRpc2NoYXJnZVJlYXNvbiA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLmRpc2NoYXJnZURldGFpbD8udmFsdWUpO1xuICAgIGlmKGRpc2NoYXJnZVJlYXNvbi5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC5kaXNjaGFyZ2VEZXRhaWwgPSBkaXNjaGFyZ2VSZWFzb25bMF07XG4gICAgfVxuICAgIGxldCB2b2xRdWl0IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnZvbFF1aXREZXRhaWxzPy52YWx1ZSk7XG4gICAgaWYodm9sUXVpdC5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC52b2xRdWl0RGV0YWlscyA9IHZvbFF1aXRbMF07XG4gICAgfVxuICAgIGxldCBwYXlSYXRlRnJlcXVlbmN5IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnBheVJhdGVGcmVxdWVuY3k/LnZhbHVlKTtcbiAgICBpZihwYXlSYXRlRnJlcXVlbmN5Lmxlbmd0aCA+IDApe1xuICAgICAgZW1wLnBheVJhdGVGcmVxdWVuY3kgPSBwYXlSYXRlRnJlcXVlbmN5WzBdO1xuICAgIH1cblxuICAgIGxldCBjb3VudHJ5IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucy5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5mZWRXb3JrQ291bnRyeT8udmFsdWUpO1xuICAgIGlmKGNvdW50cnkubGVuZ3RoID4gMCl7XG4gICAgICBlbXAuZmVkV29ya0NvdW50cnkgPSBjb3VudHJ5WzBdO1xuICAgIH1cblxuICAgIGxldCBzdGF0ZSA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5zdGF0ZXNPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLmZlZFdvcmtTdGF0ZT8udmFsdWUpO1xuICAgIGlmKHN0YXRlLmxlbmd0aCA+IDApe1xuICAgICAgZW1wLmZlZFdvcmtTdGF0ZSA9IHN0YXRlWzBdO1xuICAgIH1cblxuICAgIGxldCBzZXJ2aWNlQnJhbmNoIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAuc2VydmljZUJyYW5jaD8udmFsdWUpO1xuICAgIGlmKHNlcnZpY2VCcmFuY2gubGVuZ3RoID4gMCl7XG4gICAgICBlbXAuc2VydmljZUJyYW5jaCA9IHNlcnZpY2VCcmFuY2hbMF07XG4gICAgfVxuXG4gICAgbGV0IHdvcmtTdGF0ZSA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5zdGF0ZXNPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLndvcmtTdGF0ZT8udmFsdWU/LnRyaW0oKSk7XG4gICAgZW1wLndvcmtTdGF0ZSA9IHdvcmtTdGF0ZVswXTtcblxuICB9XG59XG5cblxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O1wiPlxyXG48aW9uLXJvdz5cclxuICA8aW9uLWNvbD5cclxuICAgIDxkaXYgW2lubmVySHRtbF09XCInaW5kdWN0aW9uLmVtcGxveW1lbnQuc3ViaGVhZGVyJyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiPjwvZGl2PlxyXG4gIDwvaW9uLWNvbD5cclxuPC9pb24tcm93PlxyXG5cclxuPHAtdGFibGUgI2R0IFtjb2x1bW5zXT1cImNvbHNcIiBbdmFsdWVdPVwiY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0XCIgW2xvYWRpbmddPVwic2hvd1Byb2dyZXNzQmFyXCJcclxuIFtyb3dIb3Zlcl09XCJ0cnVlXCIgKm5nSWY9XCJjbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZVwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGggY29sc3Bhbj1cIjJcIiBzdHlsZT1cIndpZHRoOiAyMCU7XCI+XHJcbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLmVtcGxveWVyLm5hbWVcInx0cmFuc2xhdGV9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGg+XHJcbiAgICAgICA8L3RoPlxyXG4gICAgICA8dGg+XHJcbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLmpvYi50aXRsZVwifHRyYW5zbGF0ZX19XHJcbiAgICAgICA8L3RoPlxyXG4gICAgICAgPHRoPlxyXG4gICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC50YWJsZS5wYXlcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgPC90aD5cclxuICAgICAgIDx0aD5cclxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUuZGF0ZXNcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgPC90aD5cclxuICAgICAgIDx0aD5cclxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUuc2VwLnJlYXNvblwifHRyYW5zbGF0ZX19XHJcbiAgICAgICA8L3RoPlxyXG4gICAgICAgXHJcbiAgICA8L3RyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgXHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgIDx0ciBjbGFzcz1cInVpLXNlbGVjdGFibGUtcm93XCIgKm5nSWY9XCIoZW1wbG95ZXIuZW1wRGVsZXRlZCE9J1knKVwiPlxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWUgJiYgZW1wbG95ZXIuZW1wbG95ZXJUeXBlIT0nTUlMJ1wiICBjb2xzcGFuPVwiMlwiIHN0eWxlPVwid2lkdGg6IDIwJTtcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+RW1wbG95ZXI8L3NwYW4+PHNwYW4+XHJcbiAgICAgICAge3tlbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fSA8YnI+XHJcbiAgICAgIDwvc3Bhbj48ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiIFtpbm5lckh0bWxdPVwiZW1wbG95ZXIuZW1wbG95ZXJEYXRhLm1haWxpbmdBZGRyZXNzRGlzcGxheSB8IHRydXN0SHRtbFwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPC90ZD5cclxuICAgICAgICBcclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZSAmJiBlbXBsb3llci5lbXBsb3llclR5cGUhPSdNSUwnXCIgIGNvbHNwYW49XCIyXCIgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5FbXBsb3llcjwvc3Bhbj48c3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJ1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIiAgY29sc3Bhbj1cIjJcIiBzdHlsZT1cIndpZHRoOiAyMCU7XCI+RW1wbG95ZXI8L3NwYW4+PHNwYW4+XHJcbiAgICAgICAgICB7e2VtcGxveWVyLnNlcnZpY2VCcmFuY2gudGV4dH19IDxicj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj4gXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgZW1wbG95ZXIucGF5UmF0ZSAmJiBlbXBsb3llci5zdGFydERhdGVcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImVkaXRCYXNlUGVyaW9kRW1wbG95ZXIoZW1wbG95ZXIpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJBZGQgZW1wbG95ZXJcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2VkaXQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiAqbmdJZj1cImVtcGxveWVyLmJwRW1wbG95ZXJGbGFnPT09JzEnICYmICFlbXBsb3llci5wYXlSYXRlICYmICFlbXBsb3llci5zdGFydERhdGVcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImZpbmlzaChlbXBsb3llcik7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbmZpcm0gZW1wbG95ZXJcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2NoZWNrLWNpcmNsZSddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMCdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUVtcGxveWVyKHJvd0luZGV4KTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiUmVtb3ZlIGVtcGxveWVyXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1hbHQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiAqbmdJZj1cImVtcGxveWVyLmJwRW1wbG95ZXJGbGFnPT09JzEnXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcclxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVFbXBsb3ltZW50KGVtcGxveWVyLCByb3dJbmRleCk7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBlbXBsb3llclwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJlbXBsb3llci5icEVtcGxveWVyRmxhZz09PScwJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdEVtcGxveWVyKGVtcGxveWVyKTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiRWRpdCBlbXBsb3llclwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAnZWRpdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5Kb2IgVGl0bGU8L3NwYW4+e3tlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbn19PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5Kb2IgVGl0bGU8L3NwYW4+PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZmVkSm9iVGlsZU9yUG9zaXRpb24gJiYgIWVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPkpvYiBUaXRsZTwvc3Bhbj57e2VtcGxveWVyLmZlZEpvYlRpbGVPclBvc2l0aW9ufX08L3RkPlxyXG4gICAgICAgICAgICBcclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIucGF5UmF0ZVwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5QYXk8L3NwYW4+e3tlbXBsb3llci5wYXlSYXRlIHwgY3VycmVuY3l9fS97e2VtcGxveWVyLnBheVJhdGVGcmVxdWVuY3kudGV4dH19PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLnBheVJhdGVcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+UGF5PC9zcGFuPjwvdGQ+XHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdNSUwnXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPlBheTwvc3Bhbj48L3RkPlxyXG4gICAgICBcclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J1JFRydcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+U3RhcnQgYW5kIEVuZDwvc3Bhbj5cclxuICAgICAgICB7e2VtcGxveWVyLnN0YXJ0RGF0ZSB8IGRhdGU6J00vZC95eXl5J319IC0ge3tlbXBsb3llci5lbmREYXRlIHwgZGF0ZTonTS9kL3l5eXknfX1cclxuICAgICAgPC90ZD5cclxuICAgICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdGRUQnXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPlN0YXJ0IGFuZCBFbmQ8L3NwYW4+XHJcbiAgICAgICAge3tlbXBsb3llci5zdGFydERhdGVGZWQgfCBkYXRlOidNL2QveXl5eSd9fSAtIHt7ZW1wbG95ZXIuZW5kRGF0ZUZlZCB8IGRhdGU6J00vZC95eXl5J319XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJ1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TdGFydCBhbmQgRW5kPC9zcGFuPlxyXG4gICAgICAgIHt7ZW1wbG95ZXIuc3RhcnREYXRlTWlsIHwgZGF0ZTonTS9kL3l5eXknfX0gLSB7e2VtcGxveWVyLmVuZERhdGVNaWwgfCBkYXRlOidNL2QveXl5eSd9fVxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLnN0YXJ0RGF0ZSAmJiAgIWVtcGxveWVyLnN0YXJ0RGF0ZUZlZCAmJiAhZW1wbG95ZXIuc3RhcnREYXRlTWlsXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPlN0YXJ0IGFuZCBFbmQ8L3NwYW4+PC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZSE9J01JTCcgJiYgZW1wbG95ZXIucmVhc29uU2VwYXJhdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TZXBhcmF0aW9uIFJlYXNvbjwvc3Bhbj57e2VtcGxveWVyLnJlYXNvblNlcGFyYXRpb24udGV4dH19XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIFxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJyAmJiAhZW1wbG95ZXIucmVhc29uU2VwYXJhdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TZXBhcmF0aW9uIFJlYXNvbjwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuICAgIFxyXG4gICAgICBcclxuICAgIDwvdHI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIiBsZXQtY29sdW1ucz5cclxuICAgIDx0YWJsZT5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIjJcIiBzdHlsZT1cIndpZHRoOiAyMCU7XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LmZvb3Rlci5sYWJlbCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIj48L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA5Ljc1JTsgdGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIChjbGljayk9XCJhZGROZXdFbXBEZXRhaWxzKClcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiQWRkIGVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3BsdXMnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY29sc3Bhbj1cIjRcIj4mbmJzcDs8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuPC9wLXRhYmxlPlxyXG4gIDxhcHAtYWRkLWVtcGxveWVyICpuZ0lmPVwiZGlzcGxheVwiIChzdWNjZXNzKT1cImFkZEVtcGxveWVyKCRldmVudClcIiAgW3JlY29yZEluZGV4VG9FZGl0XT1cImluZGV4VG9FZGl0XCIgXHJcbiAgICAoYmFzZVBlcmlvZEluZGV4KT1cImRlbGV0ZUJwRW1wbCgkZXZlbnQpXCIgW2lzQmFzZVBlcmlvZEVtcGxveWVyXT1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgW2lzTmV3Q2xhaW1dPVwiaXNOZXdDbGFpbVwiIChtb2RlbENhbmNlbCk9XCJvbk1vZGVsQ2FuY2VsKCRldmVudClcIj5cclxuICA8L2FwcC1hZGQtZW1wbG95ZXI+XHJcblxyXG4gIDxwLWRpYWxvZyBbdmlzaWJsZV09XCJzaG93Q29uZmlybVBvcHVwXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBwb3NpdGlvbj1cInRvcFwiIFticmVha3BvaW50c109XCJ7JzEyMDBweCc6ICc2NjBweCcsICc5OTJweCc6ICc2NjBweCcsICc3NjhweCc6ICc2NjBweCcsICc1NzZweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzQ1dncnfVwiXHJcbiAgICBbYmFzZVpJbmRleF09XCI1MDAwXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiIFtyZXNpemFibGVdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIiBjbG9zZU9uRXNjYXBlPVwiZmFsc2VcIiAqbmdJZj1cInNlbGVjdGVkRW1wbG95ZXJcIj5cclxuICAgICAgICA8aDQgY2xhc3M9XCJoZWFkaW5nXCI+e3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5oZWFkaW5nJyB8IHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICA8aW9uLWxhYmVsPnt7c2VsZWN0ZWRFbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxpb24tbGFiZWw+PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIiBbaW5uZXJIdG1sXT1cInNlbGVjdGVkRW1wbG95ZXIuZW1wbG95ZXJEYXRhLm1haWxpbmdBZGRyZXNzRGlzcGxheSB8IHRydXN0SHRtbFwiPjwvZGl2PjwvaW9uLWxhYmVsPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIHt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAuZmFpbHVyZS5sYWJlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvaW9uLWxhYmVsPjxici8+PGJyLz5cclxuICAgICAgICA8aW9uLWxhYmVsPlxyXG4gICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5kaWRudC53b3JrLmxhYmVsJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cInNvbGlkXCIgKGNsaWNrKT1cInJlbW92ZUJhc2VQZXJpb2RFbXBsb3llcigpXCI+XHJcbiAgICAgICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5yZW1vdmUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtZGlhbG9nPlxyXG48L2Rpdj4iXX0=