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

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 +1324 -2394
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
  4. package/esm2022/lib/components/address/address.component.mjs +152 -287
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
  7. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
  8. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
  9. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
  10. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  11. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  12. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  13. package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +574 -422
  15. package/esm2022/lib/components/error/error.component.mjs +5 -22
  16. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  17. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
  18. package/esm2022/lib/components/footer/footer.component.mjs +101 -112
  19. package/esm2022/lib/components/header/header.component.mjs +174 -440
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
  21. package/esm2022/lib/components/info/info.component.mjs +12 -4
  22. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +100 -68
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +288 -158
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
  32. package/esm2022/lib/components/profile/profile.component.mjs +353 -749
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
  35. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
  36. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1153 -877
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +699 -208
  40. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
  41. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +41 -128
  42. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  43. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  44. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
  45. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +237 -497
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  48. package/esm2022/lib/components/select/select.component.mjs +10 -5
  49. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  50. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  51. package/esm2022/lib/components/user-login/user-login.component.mjs +360 -139
  52. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +387 -655
  53. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +61 -125
  54. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  55. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  56. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  57. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  58. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  59. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  63. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  64. package/esm2022/lib/models/LibConstants.mjs +6 -45
  65. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  66. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  67. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  68. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  69. package/esm2022/lib/models/UserModel.mjs +1 -1
  70. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  71. package/esm2022/lib/models/dependent.model.mjs +1 -1
  72. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  73. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  74. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
  76. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  77. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  78. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  79. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  80. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  81. package/esm2022/lib/pages/BasePage.mjs +23 -4
  82. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  83. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  84. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  85. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  86. package/esm2022/lib/pages/common/login/login.component.mjs +13 -7
  87. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  88. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  89. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  90. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  91. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  92. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  93. package/esm2022/lib/services/base-service.mjs +1 -4
  94. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  95. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  96. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  97. package/esm2022/lib/services/claims/claims.service.mjs +14 -105
  98. package/esm2022/lib/services/help/help.service.mjs +1 -1
  99. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  100. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  101. package/esm2022/lib/services/login/login.service.mjs +14 -29
  102. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  103. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  104. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  105. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  106. package/esm2022/lib/services/util/util.service.mjs +5 -61
  107. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  108. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  109. package/esm2022/lib/validations/AppValidators.mjs +62 -78
  110. package/esm2022/public-api.mjs +5 -47
  111. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26939 -44815
  112. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  113. package/lib/components/add-employer/add-employer.component.d.ts +53 -137
  114. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  115. package/lib/components/add-participant/add-participant.component.d.ts +5 -11
  116. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  117. package/lib/components/add-payment/add-payment.component.d.ts +3 -9
  118. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  119. package/lib/components/address/address.component.d.ts +15 -42
  120. package/lib/components/address/address.component.d.ts.map +1 -1
  121. package/lib/components/bank-details/bank-details.component.d.ts +23 -1
  122. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  123. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  124. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  125. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  126. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  127. package/lib/components/email-update/email-update.component.d.ts +12 -1
  128. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  129. package/lib/components/employer-grid/employer-grid.component.d.ts +15 -25
  130. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  131. package/lib/components/error/error.component.d.ts +2 -3
  132. package/lib/components/error/error.component.d.ts.map +1 -1
  133. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  134. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  135. package/lib/components/footer/footer.component.d.ts.map +1 -1
  136. package/lib/components/header/header.component.d.ts +5 -17
  137. package/lib/components/header/header.component.d.ts.map +1 -1
  138. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  139. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  140. package/lib/components/job-title/job-title.component.d.ts +23 -22
  141. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  142. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
  143. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  144. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  145. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  146. package/lib/components/menu/menu.component.d.ts +12 -3
  147. package/lib/components/menu/menu.component.d.ts.map +1 -1
  148. package/lib/components/mfa/mfa.component.d.ts +19 -7
  149. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  150. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  151. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  152. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  153. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  154. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  155. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  156. package/lib/components/profile/profile.component.d.ts +49 -82
  157. package/lib/components/profile/profile.component.d.ts.map +1 -1
  158. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  159. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  160. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  161. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  162. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  163. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  164. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
  165. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  166. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  167. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  168. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +35 -33
  169. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  170. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  171. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  172. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  173. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  174. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  175. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  176. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  177. package/lib/components/questionnaire/question.service.d.ts +1 -0
  178. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  179. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  180. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  181. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
  182. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  183. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  184. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  185. package/lib/components/security-question/security-question.component.d.ts +37 -0
  186. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  187. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  188. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  189. package/lib/components/user-login/user-login.component.d.ts +38 -5
  190. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  191. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
  192. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  193. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  194. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  195. package/lib/guards/auth.guard.d.ts.map +1 -1
  196. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  197. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  198. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  199. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  200. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  201. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  202. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  203. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  204. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  205. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  206. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  207. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  208. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  209. package/lib/models/LibConstants.d.ts +1 -40
  210. package/lib/models/LibConstants.d.ts.map +1 -1
  211. package/lib/models/OtpAuthModel.d.ts +1 -0
  212. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  213. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  214. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  215. package/lib/models/PaymentComponentModel.d.ts +1 -1
  216. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  217. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  218. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  219. package/lib/models/UserModel.d.ts +1 -0
  220. package/lib/models/UserModel.d.ts.map +1 -1
  221. package/lib/models/dashboard-model.d.ts +0 -22
  222. package/lib/models/dashboard-model.d.ts.map +1 -1
  223. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  224. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  225. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -15
  226. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  227. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  228. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  229. package/lib/models/questionnaire/ComboModel.d.ts +82 -14
  230. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  231. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  232. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  233. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  234. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  235. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +1 -0
  236. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  237. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  238. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  239. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  240. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  241. package/lib/pages/BasePage.d.ts +6 -3
  242. package/lib/pages/BasePage.d.ts.map +1 -1
  243. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  244. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  245. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  246. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  247. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  248. package/lib/services/base-service.d.ts +0 -12
  249. package/lib/services/base-service.d.ts.map +1 -1
  250. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  251. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  252. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  253. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  254. package/lib/services/claims/claims.service.d.ts +5 -39
  255. package/lib/services/claims/claims.service.d.ts.map +1 -1
  256. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  257. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  258. package/lib/services/login/login.service.d.ts +3 -5
  259. package/lib/services/login/login.service.d.ts.map +1 -1
  260. package/lib/services/ovp/ovp.service.d.ts +17 -0
  261. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  262. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  263. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  264. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  265. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  266. package/lib/services/security-service/security.service.d.ts +4 -12
  267. package/lib/services/security-service/security.service.d.ts.map +1 -1
  268. package/lib/services/util/util.service.d.ts +0 -6
  269. package/lib/services/util/util.service.d.ts.map +1 -1
  270. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  271. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  272. package/lib/validations/AppRegex.d.ts +2 -0
  273. package/lib/validations/AppRegex.d.ts.map +1 -1
  274. package/lib/validations/AppValidators.d.ts +24 -20
  275. package/lib/validations/AppValidators.d.ts.map +1 -1
  276. package/package.json +2 -2
  277. package/public-api.d.ts +4 -46
  278. package/public-api.d.ts.map +1 -1
  279. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  280. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  281. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
  282. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  283. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  284. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  285. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  286. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  287. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  288. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  289. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  290. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  291. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  292. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  293. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  294. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  295. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  296. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  297. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  298. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  299. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
  300. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  301. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  302. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  303. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  304. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  305. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  306. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -828
  307. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  308. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  309. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  310. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  311. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  312. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  313. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -690
  314. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  315. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  316. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  317. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  318. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  319. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  320. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  321. package/esm2022/lib/models/CountyModel.mjs +0 -3
  322. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  323. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  324. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  325. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  326. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  327. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  328. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  329. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  330. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  331. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  332. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  333. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  334. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  335. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  336. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  337. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  338. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  339. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  340. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  341. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  342. package/esm2022/lib/models/combo-model.mjs +0 -343
  343. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  344. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  345. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  346. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  347. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  348. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  349. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  350. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  351. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  352. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  353. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  354. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  355. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  356. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  357. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  358. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  359. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  360. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  361. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  362. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  363. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  364. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  365. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  366. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  367. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  368. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  369. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  370. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  371. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  372. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  373. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  374. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  375. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  376. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  377. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  378. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  379. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  380. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  381. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  382. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  383. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  384. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  385. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  386. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  387. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  388. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  389. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  390. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  391. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  392. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  393. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  394. package/lib/components/history-page/history-page.component.d.ts +0 -80
  395. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  396. package/lib/components/idme/idme.component.d.ts +0 -19
  397. package/lib/components/idme/idme.component.d.ts.map +0 -1
  398. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  399. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  400. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  401. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  402. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  403. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  404. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  405. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  406. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  407. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  408. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  409. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  410. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  411. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  412. package/lib/components/sms/sms.component.d.ts +0 -63
  413. package/lib/components/sms/sms.component.d.ts.map +0 -1
  414. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  415. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  416. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  417. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  418. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  419. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  420. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  421. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  422. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
  423. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  424. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  425. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  426. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  427. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  428. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  429. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  430. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  431. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  432. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  433. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  434. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  435. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  436. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
  437. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  438. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  439. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  440. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  441. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  442. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  443. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  444. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  445. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  446. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  447. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  448. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  449. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  450. package/lib/models/ActiveClaimModel.d.ts +0 -8
  451. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  452. package/lib/models/CountyModel.d.ts +0 -8
  453. package/lib/models/CountyModel.d.ts.map +0 -1
  454. package/lib/models/DuaAppDataModel.d.ts +0 -5
  455. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  456. package/lib/models/DuaRequestModel.d.ts +0 -10
  457. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  458. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  459. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  460. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  461. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  462. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  463. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  464. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  465. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  466. package/lib/models/GrossEarningsModel.d.ts +0 -6
  467. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  468. package/lib/models/HelpConstants.d.ts +0 -5
  469. package/lib/models/HelpConstants.d.ts.map +0 -1
  470. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  471. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  472. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  473. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  474. package/lib/models/RetroWeeksModel.d.ts +0 -11
  475. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  476. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  477. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  478. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  479. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  480. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  481. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  482. package/lib/models/WageCalculatorModel.d.ts +0 -15
  483. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  484. package/lib/models/WageInfoModel.d.ts +0 -9
  485. package/lib/models/WageInfoModel.d.ts.map +0 -1
  486. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  487. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  488. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  489. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  490. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  491. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  492. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  493. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  494. package/lib/models/combo-model.d.ts +0 -42
  495. package/lib/models/combo-model.d.ts.map +0 -1
  496. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  497. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  498. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  499. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  500. package/lib/models/fileupload/FileObject.d.ts +0 -8
  501. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  502. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  503. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  504. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  505. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  506. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  507. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  508. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  509. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  510. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  511. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  512. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  513. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  514. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  515. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  516. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  517. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  518. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  519. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  520. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  521. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  522. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  523. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  524. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  525. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  526. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  527. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  528. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  529. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  530. package/lib/services/appeal/appeal.service.d.ts +0 -16
  531. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  532. package/lib/services/birt-service/birt.service.d.ts +0 -17
  533. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  534. package/lib/services/employer/employer-service.d.ts +0 -16
  535. package/lib/services/employer/employer-service.d.ts.map +0 -1
  536. package/lib/services/event-service/event-service.d.ts +0 -20
  537. package/lib/services/event-service/event-service.d.ts.map +0 -1
  538. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  539. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  540. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  541. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  542. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  543. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  544. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  545. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -1,828 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { LibConstants } from '../../models/LibConstants';
