@reusa/ngx-reusa-app-lib 0.0.1374 → 0.0.1375

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 (545) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2392 -1322
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
  4. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  5. package/esm2022/lib/components/address/address.component.mjs +287 -152
  6. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  7. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  8. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  9. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  10. package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
  11. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  12. package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  19. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  20. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  21. package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
  22. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +422 -574
  23. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  24. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  25. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  26. package/esm2022/lib/components/error/error.component.mjs +22 -5
  27. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  28. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  29. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  30. package/esm2022/lib/components/footer/footer.component.mjs +112 -101
  31. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  32. package/esm2022/lib/components/header/header.component.mjs +440 -174
  33. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  34. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
  35. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  36. package/esm2022/lib/components/info/info.component.mjs +4 -12
  37. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
  38. package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
  39. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
  40. package/esm2022/lib/components/link/link.component.mjs +1 -1
  41. package/esm2022/lib/components/menu/menu.component.mjs +68 -100
  42. package/esm2022/lib/components/mfa/mfa.component.mjs +158 -288
  43. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  44. package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
  45. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  46. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  47. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  48. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  49. package/esm2022/lib/components/profile/profile.component.mjs +749 -353
  50. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
  51. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  52. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  53. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  54. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  55. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
  56. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
  57. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +877 -1153
  58. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +208 -699
  59. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  60. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +128 -41
  61. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  62. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  63. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
  65. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  66. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
  67. package/esm2022/lib/components/select/select.component.mjs +5 -10
  68. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  69. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  70. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
  71. package/esm2022/lib/components/user-login/user-login.component.mjs +139 -360
  72. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  73. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  74. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  75. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  76. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +655 -387
  77. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
  78. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
  79. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  80. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  81. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  82. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  83. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  84. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  85. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
  86. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  87. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  88. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  89. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  90. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  91. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  92. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  93. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  94. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  95. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  96. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  97. package/esm2022/lib/models/CountyModel.mjs +3 -0
  98. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  99. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  100. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  101. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  102. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  103. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  104. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  105. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  106. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  107. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  108. package/esm2022/lib/models/LibConstants.mjs +45 -6
  109. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  110. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  111. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  112. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  113. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  114. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  115. package/esm2022/lib/models/UserModel.mjs +1 -1
  116. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  117. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  118. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  119. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  120. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  121. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  122. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  123. package/esm2022/lib/models/combo-model.mjs +343 -0
  124. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  125. package/esm2022/lib/models/dependent.model.mjs +1 -1
  126. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  127. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  128. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  129. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  130. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  131. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  132. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  133. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  134. package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
  135. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  136. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  137. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  138. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  139. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  140. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  141. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  142. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  143. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  144. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  145. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  146. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  147. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  148. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  149. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  150. package/esm2022/lib/pages/BasePage.mjs +4 -23
  151. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  152. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  153. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  154. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  155. package/esm2022/lib/pages/common/login/login.component.mjs +7 -13
  156. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  157. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  158. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
  159. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  160. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  161. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  162. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  163. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  164. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  165. package/esm2022/lib/services/base-service.mjs +4 -1
  166. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  167. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  168. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  169. package/esm2022/lib/services/claims/claims.service.mjs +105 -14
  170. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  171. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  172. package/esm2022/lib/services/help/help.service.mjs +1 -1
  173. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  174. package/esm2022/lib/services/login/login.service.mjs +29 -14
  175. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  176. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  177. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  178. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  179. package/esm2022/lib/services/util/util.service.mjs +61 -5
  180. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  181. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  182. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  183. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  184. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  185. package/esm2022/lib/validations/AppValidators.mjs +78 -62
  186. package/esm2022/public-api.mjs +47 -5
  187. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41277 -23401
  188. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  189. package/lib/components/add-employer/add-employer.component.d.ts +137 -53
  190. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  191. package/lib/components/add-participant/add-participant.component.d.ts +11 -5
  192. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  193. package/lib/components/add-payment/add-payment.component.d.ts +9 -3
  194. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  195. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  196. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  197. package/lib/components/address/address.component.d.ts +42 -15
  198. package/lib/components/address/address.component.d.ts.map +1 -1
  199. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  200. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  201. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  202. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  203. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  204. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  205. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  206. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  207. package/lib/components/bank-details/bank-details.component.d.ts +1 -23
  208. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  209. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  210. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  211. package/lib/components/contact-us/contact-us.component.d.ts +1 -4
  212. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  213. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  214. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  215. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  216. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  217. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  218. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  219. package/lib/components/email-update/email-update.component.d.ts +1 -12
  220. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  221. package/lib/components/employer-grid/employer-grid.component.d.ts +25 -15
  222. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  223. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  224. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  225. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  226. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  227. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  228. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  229. package/lib/components/error/error.component.d.ts +3 -2
  230. package/lib/components/error/error.component.d.ts.map +1 -1
  231. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  232. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  233. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  234. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  235. package/lib/components/footer/footer.component.d.ts.map +1 -1
  236. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  237. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  238. package/lib/components/header/header.component.d.ts +17 -5
  239. package/lib/components/header/header.component.d.ts.map +1 -1
  240. package/lib/components/history-page/history-page.component.d.ts +80 -0
  241. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  242. package/lib/components/idme/idme.component.d.ts +19 -0
  243. package/lib/components/idme/idme.component.d.ts.map +1 -0
  244. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
  245. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  246. package/lib/components/job-title/job-title.component.d.ts +22 -23
  247. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  248. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
  249. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  250. package/lib/components/menu/menu.component.d.ts +3 -12
  251. package/lib/components/menu/menu.component.d.ts.map +1 -1
  252. package/lib/components/mfa/mfa.component.d.ts +7 -19
  253. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  254. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  255. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  256. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  257. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  258. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  259. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  260. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  261. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  262. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  263. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  264. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  265. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  266. package/lib/components/profile/profile.component.d.ts +82 -49
  267. package/lib/components/profile/profile.component.d.ts.map +1 -1
  268. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  269. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  270. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  271. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  272. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  273. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  274. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  275. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  276. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  277. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  278. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -1
  279. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  280. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  281. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  282. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -35
  283. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  284. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  285. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  286. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  287. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  288. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  289. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  290. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  291. package/lib/components/questionnaire/question.service.d.ts +0 -1
  292. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  293. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  294. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  295. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  296. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  297. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  298. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  299. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  300. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  301. package/lib/components/sms/sms.component.d.ts +63 -0
  302. package/lib/components/sms/sms.component.d.ts.map +1 -0
  303. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
  304. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  305. package/lib/components/user-login/user-login.component.d.ts +5 -38
  306. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  307. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  308. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  309. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  310. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  311. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  312. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  313. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  314. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  315. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
  316. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  317. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  318. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  319. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  320. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  321. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  322. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  323. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  324. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  325. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  326. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  327. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  328. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  329. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  330. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  331. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  332. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  333. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  334. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  335. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  336. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  337. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  338. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  339. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  340. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  341. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  342. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  343. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  344. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  345. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  346. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  347. package/lib/guards/auth.guard.d.ts.map +1 -1
  348. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  349. package/lib/models/ActiveClaimModel.d.ts +8 -0
  350. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  351. package/lib/models/CountyModel.d.ts +8 -0
  352. package/lib/models/CountyModel.d.ts.map +1 -0
  353. package/lib/models/DuaAppDataModel.d.ts +5 -0
  354. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  355. package/lib/models/DuaRequestModel.d.ts +10 -0
  356. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  357. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  358. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  359. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  360. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  361. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  362. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  363. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  364. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  365. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  366. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  367. package/lib/models/GrossEarningsModel.d.ts +6 -0
  368. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  369. package/lib/models/HelpConstants.d.ts +5 -0
  370. package/lib/models/HelpConstants.d.ts.map +1 -0
  371. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  372. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  373. package/lib/models/LibConstants.d.ts +40 -1
  374. package/lib/models/LibConstants.d.ts.map +1 -1
  375. package/lib/models/OtpAuthModel.d.ts +0 -1
  376. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  377. package/lib/models/PaymentComponentModel.d.ts +1 -1
  378. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  379. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  380. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  381. package/lib/models/RetroWeeksModel.d.ts +11 -0
  382. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  383. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  384. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  385. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  386. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  387. package/lib/models/UserModel.d.ts +0 -1
  388. package/lib/models/UserModel.d.ts.map +1 -1
  389. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  390. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  391. package/lib/models/WageCalculatorModel.d.ts +15 -0
  392. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  393. package/lib/models/WageInfoModel.d.ts +9 -0
  394. package/lib/models/WageInfoModel.d.ts.map +1 -0
  395. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  396. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  397. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  398. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  399. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  400. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  401. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  402. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  403. package/lib/models/combo-model.d.ts +42 -0
  404. package/lib/models/combo-model.d.ts.map +1 -0
  405. package/lib/models/dashboard-model.d.ts +22 -0
  406. package/lib/models/dashboard-model.d.ts.map +1 -1
  407. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  408. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  409. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  410. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  411. package/lib/models/fileupload/FileObject.d.ts +8 -0
  412. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  413. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  414. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  415. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  416. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  417. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  418. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  419. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
  420. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  421. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  422. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  423. package/lib/models/questionnaire/ComboModel.d.ts +14 -82
  424. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  425. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  426. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  427. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  428. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  429. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +0 -1
  430. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  431. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  432. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  433. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  434. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  435. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  436. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  437. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  438. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  439. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  440. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  441. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  442. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  443. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  444. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  445. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  446. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  447. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  448. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  449. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  450. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  451. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  452. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  453. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  454. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  455. package/lib/pages/BasePage.d.ts +3 -6
  456. package/lib/pages/BasePage.d.ts.map +1 -1
  457. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  458. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  459. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  460. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  461. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  462. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  463. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  464. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  465. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  466. package/lib/services/appeal/appeal.service.d.ts +16 -0
  467. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  468. package/lib/services/base-service.d.ts +12 -0
  469. package/lib/services/base-service.d.ts.map +1 -1
  470. package/lib/services/birt-service/birt.service.d.ts +17 -0
  471. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  472. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  473. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  474. package/lib/services/claims/claims.service.d.ts +39 -5
  475. package/lib/services/claims/claims.service.d.ts.map +1 -1
  476. package/lib/services/employer/employer-service.d.ts +16 -0
  477. package/lib/services/employer/employer-service.d.ts.map +1 -0
  478. package/lib/services/event-service/event-service.d.ts +20 -0
  479. package/lib/services/event-service/event-service.d.ts.map +1 -0
  480. package/lib/services/login/login.service.d.ts +5 -3
  481. package/lib/services/login/login.service.d.ts.map +1 -1
  482. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  483. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  484. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  485. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  486. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  487. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  488. package/lib/services/security-service/security.service.d.ts +12 -4
  489. package/lib/services/security-service/security.service.d.ts.map +1 -1
  490. package/lib/services/util/util.service.d.ts +6 -0
  491. package/lib/services/util/util.service.d.ts.map +1 -1
  492. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  493. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  494. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  495. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  496. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  497. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  498. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  499. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  500. package/lib/validations/AppRegex.d.ts +0 -2
  501. package/lib/validations/AppRegex.d.ts.map +1 -1
  502. package/lib/validations/AppValidators.d.ts +20 -24
  503. package/lib/validations/AppValidators.d.ts.map +1 -1
  504. package/package.json +2 -2
  505. package/public-api.d.ts +46 -4
  506. package/public-api.d.ts.map +1 -1
  507. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
  508. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
  509. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
  510. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  511. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  512. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  513. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  514. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  515. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  516. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  517. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  518. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  519. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  520. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  521. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  522. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  523. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  524. package/lib/components/security-question/security-question.component.d.ts +0 -37
  525. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  526. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  527. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  528. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  529. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  530. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  531. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  532. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  533. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  534. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  535. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  536. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  537. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  538. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  539. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  540. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  541. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  542. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  543. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  544. package/lib/services/ovp/ovp.service.d.ts +0 -17
  545. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -6,26 +6,19 @@ import * as i1 from "../../services/util/util.service";
6
6
  import * as i2 from "@ionic/angular";
7
7
  import * as i3 from "@angular/forms";
8
8
  import * as i4 from "../../services/login/login.service";
9
- import * as i5 from "../../services/weekly-cert/weekly-cert-v2.service";
10
- import * as i6 from "../../services/ovp/ovp.service";
11
- import * as i7 from "@angular/router";
12
- import * as i8 from "../../services/claimant-service/claimant.service";
13
- import * as i9 from "../../services/lexis-nexis/lexis.nexis.service";
14
- import * as i10 from "@ngx-translate/core";
15
- import * as i11 from "@angular/common";
16
- import * as i12 from "primeng/api";
17
- import * as i13 from "primeng/dialog";
18
- import * as i14 from "primeng/password";
19
- import * as i15 from "primeng/inputtext";
20
- import * as i16 from "../error/error.component";
21
- import * as i17 from "../captcha/captcha.component";
22
- import * as i18 from "../email-update/email-update.component";
23
- import * as i19 from "../mfa-popup/mfa-popup.component";
24
- import * as i20 from "../mfa2/mfa2.component";
25
- import * as i21 from "../lexis-nexis/lexis-nexis.component";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "primeng/api";
11
+ import * as i7 from "primeng/dialog";
12
+ import * as i8 from "primeng/password";
13
+ import * as i9 from "primeng/inputtext";
14
+ import * as i10 from "../error/error.component";
15
+ import * as i11 from "../captcha/captcha.component";
16
+ import * as i12 from "../email-update/email-update.component";
17
+ import * as i13 from "../mfa-popup/mfa-popup.component";
18
+ import * as i14 from "@ngx-translate/core";
26
19
  const _c0 = ["loginFormDirective"];
27
20
  const _c1 = ["resetFormDirective"];
