@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
@@ -0,0 +1,463 @@
1
+ import { Component } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { AppValidators } from '../../../validations/AppValidators';
4
+ import { AppRegex } from '../../../validations/AppRegex';
5
+ import { BasePage } from '../../BasePage';
6
+ import { LibConstants } from '../../../models/LibConstants';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "../../../services/login/login.service";
10
+ import * as i3 from "../../../services/util/util.service";
11
+ import * as i4 from "@ionic/angular";
12
+ import * as i5 from "@angular/router";
13
+ import * as i6 from "@angular/common";
14
+ import * as i7 from "@angular/material/form-field";
15
+ import * as i8 from "primeng/password";
16
+ import * as i9 from "../../../directives/caps-lock.directive";
17
+ import * as i10 from "../../../components/content/content.component";
18
+ import * as i11 from "../../../components/header/header.component";
19
+ import * as i12 from "../../../components/card/card.component";
20
+ import * as i13 from "../../../directives/auto-focus/auto-focus.directive";
21
+ function ChangePasswordPage_div_10_li_7_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "li", 10);
23
+ i0.ɵɵtext(1, "Minimum 8 characters.");
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const ctx_r3 = i0.ɵɵnextContext(2);
27
+ i0.ɵɵproperty("ngClass", !ctx_r3.password.hasError("minlength") && ctx_r3.password.dirty ? "success" : "error");
28
+ } }
29
+ function ChangePasswordPage_div_10_li_8_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "li", 10);
31
+ i0.ɵɵtext(1, "Maximum 15 characters.");
32
+ i0.ɵɵelementEnd();
33
+ } if (rf & 2) {
34
+ const ctx_r4 = i0.ɵɵnextContext(2);
35
+ i0.ɵɵproperty("ngClass", !ctx_r4.password.hasError("maxlength") && ctx_r4.password.dirty ? "success" : "error");
36
+ } }
37
+ function ChangePasswordPage_div_10_li_9_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementStart(0, "li", 10);
39
+ i0.ɵɵtext(1, "Minimum 14 characters.");
40
+ i0.ɵɵelementEnd();
41
+ } if (rf & 2) {
42
+ const ctx_r5 = i0.ɵɵnextContext(2);
43
+ i0.ɵɵproperty("ngClass", !ctx_r5.password.hasError("minlength") && ctx_r5.password.dirty ? "success" : "error");
44
+ } }
45
+ function ChangePasswordPage_div_10_li_10_Template(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵelementStart(0, "li", 10);
47
+ i0.ɵɵtext(1, "Maximum 21 characters.");
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r6 = i0.ɵɵnextContext(2);
51
+ i0.ɵɵproperty("ngClass", !ctx_r6.password.hasError("maxlength") && ctx_r6.password.dirty ? "success" : "error");
52
+ } }
53
+ function ChangePasswordPage_div_10_li_17_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "li", 10);
55
+ i0.ɵɵtext(1, "At least 2 special characters from following ");
56
+ i0.ɵɵelementStart(2, "strong");
57
+ i0.ɵɵtext(3, "_ @ * $ ! # .");
58
+ i0.ɵɵelementEnd()();
59
+ } if (rf & 2) {
60
+ const ctx_r7 = i0.ɵɵnextContext(2);
61
+ i0.ɵɵproperty("ngClass", !ctx_r7.password.hasError("hasCsrSpecialCharacters") && ctx_r7.password.dirty ? "success" : "error");
62
+ } }
63
+ function ChangePasswordPage_div_10_li_18_Template(rf, ctx) { if (rf & 1) {
64
+ i0.ɵɵelementStart(0, "li", 10);
65
+ i0.ɵɵtext(1, "At least 1 special characters from following ");
66
+ i0.ɵɵelementStart(2, "strong");
67
+ i0.ɵɵtext(3, "_ @ * $ ! # .");
68
+ i0.ɵɵelementEnd()();
69
+ } if (rf & 2) {
70
+ const ctx_r8 = i0.ɵɵnextContext(2);
71
+ i0.ɵɵproperty("ngClass", !ctx_r8.password.hasError("hasClaimantSpecialCharacters") && ctx_r8.password.dirty ? "success" : "error");
72
+ } }
73
+ function ChangePasswordPage_div_10_li_19_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵelementStart(0, "li", 10);
75
+ i0.ɵɵtext(1, "At least 2 special characters from following ");
76
+ i0.ɵɵelementStart(2, "strong");
77
+ i0.ɵɵtext(3, "_ @ * $ ! # .");
78
+ i0.ɵɵelementEnd()();
79
+ } if (rf & 2) {
80
+ const ctx_r9 = i0.ɵɵnextContext(2);
81
+ i0.ɵɵproperty("ngClass", !ctx_r9.password.hasError("hasClaimantSpecialCharacters") && ctx_r9.password.dirty ? "success" : "error");
82
+ } }
83
+ function ChangePasswordPage_div_10_mat_error_25_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "mat-error");
85
+ i0.ɵɵtext(1, " Current Password is required. ");
86
+ i0.ɵɵelementEnd();
87
+ } }
88
+ function ChangePasswordPage_div_10_mat_error_26_Template(rf, ctx) { if (rf & 1) {
89
+ i0.ɵɵelementStart(0, "mat-error");
90
+ i0.ɵɵtext(1, " Current Password should not be same as New Password. ");
91
+ i0.ɵɵelementEnd();
92
+ } }
93
+ function ChangePasswordPage_div_10_mat_error_33_Template(rf, ctx) { if (rf & 1) {
94
+ i0.ɵɵelementStart(0, "mat-error");
95
+ i0.ɵɵtext(1, " New Password is required. ");
96
+ i0.ɵɵelementEnd();
97
+ } }
98
+ function ChangePasswordPage_div_10_mat_error_34_Template(rf, ctx) { if (rf & 1) {
99
+ i0.ɵɵelementStart(0, "mat-error");
100
+ i0.ɵɵtext(1, " New Password and Confirm Password did not match. ");
101
+ i0.ɵɵelementEnd();
102
+ } }
103
+ function ChangePasswordPage_div_10_mat_error_35_Template(rf, ctx) { if (rf & 1) {
104
+ i0.ɵɵelementStart(0, "mat-error");
105
+ i0.ɵɵtext(1, " Current Password should not be same as New Password. ");
106
+ i0.ɵɵelementEnd();
107
+ } }
108
+ function ChangePasswordPage_div_10_mat_error_42_Template(rf, ctx) { if (rf & 1) {
109
+ i0.ɵɵelementStart(0, "mat-error");
110
+ i0.ɵɵtext(1, " Confirm Password is required. ");
111
+ i0.ɵɵelementEnd();
112
+ } }
113
+ function ChangePasswordPage_div_10_mat_error_43_Template(rf, ctx) { if (rf & 1) {
114
+ i0.ɵɵelementStart(0, "mat-error");
115
+ i0.ɵɵtext(1, " Confirm Password should have minimum ");
116
+ i0.ɵɵelementStart(2, "strong");
117
+ i0.ɵɵtext(3, "14 characters");
118
+ i0.ɵɵelementEnd();
119
+ i0.ɵɵtext(4, ". ");
120
+ i0.ɵɵelementEnd();
121
+ } }
122
+ function ChangePasswordPage_div_10_mat_error_44_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "mat-error");
124
+ i0.ɵɵtext(1, " Confirm Password should not have more than ");
125
+ i0.ɵɵelementStart(2, "strong");
126
+ i0.ɵɵtext(3, "21 characters");
127
+ i0.ɵɵelementEnd();
128
+ i0.ɵɵtext(4, ". ");
129
+ i0.ɵɵelementEnd();
130
+ } }
131
+ function ChangePasswordPage_div_10_mat_error_45_Template(rf, ctx) { if (rf & 1) {
132
+ i0.ɵɵelementStart(0, "mat-error");
133
+ i0.ɵɵtext(1, " Confirm Password should have minimum ");
134
+ i0.ɵɵelementStart(2, "strong");
135
+ i0.ɵɵtext(3, "8 characters");
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵtext(4, ". ");
138
+ i0.ɵɵelementEnd();
139
+ } }
140
+ function ChangePasswordPage_div_10_mat_error_46_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵelementStart(0, "mat-error");
142
+ i0.ɵɵtext(1, " Confirm Password should not have more than ");
143
+ i0.ɵɵelementStart(2, "strong");
144
+ i0.ɵɵtext(3, "15 characters");
145
+ i0.ɵɵelementEnd();
146
+ i0.ɵɵtext(4, ". ");
147
+ i0.ɵɵelementEnd();
148
+ } }
149
+ function ChangePasswordPage_div_10_mat_error_47_Template(rf, ctx) { if (rf & 1) {
150
+ i0.ɵɵelementStart(0, "mat-error");
151
+ i0.ɵɵtext(1, " New Password and Confirm Password did not match. ");
152
+ i0.ɵɵelementEnd();
153
+ } }
154
+ function ChangePasswordPage_div_10_mat_error_48_Template(rf, ctx) { if (rf & 1) {
155
+ i0.ɵɵelementStart(0, "mat-error");
156
+ i0.ɵɵtext(1, " Current Password should not be same as Confirm Password. ");
157
+ i0.ɵɵelementEnd();
158
+ } }
159
+ function ChangePasswordPage_div_10_label_49_Template(rf, ctx) { if (rf & 1) {
160
+ i0.ɵɵelementStart(0, "label", 21)(1, "strong");
161
+ i0.ɵɵtext(2, "Caps Lock is On");
162
+ i0.ɵɵelementEnd()();
163
+ } }
164
+ function ChangePasswordPage_div_10_Template(rf, ctx) { if (rf & 1) {
165
+ const _r24 = i0.ɵɵgetCurrentView();
166
+ i0.ɵɵelementStart(0, "div")(1, "div");
167
+ i0.ɵɵtext(2, " In order to ");
168
+ i0.ɵɵelementStart(3, "strong");
169
+ i0.ɵɵtext(4, "protect your account");
170
+ i0.ɵɵelementEnd();
171
+ i0.ɵɵtext(5, ", make sure your password has: ");
172
+ i0.ɵɵelementStart(6, "ul", 8);
173
+ i0.ɵɵtemplate(7, ChangePasswordPage_div_10_li_7_Template, 2, 1, "li", 9)(8, ChangePasswordPage_div_10_li_8_Template, 2, 1, "li", 9)(9, ChangePasswordPage_div_10_li_9_Template, 2, 1, "li", 9)(10, ChangePasswordPage_div_10_li_10_Template, 2, 1, "li", 9);
174
+ i0.ɵɵelementStart(11, "li", 10);
175
+ i0.ɵɵtext(12, "At least 1 number");
176
+ i0.ɵɵelementEnd();
177
+ i0.ɵɵelementStart(13, "li", 10);
178
+ i0.ɵɵtext(14, "At least 1 uppercase letter");
179
+ i0.ɵɵelementEnd();
180
+ i0.ɵɵelementStart(15, "li", 10);
181
+ i0.ɵɵtext(16, "At least 1 lowercase letter");
182
+ i0.ɵɵelementEnd();
183
+ i0.ɵɵtemplate(17, ChangePasswordPage_div_10_li_17_Template, 4, 1, "li", 9)(18, ChangePasswordPage_div_10_li_18_Template, 4, 1, "li", 9)(19, ChangePasswordPage_div_10_li_19_Template, 4, 1, "li", 9);
184
+ i0.ɵɵelementEnd()();
185
+ i0.ɵɵelementStart(20, "div", 11)(21, "span", 12);
186
+ i0.ɵɵelement(22, "p-password", 13);
187
+ i0.ɵɵelementStart(23, "label", 14);
188
+ i0.ɵɵtext(24, "Current Password");
189
+ i0.ɵɵelementEnd()();
190
+ i0.ɵɵtemplate(25, ChangePasswordPage_div_10_mat_error_25_Template, 2, 0, "mat-error", 6)(26, ChangePasswordPage_div_10_mat_error_26_Template, 2, 0, "mat-error", 6);
191
+ i0.ɵɵelementEnd();
192
+ i0.ɵɵelement(27, "br");
193
+ i0.ɵɵelementStart(28, "div", 11)(29, "span", 12);
194
+ i0.ɵɵelement(30, "p-password", 15);
195
+ i0.ɵɵelementStart(31, "label", 14);
196
+ i0.ɵɵtext(32, "New Password");
197
+ i0.ɵɵelementEnd()();
198
+ i0.ɵɵtemplate(33, ChangePasswordPage_div_10_mat_error_33_Template, 2, 0, "mat-error", 6)(34, ChangePasswordPage_div_10_mat_error_34_Template, 2, 0, "mat-error", 6)(35, ChangePasswordPage_div_10_mat_error_35_Template, 2, 0, "mat-error", 6);
199
+ i0.ɵɵelementEnd();
200
+ i0.ɵɵelement(36, "br");
201
+ i0.ɵɵelementStart(37, "div", 11)(38, "span", 12);
202
+ i0.ɵɵelement(39, "p-password", 16);
203
+ i0.ɵɵelementStart(40, "label", 14);
204
+ i0.ɵɵtext(41, "Confirm Password");
205
+ i0.ɵɵelementEnd()();
206
+ i0.ɵɵtemplate(42, ChangePasswordPage_div_10_mat_error_42_Template, 2, 0, "mat-error", 6)(43, ChangePasswordPage_div_10_mat_error_43_Template, 5, 0, "mat-error", 6)(44, ChangePasswordPage_div_10_mat_error_44_Template, 5, 0, "mat-error", 6)(45, ChangePasswordPage_div_10_mat_error_45_Template, 5, 0, "mat-error", 6)(46, ChangePasswordPage_div_10_mat_error_46_Template, 5, 0, "mat-error", 6)(47, ChangePasswordPage_div_10_mat_error_47_Template, 2, 0, "mat-error", 6)(48, ChangePasswordPage_div_10_mat_error_48_Template, 2, 0, "mat-error", 6);
207
+ i0.ɵɵelementEnd();
208
+ i0.ɵɵtemplate(49, ChangePasswordPage_div_10_label_49_Template, 3, 0, "label", 17);
209
+ i0.ɵɵelementStart(50, "div", 18)(51, "ion-button", 19);
210
+ i0.ɵɵlistener("click", function ChangePasswordPage_div_10_Template_ion_button_click_51_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.save()); });
211
+ i0.ɵɵelement(52, "ion-icon", 20);
212
+ i0.ɵɵtext(53, " Change Password ");
213
+ i0.ɵɵelementEnd()()();
214
+ } if (rf & 2) {
215
+ const ctx_r1 = i0.ɵɵnextContext();
216
+ i0.ɵɵadvance(7);
217
+ i0.ɵɵproperty("ngIf", !ctx_r1.isNewPasswordPolicyEnabled);
218
+ i0.ɵɵadvance(1);
219
+ i0.ɵɵproperty("ngIf", !ctx_r1.isNewPasswordPolicyEnabled);
220
+ i0.ɵɵadvance(1);
221
+ i0.ɵɵproperty("ngIf", ctx_r1.isNewPasswordPolicyEnabled);
222
+ i0.ɵɵadvance(1);
223
+ i0.ɵɵproperty("ngIf", ctx_r1.isNewPasswordPolicyEnabled);
224
+ i0.ɵɵadvance(1);
225
+ i0.ɵɵproperty("ngClass", !ctx_r1.password.hasError("hasNumber") && ctx_r1.password.dirty ? "success" : "error");
226
+ i0.ɵɵadvance(2);
227
+ i0.ɵɵproperty("ngClass", !ctx_r1.password.hasError("hasCapitalCase") && ctx_r1.password.dirty ? "success" : "error");
228
+ i0.ɵɵadvance(2);
229
+ i0.ɵɵproperty("ngClass", !ctx_r1.password.hasError("hasSmallCase") && ctx_r1.password.dirty ? "success" : "error");
230
+ i0.ɵɵadvance(2);
231
+ i0.ɵɵproperty("ngIf", !ctx_r1.loginService.isClaimant());
232
+ i0.ɵɵadvance(1);
233
+ i0.ɵɵproperty("ngIf", ctx_r1.loginService.isClaimant() && !ctx_r1.isSameSymbolPolicyForClaimantAndAgency);
234
+ i0.ɵɵadvance(1);
235
+ i0.ɵɵproperty("ngIf", ctx_r1.loginService.isClaimant() && ctx_r1.isSameSymbolPolicyForClaimantAndAgency);
236
+ i0.ɵɵadvance(3);
237
+ i0.ɵɵproperty("formControl", ctx_r1.oldPassword)("toggleMask", true)("feedback", false);
238
+ i0.ɵɵadvance(3);
239
+ i0.ɵɵproperty("ngIf", ctx_r1.oldPassword.hasError("required"));
240
+ i0.ɵɵadvance(1);
241
+ i0.ɵɵproperty("ngIf", ctx_r1.oldPassword.hasError("match"));
242
+ i0.ɵɵadvance(4);
243
+ i0.ɵɵproperty("formControl", ctx_r1.password)("toggleMask", true);
244
+ i0.ɵɵadvance(3);
245
+ i0.ɵɵproperty("ngIf", ctx_r1.password.hasError("required"));
246
+ i0.ɵɵadvance(1);
247
+ i0.ɵɵproperty("ngIf", ctx_r1.password.hasError("notMatch"));
248
+ i0.ɵɵadvance(1);
249
+ i0.ɵɵproperty("ngIf", ctx_r1.password.hasError("match"));
250
+ i0.ɵɵadvance(4);
251
+ i0.ɵɵproperty("formControl", ctx_r1.confirmPassword)("toggleMask", true);
252
+ i0.ɵɵadvance(3);
253
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("required"));
254
+ i0.ɵɵadvance(1);
255
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("minlength") && ctx_r1.isNewPasswordPolicyEnabled);
256
+ i0.ɵɵadvance(1);
257
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("maxlength") && ctx_r1.isNewPasswordPolicyEnabled);
258
+ i0.ɵɵadvance(1);
259
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("minlength") && !ctx_r1.isNewPasswordPolicyEnabled);
260
+ i0.ɵɵadvance(1);
261
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("maxlength") && !ctx_r1.isNewPasswordPolicyEnabled);
262
+ i0.ɵɵadvance(1);
263
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("notMatch"));
264
+ i0.ɵɵadvance(1);
265
+ i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("match"));
266
+ i0.ɵɵadvance(1);
267
+ i0.ɵɵproperty("ngIf", ctx_r1.capsOn);
268
+ } }
269
+ function ChangePasswordPage_div_11_strong_2_Template(rf, ctx) { if (rf & 1) {
270
+ i0.ɵɵelementStart(0, "strong");
271
+ i0.ɵɵtext(1);
272
+ i0.ɵɵelementEnd();
273
+ } if (rf & 2) {
274
+ const ctx_r25 = i0.ɵɵnextContext(2);
275
+ i0.ɵɵadvance(1);
276
+ i0.ɵɵtextInterpolate(ctx_r25.user.daysTillPasswordExpire);
277
+ } }
278
+ function ChangePasswordPage_div_11_Template(rf, ctx) { if (rf & 1) {
279
+ const _r27 = i0.ɵɵgetCurrentView();
280
+ i0.ɵɵelementStart(0, "div", 22);
281
+ i0.ɵɵtext(1, " Your password will expire in ");
282
+ i0.ɵɵtemplate(2, ChangePasswordPage_div_11_strong_2_Template, 2, 1, "strong", 6);
283
+ i0.ɵɵtext(3, " day(s). Consider changing it now. ");
284
+ i0.ɵɵelementStart(4, "div", 18)(5, "ion-button", 19);
285
+ i0.ɵɵlistener("click", function ChangePasswordPage_div_11_Template_ion_button_click_5_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r26.showChangePassword = "false"); });
286
+ i0.ɵɵelement(6, "ion-icon", 23);
287
+ i0.ɵɵtext(7, " Change Now ");
288
+ i0.ɵɵelementEnd();
289
+ i0.ɵɵelementStart(8, "ion-button", 19);
290
+ i0.ɵɵlistener("click", function ChangePasswordPage_div_11_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r27); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.redirect()); });
291
+ i0.ɵɵelement(9, "ion-icon", 24);
292
+ i0.ɵɵtext(10, " Dashboard ");
293
+ i0.ɵɵelementEnd()()();
294
+ } if (rf & 2) {
295
+ const ctx_r2 = i0.ɵɵnextContext();
296
+ i0.ɵɵadvance(2);
297
+ i0.ɵɵproperty("ngIf", ctx_r2.user);
298
+ } }
299
+ export class ChangePasswordPage extends BasePage {
300
+ constructor(fb, loginService, util, nav, route, platform) {
301
+ super();
302
+ this.fb = fb;
303
+ this.loginService = loginService;
304
+ this.util = util;
305
+ this.nav = nav;
306
+ this.route = route;
307
+ this.platform = platform;
308
+ this.capsOn = false;
309
+ this.commonValidators = [
310
+ AppValidators.match(AppRegex.UPPER_CASE_REGEX, { hasCapitalCase: true }),
311
+ AppValidators.match(AppRegex.LOWER_CASE_REGEX, { hasSmallCase: true }),
312
+ AppValidators.match(AppRegex.NUMBER_REGEX, { hasNumber: true })
313
+ ];
314
+ this.csrPasswordValidators = [
315
+ AppValidators.match(AppRegex.AGENCY_SYMBOL_REGEX, { hasCsrSpecialCharacters: true })
316
+ ];
317
+ this.csrConfirmPasswordValidators = [
318
+ AppValidators.match(AppRegex.AGENCY_SYMBOL_REGEX, { hasCsrSpecialCharacters: true }),
319
+ AppValidators.equal('password', { notMatch: true })
320
+ ];
321
+ this.claimantPasswordValidators = [
322
+ AppValidators.match(this.isSameSymbolPolicyForClaimantAndAgency ? AppRegex.AGENCY_SYMBOL_REGEX : AppRegex.CLAIMANT_SYMBOL_REGEX, { hasClaimantSpecialCharacters: true })
323
+ ];
324
+ this.claimantConfirmPasswordValidators = [
325
+ AppValidators.match(this.isSameSymbolPolicyForClaimantAndAgency ? AppRegex.AGENCY_SYMBOL_REGEX : AppRegex.CLAIMANT_SYMBOL_REGEX, { hasClaimantSpecialCharacters: true }),
326
+ AppValidators.equal('password', { notMatch: true })
327
+ ];
328
+ this.hidePassword = true;
329
+ this.hideConfirmPassword = true;
330
+ this.hideOldPassword = true;
331
+ this.showChangePassword = 'false';
332
+ }
333
+ ngOnInit() {
334
+ this.initializeChangePwdForm();
335
+ this.user = this.loginService.getUser();
336
+ this.showChangePassword = this.route.snapshot.queryParamMap.get('changePwd') ? this.route.snapshot.queryParamMap.get('changePwd') : 'false';
337
+ }
338
+ initializeChangePwdForm() {
339
+ this.changePwdForm = this.fb.group({
340
+ 'oldPassword': [null, []],
341
+ 'password': [null, []],
342
+ 'confirmPassword': [null, []]
343
+ });
344
+ this.password.valueChanges.subscribe(v => {
345
+ if (this.confirmPassword.value) {
346
+ this.confirmPassword.updateValueAndValidity();
347
+ }
348
+ if (this.oldPassword.value) {
349
+ this.oldPassword.updateValueAndValidity();
350
+ }
351
+ });
352
+ this.setPasswordValidators();
353
+ }
354
+ setPasswordValidators() {
355
+ let validators1 = [];
356
+ let validators2 = [];
357
+ let validators3 = [Validators.required, AppValidators.notEqual('password', { match: true })];
358
+ this.commonValidators.forEach(v => validators1.push(v));
359
+ this.commonValidators.forEach(v => validators2.push(v));
360
+ if (this.isNewPasswordPolicyEnabled) {
361
+ this.newPasswordPolicyValidators.forEach(v => validators1.push(v));
362
+ this.newPasswordPolicyValidators.forEach(v => validators2.push(v));
363
+ }
364
+ else {
365
+ this.oldPasswordPolicyValidators.forEach(v => validators1.push(v));
366
+ this.oldPasswordPolicyValidators.forEach(v => validators2.push(v));
367
+ }
368
+ if (this.loginService.isCsr()) {
369
+ this.csrPasswordValidators.forEach(v => validators1.push(v));
370
+ this.csrConfirmPasswordValidators.forEach(v => validators2.push(v));
371
+ }
372
+ else {
373
+ this.claimantPasswordValidators.forEach(v => validators1.push(v));
374
+ this.claimantConfirmPasswordValidators.forEach(v => validators2.push(v));
375
+ }
376
+ this.util.setValidation(this.oldPassword, validators3);
377
+ this.util.setValidation(this.password, validators1);
378
+ this.util.setValidation(this.confirmPassword, validators2);
379
+ }
380
+ get oldPassword() {
381
+ return this.changePwdForm.get('oldPassword');
382
+ }
383
+ get password() {
384
+ return this.changePwdForm.get('password');
385
+ }
386
+ get confirmPassword() {
387
+ return this.changePwdForm.get('confirmPassword');
388
+ }
389
+ save() {
390
+ if (this.changePwdForm.invalid) {
391
+ return;
392
+ }
393
+ this.util.showLoader()
394
+ .then(() => {
395
+ this.loginService.updatePassword(this.oldPassword.value, this.password.value, this.confirmPassword.value)
396
+ .subscribe(res => {
397
+ this.loginService.logout();
398
+ this.nav
399
+ .navigateRoot('login')
400
+ .then(() => {
401
+ this.util.success('Password Changed Successfully. Please login again.');
402
+ this.util.hideLoader();
403
+ });
404
+ }, err => {
405
+ this.util.hideLoader();
406
+ this.util.errorHandler(err);
407
+ });
408
+ });
409
+ }
410
+ redirect() {
411
+ let userModel = this.loginService.getUser();
412
+ if (this.loginService.isClaimant()) {
413
+ const isCapacitor = this.platform.is('capacitor');
414
+ if (isCapacitor) {
415
+ this.nav.navigateRoot("welcome");
416
+ this.util.hideLoader();
417
+ }
418
+ else {
419
+ if (LibConstants.legacyMenu == 'true') {
420
+ this.nav.navigateRoot("welcome");
421
+ this.util.hideLoader();
422
+ }
423
+ else {
424
+ if ((LibConstants.ssoCookieName + "").includes('UAT') || (LibConstants.ssoCookieName + "").includes('PROD')) {
425
+ window.open(`${LibConstants.msworksUrl}`, '_self');
426
+ }
427
+ else {
428
+ window.open(`${LibConstants.benefitsUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299`, '_self');
429
+ }
430
+ }
431
+ }
432
+ }
433
+ else if (this.loginService.isEmployer() || this.loginService.isTpa()) {
434
+ window.open(`${LibConstants.taxUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299`, '_self');
435
+ }
436
+ else {
437
+ window.open(`${LibConstants.benefitsUrl}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299`, '_self');
438
+ }
439
+ }
440
+ static { this.ɵfac = function ChangePasswordPage_Factory(t) { return new (t || ChangePasswordPage)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i5.ActivatedRoute), i0.ɵɵdirectiveInject(i4.Platform)); }; }
441
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChangePasswordPage, selectors: [["app-change-password"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 3, consts: [["title", "Change Password", "pageId", "CNGPWD-001"], [3, "formGroup"], ["changePwdFormDirective", "ngForm"], ["color", "primary", 1, "ion-justify-content-center"], ["size-md", "6", "size-lg", "4", "size-xs", "12", "size-sm", "12", "size-xl", "4", 1, "ion-align-self-center"], ["title", "Change Password", 3, "capsLock"], [4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], [1, "p-pl-2", "p-ml-2", "p-mt-0", 2, "line-height", "1.5", "margin-left", "1rem !important", "list-style-type", "square"], [3, "ngClass", 4, "ngIf"], [3, "ngClass"], [2, "display", "grid"], [1, "p-float-label"], ["inputId", "oldPassword", "appAutofocus", "", 3, "formControl", "toggleMask", "feedback"], ["for", "float-input"], ["inputId", "password", "appendTo", "body", 3, "formControl", "toggleMask"], ["inputId", "confirmPassword", "appendTo", "body", 3, "formControl", "toggleMask"], ["style", "color:var(--ion-color-danger);", 4, "ngIf"], [1, "ion-text-center", "ion-padding-top"], ["shape", "round", "color", "success", "type", "submit", 3, "click"], ["name", "save-outline", "slot", "start"], [2, "color", "var(--ion-color-danger)"], [1, "ion-text-center"], ["name", "shuffle-outline", "slot", "start"], ["name", "analytics-outline", "slot", "start"]], template: function ChangePasswordPage_Template(rf, ctx) { if (rf & 1) {
442
+ i0.ɵɵelementStart(0, "ion-header");
443
+ i0.ɵɵelement(1, "app-header", 0);
444
+ i0.ɵɵelementEnd();
445
+ i0.ɵɵelementStart(2, "ion-content")(3, "app-content")(4, "form", 1, 2)(6, "ion-grid")(7, "ion-row", 3)(8, "ion-col", 4)(9, "app-card", 5);
446
+ i0.ɵɵlistener("capsLock", function ChangePasswordPage_Template_app_card_capsLock_9_listener($event) { return ctx.capsOn = $event; });
447
+ i0.ɵɵtemplate(10, ChangePasswordPage_div_10_Template, 54, 30, "div", 6)(11, ChangePasswordPage_div_11_Template, 11, 1, "div", 7);
448
+ i0.ɵɵelementEnd()()()()()()();
449
+ } if (rf & 2) {
450
+ i0.ɵɵadvance(4);
451
+ i0.ɵɵproperty("formGroup", ctx.changePwdForm);
452
+ i0.ɵɵadvance(6);
453
+ i0.ɵɵproperty("ngIf", ctx.showChangePassword == "false");
454
+ i0.ɵɵadvance(1);
455
+ i0.ɵɵproperty("ngIf", ctx.showChangePassword == "true");
456
+ } }, dependencies: [i4.IonButton, i4.IonCol, i4.IonContent, i4.IonGrid, i4.IonHeader, i4.IonIcon, i4.IonRow, i6.NgClass, i6.NgIf, i7.MatError, i1.ɵNgNoValidate, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormControlDirective, i1.FormGroupDirective, i8.Password, i9.CapsLockDirective, i10.ContentComponent, i11.HeaderComponent, i12.CardComponent, i13.AutofocusDirective], styles: ["[_nghost-%COMP%] .p-inputwrapper, [_nghost-%COMP%] .p-inputtext{width:100%}.error[_ngcontent-%COMP%]{color:var(--ion-color-danger)}.success[_ngcontent-%COMP%]{color:var(--ion-color-green)}"] }); }
457
+ }
458
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChangePasswordPage, [{
459
+ type: Component,
460
+ args: [{ selector: 'app-change-password', template: "<ion-header>\n <app-header title=\"Change Password\" pageId=\"CNGPWD-001\">\n </app-header>\n</ion-header>\n\n<ion-content>\n <app-content>\n <form [formGroup]=\"changePwdForm\" #changePwdFormDirective=\"ngForm\">\n <ion-grid>\n <ion-row color=\"primary\" class=\"ion-justify-content-center\">\n <ion-col class=\"ion-align-self-center\" size-md=\"6\" size-lg=\"4\" size-xs=\"12\" size-sm=\"12\" size-xl=\"4\">\n \n <app-card title=\"Change Password\" (capsLock)=\"capsOn=$event\">\n <div *ngIf=\"showChangePassword == 'false'\">\n <div>\n In order to <strong>protect your account</strong>, make sure your password has:\n <ul class=\"p-pl-2 p-ml-2 p-mt-0\" style=\"line-height: 1.5; margin-left: 1rem !important; list-style-type: square;\">\n <li [ngClass]=\"!password.hasError('minlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"!isNewPasswordPolicyEnabled\">Minimum 8 characters.</li>\n <li [ngClass]=\"!password.hasError('maxlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"!isNewPasswordPolicyEnabled\">Maximum 15 characters.</li>\n <li [ngClass]=\"!password.hasError('minlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"isNewPasswordPolicyEnabled\">Minimum 14 characters.</li>\n <li [ngClass]=\"!password.hasError('maxlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"isNewPasswordPolicyEnabled\">Maximum 21 characters.</li>\n <li [ngClass]=\"!password.hasError('hasNumber') && password.dirty ? 'success' : 'error'\">At least 1 number</li>\n <li [ngClass]=\"!password.hasError('hasCapitalCase') && password.dirty ? 'success' : 'error'\">At least 1 uppercase letter</li>\n <li [ngClass]=\"!password.hasError('hasSmallCase') && password.dirty ? 'success' : 'error'\">At least 1 lowercase letter</li>\n <li [ngClass]=\"!password.hasError('hasCsrSpecialCharacters') && password.dirty ? 'success' : 'error'\" *ngIf=\"!loginService.isClaimant()\">At least 2 special characters from following <strong>_ &#64; * $ ! # .</strong></li>\n <li [ngClass]=\"!password.hasError('hasClaimantSpecialCharacters') && password.dirty ? 'success' : 'error'\" *ngIf=\"loginService.isClaimant() && !isSameSymbolPolicyForClaimantAndAgency\">At least 1 special characters from following <strong>_ &#64; * $ ! # .</strong></li>\n <li [ngClass]=\"!password.hasError('hasClaimantSpecialCharacters') && password.dirty ? 'success' : 'error'\" *ngIf=\"loginService.isClaimant() && isSameSymbolPolicyForClaimantAndAgency\">At least 2 special characters from following <strong>_ &#64; * $ ! # .</strong></li>\n </ul>\n </div>\n <div style=\"display: grid;\">\n <span class=\"p-float-label\">\n <p-password [formControl]=\"oldPassword\" inputId=\"oldPassword\" [toggleMask]='true' [feedback]='false' appAutofocus></p-password> \n <label for=\"float-input\">Current Password</label>\n </span>\n <mat-error *ngIf=\"oldPassword.hasError('required')\">\n Current Password is required.\n </mat-error>\n <mat-error *ngIf=\"oldPassword.hasError('match')\">\n Current Password should not be same as New Password.\n </mat-error>\n </div>\n <br/>\n <div style=\"display: grid;\">\n <span class=\"p-float-label\">\n <p-password [formControl]=\"password\" inputId=\"password\" [toggleMask]='true' appendTo=\"body\">\n </p-password> \n <label for=\"float-input\">New Password</label>\n </span>\n <mat-error *ngIf=\"password.hasError('required')\">\n New Password is required.\n </mat-error>\n <mat-error *ngIf=\"password.hasError('notMatch')\">\n New Password and Confirm Password did not match.\n </mat-error>\n <mat-error *ngIf=\"password.hasError('match')\">\n Current Password should not be same as New Password.\n </mat-error>\n </div>\n \n <br/>\n <div style=\"display: grid;\">\n <span class=\"p-float-label\">\n <p-password [formControl]=\"confirmPassword\" inputId=\"confirmPassword\" [toggleMask]='true' appendTo=\"body\">\n </p-password> \n <label for=\"float-input\">Confirm Password</label>\n </span>\n <mat-error *ngIf=\"confirmPassword.hasError('required')\">\n Confirm Password is required.\n </mat-error>\n <mat-error *ngIf=\"confirmPassword.hasError('minlength') && isNewPasswordPolicyEnabled\">\n Confirm Password should have minimum <strong>14 characters</strong>.\n </mat-error>\n <mat-error *ngIf=\"confirmPassword.hasError('maxlength') && isNewPasswordPolicyEnabled\">\n Confirm Password should not have more than <strong>21 characters</strong>.\n </mat-error>\n <mat-error *ngIf=\"confirmPassword.hasError('minlength') && !isNewPasswordPolicyEnabled\">\n Confirm Password should have minimum <strong>8 characters</strong>.\n </mat-error>\n <mat-error *ngIf=\"confirmPassword.hasError('maxlength') && !isNewPasswordPolicyEnabled\">\n Confirm Password should not have more than <strong>15 characters</strong>.\n </mat-error>\n <mat-error *ngIf=\"confirmPassword.hasError('notMatch')\">\n New Password and Confirm Password did not match.\n </mat-error>\n <mat-error *ngIf=\"confirmPassword.hasError('match')\">\n Current Password should not be same as Confirm Password.\n </mat-error>\n </div>\n \n <label *ngIf=\"capsOn\" style=\"color:var(--ion-color-danger);\"><strong>Caps Lock is On</strong></label>\n \n <div class=\"ion-text-center ion-padding-top\">\n <ion-button shape=\"round\" (click)=\"save()\" color=\"success\" type=\"submit\">\n <ion-icon name=\"save-outline\" slot=\"start\" ></ion-icon>\n Change Password\n </ion-button>\n </div>\n </div>\n <div *ngIf=\"showChangePassword == 'true'\" class=\"ion-text-center\">\n Your password will expire in <strong *ngIf=\"user\">{{user.daysTillPasswordExpire}}</strong> day(s). Consider changing it now.\n <div class=\"ion-text-center ion-padding-top\">\n <ion-button shape=\"round\" (click)=\"showChangePassword = 'false'\" color=\"success\" type=\"submit\">\n <ion-icon name=\"shuffle-outline\" slot=\"start\" ></ion-icon>\n Change Now\n </ion-button>\n <ion-button shape=\"round\" (click)=\"redirect()\" color=\"success\" type=\"submit\">\n <ion-icon name=\"analytics-outline\" slot=\"start\" ></ion-icon>\n Dashboard\n </ion-button>\n </div>\n </div>\n </app-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n </app-content>\n</ion-content>", styles: [":host ::ng-deep .p-inputwrapper,:host ::ng-deep .p-inputtext{width:100%}.error{color:var(--ion-color-danger)}.success{color:var(--ion-color-green)}\n"] }]
461
+ }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.LoginService }, { type: i3.UtilService }, { type: i4.NavController }, { type: i5.ActivatedRoute }, { type: i4.Platform }], null); })();
462
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChangePasswordPage, { className: "ChangePasswordPage" }); })();
463
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBd0MsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0lDT3hDLDhCQUE0SDtJQUFBLHFDQUFxQjtJQUFBLGlCQUFLOzs7SUFBbEosK0dBQW1GOzs7SUFDdkYsOEJBQTRIO0lBQUEsc0NBQXNCO0lBQUEsaUJBQUs7OztJQUFuSiwrR0FBbUY7OztJQUN2Riw4QkFBMkg7SUFBQSxzQ0FBc0I7SUFBQSxpQkFBSzs7O0lBQWxKLCtHQUFtRjs7O0lBQ3ZGLDhCQUEySDtJQUFBLHNDQUFzQjtJQUFBLGlCQUFLOzs7SUFBbEosK0dBQW1GOzs7SUFJdkYsOEJBQTBJO0lBQUEsNkRBQTZDO0lBQUEsOEJBQVE7SUFBQSw2QkFBaUI7SUFBQSxpQkFBUyxFQUFBOzs7SUFBck4sNkhBQWtHOzs7SUFDdEcsOEJBQXlMO0lB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LElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxjQUFjLHdDQUF3QyxTQUFTLENBQUMsWUFBWSxNQUFNLFNBQVMsQ0FBQyxhQUFhLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMxSjthQUFNO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLHdDQUF3QyxTQUFTLENBQUMsWUFBWSxNQUFNLFNBQVMsQ0FBQyxhQUFhLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN2SjtJQUNILENBQUM7bUZBaEtVLGtCQUFrQjtvRUFBbEIsa0JBQWtCO1lDakIvQixrQ0FBWTtZQUNWLGdDQUNhO1lBQ2YsaUJBQWE7WUFFYixtQ0FBYSxrQkFBQSxpQkFBQSxlQUFBLGlCQUFBLGlCQUFBLGtCQUFBO1lBT2lDLG9JQUEwQjtZQUMxRCx1RUFvRk0seURBQUE7WUFjUixpQkFBVyxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7WUF4R2IsZUFBMkI7WUFBM0IsNkNBQTJCO1lBTWpCLGVBQW1DO1lBQW5DLHdEQUFtQztZQXFGbkMsZUFBa0M7WUFBbEMsdURBQWtDOzs7aUZEakZ6QyxrQkFBa0I7Y0FMOUIsU0FBUzsyQkFDRSxxQkFBcUI7O2tGQUlwQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQXBwVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRpb25zL0FwcFZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQXBwUmVnZXggfSBmcm9tICcuLi8uLi8uLi92YWxpZGF0aW9ucy9BcHBSZWdleCc7XG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL0Jhc2VQYWdlJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5wYWdlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFuZ2UtcGFzc3dvcmQucGFnZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkUGFnZSBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgY2Fwc09uID0gZmFsc2U7XG5cbiAgY29tbW9uVmFsaWRhdG9ycyA6IFZhbGlkYXRvckZuW10gPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2goQXBwUmVnZXguVVBQRVJfQ0FTRV9SRUdFWCwge2hhc0NhcGl0YWxDYXNlIDogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKEFwcFJlZ2V4LkxPV0VSX0NBU0VfUkVHRVgsIHtoYXNTbWFsbENhc2UgOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2goQXBwUmVnZXguTlVNQkVSX1JFR0VYLCB7aGFzTnVtYmVyIDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xuXG4gIGNzclBhc3N3b3JkVmFsaWRhdG9ycyA6IFZhbGlkYXRvckZuW10gPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaChBcHBSZWdleC5BR0VOQ1lfU1lNQk9MX1JFR0VYLCB7aGFzQ3NyU3BlY2lhbENoYXJhY3RlcnMgOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcblxuICBjc3JDb25maXJtUGFzc3dvcmRWYWxpZGF0b3JzIDogVmFsaWRhdG9yRm5bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaChBcHBSZWdleC5BR0VOQ1lfU1lNQk9MX1JFR0VYLCB7aGFzQ3NyU3BlY2lhbENoYXJhY3RlcnMgOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMuZXF1YWwoJ3Bhc3N3b3JkJywge25vdE1hdGNoIDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBjbGFpbWFudFBhc3N3b3JkVmFsaWRhdG9ycyA6IFZhbGlkYXRvckZuW10gPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2godGhpcy5pc1NhbWVTeW1ib2xQb2xpY3lGb3JDbGFpbWFudEFuZEFnZW5jeT9BcHBSZWdleC5BR0VOQ1lfU1lNQk9MX1JFR0VYOkFwcFJlZ2V4LkNMQUlNQU5UX1NZTUJPTF9SRUdFWCwge2hhc0NsYWltYW50U3BlY2lhbENoYXJhY3RlcnMgOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XG5cbiAgY2xhaW1hbnRDb25maXJtUGFzc3dvcmRWYWxpZGF0b3JzIDogVmFsaWRhdG9yRm5bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKHRoaXMuaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3k/QXBwUmVnZXguQUdFTkNZX1NZTUJPTF9SRUdFWDpBcHBSZWdleC5DTEFJTUFOVF9TWU1CT0xfUkVHRVgsIHtoYXNDbGFpbWFudFNwZWNpYWxDaGFyYWN0ZXJzIDogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMuZXF1YWwoJ3Bhc3N3b3JkJywge25vdE1hdGNoIDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XG5cbiAgcHVibGljIGNoYW5nZVB3ZEZvcm0gOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBoaWRlUGFzc3dvcmQgPSB0cnVlO1xuXG4gIHB1YmxpYyBoaWRlQ29uZmlybVBhc3N3b3JkID0gdHJ1ZTtcblxuICBwdWJsaWMgaGlkZU9sZFBhc3N3b3JkID0gdHJ1ZTtcblxuICBwdWJsaWMgdXNlciA6IFVzZXJNb2RlbDtcblxuICBwdWJsaWMgc2hvd0NoYW5nZVBhc3N3b3JkID0gJ2ZhbHNlJztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmIgOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyBsb2dpblNlcnZpY2UgOiBMb2dpblNlcnZpY2UsIFxuICAgICAgICAgICAgICBwdWJsaWMgdXRpbCA6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtKSB7XG4gICAgICAgICAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgICAgICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemVDaGFuZ2VQd2RGb3JtKCk7XG4gICAgdGhpcy51c2VyID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VXNlcigpO1xuICAgIHRoaXMuc2hvd0NoYW5nZVBhc3N3b3JkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnY2hhbmdlUHdkJykgPyB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdjaGFuZ2VQd2QnKSA6ICdmYWxzZSc7XG4gIH1cblxuICBpbml0aWFsaXplQ2hhbmdlUHdkRm9ybSgpe1xuICAgIHRoaXMuY2hhbmdlUHdkRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgJ29sZFBhc3N3b3JkJyA6IFtudWxsICwgW11dLFxuICAgICAgJ3Bhc3N3b3JkJzogW251bGwsIFtdXSxcbiAgICAgICdjb25maXJtUGFzc3dvcmQnOiBbbnVsbCwgW11dXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhc3N3b3JkLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiB7XG4gICAgICBpZih0aGlzLmNvbmZpcm1QYXNzd29yZC52YWx1ZSl7XG4gICAgICAgIHRoaXMuY29uZmlybVBhc3N3b3JkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICAgIGlmKHRoaXMub2xkUGFzc3dvcmQudmFsdWUpe1xuICAgICAgICB0aGlzLm9sZFBhc3N3b3JkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICB0aGlzLnNldFBhc3N3b3JkVmFsaWRhdG9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYXNzd29yZFZhbGlkYXRvcnMoKSB7XG4gICAgbGV0IHZhbGlkYXRvcnMxOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgbGV0IHZhbGlkYXRvcnMyOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgbGV0IHZhbGlkYXRvcnMzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMubm90RXF1YWwoJ3Bhc3N3b3JkJywge21hdGNoIDogdHJ1ZX0pXTtcblxuICAgIHRoaXMuY29tbW9uVmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgdGhpcy5jb21tb25WYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcblxuICAgIGlmKHRoaXMuaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWQpe1xuICAgICAgdGhpcy5uZXdQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMxLnB1c2godikpO1xuICAgICAgdGhpcy5uZXdQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9sZFBhc3N3b3JkUG9saWN5VmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgICB0aGlzLm9sZFBhc3N3b3JkUG9saWN5VmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczIucHVzaCh2KSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubG9naW5TZXJ2aWNlLmlzQ3NyKCkpIHtcbiAgICAgIHRoaXMuY3NyUGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgIHRoaXMuY3NyQ29uZmlybVBhc3N3b3JkVmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczIucHVzaCh2KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xhaW1hbnRQYXNzd29yZFZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMxLnB1c2godikpO1xuICAgICAgdGhpcy5jbGFpbWFudENvbmZpcm1QYXNzd29yZFZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLm9sZFBhc3N3b3JkLCB2YWxpZGF0b3JzMyk7XG4gICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5wYXNzd29yZCwgdmFsaWRhdG9yczEpO1xuICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuY29uZmlybVBhc3N3b3JkLCB2YWxpZGF0b3JzMik7XG4gIH1cblxuICBnZXQgb2xkUGFzc3dvcmQoKXtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VQd2RGb3JtLmdldCgnb2xkUGFzc3dvcmQnKTtcbiAgfVxuXG4gIGdldCBwYXNzd29yZCgpe1xuICAgIHJldHVybiB0aGlzLmNoYW5nZVB3ZEZvcm0uZ2V0KCdwYXNzd29yZCcpO1xuICB9XG5cbiAgZ2V0IGNvbmZpcm1QYXNzd29yZCgpe1xuICAgIHJldHVybiB0aGlzLmNoYW5nZVB3ZEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKTtcbiAgfVxuXG4gIHNhdmUoKXtcbiAgICBpZih0aGlzLmNoYW5nZVB3ZEZvcm0uaW52YWxpZCl7XG4gICAgICByZXR1cm4gO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpXG4gICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UudXBkYXRlUGFzc3dvcmQodGhpcy5vbGRQYXNzd29yZC52YWx1ZSwgdGhpcy5wYXNzd29yZC52YWx1ZSwgdGhpcy5jb25maXJtUGFzc3dvcmQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubmF2aWdhdGVSb290KCdsb2dpbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdQYXNzd29yZCBDaGFuZ2VkIFN1Y2Nlc3NmdWxseS4gUGxlYXNlIGxvZ2luIGFnYWluLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgIH0pXG4gIH1cblxuICByZWRpcmVjdCgpe1xuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxvZ2luU2VydmljZS5nZXRVc2VyKCk7XG4gICAgaWYodGhpcy5sb2dpblNlcnZpY2UuaXNDbGFpbWFudCgpKXtcbiAgICAgIGNvbnN0IGlzQ2FwYWNpdG9yID0gdGhpcy5wbGF0Zm9ybS5pcygnY2FwYWNpdG9yJyk7XG4gICAgICBpZihpc0NhcGFjaXRvcil7XG4gICAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChcIndlbGNvbWVcIik7XG4gICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICB9IGVsc2V7XG4gICAgICAgIGlmKExpYkNvbnN0YW50cy5sZWdhY3lNZW51ID09ICd0cnVlJyl7XG4gICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KFwid2VsY29tZVwiKTtcbiAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZigoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUgKyBcIlwiKS5pbmNsdWRlcygnVUFUJykgfHwgKExpYkNvbnN0YW50cy5zc29Db29raWVOYW1lICsgXCJcIikuaW5jbHVkZXMoJ1BST0QnKSApe1xuICAgICAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLm1zd29ya3NVcmx9YCwgJ19zZWxmJyk7XG4gICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZih0aGlzLmxvZ2luU2VydmljZS5pc0VtcGxveWVyKCkgfHwgdGhpcy5sb2dpblNlcnZpY2UuaXNUcGEoKSl7XG4gICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMudGF4VXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5YCwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxpb24taGVhZGVyPlxuICA8YXBwLWhlYWRlciB0aXRsZT1cIkNoYW5nZSBQYXNzd29yZFwiIHBhZ2VJZD1cIkNOR1BXRC0wMDFcIj5cbiAgPC9hcHAtaGVhZGVyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQ+XG4gIDxhcHAtY29udGVudD5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNoYW5nZVB3ZEZvcm1cIiAjY2hhbmdlUHdkRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxuICAgICAgPGlvbi1ncmlkPlxuICAgICAgICA8aW9uLXJvdyBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tYWxpZ24tc2VsZi1jZW50ZXJcIiBzaXplLW1kPVwiNlwiIHNpemUtbGc9XCI0XCIgc2l6ZS14cz1cIjEyXCIgc2l6ZS1zbT1cIjEyXCIgc2l6ZS14bD1cIjRcIj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGFwcC1jYXJkIHRpdGxlPVwiQ2hhbmdlIFBhc3N3b3JkXCIgKGNhcHNMb2NrKT1cImNhcHNPbj0kZXZlbnRcIj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDaGFuZ2VQYXNzd29yZCA9PSAnZmFsc2UnXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIEluIG9yZGVyIHRvIDxzdHJvbmc+cHJvdGVjdCB5b3VyIGFjY291bnQ8L3N0cm9uZz4sIG1ha2Ugc3VyZSB5b3VyIHBhc3N3b3JkIGhhczpcbiAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInAtcGwtMiBwLW1sLTIgcC1tdC0wXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMS41OyBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignbWlubGVuZ3RoJykgJiYgcGFzc3dvcmQuZGlydHkgPyAnc3VjY2VzcycgOiAnZXJyb3InXCIgKm5nSWY9XCIhaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRcIj5NaW5pbXVtIDggY2hhcmFjdGVycy48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSAmJiBwYXNzd29yZC5kaXJ0eSA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cIiFpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiPk1heGltdW0gMTUgY2hhcmFjdGVycy48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBwYXNzd29yZC5kaXJ0eSA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cImlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkXCI+TWluaW11bSAxNCBjaGFyYWN0ZXJzLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmIHBhc3N3b3JkLmRpcnR5ID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwiaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRcIj5NYXhpbXVtIDIxIGNoYXJhY3RlcnMuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzTnVtYmVyJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPkF0IGxlYXN0IDEgbnVtYmVyPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzQ2FwaXRhbENhc2UnKSAmJiBwYXNzd29yZC5kaXJ0eSAgPyAnc3VjY2VzcycgOiAnZXJyb3InXCI+QXQgbGVhc3QgMSB1cHBlcmNhc2UgbGV0dGVyPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzU21hbGxDYXNlJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPkF0IGxlYXN0IDEgbG93ZXJjYXNlIGxldHRlcjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ2hhc0NzclNwZWNpYWxDaGFyYWN0ZXJzJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwiIWxvZ2luU2VydmljZS5pc0NsYWltYW50KClcIj5BdCBsZWFzdCAyIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIGZvbGxvd2luZyA8c3Ryb25nPl8gJiM2NDsgKiAkICEgIyAuPC9zdHJvbmc+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzQ2xhaW1hbnRTcGVjaWFsQ2hhcmFjdGVycycpICYmIHBhc3N3b3JkLmRpcnR5ICA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cImxvZ2luU2VydmljZS5pc0NsYWltYW50KCkgJiYgIWlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5XCI+QXQgbGVhc3QgMSBzcGVjaWFsIGNoYXJhY3RlcnMgZnJvbSBmb2xsb3dpbmcgPHN0cm9uZz5fICYjNjQ7ICogJCAhICMgLjwvc3Ryb25nPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ2hhc0NsYWltYW50U3BlY2lhbENoYXJhY3RlcnMnKSAmJiBwYXNzd29yZC5kaXJ0eSAgPyAnc3VjY2VzcycgOiAnZXJyb3InXCIgKm5nSWY9XCJsb2dpblNlcnZpY2UuaXNDbGFpbWFudCgpICYmIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5XCI+QXQgbGVhc3QgMiBzcGVjaWFsIGNoYXJhY3RlcnMgZnJvbSBmb2xsb3dpbmcgPHN0cm9uZz5fICYjNjQ7ICogJCAhICMgLjwvc3Ryb25nPjwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZ3JpZDtcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwib2xkUGFzc3dvcmRcIiBpbnB1dElkPVwib2xkUGFzc3dvcmRcIiBbdG9nZ2xlTWFza109J3RydWUnIFtmZWVkYmFja109J2ZhbHNlJyBhcHBBdXRvZm9jdXM+PC9wLXBhc3N3b3JkPiBcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+Q3VycmVudCBQYXNzd29yZDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwib2xkUGFzc3dvcmQuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBQYXNzd29yZCBpcyByZXF1aXJlZC5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIm9sZFBhc3N3b3JkLmhhc0Vycm9yKCdtYXRjaCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgUGFzc3dvcmQgc2hvdWxkIG5vdCBiZSBzYW1lIGFzIE5ldyBQYXNzd29yZC5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGdyaWQ7XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZmxvYXQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtcGFzc3dvcmQgW2Zvcm1Db250cm9sXT1cInBhc3N3b3JkXCIgaW5wdXRJZD1cInBhc3N3b3JkXCIgW3RvZ2dsZU1hc2tdPSd0cnVlJyBhcHBlbmRUbz1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wLXBhc3N3b3JkPiBcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+TmV3IFBhc3N3b3JkPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICAgICAgICAgICAgICBOZXcgUGFzc3dvcmQgaXMgcmVxdWlyZWQuXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcignbm90TWF0Y2gnKVwiPlxuICAgICAgICAgICAgICAgICAgICBOZXcgUGFzc3dvcmQgYW5kIENvbmZpcm0gUGFzc3dvcmQgZGlkIG5vdCBtYXRjaC5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInBhc3N3b3JkLmhhc0Vycm9yKCdtYXRjaCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgUGFzc3dvcmQgc2hvdWxkIG5vdCBiZSBzYW1lIGFzIE5ldyBQYXNzd29yZC5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBncmlkO1wiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWZsb2F0LWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIFtmb3JtQ29udHJvbF09XCJjb25maXJtUGFzc3dvcmRcIiBpbnB1dElkPVwiY29uZmlybVBhc3N3b3JkXCIgW3RvZ2dsZU1hc2tdPSd0cnVlJyBhcHBlbmRUbz1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wLXBhc3N3b3JkPiBcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+Q29uZmlybSBQYXNzd29yZDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm0gUGFzc3dvcmQgaXMgcmVxdWlyZWQuXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm0gUGFzc3dvcmQgc2hvdWxkIGhhdmUgbWluaW11bSA8c3Ryb25nPjE0IGNoYXJhY3RlcnM8L3N0cm9uZz4uXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm0gUGFzc3dvcmQgc2hvdWxkIG5vdCBoYXZlIG1vcmUgdGhhbiA8c3Ryb25nPjIxIGNoYXJhY3RlcnM8L3N0cm9uZz4uXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmICFpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICBDb25maXJtIFBhc3N3b3JkIHNob3VsZCBoYXZlIG1pbmltdW0gPHN0cm9uZz44IGNoYXJhY3RlcnM8L3N0cm9uZz4uXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmICFpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICBDb25maXJtIFBhc3N3b3JkIHNob3VsZCBub3QgaGF2ZSBtb3JlIHRoYW4gPHN0cm9uZz4xNSBjaGFyYWN0ZXJzPC9zdHJvbmc+LlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdub3RNYXRjaCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIE5ldyBQYXNzd29yZCBhbmQgQ29uZmlybSBQYXNzd29yZCBkaWQgbm90IG1hdGNoLlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdtYXRjaCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgUGFzc3dvcmQgc2hvdWxkIG5vdCBiZSBzYW1lIGFzIENvbmZpcm0gUGFzc3dvcmQuXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjYXBzT25cIiBzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1wiPjxzdHJvbmc+Q2FwcyBMb2NrIGlzIE9uPC9zdHJvbmc+PC9sYWJlbD5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic2F2ZSgpXCIgY29sb3I9XCJzdWNjZXNzXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNhdmUtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiID48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgUGFzc3dvcmRcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93Q2hhbmdlUGFzc3dvcmQgPT0gJ3RydWUnXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBZb3VyIHBhc3N3b3JkIHdpbGwgZXhwaXJlIGluIDxzdHJvbmcgKm5nSWY9XCJ1c2VyXCI+e3t1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmV9fTwvc3Ryb25nPiBkYXkocykuIENvbnNpZGVyIGNoYW5naW5nIGl0IG5vdy5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJzaG93Q2hhbmdlUGFzc3dvcmQgPSAnZmFsc2UnXCIgY29sb3I9XCJzdWNjZXNzXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNodWZmbGUtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiID48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgTm93XG4gICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInJlZGlyZWN0KClcIiBjb2xvcj1cInN1Y2Nlc3NcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYW5hbHl0aWNzLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiA+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hcHAtY2FyZD5cbiAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgIDwvaW9uLXJvdz5cbiAgICAgIDwvaW9uLWdyaWQ+XG4gICAgPC9mb3JtPlxuICA8L2FwcC1jb250ZW50PlxuPC9pb24tY29udGVudD4iXX0=