3
- import { BasePage } from '../../pages/BasePage';
4
- import { SummaryComponentV2 } from '../weekly-summary-v2/summary.component-v2';
5
- import { WorkSearchQuestionComponentV2 } from '../weekly-work-search-question-v2/work-search-question.component-v2';
6
- import { AcknowledgementMsComponent } from '../../components/weekly-acknowledgement-ms/acknowledgement-ms.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../services/weekly-cert/weekly-cert-v2.service";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "../../services/util/util.service";
11
- import * as i4 from "@ionic/angular";
12
- import * as i5 from "@angular/platform-browser";
13
- import * as i6 from "../../services/help/help.service";
14
- import * as i7 from "../../services/login/login.service";
15
- import * as i8 from "../../services/claimant-context/claimant-context.service";
16
- import * as i9 from "@angular/common";
17
- import * as i10 from "@angular/router";
18
- import * as i11 from "primeng/divider";
19
- import * as i12 from "primeng/steps";
20
- import * as i13 from "../questionnaire/form-builder/form-builder.page";
21
- import * as i14 from "../questionnaire/multi-questionnaire/multi-questionnaire.component";
22
- import * as i15 from "../weekly-work-performed-popup/weekly-work-performed-popup.component";
23
- import * as i16 from "../weekly-work-search-question-v2/work-search-question.component-v2";
24
- import * as i17 from "../weekly-acknowledgement-ms/acknowledgement-ms.component";
25
- import * as i18 from "../weekly-acknowledgement-v2/acknowledgement.component-v2";
26
- import * as i19 from "../weekly-confirmation/confirmation.component";
27
- import * as i20 from "../weekly-interim-confirmation/interim-confirmation.component";
28
- import * as i21 from "@ngx-translate/core";
29
- const _c0 = ["weeklyQuestions"];
30
- function WeeklyCertificationComponent_app_dashboard_help_0_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelement(0, "app-dashboard-help", 4);
32
- } if (rf & 2) {
33
- i0.ɵɵproperty("activeIndex", 4);
34
- } }
35
- function WeeklyCertificationComponent_div_1_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵelementStart(0, "div", 5);
37
- i0.ɵɵelement(1, "ion-spinner", 6);
38
- i0.ɵɵelementEnd();
39
- } }
40
- function WeeklyCertificationComponent_div_2_Template(rf, ctx) { if (rf & 1) {
41
- i0.ɵɵelementStart(0, "div", 7);
42
- i0.ɵɵelement(1, "ion-icon", 8)(2, "div", 9);
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- const ctx_r2 = i0.ɵɵnextContext();
46
- i0.ɵɵadvance(2);
47
- i0.ɵɵproperty("innerHTML", ctx_r2.sanitizer.bypassSecurityTrustHtml(ctx_r2.errorMsg), i0.ɵɵsanitizeHtml);
48
- } }
49
- function WeeklyCertificationComponent_div_3_ion_col_3_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelementStart(0, "ion-col", 14)(1, "h1", 15);
51
- i0.ɵɵtext(2);
52
- i0.ɵɵpipe(3, "translate");
53
- i0.ɵɵelementEnd()();
54
- } if (rf & 2) {
55
- const ctx_r4 = i0.ɵɵnextContext(2);
56
- i0.ɵɵadvance(2);
57
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 1, "weeklies.v2.task.heading", ctx_r4.dynamicParam));
58
- } }
59
- function WeeklyCertificationComponent_div_3_ion_col_4_Template(rf, ctx) { if (rf & 1) {
60
- i0.ɵɵelementStart(0, "ion-col", 14)(1, "h1", 15);
61
- i0.ɵɵtext(2);
62
- i0.ɵɵpipe(3, "translate");
63
- i0.ɵɵelementEnd()();
64
- } if (rf & 2) {
65
- const ctx_r5 = i0.ɵɵnextContext(2);
66
- i0.ɵɵadvance(2);
67
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 1, "weeklies.v2.task.multiple.weeks.heading", ctx_r5.dynamicParam));
68
- } }
69
- function WeeklyCertificationComponent_div_3_ion_col_5_Template(rf, ctx) { if (rf & 1) {
70
- i0.ɵɵelementStart(0, "ion-col", 14)(1, "h1", 15);
71
- i0.ɵɵtext(2);
72
- i0.ɵɵpipe(3, "translate");
73
- i0.ɵɵelementEnd()();
74
- } if (rf & 2) {
75
- const ctx_r6 = i0.ɵɵnextContext(2);
76
- i0.ɵɵadvance(2);
77
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 1, "weeklies.v2.task.multiple.weeks.heading.continued", ctx_r6.dynamicParam));
78
- } }
79
- function WeeklyCertificationComponent_div_3_section_6_app_work_search_question_v2_4_Template(rf, ctx) { if (rf & 1) {
80
- const _r18 = i0.ɵɵgetCurrentView();
81
- i0.ɵɵelementStart(0, "app-work-search-question-v2", 21);
82
- i0.ɵɵlistener("success", function WeeklyCertificationComponent_div_3_section_6_app_work_search_question_v2_4_Template_app_work_search_question_v2_success_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r17.goToWeeklyCert()); })("hasHiredStatus", function WeeklyCertificationComponent_div_3_section_6_app_work_search_question_v2_4_Template_app_work_search_question_v2_hasHiredStatus_0_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r19 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r19.hasHiredStatus($event)); })("hasWorkedFullTimeOrStartedWorkingStatus", function WeeklyCertificationComponent_div_3_section_6_app_work_search_question_v2_4_Template_app_work_search_question_v2_hasWorkedFullTimeOrStartedWorkingStatus_0_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r20 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r20.hasWorkedFullTimeOrStartedWorkingStatus($event)); });
83
- i0.ɵɵelementEnd();
84
- } if (rf & 2) {
85
- i0.ɵɵproperty("showCounter", true);
86
- } }
87
- function WeeklyCertificationComponent_div_3_section_6_Template(rf, ctx) { if (rf & 1) {
88
- const _r22 = i0.ɵɵgetCurrentView();
89
- i0.ɵɵelementStart(0, "section")(1, "ion-grid")(2, "ion-row")(3, "ion-col", 16);
90
- i0.ɵɵtemplate(4, WeeklyCertificationComponent_div_3_section_6_app_work_search_question_v2_4_Template, 1, 1, "app-work-search-question-v2", 17);
91
- i0.ɵɵelementEnd();
92
- i0.ɵɵelementStart(5, "ion-col", 18)(6, "app-form-builder", 19, 20);
93
- i0.ɵɵlistener("onError", function WeeklyCertificationComponent_div_3_section_6_Template_app_form_builder_onError_6_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.handleError($event)); })("onComplete", function WeeklyCertificationComponent_div_3_section_6_Template_app_form_builder_onComplete_6_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.success($event)); })("onLoadComplete", function WeeklyCertificationComponent_div_3_section_6_Template_app_form_builder_onLoadComplete_6_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.loadComplete($event)); });
94
- i0.ɵɵelementEnd()()()()();
95
- } if (rf & 2) {
96
- const ctx_r7 = i0.ɵɵnextContext(2);
97
- i0.ɵɵadvance(4);
98
- i0.ɵɵproperty("ngIf", !ctx_r7.isLoading && !ctx_r7.errorMsg);
99
- i0.ɵɵadvance(2);
100
- i0.ɵɵproperty("flowKey", "weekly-cert")("autoSave", false)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0)("dynamicParam", ctx_r7.dynamicParam)("data", ctx_r7.dataToLoad)("multiMode", true)("readOnlyFields", ctx_r7.readOnlyFields);
101
- } }
102
- function WeeklyCertificationComponent_div_3_section_7_section_4_Template(rf, ctx) { if (rf & 1) {
103
- i0.ɵɵelementStart(0, "section")(1, "h1", 29)(2, "b");
104
- i0.ɵɵtext(3);
105
- i0.ɵɵelementEnd()()();
106
- } if (rf & 2) {
107
- const ctx_r25 = i0.ɵɵnextContext(3);
108
- i0.ɵɵadvance(3);
109
- i0.ɵɵtextInterpolate1(" ", ctx_r25.contents[ctx_r25.activeIndex], " ");
110
- } }
111
- function WeeklyCertificationComponent_div_3_section_7_section_5_Template(rf, ctx) { if (rf & 1) {
112
- i0.ɵɵelementStart(0, "section")(1, "h1", 30)(2, "b");
113
- i0.ɵɵtext(3);
114
- i0.ɵɵelementEnd()()();
115
- } if (rf & 2) {
116
- const ctx_r26 = i0.ɵɵnextContext(3);
117
- i0.ɵɵadvance(3);
118
- i0.ɵɵtextInterpolate1(" ", ctx_r26.contents[ctx_r26.activeIndex], " ");
119
- } }
120
- function WeeklyCertificationComponent_div_3_section_7_ion_grid_14_app_work_search_question_v2_3_Template(rf, ctx) { if (rf & 1) {
121
- const _r32 = i0.ɵɵgetCurrentView();
122
- i0.ɵɵelementStart(0, "app-work-search-question-v2", 33);
123
- i0.ɵɵlistener("success", function WeeklyCertificationComponent_div_3_section_7_ion_grid_14_app_work_search_question_v2_3_Template_app_work_search_question_v2_success_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r31.goToWeeklyCert()); })("hasHiredStatus", function WeeklyCertificationComponent_div_3_section_7_ion_grid_14_app_work_search_question_v2_3_Template_app_work_search_question_v2_hasHiredStatus_0_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r33.hasHiredStatus($event)); });
124
- i0.ɵɵelementEnd();
125
- } if (rf & 2) {
126
- i0.ɵɵproperty("showCounter", true);
127
- } }
128
- function WeeklyCertificationComponent_div_3_section_7_ion_grid_14_Template(rf, ctx) { if (rf & 1) {
129
- i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 31);
130
- i0.ɵɵtemplate(3, WeeklyCertificationComponent_div_3_section_7_ion_grid_14_app_work_search_question_v2_3_Template, 1, 1, "app-work-search-question-v2", 32);
131
- i0.ɵɵelementEnd()()();
132
- } if (rf & 2) {
133
- const ctx_r27 = i0.ɵɵnextContext(3);
134
- i0.ɵɵadvance(3);
135
- i0.ɵɵproperty("ngIf", !ctx_r27.isLoading && !ctx_r27.errorMsg);
136
- } }
137
- function WeeklyCertificationComponent_div_3_section_7_ion_grid_15_ion_row_5_Template(rf, ctx) { if (rf & 1) {
138
- i0.ɵɵelementStart(0, "ion-row");
139
- i0.ɵɵelement(1, "app-weekly-work-performed-popup", 35);
140
- i0.ɵɵelementEnd();
141
- } if (rf & 2) {
142
- i0.ɵɵadvance(1);
143
- i0.ɵɵproperty("showWeeklyWorkPerformedPopup", true);
144
- } }
145
- function WeeklyCertificationComponent_div_3_section_7_ion_grid_15_Template(rf, ctx) { if (rf & 1) {
146
- const _r37 = i0.ɵɵgetCurrentView();
147
- i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 34)(3, "app-form-builder", 19, 20);
148
- i0.ɵɵlistener("onError", function WeeklyCertificationComponent_div_3_section_7_ion_grid_15_Template_app_form_builder_onError_3_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r36.handleError($event)); })("onComplete", function WeeklyCertificationComponent_div_3_section_7_ion_grid_15_Template_app_form_builder_onComplete_3_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r38 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r38.success($event)); })("onLoadComplete", function WeeklyCertificationComponent_div_3_section_7_ion_grid_15_Template_app_form_builder_onLoadComplete_3_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r39 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r39.loadComplete($event)); });
149
- i0.ɵɵelementEnd()()();
150
- i0.ɵɵtemplate(5, WeeklyCertificationComponent_div_3_section_7_ion_grid_15_ion_row_5_Template, 2, 1, "ion-row", 3);
151
- i0.ɵɵelementEnd();
152
- } if (rf & 2) {
153
- const ctx_r28 = i0.ɵɵnextContext(3);
154
- i0.ɵɵadvance(3);
155
- i0.ɵɵproperty("flowKey", "weekly-cert")("autoSave", true)("showOnlyQuestion", true)("hideHeader", true)("hideFooter", true)("sizeXs", 12)("sizeSm", 12)("sizeMd", 12)("sizeLg", 12)("sizeXl", 12)("offsetXl", 0)("offsetLg", 0)("dynamicParam", ctx_r28.dynamicParam)("data", ctx_r28.dataToLoad)("multiMode", true)("readOnlyFields", ctx_r28.readOnlyFields);
156
- i0.ɵɵadvance(2);
157
- i0.ɵɵproperty("ngIf", ctx_r28.weeklyWorkPerformedPopupFlag);
158
- } }
159
- function WeeklyCertificationComponent_div_3_section_7_ion_grid_16_app_acknowledgement_ms_3_Template(rf, ctx) { if (rf & 1) {
160
- const _r42 = i0.ɵɵgetCurrentView();
161
- i0.ɵɵelementStart(0, "app-acknowledgement-ms", 38);
162
- i0.ɵɵlistener("success", function WeeklyCertificationComponent_div_3_section_7_ion_grid_16_app_acknowledgement_ms_3_Template_app_acknowledgement_ms_success_0_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r41.fileWeeklyCertDone($event)); })("onClose", function WeeklyCertificationComponent_div_3_section_7_ion_grid_16_app_acknowledgement_ms_3_Template_app_acknowledgement_ms_onClose_0_listener() { i0.ɵɵrestoreView(_r42); const ctx_r43 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r43.closeAck()); });
163
- i0.ɵɵelementEnd();
164
- } }
165
- function WeeklyCertificationComponent_div_3_section_7_ion_grid_16_Template(rf, ctx) { if (rf & 1) {
166
- i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 36);
167
- i0.ɵɵtemplate(3, WeeklyCertificationComponent_div_3_section_7_ion_grid_16_app_acknowledgement_ms_3_Template, 1, 0, "app-acknowledgement-ms", 37);
168
- i0.ɵɵelementEnd()()();
169
- } if (rf & 2) {
170
- const ctx_r29 = i0.ɵɵnextContext(3);
171
- i0.ɵɵadvance(3);
172
- i0.ɵɵproperty("ngIf", ctx_r29.showAck);
173
- } }
174
- const _c1 = () => ({ "--step-width": "50px", "--step-height": "50px" });
175
- function WeeklyCertificationComponent_div_3_section_7_Template(rf, ctx) { if (rf & 1) {
176
- i0.ɵɵelementStart(0, "section")(1, "ion-row")(2, "ion-col", 22)(3, "div", 23);
177
- i0.ɵɵtemplate(4, WeeklyCertificationComponent_div_3_section_7_section_4_Template, 4, 1, "section", 3)(5, WeeklyCertificationComponent_div_3_section_7_section_5_Template, 4, 1, "section", 3);
178
- i0.ɵɵelementEnd()();
179
- i0.ɵɵelement(6, "ion-col", 24);
180
- i0.ɵɵelementStart(7, "ion-col", 25)(8, "div", 23);
181
- i0.ɵɵelement(9, "p-steps", 26);
182
- i0.ɵɵelementEnd()();
183
- i0.ɵɵelement(10, "ion-col", 27);
184
- i0.ɵɵelementEnd();
185
- i0.ɵɵelementStart(11, "ion-row")(12, "ion-col", 28);
186
- i0.ɵɵelement(13, "p-divider");
187
- i0.ɵɵelementEnd()();
188
- i0.ɵɵtemplate(14, WeeklyCertificationComponent_div_3_section_7_ion_grid_14_Template, 4, 1, "ion-grid", 3)(15, WeeklyCertificationComponent_div_3_section_7_ion_grid_15_Template, 6, 17, "ion-grid", 3)(16, WeeklyCertificationComponent_div_3_section_7_ion_grid_16_Template, 4, 1, "ion-grid", 3);
189
- i0.ɵɵelementEnd();
190
- } if (rf & 2) {
191
- const ctx_r8 = i0.ɵɵnextContext(2);
192
- i0.ɵɵadvance(4);
193
- i0.ɵɵproperty("ngIf", ctx_r8.activeIndex == 0 || ctx_r8.activeIndex == 1);
194
- i0.ɵɵadvance(1);
195
- i0.ɵɵproperty("ngIf", ctx_r8.activeIndex == 2);
196
- i0.ɵɵadvance(4);
197
- i0.ɵɵproperty("model", ctx_r8.items)("activeIndex", ctx_r8.activeIndex)("styleClass", "completed-" + ctx_r8.activeIndex)("ngStyle", i0.ɵɵpureFunction0(9, _c1));
198
- i0.ɵɵadvance(5);
199
- i0.ɵɵproperty("ngIf", ctx_r8.activeIndex == 0);
200
- i0.ɵɵadvance(1);
201
- i0.ɵɵproperty("ngIf", ctx_r8.activeIndex == 1);
202
- i0.ɵɵadvance(1);
203
- i0.ɵɵproperty("ngIf", ctx_r8.activeIndex == 2);
204
- } }
205
- function WeeklyCertificationComponent_div_3_app_multi_questionnaire_8_Template(rf, ctx) { if (rf & 1) {
206
- const _r45 = i0.ɵɵgetCurrentView();
207
- i0.ɵɵelementStart(0, "app-multi-questionnaire", 39);
208
- i0.ɵɵlistener("onComplete", function WeeklyCertificationComponent_div_3_app_multi_questionnaire_8_Template_app_multi_questionnaire_onComplete_0_listener($event) { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r44.openSummaryPostQuestionnaires($event)); })("modelCancel", function WeeklyCertificationComponent_div_3_app_multi_questionnaire_8_Template_app_multi_questionnaire_modelCancel_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r46 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r46.onQeClose()); });
209
- i0.ɵɵpipe(1, "translate");
210
- i0.ɵɵelementEnd();
211
- } if (rf & 2) {
212
- const ctx_r9 = i0.ɵɵnextContext(2);
213
- i0.ɵɵproperty("qeQueryModels", ctx_r9.qeQueryModels)("header", i0.ɵɵpipeBind1(1, 3, "Follow-up Questions"))("showQuestionNumber", true);
214
- } }
215
- function WeeklyCertificationComponent_div_3_div_9_app_acknowledgement_v2_1_Template(rf, ctx) { if (rf & 1) {
216
- const _r49 = i0.ɵɵgetCurrentView();
217
- i0.ɵɵelementStart(0, "app-acknowledgement-v2", 38);
218
- i0.ɵɵlistener("success", function WeeklyCertificationComponent_div_3_div_9_app_acknowledgement_v2_1_Template_app_acknowledgement_v2_success_0_listener($event) { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r48.fileWeeklyCertDone($event)); })("onClose", function WeeklyCertificationComponent_div_3_div_9_app_acknowledgement_v2_1_Template_app_acknowledgement_v2_onClose_0_listener() { i0.ɵɵrestoreView(_r49); const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.closeAck()); });
219
- i0.ɵɵelementEnd();
220
- } }
221
- function WeeklyCertificationComponent_div_3_div_9_Template(rf, ctx) { if (rf & 1) {
222
- i0.ɵɵelementStart(0, "div");
223
- i0.ɵɵtemplate(1, WeeklyCertificationComponent_div_3_div_9_app_acknowledgement_v2_1_Template, 1, 0, "app-acknowledgement-v2", 37);
224
- i0.ɵɵelementEnd();
225
- } if (rf & 2) {
226
- const ctx_r10 = i0.ɵɵnextContext(2);
227
- i0.ɵɵadvance(1);
228
- i0.ɵɵproperty("ngIf", ctx_r10.showAck);
229
- } }
230
- function WeeklyCertificationComponent_div_3_app_confirmation_10_Template(rf, ctx) { if (rf & 1) {
231
- const _r52 = i0.ɵɵgetCurrentView();
232
- i0.ɵɵelementStart(0, "app-confirmation", 40);
233
- i0.ɵɵlistener("onClose", function WeeklyCertificationComponent_div_3_app_confirmation_10_Template_app_confirmation_onClose_0_listener() { i0.ɵɵrestoreView(_r52); const ctx_r51 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r51.closeConfirmationPopup()); });
234
- i0.ɵɵelementEnd();
235
- } if (rf & 2) {
236
- const ctx_r11 = i0.ɵɵnextContext(2);
237
- i0.ɵɵproperty("data", ctx_r11.confirmationData)("dynamicParam", ctx_r11.dynamicParam);
238
- } }
239
- function WeeklyCertificationComponent_div_3_app_interim_confirmation_11_Template(rf, ctx) { if (rf & 1) {
240
- const _r54 = i0.ɵɵgetCurrentView();
241
- i0.ɵɵelementStart(0, "app-interim-confirmation", 41);
242
- i0.ɵɵlistener("onClose", function WeeklyCertificationComponent_div_3_app_interim_confirmation_11_Template_app_interim_confirmation_onClose_0_listener() { i0.ɵɵrestoreView(_r54); const ctx_r53 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r53.closeConfirmationPopup()); })("onNext", function WeeklyCertificationComponent_div_3_app_interim_confirmation_11_Template_app_interim_confirmation_onNext_0_listener($event) { i0.ɵɵrestoreView(_r54); const ctx_r55 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r55.navigateToWeeklies($event)); });
243
- i0.ɵɵelementEnd();
244
- } if (rf & 2) {
245
- const ctx_r12 = i0.ɵɵnextContext(2);
246
- i0.ɵɵproperty("data", ctx_r12.confirmationData)("dynamicParam", ctx_r12.dynamicParam);
247
- } }
248
- function WeeklyCertificationComponent_div_3_ion_footer_12_Template(rf, ctx) { if (rf & 1) {
249
- const _r57 = i0.ɵɵgetCurrentView();
250
- i0.ɵɵelementStart(0, "ion-footer")(1, "ion-row", 42)(2, "ion-col", 43)(3, "ion-button", 44);
251
- i0.ɵɵlistener("click", function WeeklyCertificationComponent_div_3_ion_footer_12_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r56.goHome()); });
252
- i0.ɵɵtext(4, "Close ");
253
- i0.ɵɵelementEnd()();
254
- i0.ɵɵelementStart(5, "ion-col", 45)(6, "ion-button", 46);
255
- i0.ɵɵlistener("click", function WeeklyCertificationComponent_div_3_ion_footer_12_Template_ion_button_click_6_listener() { i0.ɵɵrestoreView(_r57); const ctx_r58 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r58.openNextPage()); });
256
- i0.ɵɵtext(7, "Submit ");
257
- i0.ɵɵelementEnd()()()();
258
- } }
259
- function WeeklyCertificationComponent_div_3_section_13_ion_button_4_Template(rf, ctx) { if (rf & 1) {
260
- const _r64 = i0.ɵɵgetCurrentView();
261
- i0.ɵɵelementStart(0, "ion-button", 54);
262
- i0.ɵɵlistener("click", function WeeklyCertificationComponent_div_3_section_13_ion_button_4_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r63.goHome()); });
263
- i0.ɵɵtext(1, "Close ");
264
- i0.ɵɵelementEnd();
265
- } }
266
- function WeeklyCertificationComponent_div_3_section_13_ion_button_5_Template(rf, ctx) { if (rf & 1) {
267
- const _r66 = i0.ɵɵgetCurrentView();
268
- i0.ɵɵelementStart(0, "ion-button", 55);
269
- i0.ɵɵlistener("click", function WeeklyCertificationComponent_div_3_section_13_ion_button_5_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r66); const ctx_r65 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r65.activeIndex = ctx_r65.activeIndex - 1); });
270
- i0.ɵɵtext(1, " Back");
271
- i0.ɵɵelementEnd();
272
- } }
273
- function WeeklyCertificationComponent_div_3_section_13_ion_button_7_Template(rf, ctx) { if (rf & 1) {
274
- const _r68 = i0.ɵɵgetCurrentView();
275
- i0.ɵɵelementStart(0, "ion-button", 56);
276
- i0.ɵɵlistener("click", function WeeklyCertificationComponent_div_3_section_13_ion_button_7_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r68); const ctx_r67 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r67.openNextPage()); });
277
- i0.ɵɵtext(1, "Next ");
278
- i0.ɵɵelementEnd();
279
- } }
280
- function WeeklyCertificationComponent_div_3_section_13_ion_button_8_Template(rf, ctx) { if (rf & 1) {
281
- const _r70 = i0.ɵɵgetCurrentView();
282
- i0.ɵɵelementStart(0, "ion-button", 57);
283
- i0.ɵɵlistener("click", function WeeklyCertificationComponent_div_3_section_13_ion_button_8_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r70); const ctx_r69 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r69.showAcknowledgement()); });
284
- i0.ɵɵtext(1, " Submit");
285
- i0.ɵɵelementEnd();
286
- } }
287
- function WeeklyCertificationComponent_div_3_section_13_Template(rf, ctx) { if (rf & 1) {
288
- i0.ɵɵelementStart(0, "section")(1, "ion-row", 47);
289
- i0.ɵɵelement(2, "ion-col", 27);
290
- i0.ɵɵelementStart(3, "ion-col", 48);
291
- i0.ɵɵtemplate(4, WeeklyCertificationComponent_div_3_section_13_ion_button_4_Template, 2, 0, "ion-button", 49)(5, WeeklyCertificationComponent_div_3_section_13_ion_button_5_Template, 2, 0, "ion-button", 50);
292
- i0.ɵɵelementEnd();
293
- i0.ɵɵelementStart(6, "ion-col", 51);
294
- i0.ɵɵtemplate(7, WeeklyCertificationComponent_div_3_section_13_ion_button_7_Template, 2, 0, "ion-button", 52)(8, WeeklyCertificationComponent_div_3_section_13_ion_button_8_Template, 2, 0, "ion-button", 53);
295
- i0.ɵɵelementEnd();
296
- i0.ɵɵelement(9, "ion-col", 27);
297
- i0.ɵɵelementEnd()();
298
- } if (rf & 2) {
299
- const ctx_r14 = i0.ɵɵnextContext(2);
300
- i0.ɵɵadvance(4);
301
- i0.ɵɵproperty("ngIf", ctx_r14.activeIndex == 0);
302
- i0.ɵɵadvance(1);
303
- i0.ɵɵproperty("ngIf", ctx_r14.activeIndex != 0);
304
- i0.ɵɵadvance(2);
305
- i0.ɵɵproperty("ngIf", ctx_r14.activeIndex != 2);
306
- i0.ɵɵadvance(1);
307
- i0.ɵɵproperty("ngIf", ctx_r14.activeIndex == 2);
308
- } }
309
- function WeeklyCertificationComponent_div_3_Template(rf, ctx) { if (rf & 1) {
310
- i0.ɵɵelementStart(0, "div")(1, "ion-grid")(2, "ion-row");
311
- i0.ɵɵtemplate(3, WeeklyCertificationComponent_div_3_ion_col_3_Template, 4, 4, "ion-col", 10)(4, WeeklyCertificationComponent_div_3_ion_col_4_Template, 4, 4, "ion-col", 10)(5, WeeklyCertificationComponent_div_3_ion_col_5_Template, 4, 4, "ion-col", 10);
312
- i0.ɵɵelementEnd()();
313
- i0.ɵɵtemplate(6, WeeklyCertificationComponent_div_3_section_6_Template, 8, 17, "section", 3)(7, WeeklyCertificationComponent_div_3_section_7_Template, 17, 10, "section", 3)(8, WeeklyCertificationComponent_div_3_app_multi_questionnaire_8_Template, 2, 5, "app-multi-questionnaire", 11)(9, WeeklyCertificationComponent_div_3_div_9_Template, 2, 1, "div", 3)(10, WeeklyCertificationComponent_div_3_app_confirmation_10_Template, 1, 2, "app-confirmation", 12)(11, WeeklyCertificationComponent_div_3_app_interim_confirmation_11_Template, 1, 2, "app-interim-confirmation", 13)(12, WeeklyCertificationComponent_div_3_ion_footer_12_Template, 8, 0, "ion-footer", 3)(13, WeeklyCertificationComponent_div_3_section_13_Template, 10, 4, "section", 3);
314
- i0.ɵɵelementEnd();
315
- } if (rf & 2) {
316
- const ctx_r3 = i0.ɵɵnextContext();
317
- i0.ɵɵadvance(3);
318
- i0.ɵɵproperty("ngIf", !ctx_r3.isMS() || ctx_r3.isMS() && !ctx_r3.multipleWeeksDue && !ctx_r3.displayContinuedWeeksFiledHeading);
319
- i0.ɵɵadvance(1);
320
- i0.ɵɵproperty("ngIf", ctx_r3.isMS() && ctx_r3.multipleWeeksDue && !ctx_r3.displayContinuedWeeksFiledHeading);
321
- i0.ɵɵadvance(1);
322
- i0.ɵɵproperty("ngIf", ctx_r3.isMS() && ctx_r3.multipleWeeksDue && ctx_r3.displayContinuedWeeksFiledHeading);
323
- i0.ɵɵadvance(1);
324
- i0.ɵɵproperty("ngIf", !ctx_r3.isMS());
325
- i0.ɵɵadvance(1);
326
- i0.ɵɵproperty("ngIf", ctx_r3.isMS());
327
- i0.ɵɵadvance(1);
328
- i0.ɵɵproperty("ngIf", ctx_r3.isOpenQe);
329
- i0.ɵɵadvance(1);
330
- i0.ɵɵproperty("ngIf", !ctx_r3.isMS());
331
- i0.ɵɵadvance(1);
332
- i0.ɵɵproperty("ngIf", ctx_r3.showConfirmation);
333
- i0.ɵɵadvance(1);
334
- i0.ɵɵproperty("ngIf", ctx_r3.showInterimConfirmation);
335
- i0.ɵɵadvance(1);
336
- i0.ɵɵproperty("ngIf", !ctx_r3.isMS());
337
- i0.ɵɵadvance(1);
338
- i0.ɵɵproperty("ngIf", ctx_r3.isMS());
339
- } }
340
- export class WeeklyCertificationComponent extends BasePage {
341
- constructor(wcService, fb, util, nav, sanitizer, hs, ls, contextService, datepipe, router) {
342
- super();
343
- this.wcService = wcService;
344
- this.fb = fb;
345
- this.util = util;
346
- this.nav = nav;
347
- this.sanitizer = sanitizer;
348
- this.hs = hs;
349
- this.ls = ls;
350
- this.contextService = contextService;
351
- this.datepipe = datepipe;
352
- this.router = router;
353
- this.showAck = false;
354
- this.showConfirmation = false;
355
- this.activeIndex = 0;
356
- this.isLoading = false;
357
- this.isOpenQe = false;
358
- this.readOnlyFields = null;
359
- this.waiverReason = null;
360
- this.multipleWeeksDue = false;
361
- this.showInterimConfirmation = false;
362
- this.displayContinuedWeeksFiledHeading = false;
363
- this.weeklyWorkPerformedPopupFlag = false;
364
- this.count = 0;
365
- this.reemWorkSearchRecordCount = 0;
366
- }
367
- ngOnInit() {
368
- this.wcService.resetWeeklyCertData();
369
- this.isLoading = true;
370
- this.wcService.checkWeeklyEligibility()
371
- .subscribe(res => {
372
- this.processWeeklyCertEligibiltySuccess(res);
373
- }, err => {
374
- this.processWeeklyCertEligibilityError(err);
375
- });
376
- }
377
- onStepChange(index) {
378
- this.activeIndex = index;
379
- }
380
- processWeeklyCertEligibiltySuccess(res) {
381
- this.wcService.weeklyCertServerData = res;
382
- this.errorMsg = null;
383
- this.getLabelMaxRTWDate();
384
- this.dynamicParam = {
385
- 'saturday_date': this.wcService.getSaturdayDateAsString(),
386
- 'sunday_date': this.wcService.getSundayDateAsString(),
387
- 'min_rtw_date': this.wcService.weeklyCertServerData.minAllowedRtwDate,
388
- 'max_rtw_date': this.wcService.weeklyCertServerData.maxAllowedRtwDate,
389
- 'pension_employers': this.wcService.weeklyCertServerData.pensionEmployers,
390
- 'duaDeclaration': this.wcService.weeklyCertServerData.duaDeclaration,
391
- 'claimWeekEndDate': this.wcService.weeklyCertServerData.claimWeekEndDate,
392
- 'claimantId': this.wcService.weeklyCertServerData.claimantId,
393
- 'label_maxRtwDate': this.parsedMaxRTWDate,
394
- };
395
- // if the user is navigating to weeklies from interim confirmation to continue filing data will be stored
396
- try {
397
- const storedData = localStorage?.getItem('interimConfirmationData');
398
- if (storedData) {
399
- const decoded = decodeURIComponent(atob(storedData));
400
- this.receivedData = JSON.parse(decoded);
401
- if (this.dynamicParam.claimantId !== this.receivedData.claimantId) {
402
- this.receivedData = null;
403
- }
404
- }
405
- }
406
- catch (err) {
407
- console.error('LS parsing failed:', err);
408
- this.receivedData = null;
409
- }
410
- // checking data for flag to continue to file for multiple weeks
411
- if (this.receivedData && (this.dynamicParam.claimantId == this.receivedData.claimantId) &&
412
- this.receivedData.continueToFileForMultipleWeeks == true) {
413
- this.multipleWeeksDue = true;
414
- this.displayContinuedWeeksFiledHeading = true;
415
- this.dynamicParam.nextCertificationToFileCount = this.receivedData.currentNumberFiling;
416
- this.dynamicParam.totalToCertify = this.receivedData.total;
417
- // this.numberOfMultipleWeeksDue = this.receivedData.count;
418
- console.error("E S");
419
- // if more weeks are due set the next sunday and saturday days
420
- if (this.wcService.weeklyCertServerData.weeksToBeCertified.length > 1) {
421
- this.dynamicParam.next_saturday = this.wcService.weeklyCertServerData.weeksToBeCertified[1];
422
- this.dynamicParam.next_sunday = this.getPreviousSunday(this.wcService.weeklyCertServerData.weeksToBeCertified[1]);
423
- this.dynamicParam.numberOfMultipleWeeksDue = this.receivedData.total;
424
- }
425
- }
426
- // if claimant filing and has multiple certifications due
427
- // will go through interim process until final latest week filed
428
- else if (this.wcService.weeklyCertServerData.weeksToBeCertified.length > 1) {
429
- this.numberOfMultipleWeeksDue = this.wcService.weeklyCertServerData.weeksToBeCertified.length;
430
- this.multipleWeeksDue = true;
431
- this.dynamicParam.numberOfMultipleWeeksDue = this.wcService.weeklyCertServerData.weeksToBeCertified.length;
432
- this.dynamicParam.next_saturday = this.wcService.weeklyCertServerData.weeksToBeCertified[1];
433
- this.dynamicParam.next_sunday = this.getPreviousSunday(this.wcService.weeklyCertServerData.weeksToBeCertified[1]);
434
- }
435
- if (LibConstants.legacyMenu == 'false') {
436
- //this.hs.showDialogIfPreferenceAllow(HelpConstants.WEEKLY_HELP);
437
- }
438
- this.handleHiddenFields(res);
439
- this.initializeDataForWorkSearchForm();
440
- if (this.isMS()) {
441
- this.items = [
442
- { label: '', command: () => { this.onStepChange(0); } },
443
- { label: '', command: () => { this.onStepChange(1); } },
444
- { label: '', command: () => { this.onStepChange(2); } }
445
- ];
446
- }
447
- this.contents = [' Work Search Activities', ' Weekly Questions', ' Acknowledge & Certify'];
448
- }
449
- getLabelMaxRTWDate() {
450
- this.parsedMaxRTWDate = new Date(this.wcService.weeklyCertServerData.maxAllowedRtwDate);
451
- const parts = this.wcService.weeklyCertServerData.maxAllowedRtwDate.split('-');
452
- let parsedDate = new Date(+parts[2], +parts[0] - 1, +parts[1]);
453
- parsedDate.setDate(parsedDate.getDate() + 1);
454
- this.parsedMaxRTWDate = this.datepipe.transform(parsedDate, 'MM/dd/yyyy');
455
- }
456
- processWeeklyCertEligibilityError(err) {
457
- if (err.msg != null && err.msg[0] == 'No Weeks are pending to be filed.') {
458
- this.util.getState() === 'CT' ? this.nav.navigateRoot("weekly-not-eligible") : this.nav.navigateRoot("work-search-journal");
459
- }
460
- else {
461
- this.errorMsg = err.msg;
462
- }
463
- this.wcService.weeklyCertServerData = null;
464
- this.isLoading = false;
465
- }
466
- initializeDataForWorkSearchForm() {
467
- this.workSearchWaived = this.wcService.weeklyCertServerData.isWorkSearchWaived;
468
- this.waiverReason = this.wcService.weeklyCertServerData.waiverReason;
469
- //REEM ACTIVITY TYPE COUNT ASSIGNMENT
470
- this.reemWorkSearchRecordCount = Number(this.wcService.weeklyCertServerData?.hidReemWorkSearchRecordCount ?? 0);
471
- this.wcService.weeklyCertServerData.hidReemWorkSearchRecordCount = this.reemWorkSearchRecordCount;
472
- //
473
- this.wcService.getClaimantWorkSearchJournalRecords(this.wcService.getSaturdayDateAsString()).subscribe(res => {
474
- console.error("WSR");
475
- this.wcService.workSearchJournal = res;
476
- this.wcService.weeklyCertData.workSearchRecords = res.workSearchRecords;
477
- if (this.isME() && this.wcService.weeklyCertData.workSearchRecords) {
478
- const hasStartedWorking = (this.wcService.weeklyCertData.workSearchRecords ?? []).some(rec => rec?.searchResult === 'STWK');
479
- if (hasStartedWorking) {
480
- this.hasWorkedFullTimeOrStartedWorkingStatus(true);
481
- }
482
- }
483
- this.isLoading = false;
484
- }, err => {
485
- this.wcService.workSearchJournal = null;
486
- });
487
- if (this.isMS()) {
488
- this.activeIndex = 0;
489
- }
490
- }
491
- openNextPage() {
492
- console.error("ONP");
493
- if (this.workSearchComponent) {
494
- if (this.wcService.getDisplayWorkSearchScreen()) {
495
- this.workSearchComponent.submitForm();
496
- }
497
- else {
498
- this.goToWeeklyCert();
499
- }
500
- }
501
- else if (this.workSearchWaived) {
502
- this.goToWeeklyCert();
503
- }
504
- else {
505
- this.goToWeeklyCert();
506
- }
507
- }
508
- goToWeeklyCert() {
509
- console.error("GTW");
510
- if (this.isMS()) {
511
- if (this.activeIndex == 0) {
512
- this.activeIndex = 1;
513
- }
514
- else {
515
- if (this.weeklyQuestions) {
516
- this.count = this.count + 1;
517
- if (this.count > 1 && this.ls.isCsr()) {
518
- this.weeklyQuestions.questionnaire.questionnaire.questionnaireForm.form.controls['hidCsrFirstPass'].setValue('Y');
519
- }
520
- this.weeklyQuestions.submitQuestionnaire();
521
- }
522
- }
523
- }
524
- else {
525
- if (this.weeklyQuestions) {
526
- this.weeklyQuestions.submitQuestionnaire();
527
- }
528
- }
529
- }
530
- success(weeklyQuestionsResponse) {
531
- const formData = JSON.parse(weeklyQuestionsResponse.screenQuestionnaireData[0]);
532
- formData.workSearchRecords = this.wcService.getWorkSearchRecords();
533
- formData.workSearchData = this.wcService.getWorkSearchData();
534
- this.wcService.weeklyCertData = formData;
535
- this.wcService.weeklyCertData.claimWeekEndDate = this.wcService.weeklyCertServerData.weekToCertify;
536
- this.wcService.weeklyCertData.hidInApprovedTraining = this.wcService.weeklyCertServerData.hidInApprovedTraining;
537
- this.openFollowupQuestions();
538
- }
539
- openFollowupQuestions() {
540
- this.util.showLoader();
541
- this.wcService.weeklyCertData.showWorkSearchScreen = this.wcService.getDisplayWorkSearchScreen();
542
- if (this.wcService.getWorkSearchRecordsCount() > 0) {
543
- this.wcService.weeklyCertData.workSearchData.isWorkSearchPerformedFlag = '1';
544
- }
545
- else if (this.wcService.weeklyCertData.workSearchData != null) {
546
- this.wcService.weeklyCertData.workSearchData.isWorkSearchPerformedFlag = '0';
547
- }
548
- if (this.wcService.getEmployerRecordsCount() > 0) {
549
- this.wcService.weeklyCertData.workPerformed = 'Y';
550
- }
551
- else {
552
- this.wcService.weeklyCertData.workPerformed = 'N';
553
- }
554
- this.wcService.weeklyCertData.workPerformedSeapNotParttime = (this.wcService.getEmployerRecordsCount() > 0 && this.wcService.getHidIsSeapParticipant()) ? 'Y' : 'N';
555
- if (this.isMS() && this.wcService.weeklyCertServerData.hidIsSeapParticipant == 'Y') {
556
- //Done to handle new verbiage for workPerformed for Seap Participants.
557
- this.wcService.weeklyCertData.workPerformed = this.wcService.weeklyCertData.workPerformedSeapNotParttime;
558
- //Done to handle new verbiage for SEAP Participants for available question.
559
- this.wcService.weeklyCertData.available = (this.wcService.weeklyCertData.availableSeap);
560
- }
561
- this.wcService.determineQuestionniareToOpen().subscribe(res => {
562
- console.error("qes Success");
563
- this.statusModel = res.statusModel;
564
- this.qeQueryModels = res.statusModel.qeQueryModels;
565
- this.wcService.weeklyCertData.potentialIssues = res.potentialIssueIds;
566
- this.wcService.weeklyCertData.pensionDeniedPotentialIssues = res.pensionDeniedPotentialIssues;
567
- this.wcService.weeklyCertData.bonusPayPotentialIssues = res.bonusPayPotentialIssues;
568
- this.wcService.weeklyCertData.otherPayPotentialIssues = res.otherPayPotentialIssues;
569
- if (this.statusModel.showQe) {
570
- this.isOpenQe = true;
571
- if (this.wcService.weeklyCertData.employerDetailsList != null
572
- && this.wcService.weeklyCertData.employerDetailsList.length > 0
573
- && res.tempEmployerSepPotentialIssueMap != null) {
574
- this.wcService.weeklyCertData.tempEmployerSepPotentialIssueMap = res.tempEmployerSepPotentialIssueMap;
575
- }
576
- }
577
- else {
578
- this.showAcknowledgement();
579
- }
580
- this.util.hideLoader();
581
- }, err => {
582
- this.util.showError(err.msg);
583
- this.util.hideLoader();
584
- });
585
- }
586
- openSummaryPostQuestionnaires(event) {
587
- if (event && event.size > 0) {
588
- if (event.has(9001)) {
589
- let workSearchReason = event.get(9001).reasonInadequateWorkSearch;
590
- if (this.isCT()) {
591
- this.wcService.weeklyCertData.workSearchData.reasonInadequateWorkSearch = workSearchReason;
592
- }
593
- if (this.wcService.weeklyCertData.workSearchData.isWorkSearchPerformedFlag == '1'
594
- && this.wcService.checkIfInadequateWorkSearchQuestionnaireShouldBeOpened()
595
- && this.isMS()) {
596
- this.wcService.weeklyCertData.workSearchData.reasonInadequateWorkSearch = workSearchReason;
597
- }
598
- else if (this.wcService.weeklyCertData.workSearchData.isWorkSearchPerformedFlag == '0') {
599
- this.wcService.weeklyCertData.workSearchData.explainWhyDidNotLookForWork = workSearchReason;
600
- }
601
- }
602
- if (event.has(179)) {
603
- this.wcService.weeklyCertData.adminLeaveDetails = event.get(179);
604
- }
605
- if (event.has(9002)) {
606
- this.wcService.weeklyCertData.adminLeaveDetails = event.get(9002);
607
- }
608
- }
609
- this.showAcknowledgement();
610
- this.isOpenQe = false;
611
- this.util.hideLoader();
612
- }
613
- onQeClose() {
614
- this.isOpenQe = false;
615
- this.util.hideLoader();
616
- }
617
- goToSummary() {
618
- this.activeIndex = 1;
619
- }
620
- closeAck() {
621
- this.showAck = false;
622
- }
623
- fileWeeklyCertDone(event) {
624
- this.showAck = false;
625
- this.confirmationData = event;
626
- if (this.isMS() && this.multipleWeeksDue == true && this.receivedData) {
627
- // if this is the last time filing weeklies through interim confirmation flow
628
- if (this.receivedData.currentNumberFiling == this.receivedData.total && this.wcService.weeklyCertServerData.weeksToBeCertified.length == 1) {
629
- this.showInterimConfirmation = false;
630
- this.showConfirmation = true;
631
- this.multipleWeeksDue = false;
632
- try {
633
- localStorage?.removeItem('interimConfirmationData');
634
- }
635
- catch (err) {
636
- console.error("Error removing from LS", err);
637
- }
638
- }
639
- // if more weeks remain for weeklies through interim confirmation flow
640
- else if (this.receivedData.count <= this.receivedData.total && this.wcService.weeklyCertServerData.weeksToBeCertified.length > 1) {
641
- this.showInterimConfirmation = true;
642
- this.showConfirmation = false;
643
- }
644
- } // if first time filing weeklies through interim confirmation flow
645
- if (this.isMS() && this.multipleWeeksDue == true && !this.receivedData) {
646
- this.showInterimConfirmation = true;
647
- this.showConfirmation = false;
648
- }
649
- else if ((!this.isMS()) || (this.isMS() && this.multipleWeeksDue == false)) {
650
- this.showConfirmation = true;
651
- }
652
- }
653
- closeConfirmationPopup() {
654
- if (this.isMS() && this.multipleWeeksDue == true) {
655
- this.showInterimConfirmation = false;
656
- }
657
- else {
658
- this.showConfirmation = false;
659
- }
660
- this.wcService.resetWeeklyCertData();
661
- // This is added as the navigation was too quick for the confirmation to close in time, leaving confirmation open, even though the page was updated in backend
662
- setTimeout(() => this.goHome(), 100);
663
- }
664
- navigateToWeeklies(data) {
665
- if (this.isMS() && this.multipleWeeksDue == true) {
666
- this.showInterimConfirmation = false;
667
- try {
668
- localStorage?.setItem('interimConfirmationData', data);
669
- }
670
- catch (err) {
671
- console.error("Error addding from LS", err);
672
- }
673
- }
674
- this.wcService.resetWeeklyCertData();
675
- setTimeout(() => window.location.replace(window.location.href), 100);
676
- }
677
- goHome() {
678
- if (this.ls.isClaimant()) {
679
- this.router.navigateByUrl('welcome?wcDone=true');
680
- }
681
- else if (this.ls.isCsr()) {
682
- this.util.openPageByContextRootWithData(this.util.getSecurityAppContextRoot(), "search-ssn", this.contextService.getUnEncodedSsn(), this.nav);
683
- }
684
- else {
685
- this.router.navigateByUrl('/welcome');
686
- }
687
- this.util.hideLoader();
688
- }
689
- showAcknowledgement() {
690
- if (this.summaryComponent) {
691
- this.summaryComponent.submitForm();
692
- }
693
- else {
694
- if (this.isMS()) {
695
- this.activeIndex = 2;
696
- if (this.acknowledgementMsComponent) {
697
- this.acknowledgementMsComponent.submit();
698
- }
699
- }
700
- this.showAck = true;
701
- }
702
- }
703
- onQeSuccess() {
704
- this.showAck = true;
705
- }
706
- ionViewWillLeave() {
707
- this.hs.setHelpAvailability(false);
708
- }
709
- ionViewDidEnter() {
710
- this.wcService.resetWeeklyCertData();
711
- this.hs.setHelpAvailability(true);
712
- }
713
- handleError(err) {
714
- this.errorMsg = err.msg;
715
- }
716
- hasHiredStatus(status) {
717
- //TODO: Update this for return to work for hired cases
718
- if (!this.isME()) {
719
- this.readOnlyFields = status ? ['returningToWork'] : null;
720
- if (status) {
721
- this.readOnlyData = { returningToWork: "Y" };
722
- }
723
- }
724
- }
725
- hasWorkedFullTimeOrStartedWorkingStatus(status) {
726
- const form = this.weeklyQuestions?.questionnaire?.questionnaire?.questionnaireForm?.form;
727
- if (this.isME()) {
728
- if (status && form) {
729
- this.readOnlyFields = status ? ['workPerformed'] : null;
730
- this.readOnlyData = { workPerformed: "Y" };
731
- form.get('workPerformed')?.setValue('Y');
732
- }
733
- else {
734
- this.readOnlyFields = status ? ['workPerformed'] : null;
735
- this.readOnlyData = { workPerformed: null };
736
- if (form) {
737
- form.get('workPerformed').setValue(null);
738
- }
739
- }
740
- }
741
- }
742
- handleHiddenFields(res) {
743
- this.readOnlyFields = ['hidShowReturnToWorkQuestion', 'hidShowReturnedToWorkQuestion', 'hidShowNewPensionQuestion', 'hidShowPensionChangedQuestion', 'hidShowDismissalPayChangedQuestion', 'hidPartTimeEmployerAvailable', 'hidRemunerationIssueExists', 'hidIsEligibleForDua', 'claimantId', 'claimWeekEndDate', 'duaAppId', 'hidPartialClaimEmploymentFlag', 'hidWorkSearchAuditFlag'];
744
- this.readOnlyData = { hidShowReturnToWorkQuestion: res.hidShowReturnToWorkQuestion, hidShowReturnedToWorkQuestion: res.hidShowReturnedToWorkQuestion, hidShowNewPensionQuestion: res.hidShowNewPensionQuestion, hidShowPensionChangedQuestion: res.hidShowPensionChangedQuestion, hidShowDismissalPayChangedQuestion: res.hidShowDismissalPayChangedQuestion, hidPartTimeEmployerAvailable: res.hidPartTimeEmployerAvailable, hidRemunerationIssueExists: res.hidRemunerationIssueExists, hidIsEligibleForDua: res.hidIsEligibleForDua, claimantId: res.claimantId, claimWeekEndDate: res.claimWeekEndDate, duaAppId: res.duaAppId, hidPartialClaimEmploymentFlag: res.hidPartialClaimEmploymentFlag, hidWorkSearchAuditFlag: res.hidWorkSearchAuditFlag };
745
- }
746
- loadComplete(event) {
747
- /* For MS, the back button needs to load complete filled data along with eligibility data.
748
- For other states, everything is in popup, so on close, data still is there in model.
749
- Needs work */
750
- /* if (this.isMS() && this.activeIndex == 1 && this.wcService.weeklyCertData) {
751
-
752
- this.wcService.weeklyCertData.weeklycertEligibilityModelV2 = this.wcService.weeklyCertServerData;
753
- this.dataToLoad = this.wcService.weeklyCertData;
754
- this.handleHiddenFields(this.wcService.weeklyCertServerData);
755
- } else{
756
- this.dataToLoad = this.wcService.weeklyCertServerData;
757
- } */
758
- this.dataToLoad = this.wcService.weeklyCertServerData;
759
- /** NEW: For Loading the Pre-selected question in case of Started Working(STWK) for WS Records and setting the value Y for workPerformed */
760
- this.workSearchRecords = this.wcService.getWorkSearchRecords();
761
- if (this.isME() && this.workSearchRecords) {
762
- const hasStartedWorking = (this.workSearchRecords ?? []).some(rec => rec?.searchResult === 'STWK');
763
- if (hasStartedWorking) {
764
- this.dataToLoad.workPerformed = "Y";
765
- this.readOnlyFields = ['workPerformed'];
766
- this.readOnlyData = { workPerformed: "Y" };
767
- }
768
- }
769
- /** END */
770
- if (this.wcService.getWorkSearchRecordsCountWithHiredStatus() > 0) {
771
- this.hasHiredStatus(true);
772
- this.dataToLoad.returningToWork = "Y";
773
- }
774
- //Weekly Earnings reminder popup - shown every week except for waiting period week
775
- if (this.wcService.weeklyCertServerData.isWaitingWeekServed === true) {
776
- setTimeout(() => (this.weeklyWorkPerformedPopupFlag = true), 1000);
777
- }
778
- }
779
- getPreviousSunday(inputDate) {
780
- let utcDate = new Date(inputDate + "T00:00:00Z");
781
- utcDate.setUTCDate(utcDate.getUTCDate() - 6);
782
- let year = utcDate.getUTCFullYear();
783
- let month = String(utcDate.getUTCMonth() + 1).padStart(2, '0');
784
- let day = String(utcDate.getUTCDate()).padStart(2, '0');
785
- return `${year}-${month}-${day}`;
786
- }
787
- static { this.ɵfac = function WeeklyCertificationComponent_Factory(t) { return new (t || WeeklyCertificationComponent)(i0.ɵɵdirectiveInject(i1.WeeklyCertServiceV2), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i5.DomSanitizer), i0.ɵɵdirectiveInject(i6.HelpService), i0.ɵɵdirectiveInject(i7.LoginService), i0.ɵɵdirectiveInject(i8.ClaimantContextService), i0.ɵɵdirectiveInject(i9.DatePipe), i0.ɵɵdirectiveInject(i10.Router)); }; }
788
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WeeklyCertificationComponent, selectors: [["app-weekly-certification"]], viewQuery: function WeeklyCertificationComponent_Query(rf, ctx) { if (rf & 1) {
789
- i0.ɵɵviewQuery(WorkSearchQuestionComponentV2, 5);
790
- i0.ɵɵviewQuery(AcknowledgementMsComponent, 5);
791
- i0.ɵɵviewQuery(SummaryComponentV2, 5);
792
- i0.ɵɵviewQuery(_c0, 5);
793
- } if (rf & 2) {
794
- let _t;
795
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.workSearchComponent = _t.first);
796
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.acknowledgementMsComponent = _t.first);
797
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.summaryComponent = _t.first);
798
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.weeklyQuestions = _t.first);
799
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 4, consts: [[3, "activeIndex", 4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], ["class", "ion-text-center ion-padding-top", "style", "padding-top: 50px;", 4, "ngIf"], [4, "ngIf"], [3, "activeIndex"], [1, "ion-text-center"], ["name", "dots"], [1, "ion-text-center", "ion-padding-top", 2, "padding-top", "50px"], ["name", "alert-circle-outline", 2, "font-size", "60px", "color", "var(--ion-color-danger)"], [1, "ion-text-center", "ion-padding", 2, "color", "var(--ion-color-danger)", "font-size", "larger", 3, "innerHTML"], ["size", "12", "offsetXl", "1", 4, "ngIf"], [3, "qeQueryModels", "header", "showQuestionNumber", "onComplete", "modelCancel", 4, "ngIf"], [3, "data", "dynamicParam", "onClose", 4, "ngIf"], [3, "data", "dynamicParam", "onClose", "onNext", 4, "ngIf"], ["size", "12", "offsetXl", "1"], [1, "app-heading"], ["size", "12", "sizeXl", "5", "offsetXl", "1", "sizeLg", "6"], [3, "showCounter", "success", "hasHiredStatus", "hasWorkedFullTimeOrStartedWorkingStatus", 4, "ngIf"], ["size", "12", "sizeXl", "5", "sizeLg", "6"], [3, "flowKey", "autoSave", "showOnlyQuestion", "hideHeader", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXl", "offsetLg", "dynamicParam", "data", "multiMode", "readOnlyFields", "onError", "onComplete", "onLoadComplete"], ["weeklyQuestions", ""], [3, "showCounter", "success", "hasHiredStatus", "hasWorkedFullTimeOrStartedWorkingStatus"], ["size", "3", "offsetLg", "3", "offsetXl", "3"], [1, "p-fluid", "p-formgrid"], ["size", "2"], ["size", "1", 1, "weeklies-steps"], [3, "model", "activeIndex", "styleClass", "ngStyle"], ["size", "3"], ["size", "12", "sizeSm", "8", "sizeXs", "12", "sizeMd", "8", "sizeLg", "6", "sizeXl", "5", "offsetLg", "3", "offsetXl", "3", "offsetMd", "1", 2, "margin-top", "-35px"], [1, "heading-weeklies"], [1, "heading-weeklies-ack"], ["size", "12", "sizeSm", "8", "sizeXs", "12", "sizeMd", "8", "sizeLg", "6", "sizeXl", "5", "offsetLg", "3", "offsetXl", "3", "offsetMd", "1"], [3, "showCounter", "success", "hasHiredStatus", 4, "ngIf"], [3, "showCounter", "success", "hasHiredStatus"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "5.25", "sizeXl", "5.25", "offsetLg", "3", "offsetXl", "3", "offsetMd", "1"], [3, "showWeeklyWorkPerformedPopup"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "6", "sizeXl", "6", "offsetLg", "3", "offsetXl", "3", "offsetMd", "1"], [3, "success", "onClose", 4, "ngIf"], [3, "success", "onClose"], [3, "qeQueryModels", "header", "showQuestionNumber", "onComplete", "modelCancel"], [3, "data", "dynamicParam", "onClose"], [3, "data", "dynamicParam", "onClose", "onNext"], [1, "ion-padding"], ["ion-col", "", "size", "12", "sizeXl", "5", "offsetXl", "1", "sizeLg", "6", 1, "ion-text-left"], ["shape", "round", "fill", "outline", 3, "click"], ["size", "12", "sizeXl", "5", "sizeLg", "6", 1, "ion-text-right"], ["shape", "round", "fill", "solid", "type", "submit", 3, "click"], [1, "ion-padding", "buttons-row"], ["size", "3", 1, "weeklies-left-buttons"], ["id", "close", "shape", "round", "fill", "outline", 3, "click", 4, "ngIf"], ["id", "back", "shape", "round", "fill", "outline", 3, "click", 4, "ngIf"], ["size", "3", 1, "weeklies-right-buttons"], ["id", "next", "shape", "round", "fill", "solid", "type", "submit", 3, "click", 4, "ngIf"], ["id", "submit", "shape", "round", "fill", "solid", "type", "submit", 3, "click", 4, "ngIf"], ["id", "close", "shape", "round", "fill", "outline", 3, "click"], ["id", "back", "shape", "round", "fill", "outline", 3, "click"], ["id", "next", "shape", "round", "fill", "solid", "type", "submit", 3, "click"], ["id", "submit", "shape", "round", "fill", "solid", "type", "submit", 3, "click"]], template: function WeeklyCertificationComponent_Template(rf, ctx) { if (rf & 1) {
800
- i0.ɵɵtemplate(0, WeeklyCertificationComponent_app_dashboard_help_0_Template, 1, 1, "app-dashboard-help", 0)(1, WeeklyCertificationComponent_div_1_Template, 2, 0, "div", 1)(2, WeeklyCertificationComponent_div_2_Template, 3, 1, "div", 2)(3, WeeklyCertificationComponent_div_3_Template, 14, 11, "div", 3);
801
- } if (rf & 2) {
802
- i0.ɵɵproperty("ngIf", ctx.hs.isShowing());
803
- i0.ɵɵadvance(1);
804
- i0.ɵɵproperty("ngIf", ctx.isLoading);
805
- i0.ɵɵadvance(1);
806
- i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.errorMsg);
807
- i0.ɵɵadvance(1);
808
- i0.ɵɵproperty("ngIf", !ctx.isLoading && !ctx.errorMsg);
809
- } }, dependencies: [i4.IonButton, i4.IonCol, i4.IonFooter, i4.IonGrid, i4.IonIcon, i4.IonRow, i4.IonSpinner, i9.NgIf, i9.NgStyle, i11.Divider, i12.Steps, i13.FormBuilderPage, i14.MultiQuestionnaireComponent, i15.WeeklyWorkPerformedPopupComponent, i16.WorkSearchQuestionComponentV2, i17.AcknowledgementMsComponent, i18.AcknowledgementComponentV2, i19.ConfirmationComponent, i20.InterimConfirmationComponent, i21.TranslatePipe], styles: ["[_nghost-%COMP%] .p-steps-item{flex:0 0;text-align:center}[_nghost-%COMP%] .p-steps .p-steps-item.p-highlight .p-steps-number{background-color:var(--ion-color-primary)}[_nghost-%COMP%] .p-steps ul{justify-content:center}.app-heading[_ngcontent-%COMP%]{font-family:var(--app-font-light);font-size:36px;color:var(--ion-color-medium-gray)}.p-steps-item[_ngcontent-%COMP%] .p-steps[_ngcontent-%COMP%] .p-steps-number[_ngcontent-%COMP%]{width:var(--step-width)!important;height:var(--step-height)!important}.buttons-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:0 10px}.weeklies-left-buttons[_ngcontent-%COMP%], .weeklies-right-buttons[_ngcontent-%COMP%]{display:flex;gap:40px}ion-button[_ngcontent-%COMP%]{min-width:80px;flex-shrink:1}.weeklies-steps[_ngcontent-%COMP%]{margin-left:-135px!important}@media (max-width: 320px){.weeklies-left-buttons[_ngcontent-%COMP%], .weeklies-right-buttons[_ngcontent-%COMP%]{flex-direction:column;gap:6px}}@media (max-width: 360px){ion-button[_ngcontent-%COMP%]{font-size:14px}.buttons-row[_ngcontent-%COMP%]{padding:0 5px}}@media (min-width: 600px){.buttons-row[_ngcontent-%COMP%], .weeklies-left-buttons[_ngcontent-%COMP%], .weeklies-right-buttons[_ngcontent-%COMP%]{justify-content:center}ion-col.size-3[_ngcontent-%COMP%]{max-width:200px}ion-button[_ngcontent-%COMP%]{min-width:100px}}@media (min-width: 1280px){.buttons-row[_ngcontent-%COMP%]{justify-content:unset}.weeklies-left-buttons[_ngcontent-%COMP%]{text-align:left;padding-left:0;justify-content:unset}.weeklies-right-buttons[_ngcontent-%COMP%]{text-align:right;position:relative;padding-right:10px}}@media (min-width: 391px) and (max-width: 420px){.weeklies-steps[_ngcontent-%COMP%]{margin-left:95px!important}}@media (min-width: 320px) and (max-width: 350px){.heading-weeklies[_ngcontent-%COMP%]{font-family:var(--app-font-regular);font-size:15px;width:max-content}.heading-weeklies-ack[_ngcontent-%COMP%]{font-size:15px!important;width:max-content}.weeklies-steps[_ngcontent-%COMP%]{margin-left:100px!important}}@media (min-width: 351px) and (max-width: 470px){.heading-weeklies[_ngcontent-%COMP%]{font-family:var(--app-font-regular);font-size:17px;width:max-content}.heading-weeklies-ack[_ngcontent-%COMP%]{font-size:16px!important;width:max-content}.weeklies-steps[_ngcontent-%COMP%]{margin-left:110px!important}}@media (min-width: 470px) and (max-width: 680px){.heading-weeklies[_ngcontent-%COMP%]{font-size:18px;width:250px}.heading-weeklies-ack[_ngcontent-%COMP%]{font-size:18px!important;width:max-content}.weeklies-steps[_ngcontent-%COMP%]{margin-left:195px!important}}@media (min-width: 681px) and (max-width: 767px){.heading-weeklies[_ngcontent-%COMP%]{font-size:20px;width:250px;margin-top:50px}.weeklies-steps[_ngcontent-%COMP%]{margin-left:70px!important;margin-top:30px}}@media (min-width: 768px) and (max-width: 991px){.heading-weeklies[_ngcontent-%COMP%]{font-size:20px;width:250px;margin-top:50px;margin-left:65px}.weeklies-steps[_ngcontent-%COMP%]{margin-left:150px!important;margin-top:30px}}@media (min-width: 992px) and (max-width: 1020px){.heading-weeklies[_ngcontent-%COMP%]{font-size:20px;width:250px;margin-top:50px}.weeklies-steps[_ngcontent-%COMP%]{margin-left:-40px!important;margin-top:30px}}@media (min-width: 1021px) and (max-width: 1176px){.heading-weeklies[_ngcontent-%COMP%]{font-size:20px;margin-top:50px}.weeklies-steps[_ngcontent-%COMP%]{margin-left:-35px!important;margin-top:30px}}"] }); }
810
- }
811
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeeklyCertificationComponent, [{
812
- type: Component,
813
- args: [{ selector: 'app-weekly-certification', template: "<app-dashboard-help *ngIf=\"hs.isShowing()\" [activeIndex]=\"4\"></app-dashboard-help>\r\n <div *ngIf=\"isLoading\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n\r\n <div *ngIf=\"!isLoading && errorMsg\" class=\"ion-text-center ion-padding-top\" style=\"padding-top: 50px;\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"font-size: 60px; color: var(--ion-color-danger);\"></ion-icon>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(errorMsg)\" style=\"color: var(--ion-color-danger); font-size: larger;\" class=\"ion-text-center ion-padding\"></div>\r\n </div>\r\n\r\n <div *ngIf=\"!isLoading && !errorMsg\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" offsetXl=\"1\" *ngIf=\"!isMS() || (isMS() && !multipleWeeksDue && !displayContinuedWeeksFiledHeading)\">\r\n <h1 class=\"app-heading\">{{'weeklies.v2.task.heading' | translate:dynamicParam }}</h1>\r\n </ion-col>\r\n\r\n <ion-col size=\"12\" offsetXl=\"1\" *ngIf=\"(isMS() && multipleWeeksDue && !displayContinuedWeeksFiledHeading)\">\r\n <h1 class=\"app-heading\">{{'weeklies.v2.task.multiple.weeks.heading' | translate:dynamicParam }}</h1>\r\n </ion-col>\r\n\r\n <ion-col size=\"12\" offsetXl=\"1\" *ngIf=\"(isMS() && multipleWeeksDue && displayContinuedWeeksFiledHeading)\">\r\n <h1 class=\"app-heading\">{{'weeklies.v2.task.multiple.weeks.heading.continued' | translate:dynamicParam }}</h1>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n\r\n <section *ngIf=\"!isMS()\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeXl=\"5\" offsetXl=\"1\" sizeLg=\"6\">\r\n <app-work-search-question-v2 *ngIf=\"!isLoading && !errorMsg\" (success)=\"goToWeeklyCert()\" [showCounter]=\"true\" (hasHiredStatus)=\"hasHiredStatus($event)\"\r\n (hasWorkedFullTimeOrStartedWorkingStatus)=\"hasWorkedFullTimeOrStartedWorkingStatus($event)\"></app-work-search-question-v2>\r\n </ion-col>\r\n <ion-col size=\"12\" sizeXl=\"5\" sizeLg=\"6\"> \r\n <app-form-builder #weeklyQuestions [flowKey]=\"'weekly-cert'\" [autoSave]=\"false\" [showOnlyQuestion]=\"true\" [hideHeader]=\"true\"\r\n [hideFooter]=\"true\" [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\" [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" \r\n (onError)=\"handleError($event)\" (onComplete)=\"success($event)\" [dynamicParam]=\"dynamicParam\" [data]=\"dataToLoad\" \r\n [multiMode]=\"true\" [readOnlyFields]=\"readOnlyFields\" (onLoadComplete)=\"loadComplete($event)\">\r\n </app-form-builder> \r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </section>\r\n\r\n <section *ngIf=\"isMS()\">\r\n <ion-row>\r\n <ion-col size=\"3\" offsetLg=\"3\" offsetXl=\"3\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <section *ngIf=\"activeIndex == 0 || activeIndex == 1\">\r\n <h1 class=\"heading-weeklies\"><b> {{ contents[activeIndex] }} </b></h1>\r\n </section>\r\n <section *ngIf=\"activeIndex == 2\">\r\n <h1 class=\"heading-weeklies-ack\"><b> {{ contents[activeIndex] }} </b></h1>\r\n </section>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"2\"></ion-col>\r\n <ion-col class=\"weeklies-steps\" size=\"1\">\r\n <div class=\"p-fluid p-formgrid\" >\r\n <p-steps [model]=\"items\" [activeIndex]=\"activeIndex\" [styleClass]=\"'completed-'+activeIndex\" [ngStyle]=\"{'--step-width':'50px','--step-height':'50px'}\">\r\n </p-steps>\r\n </div>\r\n \r\n </ion-col>\r\n <ion-col size=\"3\">\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col style=\"margin-top: -35px;\"size=\"12\" sizeSm=\"8\" sizeXs=\"12\" sizeMd=\"8\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\" offsetXl=\"3\" offsetMd=\"1\">\r\n <p-divider></p-divider>\r\n </ion-col> \r\n </ion-row>\r\n \r\n <ion-grid *ngIf=\"activeIndex == 0\">\r\n <ion-row>\r\n <ion-col size=\"12\" sizeSm=\"8\" sizeXs=\"12\" sizeMd=\"8\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\" offsetXl=\"3\" offsetMd=\"1\">\r\n <app-work-search-question-v2 *ngIf=\"!isLoading && !errorMsg\" (success)=\"goToWeeklyCert()\" [showCounter]=\"true\" (hasHiredStatus)=\"hasHiredStatus($event)\"></app-work-search-question-v2>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n <ion-grid *ngIf=\"activeIndex == 1\">\r\n <ion-row>\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"5.25\" sizeXl=\"5.25\" offsetLg=\"3\" offsetXl=\"3\" offsetMd=\"1\"> \r\n <app-form-builder #weeklyQuestions [flowKey]=\"'weekly-cert'\" [autoSave]=\"true\" [showOnlyQuestion]=\"true\" [hideHeader]=\"true\"\r\n [hideFooter]=\"true\" [sizeXs]=\"12\" [sizeSm]=\"12\" [sizeMd]=\"12\" [sizeLg]=\"12\" [sizeXl]=\"12\" [offsetXl]=\"0\" [offsetLg]=\"0\" \r\n (onError)=\"handleError($event)\" (onComplete)=\"success($event)\" [dynamicParam]=\"dynamicParam\" [data]=\"dataToLoad\" \r\n [multiMode]=\"true\" [readOnlyFields]=\"readOnlyFields\" (onLoadComplete)=\"loadComplete($event)\">\r\n </app-form-builder> \r\n </ion-col>\r\n </ion-row>\r\n <!-- Weekly Earnings reminder popup - shown every week except for waiting period week -->\r\n <ion-row *ngIf=\"weeklyWorkPerformedPopupFlag\">\r\n <app-weekly-work-performed-popup [showWeeklyWorkPerformedPopup]=\"true\"></app-weekly-work-performed-popup>\r\n </ion-row>\r\n </ion-grid>\r\n <ion-grid *ngIf=\"activeIndex == 2\">\r\n <ion-row>\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"6\" offsetLg=\"3\" offsetXl=\"3\" offsetMd=\"1\">\r\n <app-acknowledgement-ms *ngIf=\"showAck\" (success)=\"fileWeeklyCertDone($event)\" (onClose)=\"closeAck()\">\r\n </app-acknowledgement-ms> \r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </section>\r\n\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" \r\n (onComplete)=\"openSummaryPostQuestionnaires($event)\" (modelCancel)=\"onQeClose()\" \r\n [header]=\"'Follow-up Questions' | translate\" [showQuestionNumber]=\"true\"></app-multi-questionnaire>\r\n\r\n <div *ngIf=\"!isMS()\">\r\n <app-acknowledgement-v2 *ngIf=\"showAck\" (success)=\"fileWeeklyCertDone($event)\" (onClose)=\"closeAck()\">\r\n </app-acknowledgement-v2> \r\n </div>\r\n\r\n <app-confirmation *ngIf=\"showConfirmation\" (onClose)=\"closeConfirmationPopup()\" [data]=\"confirmationData\" [dynamicParam]=\"dynamicParam\"></app-confirmation>\r\n \r\n <app-interim-confirmation *ngIf=\"showInterimConfirmation\" (onClose)=\"closeConfirmationPopup()\" (onNext)=\"navigateToWeeklies($event)\" [data]=\"confirmationData\" [dynamicParam]=\"dynamicParam\"></app-interim-confirmation>\r\n\r\n <ion-footer *ngIf=\"!isMS()\">\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-left\" ion-col size=\"12\" sizeXl=\"5\" offsetXl=\"1\" sizeLg=\"6\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"goHome()\">Close\r\n </ion-button>\r\n </ion-col>\r\n <ion-col class=\"ion-text-right\" size=\"12\" sizeXl=\"5\" sizeLg=\"6\">\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"openNextPage()\" >Submit\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-footer>\r\n <section *ngIf=\"isMS()\">\r\n <ion-row class=\"ion-padding buttons-row\">\r\n <ion-col size=\"3\"></ion-col>\r\n <ion-col class=\"weeklies-left-buttons\" size=\"3\">\r\n <ion-button id=\"close\" shape=\"round\" fill=\"outline\" *ngIf=\"activeIndex == 0\" (click)=\"goHome()\">Close\r\n </ion-button>\r\n <ion-button id=\"back\" shape=\"round\" fill=\"outline\" *ngIf=\"activeIndex != 0\" (click)=\"activeIndex = activeIndex - 1\">\r\n Back</ion-button>\r\n </ion-col>\r\n <ion-col class=\"weeklies-right-buttons\" size=\"3\">\r\n <ion-button id=\"next\" shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"openNextPage()\" *ngIf=\"activeIndex != 2\">Next\r\n </ion-button>\r\n <ion-button id=\"submit\" shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"showAcknowledgement()\" *ngIf=\"activeIndex == 2\">\r\n Submit</ion-button>\r\n </ion-col>\r\n <ion-col size=\"3\"></ion-col>\r\n </ion-row>\r\n </section>\r\n </div>", styles: [":host ::ng-deep .p-steps-item{flex:0 0;text-align:center}:host ::ng-deep .p-steps .p-steps-item.p-highlight .p-steps-number{background-color:var(--ion-color-primary)}:host ::ng-deep .p-steps ul{justify-content:center}.app-heading{font-family:var(--app-font-light);font-size:36px;color:var(--ion-color-medium-gray)}.p-steps-item .p-steps .p-steps-number{width:var(--step-width)!important;height:var(--step-height)!important}.buttons-row{display:flex;justify-content:space-between;align-items:center;padding:0 10px}.weeklies-left-buttons,.weeklies-right-buttons{display:flex;gap:40px}ion-button{min-width:80px;flex-shrink:1}.weeklies-steps{margin-left:-135px!important}@media (max-width: 320px){.weeklies-left-buttons,.weeklies-right-buttons{flex-direction:column;gap:6px}}@media (max-width: 360px){ion-button{font-size:14px}.buttons-row{padding:0 5px}}@media (min-width: 600px){.buttons-row,.weeklies-left-buttons,.weeklies-right-buttons{justify-content:center}ion-col.size-3{max-width:200px}ion-button{min-width:100px}}@media (min-width: 1280px){.buttons-row{justify-content:unset}.weeklies-left-buttons{text-align:left;padding-left:0;justify-content:unset}.weeklies-right-buttons{text-align:right;position:relative;padding-right:10px}}@media (min-width: 391px) and (max-width: 420px){.weeklies-steps{margin-left:95px!important}}@media (min-width: 320px) and (max-width: 350px){.heading-weeklies{font-family:var(--app-font-regular);font-size:15px;width:max-content}.heading-weeklies-ack{font-size:15px!important;width:max-content}.weeklies-steps{margin-left:100px!important}}@media (min-width: 351px) and (max-width: 470px){.heading-weeklies{font-family:var(--app-font-regular);font-size:17px;width:max-content}.heading-weeklies-ack{font-size:16px!important;width:max-content}.weeklies-steps{margin-left:110px!important}}@media (min-width: 470px) and (max-width: 680px){.heading-weeklies{font-size:18px;width:250px}.heading-weeklies-ack{font-size:18px!important;width:max-content}.weeklies-steps{margin-left:195px!important}}@media (min-width: 681px) and (max-width: 767px){.heading-weeklies{font-size:20px;width:250px;margin-top:50px}.weeklies-steps{margin-left:70px!important;margin-top:30px}}@media (min-width: 768px) and (max-width: 991px){.heading-weeklies{font-size:20px;width:250px;margin-top:50px;margin-left:65px}.weeklies-steps{margin-left:150px!important;margin-top:30px}}@media (min-width: 992px) and (max-width: 1020px){.heading-weeklies{font-size:20px;width:250px;margin-top:50px}.weeklies-steps{margin-left:-40px!important;margin-top:30px}}@media (min-width: 1021px) and (max-width: 1176px){.heading-weeklies{font-size:20px;margin-top:50px}.weeklies-steps{margin-left:-35px!important;margin-top:30px}}\n"] }]
814
- }], () => [{ type: i1.WeeklyCertServiceV2 }, { type: i2.FormBuilder }, { type: i3.UtilService }, { type: i4.NavController }, { type: i5.DomSanitizer }, { type: i6.HelpService }, { type: i7.LoginService }, { type: i8.ClaimantContextService }, { type: i9.DatePipe }, { type: i10.Router }], { workSearchComponent: [{
815
- type: ViewChild,
816
- args: [WorkSearchQuestionComponentV2]
817
- }], acknowledgementMsComponent: [{
818
- type: ViewChild,
819
- args: [AcknowledgementMsComponent]
820
- }], summaryComponent: [{
821
- type: ViewChild,
822
- args: [SummaryComponentV2]
823
- }], weeklyQuestions: [{
824
- type: ViewChild,
825
- args: ['weeklyQuestions']
826
- }] }); })();
827
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeeklyCertificationComponent, { className: "WeeklyCertificationComponent", filePath: "lib\\components\\weekly-certification\\weekly-certification.component.ts", lineNumber: 32 }); })();
828
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnRpZmljYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS1jZXJ0aWZpY2F0aW9uL3dlZWtseS1jZXJ0aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydGlmaWNhdGlvbi93ZWVrbHktY2VydGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBSXBILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDcEJySCx3Q0FBa0Y7O0lBQXZDLCtCQUFpQjs7O0lBQ3hELDhCQUErQztJQUMzQyxpQ0FBdUM7SUFDM0MsaUJBQU07OztJQUVOLDhCQUF1RztJQUNyRyw4QkFBMEcsYUFBQTtJQUU1RyxpQkFBTTs7O0lBREMsZUFBeUQ7SUFBekQsd0dBQXlEOzs7SUFNMUQsbUNBQXVILGFBQUE7SUFDN0YsWUFBd0Q7O0lBQUEsaUJBQUssRUFBQTs7O0lBQTdELGVBQXdEO0lBQXhELDJGQUF3RDs7O0lBR2xGLG1DQUEyRyxhQUFBO0lBQ2pGLFlBQXVFOztJQUFBLGlC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MkdBQWtGLGdFQUFBLGdFQUFBLGtFQUFBOztZQUE3RCx5Q0FBb0I7WUFDL0IsZUFBZTtZQUFmLG9DQUFlO1lBSWYsZUFBNEI7WUFBNUIscURBQTRCO1lBSzVCLGVBQTZCO1lBQTdCLHNEQUE2Qjs7O2lGRHFCMUIsNEJBQTRCO2NBTHhDLFNBQVM7MkJBQ0UsMEJBQTBCO3NTQU9wQyxtQkFBbUI7a0JBRHBCLFNBQVM7bUJBQUMsNkJBQTZCO1lBS3RDLDBCQUEwQjtrQkFEekIsU0FBUzttQkFBQywwQkFBMEI7WUFJckMsZ0JBQWdCO2tCQURmLFNBQVM7bUJBQUMsa0JBQWtCO1lBR0MsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7O2tGQVpqQiw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgQ2xhaW1hbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50LWNvbnRleHQvY2xhaW1hbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEhlbHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uLy9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBIZWxwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0hlbHBDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBXZWVrbHlDZXJ0U2VydmljZVYyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1bW1hcnlDb21wb25lbnRWMiB9IGZyb20gJy4uL3dlZWtseS1zdW1tYXJ5LXYyL3N1bW1hcnkuY29tcG9uZW50LXYyJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXJQYWdlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2Zvcm0tYnVpbGRlci9mb3JtLWJ1aWxkZXIucGFnZSc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hRdWVzdGlvbkNvbXBvbmVudFYyIH0gZnJvbSAnLi4vd2Vla2x5LXdvcmstc2VhcmNoLXF1ZXN0aW9uLXYyL3dvcmstc2VhcmNoLXF1ZXN0aW9uLmNvbXBvbmVudC12Mic7XHJcbmltcG9ydCB7IFdlZWtseUNlcnRpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93ZWVrbHktY2VydGlmaWNhdGlvbi12Mi1tb2RlbCc7XHJcbmltcG9ydCB7IFdlZWtseUNlcnRFbGlnaWJpbGl0eU1vZGVsVjIgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtZWxpZ2liaWxpdHktdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBTdGF0dXNNb2RlbCB9IGZyb20gJy4uLy4uLy9tb2RlbHMvcXVlc3Rpb25uYWlyZS9TdGF0dXNNb2RlbCc7XHJcbmltcG9ydCB7IEFja25vd2xlZGdlbWVudE1zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy93ZWVrbHktYWNrbm93bGVkZ2VtZW50LW1zL2Fja25vd2xlZGdlbWVudC1tcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2Vla2x5LWNlcnQvd29yay1zZWFyY2gtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC1yZWNvcmQtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtd2Vla2x5LWNlcnRpZmljYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93ZWVrbHktY2VydGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3dlZWtseS1jZXJ0aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vla2x5Q2VydGlmaWNhdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuQFZpZXdDaGlsZChXb3JrU2VhcmNoUXVlc3Rpb25Db21wb25lbnRWMilcclxuICB3b3JrU2VhcmNoQ29tcG9uZW50OiBXb3JrU2VhcmNoUXVlc3Rpb25Db21wb25lbnRWMjtcclxuXHJcbiAgLy9UcmlnZ2VyaW5nIFN1Ym1pdCBpbiB0aGUgY29tcG9uZW50XHJcbiAgQFZpZXdDaGlsZChBY2tub3dsZWRnZW1lbnRNc0NvbXBvbmVudClcclxuICBhY2tub3dsZWRnZW1lbnRNc0NvbXBvbmVudDogQWNrbm93bGVkZ2VtZW50TXNDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoU3VtbWFyeUNvbXBvbmVudFYyKVxyXG4gIHN1bW1hcnlDb21wb25lbnQ6IFN1bW1hcnlDb21wb25lbnRWMjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnd2Vla2x5UXVlc3Rpb25zJykgd2Vla2x5UXVlc3Rpb25zOiBGb3JtQnVpbGRlclBhZ2VcclxuXHJcbiAgcHVibGljIHNob3dBY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0NvbmZpcm1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb25maXJtYXRpb25EYXRhOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBpdGVtczogTWVudUl0ZW1bXTtcclxuICBwdWJsaWMgY29udGVudHM6IHN0cmluZ1tdO1xyXG4gIHB1YmxpYyBhY3RpdmVJbmRleCA9IDA7XHJcbiAgcHVibGljIGVycm9yTXNnOiBzdHJpbmc7XHJcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93V29ya1NlYXJjaDogYm9vbGVhbjtcclxuICBwdWJsaWMgZHluYW1pY1BhcmFtOiBhbnk7XHJcbiAgaXNPcGVuUWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBxZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xyXG4gIHBvdGVudGlhbElzc3VlczogbnVtYmVyW107XHJcbiAgc3RhdHVzTW9kZWw6IFN0YXR1c01vZGVsO1xyXG4gIHJlYWRPbmx5RmllbGRzOiBzdHJpbmdbXSA9IG51bGw7XHJcbiAgcmVhZE9ubHlEYXRhOiBhbnk7XHJcbiAgZGF0YVRvTG9hZDogYW55O1xyXG4gIHB1YmxpYyB3b3JrU2VhcmNoV2FpdmVkOiBhbnk7XHJcbiAgcHVibGljIHdhaXZlclJlYXNvbjogU3RyaW5nID0gbnVsbDtcclxuICBwdWJsaWMgd29ya1NlYXJjaERhdGFNczogV29ya1NlYXJjaE1vZGVsO1xyXG5cclxuICBwdWJsaWMgbXVsdGlwbGVXZWVrc0R1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93SW50ZXJpbUNvbmZpcm1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBudW1iZXJPZk11bHRpcGxlV2Vla3NEdWU6IG51bWJlcjtcclxuICByZWNlaXZlZERhdGE6IGFueTtcclxuICBwdWJsaWMgZGlzcGxheUNvbnRpbnVlZFdlZWtzRmlsZWRIZWFkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGFyc2VkTWF4UlRXRGF0ZTogYW55O1xyXG4gIHB1YmxpYyB3ZWVrbHlXb3JrUGVyZm9ybWVkUG9wdXBGbGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgd29ya1NlYXJjaFJlY29yZHM6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbFtdO1xyXG5cclxuICBjb3VudCA9IDA7XHJcbiAgcmVlbVdvcmtTZWFyY2hSZWNvcmRDb3VudCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2NTZXJ2aWNlOiBXZWVrbHlDZXJ0U2VydmljZVYyLCBwdWJsaWMgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlcixcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHVibGljIGhzOiBIZWxwU2VydmljZSwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENsYWltYW50Q29udGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGVwaXBlOkRhdGVQaXBlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndjU2VydmljZS5yZXNldFdlZWtseUNlcnREYXRhKCk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53Y1NlcnZpY2UuY2hlY2tXZWVrbHlFbGlnaWJpbGl0eSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgIHRoaXMucHJvY2Vzc1dlZWtseUNlcnRFbGlnaWJpbHR5U3VjY2VzcyhyZXMpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMucHJvY2Vzc1dlZWtseUNlcnRFbGlnaWJpbGl0eUVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIG9uU3RlcENoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzV2Vla2x5Q2VydEVsaWdpYmlsdHlTdWNjZXNzKHJlczogV2Vla2x5Q2VydEVsaWdpYmlsaXR5TW9kZWxWMikge1xyXG4gICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEgPSByZXM7XHJcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcclxuICAgIHRoaXMuZ2V0TGFiZWxNYXhSVFdEYXRlKCk7XHJcbiAgICB0aGlzLmR5bmFtaWNQYXJhbSA9IHtcclxuICAgICAgJ3NhdHVyZGF5X2RhdGUnOiB0aGlzLndjU2VydmljZS5nZXRTYXR1cmRheURhdGVBc1N0cmluZygpLFxyXG4gICAgICAnc3VuZGF5X2RhdGUnOiB0aGlzLndjU2VydmljZS5nZXRTdW5kYXlEYXRlQXNTdHJpbmcoKSxcclxuICAgICAgJ21pbl9ydHdfZGF0ZSc6IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLm1pbkFsbG93ZWRSdHdEYXRlLFxyXG4gICAgICAnbWF4X3J0d19kYXRlJzogdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEubWF4QWxsb3dlZFJ0d0RhdGUsXHJcbiAgICAgICdwZW5zaW9uX2VtcGxveWVycyc6IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLnBlbnNpb25FbXBsb3llcnMsXHJcbiAgICAgICdkdWFEZWNsYXJhdGlvbic6IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmR1YURlY2xhcmF0aW9uLFxyXG4gICAgICAnY2xhaW1XZWVrRW5kRGF0ZSc6IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmNsYWltV2Vla0VuZERhdGUsXHJcbiAgICAgICdjbGFpbWFudElkJzogdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEuY2xhaW1hbnRJZCxcclxuICAgICAgJ2xhYmVsX21heFJ0d0RhdGUnOiB0aGlzLnBhcnNlZE1heFJUV0RhdGUsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGlmIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgdG8gd2Vla2xpZXMgZnJvbSBpbnRlcmltIGNvbmZpcm1hdGlvbiB0byBjb250aW51ZSBmaWxpbmcgZGF0YSB3aWxsIGJlIHN0b3JlZFxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3Qgc3RvcmVkRGF0YSA9IGxvY2FsU3RvcmFnZT8uZ2V0SXRlbSgnaW50ZXJpbUNvbmZpcm1hdGlvbkRhdGEnKTtcclxuICAgICAgaWYgKHN0b3JlZERhdGEpIHtcclxuICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KGF0b2Ioc3RvcmVkRGF0YSkpO1xyXG4gICAgICAgIHRoaXMucmVjZWl2ZWREYXRhID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcclxuICAgICAgICBpZiAodGhpcy5keW5hbWljUGFyYW0uY2xhaW1hbnRJZCAhPT0gdGhpcy5yZWNlaXZlZERhdGEuY2xhaW1hbnRJZCkge1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXZlZERhdGEgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0xTIHBhcnNpbmcgZmFpbGVkOicsIGVycik7XHJcbiAgICAgIHRoaXMucmVjZWl2ZWREYXRhID0gbnVsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgICAvLyBjaGVja2luZyBkYXRhIGZvciBmbGFnIHRvIGNvbnRpbnVlIHRvIGZpbGUgZm9yIG11bHRpcGxlIHdlZWtzXHJcbiAgICAgIGlmKHRoaXMucmVjZWl2ZWREYXRhICYmICh0aGlzLmR5bmFtaWNQYXJhbS5jbGFpbWFudElkID09IHRoaXMucmVjZWl2ZWREYXRhLmNsYWltYW50SWQpICYmXHJcbiAgICAgICAgdGhpcy5yZWNlaXZlZERhdGEuY29udGludWVUb0ZpbGVGb3JNdWx0aXBsZVdlZWtzID09IHRydWUpXHJcbiAgICAgIHtcclxuICAgICAgICB0aGlzLm11bHRpcGxlV2Vla3NEdWUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRpbnVlZFdlZWtzRmlsZWRIZWFkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmR5bmFtaWNQYXJhbS5uZXh0Q2VydGlmaWNhdGlvblRvRmlsZUNvdW50ID0gdGhpcy5yZWNlaXZlZERhdGEuY3VycmVudE51bWJlckZpbGluZzsgXHJcbiAgICAgICAgdGhpcy5keW5hbWljUGFyYW0udG90YWxUb0NlcnRpZnkgPSB0aGlzLnJlY2VpdmVkRGF0YS50b3RhbDtcclxuICAgICAgICAvLyB0aGlzLm51bWJlck9mTXVsdGlwbGVXZWVrc0R1ZSA9IHRoaXMucmVjZWl2ZWREYXRhLmNvdW50O1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFIFNcIik7XHJcbiAgICAgICAgLy8gaWYgbW9yZSB3ZWVrcyBhcmUgZHVlIHNldCB0aGUgbmV4dCBzdW5kYXkgYW5kIHNhdHVyZGF5IGRheXNcclxuICAgICAgICBpZih0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS53ZWVrc1RvQmVDZXJ0aWZpZWQubGVuZ3RoPjEpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljUGFyYW0ubmV4dF9zYXR1cmRheSA9IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLndlZWtzVG9CZUNlcnRpZmllZFsxXTtcclxuICAgICAgICAgIHRoaXMuZHluYW1pY1BhcmFtLm5leHRfc3VuZGF5ID0gdGhpcy5nZXRQcmV2aW91c1N1bmRheSh0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS53ZWVrc1RvQmVDZXJ0aWZpZWRbMV0pXHJcbiAgICAgICAgICB0aGlzLmR5bmFtaWNQYXJhbS5udW1iZXJPZk11bHRpcGxlV2Vla3NEdWUgPSB0aGlzLnJlY2VpdmVkRGF0YS50b3RhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gXHJcbiAgICAgIC8vIGlmIGNsYWltYW50IGZpbGluZyBhbmQgaGFzIG11bHRpcGxlIGNlcnRpZmljYXRpb25zIGR1ZVxyXG4gICAgICAvLyB3aWxsIGdvIHRocm91Z2ggaW50ZXJpbSBwcm9jZXNzIHVudGlsIGZpbmFsIGxhdGVzdCB3ZWVrIGZpbGVkXHJcbiAgICAgIGVsc2UgaWYodGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEud2Vla3NUb0JlQ2VydGlmaWVkLmxlbmd0aD4xKVxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5udW1iZXJPZk11bHRpcGxlV2Vla3NEdWUgPSB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS53ZWVrc1RvQmVDZXJ0aWZpZWQubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMubXVsdGlwbGVXZWVrc0R1ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5keW5hbWljUGFyYW0ubnVtYmVyT2ZNdWx0aXBsZVdlZWtzRHVlID0gdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEud2Vla3NUb0JlQ2VydGlmaWVkLmxlbmd0aDtcclxuICAgICAgICB0aGlzLmR5bmFtaWNQYXJhbS5uZXh0X3NhdHVyZGF5ID0gdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEud2Vla3NUb0JlQ2VydGlmaWVkWzFdO1xyXG4gICAgICAgIHRoaXMuZHluYW1pY1BhcmFtLm5leHRfc3VuZGF5ID0gdGhpcy5nZXRQcmV2aW91c1N1bmRheSh0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS53ZWVrc1RvQmVDZXJ0aWZpZWRbMV0pXHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgaWYgKExpYkNvbnN0YW50cy5sZWdhY3lNZW51ID09ICdmYWxzZScpIHtcclxuICAgICAgLy90aGlzLmhzLnNob3dEaWFsb2dJZlByZWZlcmVuY2VBbGxvdyhIZWxwQ29uc3RhbnRzLldFRUtMWV9IRUxQKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhhbmRsZUhpZGRlbkZpZWxkcyhyZXMpO1xyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGFGb3JXb3JrU2VhcmNoRm9ybSgpO1xyXG4gICAgaWYgKHRoaXMuaXNNUygpKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBbXHJcbiAgICAgICAgeyBsYWJlbDogJycsIGNvbW1hbmQ6ICgpID0+IHsgdGhpcy5vblN0ZXBDaGFuZ2UoMCk7IH0gfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgY29tbWFuZDogKCkgPT4geyB0aGlzLm9uU3RlcENoYW5nZSgxKTsgfSB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCBjb21tYW5kOiAoKSA9PiB7IHRoaXMub25TdGVwQ2hhbmdlKDIpOyB9IH1cclxuICAgICAgXTtcclxuICAgIH0gXHJcblxyXG4gICAgdGhpcy5jb250ZW50cyA9IFsnICAgV29yayBTZWFyY2ggQWN0aXZpdGllcycsICcgICBXZWVrbHkgUXVlc3Rpb25zJywgJyAgIEFja25vd2xlZGdlICYgQ2VydGlmeSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFiZWxNYXhSVFdEYXRlKCl7XHJcbiAgICB0aGlzLnBhcnNlZE1heFJUV0RhdGUgPSBuZXcgRGF0ZSh0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS5tYXhBbGxvd2VkUnR3RGF0ZSk7XHJcbiAgICBjb25zdCBwYXJ0cyA9IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLm1heEFsbG93ZWRSdHdEYXRlLnNwbGl0KCctJyk7XHJcbiAgICBsZXQgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKCtwYXJ0c1syXSwgK3BhcnRzWzBdIC0gMSwgK3BhcnRzWzFdKTtcclxuICAgIHBhcnNlZERhdGUuc2V0RGF0ZShwYXJzZWREYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgdGhpcy5wYXJzZWRNYXhSVFdEYXRlID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0ocGFyc2VkRGF0ZSwgJ01NL2RkL3l5eXknKTtcclxuICB9XHJcblxyXG4gIHByb2Nlc3NXZWVrbHlDZXJ0RWxpZ2liaWxpdHlFcnJvcihlcnI6IGFueSkge1xyXG4gICAgaWYgKGVyci5tc2cgIT0gbnVsbCAmJiBlcnIubXNnWzBdID09ICdObyBXZWVrcyBhcmUgcGVuZGluZyB0byBiZSBmaWxlZC4nKSB7XHJcbiAgICAgIHRoaXMudXRpbC5nZXRTdGF0ZSgpPT09J0NUJyA/IHRoaXMubmF2Lm5hdmlnYXRlUm9vdChcIndlZWtseS1ub3QtZWxpZ2libGVcIikgOiB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoXCJ3b3JrLXNlYXJjaC1qb3VybmFsXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lcnJvck1zZyA9IGVyci5tc2c7XHJcbiAgICB9XHJcbiAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YSA9IG51bGw7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZURhdGFGb3JXb3JrU2VhcmNoRm9ybSgpIHtcclxuICAgIHRoaXMud29ya1NlYXJjaFdhaXZlZCA9IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmlzV29ya1NlYXJjaFdhaXZlZDtcclxuICAgIHRoaXMud2FpdmVyUmVhc29uID0gdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEud2FpdmVyUmVhc29uO1xyXG4gICAgLy9SRUVNIEFDVElWSVRZIFRZUEUgQ09VTlQgQVNTSUdOTUVOVFxyXG4gICAgdGhpcy5yZWVtV29ya1NlYXJjaFJlY29yZENvdW50ID0gTnVtYmVyKHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhPy5oaWRSZWVtV29ya1NlYXJjaFJlY29yZENvdW50ID8/IDApO1xyXG4gICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEuaGlkUmVlbVdvcmtTZWFyY2hSZWNvcmRDb3VudCA9IHRoaXMucmVlbVdvcmtTZWFyY2hSZWNvcmRDb3VudDtcclxuICAgIC8vXHJcbiAgICB0aGlzLndjU2VydmljZS5nZXRDbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsUmVjb3Jkcyh0aGlzLndjU2VydmljZS5nZXRTYXR1cmRheURhdGVBc1N0cmluZygpKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcblx0XHRcdCAgICAgICAgY29uc29sZS5lcnJvcihcIldTUlwiKTtcclxuICAgICAgICB0aGlzLndjU2VydmljZS53b3JrU2VhcmNoSm91cm5hbCA9IHJlcztcclxuICAgICAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS53b3JrU2VhcmNoUmVjb3JkcyA9IHJlcy53b3JrU2VhcmNoUmVjb3JkcztcclxuICAgICAgICBpZiAodGhpcy5pc01FKCkgJiYgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaFJlY29yZHMpIHtcclxuICAgICAgICAgIGNvbnN0IGhhc1N0YXJ0ZWRXb3JraW5nID0gKHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLndvcmtTZWFyY2hSZWNvcmRzID8/IFtdKS5zb21lKFxyXG4gICAgICAgICAgICByZWMgPT4gcmVjPy5zZWFyY2hSZXN1bHQgPT09ICdTVFdLJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGlmKGhhc1N0YXJ0ZWRXb3JraW5nKXtcclxuICAgICAgICAgICAgdGhpcy5oYXNXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXModHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy53Y1NlcnZpY2Uud29ya1NlYXJjaEpvdXJuYWwgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgXHJcbiAgICBpZiAodGhpcy5pc01TKCkpIHtcclxuICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuTmV4dFBhZ2UoKSB7XHJcbiAgICBcdGNvbnNvbGUuZXJyb3IoXCJPTlBcIik7XHJcbiAgICBpZiAodGhpcy53b3JrU2VhcmNoQ29tcG9uZW50KSB7XHJcbiAgICAgIGlmICh0aGlzLndjU2VydmljZS5nZXREaXNwbGF5V29ya1NlYXJjaFNjcmVlbigpKSB7XHJcbiAgICAgICAgdGhpcy53b3JrU2VhcmNoQ29tcG9uZW50LnN1Ym1pdEZvcm0oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdvVG9XZWVrbHlDZXJ0KCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy53b3JrU2VhcmNoV2FpdmVkKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1dlZWtseUNlcnQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ29Ub1dlZWtseUNlcnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdvVG9XZWVrbHlDZXJ0KCkge1xyXG5cdFx0XHQgICAgY29uc29sZS5lcnJvcihcIkdUV1wiKTtcclxuICAgIGlmICh0aGlzLmlzTVMoKSkge1xyXG4gICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IDE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMud2Vla2x5UXVlc3Rpb25zKSB7XHJcbiAgICAgICAgICB0aGlzLmNvdW50ID0gdGhpcy5jb3VudCArIDE7XHJcbiAgICAgICAgICBpZih0aGlzLmNvdW50ID4gMSAmJiB0aGlzLmxzLmlzQ3NyKCkpe1xyXG4gICAgICAgICAgICB0aGlzLndlZWtseVF1ZXN0aW9ucy5xdWVzdGlvbm5haXJlLnF1ZXN0aW9ubmFpcmUucXVlc3Rpb25uYWlyZUZvcm0uZm9ybS5jb250cm9sc1snaGlkQ3NyRmlyc3RQYXNzJ10uc2V0VmFsdWUoJ1knKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMud2Vla2x5UXVlc3Rpb25zLnN1Ym1pdFF1ZXN0aW9ubmFpcmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLndlZWtseVF1ZXN0aW9ucykge1xyXG4gICAgICAgIHRoaXMud2Vla2x5UXVlc3Rpb25zLnN1Ym1pdFF1ZXN0aW9ubmFpcmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuIFxyXG4gIHN1Y2Nlc3Mod2Vla2x5UXVlc3Rpb25zUmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGZvcm1EYXRhOiBXZWVrbHlDZXJ0aWZpY2F0aW9uTW9kZWwgPVxyXG4gICAgICBKU09OLnBhcnNlKHdlZWtseVF1ZXN0aW9uc1Jlc3BvbnNlLnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKTtcclxuICAgIGZvcm1EYXRhLndvcmtTZWFyY2hSZWNvcmRzID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKTtcclxuICAgIGZvcm1EYXRhLndvcmtTZWFyY2hEYXRhID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaERhdGEoKTtcclxuICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhID0gZm9ybURhdGE7XHJcbiAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS5jbGFpbVdlZWtFbmREYXRlID0gdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEud2Vla1RvQ2VydGlmeTtcclxuICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLmhpZEluQXBwcm92ZWRUcmFpbmluZyA9IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmhpZEluQXBwcm92ZWRUcmFpbmluZztcclxuICAgIHRoaXMub3BlbkZvbGxvd3VwUXVlc3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuRm9sbG93dXBRdWVzdGlvbnMoKSB7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpO1xyXG4gICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEuc2hvd1dvcmtTZWFyY2hTY3JlZW4gPSB0aGlzLndjU2VydmljZS5nZXREaXNwbGF5V29ya1NlYXJjaFNjcmVlbigpO1xyXG4gICAgaWYgKHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzQ291bnQoKSA+IDApIHtcclxuICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGEuaXNXb3JrU2VhcmNoUGVyZm9ybWVkRmxhZyA9ICcxJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGEgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS53b3JrU2VhcmNoRGF0YS5pc1dvcmtTZWFyY2hQZXJmb3JtZWRGbGFnID0gJzAnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLndjU2VydmljZS5nZXRFbXBsb3llclJlY29yZHNDb3VudCgpID4gMCkge1xyXG4gICAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS53b3JrUGVyZm9ybWVkID0gJ1knO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1BlcmZvcm1lZCA9ICdOJztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS53b3JrUGVyZm9ybWVkU2VhcE5vdFBhcnR0aW1lID0gKHRoaXMud2NTZXJ2aWNlLmdldEVtcGxveWVyUmVjb3Jkc0NvdW50KCkgPiAwICYmIHRoaXMud2NTZXJ2aWNlLmdldEhpZElzU2VhcFBhcnRpY2lwYW50KCkpID8gJ1knIDogJ04nO1xyXG5cclxuICAgIGlmKHRoaXMuaXNNUygpICYmIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmhpZElzU2VhcFBhcnRpY2lwYW50PT0nWScpe1xyXG4gICAgICAvL0RvbmUgdG8gaGFuZGxlIG5ldyB2ZXJiaWFnZSBmb3Igd29ya1BlcmZvcm1lZCBmb3IgU2VhcCBQYXJ0aWNpcGFudHMuXHJcbiAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS53b3JrUGVyZm9ybWVkID0gdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1BlcmZvcm1lZFNlYXBOb3RQYXJ0dGltZTtcclxuXHJcbiAgICAvL0RvbmUgdG8gaGFuZGxlIG5ldyB2ZXJiaWFnZSBmb3IgU0VBUCBQYXJ0aWNpcGFudHMgZm9yIGF2YWlsYWJsZSBxdWVzdGlvbi5cclxuICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLmF2YWlsYWJsZSA9ICh0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS5hdmFpbGFibGVTZWFwKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndjU2VydmljZS5kZXRlcm1pbmVRdWVzdGlvbm5pYXJlVG9PcGVuKCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG5cdCAgICAgICAgY29uc29sZS5lcnJvcihcInFlcyBTdWNjZXNzXCIpO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzTW9kZWwgPSByZXMuc3RhdHVzTW9kZWw7XHJcbiAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gcmVzLnN0YXR1c01vZGVsLnFlUXVlcnlNb2RlbHM7XHJcbiAgICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEucG90ZW50aWFsSXNzdWVzID0gcmVzLnBvdGVudGlhbElzc3VlSWRzO1xyXG4gICAgICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLnBlbnNpb25EZW5pZWRQb3RlbnRpYWxJc3N1ZXMgPSByZXMucGVuc2lvbkRlbmllZFBvdGVudGlhbElzc3VlcztcclxuICAgICAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS5ib251c1BheVBvdGVudGlhbElzc3VlcyA9IHJlcy5ib251c1BheVBvdGVudGlhbElzc3VlcztcclxuICAgICAgICB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS5vdGhlclBheVBvdGVudGlhbElzc3VlcyA9IHJlcy5vdGhlclBheVBvdGVudGlhbElzc3VlcztcclxuICAgICAgICBpZiAodGhpcy5zdGF0dXNNb2RlbC5zaG93UWUpIHtcclxuICAgICAgICAgIHRoaXMuaXNPcGVuUWUgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLmVtcGxveWVyRGV0YWlsc0xpc3QgIT0gbnVsbFxyXG4gICAgICAgICAgICAmJiB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YS5lbXBsb3llckRldGFpbHNMaXN0Lmxlbmd0aCA+IDBcclxuICAgICAgICAgICAgJiYgcmVzLnRlbXBFbXBsb3llclNlcFBvdGVudGlhbElzc3VlTWFwICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEudGVtcEVtcGxveWVyU2VwUG90ZW50aWFsSXNzdWVNYXAgPSByZXMudGVtcEVtcGxveWVyU2VwUG90ZW50aWFsSXNzdWVNYXA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0Fja25vd2xlZGdlbWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoZXJyLm1zZyk7XHJcbiAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9wZW5TdW1tYXJ5UG9zdFF1ZXN0aW9ubmFpcmVzKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCAmJiBldmVudC5zaXplID4gMCkge1xyXG4gICAgICBpZiAoZXZlbnQuaGFzKDkwMDEpKSB7XHJcbiAgICAgICAgbGV0IHdvcmtTZWFyY2hSZWFzb24gPSBldmVudC5nZXQoOTAwMSkucmVhc29uSW5hZGVxdWF0ZVdvcmtTZWFyY2g7XHJcbiAgICAgICAgaWYodGhpcy5pc0NUKCkpe1xyXG4gICAgICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGEucmVhc29uSW5hZGVxdWF0ZVdvcmtTZWFyY2ggPSB3b3JrU2VhcmNoUmVhc29uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGEuaXNXb3JrU2VhcmNoUGVyZm9ybWVkRmxhZyA9PSAnMSdcclxuICAgICAgICAgICYmIHRoaXMud2NTZXJ2aWNlLmNoZWNrSWZJbmFkZXF1YXRlV29ya1NlYXJjaFF1ZXN0aW9ubmFpcmVTaG91bGRCZU9wZW5lZCgpXHJcbiAgICAgICAgICAmJiB0aGlzLmlzTVMoKSkge1xyXG4gICAgICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGEucmVhc29uSW5hZGVxdWF0ZVdvcmtTZWFyY2ggPSB3b3JrU2VhcmNoUmVhc29uO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGEuaXNXb3JrU2VhcmNoUGVyZm9ybWVkRmxhZyA9PSAnMCcpIHtcclxuICAgICAgICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLndvcmtTZWFyY2hEYXRhLmV4cGxhaW5XaHlEaWROb3RMb29rRm9yV29yayA9IHdvcmtTZWFyY2hSZWFzb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChldmVudC5oYXMoMTc5KSkge1xyXG4gICAgICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLmFkbWluTGVhdmVEZXRhaWxzID0gZXZlbnQuZ2V0KDE3OSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGV2ZW50Lmhhcyg5MDAyKSkge1xyXG4gICAgICAgIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnREYXRhLmFkbWluTGVhdmVEZXRhaWxzID0gZXZlbnQuZ2V0KDkwMDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93QWNrbm93bGVkZ2VtZW50KCk7XHJcbiAgICB0aGlzLmlzT3BlblFlID0gZmFsc2U7XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gIH1cclxuXHJcbiAgb25RZUNsb3NlKCkge1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICB9XHJcblxyXG4gIGdvVG9TdW1tYXJ5KCkge1xyXG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IDE7XHJcbiAgfVxyXG5cclxuICBjbG9zZUFjaygpIHtcclxuICAgIHRoaXMuc2hvd0FjayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZmlsZVdlZWtseUNlcnREb25lKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNob3dBY2sgPSBmYWxzZTtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uRGF0YSA9IGV2ZW50O1xyXG4gICAgaWYodGhpcy5pc01TKCkgJiYgdGhpcy5tdWx0aXBsZVdlZWtzRHVlID09IHRydWUgJiYgdGhpcy5yZWNlaXZlZERhdGEpXHJcbiAgICB7XHJcbiAgICAgIC8vIGlmIHRoaXMgaXMgdGhlIGxhc3QgdGltZSBmaWxpbmcgd2Vla2xpZXMgdGhyb3VnaCBpbnRlcmltIGNvbmZpcm1hdGlvbiBmbG93IFxyXG4gICAgICBpZih0aGlzLnJlY2VpdmVkRGF0YS5jdXJyZW50TnVtYmVyRmlsaW5nID09IHRoaXMucmVjZWl2ZWREYXRhLnRvdGFsICYmIHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLndlZWtzVG9CZUNlcnRpZmllZC5sZW5ndGg9PTEpXHJcbiAgICAgIHtcclxuICAgICAgICB0aGlzLnNob3dJbnRlcmltQ29uZmlybWF0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm11bHRpcGxlV2Vla3NEdWUgPSBmYWxzZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlPy5yZW1vdmVJdGVtKCdpbnRlcmltQ29uZmlybWF0aW9uRGF0YScpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycil7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgcmVtb3ZpbmcgZnJvbSBMU1wiLCBlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBpZiBtb3JlIHdlZWtzIHJlbWFpbiBmb3Igd2Vla2xpZXMgdGhyb3VnaCBpbnRlcmltIGNvbmZpcm1hdGlvbiBmbG93IFxyXG4gICAgICBlbHNlIGlmICh0aGlzLnJlY2VpdmVkRGF0YS5jb3VudCA8PSB0aGlzLnJlY2VpdmVkRGF0YS50b3RhbCAgJiYgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEud2Vla3NUb0JlQ2VydGlmaWVkLmxlbmd0aD4xKVxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5zaG93SW50ZXJpbUNvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gLy8gaWYgZmlyc3QgdGltZSBmaWxpbmcgd2Vla2xpZXMgdGhyb3VnaCBpbnRlcmltIGNvbmZpcm1hdGlvbiBmbG93XHJcbiAgICBpZih0aGlzLmlzTVMoKSAmJiB0aGlzLm11bHRpcGxlV2Vla3NEdWUgPT0gdHJ1ZSAmJiAhdGhpcy5yZWNlaXZlZERhdGEpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuc2hvd0ludGVyaW1Db25maXJtYXRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLnNob3dDb25maXJtYXRpb24gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKCghdGhpcy5pc01TKCkpIHx8ICh0aGlzLmlzTVMoKSAmJiB0aGlzLm11bHRpcGxlV2Vla3NEdWUgPT0gZmFsc2UpKSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGNsb3NlQ29uZmlybWF0aW9uUG9wdXAoKSB7XHJcbiAgICBpZih0aGlzLmlzTVMoKSAmJiB0aGlzLm11bHRpcGxlV2Vla3NEdWUgPT0gdHJ1ZSlcclxuICAgIHtcclxuICAgICAgdGhpcy5zaG93SW50ZXJpbUNvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy53Y1NlcnZpY2UucmVzZXRXZWVrbHlDZXJ0RGF0YSgpO1xyXG5cclxuICAgIC8vIFRoaXMgaXMgYWRkZWQgYXMgdGhlIG5hdmlnYXRpb24gd2FzIHRvbyBxdWljayBmb3IgdGhlIGNvbmZpcm1hdGlvbiB0byBjbG9zZSBpbiB0aW1lLCBsZWF2aW5nIGNvbmZpcm1hdGlvbiBvcGVuLCBldmVuIHRob3VnaCB0aGUgcGFnZSB3YXMgdXBkYXRlZCBpbiBiYWNrZW5kXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZ29Ib21lKCksIDEwMCk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvV2Vla2xpZXMoZGF0YTogYW55KSB7XHJcbiAgICBpZih0aGlzLmlzTVMoKSAmJiB0aGlzLm11bHRpcGxlV2Vla3NEdWUgPT0gdHJ1ZSlcclxuICAgIHtcclxuICAgICAgdGhpcy5zaG93SW50ZXJpbUNvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICB0cnkge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlPy5zZXRJdGVtKCdpbnRlcmltQ29uZmlybWF0aW9uRGF0YScsIGRhdGEpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycil7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgYWRkZGluZyBmcm9tIExTXCIsIGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMud2NTZXJ2aWNlLnJlc2V0V2Vla2x5Q2VydERhdGEoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSwgMTAwKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ29Ib21lKCkge1xyXG4gICAgaWYgKHRoaXMubHMuaXNDbGFpbWFudCgpKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJ3dlbGNvbWU/d2NEb25lPXRydWUnKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5scy5pc0NzcigpKSB7XHJcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3RXaXRoRGF0YSh0aGlzLnV0aWwuZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpLCBcInNlYXJjaC1zc25cIiwgdGhpcy5jb250ZXh0U2VydmljZS5nZXRVbkVuY29kZWRTc24oKSwgdGhpcy5uYXYpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3dlbGNvbWUnKTtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgfVxyXG5cclxuICBzaG93QWNrbm93bGVkZ2VtZW50KCkge1xyXG4gICAgaWYgKHRoaXMuc3VtbWFyeUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnN1bW1hcnlDb21wb25lbnQuc3VibWl0Rm9ybSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaXNNUygpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IDI7XHJcbiAgICAgICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VtZW50TXNDb21wb25lbnQpIHtcclxuICAgICAgICAgIHRoaXMuYWNrbm93bGVkZ2VtZW50TXNDb21wb25lbnQuc3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2hvd0FjayA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblFlU3VjY2VzcygpIHtcclxuICAgIHRoaXMuc2hvd0FjayA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBpb25WaWV3V2lsbExlYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ocy5zZXRIZWxwQXZhaWxhYmlsaXR5KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGlvblZpZXdEaWRFbnRlcigpIHtcclxuICAgIHRoaXMud2NTZXJ2aWNlLnJlc2V0V2Vla2x5Q2VydERhdGEoKTtcclxuICAgIHRoaXMuaHMuc2V0SGVscEF2YWlsYWJpbGl0eSh0cnVlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycikge1xyXG4gICAgdGhpcy5lcnJvck1zZyA9IGVyci5tc2c7XHJcbiAgfVxyXG5cclxuICBoYXNIaXJlZFN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pIHtcclxuICAgIC8vVE9ETzogVXBkYXRlIHRoaXMgZm9yIHJldHVybiB0byB3b3JrIGZvciBoaXJlZCBjYXNlc1xyXG4gICAgIGlmICghdGhpcy5pc01FKCkpIHtcclxuICAgICAgdGhpcy5yZWFkT25seUZpZWxkcyA9IHN0YXR1cyA/IFsncmV0dXJuaW5nVG9Xb3JrJ10gOiBudWxsO1xyXG4gICAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seURhdGEgPSB7IHJldHVybmluZ1RvV29yazogXCJZXCJ9O1xyXG4gICAgICB9XHJcbiAgICB9IFxyXG4gIH1cclxuXHJcbiAgaGFzV29ya2VkRnVsbFRpbWVPclN0YXJ0ZWRXb3JraW5nU3RhdHVzKHN0YXR1czogYm9vbGVhbil7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy53ZWVrbHlRdWVzdGlvbnM/LnF1ZXN0aW9ubmFpcmU/LnF1ZXN0aW9ubmFpcmU/LnF1ZXN0aW9ubmFpcmVGb3JtPy5mb3JtO1xyXG4gICAgaWYodGhpcy5pc01FKCkpe1xyXG4gICAgICBpZihzdGF0dXMgJiYgZm9ybSl7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seUZpZWxkcyA9IHN0YXR1cyA/IFsnd29ya1BlcmZvcm1lZCddOiBudWxsO1xyXG4gICAgICAgIHRoaXMucmVhZE9ubHlEYXRhID0ge3dvcmtQZXJmb3JtZWQ6IFwiWVwifTtcclxuICAgICAgICBmb3JtLmdldCgnd29ya1BlcmZvcm1lZCcpPy5zZXRWYWx1ZSgnWScpO1xyXG4gICAgICB9IGVsc2V7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seUZpZWxkcyA9IHN0YXR1cyA/IFsnd29ya1BlcmZvcm1lZCddOiBudWxsO1xyXG4gICAgICAgIHRoaXMucmVhZE9ubHlEYXRhID0ge3dvcmtQZXJmb3JtZWQ6IG51bGx9O1xyXG4gICAgICAgIGlmKGZvcm0pe1xyXG4gICAgICAgICAgZm9ybS5nZXQoJ3dvcmtQZXJmb3JtZWQnKS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUhpZGRlbkZpZWxkcyhyZXM6IFdlZWtseUNlcnRFbGlnaWJpbGl0eU1vZGVsVjIpIHtcclxuXHJcbiAgICB0aGlzLnJlYWRPbmx5RmllbGRzID0gWydoaWRTaG93UmV0dXJuVG9Xb3JrUXVlc3Rpb24nLCAnaGlkU2hvd1JldHVybmVkVG9Xb3JrUXVlc3Rpb24nLCAnaGlkU2hvd05ld1BlbnNpb25RdWVzdGlvbicsICdoaWRTaG93UGVuc2lvbkNoYW5nZWRRdWVzdGlvbicsICdoaWRTaG93RGlzbWlzc2FsUGF5Q2hhbmdlZFF1ZXN0aW9uJywgJ2hpZFBhcnRUaW1lRW1wbG95ZXJBdmFpbGFibGUnLCAnaGlkUmVtdW5lcmF0aW9uSXNzdWVFeGlzdHMnLCAnaGlkSXNFbGlnaWJsZUZvckR1YScsICdjbGFpbWFudElkJywgJ2NsYWltV2Vla0VuZERhdGUnLCdkdWFBcHBJZCcsJ2hpZFBhcnRpYWxDbGFpbUVtcGxveW1lbnRGbGFnJywnaGlkV29ya1NlYXJjaEF1ZGl0RmxhZyddO1xyXG4gICAgdGhpcy5yZWFkT25seURhdGEgPSB7IGhpZFNob3dSZXR1cm5Ub1dvcmtRdWVzdGlvbjogcmVzLmhpZFNob3dSZXR1cm5Ub1dvcmtRdWVzdGlvbiwgaGlkU2hvd1JldHVybmVkVG9Xb3JrUXVlc3Rpb246IHJlcy5oaWRTaG93UmV0dXJuZWRUb1dvcmtRdWVzdGlvbiwgaGlkU2hvd05ld1BlbnNpb25RdWVzdGlvbjogcmVzLmhpZFNob3dOZXdQZW5zaW9uUXVlc3Rpb24sIGhpZFNob3dQZW5zaW9uQ2hhbmdlZFF1ZXN0aW9uOiByZXMuaGlkU2hvd1BlbnNpb25DaGFuZ2VkUXVlc3Rpb24sIGhpZFNob3dEaXNtaXNzYWxQYXlDaGFuZ2VkUXVlc3Rpb246IHJlcy5oaWRTaG93RGlzbWlzc2FsUGF5Q2hhbmdlZFF1ZXN0aW9uLCBoaWRQYXJ0VGltZUVtcGxveWVyQXZhaWxhYmxlOiByZXMuaGlkUGFydFRpbWVFbXBsb3llckF2YWlsYWJsZSwgaGlkUmVtdW5lcmF0aW9uSXNzdWVFeGlzdHM6IHJlcy5oaWRSZW11bmVyYXRpb25Jc3N1ZUV4aXN0cywgaGlkSXNFbGlnaWJsZUZvckR1YTogcmVzLmhpZElzRWxpZ2libGVGb3JEdWEsIGNsYWltYW50SWQ6IHJlcy5jbGFpbWFudElkLCBjbGFpbVdlZWtFbmREYXRlOiByZXMuY2xhaW1XZWVrRW5kRGF0ZSwgZHVhQXBwSWQ6cmVzLmR1YUFwcElkLCBoaWRQYXJ0aWFsQ2xhaW1FbXBsb3ltZW50RmxhZzogcmVzLmhpZFBhcnRpYWxDbGFpbUVtcGxveW1lbnRGbGFnLCBoaWRXb3JrU2VhcmNoQXVkaXRGbGFnOiByZXMuaGlkV29ya1NlYXJjaEF1ZGl0RmxhZyB9O1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgbG9hZENvbXBsZXRlKGV2ZW50KSB7XHJcbiAgICAgLyogRm9yIE1TLCB0aGUgYmFjayBidXR0b24gbmVlZHMgdG8gbG9hZCBjb21wbGV0ZSBmaWxsZWQgZGF0YSBhbG9uZyB3aXRoIGVsaWdpYmlsaXR5IGRhdGEuXHJcbiAgICAgRm9yIG90aGVyIHN0YXRlcywgZXZlcnl0aGluZyBpcyBpbiBwb3B1cCwgc28gb24gY2xvc2UsIGRhdGEgc3RpbGwgaXMgdGhlcmUgaW4gbW9kZWwuXHJcbiAgICAgTmVlZHMgd29yayAqL1xyXG4gICAvKiAgaWYgKHRoaXMuaXNNUygpICYmIHRoaXMuYWN0aXZlSW5kZXggPT0gMSAmJiB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YSkge1xyXG4gICAgICBcclxuICAgICAgdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydERhdGEud2Vla2x5Y2VydEVsaWdpYmlsaXR5TW9kZWxWMiA9IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhO1xyXG4gICAgICB0aGlzLmRhdGFUb0xvYWQgPSB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0RGF0YTtcclxuICAgICAgdGhpcy5oYW5kbGVIaWRkZW5GaWVsZHModGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGEpO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLmRhdGFUb0xvYWQgPSB0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YTtcclxuICAgIH0gKi9cclxuICAgICAgdGhpcy5kYXRhVG9Mb2FkID0gdGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGE7XHJcbiAgICAvKiogTkVXOiBGb3IgTG9hZGluZyB0aGUgUHJlLXNlbGVjdGVkIHF1ZXN0aW9uIGluIGNhc2Ugb2YgU3RhcnRlZCBXb3JraW5nKFNUV0spIGZvciBXUyBSZWNvcmRzIGFuZCBzZXR0aW5nIHRoZSB2YWx1ZSBZIGZvciB3b3JrUGVyZm9ybWVkICovXHJcbiAgICAgIHRoaXMud29ya1NlYXJjaFJlY29yZHMgPSB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpO1xyXG4gICAgaWYgKHRoaXMuaXNNRSgpICYmIHRoaXMud29ya1NlYXJjaFJlY29yZHMpIHtcclxuICAgICAgY29uc3QgaGFzU3RhcnRlZFdvcmtpbmcgPSAodGhpcy53b3JrU2VhcmNoUmVjb3JkcyA/PyBbXSkuc29tZShcclxuICAgICAgICByZWMgPT4gcmVjPy5zZWFyY2hSZXN1bHQgPT09ICdTVFdLJ1xyXG4gICAgICApO1xyXG4gICAgICBpZiAoaGFzU3RhcnRlZFdvcmtpbmcpIHtcclxuICAgICAgICB0aGlzLmRhdGFUb0xvYWQud29ya1BlcmZvcm1lZCA9IFwiWVwiO1xyXG4gICAgICAgIHRoaXMucmVhZE9ubHlGaWVsZHMgPSBbJ3dvcmtQZXJmb3JtZWQnXTtcclxuICAgICAgICB0aGlzLnJlYWRPbmx5RGF0YSA9IHsgd29ya1BlcmZvcm1lZDogXCJZXCIgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqIEVORCAqL1xyXG4gICAgICBpZiAodGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHNDb3VudFdpdGhIaXJlZFN0YXR1cygpID4gMCkgeyAgICAgICAgXHJcbiAgICAgICAgdGhpcy5oYXNIaXJlZFN0YXR1cyh0cnVlKTtcclxuICAgICAgICB0aGlzLmRhdGFUb0xvYWQucmV0dXJuaW5nVG9Xb3JrID0gXCJZXCI7XHJcbiAgICAgIH1cclxuICAgICAgLy9XZWVrbHkgRWFybmluZ3MgcmVtaW5kZXIgcG9wdXAgLSBzaG93biBldmVyeSB3ZWVrIGV4Y2VwdCBmb3Igd2FpdGluZyBwZXJpb2Qgd2Vla1xyXG4gICAgICBpZih0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS5pc1dhaXRpbmdXZWVrU2VydmVkID09PSB0cnVlKXtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLndlZWtseVdvcmtQZXJmb3JtZWRQb3B1cEZsYWcgPSB0cnVlKSwgMTAwMCk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGdldFByZXZpb3VzU3VuZGF5KGlucHV0RGF0ZSlcclxuICB7XHJcbiAgICBsZXQgdXRjRGF0ZSA9IG5ldyBEYXRlKGlucHV0RGF0ZSArIFwiVDAwOjAwOjAwWlwiKTtcclxuICAgIHV0Y0RhdGUuc2V0VVRDRGF0ZSh1dGNEYXRlLmdldFVUQ0RhdGUoKSAtIDYpO1xyXG4gICAgbGV0IHllYXIgPSB1dGNEYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XHJcbiAgICBsZXQgbW9udGggPSBTdHJpbmcodXRjRGF0ZS5nZXRVVENNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGxldCBkYXkgPSBTdHJpbmcodXRjRGF0ZS5nZXRVVENEYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YDtcclxuICB9XHJcblxyXG59XHJcbiIsIjxhcHAtZGFzaGJvYXJkLWhlbHAgKm5nSWY9XCJocy5pc1Nob3dpbmcoKVwiIFthY3RpdmVJbmRleF09XCI0XCI+PC9hcHAtZGFzaGJvYXJkLWhlbHA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgZXJyb3JNc2dcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIiBzdHlsZT1cInBhZGRpbmctdG9wOiA1MHB4O1wiPlxyXG4gICAgICA8aW9uLWljb24gbmFtZT1cImFsZXJ0LWNpcmNsZS1vdXRsaW5lXCIgc3R5bGU9XCJmb250LXNpemU6IDYwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcIj48L2lvbi1pY29uPlxyXG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVycm9yTXNnKVwiIHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpOyBmb250LXNpemU6IGxhcmdlcjtcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZ1wiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgIWVycm9yTXNnXCI+XHJcbiAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIG9mZnNldFhsPVwiMVwiICpuZ0lmPVwiIWlzTVMoKSB8fCAoaXNNUygpICYmICFtdWx0aXBsZVdlZWtzRHVlICYmICFkaXNwbGF5Q29udGludWVkV2Vla3NGaWxlZEhlYWRpbmcpXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImFwcC1oZWFkaW5nXCI+e3snd2Vla2xpZXMudjIudGFzay5oZWFkaW5nJyB8IHRyYW5zbGF0ZTpkeW5hbWljUGFyYW0gfX08L2gxPlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIG9mZnNldFhsPVwiMVwiICpuZ0lmPVwiKGlzTVMoKSAmJiBtdWx0aXBsZVdlZWtzRHVlICYmICFkaXNwbGF5Q29udGludWVkV2Vla3NGaWxlZEhlYWRpbmcpXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImFwcC1oZWFkaW5nXCI+e3snd2Vla2xpZXMudjIudGFzay5tdWx0aXBsZS53ZWVrcy5oZWFkaW5nJyB8IHRyYW5zbGF0ZTpkeW5hbWljUGFyYW0gfX08L2gxPlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIG9mZnNldFhsPVwiMVwiICpuZ0lmPVwiKGlzTVMoKSAmJiBtdWx0aXBsZVdlZWtzRHVlICYmIGRpc3BsYXlDb250aW51ZWRXZWVrc0ZpbGVkSGVhZGluZylcIj5cclxuICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXBwLWhlYWRpbmdcIj57eyd3ZWVrbGllcy52Mi50YXNrLm11bHRpcGxlLndlZWtzLmhlYWRpbmcuY29udGludWVkJyB8IHRyYW5zbGF0ZTpkeW5hbWljUGFyYW0gfX08L2gxPlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPC9pb24tZ3JpZD5cclxuXHJcbiAgICAgIDxzZWN0aW9uICpuZ0lmPVwiIWlzTVMoKVwiPlxyXG4gICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI1XCIgb2Zmc2V0WGw9XCIxXCIgc2l6ZUxnPVwiNlwiPlxyXG4gICAgICAgICAgICAgIDxhcHAtd29yay1zZWFyY2gtcXVlc3Rpb24tdjIgICpuZ0lmPVwiIWlzTG9hZGluZyAmJiAhZXJyb3JNc2dcIiAoc3VjY2Vzcyk9XCJnb1RvV2Vla2x5Q2VydCgpXCIgW3Nob3dDb3VudGVyXT1cInRydWVcIiAoaGFzSGlyZWRTdGF0dXMpPVwiaGFzSGlyZWRTdGF0dXMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGhhc1dvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1cyk9XCJoYXNXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXMoJGV2ZW50KVwiPjwvYXBwLXdvcmstc2VhcmNoLXF1ZXN0aW9uLXYyPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjVcIiBzaXplTGc9XCI2XCI+ICAgXHJcbiAgICAgICAgICAgICAgPGFwcC1mb3JtLWJ1aWxkZXIgI3dlZWtseVF1ZXN0aW9ucyBbZmxvd0tleV09XCInd2Vla2x5LWNlcnQnXCIgW2F1dG9TYXZlXT1cImZhbHNlXCIgW3Nob3dPbmx5UXVlc3Rpb25dPVwidHJ1ZVwiIFtoaWRlSGVhZGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtoaWRlRm9vdGVyXT1cInRydWVcIiBbc2l6ZVhzXT1cIjEyXCIgW3NpemVTbV09XCIxMlwiIFtzaXplTWRdPVwiMTJcIiBbc2l6ZUxnXT1cIjEyXCIgW3NpemVYbF09XCIxMlwiIFtvZmZzZXRYbF09XCIwXCIgW29mZnNldExnXT1cIjBcIiBcclxuICAgICAgICAgICAgICAgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiIChvbkNvbXBsZXRlKT1cInN1Y2Nlc3MoJGV2ZW50KVwiIFtkeW5hbWljUGFyYW1dPVwiZHluYW1pY1BhcmFtXCIgW2RhdGFdPVwiZGF0YVRvTG9hZFwiIFxyXG4gICAgICAgICAgICAgICBbbXVsdGlNb2RlXT1cInRydWVcIiBbcmVhZE9ubHlGaWVsZHNdPVwicmVhZE9ubHlGaWVsZHNcIiAob25Mb2FkQ29tcGxldGUpPVwibG9hZENvbXBsZXRlKCRldmVudClcIj5cclxuICAgICAgICAgICAgIDwvYXBwLWZvcm0tYnVpbGRlcj4gICAgICAgICBcclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaXNNUygpXCI+XHJcbiAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiM1wiIG9mZnNldExnPVwiM1wiIG9mZnNldFhsPVwiM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJhY3RpdmVJbmRleCA9PSAwIHx8IGFjdGl2ZUluZGV4ID09IDFcIj5cclxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImhlYWRpbmctd2Vla2xpZXNcIj48Yj4ge3sgY29udGVudHNbYWN0aXZlSW5kZXhdIH19IDwvYj48L2gxPlxyXG4gICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cImFjdGl2ZUluZGV4ID09IDJcIj5cclxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImhlYWRpbmctd2Vla2xpZXMtYWNrXCI+PGI+IHt7IGNvbnRlbnRzW2FjdGl2ZUluZGV4XSB9fSA8L2I+PC9oMT5cclxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCIyXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJ3ZWVrbGllcy1zdGVwc1wiIHNpemU9XCIxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIiA+XHJcbiAgICAgICAgICAgICAgPHAtc3RlcHMgW21vZGVsXT1cIml0ZW1zXCIgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4XCIgW3N0eWxlQ2xhc3NdPVwiJ2NvbXBsZXRlZC0nK2FjdGl2ZUluZGV4XCIgW25nU3R5bGVdPVwieyctLXN0ZXAtd2lkdGgnOic1MHB4JywnLS1zdGVwLWhlaWdodCc6JzUwcHgnfVwiPlxyXG4gICAgICAgICAgICAgIDwvcC1zdGVwcz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjNcIj5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cIm1hcmdpbi10b3A6IC0zNXB4O1wic2l6ZT1cIjEyXCIgc2l6ZVNtPVwiOFwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiOFwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI1XCIgb2Zmc2V0TGc9XCIzXCIgb2Zmc2V0WGw9XCIzXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcbiAgICAgICAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XHJcbiAgICAgICAgICA8L2lvbi1jb2w+ICAgICAgXHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tZ3JpZCAqbmdJZj1cImFjdGl2ZUluZGV4ID09IDBcIj5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplU209XCI4XCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI4XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjVcIiBvZmZzZXRMZz1cIjNcIiBvZmZzZXRYbD1cIjNcIiBvZmZzZXRNZD1cIjFcIj5cclxuICAgICAgICAgICAgICA8YXBwLXdvcmstc2VhcmNoLXF1ZXN0aW9uLXYyICAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgIWVycm9yTXNnXCIgKHN1Y2Nlc3MpPVwiZ29Ub1dlZWtseUNlcnQoKVwiIFtzaG93Q291bnRlcl09XCJ0cnVlXCIgKGhhc0hpcmVkU3RhdHVzKT1cImhhc0hpcmVkU3RhdHVzKCRldmVudClcIj48L2FwcC13b3JrLXNlYXJjaC1xdWVzdGlvbi12Mj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgICAgPGlvbi1ncmlkICpuZ0lmPVwiYWN0aXZlSW5kZXggPT0gMVwiPlxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjUuMjVcIiBzaXplWGw9XCI1LjI1XCIgb2Zmc2V0TGc9XCIzXCIgb2Zmc2V0WGw9XCIzXCIgb2Zmc2V0TWQ9XCIxXCI+ICAgXHJcbiAgICAgICAgICAgICAgPGFwcC1mb3JtLWJ1aWxkZXIgI3dlZWtseVF1ZXN0aW9ucyBbZmxvd0tleV09XCInd2Vla2x5LWNlcnQnXCIgW2F1dG9TYXZlXT1cInRydWVcIiBbc2hvd09ubHlRdWVzdGlvbl09XCJ0cnVlXCIgW2hpZGVIZWFkZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2hpZGVGb290ZXJdPVwidHJ1ZVwiIFtzaXplWHNdPVwiMTJcIiBbc2l6ZVNtXT1cIjEyXCIgW3NpemVNZF09XCIxMlwiIFtzaXplTGddPVwiMTJcIiBbc2l6ZVhsXT1cIjEyXCIgW29mZnNldFhsXT1cIjBcIiBbb2Zmc2V0TGddPVwiMFwiIFxyXG4gICAgICAgICAgICAgICAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCIgKG9uQ29tcGxldGUpPVwic3VjY2VzcygkZXZlbnQpXCIgW2R5bmFtaWNQYXJhbV09XCJkeW5hbWljUGFyYW1cIiBbZGF0YV09XCJkYXRhVG9Mb2FkXCIgXHJcbiAgICAgICAgICAgICAgIFttdWx0aU1vZGVdPVwidHJ1ZVwiIFtyZWFkT25seUZpZWxkc109XCJyZWFkT25seUZpZWxkc1wiIChvbkxvYWRDb21wbGV0ZSk9XCJsb2FkQ29tcGxldGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgPC9hcHAtZm9ybS1idWlsZGVyPiAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8IS0tIFdlZWtseSBFYXJuaW5ncyByZW1pbmRlciBwb3B1cCAtIHNob3duIGV2ZXJ5IHdlZWsgZXhjZXB0IGZvciB3YWl0aW5nIHBlcmlvZCB3ZWVrIC0tPlxyXG4gICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJ3ZWVrbHlXb3JrUGVyZm9ybWVkUG9wdXBGbGFnXCI+XHJcbiAgICAgICAgICAgIDxhcHAtd2Vla2x5LXdvcmstcGVyZm9ybWVkLXBvcHVwIFtzaG93V2Vla2x5V29ya1BlcmZvcm1lZFBvcHVwXT1cInRydWVcIj48L2FwcC13ZWVrbHktd29yay1wZXJmb3JtZWQtcG9wdXA+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9pb24tZ3JpZD5cclxuICAgICAgICA8aW9uLWdyaWQgKm5nSWY9XCJhY3RpdmVJbmRleCA9PSAyXCI+XHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIiBvZmZzZXRMZz1cIjNcIiBvZmZzZXRYbD1cIjNcIiBvZmZzZXRNZD1cIjFcIj5cclxuICAgICAgICAgICAgICA8YXBwLWFja25vd2xlZGdlbWVudC1tcyAqbmdJZj1cInNob3dBY2tcIiAoc3VjY2Vzcyk9XCJmaWxlV2Vla2x5Q2VydERvbmUoJGV2ZW50KVwiIChvbkNsb3NlKT1cImNsb3NlQWNrKClcIj5cclxuICAgICAgICAgICAgICA8L2FwcC1hY2tub3dsZWRnZW1lbnQtbXM+ICAgXHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICA8YXBwLW11bHRpLXF1ZXN0aW9ubmFpcmUgW3FlUXVlcnlNb2RlbHNdPVwicWVRdWVyeU1vZGVsc1wiICpuZ0lmPVwiaXNPcGVuUWVcIiBcclxuICAgIChvbkNvbXBsZXRlKT1cIm9wZW5TdW1tYXJ5UG9zdFF1ZXN0aW9ubmFpcmVzKCRldmVudClcIiAobW9kZWxDYW5jZWwpPVwib25RZUNsb3NlKClcIiBcclxuICAgIFtoZWFkZXJdPVwiJ0ZvbGxvdy11cCBRdWVzdGlvbnMnIHwgdHJhbnNsYXRlXCIgW3Nob3dRdWVzdGlvbk51bWJlcl09XCJ0cnVlXCI+PC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhaXNNUygpXCI+XHJcbiAgICAgICAgPGFwcC1hY2tub3dsZWRnZW1lbnQtdjIgKm5nSWY9XCJzaG93QWNrXCIgKHN1Y2Nlc3MpPVwiZmlsZVdlZWtseUNlcnREb25lKCRldmVudClcIiAob25DbG9zZSk9XCJjbG9zZUFjaygpXCI+XHJcbiAgICAgICAgPC9hcHAtYWNrbm93bGVkZ2VtZW50LXYyPiBcclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8YXBwLWNvbmZpcm1hdGlvbiAqbmdJZj1cInNob3dDb25maXJtYXRpb25cIiAob25DbG9zZSk9XCJjbG9zZUNvbmZpcm1hdGlvblBvcHVwKClcIiBbZGF0YV09XCJjb25maXJtYXRpb25EYXRhXCIgW2R5bmFtaWNQYXJhbV09XCJkeW5hbWljUGFyYW1cIj48L2FwcC1jb25maXJtYXRpb24+XHJcbiAgICAgIFxyXG4gICAgICA8YXBwLWludGVyaW0tY29uZmlybWF0aW9uICpuZ0lmPVwic2hvd0ludGVyaW1Db25maXJtYXRpb25cIiAob25DbG9zZSk9XCJjbG9zZUNvbmZpcm1hdGlvblBvcHVwKClcIiAob25OZXh0KT1cIm5hdmlnYXRlVG9XZWVrbGllcygkZXZlbnQpXCIgW2RhdGFdPVwiY29uZmlybWF0aW9uRGF0YVwiIFtkeW5hbWljUGFyYW1dPVwiZHluYW1pY1BhcmFtXCI+PC9hcHAtaW50ZXJpbS1jb25maXJtYXRpb24+XHJcblxyXG4gICAgICA8aW9uLWZvb3RlciAqbmdJZj1cIiFpc01TKClcIj5cclxuICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XHJcbiAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiBpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjVcIiBvZmZzZXRYbD1cIjFcIiBzaXplTGc9XCI2XCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJnb0hvbWUoKVwiPkNsb3NlXHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIiBzaXplPVwiMTJcIiBzaXplWGw9XCI1XCIgc2l6ZUxnPVwiNlwiPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cInNvbGlkXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJvcGVuTmV4dFBhZ2UoKVwiID5TdWJtaXRcclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPC9pb24tZm9vdGVyPlxyXG4gICAgICA8c2VjdGlvbiAqbmdJZj1cImlzTVMoKVwiPlxyXG4gICAgICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmcgYnV0dG9ucy1yb3dcIj5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCIzXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJ3ZWVrbGllcy1sZWZ0LWJ1dHRvbnNcIiBzaXplPVwiM1wiPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImNsb3NlXCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKm5nSWY9XCJhY3RpdmVJbmRleCA9PSAwXCIgKGNsaWNrKT1cImdvSG9tZSgpXCI+Q2xvc2VcclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJhY2tcIiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAqbmdJZj1cImFjdGl2ZUluZGV4ICE9IDBcIiAoY2xpY2spPVwiYWN0aXZlSW5kZXggPSBhY3RpdmVJbmRleCAtIDFcIj5cclxuICAgICAgICAgICAgICBCYWNrPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJ3ZWVrbGllcy1yaWdodC1idXR0b25zXCIgc2l6ZT1cIjNcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJuZXh0XCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJzb2xpZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwib3Blbk5leHRQYWdlKClcIiAqbmdJZj1cImFjdGl2ZUluZGV4ICE9IDJcIj5OZXh0XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJzdWJtaXRcIiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cInNvbGlkXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzaG93QWNrbm93bGVkZ2VtZW50KClcIiAqbmdJZj1cImFjdGl2ZUluZGV4ID09IDJcIj5cclxuICAgICAgICAgICAgICBTdWJtaXQ8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPjwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvZGl2PiJdfQ==