28
- function UserLoginComponent_div_6_Template(rf, ctx) { if (rf & 1) {
21
+ function UserLoginComponent_div_4_Template(rf, ctx) { if (rf & 1) {
29
22
  i0.ɵɵelementStart(0, "div")(1, "ul")(2, "li");
30
23
  i0.ɵɵtext(3, "Employers may call 601-493-9427");
31
24
  i0.ɵɵelementEnd();
@@ -33,7 +26,7 @@ function UserLoginComponent_div_6_Template(rf, ctx) { if (rf & 1) {
33
26
  i0.ɵɵtext(5, "Claimants may call 601-493-9427.");
34
27
  i0.ɵɵelementEnd()()();
35
28
  } }
36
- function UserLoginComponent_div_7_Template(rf, ctx) { if (rf & 1) {
29
+ function UserLoginComponent_div_5_Template(rf, ctx) { if (rf & 1) {
37
30
  i0.ɵɵelementStart(0, "div")(1, "ul")(2, "li");
38
31
  i0.ɵɵtext(3, "Employers may call 207-621-5120");
39
32
  i0.ɵɵelementEnd();
@@ -41,188 +34,153 @@ function UserLoginComponent_div_7_Template(rf, ctx) { if (rf & 1) {
41
34
  i0.ɵɵtext(5, "Claimants may call 1-800-593-7660");
42
35
  i0.ɵɵelementEnd()()();
43
36
  } }
44
- function UserLoginComponent_app_mfa2_15_Template(rf, ctx) { if (rf & 1) {
45
- const _r9 = i0.ɵɵgetCurrentView();
46
- i0.ɵɵelementStart(0, "app-mfa2", 13);
47
- i0.ɵɵlistener("displayChange", function UserLoginComponent_app_mfa2_15_Template_app_mfa2_displayChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.isOtpModalEnabled = $event); })("success", function UserLoginComponent_app_mfa2_15_Template_app_mfa2_success_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.loginSuccess()); })("clear", function UserLoginComponent_app_mfa2_15_Template_app_mfa2_clear_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.enableLexisNexis()); });
37
+ function UserLoginComponent_app_mfa_popup_12_Template(rf, ctx) { if (rf & 1) {
38
+ const _r7 = i0.ɵɵgetCurrentView();
39
+ i0.ɵɵelementStart(0, "app-mfa-popup", 9);
40
+ i0.ɵɵlistener("success", function UserLoginComponent_app_mfa_popup_12_Template_app_mfa_popup_success_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.loginSuccess()); })("clear", function UserLoginComponent_app_mfa_popup_12_Template_app_mfa_popup_clear_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.reset()); });
48
41
  i0.ɵɵelementEnd();
49
42
  } if (rf & 2) {
50
43
  const ctx_r2 = i0.ɵɵnextContext();
51
- i0.ɵɵproperty("display", ctx_r2.isOtpModalEnabled)("returningUser", ctx_r2.isReturningUser)("verificationPreference", ctx_r2.verificationPreference)("ssn", ctx_r2.ssn);
44
+ i0.ɵɵproperty("user", ctx_r2.userModel);
52
45
  } }
53
- function UserLoginComponent_app_lexis_nexis_16_Template(rf, ctx) { if (rf & 1) {
54
- const _r13 = i0.ɵɵgetCurrentView();
55
- i0.ɵɵelementStart(0, "app-lexis-nexis", 14);
56
- i0.ɵɵlistener("success", function UserLoginComponent_app_lexis_nexis_16_Template_app_lexis_nexis_success_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onLnSuccess()); })("error", function UserLoginComponent_app_lexis_nexis_16_Template_app_lexis_nexis_error_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onLNError()); })("usps", function UserLoginComponent_app_lexis_nexis_16_Template_app_lexis_nexis_usps_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.triggerUSPS()); });
57
- i0.ɵɵelementEnd();
58
- } if (rf & 2) {
59
- const ctx_r3 = i0.ɵɵnextContext();
60
- i0.ɵɵproperty("display", ctx_r3.isLexisNexisPopupEnabled)("userModel", ctx_r3.userModel);
61
- } }
62
- const _c2 = a0 => ({ required: a0 });
63
- function UserLoginComponent_form_18_div_15_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵelementStart(0, "div", 33);
65
- i0.ɵɵelement(1, "app-captcha", 34)(2, "app-error", 21);
46
+ const _c2 = () => ({ required: "Captcha is required." });
47
+ function UserLoginComponent_form_13_div_15_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "div", 28);
49
+ i0.ɵɵelement(1, "app-captcha", 29)(2, "app-error", 16);
66
50
  i0.ɵɵelementEnd();
67
51
  } if (rf & 2) {
68
52
  i0.ɵɵnextContext();
69
- const _r16 = i0.ɵɵreference(1);
70
- const ctx_r17 = i0.ɵɵnextContext();
53
+ const _r9 = i0.ɵɵreference(1);
54
+ const ctx_r10 = i0.ɵɵnextContext();
71
55
  i0.ɵɵadvance(1);
72
- i0.ɵɵproperty("formControl", ctx_r17.captcha);
56
+ i0.ɵɵproperty("formControl", ctx_r10.captcha);
73
57
  i0.ɵɵadvance(1);
74
- i0.ɵɵproperty("field", ctx_r17.captcha)("form", _r16)("errDef", i0.ɵɵpureFunction1(4, _c2, ctx_r17.captchaRequired));
58
+ i0.ɵɵproperty("field", ctx_r10.captcha)("form", _r9)("errDef", i0.ɵɵpureFunction0(4, _c2));
75
59
  } }
76
- const _c3 = (a0, a1) => ({ required: a0, minlength: a1 });
77
- function UserLoginComponent_form_18_Template(rf, ctx) { if (rf & 1) {
78
- const _r19 = i0.ɵɵgetCurrentView();
79
- i0.ɵɵelementStart(0, "form", 15, 16)(2, "div", 17)(3, "div", 18)(4, "label", 19);
60
+ const _c3 = () => ({ required: "User ID is required.", minlength: "User ID should have minimum 5 characters." });
61
+ const _c4 = () => ({ required: "Password is required." });
62
+ function UserLoginComponent_form_13_Template(rf, ctx) { if (rf & 1) {
63
+ const _r12 = i0.ɵɵgetCurrentView();
64
+ i0.ɵɵelementStart(0, "form", 10, 11)(2, "div", 12)(3, "div", 13)(4, "label", 14);
80
65
  i0.ɵɵtext(5);
81
66
  i0.ɵɵpipe(6, "translate");
82
67
  i0.ɵɵelementEnd();
83
- i0.ɵɵelement(7, "input", 20)(8, "app-error", 21);
68
+ i0.ɵɵelement(7, "input", 15)(8, "app-error", 16);
84
69
  i0.ɵɵelementEnd();
85
- i0.ɵɵelementStart(9, "div", 18)(10, "label", 22);
70
+ i0.ɵɵelementStart(9, "div", 13)(10, "label", 17);
86
71
  i0.ɵɵtext(11);
87
72
  i0.ɵɵpipe(12, "translate");
88
73
  i0.ɵɵelementEnd();
89
- i0.ɵɵelement(13, "p-password", 23)(14, "app-error", 21);
74
+ i0.ɵɵelement(13, "p-password", 18)(14, "app-error", 16);
90
75
  i0.ɵɵelementEnd()();
91
- i0.ɵɵtemplate(15, UserLoginComponent_form_18_div_15_Template, 3, 6, "div", 24);
92
- i0.ɵɵelementStart(16, "div", 25)(17, "div", 26)(18, "ion-button", 27);
93
- i0.ɵɵlistener("click", function UserLoginComponent_form_18_Template_ion_button_click_18_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.signIn()); });
94
- i0.ɵɵelement(19, "ion-icon", 28);
76
+ i0.ɵɵtemplate(15, UserLoginComponent_form_13_div_15_Template, 3, 5, "div", 19);
77
+ i0.ɵɵelementStart(16, "div", 20)(17, "div", 21)(18, "ion-button", 22);
78
+ i0.ɵɵlistener("click", function UserLoginComponent_form_13_Template_ion_button_click_18_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.signIn()); });
79
+ i0.ɵɵelement(19, "ion-icon", 23);
95
80
  i0.ɵɵtext(20);
96
81
  i0.ɵɵpipe(21, "translate");
97
82
  i0.ɵɵelementEnd()();
98
- i0.ɵɵelementStart(22, "ion-row", 29)(23, "ion-col", 30)(24, "a", 31);
99
- i0.ɵɵlistener("click", function UserLoginComponent_form_18_Template_a_click_24_listener() { i0.ɵɵrestoreView(_r19); const ctx_r20 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r20.showDialog()); })("keydown.enter", function UserLoginComponent_form_18_Template_a_keydown_enter_24_listener() { i0.ɵɵrestoreView(_r19); const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.showDialog()); });
83
+ i0.ɵɵelementStart(22, "ion-row", 24)(23, "ion-col", 25)(24, "a", 26);
84
+ i0.ɵɵlistener("click", function UserLoginComponent_form_13_Template_a_click_24_listener() { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.showDialog()); });
100
85
  i0.ɵɵtext(25);
101
86
  i0.ɵɵpipe(26, "translate");
102
87
  i0.ɵɵelementEnd()();
103
- i0.ɵɵelementStart(27, "ion-col", 26)(28, "a", 32);
104
- i0.ɵɵlistener("click", function UserLoginComponent_form_18_Template_a_click_28_listener() { i0.ɵɵrestoreView(_r19); const ctx_r22 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r22.showForgotPassword = !ctx_r22.showForgotPassword); })("keydown.enter", function UserLoginComponent_form_18_Template_a_keydown_enter_28_listener() { i0.ɵɵrestoreView(_r19); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.showForgotPassword = !ctx_r23.showForgotPassword); });
88
+ i0.ɵɵelementStart(27, "ion-col", 21)(28, "a", 27);
89
+ i0.ɵɵlistener("click", function UserLoginComponent_form_13_Template_a_click_28_listener() { i0.ɵɵrestoreView(_r12); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.showForgotPassword = !ctx_r14.showForgotPassword); });
105
90
  i0.ɵɵtext(29);
106
91
  i0.ɵɵpipe(30, "translate");
107
92
  i0.ɵɵelementEnd()()()()();
108
93
  } if (rf & 2) {
109
- const _r16 = i0.ɵɵreference(1);
110
- const ctx_r4 = i0.ɵɵnextContext();
111
- i0.ɵɵproperty("formGroup", ctx_r4.loginForm);
94
+ const _r9 = i0.ɵɵreference(1);
95
+ const ctx_r3 = i0.ɵɵnextContext();
96
+ i0.ɵɵproperty("formGroup", ctx_r3.loginForm);
112
97
  i0.ɵɵadvance(4);
113
- i0.ɵɵstyleProp("font-size", ctx_r4.fontSize)("color", ctx_r4.color);
98
+ i0.ɵɵstyleProp("font-size", ctx_r3.fontSize)("color", ctx_r3.color);
114
99
  i0.ɵɵadvance(1);
115
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 25, "login.user.id"));
100
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 25, "User ID"));
116
101
  i0.ɵɵadvance(2);
117
- i0.ɵɵproperty("formControl", ctx_r4.username);
102
+ i0.ɵɵproperty("formControl", ctx_r3.username);
118
103
  i0.ɵɵadvance(1);
119
- i0.ɵɵproperty("field", ctx_r4.username)("form", _r16)("errDef", i0.ɵɵpureFunction2(35, _c3, ctx_r4.userIdRequired, ctx_r4.userIdMinimumLength));
104
+ i0.ɵɵproperty("field", ctx_r3.username)("form", _r9)("errDef", i0.ɵɵpureFunction0(35, _c3));
120
105
  i0.ɵɵadvance(2);
121
- i0.ɵɵstyleProp("font-size", ctx_r4.fontSize)("color", ctx_r4.color);
106
+ i0.ɵɵstyleProp("font-size", ctx_r3.fontSize)("color", ctx_r3.color);
122
107
  i0.ɵɵadvance(1);
123
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 27, "login.password.case.sensitive"));
108
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 27, "Password (Case Sensitive)"));
124
109
  i0.ɵɵadvance(2);
125
- i0.ɵɵproperty("formControl", ctx_r4.password)("toggleMask", true)("feedback", false);
110
+ i0.ɵɵproperty("formControl", ctx_r3.password)("toggleMask", true)("feedback", false);
126
111
  i0.ɵɵadvance(1);
127
- i0.ɵɵproperty("field", ctx_r4.password)("form", _r16)("errDef", i0.ɵɵpureFunction1(38, _c2, ctx_r4.passwordRequired));
112
+ i0.ɵɵproperty("field", ctx_r3.password)("form", _r9)("errDef", i0.ɵɵpureFunction0(36, _c4));
128
113
  i0.ɵɵadvance(1);
129
114
  i0.ɵɵproperty("ngIf", false);
130
115
  i0.ɵɵadvance(5);
131
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 29, "login.login"), " ");
116
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 29, "Login"), " ");
132
117
  i0.ɵɵadvance(5);
133
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 31, "login.user.id.forgot"));
118
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 31, "Forgot user ID?"));
134
119
  i0.ɵɵadvance(4);
135
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 33, "login.password.forgot"));
120
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 33, "Forgot Password?"));
136
121
  } }
137
- function UserLoginComponent_form_19_Template(rf, ctx) { if (rf & 1) {
138
- const _r26 = i0.ɵɵgetCurrentView();
139
- i0.ɵɵelementStart(0, "form", 15, 35)(2, "div", 17)(3, "div", 18)(4, "label", 19);
122
+ function UserLoginComponent_form_14_Template(rf, ctx) { if (rf & 1) {
123
+ const _r17 = i0.ɵɵgetCurrentView();
124
+ i0.ɵɵelementStart(0, "form", 10, 30)(2, "div", 12)(3, "div", 13)(4, "label", 14);
140
125
  i0.ɵɵtext(5);
141
126
  i0.ɵɵpipe(6, "translate");
142
127
  i0.ɵɵelementEnd();
143
- i0.ɵɵelement(7, "input", 20)(8, "app-error", 21);
128
+ i0.ɵɵelement(7, "input", 15)(8, "app-error", 16);
144
129
  i0.ɵɵelementEnd();
145
- i0.ɵɵelementStart(9, "div", 30);
146
- i0.ɵɵelement(10, "app-captcha", 34)(11, "app-error", 21);
130
+ i0.ɵɵelementStart(9, "div", 25);
131
+ i0.ɵɵelement(10, "app-captcha", 29)(11, "app-error", 16);
147
132
  i0.ɵɵelementEnd()();
148
- i0.ɵɵelementStart(12, "div", 25)(13, "div", 26)(14, "ion-button", 27);
149
- i0.ɵɵlistener("click", function UserLoginComponent_form_19_Template_ion_button_click_14_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.showForgotPassword = !ctx_r25.showForgotPassword); });
150
- i0.ɵɵelement(15, "ion-icon", 36);
133
+ i0.ɵɵelementStart(12, "div", 20)(13, "div", 21)(14, "ion-button", 22);
134
+ i0.ɵɵlistener("click", function UserLoginComponent_form_14_Template_ion_button_click_14_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.showForgotPassword = !ctx_r16.showForgotPassword); });
135
+ i0.ɵɵelement(15, "ion-icon", 31);
151
136
  i0.ɵɵtext(16);
152
137
  i0.ɵɵpipe(17, "translate");
153
138
  i0.ɵɵelementEnd();
154
- i0.ɵɵelementStart(18, "ion-button", 37);
155
- i0.ɵɵlistener("click", function UserLoginComponent_form_19_Template_ion_button_click_18_listener() { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.initiateForgotPassword()); });
156
- i0.ɵɵelement(19, "ion-icon", 38);
139
+ i0.ɵɵelementStart(18, "ion-button", 32);
140
+ i0.ɵɵlistener("click", function UserLoginComponent_form_14_Template_ion_button_click_18_listener() { i0.ɵɵrestoreView(_r17); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.initiateForgotPassword()); });
141
+ i0.ɵɵelement(19, "ion-icon", 33);
157
142
  i0.ɵɵtext(20);
158
143
  i0.ɵɵpipe(21, "translate");
159
144
  i0.ɵɵelementEnd()()()();
160
145
  } if (rf & 2) {
161
- const _r24 = i0.ɵɵreference(1);
162
- const ctx_r5 = i0.ɵɵnextContext();
163
- i0.ɵɵproperty("formGroup", ctx_r5.resetForm);
146
+ const _r15 = i0.ɵɵreference(1);
147
+ const ctx_r4 = i0.ɵɵnextContext();
148
+ i0.ɵɵproperty("formGroup", ctx_r4.resetForm);
164
149
  i0.ɵɵadvance(4);
165
- i0.ɵɵstyleProp("font-size", ctx_r5.fontSize)("color", ctx_r5.color);
150
+ i0.ɵɵstyleProp("font-size", ctx_r4.fontSize)("color", ctx_r4.color);
166
151
  i0.ɵɵadvance(1);
167
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 17, "login.user.id"));
152
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 17, "User ID"));
168
153
  i0.ɵɵadvance(2);
169
- i0.ɵɵproperty("formControl", ctx_r5.resetUsername);
154
+ i0.ɵɵproperty("formControl", ctx_r4.resetUsername);
170
155
  i0.ɵɵadvance(1);
171
- i0.ɵɵproperty("field", ctx_r5.resetUsername)("form", _r24)("errDef", i0.ɵɵpureFunction2(23, _c3, ctx_r5.userIdRequired, ctx_r5.userIdMinimumLength));
156
+ i0.ɵɵproperty("field", ctx_r4.resetUsername)("form", _r15)("errDef", i0.ɵɵpureFunction0(23, _c3));
172
157
  i0.ɵɵadvance(2);
173
- i0.ɵɵproperty("formControl", ctx_r5.resetCaptcha);
158
+ i0.ɵɵproperty("formControl", ctx_r4.resetCaptcha);
174
159
  i0.ɵɵadvance(1);
175
- i0.ɵɵproperty("field", ctx_r5.resetCaptcha)("form", _r24)("errDef", i0.ɵɵpureFunction1(26, _c2, ctx_r5.captchaRequired));
160
+ i0.ɵɵproperty("field", ctx_r4.resetCaptcha)("form", _r15)("errDef", i0.ɵɵpureFunction0(24, _c2));
176
161
  i0.ɵɵadvance(5);
177
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 19, "login.login"), " ");
162
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 19, "Login"), " ");
178
163
  i0.ɵɵadvance(2);
179
- i0.ɵɵpropertyInterpolate("disabled", ctx_r5.resetForm.invalid);
164
+ i0.ɵɵpropertyInterpolate("disabled", ctx_r4.resetForm.invalid);
180
165
  i0.ɵɵadvance(2);
181
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 21, "login.send.email"), " ");
166
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 21, "Send email"), " ");
182
167
  } }
183
- function UserLoginComponent_ng_template_24_Template(rf, ctx) { if (rf & 1) {
184
- const _r29 = i0.ɵɵgetCurrentView();
185
- i0.ɵɵelementStart(0, "ion-button", 39);
186
- i0.ɵɵlistener("click", function UserLoginComponent_ng_template_24_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.close()); });
187
- i0.ɵɵtext(1);
188
- i0.ɵɵpipe(2, "translate");
189
- i0.ɵɵelementEnd();
190
- i0.ɵɵelementStart(3, "ion-button", 40);
191
- i0.ɵɵlistener("click", function UserLoginComponent_ng_template_24_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r30.triggerUSPSForExpiredProcess()); });
192
- i0.ɵɵtext(4);
193
- i0.ɵɵpipe(5, "translate");
168
+ function UserLoginComponent_app_email_update_15_Template(rf, ctx) { if (rf & 1) {
169
+ const _r20 = i0.ɵɵgetCurrentView();
170
+ i0.ɵɵelementStart(0, "app-email-update", 34);
171
+ i0.ɵɵlistener("onClose", function UserLoginComponent_app_email_update_15_Template_app_email_update_onClose_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.logout()); })("onSuccess", function UserLoginComponent_app_email_update_15_Template_app_email_update_onSuccess_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.emailVerificationSuccess()); });
194
172
  i0.ɵɵelementEnd();
195
173
  } if (rf & 2) {
196
- i0.ɵɵadvance(1);
197
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "usps.expd.popup.cancel"), " ");
198
- i0.ɵɵadvance(3);
199
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, "usps.expd.popup.process"), " ");
200
- } }
201
- function UserLoginComponent_app_email_update_25_Template(rf, ctx) { if (rf & 1) {
202
- const _r32 = i0.ɵɵgetCurrentView();
203
- i0.ɵɵelementStart(0, "app-email-update", 41);
204
- i0.ɵɵlistener("onClose", function UserLoginComponent_app_email_update_25_Template_app_email_update_onClose_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.logout()); })("onSuccess", function UserLoginComponent_app_email_update_25_Template_app_email_update_onSuccess_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.emailVerificationSuccess()); });
205
- i0.ɵɵelementEnd();
206
- } if (rf & 2) {
207
- const ctx_r7 = i0.ɵɵnextContext();
208
- i0.ɵɵproperty("email", ctx_r7.userModel.emailId);
174
+ const ctx_r5 = i0.ɵɵnextContext();
175
+ i0.ɵɵproperty("email", ctx_r5.userModel.emailId);
209
176
  } }
210
- const _c4 = () => ({ width: "45vw" });
211
- const _c5 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
212
177
  export class UserLoginComponent {
213
- constructor(util, nav, fb, loginService, platform, wcService, ovpService, cdr, router, cs, ln, translateService) {
178
+ constructor(util, nav, fb, loginService, platform) {
214
179
  this.util = util;
215
180
  this.nav = nav;
216
181
  this.fb = fb;
217
182
  this.loginService = loginService;
218
183
  this.platform = platform;
219
- this.wcService = wcService;
220
- this.ovpService = ovpService;
221
- this.cdr = cdr;
222
- this.router = router;
223
- this.cs = cs;
224
- this.ln = ln;
225
- this.translateService = translateService;
226
184
  this.show2FADialog = false;
227
185
  this.showForgotPassword = false;
228
186
  this.showUsernameError = false;
@@ -231,25 +189,10 @@ export class UserLoginComponent {
231
189
  this.isLoginInProgress = false;
232
190
  this.showProgressBar = false;
233
191
  this.showEmailVerificationDialog = false;
234
- this.isLexisNexisPopupEnabled = false;
235
- this.mfaLoginHeader = "";
236
- this.isUSPSExpired = false;
237
- this.isPhoneMfaRequiredForAccountActivation = true;
238
192
  this.success = new EventEmitter();
239
193
  this.error = new EventEmitter();
240
- this.translateService.use(localStorage.getItem("language"));
241
194
  }
242
- ;
243
195
  ngOnInit() {
244
- this.isOtpModalEnabled = false;
245
- this.isLexisNexisEnabled = false;
246
- this.isReturningUser = true;
247
- if (localStorage.getItem("language") === "es") {
248
- this.mfaLoginHeader = "El código de validación ha sido enviado al número de teléfono ingresado";
249
- }
250
- else {
251
- this.mfaLoginHeader = "Validation code has been sent to the phone number entered";
252
- }
253
196
  this.initilizeLoginForm();
254
197
  }
255
198
  reset() {
@@ -263,13 +206,13 @@ export class UserLoginComponent {
263
206
  }
264
207
  initilizeLoginForm() {
265
208
  this.loginForm = this.fb.group({
266
- username: [null, Validators.required],
267
- password: [null, Validators.required],
268
- captcha: [null],
209
+ 'username': [null, Validators.required],
210
+ 'password': [null, Validators.required],
211
+ 'captcha': [null]
269
212
  });
270
213
  this.resetForm = this.fb.group({
271
- username: [null, Validators.required],
272
- captcha: [null, Validators.required],
214
+ 'username': [null, Validators.required],
215
+ 'captcha': [null, Validators.required]
273
216
  });
274
217
  }
275
218
  get username() {
@@ -287,118 +230,40 @@ export class UserLoginComponent {
287
230
  get resetCaptcha() {
288
231
  return this.resetForm.controls['captcha'];
289
232
  }
290
- signIn() {
233
+ async signIn() {
291
234
  if (this.loginForm.invalid) {
292
235
  return;
293
236
  }
294
237
  let auth = {};
295
238
  auth.userId = this.username.value;
296
239
  auth.password = this.password.value;
297
- auth.language = localStorage.getItem("language");
298
240
  this.util
299
241
  .showLoader()
300
242
  .then(() => {
301
- this.loginService.loginAndCheckForMFA(auth).subscribe({
302
- next: (res) => {
303
- let userModel = res;
304
- userModel.language = localStorage.getItem("language");
305
- ;
306
- this.loginService
307
- .setUser(userModel)
308
- .then((res) => {
309
- this.userModel = userModel;
310
- this.ssn = userModel?.ssn;
311
- this.loginSuccess();
312
- })
313
- .catch((e) => {
314
- console.log(e);
315
- this.util.hideLoader();
316
- });
317
- },
318
- error: (err) => {
319
- if (err.is2FARequired + '' == 'true') {
320
- this.util.hideLoader();
321
- this.userModel = err;
322
- this.userModel.username = this.username.value;
323
- this.userModel.password = this.password.value;
324
- this.show2FADialog = true;
325
- }
326
- else if (err.details.includes("Your identity must be verified at USPS but your timeframe has expired.")) {
327
- // this.util.errorHandler(err);
328
- //
329
- // this.error.emit(err);
330
- setTimeout(() => this.triggerUSPSForExpired(this.username.value), 2000);
331
- }
332
- else {
333
- console.log('inside else', err);
334
- this.util.errorHandler(err);
335
- this.util.hideLoader();
336
- this.error.emit(err);
337
- }
338
- },
339
- complete: () => {
243
+ this.loginService.loginAndCheckForMFA(auth)
244
+ .subscribe(res => {
245
+ let userModel = res;
246
+ this.loginService.setUser(userModel).then(res => {
247
+ this.loginSuccess();
248
+ });
249
+ }, err => {
250
+ if ((err.is2FARequired + '') == 'true') {
340
251
  this.util.hideLoader();
341
- },
252
+ this.userModel = err;
253
+ this.userModel.username = this.username.value;
254
+ this.userModel.password = this.password.value;
255
+ this.show2FADialog = true;
256
+ }
257
+ else {
258
+ console.log('inside else', err);
259
+ this.util.errorHandler(err);
260
+ this.util.hideLoader();
261
+ this.error.emit(err);
262
+ }
342
263
  });
343
- })
344
- .catch((e) => {
345
- this.util.hideLoader();
346
264
  });
347
265
  }
348
- enableLexisNexis(triggerExitAPI = true) {
349
- this.show2FADialog = false;
350
- if (!triggerExitAPI) {
351
- return;
352
- }
353
- /*
354
- this.ln.isLexisNexisIdProofingEnabledWithUserId(this.userModel.username).subscribe((res) => {
355
- // If lexis-nexis id proofing is enabled
356
- if (res) {
357
- this.isLexisNexisPopupEnabled = true;
358
- } else {
359
- this.util.showError("The claimant account with user name" + this.userModel.username + " has been blocked. Please contact KDOL.")
360
- }
361
- });
362
- */
363
- }
364
- onLnSuccess() {
365
- this.isLexisNexisPopupEnabled = false;
366
- this.util.hideLoader();
367
- this.util.success('Your ID proofing was successful. Try re-login or change your password to continue!');
368
- if (this.resetForm.invalid) {
369
- this.password.reset();
370
- this.loginForm.reset();
371
- this.loginFormDirective.reset();
372
- this.resetForm.reset();
373
- }
374
- }
375
- onLNError() {
376
- this.triggerUSPS();
377
- }
378
- triggerUSPS() {
379
- this.isLexisNexisPopupEnabled = false;
380
- this.util.hideLoader();
381
- console.log("usps is triggered");
382
- localStorage.setItem('userId', JSON.stringify(this.userModel.username));
383
- setTimeout(() => this.router.navigate(['/usps-redirect', ""]), 1000);
384
- }
385
- triggerUSPSForExpired(username) {
386
- this.isLexisNexisPopupEnabled = false;
387
- this.isUSPSExpired = true;
388
- console.log("usps is triggered");
389
- localStorage.setItem('userId', JSON.stringify(username));
390
- //setTimeout(() => this.router.navigate(['/usps-redirect', ""]), 1000);
391
- }
392
- triggerUSPSForExpiredProcess() {
393
- this.util.showLoader();
394
- this.isLexisNexisPopupEnabled = false;
395
- this.isUSPSExpired = true;
396
- console.log("usps is triggered");
397
- localStorage.setItem('userId', localStorage.getItem("userId"));
398
- setTimeout(() => this.router.navigate(['/usps-redirect', ""]), 1000);
399
- this.close();
400
- }
401
- async loginSuccess() {
266
+ loginSuccess() {
402
267
  let userModel = this.loginService.getUser();
403
268
  this.userModel = userModel;
404
269
  if (userModel.changePwd) {
@@ -407,8 +272,7 @@ export class UserLoginComponent {
407
272
  this.isLoginInProgress = false;
408
273
  return;
409
274
  }
410
- if (userModel.emailStatus != 'VERF' &&
411
- userModel.isEmailVerificationRequired) {
275
+ if (userModel.emailStatus != 'VERF' && userModel.isEmailVerificationRequired) {
412
276
  this.util.hideLoader();
413
277
  this.showEmailVerificationDialog = true;
414
278
  return;
@@ -419,47 +283,12 @@ export class UserLoginComponent {
419
283
  return;
420
284
  }
421
285
  const isCapacitor = this.platform.is('capacitor');
422
- if (userModel.daysTillPasswordExpire &&
423
- userModel.daysTillPasswordExpire < 10 &&
424
- LibConstants.legacyMenu == 'true' &&
425
- isCapacitor) {
286
+ if (userModel.daysTillPasswordExpire && userModel.daysTillPasswordExpire < 10 && LibConstants.legacyMenu == 'true' && isCapacitor) {
426
287
  this.nav.navigateRoot('change-password?changePwd=true');
427
288
  this.showProgressBar = false;
428
289
  this.isLoginInProgress = false;
429
290
  return;
430
291
  }
431
- if (userModel.ssn != null) {
432
- console.log("AIC FLOW in LoginService");
433
- const data = await this.wcService.generateEventForReopenAicFlow(userModel.ssn)
434
- .then(async => {
435
- }).catch(async (err) => {
436
- this.util.hideLoader();
437
- this.util.errorHandler(err);
438
- });
439
- }
440
- /* it was commented for PGLP-2281
441
- if(userModel.ssn!=null){
442
- console.log("overpayment LoginService");
443
- const data= await this.ovpService.triggerRepaymentEvent(userModel.ssn)
444
- .then(async =>{
445
- }
446
- ).catch(async err =>{
447
- this.util.hideLoader();
448
- this.util.errorHandler(err);
449
- })
450
- }*/
451
- if (userModel.claimantId != null) {
452
- const data = this.ovpService.triggerOverpaymentEvent().subscribe((x) => { }, (err) => {
453
- this.util.hideLoader();
454
- this.util.errorHandler(err);
455
- });
456
- }
457
- if (userModel.claimantId != null) {
458
- const data = this.ovpService.triggerOverpaymentEventHistory().subscribe((x) => { }, (err) => {
459
- this.util.hideLoader();
460
- this.util.errorHandler(err);
461
- });
462
- }
463
292
  this.show2FADialog = false;
464
293
  this.success.emit();
465
294
  }
@@ -477,23 +306,20 @@ export class UserLoginComponent {
477
306
  this.resetCaptcha.markAsDirty();
478
307
  return;
479
308
  }
480
- this.util.showLoader().then(() => {
309
+ this.util
310
+ .showLoader()
311
+ .then(() => {
481
312
  this.loginService
482
313
  .initiateForgotPasswordV2(this.resetUsername.value)
483
- .subscribe((res) => {
484
- if (localStorage.getItem("language") === "es") {
485
- this.util.success('Se ha restablecido su contraseña. Recibirá un correo electrónico con una contraseña temporal e instrucciones para iniciar sesión.');
486
- }
487
- else {
488
- this.util.success('Your password has been reset. You should receive an email with a temporary password and login instructions.');
489
- }
314
+ .subscribe(res => {
315
+ this.util.success('Your password has been reset. You should receive an email with a temporary password and login instructions.');
490
316
  this.loginForm.reset();
491
317
  this.loginService.reset();
492
318
  this.resetFormDirective.reset();
493
319
  this.resetUsername.markAsDirty();
494
320
  this.showForgotPassword = !this.showForgotPassword;
495
321
  this.util.hideLoader();
496
- }, (err) => {
322
+ }, err => {
497
323
  this.util.errorHandler(err);
498
324
  this.loginForm.reset();
499
325
  this.loginService.reset();
@@ -511,23 +337,7 @@ export class UserLoginComponent {
511
337
  this.showEmailVerificationDialog = false;
512
338
  this.success.emit();
513
339
  }
514
- close() {
515
- this.util.hideLoader();
516
- this.isUSPSExpired = false;
517
- }
518
- get userIdRequired() {
519
- return this.translateService.instant('common.user.id.required');
520
- }
521
- get userIdMinimumLength() {
522
- return this.translateService.instant('common.user.id.minlength');
523
- }
524
- get passwordRequired() {
525
- return this.translateService.instant('common.password.required');
526
- }
527
- get captchaRequired() {
528
- return this.translateService.instant('common.captcha.required');
529
- }
530
- static { this.ɵfac = function UserLoginComponent_Factory(t) { return new (t || UserLoginComponent)(i0.ɵɵdirectiveInject(i1.UtilService), i0.ɵɵdirectiveInject(i2.NavController), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder), i0.ɵɵdirectiveInject(i4.LoginService), i0.ɵɵdirectiveInject(i2.Platform), i0.ɵɵdirectiveInject(i5.WeeklyCertServiceV2), i0.ɵɵdirectiveInject(i6.OvpService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i7.Router), i0.ɵɵdirectiveInject(i8.ClaimantService), i0.ɵɵdirectiveInject(i9.LexisNexisService), i0.ɵɵdirectiveInject(i10.TranslateService)); }; }
340
+ static { this.ɵfac = function UserLoginComponent_Factory(t) { return new (t || UserLoginComponent)(i0.ɵɵdirectiveInject(i1.UtilService), i0.ɵɵdirectiveInject(i2.NavController), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder), i0.ɵɵdirectiveInject(i4.LoginService), i0.ɵɵdirectiveInject(i2.Platform)); }; }
531
341
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserLoginComponent, selectors: [["app-user-login"]], viewQuery: function UserLoginComponent_Query(rf, ctx) { if (rf & 1) {
532
342
  i0.ɵɵviewQuery(_c0, 5);
533
343
  i0.ɵɵviewQuery(_c1, 5);
@@ -535,70 +345,41 @@ export class UserLoginComponent {
535
345
  let _t;
536
346
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginFormDirective = _t.first);
537
347
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.resetFormDirective = _t.first);
538
- } }, inputs: { fontSize: "fontSize", color: "color", isPhoneMfaRequiredForAccountActivation: "isPhoneMfaRequiredForAccountActivation" }, outputs: { success: "success", error: "error" }, decls: 26, vars: 35, consts: [["appendTo", "body", 3, "visible", "modal", "visibleChange"], [1, "heading"], [4, "ngIf"], [1, "ion-text-center"], ["shape", "round", "type", "submit", "color", "success", 3, "click"], ["slot", "start", "name", "close-sharp"], [3, "display", "returningUser", "verificationPreference", "ssn", "displayChange", "success", "clear", 4, "ngIf"], [3, "display", "userModel", "success", "error", "usps", 4, "ngIf"], [3, "display", "user", "returningUser", "heading", "displayChange", "success", "clear"], [3, "formGroup", 4, "ngIf"], ["appendTo", "body", "position", "top", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], ["pTemplate", "footer"], [3, "email", "onClose", "onSuccess", 4, "ngIf"], [3, "display", "returningUser", "verificationPreference", "ssn", "displayChange", "success", "clear"], [3, "display", "userModel", "success", "error", "usps"], [3, "formGroup"], ["loginFormDirective", "ngForm"], [1, "p-fluid", "p-formgrid", "p-grid"], [1, "field", "ion-text-left", 2, "width", "-webkit-fill-available"], ["for", "userProfileId"], ["id", "userProfileId", "type", "text", "pInputText", "", "maxlength", "30", "minlength", "5", 3, "formControl"], [3, "field", "form", "errDef"], ["for", "userProfilePassword"], ["inputId", "userProfilePassword", 3, "formControl", "toggleMask", "feedback"], ["class", "ion-padding-start ion-padding-end ion-text-left", "style", "margin-top: -8px;", 4, "ngIf"], [1, "p-fluid"], [1, "ion-text-right"], ["color", "primary", "type", "submit", "shape", "round", "fill", "outline", 1, "white-background", 3, "click"], ["name", "power-outline", "slot", "start"], [1, "ion-padding-top"], [1, "ion-text-left"], ["tabindex", "0", "role", "button", 1, "link", 2, "font-size", "14px", 3, "click", "keydown.enter"], ["tabindex", "0", "role", "button", "type", "submit", 1, "link", 2, "font-size", "14px", 3, "click", "keydown.enter"], [1, "ion-padding-start", "ion-padding-end", "ion-text-left", 2, "margin-top", "-8px"], [3, "formControl"], ["resetFormDirective", "ngForm"], ["name", "arrow-back-outline", "slot", "start"], ["color", "primary", "type", "submit", "shape", "round", "fill", "outline", 1, "white-background", 3, "disabled", "click"], ["name", "mail-outline", "slot", "start"], ["shape", "round", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "fill", "solid", 3, "click"], [3, "email", "onClose", "onSuccess"]], template: function UserLoginComponent_Template(rf, ctx) { if (rf & 1) {
348
+ } }, inputs: { fontSize: "fontSize", color: "color" }, outputs: { success: "success", error: "error" }, decls: 16, vars: 8, consts: [["appendTo", "body", 3, "visible", "modal", "visibleChange"], [1, "heading"], [4, "ngIf"], [1, "ion-text-center"], ["shape", "round", "type", "submit", "color", "success", 3, "click"], ["slot", "start", "name", "close-sharp"], [3, "user", "success", "clear", 4, "ngIf"], [3, "formGroup", 4, "ngIf"], [3, "email", "onClose", "onSuccess", 4, "ngIf"], [3, "user", "success", "clear"], [3, "formGroup"], ["loginFormDirective", "ngForm"], [1, "p-fluid", "p-formgrid", "p-grid"], [1, "field", "ion-text-left", 2, "width", "-webkit-fill-available"], ["for", "userProfileId"], ["id", "userProfileId", "type", "text", "pInputText", "", "maxlength", "30", "minlength", "5", 3, "formControl"], [3, "field", "form", "errDef"], ["for", "userProfilePassword"], ["inputId", "userProfilePassword", 3, "formControl", "toggleMask", "feedback"], ["class", "ion-padding-start ion-padding-end ion-text-left", "style", "margin-top: -8px;", 4, "ngIf"], [1, "p-fluid"], [1, "ion-text-right"], ["color", "primary", "type", "submit", "shape", "round", "fill", "outline", 1, "white-background", 3, "click"], ["name", "power-outline", "slot", "start"], [1, "ion-padding-top"], [1, "ion-text-left"], [1, "link", 2, "font-size", "14px", 3, "click"], ["type", "submit", 1, "link", 2, "font-size", "14px", 3, "click"], [1, "ion-padding-start", "ion-padding-end", "ion-text-left", 2, "margin-top", "-8px"], [3, "formControl"], ["resetFormDirective", "ngForm"], ["name", "arrow-back-outline", "slot", "start"], ["color", "primary", "type", "submit", "shape", "round", "fill", "outline", 1, "white-background", 3, "disabled", "click"], ["name", "mail-outline", "slot", "start"], [3, "email", "onClose", "onSuccess"]], template: function UserLoginComponent_Template(rf, ctx) { if (rf & 1) {
539
349
  i0.ɵɵelementStart(0, "p-dialog", 0);
540
350
  i0.ɵɵlistener("visibleChange", function UserLoginComponent_Template_p_dialog_visibleChange_0_listener($event) { return ctx.displayDialog = $event; });
541
351
  i0.ɵɵelementStart(1, "h4", 1);
542
- i0.ɵɵtext(2);
543
- i0.ɵɵpipe(3, "translate");
352
+ i0.ɵɵtext(2, "Message");
544
353
  i0.ɵɵelementEnd();
545
- i0.ɵɵtext(4);
546
- i0.ɵɵpipe(5, "translate");
547
- i0.ɵɵtemplate(6, UserLoginComponent_div_6_Template, 6, 0, "div", 2)(7, UserLoginComponent_div_7_Template, 6, 0, "div", 2);
548
- i0.ɵɵelement(8, "br");
549
- i0.ɵɵelementStart(9, "p-footer")(10, "div", 3)(11, "ion-button", 4);
550
- i0.ɵɵlistener("click", function UserLoginComponent_Template_ion_button_click_11_listener() { return ctx.displayDialog = !ctx.displayDialog; });
551
- i0.ɵɵelement(12, "ion-icon", 5);
552
- i0.ɵɵtext(13);
553
- i0.ɵɵpipe(14, "translate");
354
+ i0.ɵɵtext(3, " If you forgot your User ID, a Customer Service Representative is available to assist you Monday through Friday from 8 AM to 5 PM. ");
355
+ i0.ɵɵtemplate(4, UserLoginComponent_div_4_Template, 6, 0, "div", 2)(5, UserLoginComponent_div_5_Template, 6, 0, "div", 2);
356
+ i0.ɵɵelement(6, "br");
357
+ i0.ɵɵelementStart(7, "p-footer")(8, "div", 3)(9, "ion-button", 4);
358
+ i0.ɵɵlistener("click", function UserLoginComponent_Template_ion_button_click_9_listener() { return ctx.displayDialog = !ctx.displayDialog; });
359
+ i0.ɵɵelement(10, "ion-icon", 5);
360
+ i0.ɵɵtext(11, " Close ");
554
361
  i0.ɵɵelementEnd()()()();
555
- i0.ɵɵtemplate(15, UserLoginComponent_app_mfa2_15_Template, 1, 4, "app-mfa2", 6)(16, UserLoginComponent_app_lexis_nexis_16_Template, 1, 2, "app-lexis-nexis", 7);
556
- i0.ɵɵelementStart(17, "app-mfa-popup", 8);
557
- i0.ɵɵlistener("displayChange", function UserLoginComponent_Template_app_mfa_popup_displayChange_17_listener($event) { return ctx.show2FADialog = $event; })("success", function UserLoginComponent_Template_app_mfa_popup_success_17_listener() { return ctx.loginSuccess(); })("clear", function UserLoginComponent_Template_app_mfa_popup_clear_17_listener($event) { return ctx.enableLexisNexis($event); });
558
- i0.ɵɵelementEnd();
559
- i0.ɵɵtemplate(18, UserLoginComponent_form_18_Template, 31, 40, "form", 9)(19, UserLoginComponent_form_19_Template, 22, 28, "form", 9);
560
- i0.ɵɵelementStart(20, "p-dialog", 10);
561
- i0.ɵɵtext(21);
562
- i0.ɵɵpipe(22, "translate");
563
- i0.ɵɵelement(23, "br");
564
- i0.ɵɵtemplate(24, UserLoginComponent_ng_template_24_Template, 6, 6, "ng-template", 11);
565
- i0.ɵɵelementEnd();
566
- i0.ɵɵtemplate(25, UserLoginComponent_app_email_update_25_Template, 1, 1, "app-email-update", 12);
362
+ i0.ɵɵtemplate(12, UserLoginComponent_app_mfa_popup_12_Template, 1, 1, "app-mfa-popup", 6)(13, UserLoginComponent_form_13_Template, 31, 37, "form", 7)(14, UserLoginComponent_form_14_Template, 22, 25, "form", 7)(15, UserLoginComponent_app_email_update_15_Template, 1, 1, "app-email-update", 8);
567
363
  } if (rf & 2) {
568
364
  i0.ɵɵproperty("visible", ctx.displayDialog)("modal", true);
569
- i0.ɵɵadvance(2);
570
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 25, "common.message"));
571
- i0.ɵɵadvance(2);
572
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 27, "login.forgot.id.assist"), " ");
573
- i0.ɵɵadvance(2);
365
+ i0.ɵɵadvance(4);
574
366
  i0.ɵɵproperty("ngIf", ctx.util.isState("MS"));
575
367
  i0.ɵɵadvance(1);
576
368
  i0.ɵɵproperty("ngIf", ctx.util.isState("ME"));
577
- i0.ɵɵadvance(6);
578
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 29, "common.close"), " ");
579
- i0.ɵɵadvance(2);
580
- i0.ɵɵproperty("ngIf", ctx.isOtpModalEnabled);
581
- i0.ɵɵadvance(1);
582
- i0.ɵɵproperty("ngIf", ctx.isLexisNexisPopupEnabled);
583
- i0.ɵɵadvance(1);
584
- i0.ɵɵproperty("display", ctx.show2FADialog)("user", ctx.userModel)("returningUser", ctx.isReturningUser)("heading", ctx.mfaLoginHeader);
369
+ i0.ɵɵadvance(7);
370
+ i0.ɵɵproperty("ngIf", ctx.show2FADialog);
585
371
  i0.ɵɵadvance(1);
586
372
  i0.ɵɵproperty("ngIf", !ctx.showForgotPassword);
587
373
  i0.ɵɵadvance(1);
588
374
  i0.ɵɵproperty("ngIf", ctx.showForgotPassword);
589
375
  i0.ɵɵadvance(1);
590
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(33, _c4));
591
- i0.ɵɵproperty("visible", ctx.isUSPSExpired)("modal", true)("breakpoints", i0.ɵɵpureFunction0(34, _c5))("baseZIndex", 5000)("draggable", false)("resizable", false);
592
- i0.ɵɵadvance(1);
593
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 31, "usps.expd.popup.heading"), "");
594
- i0.ɵɵadvance(4);
595
376
  i0.ɵɵproperty("ngIf", ctx.showEmailVerificationDialog);
596
- } }, dependencies: [i2.IonButton, i2.IonCol, i2.IonIcon, i2.IonRow, i11.NgIf, i12.Footer, i12.PrimeTemplate, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MinLengthValidator, i3.MaxLengthValidator, i3.FormControlDirective, i3.FormGroupDirective, i13.Dialog, i14.Password, i15.InputText, i16.ErrorComponent, i17.CaptchaComponent, i18.EmailUpdateComponent, i19.MfaPopupComponent, i20.Mfa2Component, i21.LexisNexisComponent, i10.TranslatePipe] }); }
377
+ } }, dependencies: [i2.IonButton, i2.IonCol, i2.IonIcon, i2.IonRow, i5.NgIf, i6.Footer, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MinLengthValidator, i3.MaxLengthValidator, i3.FormControlDirective, i3.FormGroupDirective, i7.Dialog, i8.Password, i9.InputText, i10.ErrorComponent, i11.CaptchaComponent, i12.EmailUpdateComponent, i13.MfaPopupComponent, i14.TranslatePipe] }); }
597
378
  }
598
379
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserLoginComponent, [{
599
380
  type: Component,
600
- args: [{ selector: 'app-user-login', template: "<p-dialog [(visible)]=\"displayDialog\" [modal]=\"true\" appendTo=\"body\">\r\n <h4 class=\"heading\">{{\"common.message\" | translate}}</h4>\r\n {{\"login.forgot.id.assist\" | translate}}\r\n <div *ngIf=\"util.isState('MS')\">\r\n <ul>\r\n <li>Employers may call 601-493-9427</li>\r\n <li>Claimants may call 601-493-9427.</li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"util.isState('ME')\">\r\n <ul>\r\n <li>Employers may call 207-621-5120</li>\r\n <li>Claimants may call 1-800-593-7660</li>\r\n </ul>\r\n </div>\r\n <!-- todo: get KS number-->\r\n <br />\r\n <p-footer>\r\n <div class=\"ion-text-center\">\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"displayDialog = !displayDialog\" color=\"success\">\r\n <ion-icon slot=\"start\" name=\"close-sharp\"></ion-icon>\r\n {{\"common.close\" | translate}}\r\n </ion-button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n<app-mfa2 *ngIf=\"isOtpModalEnabled\" [(display)]=\"isOtpModalEnabled\" [returningUser]=\"isReturningUser\" [verificationPreference]=\"verificationPreference\" [ssn]=\"ssn\" (success)=\"loginSuccess()\" (clear)=\"enableLexisNexis()\"></app-mfa2>\r\n<app-lexis-nexis *ngIf=\"isLexisNexisPopupEnabled\" [display]=\"isLexisNexisPopupEnabled\" [userModel] = \"userModel\" (success)=\"onLnSuccess()\" (error)=\"onLNError()\" (usps)=\"triggerUSPS()\"></app-lexis-nexis>\r\n<app-mfa-popup [(display)]=\"show2FADialog\" [user]=\"userModel\" [returningUser]=\"isReturningUser\" [heading]=\"mfaLoginHeader\" (success)=\"loginSuccess()\" (clear)=\"enableLexisNexis($event)\"></app-mfa-popup>\r\n\r\n\r\n<form [formGroup]=\"loginForm\" #loginFormDirective=\"ngForm\" *ngIf=\"!showForgotPassword\">\r\n <div class=\"p-fluid p-formgrid p-grid\">\r\n <div class=\"field ion-text-left\" style=\"width: -webkit-fill-available;\">\r\n <label for=\"userProfileId\" [style.font-size]=\"fontSize\" [style.color]=\"color\">{{'login.user.id' | translate}}</label>\r\n <input id=\"userProfileId\" type=\"text\" pInputText maxlength=\"30\" minlength=\"5\" [formControl]=\"username\">\r\n <app-error [field]='username' [form]=\"loginFormDirective\" [errDef]=\"{ \r\n required: userIdRequired,\r\n minlength: userIdMinimumLength\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field ion-text-left\" style=\"width: -webkit-fill-available;\">\r\n <label for=\"userProfilePassword\" [style.font-size]=\"fontSize\" [style.color]=\"color\">{{'login.password.case.sensitive' | translate}}</label>\r\n <p-password [formControl]=\"password\" inputId=\"userProfilePassword\" [toggleMask]='true' [feedback]='false'></p-password>\r\n <app-error [field]='password' [form]=\"loginFormDirective\" [errDef]=\"{ \r\n required: passwordRequired\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"ion-padding-start ion-padding-end ion-text-left\" style=\"margin-top: -8px;\" *ngIf=\"false\">\r\n <app-captcha [formControl]=\"captcha\"></app-captcha>\r\n <app-error [field]='captcha' [form]=\"loginFormDirective\" [errDef]=\"{ \r\n required: captchaRequired\r\n }\"></app-error>\r\n </div>\r\n\r\n\r\n <div class=\"p-fluid\">\r\n <div class=\"ion-text-right\">\r\n <ion-button (click)=\"signIn()\" color=\"primary\" type=\"submit\" shape=\"round\" fill=\"outline\" class=\"white-background\">\r\n <ion-icon name=\"power-outline\" slot=\"start\"></ion-icon>\r\n {{'login.login' | translate}}\r\n </ion-button>\r\n </div>\r\n <ion-row class=\"ion-padding-top\">\r\n <ion-col class=\"ion-text-left\">\r\n <a tabindex=\"0\" role=\"button\" class=\"link\" style=\"font-size: 14px;\" (click)=\"showDialog()\" (keydown.enter)=\"showDialog()\">{{'login.user.id.forgot' | translate}}</a>\r\n </ion-col>\r\n <ion-col class=\"ion-text-right\">\r\n <a tabindex=\"0\" role=\"button\" class=\"link\" (click)=\"showForgotPassword = !showForgotPassword\" (keydown.enter)=\"showForgotPassword = !showForgotPassword\" style=\"font-size: 14px;\"\r\n type=\"submit\">{{'login.password.forgot' | translate}}</a>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n</form>\r\n\r\n<form *ngIf=\"showForgotPassword\" [formGroup]=\"resetForm\" #resetFormDirective=\"ngForm\">\r\n <div class=\"p-fluid p-formgrid p-grid\">\r\n <div class=\"field ion-text-left\" style=\"width: -webkit-fill-available;\">\r\n <label for=\"userProfileId\" [style.font-size]=\"fontSize\" [style.color]=\"color\">{{'login.user.id' | translate}}</label>\r\n <input id=\"userProfileId\" type=\"text\" pInputText maxlength=\"30\" minlength=\"5\" [formControl]=\"resetUsername\">\r\n <app-error [field]='resetUsername' [form]=\"resetFormDirective\" [errDef]=\"{ \r\n required: userIdRequired,\r\n minlength: userIdMinimumLength\r\n }\"></app-error>\r\n </div>\r\n <div class=\"ion-text-left\">\r\n <app-captcha [formControl]=\"resetCaptcha\"></app-captcha>\r\n <app-error [field]='resetCaptcha' [form]=\"resetFormDirective\" [errDef]=\"{ \r\n required: captchaRequired\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"p-fluid\">\r\n <div class=\"ion-text-right\">\r\n <ion-button (click)=\"showForgotPassword = !showForgotPassword\" color=\"primary\" type=\"submit\" shape=\"round\" fill=\"outline\" class=\"white-background\">\r\n <ion-icon name=\"arrow-back-outline\" slot=\"start\"></ion-icon>\r\n {{'login.login' | translate}}\r\n </ion-button>\r\n\r\n <ion-button (click)=\"initiateForgotPassword()\" color=\"primary\" type=\"submit\" shape=\"round\" fill=\"outline\"\r\n disabled=\"{{resetForm.invalid}}\" class=\"white-background\">\r\n <ion-icon name=\"mail-outline\" slot=\"start\"></ion-icon>\r\n {{'login.send.email' | translate}}\r\n </ion-button>\r\n </div>\r\n </div>\r\n\r\n \r\n</form>\r\n\r\n<p-dialog [visible]=\"isUSPSExpired\" [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\" closeOnEscape=\"false\">\r\n {{'usps.expd.popup.heading' | translate}}<br/>\r\n \r\n <ng-template pTemplate=\"footer\">\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"outline\" (click)=\"close()\">\r\n {{'usps.expd.popup.cancel' | translate}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"solid\" (click)=\"triggerUSPSForExpiredProcess()\">\r\n {{'usps.expd.popup.process' | translate}}\r\n </ion-button>\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<app-email-update [email]=\"userModel.emailId\" *ngIf=\"showEmailVerificationDialog\" (onClose)=\"logout()\" (onSuccess)=\"emailVerificationSuccess()\"></app-email-update>" }]
601
- }], () => [{ type: i1.UtilService }, { type: i2.NavController }, { type: i3.UntypedFormBuilder }, { type: i4.LoginService }, { type: i2.Platform }, { type: i5.WeeklyCertServiceV2 }, { type: i6.OvpService }, { type: i0.ChangeDetectorRef }, { type: i7.Router }, { type: i8.ClaimantService }, { type: i9.LexisNexisService }, { type: i10.TranslateService }], { loginFormDirective: [{
381
+ args: [{ selector: 'app-user-login', template: "<p-dialog [(visible)]=\"displayDialog\" [modal]=\"true\" appendTo=\"body\">\r\n <h4 class=\"heading\">Message</h4>\r\n\r\n If you forgot your User ID, a Customer Service Representative is available to assist you Monday through Friday\r\n from 8 AM to 5 PM.\r\n <div *ngIf=\"util.isState('MS')\">\r\n <ul>\r\n <li>Employers may call 601-493-9427</li>\r\n <li>Claimants may call 601-493-9427.</li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"util.isState('ME')\">\r\n <ul>\r\n <li>Employers may call 207-621-5120</li>\r\n <li>Claimants may call 1-800-593-7660</li>\r\n </ul>\r\n </div>\r\n <br />\r\n <p-footer>\r\n <div class=\"ion-text-center\">\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"displayDialog = !displayDialog\" color=\"success\">\r\n <ion-icon slot=\"start\" name=\"close-sharp\"></ion-icon>\r\n Close\r\n </ion-button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<app-mfa-popup *ngIf=\"show2FADialog\" [user]=\"userModel\" (success)=\"loginSuccess()\" (clear)=\"reset()\"></app-mfa-popup>\r\n\r\n<form [formGroup]=\"loginForm\" #loginFormDirective=\"ngForm\" *ngIf=\"!showForgotPassword\">\r\n <div class=\"p-fluid p-formgrid p-grid\">\r\n <div class=\"field ion-text-left\" style=\"width: -webkit-fill-available;\">\r\n <label for=\"userProfileId\" [style.font-size]=\"fontSize\" [style.color]=\"color\">{{'User ID' | translate}}</label>\r\n <input id=\"userProfileId\" type=\"text\" pInputText maxlength=\"30\" minlength=\"5\" [formControl]=\"username\">\r\n <app-error [field]='username' [form]=\"loginFormDirective\" [errDef]=\"{ \r\n required: 'User ID is required.',\r\n minlength: 'User ID should have minimum 5 characters.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field ion-text-left\" style=\"width: -webkit-fill-available;\">\r\n <label for=\"userProfilePassword\" [style.font-size]=\"fontSize\" [style.color]=\"color\">{{'Password (Case Sensitive)' | translate}}</label>\r\n <p-password [formControl]=\"password\" inputId=\"userProfilePassword\" [toggleMask]='true' [feedback]='false'></p-password>\r\n <app-error [field]='password' [form]=\"loginFormDirective\" [errDef]=\"{ \r\n required: 'Password is required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"ion-padding-start ion-padding-end ion-text-left\" style=\"margin-top: -8px;\" *ngIf=\"false\">\r\n <app-captcha [formControl]=\"captcha\"></app-captcha>\r\n <app-error [field]='captcha' [form]=\"loginFormDirective\" [errDef]=\"{ \r\n required: 'Captcha is required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n\r\n <div class=\"p-fluid\">\r\n <div class=\"ion-text-right\">\r\n <ion-button (click)=\"signIn()\" color=\"primary\" type=\"submit\" shape=\"round\" fill=\"outline\" class=\"white-background\">\r\n <ion-icon name=\"power-outline\" slot=\"start\"></ion-icon>\r\n {{'Login' | translate}}\r\n </ion-button>\r\n </div>\r\n <ion-row class=\"ion-padding-top\">\r\n <ion-col class=\"ion-text-left\">\r\n <a class=\"link\" style=\"font-size: 14px;\" (click)=\"showDialog()\">{{'Forgot user ID?' | translate}}</a>\r\n </ion-col>\r\n <ion-col class=\"ion-text-right\">\r\n <a class=\"link\" (click)=\"showForgotPassword = !showForgotPassword\" style=\"font-size: 14px;\"\r\n type=\"submit\">{{'Forgot\r\n Password?' | translate}}</a>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n</form>\r\n\r\n<form *ngIf=\"showForgotPassword\" [formGroup]=\"resetForm\" #resetFormDirective=\"ngForm\">\r\n <div class=\"p-fluid p-formgrid p-grid\">\r\n <div class=\"field ion-text-left\" style=\"width: -webkit-fill-available;\">\r\n <label for=\"userProfileId\" [style.font-size]=\"fontSize\" [style.color]=\"color\">{{'User ID' | translate}}</label>\r\n <input id=\"userProfileId\" type=\"text\" pInputText maxlength=\"30\" minlength=\"5\" [formControl]=\"resetUsername\">\r\n <app-error [field]='resetUsername' [form]=\"resetFormDirective\" [errDef]=\"{ \r\n required: 'User ID is required.',\r\n minlength: 'User ID should have minimum 5 characters.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"ion-text-left\">\r\n <app-captcha [formControl]=\"resetCaptcha\"></app-captcha>\r\n <app-error [field]='resetCaptcha' [form]=\"resetFormDirective\" [errDef]=\"{ \r\n required: 'Captcha is required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"p-fluid\">\r\n <div class=\"ion-text-right\">\r\n <ion-button (click)=\"showForgotPassword = !showForgotPassword\" color=\"primary\" type=\"submit\" shape=\"round\" fill=\"outline\" class=\"white-background\">\r\n <ion-icon name=\"arrow-back-outline\" slot=\"start\"></ion-icon>\r\n {{'Login' | translate}}\r\n </ion-button>\r\n\r\n <ion-button (click)=\"initiateForgotPassword()\" color=\"primary\" type=\"submit\" shape=\"round\" fill=\"outline\"\r\n disabled=\"{{resetForm.invalid}}\" class=\"white-background\">\r\n <ion-icon name=\"mail-outline\" slot=\"start\"></ion-icon>\r\n {{'Send email' | translate}}\r\n </ion-button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<app-email-update [email]=\"userModel.emailId\" *ngIf=\"showEmailVerificationDialog\" (onClose)=\"logout()\" (onSuccess)=\"emailVerificationSuccess()\"></app-email-update>" }]
382
+ }], () => [{ type: i1.UtilService }, { type: i2.NavController }, { type: i3.UntypedFormBuilder }, { type: i4.LoginService }, { type: i2.Platform }], { loginFormDirective: [{
602
383
  type: ViewChild,
603
384
  args: ['loginFormDirective', { static: false }]
604
385
  }], resetFormDirective: [{
@@ -608,12 +389,10 @@ export class UserLoginComponent {
608
389
  type: Input
609
390
  }], color: [{
610
391
  type: Input
611
- }], isPhoneMfaRequiredForAccountActivation: [{
612
- type: Input
613
392
  }], success: [{
614
393
  type: Output
615
394
  }], error: [{
616
395
  type: Output
617
396
  }] }); })();
618
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserLoginComponent, { className: "UserLoginComponent", filePath: "lib\\components\\user-login\\user-login.component.ts", lineNumber: 21 }); })();
619
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1sb2dpbi91c2VyLWxvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLWxvZ2luL3VzZXItbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBb0UsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0FyRCwyQkFBZ0MsU0FBQSxTQUFBO0lBRXBCLCtDQUErQjtJQUFBLGlCQUFLO0lBQ3hDLDBCQUFJO0lBQUEsZ0RBQWdDO0lBQUEsaUJBQUssRUFBQSxFQUFBOzs7SUFHakQsMkJBQWdDLFNBQUEsU0FBQTtJQUVwQiwrQ0FBK0I7SUFBQSxpQkFBSztJQUN4QywwQkFBSTtJQUFBLGlEQUFpQztJQUFBLGlCQUFLLEVBQUEsRUFBQTs7OztJQWN0RCxvQ0FBNE47SUFBeEwsa1BBQStCLCtKQUE0RyxlQUFBLHNCQUFjLENBQUEsSUFBMUgsMkpBQXFJLGVBQUEsMEJBQWtCLENBQUEsSUFBdko7SUFBeUosaUJBQVc7OztJQUFuTSxrREFBK0IseUNBQUEseURBQUEsbUJBQUE7Ozs7SUFDbkUsMkNBQXdMO0lBQXZFLDJMQUFXLGVBQUEscUJBQWEsQ0FBQSxJQUFDLDBLQUFVLGVBQUEsbUJBQVcsQ0FBQSxJQUFyQix3S0FBK0IsZUFB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QyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUF3QnpDLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxzQ0FBc0M7a0JBQTlDLEtBQUs7WUFHTixPQUFPO2tCQUROLE1BQU07WUFJUCxLQUFLO2tCQURKLE1BQU07O2tGQXBDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1zZXJ2aWNlL2NsYWltYW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2Vla2x5Q2VydFNlcnZpY2VWMiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlZWtseS1jZXJ0L3dlZWtseS1jZXJ0LXYyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPdnBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3ZwL292cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXhwaXJ5IH0gZnJvbSAnQG5nLWlkbGUvY29yZSc7XHJcbmltcG9ydCB7IExleGlzTmV4aXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGV4aXMtbmV4aXMvbGV4aXMubmV4aXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItbG9naW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWxvZ2luLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2xvZ2luRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBsb2dpbkZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcclxuICBAVmlld0NoaWxkKCdyZXNldEZvcm1EaXJlY3RpdmUnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcmVzZXRGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHB1YmxpYyBzaG93MkZBRGlhbG9nID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dGb3Jnb3RQYXNzd29yZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93VXNlcm5hbWVFcnJvciA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjYXBzT24gPSBmYWxzZTtcclxuICBwdWJsaWMgZGlzcGxheURpYWxvZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsb2dpbkZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIHJlc2V0Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc0xleGlzTmV4aXNFbmFibGVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBpc090cE1vZGFsRW5hYmxlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgaXNSZXR1cm5pbmdVc2VyOiBib29sZWFuO1xyXG4gIHB1YmxpYyB2ZXJpZmljYXRpb25QcmVmZXJlbmNlO1xyXG4gIHB1YmxpYyBzc246IHN0cmluZztcclxuICBwdWJsaWMgaXNMZXhpc05leGlzUG9wdXBFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIG1mYUxvZ2luSGVhZGVyIDogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgaXNVU1BTRXhwaXJlZDogYm9vbGVhbiA9ZmFsc2U7XHJcblxyXG4gIHB1YmxpYyB1c2VyTW9kZWw6IFVzZXJNb2RlbDtcclxuXHJcbiAgQElucHV0KCkgZm9udFNpemU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgaXNQaG9uZU1mYVJlcXVpcmVkRm9yQWNjb3VudEFjdGl2YXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxcclxuICAgIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHVibGljIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwdWJsaWMgbG9naW5TZXJ2aWNlOiBMb2dpblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcclxuICAgIHByaXZhdGUgd2NTZXJ2aWNlOiBXZWVrbHlDZXJ0U2VydmljZVYyLFxyXG4gICAgcHJpdmF0ZSBvdnBTZXJ2aWNlOiBPdnBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgY3M6IENsYWltYW50U2VydmljZSxcclxuICAgIHB1YmxpYyBsbjogTGV4aXNOZXhpc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge3RoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSl9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaXNPdHBNb2RhbEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1JldHVybmluZ1VzZXIgPSB0cnVlO1xyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgdGhpcy5tZmFMb2dpbkhlYWRlciA9IFwiRWwgY8OzZGlnbyBkZSB2YWxpZGFjacOzbiBoYSBzaWRvIGVudmlhZG8gYWwgbsO6bWVybyBkZSB0ZWzDqWZvbm8gaW5ncmVzYWRvXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1mYUxvZ2luSGVhZGVyID0gXCJWYWxpZGF0aW9uIGNvZGUgaGFzIGJlZW4gc2VudCB0byB0aGUgcGhvbmUgbnVtYmVyIGVudGVyZWRcIjtcclxuICAgIH1cclxuICAgIHRoaXMuaW5pdGlsaXplTG9naW5Gb3JtKCk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ2luRm9ybS5yZXNldCgpO1xyXG4gICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XHJcbiAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIHRoaXMudXNlck1vZGVsID0gbnVsbDtcclxuICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlsaXplTG9naW5Gb3JtKCkge1xyXG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgcGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgY2FwdGNoYTogW251bGxdLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5yZXNldEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgY2FwdGNoYTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdXNlcm5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ3VzZXJuYW1lJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhc3N3b3JkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydwYXNzd29yZCddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCBjYXB0Y2hhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydjYXB0Y2hhJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlc2V0VXNlcm5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXNldEZvcm0uY29udHJvbHNbJ3VzZXJuYW1lJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlc2V0Q2FwdGNoYSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlc2V0Rm9ybS5jb250cm9sc1snY2FwdGNoYSddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHNpZ25JbigpIHtcclxuICAgIGlmICh0aGlzLmxvZ2luRm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBhdXRoOiBhbnkgPSB7fTtcclxuICAgIGF1dGgudXNlcklkID0gdGhpcy51c2VybmFtZS52YWx1ZTtcclxuICAgIGF1dGgucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkLnZhbHVlO1xyXG4gICAgYXV0aC5sYW5ndWFnZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpO1xyXG4gICAgdGhpcy51dGlsXHJcbiAgICAgIC5zaG93TG9hZGVyKClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLmxvZ2luQW5kQ2hlY2tGb3JNRkEoYXV0aCkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICAgICAgbGV0IHVzZXJNb2RlbDogVXNlck1vZGVsID0gcmVzO1xyXG4gICAgICAgICAgICB1c2VyTW9kZWwubGFuZ3VhZ2U9bG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKTs7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlXHJcbiAgICAgICAgICAgICAgLnNldFVzZXIodXNlck1vZGVsKVxyXG4gICAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXNlck1vZGVsID0gdXNlck1vZGVsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zc24gPSB1c2VyTW9kZWw/LnNzbjtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9naW5TdWNjZXNzKCk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyLmlzMkZBUmVxdWlyZWQgKyAnJyA9PSAndHJ1ZScpIHtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlck1vZGVsID0gZXJyO1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlck1vZGVsLnVzZXJuYW1lID0gdGhpcy51c2VybmFtZS52YWx1ZTtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJNb2RlbC5wYXNzd29yZCA9IHRoaXMucGFzc3dvcmQudmFsdWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93MkZBRGlhbG9nID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmKGVyci5kZXRhaWxzLmluY2x1ZGVzKFwiWW91ciBpZGVudGl0eSBtdXN0IGJlIHZlcmlmaWVkIGF0IFVTUFMgYnV0IHlvdXIgdGltZWZyYW1lIGhhcyBleHBpcmVkLlwiKSl7XHJcbiAgICAgICAgICAgICAvLyB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgICAvLyBcclxuICAgICAgICAgICAgIC8vIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50cmlnZ2VyVVNQU0ZvckV4cGlyZWQodGhpcy51c2VybmFtZS52YWx1ZSksIDIwMDApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgZWxzZScsIGVycik7XHJcbiAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBlbmFibGVMZXhpc05leGlzKHRyaWdnZXJFeGl0QVBJID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zaG93MkZBRGlhbG9nID0gZmFsc2U7XHJcbiAgICBpZiAoIXRyaWdnZXJFeGl0QVBJKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLypcclxuICAgICAgdGhpcy5sbi5pc0xleGlzTmV4aXNJZFByb29maW5nRW5hYmxlZFdpdGhVc2VySWQodGhpcy51c2VyTW9kZWwudXNlcm5hbWUpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgLy8gSWYgbGV4aXMtbmV4aXMgaWQgcHJvb2ZpbmcgaXMgZW5hYmxlZFxyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy51dGlsLnNob3dFcnJvcihcIlRoZSBjbGFpbWFudCBhY2NvdW50IHdpdGggdXNlciBuYW1lXCIgKyB0aGlzLnVzZXJNb2RlbC51c2VybmFtZSArIFwiIGhhcyBiZWVuIGJsb2NrZWQuIFBsZWFzZSBjb250YWN0IEtET0wuXCIpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICovXHJcbiAgfVxyXG5cclxuICBvbkxuU3VjY2Vzcygpe1xyXG4gICAgdGhpcy5pc0xleGlzTmV4aXNQb3B1cEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB0aGlzLnV0aWwuc3VjY2VzcygnWW91ciBJRCBwcm9vZmluZyB3YXMgc3VjY2Vzc2Z1bC4gVHJ5IHJlLWxvZ2luIG9yIGNoYW5nZSB5b3VyIHBhc3N3b3JkIHRvIGNvbnRpbnVlIScpO1xyXG4gICAgaWYgKHRoaXMucmVzZXRGb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5wYXNzd29yZC5yZXNldCgpO1xyXG4gICAgICB0aGlzLmxvZ2luRm9ybS5yZXNldCgpO1xyXG4gICAgICB0aGlzLmxvZ2luRm9ybURpcmVjdGl2ZS5yZXNldCgpO1xyXG4gICAgICB0aGlzLnJlc2V0Rm9ybS5yZXNldCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MTkVycm9yKCl7XHJcbiAgICB0aGlzLnRyaWdnZXJVU1BTKCk7XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyVVNQUygpe1xyXG4gICAgdGhpcy5pc0xleGlzTmV4aXNQb3B1cEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICBjb25zb2xlLmxvZyhcInVzcHMgaXMgdHJpZ2dlcmVkXCIpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgSlNPTi5zdHJpbmdpZnkodGhpcy51c2VyTW9kZWwudXNlcm5hbWUpKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvdXNwcy1yZWRpcmVjdCcsIFwiXCJdKSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyVVNQU0ZvckV4cGlyZWQodXNlcm5hbWUgOiBTdHJpbmcpe1xyXG4gICAgdGhpcy5pc0xleGlzTmV4aXNQb3B1cEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNVU1BTRXhwaXJlZD10cnVlOyAgXHJcbiAgICBjb25zb2xlLmxvZyhcInVzcHMgaXMgdHJpZ2dlcmVkXCIpXHJcbiAgIFxyXG4gICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgSlNPTi5zdHJpbmdpZnkodXNlcm5hbWUpKTtcclxuICAgIC8vc2V0VGltZW91dCgoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy91c3BzLXJlZGlyZWN0JywgXCJcIl0pLCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHRyaWdnZXJVU1BTRm9yRXhwaXJlZFByb2Nlc3MoKXtcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XHJcbiAgICB0aGlzLmlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1VTUFNFeHBpcmVkPXRydWU7ICBcclxuICAgIGNvbnNvbGUubG9nKFwidXNwcyBpcyB0cmlnZ2VyZWRcIilcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VySWQnLCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXJJZFwiKSk7ICBcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvdXNwcy1yZWRpcmVjdCcsIFwiXCJdKSwgMTAwMCk7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuIGFzeW5jIGxvZ2luU3VjY2VzcygpIHtcclxuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxvZ2luU2VydmljZS5nZXRVc2VyKCk7XHJcbiAgICB0aGlzLnVzZXJNb2RlbCA9IHVzZXJNb2RlbDtcclxuICAgIGlmICh1c2VyTW9kZWwuY2hhbmdlUHdkKSB7XHJcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnY2hhbmdlLXBhc3N3b3JkJyk7XHJcbiAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgdXNlck1vZGVsLmVtYWlsU3RhdHVzICE9ICdWRVJGJyAmJlxyXG4gICAgICB1c2VyTW9kZWwuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkXHJcbiAgICApIHtcclxuICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgdGhpcy5zaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2cgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVzZXJNb2RlbC5pczJGQVJlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpc0NhcGFjaXRvciA9IHRoaXMucGxhdGZvcm0uaXMoJ2NhcGFjaXRvcicpO1xyXG4gICAgaWYgKFxyXG4gICAgICB1c2VyTW9kZWwuZGF5c1RpbGxQYXNzd29yZEV4cGlyZSAmJlxyXG4gICAgICB1c2VyTW9kZWwuZGF5c1RpbGxQYXNzd29yZEV4cGlyZSA8IDEwICYmXHJcbiAgICAgIExpYkNvbnN0YW50cy5sZWdhY3lNZW51ID09ICd0cnVlJyAmJlxyXG4gICAgICBpc0NhcGFjaXRvclxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnY2hhbmdlLXBhc3N3b3JkP2NoYW5nZVB3ZD10cnVlJyk7XHJcbiAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSAgICBcclxuICAgIGlmKHVzZXJNb2RlbC5zc24hPW51bGwpe1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkFJQyBGTE9XIGluIExvZ2luU2VydmljZVwiKTsgICAgXHJcbiAgICAgY29uc3QgZGF0YT0gYXdhaXQgdGhpcy53Y1NlcnZpY2UuZ2VuZXJhdGVFdmVudEZvclJlb3BlbkFpY0Zsb3codXNlck1vZGVsLnNzbilcclxuICAgICAgIC50aGVuKGFzeW5jID0+eyAgICAgICAgICBcclxuICAgICAgIH1cclxuXHJcbiAgICAgKS5jYXRjaChhc3luYyBlcnIgPT57XHJcbiAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICB9KSAgXHJcbiAgfVxyXG4gLyogICBpdCB3YXMgY29tbWVudGVkICAgZm9yIFBHTFAtMjI4MSAgIFxyXG4gaWYodXNlck1vZGVsLnNzbiE9bnVsbCl7XHJcbiAgICBjb25zb2xlLmxvZyhcIm92ZXJwYXltZW50IExvZ2luU2VydmljZVwiKTsgICAgXHJcbiAgIGNvbnN0IGRhdGE9IGF3YWl0IHRoaXMub3ZwU2VydmljZS50cmlnZ2VyUmVwYXltZW50RXZlbnQodXNlck1vZGVsLnNzbilcclxuICAgICAudGhlbihhc3luYyA9PnsgICAgICAgIFxyXG4gICAgIH1cclxuICAgKS5jYXRjaChhc3luYyBlcnIgPT57XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICB9KSAgXHJcbn0qL1xyXG5cclxuICAgIGlmICh1c2VyTW9kZWwuY2xhaW1hbnRJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLm92cFNlcnZpY2UudHJpZ2dlck92ZXJwYXltZW50RXZlbnQoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHgpID0+IHt9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1c2VyTW9kZWwuY2xhaW1hbnRJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLm92cFNlcnZpY2UudHJpZ2dlck92ZXJwYXltZW50RXZlbnRIaXN0b3J5KCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICh4KSA9PiB7fSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHNob3dEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlEaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpIHtcclxuICAgIGlmICh0aGlzLnJlc2V0Rm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMucGFzc3dvcmQucmVzZXQoKTtcclxuICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldEZvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldEZvcm1EaXJlY3RpdmUucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldFVzZXJuYW1lLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIHRoaXMucmVzZXRDYXB0Y2hhLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9naW5TZXJ2aWNlXHJcbiAgICAgICAgLmluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih0aGlzLnJlc2V0VXNlcm5hbWUudmFsdWUpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcygnU2UgaGEgcmVzdGFibGVjaWRvIHN1IGNvbnRyYXNlw7FhLiBSZWNpYmlyw6EgdW4gY29ycmVvIGVsZWN0csOzbmljbyBjb24gdW5hIGNvbnRyYXNlw7FhIHRlbXBvcmFsIGUgaW5zdHJ1Y2Npb25lcyBwYXJhIGluaWNpYXIgc2VzacOzbi4nKTtcclxuICAgICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3VyIHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3Ugc2hvdWxkIHJlY2VpdmUgYW4gZW1haWwgd2l0aCBhIHRlbXBvcmFyeSBwYXNzd29yZCBhbmQgbG9naW4gaW5zdHJ1Y3Rpb25zLicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtRGlyZWN0aXZlLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXRVc2VybmFtZS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dGb3Jnb3RQYXNzd29yZCA9ICF0aGlzLnNob3dGb3Jnb3RQYXNzd29yZDtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldEZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkID0gIXRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpIHtcclxuICAgIHRoaXMubG9naW5TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgdGhpcy5zaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2VzcygpIHtcclxuICAgIHRoaXMuc2hvd0VtYWlsVmVyaWZpY2F0aW9uRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1Y2Nlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7ICBcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB0aGlzLmlzVVNQU0V4cGlyZWQgPSBmYWxzZTsgICBcclxuICAgXHJcbiAgfVxyXG5cclxuICBnZXQgdXNlcklkUmVxdWlyZWQoKXtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24udXNlci5pZC5yZXF1aXJlZCcpO1xyXG4gIH1cclxuICBcclxuICBnZXQgdXNlcklkTWluaW11bUxlbmd0aCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24udXNlci5pZC5taW5sZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGdldCBwYXNzd29yZFJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5wYXNzd29yZC5yZXF1aXJlZCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhcHRjaGFSZXF1aXJlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uY2FwdGNoYS5yZXF1aXJlZCcpO1xyXG4gIH1cclxufVxyXG4iLCI8cC1kaWFsb2cgWyh2aXNpYmxlKV09XCJkaXNwbGF5RGlhbG9nXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuICAgIDxoNCBjbGFzcz1cImhlYWRpbmdcIj57e1wiY29tbW9uLm1lc3NhZ2VcIiB8IHRyYW5zbGF0ZX19PC9oND5cclxuICAgIHt7XCJsb2dpbi5mb3Jnb3QuaWQuYXNzaXN0XCIgfCB0cmFuc2xhdGV9fVxyXG4gICAgPGRpdiAqbmdJZj1cInV0aWwuaXNTdGF0ZSgnTVMnKVwiPlxyXG4gICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpPkVtcGxveWVycyBtYXkgY2FsbCA2MDEtNDkzLTk0Mjc8L2xpPlxyXG4gICAgICAgICAgICA8bGk+Q2xhaW1hbnRzIG1heSBjYWxsIDYwMS00OTMtOTQyNy48L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1dGlsLmlzU3RhdGUoJ01FJylcIj5cclxuICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaT5FbXBsb3llcnMgbWF5IGNhbGwgMjA3LTYyMS01MTIwPC9saT5cclxuICAgICAgICAgICAgPGxpPkNsYWltYW50cyBtYXkgY2FsbCAxLTgwMC01OTMtNzY2MDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSB0b2RvOiBnZXQgS1MgbnVtYmVyLS0+XHJcbiAgICA8YnIgLz5cclxuICAgIDxwLWZvb3Rlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRpc3BsYXlEaWFsb2cgPSAhZGlzcGxheURpYWxvZ1wiIGNvbG9yPVwic3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJjbG9zZS1zaGFycFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICB7e1wiY29tbW9uLmNsb3NlXCIgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3AtZm9vdGVyPlxyXG48L3AtZGlhbG9nPlxyXG48YXBwLW1mYTIgKm5nSWY9XCJpc090cE1vZGFsRW5hYmxlZFwiIFsoZGlzcGxheSldPVwiaXNPdHBNb2RhbEVuYWJsZWRcIiBbcmV0dXJuaW5nVXNlcl09XCJpc1JldHVybmluZ1VzZXJcIiBbdmVyaWZpY2F0aW9uUHJlZmVyZW5jZV09XCJ2ZXJpZmljYXRpb25QcmVmZXJlbmNlXCIgW3Nzbl09XCJzc25cIiAoc3VjY2Vzcyk9XCJsb2dpblN1Y2Nlc3MoKVwiIChjbGVhcik9XCJlbmFibGVMZXhpc05leGlzKClcIj48L2FwcC1tZmEyPlxyXG48YXBwLWxleGlzLW5leGlzICpuZ0lmPVwiaXNMZXhpc05leGlzUG9wdXBFbmFibGVkXCIgW2Rpc3BsYXldPVwiaXNMZXhpc05leGlzUG9wdXBFbmFibGVkXCIgW3VzZXJNb2RlbF0gPSBcInVzZXJNb2RlbFwiIChzdWNjZXNzKT1cIm9uTG5TdWNjZXNzKClcIiAoZXJyb3IpPVwib25MTkVycm9yKClcIiAodXNwcyk9XCJ0cmlnZ2VyVVNQUygpXCI+PC9hcHAtbGV4aXMtbmV4aXM+XHJcbjxhcHAtbWZhLXBvcHVwIFsoZGlzcGxheSldPVwic2hvdzJGQURpYWxvZ1wiIFt1c2VyXT1cInVzZXJNb2RlbFwiIFtyZXR1cm5pbmdVc2VyXT1cImlzUmV0dXJuaW5nVXNlclwiIFtoZWFkaW5nXT1cIm1mYUxvZ2luSGVhZGVyXCIgKHN1Y2Nlc3MpPVwibG9naW5TdWNjZXNzKClcIiAoY2xlYXIpPVwiZW5hYmxlTGV4aXNOZXhpcygkZXZlbnQpXCI+PC9hcHAtbWZhLXBvcHVwPlxyXG5cclxuXHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCIgI2xvZ2luRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiICpuZ0lmPVwiIXNob3dGb3Jnb3RQYXNzd29yZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZUlkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J2xvZ2luLnVzZXIuaWQnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ1c2VyUHJvZmlsZUlkXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IG1heGxlbmd0aD1cIjMwXCIgbWlubGVuZ3RoPVwiNVwiIFtmb3JtQ29udHJvbF09XCJ1c2VybmFtZVwiPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3VzZXJuYW1lJyBbZm9ybV09XCJsb2dpbkZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdXNlcklkUmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBtaW5sZW5ndGg6IHVzZXJJZE1pbmltdW1MZW5ndGhcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZVBhc3N3b3JkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J2xvZ2luLnBhc3N3b3JkLmNhc2Uuc2Vuc2l0aXZlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgPHAtcGFzc3dvcmQgW2Zvcm1Db250cm9sXT1cInBhc3N3b3JkXCIgaW5wdXRJZD1cInVzZXJQcm9maWxlUGFzc3dvcmRcIiBbdG9nZ2xlTWFza109J3RydWUnIFtmZWVkYmFja109J2ZhbHNlJz48L3AtcGFzc3dvcmQ+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncGFzc3dvcmQnIFtmb3JtXT1cImxvZ2luRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBwYXNzd29yZFJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmctc3RhcnQgaW9uLXBhZGRpbmctZW5kIGlvbi10ZXh0LWxlZnRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC04cHg7XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgICAgIDxhcHAtY2FwdGNoYSBbZm9ybUNvbnRyb2xdPVwiY2FwdGNoYVwiPjwvYXBwLWNhcHRjaGE+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdjYXB0Y2hhJyBbZm9ybV09XCJsb2dpbkZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgcmVxdWlyZWQ6IGNhcHRjaGFSZXF1aXJlZFxyXG4gICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNpZ25JbigpXCIgY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIGNsYXNzPVwid2hpdGUtYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJwb3dlci1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIHt7J2xvZ2luLmxvZ2luJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cImxpbmtcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIiAoY2xpY2spPVwic2hvd0RpYWxvZygpXCIgKGtleWRvd24uZW50ZXIpPVwic2hvd0RpYWxvZygpXCI+e3snbG9naW4udXNlci5pZC5mb3Jnb3QnIHwgdHJhbnNsYXRlfX08L2E+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwibGlua1wiIChjbGljayk9XCJzaG93Rm9yZ290UGFzc3dvcmQgPSAhc2hvd0ZvcmdvdFBhc3N3b3JkXCIgKGtleWRvd24uZW50ZXIpPVwic2hvd0ZvcmdvdFBhc3N3b3JkID0gIXNob3dGb3Jnb3RQYXNzd29yZFwiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiPnt7J2xvZ2luLnBhc3N3b3JkLmZvcmdvdCcgfCB0cmFuc2xhdGV9fTwvYT5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48Zm9ybSAqbmdJZj1cInNob3dGb3Jnb3RQYXNzd29yZFwiIFtmb3JtR3JvdXBdPVwicmVzZXRGb3JtXCIgI3Jlc2V0Rm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZUlkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J2xvZ2luLnVzZXIuaWQnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ1c2VyUHJvZmlsZUlkXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IG1heGxlbmd0aD1cIjMwXCIgbWlubGVuZ3RoPVwiNVwiIFtmb3JtQ29udHJvbF09XCJyZXNldFVzZXJuYW1lXCI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncmVzZXRVc2VybmFtZScgW2Zvcm1dPVwicmVzZXRGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogdXNlcklkUmVxdWlyZWQsXHJcbiAgICAgICAgICAgIG1pbmxlbmd0aDogdXNlcklkTWluaW11bUxlbmd0aFxyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxhcHAtY2FwdGNoYSBbZm9ybUNvbnRyb2xdPVwicmVzZXRDYXB0Y2hhXCI+PC9hcHAtY2FwdGNoYT5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdyZXNldENhcHRjaGEnIFtmb3JtXT1cInJlc2V0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgIHJlcXVpcmVkOiBjYXB0Y2hhUmVxdWlyZWRcclxuICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93Rm9yZ290UGFzc3dvcmQgPSAhc2hvd0ZvcmdvdFBhc3N3b3JkXCIgY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIGNsYXNzPVwid2hpdGUtYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1iYWNrLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAge3snbG9naW4ubG9naW4nIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImluaXRpYXRlRm9yZ290UGFzc3dvcmQoKVwiIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9XCJ7e3Jlc2V0Rm9ybS5pbnZhbGlkfX1cIiBjbGFzcz1cIndoaXRlLWJhY2tncm91bmRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibWFpbC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIHt7J2xvZ2luLnNlbmQuZW1haWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgICAgXHJcbjwvZm9ybT5cclxuXHJcbjxwLWRpYWxvZyBbdmlzaWJsZV09XCJpc1VTUFNFeHBpcmVkXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBwb3NpdGlvbj1cInRvcFwiIFticmVha3BvaW50c109XCJ7JzEyMDBweCc6ICc2NjBweCcsICc5OTJweCc6ICc2NjBweCcsICc3NjhweCc6ICc2NjBweCcsICc1NzZweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzQ1dncnfVwiXHJcbltiYXNlWkluZGV4XT1cIjUwMDBcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCIgW3Jlc2l6YWJsZV09XCJmYWxzZVwiIGNsb3NlT25Fc2NhcGU9XCJmYWxzZVwiPlxyXG4gICAge3sndXNwcy5leHBkLnBvcHVwLmhlYWRpbmcnIHwgdHJhbnNsYXRlfX08YnIvPlxyXG4gICAgXHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICB7eyd1c3BzLmV4cGQucG9wdXAuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cInNvbGlkXCIgKGNsaWNrKT1cInRyaWdnZXJVU1BTRm9yRXhwaXJlZFByb2Nlc3MoKVwiPlxyXG4gICAgICAgICAge3sndXNwcy5leHBkLnBvcHVwLnByb2Nlc3MnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3AtZGlhbG9nPlxyXG5cclxuPGFwcC1lbWFpbC11cGRhdGUgW2VtYWlsXT1cInVzZXJNb2RlbC5lbWFpbElkXCIgKm5nSWY9XCJzaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2dcIiAob25DbG9zZSk9XCJsb2dvdXQoKVwiIChvblN1Y2Nlc3MpPVwiZW1haWxWZXJpZmljYXRpb25TdWNjZXNzKClcIj48L2FwcC1lbWFpbC11cGRhdGU+Il19
397
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserLoginComponent, { className: "UserLoginComponent", filePath: "lib\\components\\user-login\\user-login.component.ts", lineNumber: 14 }); })();
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1sb2dpbi91c2VyLWxvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLWxvZ2luL3VzZXItbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFvRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNFckQsMkJBQWdDLFNBQUEsU0FBQTtJQUVwQiwrQ0FBK0I7SUFBQSxpQkFBSztJQUN4QywwQkFBSTtJQUFBLGdEQUFnQztJQUFBLGlCQUFLLEVBQUEsRUFBQTs7O0lBR2pELDJCQUFnQyxTQUFBLFNBQUE7SUFFcEIsK0NBQStCO0lBQUEsaUJBQUs7SUFDeEMsMEJBQUk7SUFBQSxpREFBaUM7SUFBQSxpQkFBSyxFQUFBLEVBQUE7Ozs7SUFjdEQsd0NBQXFHO0lBQTdDLHFMQUFXLGVBQUEscUJBQWMsQ0FBQSxJQUFDLG9LQUFVLGVBQUEsY0FBTyxDQUFBLElBQWpCO0lBQW1CLGlCQUFnQjs7O0lBQWhGLHVDQUFrQjs7OztJQW9CbkQsK0JBQXFHO0lBQ2pHLGtDQUFtRCxvQkFBQTtJQUl2RCxpQkFBTTs7Ozs7SUFKVyxlQUF1QjtJQUF2Qiw2Q0FBdUI7SUFDekIsZUFBaUI7SUFBakIsdUNBQWlCLGFBQUEsc0NBQUE7Ozs7OztJQXBCcEMs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LGtCQUFrQjtrQkFBM0UsU0FBUzttQkFBQyxvQkFBb0IsRUFBRSxFQUFDLE1BQU0sRUFBRyxLQUFLLEVBQUM7WUFleEMsUUFBUTtrQkFBaEIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUdOLE9BQU87a0JBRE4sTUFBTTtZQUlQLEtBQUs7a0JBREosTUFBTTs7a0ZBekJJLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvVXNlck1vZGVsJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11c2VyLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLWxvZ2luLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXNlckxvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdsb2dpbkZvcm1EaXJlY3RpdmUnLCB7c3RhdGljIDogZmFsc2V9KSBwdWJsaWMgbG9naW5Gb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG4gIEBWaWV3Q2hpbGQoJ3Jlc2V0Rm9ybURpcmVjdGl2ZScsIHtzdGF0aWMgOiBmYWxzZX0pIHB1YmxpYyByZXNldEZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcblxuICBwdWJsaWMgc2hvdzJGQURpYWxvZyA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0ZvcmdvdFBhc3N3b3JkID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93VXNlcm5hbWVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2Fwc09uID0gZmFsc2U7XG4gIHB1YmxpYyBkaXNwbGF5RGlhbG9nID0gZmFsc2U7XG4gIHB1YmxpYyBsb2dpbkZvcm0gOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgcmVzZXRGb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGlzTG9naW5JblByb2dyZXNzID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyB1c2VyTW9kZWwgOiBVc2VyTW9kZWw7XG5cbiAgQElucHV0KCkgZm9udFNpemUgOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgY29sb3IgOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIFxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgXG4gIGVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbCA6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIG5hdiA6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBmYiA6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIGxvZ2luU2VydmljZSA6IExvZ2luU2VydmljZSwgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0pIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlsaXplTG9naW5Gb3JtKCk7XG4gIH1cblxuICByZXNldCgpe1xuICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLmxvZ2luRm9ybURpcmVjdGl2ZS5yZXNldEZvcm0oKTtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgdGhpcy51c2VyTW9kZWwgPSBudWxsO1xuICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IGZhbHNlO1xuICB9XG5cbiAgaW5pdGlsaXplTG9naW5Gb3JtKCl7XG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICd1c2VybmFtZScgOiBbbnVsbCxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdwYXNzd29yZCcgOiBbbnVsbCxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdjYXB0Y2hhJyA6IFtudWxsXVxuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNldEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICd1c2VybmFtZScgOiBbbnVsbCxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdjYXB0Y2hhJyA6IFtudWxsLFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdXNlcm5hbWUoKXtcbiAgICByZXR1cm4gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ3VzZXJuYW1lJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG5cbiAgZ2V0IHBhc3N3b3JkKCl7XG4gICAgcmV0dXJuIHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydwYXNzd29yZCddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGdldCBjYXB0Y2hhKCl7XG4gICAgcmV0dXJuIHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydjYXB0Y2hhJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG5cbiAgZ2V0IHJlc2V0VXNlcm5hbWUoKXtcbiAgICByZXR1cm4gdGhpcy5yZXNldEZvcm0uY29udHJvbHNbJ3VzZXJuYW1lJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG5cbiAgZ2V0IHJlc2V0Q2FwdGNoYSgpe1xuICAgIHJldHVybiB0aGlzLnJlc2V0Rm9ybS5jb250cm9sc1snY2FwdGNoYSddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGFzeW5jIHNpZ25Jbigpe1xuICAgIGlmKHRoaXMubG9naW5Gb3JtLmludmFsaWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgYXV0aCA6IGFueT0ge307XG4gICAgYXV0aC51c2VySWQgPSB0aGlzLnVzZXJuYW1lLnZhbHVlO1xuICAgIGF1dGgucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkLnZhbHVlO1xuXG4gICAgdGhpcy51dGlsXG4gICAgICAgIC5zaG93TG9hZGVyKClcbiAgICAgICAgLnRoZW4oXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UubG9naW5BbmRDaGVja0Zvck1GQShhdXRoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdXNlck1vZGVsIDogVXNlck1vZGVsID0gcmVzO1xuICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnNldFVzZXIodXNlck1vZGVsKS50aGVuKFxuICAgICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpblN1Y2Nlc3MoKTsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgaWYoKGVyci5pczJGQVJlcXVpcmVkICsgJycpID09ICd0cnVlJyl7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwgID0gZXJyO1xuICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwudXNlcm5hbWUgPSB0aGlzLnVzZXJuYW1lLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgdGhpcy5zaG93MkZBRGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgZWxzZScsIGVycilcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gIH1cblxuICBsb2dpblN1Y2Nlc3MoKXtcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VXNlcigpO1xuICAgIHRoaXMudXNlck1vZGVsID0gdXNlck1vZGVsO1xuXG4gICAgaWYodXNlck1vZGVsLmNoYW5nZVB3ZCl7XG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJ2NoYW5nZS1wYXNzd29yZCcpO1xuICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgaWYodXNlck1vZGVsLmVtYWlsU3RhdHVzICE9ICdWRVJGJyAmJiB1c2VyTW9kZWwuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkKXtcbiAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICB0aGlzLnNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZyA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYodXNlck1vZGVsLmlzMkZBUmVxdWlyZWQpe1xuICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgXG4gICAgY29uc3QgaXNDYXBhY2l0b3IgPSB0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKTtcbiAgICBpZih1c2VyTW9kZWwuZGF5c1RpbGxQYXNzd29yZEV4cGlyZSAmJiB1c2VyTW9kZWwuZGF5c1RpbGxQYXNzd29yZEV4cGlyZSA8IDEwICYmIExpYkNvbnN0YW50cy5sZWdhY3lNZW51ID09ICd0cnVlJyAmJiBpc0NhcGFjaXRvcil7XG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJ2NoYW5nZS1wYXNzd29yZD9jaGFuZ2VQd2Q9dHJ1ZScpO1xuICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaG93MkZBRGlhbG9nID0gZmFsc2U7XG4gICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgfVxuXG4gIHNob3dEaWFsb2coKSB7XG4gICAgdGhpcy5kaXNwbGF5RGlhbG9nID0gdHJ1ZTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmQoKXtcbiAgICBpZih0aGlzLnJlc2V0Rm9ybS5pbnZhbGlkKXtcbiAgICAgIHRoaXMucGFzc3dvcmQucmVzZXQoKTtcbiAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KClcbiAgICAgIHRoaXMubG9naW5Gb3JtRGlyZWN0aXZlLnJlc2V0KCk7XG4gICAgICB0aGlzLnJlc2V0Rm9ybS5yZXNldCgpXG4gICAgICB0aGlzLnJlc2V0Rm9ybURpcmVjdGl2ZS5yZXNldCgpO1xuICAgICAgdGhpcy5yZXNldFVzZXJuYW1lLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLnJlc2V0Q2FwdGNoYS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnV0aWxcbiAgICAgICAgLnNob3dMb2FkZXIoKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2VcbiAgICAgICAgICAgICAgLmluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih0aGlzLnJlc2V0VXNlcm5hbWUudmFsdWUpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3VyIHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3Ugc2hvdWxkIHJlY2VpdmUgYW4gZW1haWwgd2l0aCBhIHRlbXBvcmFyeSBwYXNzd29yZCBhbmQgbG9naW4gaW5zdHJ1Y3Rpb25zLicpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0Rm9ybURpcmVjdGl2ZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFVzZXJuYW1lLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3dGb3Jnb3RQYXNzd29yZCA9ICF0aGlzLnNob3dGb3Jnb3RQYXNzd29yZDtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0Rm9ybURpcmVjdGl2ZS5yZXNldEZvcm0oKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkID0gIXRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkO1xuICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgbG9nb3V0KCl7XG4gICAgdGhpcy5sb2dpblNlcnZpY2UubG9nb3V0KCk7XG4gICAgdGhpcy5zaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2cgPSBmYWxzZTtcbiAgfVxuXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2Vzcygpe1xuICAgIHRoaXMuc2hvd0VtYWlsVmVyaWZpY2F0aW9uRGlhbG9nID0gZmFsc2U7XG4gICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgfVxuXG59XG4iLCI8cC1kaWFsb2cgWyh2aXNpYmxlKV09XCJkaXNwbGF5RGlhbG9nXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuICAgIDxoNCBjbGFzcz1cImhlYWRpbmdcIj5NZXNzYWdlPC9oND5cclxuXHJcbiAgICBJZiB5b3UgZm9yZ290IHlvdXIgVXNlciBJRCwgYSBDdXN0b21lciBTZXJ2aWNlIFJlcHJlc2VudGF0aXZlIGlzIGF2YWlsYWJsZSB0byBhc3Npc3QgeW91IE1vbmRheSB0aHJvdWdoIEZyaWRheVxyXG4gICAgZnJvbSA4IEFNIHRvIDUgUE0uXHJcbiAgICA8ZGl2ICpuZ0lmPVwidXRpbC5pc1N0YXRlKCdNUycpXCI+XHJcbiAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGk+RW1wbG95ZXJzIG1heSBjYWxsIDYwMS00OTMtOTQyNzwvbGk+XHJcbiAgICAgICAgICAgIDxsaT5DbGFpbWFudHMgbWF5IGNhbGwgNjAxLTQ5My05NDI3LjwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInV0aWwuaXNTdGF0ZSgnTUUnKVwiPlxyXG4gICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpPkVtcGxveWVycyBtYXkgY2FsbCAyMDctNjIxLTUxMjA8L2xpPlxyXG4gICAgICAgICAgICA8bGk+Q2xhaW1hbnRzIG1heSBjYWxsIDEtODAwLTU5My03NjYwPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnIgLz5cclxuICAgIDxwLWZvb3Rlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRpc3BsYXlEaWFsb2cgPSAhZGlzcGxheURpYWxvZ1wiIGNvbG9yPVwic3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJjbG9zZS1zaGFycFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICBDbG9zZVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3AtZm9vdGVyPlxyXG48L3AtZGlhbG9nPlxyXG5cclxuPGFwcC1tZmEtcG9wdXAgKm5nSWY9XCJzaG93MkZBRGlhbG9nXCIgW3VzZXJdPVwidXNlck1vZGVsXCIgKHN1Y2Nlc3MpPVwibG9naW5TdWNjZXNzKClcIiAoY2xlYXIpPVwicmVzZXQoKVwiPjwvYXBwLW1mYS1wb3B1cD5cclxuXHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCIgI2xvZ2luRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiICpuZ0lmPVwiIXNob3dGb3Jnb3RQYXNzd29yZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZUlkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J1VzZXIgSUQnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ1c2VyUHJvZmlsZUlkXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IG1heGxlbmd0aD1cIjMwXCIgbWlubGVuZ3RoPVwiNVwiIFtmb3JtQ29udHJvbF09XCJ1c2VybmFtZVwiPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3VzZXJuYW1lJyBbZm9ybV09XCJsb2dpbkZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAnVXNlciBJRCBpcyByZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICBtaW5sZW5ndGg6ICdVc2VyIElEIHNob3VsZCBoYXZlIG1pbmltdW0gNSBjaGFyYWN0ZXJzLidcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZVBhc3N3b3JkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J1Bhc3N3b3JkIChDYXNlIFNlbnNpdGl2ZSknIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwicGFzc3dvcmRcIiBpbnB1dElkPVwidXNlclByb2ZpbGVQYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgW2ZlZWRiYWNrXT0nZmFsc2UnPjwvcC1wYXNzd29yZD5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdwYXNzd29yZCcgW2Zvcm1dPVwibG9naW5Gb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdQYXNzd29yZCBpcyByZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmctc3RhcnQgaW9uLXBhZGRpbmctZW5kIGlvbi10ZXh0LWxlZnRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC04cHg7XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgICAgIDxhcHAtY2FwdGNoYSBbZm9ybUNvbnRyb2xdPVwiY2FwdGNoYVwiPjwvYXBwLWNhcHRjaGE+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdjYXB0Y2hhJyBbZm9ybV09XCJsb2dpbkZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgcmVxdWlyZWQ6ICdDYXB0Y2hhIGlzIHJlcXVpcmVkLidcclxuICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJzaWduSW4oKVwiIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiBjbGFzcz1cIndoaXRlLWJhY2tncm91bmRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicG93ZXItb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICB7eydMb2dpbicgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImxpbmtcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIiAoY2xpY2spPVwic2hvd0RpYWxvZygpXCI+e3snRm9yZ290IHVzZXIgSUQ/JyB8IHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibGlua1wiIChjbGljayk9XCJzaG93Rm9yZ290UGFzc3dvcmQgPSAhc2hvd0ZvcmdvdFBhc3N3b3JkXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCI+e3snRm9yZ290XHJcbiAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmQ/JyB8IHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9kaXY+XHJcbjwvZm9ybT5cclxuXHJcbjxmb3JtICpuZ0lmPVwic2hvd0ZvcmdvdFBhc3N3b3JkXCIgW2Zvcm1Hcm91cF09XCJyZXNldEZvcm1cIiAjcmVzZXRGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkIHAtZ3JpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBpb24tdGV4dC1sZWZ0XCIgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVzZXJQcm9maWxlSWRcIiBbc3R5bGUuZm9udC1zaXplXT1cImZvbnRTaXplXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yXCI+e3snVXNlciBJRCcgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cInVzZXJQcm9maWxlSWRcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgbWF4bGVuZ3RoPVwiMzBcIiBtaW5sZW5ndGg9XCI1XCIgW2Zvcm1Db250cm9sXT1cInJlc2V0VXNlcm5hbWVcIj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdyZXNldFVzZXJuYW1lJyBbZm9ybV09XCJyZXNldEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAnVXNlciBJRCBpcyByZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICBtaW5sZW5ndGg6ICdVc2VyIElEIHNob3VsZCBoYXZlIG1pbmltdW0gNSBjaGFyYWN0ZXJzLidcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtbGVmdFwiPlxyXG4gICAgICAgICAgICA8YXBwLWNhcHRjaGEgW2Zvcm1Db250cm9sXT1cInJlc2V0Q2FwdGNoYVwiPjwvYXBwLWNhcHRjaGE+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncmVzZXRDYXB0Y2hhJyBbZm9ybV09XCJyZXNldEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICByZXF1aXJlZDogJ0NhcHRjaGEgaXMgcmVxdWlyZWQuJ1xyXG4gICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dGb3Jnb3RQYXNzd29yZCA9ICFzaG93Rm9yZ290UGFzc3dvcmRcIiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgY2xhc3M9XCJ3aGl0ZS1iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFycm93LWJhY2stb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICB7eydMb2dpbicgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpXCIgY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD1cInt7cmVzZXRGb3JtLmludmFsaWR9fVwiIGNsYXNzPVwid2hpdGUtYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJtYWlsLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAge3snU2VuZCBlbWFpbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPlxyXG5cclxuPGFwcC1lbWFpbC11cGRhdGUgW2VtYWlsXT1cInVzZXJNb2RlbC5lbWFpbElkXCIgKm5nSWY9XCJzaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2dcIiAob25DbG9zZSk9XCJsb2dvdXQoKVwiIChvblN1Y2Nlc3MpPVwiZW1haWxWZXJpZmljYXRpb25TdWNjZXNzKClcIj48L2FwcC1lbWFpbC11cGRhdGU+Il19