@reusa/ngx-reusa-app-lib 0.0.1330 → 0.0.1332

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 (528) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2376 -1248
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +158 -99
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +36 -16
  4. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  5. package/esm2022/lib/components/address/address.component.mjs +267 -81
  6. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  7. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  8. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  9. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  10. package/esm2022/lib/components/bank-details/bank-details.component.mjs +47 -123
  11. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  12. package/esm2022/lib/components/contact-us/contact-us.component.mjs +4 -16
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  19. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  20. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  21. package/esm2022/lib/components/email-update/email-update.component.mjs +16 -36
  22. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +379 -450
  23. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  24. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  25. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  26. package/esm2022/lib/components/error/error.component.mjs +22 -5
  27. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  28. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  29. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  30. package/esm2022/lib/components/footer/footer.component.mjs +90 -67
  31. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  32. package/esm2022/lib/components/header/header.component.mjs +456 -136
  33. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  34. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +13 -13
  35. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  36. package/esm2022/lib/components/info/info.component.mjs +4 -12
  37. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +1 -1
  38. package/esm2022/lib/components/job-title/job-title.component.mjs +93 -94
  39. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +142 -331
  40. package/esm2022/lib/components/link/link.component.mjs +1 -1
  41. package/esm2022/lib/components/menu/menu.component.mjs +59 -53
  42. package/esm2022/lib/components/mfa/mfa.component.mjs +116 -188
  43. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  44. package/esm2022/lib/components/money-expect/money-expect.component.mjs +148 -36
  45. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  46. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  47. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  48. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  49. package/esm2022/lib/components/profile/profile.component.mjs +748 -338
  50. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +110 -33
  51. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  52. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  53. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  54. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  55. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +386 -129
  56. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +72 -70
  57. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +875 -1091
  58. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +186 -565
  59. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  60. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +113 -29
  61. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  62. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  63. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
  65. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  66. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -27
  67. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  68. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  69. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +4 -4
  70. package/esm2022/lib/components/user-login/user-login.component.mjs +116 -300
  71. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  72. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  73. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  74. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  75. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +612 -241
  76. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +114 -59
  77. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +806 -0
  78. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  79. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  80. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  81. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  82. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  83. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  84. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +684 -0
  85. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  86. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  87. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  88. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  89. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  90. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  91. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  92. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  93. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  94. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  95. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  96. package/esm2022/lib/models/CountyModel.mjs +3 -0
  97. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  98. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  99. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  100. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  101. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  102. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  103. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  104. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  105. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  106. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  107. package/esm2022/lib/models/LibConstants.mjs +45 -6
  108. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  109. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  110. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  111. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  112. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  113. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  114. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  115. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  116. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  117. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  118. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  119. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  120. package/esm2022/lib/models/combo-model.mjs +343 -0
  121. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  122. package/esm2022/lib/models/dependent.model.mjs +1 -1
  123. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  124. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  125. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  126. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  127. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  128. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  129. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  130. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  131. package/esm2022/lib/models/questionnaire/ComboModel.mjs +101 -179
  132. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  133. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  134. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  135. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  136. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  137. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  138. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  139. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  140. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  141. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  142. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  143. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  144. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  145. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  146. package/esm2022/lib/pages/BasePage.mjs +4 -23
  147. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  148. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  149. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  150. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  151. package/esm2022/lib/pages/common/login/login.component.mjs +6 -5
  152. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  153. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  154. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -1
  155. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  156. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  157. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  158. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +1 -1
  159. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  160. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  161. package/esm2022/lib/services/base-service.mjs +4 -1
  162. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  163. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  164. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  165. package/esm2022/lib/services/claims/claims.service.mjs +105 -14
  166. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  167. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  168. package/esm2022/lib/services/help/help.service.mjs +1 -1
  169. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  170. package/esm2022/lib/services/login/login.service.mjs +29 -11
  171. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  172. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  173. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  174. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  175. package/esm2022/lib/services/util/util.service.mjs +61 -5
  176. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  177. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  178. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  179. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  180. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  181. package/esm2022/lib/validations/AppValidators.mjs +78 -62
  182. package/esm2022/public-api.mjs +47 -5
  183. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41926 -22359
  184. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  185. package/lib/components/add-employer/add-employer.component.d.ts +85 -52
  186. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  187. package/lib/components/add-participant/add-participant.component.d.ts +11 -2
  188. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  189. package/lib/components/add-payment/add-payment.component.d.ts +7 -2
  190. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  191. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  192. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  193. package/lib/components/address/address.component.d.ts +41 -5
  194. package/lib/components/address/address.component.d.ts.map +1 -1
  195. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  196. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  197. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  198. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  199. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  200. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  201. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  202. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  203. package/lib/components/bank-details/bank-details.component.d.ts +0 -6
  204. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  205. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  206. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  207. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  208. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  209. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  210. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  211. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  212. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  213. package/lib/components/email-update/email-update.component.d.ts +1 -7
  214. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  215. package/lib/components/employer-grid/employer-grid.component.d.ts +5 -13
  216. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  217. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  218. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  219. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  220. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  221. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  222. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  223. package/lib/components/error/error.component.d.ts +3 -2
  224. package/lib/components/error/error.component.d.ts.map +1 -1
  225. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  226. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  227. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  228. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  229. package/lib/components/footer/footer.component.d.ts.map +1 -1
  230. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  231. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  232. package/lib/components/header/header.component.d.ts +17 -2
  233. package/lib/components/header/header.component.d.ts.map +1 -1
  234. package/lib/components/history-page/history-page.component.d.ts +80 -0
  235. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  236. package/lib/components/idme/idme.component.d.ts +19 -0
  237. package/lib/components/idme/idme.component.d.ts.map +1 -0
  238. package/lib/components/job-title/job-title.component.d.ts +22 -21
  239. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  240. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -2
  241. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  242. package/lib/components/menu/menu.component.d.ts +2 -1
  243. package/lib/components/menu/menu.component.d.ts.map +1 -1
  244. package/lib/components/mfa/mfa.component.d.ts +7 -14
  245. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  246. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  247. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  248. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  249. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  250. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  251. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  252. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  253. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  254. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  255. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  256. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  257. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  258. package/lib/components/profile/profile.component.d.ts +82 -49
  259. package/lib/components/profile/profile.component.d.ts.map +1 -1
  260. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  261. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  262. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  263. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  264. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  265. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  266. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  267. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  268. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  269. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  270. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -0
  271. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  272. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  273. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  274. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -34
  275. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  276. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  277. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  278. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  279. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  280. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  281. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  282. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  283. package/lib/components/questionnaire/question.service.d.ts +0 -1
  284. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  285. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  286. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  287. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  288. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  289. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  290. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  291. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  292. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  293. package/lib/components/sms/sms.component.d.ts +63 -0
  294. package/lib/components/sms/sms.component.d.ts.map +1 -0
  295. package/lib/components/user-login/user-login.component.d.ts +5 -32
  296. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  297. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  298. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  299. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  300. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  301. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  302. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  303. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  304. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  305. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +26 -3
  306. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  307. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  308. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  309. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  310. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  311. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  312. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  313. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  314. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  315. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  316. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  317. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  318. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  319. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  320. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  321. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  322. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  323. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  324. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  325. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  326. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  327. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  328. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  329. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  330. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  331. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  332. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  333. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  334. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  335. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  336. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  337. package/lib/guards/auth.guard.d.ts.map +1 -1
  338. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  339. package/lib/models/ActiveClaimModel.d.ts +8 -0
  340. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  341. package/lib/models/CountyModel.d.ts +8 -0
  342. package/lib/models/CountyModel.d.ts.map +1 -0
  343. package/lib/models/DuaAppDataModel.d.ts +5 -0
  344. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  345. package/lib/models/DuaRequestModel.d.ts +10 -0
  346. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  347. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  348. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  349. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  350. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  351. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  352. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  353. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  354. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  355. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  356. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  357. package/lib/models/GrossEarningsModel.d.ts +6 -0
  358. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  359. package/lib/models/HelpConstants.d.ts +5 -0
  360. package/lib/models/HelpConstants.d.ts.map +1 -0
  361. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  362. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  363. package/lib/models/LibConstants.d.ts +40 -1
  364. package/lib/models/LibConstants.d.ts.map +1 -1
  365. package/lib/models/PaymentComponentModel.d.ts +1 -1
  366. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  367. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  368. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  369. package/lib/models/RetroWeeksModel.d.ts +11 -0
  370. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  371. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  372. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  373. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  374. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  375. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  376. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  377. package/lib/models/WageCalculatorModel.d.ts +15 -0
  378. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  379. package/lib/models/WageInfoModel.d.ts +9 -0
  380. package/lib/models/WageInfoModel.d.ts.map +1 -0
  381. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  382. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  383. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  384. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  385. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  386. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  387. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  388. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  389. package/lib/models/combo-model.d.ts +42 -0
  390. package/lib/models/combo-model.d.ts.map +1 -0
  391. package/lib/models/dashboard-model.d.ts +22 -0
  392. package/lib/models/dashboard-model.d.ts.map +1 -1
  393. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  394. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  395. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  396. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  397. package/lib/models/fileupload/FileObject.d.ts +8 -0
  398. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  399. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  400. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  401. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  402. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  403. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  404. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  405. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
  406. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  407. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  408. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  409. package/lib/models/questionnaire/ComboModel.d.ts +28 -16
  410. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  411. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  412. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  413. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  414. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  415. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  416. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  417. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  418. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  419. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  420. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  421. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  422. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  423. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  424. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  425. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  426. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  427. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  428. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  429. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  430. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  431. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  432. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  433. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  434. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  435. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  436. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  437. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  438. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  439. package/lib/pages/BasePage.d.ts +3 -6
  440. package/lib/pages/BasePage.d.ts.map +1 -1
  441. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  442. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  443. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  444. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  445. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  446. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  447. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  448. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  449. package/lib/services/appeal/appeal.service.d.ts +16 -0
  450. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  451. package/lib/services/base-service.d.ts +12 -0
  452. package/lib/services/base-service.d.ts.map +1 -1
  453. package/lib/services/birt-service/birt.service.d.ts +17 -0
  454. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  455. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  456. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  457. package/lib/services/claims/claims.service.d.ts +39 -5
  458. package/lib/services/claims/claims.service.d.ts.map +1 -1
  459. package/lib/services/employer/employer-service.d.ts +16 -0
  460. package/lib/services/employer/employer-service.d.ts.map +1 -0
  461. package/lib/services/event-service/event-service.d.ts +20 -0
  462. package/lib/services/event-service/event-service.d.ts.map +1 -0
  463. package/lib/services/login/login.service.d.ts +5 -3
  464. package/lib/services/login/login.service.d.ts.map +1 -1
  465. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  466. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  467. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  468. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  469. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  470. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  471. package/lib/services/security-service/security.service.d.ts +12 -4
  472. package/lib/services/security-service/security.service.d.ts.map +1 -1
  473. package/lib/services/util/util.service.d.ts +6 -0
  474. package/lib/services/util/util.service.d.ts.map +1 -1
  475. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  476. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  477. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  478. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  479. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  480. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  481. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  482. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  483. package/lib/validations/AppRegex.d.ts +0 -2
  484. package/lib/validations/AppRegex.d.ts.map +1 -1
  485. package/lib/validations/AppValidators.d.ts +20 -24
  486. package/lib/validations/AppValidators.d.ts.map +1 -1
  487. package/package.json +2 -2
  488. package/public-api.d.ts +46 -4
  489. package/public-api.d.ts.map +1 -1
  490. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -340
  491. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -261
  492. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -189
  493. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  494. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  495. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  496. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  497. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  498. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  499. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  500. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  501. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  502. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  503. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  504. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  505. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  506. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  507. package/lib/components/security-question/security-question.component.d.ts +0 -37
  508. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  509. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  510. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  511. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  512. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  513. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  514. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  515. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  516. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  517. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  518. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  519. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  520. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  521. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  522. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  523. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  524. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  525. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  526. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  527. package/lib/services/ovp/ovp.service.d.ts +0 -17
  528. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -0,0 +1,684 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { BasePage } from '../../pages/BasePage';
4
+ import { ComboOption } from '../../models/combo-model';
5
+ import { WorkSearchRecordModel } from '../../models/weekly-cert/work-search-record-v2-model';
6
+ import { AppValidators } from '../../validations/AppValidators';
7
+ import { LibConstants } from '../../models/LibConstants';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../services/weekly-cert/weekly-cert-v2.service";
10
+ import * as i2 from "@angular/forms";
11
+ import * as i3 from "../../services/util/util.service";
12
+ import * as i4 from "@ionic/angular";
13
+ import * as i5 from "@angular/common";
14
+ import * as i6 from "primeng/dialog";
15
+ import * as i7 from "primeng/inputtext";
16
+ import * as i8 from "primeng/inputmask";
17
+ import * as i9 from "primeng/calendar";
18
+ import * as i10 from "primeng/selectbutton";
19
+ import * as i11 from "../error/error.component";
20
+ import * as i12 from "../search-employer/search-employer.component";
21
+ import * as i13 from "../dropdown/dropdown.component";
22
+ import * as i14 from "../../directives/strip-invisible-characters/strip-invisible-characters.directive";
23
+ import * as i15 from "@ngx-translate/core";
24
+ const _c0 = ["wsrFormDirective"];
25
+ const _c1 = () => ({ required: "Required.", pattern: "%, <, >, ^, _, {, } are not allowed" });
26
+ const _c2 = "Only letters, numbers, spaces, commas, periods, apostrophes, hyphens, # and / allowed";
27
+ const _c3 = () => ({ required: "Required.", pattern: _c2 });
28
+ const _c4 = "City name can only contain letters, spaces, and hyphens";
29
+ const _c5 = () => ({ required: "Required.", invalidwsCityLength: "City should not exceed a length of 30 characters", pattern: _c4 });
30
+ const _c6 = () => ({ required: "Required." });
31
+ const _c7 = () => ({ required: "Required.", invalidLength: "Zip code should be of 5 or 9 digits.", invalidNumber: "Zip code should only have numbers." });
32
+ function WorkSearchEmployerComponentMS_section_16_Template(rf, ctx) { if (rf & 1) {
33
+ const _r5 = i0.ɵɵgetCurrentView();
34
+ i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 15);
35
+ i0.ɵɵtext(3);
36
+ i0.ɵɵpipe(4, "translate");
37
+ i0.ɵɵelementEnd();
38
+ i0.ɵɵelementStart(5, "app-search-employer", 16);
39
+ i0.ɵɵlistener("onFound", function WorkSearchEmployerComponentMS_section_16_Template_app_search_employer_onFound_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.setEmployer($event)); });
40
+ i0.ɵɵelementEnd();
41
+ i0.ɵɵelement(6, "app-error", 9);
42
+ i0.ɵɵelementEnd();
43
+ i0.ɵɵelementStart(7, "div", 6)(8, "label", 17);
44
+ i0.ɵɵtext(9);
45
+ i0.ɵɵpipe(10, "translate");
46
+ i0.ɵɵelementEnd();
47
+ i0.ɵɵelement(11, "input", 18)(12, "app-error", 9);
48
+ i0.ɵɵelementEnd();
49
+ i0.ɵɵelementStart(13, "div", 6)(14, "label", 19);
50
+ i0.ɵɵtext(15);
51
+ i0.ɵɵpipe(16, "translate");
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelement(17, "input", 20)(18, "app-error", 9);
54
+ i0.ɵɵelementEnd();
55
+ i0.ɵɵelementStart(19, "ion-row")(20, "ion-col", 21)(21, "div", 6)(22, "label", 22);
56
+ i0.ɵɵtext(23);
57
+ i0.ɵɵpipe(24, "translate");
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelement(25, "app-dropdown", 23)(26, "app-error", 9);
60
+ i0.ɵɵelementEnd()();
61
+ i0.ɵɵelement(27, "ion-col", 24);
62
+ i0.ɵɵelementStart(28, "ion-col", 21)(29, "div", 6)(30, "label", 25);
63
+ i0.ɵɵtext(31);
64
+ i0.ɵɵpipe(32, "translate");
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelement(33, "input", 26)(34, "app-error", 9);
67
+ i0.ɵɵelementEnd()()()();
68
+ } if (rf & 2) {
69
+ const ctx_r1 = i0.ɵɵnextContext();
70
+ const _r0 = i0.ɵɵreference(5);
71
+ i0.ɵɵadvance(3);
72
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 37, "work.search.journal.employerName"));
73
+ i0.ɵɵadvance(2);
74
+ i0.ɵɵproperty("formControl", ctx_r1.employerName)("empType", "REG");
75
+ i0.ɵɵadvance(1);
76
+ i0.ɵɵclassMap("app-grid");
77
+ i0.ɵɵproperty("field", ctx_r1.employerName)("form", _r0)("errDef", i0.ɵɵpureFunction0(47, _c1));
78
+ i0.ɵɵadvance(3);
79
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 39, "work.search.journal.streetAddress"));
80
+ i0.ɵɵadvance(2);
81
+ i0.ɵɵproperty("formControl", ctx_r1.line1);
82
+ i0.ɵɵadvance(1);
83
+ i0.ɵɵclassMap("app-grid");
84
+ i0.ɵɵproperty("field", ctx_r1.line1)("form", _r0)("errDef", i0.ɵɵpureFunction0(48, _c3));
85
+ i0.ɵɵadvance(3);
86
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 41, "work.search.journal.city"));
87
+ i0.ɵɵadvance(2);
88
+ i0.ɵɵproperty("formControl", ctx_r1.city);
89
+ i0.ɵɵadvance(1);
90
+ i0.ɵɵclassMap("app-grid");
91
+ i0.ɵɵproperty("field", ctx_r1.city)("form", _r0)("errDef", i0.ɵɵpureFunction0(49, _c5));
92
+ i0.ɵɵadvance(5);
93
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(24, 43, "work.search.journal.state"));
94
+ i0.ɵɵadvance(2);
95
+ i0.ɵɵproperty("options", ctx_r1.statesCombo)("formControl", ctx_r1.state);
96
+ i0.ɵɵadvance(1);
97
+ i0.ɵɵclassMap("app-grid");
98
+ i0.ɵɵproperty("field", ctx_r1.state)("form", _r0)("errDef", i0.ɵɵpureFunction0(50, _c6));
99
+ i0.ɵɵadvance(5);
100
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(32, 45, "work.search.journal.zip"));
101
+ i0.ɵɵadvance(2);
102
+ i0.ɵɵproperty("formControl", ctx_r1.zip);
103
+ i0.ɵɵadvance(1);
104
+ i0.ɵɵclassMap("app-grid");
105
+ i0.ɵɵproperty("field", ctx_r1.zip)("form", _r0)("errDef", i0.ɵɵpureFunction0(51, _c7));
106
+ } }
107
+ const _c8 = a1 => ({ required: "Required.", dateNotBetween: a1 });
108
+ function WorkSearchEmployerComponentMS_div_19_Template(rf, ctx) { if (rf & 1) {
109
+ const _r7 = i0.ɵɵgetCurrentView();
110
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 27);
111
+ i0.ɵɵtext(2);
112
+ i0.ɵɵpipe(3, "translate");
113
+ i0.ɵɵelementEnd();
114
+ i0.ɵɵelementStart(4, "p-calendar", 28);
115
+ i0.ɵɵlistener("onInput", function WorkSearchEmployerComponentMS_div_19_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.dateInput($event)); });
116
+ i0.ɵɵelementEnd();
117
+ i0.ɵɵelement(5, "app-error", 9);
118
+ i0.ɵɵelementEnd();
119
+ } if (rf & 2) {
120
+ const ctx_r2 = i0.ɵɵnextContext();
121
+ const _r0 = i0.ɵɵreference(5);
122
+ i0.ɵɵadvance(2);
123
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 14, "work.search.journal.applicationDate"));
124
+ i0.ɵɵadvance(2);
125
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r2.workSearchDate)("minDate", ctx_r2.sunDate)("maxDate", ctx_r2.satDate)("defaultDate", ctx_r2.sunDate)("selectOtherMonths", true)("monthNavigator", true)("yearNavigator", true);
126
+ i0.ɵɵadvance(1);
127
+ i0.ɵɵclassMap("app-grid");
128
+ i0.ɵɵproperty("field", ctx_r2.workSearchDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(16, _c8, "Date should be between " + ctx_r2.sunDateString + " and " + ctx_r2.currentDateString + "."));
129
+ } }
130
+ function WorkSearchEmployerComponentMS_section_20_div_7_Template(rf, ctx) { if (rf & 1) {
131
+ i0.ɵɵelementStart(0, "div")(1, "div", 6)(2, "label", 32);
132
+ i0.ɵɵtext(3);
133
+ i0.ɵɵpipe(4, "translate");
134
+ i0.ɵɵelementEnd();
135
+ i0.ɵɵelement(5, "p-selectButton", 33)(6, "app-error", 9);
136
+ i0.ɵɵelementEnd()();
137
+ } if (rf & 2) {
138
+ const ctx_r8 = i0.ɵɵnextContext(2);
139
+ const _r0 = i0.ɵɵreference(5);
140
+ i0.ɵɵadvance(3);
141
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "work.search.journal.contactMethod"));
142
+ i0.ɵɵadvance(2);
143
+ i0.ɵɵproperty("options", ctx_r8.workSearchMethodContactMs)("formControl", ctx_r8.contactMethod);
144
+ i0.ɵɵadvance(1);
145
+ i0.ɵɵclassMap("app-grid");
146
+ i0.ɵɵproperty("field", ctx_r8.contactMethod)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c6));
147
+ } }
148
+ function WorkSearchEmployerComponentMS_section_20_div_8_Template(rf, ctx) { if (rf & 1) {
149
+ i0.ɵɵelementStart(0, "div")(1, "div", 6)(2, "label", 32);
150
+ i0.ɵɵtext(3);
151
+ i0.ɵɵpipe(4, "translate");
152
+ i0.ɵɵelementEnd();
153
+ i0.ɵɵelement(5, "p-selectButton", 33)(6, "app-error", 9);
154
+ i0.ɵɵelementEnd()();
155
+ } if (rf & 2) {
156
+ const ctx_r9 = i0.ɵɵnextContext(2);
157
+ const _r0 = i0.ɵɵreference(5);
158
+ i0.ɵɵadvance(3);
159
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "work.search.journal.contactMethodJobSearch"));
160
+ i0.ɵɵadvance(2);
161
+ i0.ɵɵproperty("options", ctx_r9.workSearchMethodContactMs)("formControl", ctx_r9.contactMethod);
162
+ i0.ɵɵadvance(1);
163
+ i0.ɵɵclassMap("app-grid");
164
+ i0.ɵɵproperty("field", ctx_r9.contactMethod)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c6));
165
+ } }
166
+ function WorkSearchEmployerComponentMS_section_20_div_9_Template(rf, ctx) { if (rf & 1) {
167
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 34);
168
+ i0.ɵɵtext(2);
169
+ i0.ɵɵpipe(3, "translate");
170
+ i0.ɵɵelementEnd();
171
+ i0.ɵɵelement(4, "p-inputMask", 35)(5, "app-error", 9);
172
+ i0.ɵɵelementEnd();
173
+ } if (rf & 2) {
174
+ const ctx_r10 = i0.ɵɵnextContext(2);
175
+ const _r0 = i0.ɵɵreference(5);
176
+ i0.ɵɵadvance(2);
177
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.phoneNo"));
178
+ i0.ɵɵadvance(2);
179
+ i0.ɵɵproperty("formControl", ctx_r10.employerPhone);
180
+ i0.ɵɵadvance(1);
181
+ i0.ɵɵclassMap("app-grid");
182
+ i0.ɵɵproperty("field", ctx_r10.employerPhone)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c6));
183
+ } }
184
+ const _c9 = () => ({ required: "Required.", employerEmail: "Invalid email address." });
185
+ function WorkSearchEmployerComponentMS_section_20_div_10_Template(rf, ctx) { if (rf & 1) {
186
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 36);
187
+ i0.ɵɵtext(2);
188
+ i0.ɵɵpipe(3, "translate");
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelement(4, "input", 37)(5, "app-error", 9);
191
+ i0.ɵɵelementEnd();
192
+ } if (rf & 2) {
193
+ const ctx_r11 = i0.ɵɵnextContext(2);
194
+ const _r0 = i0.ɵɵreference(5);
195
+ i0.ɵɵadvance(2);
196
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.email"));
197
+ i0.ɵɵadvance(2);
198
+ i0.ɵɵproperty("formControl", ctx_r11.employerEmail);
199
+ i0.ɵɵadvance(1);
200
+ i0.ɵɵclassMap("app-grid");
201
+ i0.ɵɵproperty("field", ctx_r11.employerEmail)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c9));
202
+ } }
203
+ const _c10 = () => ({ required: "Required.", invalidWebsite: "Please enter a valid website address" });
204
+ function WorkSearchEmployerComponentMS_section_20_div_11_Template(rf, ctx) { if (rf & 1) {
205
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 38);
206
+ i0.ɵɵtext(2);
207
+ i0.ɵɵpipe(3, "translate");
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵelement(4, "input", 39)(5, "app-error", 9);
210
+ i0.ɵɵelementEnd();
211
+ } if (rf & 2) {
212
+ const ctx_r12 = i0.ɵɵnextContext(2);
213
+ const _r0 = i0.ɵɵreference(5);
214
+ i0.ɵɵadvance(2);
215
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.website"));
216
+ i0.ɵɵadvance(2);
217
+ i0.ɵɵproperty("formControl", ctx_r12.employerWebsite);
218
+ i0.ɵɵadvance(1);
219
+ i0.ɵɵclassMap("app-grid");
220
+ i0.ɵɵproperty("field", ctx_r12.employerWebsite)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c10));
221
+ } }
222
+ function WorkSearchEmployerComponentMS_section_20_div_12_Template(rf, ctx) { if (rf & 1) {
223
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 40);
224
+ i0.ɵɵtext(2);
225
+ i0.ɵɵpipe(3, "translate");
226
+ i0.ɵɵelementEnd();
227
+ i0.ɵɵelement(4, "input", 41)(5, "app-error", 9);
228
+ i0.ɵɵelementEnd();
229
+ } if (rf & 2) {
230
+ const ctx_r13 = i0.ɵɵnextContext(2);
231
+ const _r0 = i0.ɵɵreference(5);
232
+ i0.ɵɵadvance(2);
233
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.contactName"));
234
+ i0.ɵɵadvance(2);
235
+ i0.ɵɵproperty("formControl", ctx_r13.empContactPersonName);
236
+ i0.ɵɵadvance(1);
237
+ i0.ɵɵclassMap("app-grid");
238
+ i0.ɵɵproperty("field", ctx_r13.empContactPersonName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c6));
239
+ } }
240
+ function WorkSearchEmployerComponentMS_section_20_div_13_Template(rf, ctx) { if (rf & 1) {
241
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 42);
242
+ i0.ɵɵtext(2);
243
+ i0.ɵɵpipe(3, "translate");
244
+ i0.ɵɵelementEnd();
245
+ i0.ɵɵelement(4, "input", 43)(5, "app-error", 9);
246
+ i0.ɵɵelementEnd();
247
+ } if (rf & 2) {
248
+ const ctx_r14 = i0.ɵɵnextContext(2);
249
+ const _r0 = i0.ɵɵreference(5);
250
+ i0.ɵɵadvance(2);
251
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.contactTitle"));
252
+ i0.ɵɵadvance(2);
253
+ i0.ɵɵproperty("formControl", ctx_r14.empContactPersonTitle);
254
+ i0.ɵɵadvance(1);
255
+ i0.ɵɵclassMap("app-grid");
256
+ i0.ɵɵproperty("field", ctx_r14.empContactPersonTitle)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c6));
257
+ } }
258
+ function WorkSearchEmployerComponentMS_section_20_div_18_Template(rf, ctx) { if (rf & 1) {
259
+ i0.ɵɵelementStart(0, "div");
260
+ i0.ɵɵelement(1, "app-dropdown", 44)(2, "app-error", 9);
261
+ i0.ɵɵelementEnd();
262
+ } if (rf & 2) {
263
+ const ctx_r15 = i0.ɵɵnextContext(2);
264
+ const _r0 = i0.ɵɵreference(5);
265
+ i0.ɵɵadvance(1);
266
+ i0.ɵɵproperty("options", ctx_r15.workSearchResultComboJobApplicationMs)("formControl", ctx_r15.searchResult);
267
+ i0.ɵɵadvance(1);
268
+ i0.ɵɵclassMap("app-grid");
269
+ i0.ɵɵproperty("field", ctx_r15.searchResult)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c6));
270
+ } }
271
+ function WorkSearchEmployerComponentMS_section_20_div_19_Template(rf, ctx) { if (rf & 1) {
272
+ i0.ɵɵelementStart(0, "div");
273
+ i0.ɵɵelement(1, "app-dropdown", 44)(2, "app-error", 9);
274
+ i0.ɵɵelementEnd();
275
+ } if (rf & 2) {
276
+ const ctx_r16 = i0.ɵɵnextContext(2);
277
+ const _r0 = i0.ɵɵreference(5);
278
+ i0.ɵɵadvance(1);
279
+ i0.ɵɵproperty("options", ctx_r16.workSearchResultComboJobSearchMs)("formControl", ctx_r16.searchResult);
280
+ i0.ɵɵadvance(1);
281
+ i0.ɵɵclassMap("app-grid");
282
+ i0.ɵɵproperty("field", ctx_r16.searchResult)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c6));
283
+ } }
284
+ const _c11 = "Job Title can only contain letters, spaces, and hyphens";
285
+ const _c12 = () => ({ required: "Required.", pattern: _c11 });
286
+ function WorkSearchEmployerComponentMS_section_20_Template(rf, ctx) { if (rf & 1) {
287
+ i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 29);
288
+ i0.ɵɵtext(3);
289
+ i0.ɵɵpipe(4, "translate");
290
+ i0.ɵɵelementEnd();
291
+ i0.ɵɵelement(5, "input", 30)(6, "app-error", 9);
292
+ i0.ɵɵelementEnd();
293
+ i0.ɵɵtemplate(7, WorkSearchEmployerComponentMS_section_20_div_7_Template, 7, 11, "div", 10)(8, WorkSearchEmployerComponentMS_section_20_div_8_Template, 7, 11, "div", 10)(9, WorkSearchEmployerComponentMS_section_20_div_9_Template, 6, 10, "div", 11)(10, WorkSearchEmployerComponentMS_section_20_div_10_Template, 6, 10, "div", 11)(11, WorkSearchEmployerComponentMS_section_20_div_11_Template, 6, 10, "div", 11)(12, WorkSearchEmployerComponentMS_section_20_div_12_Template, 6, 10, "div", 11)(13, WorkSearchEmployerComponentMS_section_20_div_13_Template, 6, 10, "div", 11);
294
+ i0.ɵɵelementStart(14, "div", 6)(15, "label", 31);
295
+ i0.ɵɵtext(16);
296
+ i0.ɵɵpipe(17, "translate");
297
+ i0.ɵɵelementEnd();
298
+ i0.ɵɵtemplate(18, WorkSearchEmployerComponentMS_section_20_div_18_Template, 3, 8, "div", 10)(19, WorkSearchEmployerComponentMS_section_20_div_19_Template, 3, 8, "div", 10);
299
+ i0.ɵɵelementEnd()();
300
+ } if (rf & 2) {
301
+ const ctx_r3 = i0.ɵɵnextContext();
302
+ const _r0 = i0.ɵɵreference(5);
303
+ i0.ɵɵadvance(3);
304
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 17, "work.search.journal.jobTitle"));
305
+ i0.ɵɵadvance(2);
306
+ i0.ɵɵproperty("formControl", ctx_r3.positionAppliedFor);
307
+ i0.ɵɵadvance(1);
308
+ i0.ɵɵclassMap("app-grid");
309
+ i0.ɵɵproperty("field", ctx_r3.positionAppliedFor)("form", _r0)("errDef", i0.ɵɵpureFunction0(21, _c12));
310
+ i0.ɵɵadvance(1);
311
+ i0.ɵɵproperty("ngIf", ctx_r3.displayJobApplicationQuestions);
312
+ i0.ɵɵadvance(1);
313
+ i0.ɵɵproperty("ngIf", ctx_r3.displayJobSearchQuestions);
314
+ i0.ɵɵadvance(1);
315
+ i0.ɵɵproperty("ngIf", ctx_r3.contactMethod.value == "TELE");
316
+ i0.ɵɵadvance(1);
317
+ i0.ɵɵproperty("ngIf", ctx_r3.contactMethod.value == "EMAL");
318
+ i0.ɵɵadvance(1);
319
+ i0.ɵɵproperty("ngIf", ctx_r3.contactMethod.value == "ONLI");
320
+ i0.ɵɵadvance(1);
321
+ i0.ɵɵproperty("ngIf", ctx_r3.contactMethod.value == "PRSN");
322
+ i0.ɵɵadvance(1);
323
+ i0.ɵɵproperty("ngIf", ctx_r3.contactMethod.value == "PRSN");
324
+ i0.ɵɵadvance(3);
325
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 19, "work.search.journal.result"));
326
+ i0.ɵɵadvance(2);
327
+ i0.ɵɵproperty("ngIf", ctx_r3.activityType.value == "JOAP");
328
+ i0.ɵɵadvance(1);
329
+ i0.ɵɵproperty("ngIf", ctx_r3.activityType.value == "JOSE");
330
+ } }
331
+ const _c13 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
332
+ export class WorkSearchEmployerComponentMS extends BasePage {
333
+ constructor(wcService, formBuilder, util) {
334
+ super();
335
+ this.wcService = wcService;
336
+ this.formBuilder = formBuilder;
337
+ this.util = util;
338
+ this.success = new EventEmitter();
339
+ this.onClose = new EventEmitter();
340
+ this.journal = false;
341
+ this.activityTypeComboMs = ComboOption.ActivityTypeComboMs;
342
+ this.workSearchMethodContactMs = ComboOption.WorkSearchMethodContactMs;
343
+ this.workSearchResultComboJobApplicationMs = ComboOption.WorkSearchResultComboJobApplicationMs;
344
+ this.workSearchResultComboJobSearchMs = ComboOption.WorkSearchResultComboJobSearchMs;
345
+ this.statesCombo = ComboOption.StatesCombo;
346
+ this.workSearchRecordData = null;
347
+ this.isReadOnly = false;
348
+ this.displayJobSearchQuestions = false;
349
+ this.displayJobApplicationQuestions = false;
350
+ this.currentDate = new Date();
351
+ this.currentDateString = new Intl.DateTimeFormat('en-US').format(this.currentDate);
352
+ }
353
+ ngOnInit() {
354
+ if (!this.journal) {
355
+ this.satDate = this.util.getEnteredDate(this.wcService.getSaturdayDate());
356
+ this.sunDate = this.util.getEnteredDate(this.wcService.getSundayDate());
357
+ this.satDateString = this.wcService.getSaturdayDateAsString();
358
+ this.sunDateString = this.wcService.getSundayDateAsString();
359
+ }
360
+ this.dynamicParam = {
361
+ 'saturday_date': this.satDateString,
362
+ 'sunday_date': this.sunDateString,
363
+ };
364
+ this.initilizeWorkSearchForm();
365
+ this.trimInputHelper();
366
+ }
367
+ dateInput(event) {
368
+ let currentValue = event.srcElement.value;
369
+ if (currentValue) {
370
+ if (currentValue.length == 2 && currentValue.charAt(2) != '/') {
371
+ event.target.value = currentValue + "/";
372
+ }
373
+ if (currentValue.length == 5 && currentValue.charAt(5) != '/') {
374
+ event.target.value = currentValue + "/";
375
+ }
376
+ }
377
+ }
378
+ trimInputHelper() {
379
+ setTimeout(() => {
380
+ this.employerEmail.valueChanges.subscribe(val => {
381
+ if (val) {
382
+ const sanitized = val.replace(/\s+/g, '');
383
+ if (val !== sanitized) {
384
+ this.employerEmail.setValue(sanitized, { emitEvent: false });
385
+ }
386
+ }
387
+ });
388
+ }, 0);
389
+ }
390
+ initilizeWorkSearchForm() {
391
+ let wsr;
392
+ if (this.data) {
393
+ wsr = this.data;
394
+ }
395
+ else if (this.recordIndexToEdit == undefined || this.recordIndexToEdit == null) {
396
+ wsr = new WorkSearchRecordModel();
397
+ }
398
+ else {
399
+ wsr = this.wcService.getWorkSearchRecords()[this.recordIndexToEdit];
400
+ }
401
+ this.wsrForm = this.formBuilder.group({
402
+ 'activityType': [wsr.activityType, Validators.required],
403
+ 'workSearchDate': [wsr.workSearchDate != null ? this.getDate(wsr.workSearchDate) : '', Validators.compose([Validators.required, AppValidators.isBetween(this.sunDate, this.currentDate)])],
404
+ 'employerName': [wsr.employerName],
405
+ 'city': [wsr.city],
406
+ 'line1': [wsr.line1],
407
+ 'line2': [wsr.line2],
408
+ 'state': [wsr.state != null ? wsr.state : LibConstants.STATE],
409
+ 'contactMethod': [wsr.contactMethod != null ? wsr.contactMethod : ''],
410
+ 'empContactPersonName': [wsr.empContactPersonName],
411
+ 'empContactPersonTitle': [wsr.empContactPersonTitle],
412
+ 'zip': [wsr.zip],
413
+ 'employerPhone': [wsr.employerPhone != null ? wsr.employerPhone : ''],
414
+ 'employerEmail': [wsr.employerEmail],
415
+ 'employerWebsite': [wsr.employerWebsite],
416
+ 'employerFax': [wsr.employerFax != null ? wsr.employerFax : ''],
417
+ 'positionAppliedFor': [wsr.positionAppliedFor],
418
+ 'searchResult': [wsr.searchResult],
419
+ 'wingsReferralWorkSearchId': [wsr.wingsReferralWorkSearchId],
420
+ 'claimantWorkSearchJournalId': [wsr.claimantWorkSearchJournalId],
421
+ 'wsrId': [wsr.wsrId]
422
+ });
423
+ if (wsr.activityType == 'JOAP') {
424
+ this.displayJobApplicationQuestions = true;
425
+ }
426
+ else if (wsr.activityType == 'JOSE') {
427
+ this.displayJobSearchQuestions = true;
428
+ }
429
+ if (wsr.wingsReferralWorkSearchId != null && wsr.wingsReferralWorkSearchId != undefined) {
430
+ this.isReadOnly = true;
431
+ }
432
+ else {
433
+ this.isReadOnly = false;
434
+ }
435
+ Promise.resolve().then(() => {
436
+ this.contactMethod.setValue(wsr.contactMethod != null ? wsr.contactMethod : '');
437
+ this.contactMethod.valueChanges.subscribe(val => {
438
+ Promise.resolve().then(() => this.setContactInfoValidation(val));
439
+ });
440
+ this.activityType.valueChanges.subscribe(val => {
441
+ Promise.resolve().then(() => this.setActivityTypeValidation(val));
442
+ });
443
+ this.setContactInfoValidation(this.contactMethod.value);
444
+ this.setActivityTypeValidation(this.activityType.value);
445
+ });
446
+ }
447
+ setActivityTypeValidation(val) {
448
+ this.displayJobApplicationQuestions = false;
449
+ this.displayJobSearchQuestions = false;
450
+ if (val == 'JOAP') {
451
+ this.displayJobApplicationQuestions = true;
452
+ this.displayJobSearchQuestions = false;
453
+ this.employerName.addValidators([Validators.required, Validators.pattern(/^(?!.*[%<>\^_{}])[A-Za-z0-9\s\.,&'()#!@:$\/\\\-\+?"]+$/)]);
454
+ this.employerName.updateValueAndValidity();
455
+ this.line1.addValidators([Validators.required, Validators.pattern(/^[0-9A-Za-z\s,'\-\.#\/]+$/)]);
456
+ this.line1.updateValueAndValidity();
457
+ this.city.addValidators([Validators.required, Validators.pattern(/^(?!-)[A-Za-z -]*$/)]);
458
+ this.city.updateValueAndValidity();
459
+ this.util.setRequiredValidator(this.state);
460
+ this.util.setRequiredValidator(this.zip);
461
+ this.positionAppliedFor.addValidators([Validators.required, Validators.pattern(/^(?!-)[A-Za-z0-9 -]*$/)]);
462
+ this.positionAppliedFor.updateValueAndValidity();
463
+ this.util.setRequiredValidator(this.contactMethod);
464
+ this.util.setRequiredValidator(this.searchResult);
465
+ }
466
+ if (val == 'JOSE') {
467
+ this.displayJobSearchQuestions = true;
468
+ this.displayJobApplicationQuestions = false;
469
+ this.employerName.addValidators([Validators.required, Validators.pattern(/^(?!.*[%<>\^_{}])[A-Za-z0-9\s\.,&'()#!@:$\/\\\-\+?"]+$/)]);
470
+ this.employerName.updateValueAndValidity();
471
+ this.line1.addValidators([Validators.required, Validators.pattern(/^[0-9A-Za-z\s,'\-\.#\/]+$/)]);
472
+ this.line1.updateValueAndValidity();
473
+ this.city.addValidators([Validators.required, Validators.pattern(/^(?!-)[A-Za-z -]*$/)]);
474
+ this.city.updateValueAndValidity();
475
+ this.util.setRequiredValidator(this.state);
476
+ this.util.setRequiredValidator(this.zip);
477
+ this.positionAppliedFor.addValidators([Validators.required, Validators.pattern(/^(?!-)[A-Za-z0-9 -]*$/)]);
478
+ this.positionAppliedFor.updateValueAndValidity();
479
+ this.util.setRequiredValidator(this.contactMethod);
480
+ this.util.setRequiredValidator(this.searchResult);
481
+ }
482
+ }
483
+ setContactInfoValidation(val) {
484
+ Promise.resolve().then(() => {
485
+ if (val == 'TELE') {
486
+ this.util.setRequiredValidator(this.employerPhone);
487
+ this.util.clearValidation(this.empContactPersonName);
488
+ this.util.clearValidation(this.empContactPersonTitle);
489
+ this.util.clearValidation(this.employerEmail);
490
+ this.util.clearValidation(this.employerWebsite);
491
+ }
492
+ if (val == 'EMAL') {
493
+ this.util.setValidation(this.employerEmail, [Validators.required, Validators.email]);
494
+ this.util.clearValidation(this.employerPhone);
495
+ this.util.clearValidation(this.empContactPersonName);
496
+ this.util.clearValidation(this.empContactPersonTitle);
497
+ this.util.clearValidation(this.employerWebsite);
498
+ }
499
+ if (val == 'ONLI') {
500
+ this.util.setRequiredValidator(this.employerWebsite);
501
+ this.util.setValidation(this.employerWebsite, [Validators.required, AppValidators.isValidWebsite]);
502
+ this.util.clearValidation(this.employerEmail);
503
+ this.util.clearValidation(this.employerPhone);
504
+ this.util.clearValidation(this.empContactPersonName);
505
+ this.util.clearValidation(this.empContactPersonTitle);
506
+ }
507
+ if (val == 'PRSN') {
508
+ this.util.setRequiredValidator(this.empContactPersonName);
509
+ this.util.setRequiredValidator(this.empContactPersonTitle);
510
+ this.util.clearValidation(this.employerWebsite);
511
+ this.util.clearValidation(this.employerEmail);
512
+ this.util.clearValidation(this.employerPhone);
513
+ }
514
+ });
515
+ }
516
+ getDate(wsDate) {
517
+ if (!(wsDate instanceof Date)) {
518
+ return this.util.getEnteredDate(wsDate);
519
+ }
520
+ return wsDate;
521
+ }
522
+ get activityType() {
523
+ return this.wsrForm.controls['activityType'];
524
+ }
525
+ get workSearchDate() {
526
+ return this.wsrForm.controls['workSearchDate'];
527
+ }
528
+ get employerName() {
529
+ return this.wsrForm.controls['employerName'];
530
+ }
531
+ get city() {
532
+ return this.wsrForm.controls['city'];
533
+ }
534
+ get line1() {
535
+ return this.wsrForm.controls['line1'];
536
+ }
537
+ get line2() {
538
+ return this.wsrForm.controls['line2'];
539
+ }
540
+ get state() {
541
+ return this.wsrForm.controls['state'];
542
+ }
543
+ get contactMethod() {
544
+ return this.wsrForm.controls['contactMethod'];
545
+ }
546
+ get empContactPersonName() {
547
+ return this.wsrForm.controls['empContactPersonName'];
548
+ }
549
+ get empContactPersonTitle() {
550
+ return this.wsrForm.controls['empContactPersonTitle'];
551
+ }
552
+ get zip() {
553
+ return this.wsrForm.controls['zip'];
554
+ }
555
+ get employerPhone() {
556
+ return this.wsrForm.controls['employerPhone'];
557
+ }
558
+ get employerEmail() {
559
+ return this.wsrForm.controls['employerEmail'];
560
+ }
561
+ get employerWebsite() {
562
+ return this.wsrForm.controls['employerWebsite'];
563
+ }
564
+ get employerFax() {
565
+ return this.wsrForm.controls['employerFax'];
566
+ }
567
+ get positionAppliedFor() {
568
+ return this.wsrForm.controls['positionAppliedFor'];
569
+ }
570
+ get searchResult() {
571
+ return this.wsrForm.controls['searchResult'];
572
+ }
573
+ get wingsReferralWorkSearchId() {
574
+ return this.wsrForm.controls['wingsReferralWorkSearchId'];
575
+ }
576
+ get claimantWorkSearchJournalId() {
577
+ return this.wsrForm.controls['claimantWorkSearchJournalId'];
578
+ }
579
+ get wsrId() {
580
+ return this.wsrForm.controls['wsrId'];
581
+ }
582
+ add() {
583
+ if (this.wsrForm.valid) {
584
+ this.success.emit(this.wsrForm.value);
585
+ }
586
+ }
587
+ close() {
588
+ this.onClose.emit();
589
+ }
590
+ setEmployer(employer) {
591
+ Promise.resolve().then(() => {
592
+ this.employerName.setValue(employer.employerName);
593
+ this.line1.setValue(employer.addressLine1);
594
+ this.line2.setValue(employer.addressLine2);
595
+ this.city.setValue(employer.city);
596
+ this.state.setValue(employer.state.value);
597
+ this.zip.setValue(employer.zip);
598
+ });
599
+ }
600
+ static { this.ɵfac = function WorkSearchEmployerComponentMS_Factory(t) { return new (t || WorkSearchEmployerComponentMS)(i0.ɵɵdirectiveInject(i1.WeeklyCertServiceV2), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.UtilService)); }; }
601
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkSearchEmployerComponentMS, selectors: [["app-work-search-employer-ms"]], viewQuery: function WorkSearchEmployerComponentMS_Query(rf, ctx) { if (rf & 1) {
602
+ i0.ɵɵviewQuery(_c0, 5);
603
+ } if (rf & 2) {
604
+ let _t;
605
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.wsrFormDirective = _t.first);
606
+ } }, inputs: { recordIndexToEdit: "recordIndexToEdit", data: "data", satDate: "satDate", sunDate: "sunDate", satDateString: "satDateString", sunDateString: "sunDateString", journal: "journal" }, outputs: { success: "success", onClose: "onClose" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 29, vars: 28, consts: [["visible", "true", "modal", "true", "appendTo", "body", "position", "top", 3, "showHeader", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], ["wsrFormDirective", "ngForm"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], [1, "field"], ["for", "activityType"], ["optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "activityType", 3, "options", "formControl"], [3, "field", "form", "errDef"], [4, "ngIf"], ["class", "field", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["shape", "round", "type", "submit", 3, "click"], ["for", "employerName"], [3, "formControl", "empType", "onFound"], ["for", "line1"], ["id", "line1", "type", "input", "pInputText", "", "maxlength", "40", "appStripInvisibleChars", "", 3, "formControl"], ["for", "city"], ["id", "city", "type", "input", "pInputText", "", "maxlength", "30", "appStripInvisibleChars", "", 3, "formControl"], [2, "padding", "0px"], ["for", "state"], ["inputId", "state", "optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "state", 3, "options", "formControl"], ["size", "1"], ["for", "zip"], ["id", "zip", "type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", "appStripInvisibleChars", "", 3, "formControl"], ["for", "workSearchDate"], ["inputId", "workSearchDate", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "yearRange", "1901:2050", 3, "showIcon", "formControl", "minDate", "maxDate", "defaultDate", "selectOtherMonths", "monthNavigator", "yearNavigator", "onInput"], ["for", "positionAppliedFor"], ["id", "positionAppliedFor", "type", "input", "pInputText", "", "maxlength", "50", "appStripInvisibleChars", "", 3, "formControl"], ["for", "searchResult"], ["for", "contactMethod"], ["optionLabel", "DESC", "optionValue", "NAME", 3, "options", "formControl"], ["for", "employerPhone"], ["inputId", "employerPhone", "mask", "(999) 999-9999", "unmask", "true", 3, "formControl"], ["for", "employerEmail"], ["id", "employerEmail", "type", "input", "pInputText", "", "placeholder", "emailid@example.com", "appStripInvisibleChars", "", 3, "formControl"], ["for", "employerWebsite"], ["id", "employerWebsite", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "empContactPersonName"], ["id", "empContactPersonName", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "empContactPersonTitle"], ["id", "empContactPersonTitle", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "searchResult", 3, "options", "formControl"]], template: function WorkSearchEmployerComponentMS_Template(rf, ctx) { if (rf & 1) {
607
+ i0.ɵɵelementStart(0, "p-dialog", 0)(1, "h4", 1);
608
+ i0.ɵɵtext(2);
609
+ i0.ɵɵpipe(3, "translate");
610
+ i0.ɵɵelementEnd();
611
+ i0.ɵɵelementStart(4, "form", 2, 3)(6, "ion-grid")(7, "ion-row")(8, "ion-col", 4)(9, "div", 5)(10, "div", 6)(11, "label", 7);
612
+ i0.ɵɵtext(12);
613
+ i0.ɵɵpipe(13, "translate");
614
+ i0.ɵɵelementEnd();
615
+ i0.ɵɵelement(14, "app-dropdown", 8)(15, "app-error", 9);
616
+ i0.ɵɵelementEnd();
617
+ i0.ɵɵtemplate(16, WorkSearchEmployerComponentMS_section_16_Template, 35, 52, "section", 10);
618
+ i0.ɵɵelementEnd()();
619
+ i0.ɵɵelementStart(17, "ion-col", 4)(18, "div", 5);
620
+ i0.ɵɵtemplate(19, WorkSearchEmployerComponentMS_div_19_Template, 6, 18, "div", 11)(20, WorkSearchEmployerComponentMS_section_20_Template, 20, 22, "section", 10);
621
+ i0.ɵɵelementEnd()()();
622
+ i0.ɵɵelementStart(21, "ion-row")(22, "ion-col", 12)(23, "ion-button", 13);
623
+ i0.ɵɵlistener("click", function WorkSearchEmployerComponentMS_Template_ion_button_click_23_listener() { return ctx.close(); });
624
+ i0.ɵɵtext(24);
625
+ i0.ɵɵpipe(25, "translate");
626
+ i0.ɵɵelementEnd();
627
+ i0.ɵɵelementStart(26, "ion-button", 14);
628
+ i0.ɵɵlistener("click", function WorkSearchEmployerComponentMS_Template_ion_button_click_26_listener() { return ctx.add(); });
629
+ i0.ɵɵtext(27);
630
+ i0.ɵɵpipe(28, "translate");
631
+ i0.ɵɵelementEnd()()()()()();
632
+ } if (rf & 2) {
633
+ const _r0 = i0.ɵɵreference(5);
634
+ i0.ɵɵproperty("showHeader", false)("breakpoints", i0.ɵɵpureFunction0(26, _c13));
635
+ i0.ɵɵadvance(2);
636
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 17, "work.search.journal.activity.heading", ctx.dynamicParam));
637
+ i0.ɵɵadvance(2);
638
+ i0.ɵɵproperty("formGroup", ctx.wsrForm);
639
+ i0.ɵɵadvance(8);
640
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 20, "work.search.journal.activity.type"));
641
+ i0.ɵɵadvance(2);
642
+ i0.ɵɵproperty("options", ctx.activityTypeComboMs)("formControl", ctx.activityType);
643
+ i0.ɵɵadvance(1);
644
+ i0.ɵɵclassMap("app-grid");
645
+ i0.ɵɵproperty("field", ctx.activityType)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c6));
646
+ i0.ɵɵadvance(1);
647
+ i0.ɵɵproperty("ngIf", ctx.displayJobApplicationQuestions || ctx.displayJobSearchQuestions);
648
+ i0.ɵɵadvance(3);
649
+ i0.ɵɵproperty("ngIf", ctx.displayJobApplicationQuestions || ctx.displayJobSearchQuestions);
650
+ i0.ɵɵadvance(1);
651
+ i0.ɵɵproperty("ngIf", ctx.displayJobApplicationQuestions || ctx.displayJobSearchQuestions);
652
+ i0.ɵɵadvance(4);
653
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 22, "button.cancel"));
654
+ i0.ɵɵadvance(3);
655
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 24, "button.add"));
656
+ } }, dependencies: [i4.IonButton, i4.IonCol, i4.IonGrid, i4.IonRow, i5.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i6.Dialog, i7.InputText, i8.InputMask, i9.Calendar, i10.SelectButton, i11.ErrorComponent, i12.SearchEmployerComponent, i13.Dropdown, i14.StripInvisibleCharsDirective, i15.TranslatePipe] }); }
657
+ }
658
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkSearchEmployerComponentMS, [{
659
+ type: Component,
660
+ args: [{ selector: 'app-work-search-employer-ms', template: "<p-dialog visible=\"true\" modal=\"true\" appendTo=\"body\" position=\"top\" [showHeader]=\"false\"\r\n [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\">\r\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\">{{'work.search.journal.activity.heading' |\r\n translate:dynamicParam }}</h4>\r\n <form [formGroup]=\"wsrForm\" #wsrFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\">\r\n <label for=\"activityType\">{{'work.search.journal.activity.type' | translate}}</label>\r\n <app-dropdown [options]=\"activityTypeComboMs\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"activityType\" appendTo=\"body\" inputId=\"activityType\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='activityType' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <section *ngIf=\"displayJobApplicationQuestions || displayJobSearchQuestions\">\r\n <div class=\"field\">\r\n <label for=\"employerName\">{{'work.search.journal.employerName' | translate}}</label>\r\n <app-search-employer [formControl]=\"employerName\" (onFound)=\"setEmployer($event)\"\r\n [empType]=\"'REG'\"></app-search-employer>\r\n <app-error [class]=\"'app-grid'\" [field]='employerName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.', pattern: '%, <, >, ^, _, {, } are not allowed'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"line1\">{{'work.search.journal.streetAddress' | translate}}</label>\r\n <input id=\"line1\" type=\"input\" pInputText [formControl]=\"line1\" maxlength=\"40\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='line1' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.', pattern: 'Only letters, numbers, spaces, commas, periods, apostrophes, hyphens, # and / allowed'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"city\">{{'work.search.journal.city' | translate}}</label>\r\n <input id=\"city\" type=\"input\" pInputText [formControl]=\"city\" maxlength=\"30\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n invalidwsCityLength: 'City should not exceed a length of 30 characters',\r\n pattern: 'City name can only contain letters, spaces, and hyphens'\r\n }\"></app-error>\r\n </div>\r\n\r\n <ion-row>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"state\">{{'work.search.journal.state'| translate}}</label>\r\n <app-dropdown inputId=\"state\" [options]=\"statesCombo\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n appendTo=\"body\" [formControl]=\"state\" inputId=\"state\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"zip\">{{'work.search.journal.zip'| translate}}</label>\r\n <input id=\"zip\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </section>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\" *ngIf=\"displayJobApplicationQuestions || displayJobSearchQuestions\">\r\n <label for=\"workSearchDate\">{{'work.search.journal.applicationDate'| translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"workSearchDate\" appendTo=\"body\" [formControl]=\"workSearchDate\" dateFormat=\"mm/dd/yy\"\r\n [minDate]=\"sunDate\" [maxDate]=\"satDate\" [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\" placeholder=\"mm/dd/yyyy\" \r\n [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" (onInput)=\"dateInput($event)\"></p-calendar> \r\n <app-error [class]=\"'app-grid'\" [field]='workSearchDate' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n dateNotBetween: 'Date should be between ' + sunDateString + ' and ' + currentDateString + '.'\r\n }\"></app-error>\r\n </div>\r\n <section *ngIf=\"displayJobApplicationQuestions || displayJobSearchQuestions\">\r\n <div class=\"field\">\r\n <label for=\"positionAppliedFor\">{{'work.search.journal.jobTitle'| translate}}</label>\r\n <input id=\"positionAppliedFor\" type=\"input\" pInputText [formControl]=\"positionAppliedFor\" maxlength=\"50\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='positionAppliedFor' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n pattern: 'Job Title can only contain letters, spaces, and hyphens'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div *ngIf=\"displayJobApplicationQuestions\">\r\n <div class=\"field\">\r\n <label for=\"contactMethod\">{{'work.search.journal.contactMethod'| translate}}</label>\r\n <p-selectButton [options]=\"workSearchMethodContactMs\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"contactMethod\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='contactMethod' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"displayJobSearchQuestions\">\r\n <div class=\"field\">\r\n <label for=\"contactMethod\">{{'work.search.journal.contactMethodJobSearch'| translate}}</label>\r\n <p-selectButton [options]=\"workSearchMethodContactMs\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"contactMethod\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='contactMethod' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value == 'TELE'\">\r\n <label for=\"employerPhone\">{{'work.search.journal.phoneNo' | translate}}</label>\r\n <p-inputMask inputId=\"employerPhone\" [formControl]=\"employerPhone\" mask=\"(999) 999-9999\"\r\n unmask=\"true\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='employerPhone' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value == 'EMAL'\">\r\n <label for=\"employerEmail\">{{'work.search.journal.email' | translate}}</label>\r\n <input id=\"employerEmail\" type=\"input\" pInputText [formControl]=\"employerEmail\"\r\n placeholder=\"emailid@example.com\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='employerEmail' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n employerEmail: 'Invalid email address.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value == 'ONLI'\">\r\n <label for=\"employerWebsite\">{{'work.search.journal.website' | translate}}</label>\r\n <input id=\"employerWebsite\" type=\"input\" pInputText [formControl]=\"employerWebsite\" appStripInvisibleChars />\r\n <app-error [class]=\"'app-grid'\" [field]='employerWebsite' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n invalidWebsite: 'Please enter a valid website address'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value =='PRSN'\">\r\n <label for=\"empContactPersonName\">{{'work.search.journal.contactName' | translate}}</label>\r\n <input id=\"empContactPersonName\" type=\"input\" pInputText [formControl]=\"empContactPersonName\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='empContactPersonName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value =='PRSN'\">\r\n <label for=\"empContactPersonTitle\">{{'work.search.journal.contactTitle' | translate}}</label>\r\n <input id=\"empContactPersonTitle\" type=\"input\" pInputText [formControl]=\"empContactPersonTitle\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='empContactPersonTitle' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"searchResult\">{{'work.search.journal.result' | translate}}</label>\r\n <div *ngIf=\"activityType.value =='JOAP'\">\r\n <app-dropdown [options]=\"workSearchResultComboJobApplicationMs\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"searchResult\" appendTo=\"body\" inputId=\"searchResult\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='searchResult' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div *ngIf=\"activityType.value =='JOSE'\">\r\n <app-dropdown [options]=\"workSearchResultComboJobSearchMs\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"searchResult\" appendTo=\"body\" inputId=\"searchResult\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='searchResult' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'button.cancel' |\r\n translate}}</ion-button>\r\n <ion-button shape=\"round\" (click)=\"add()\" type=\"submit\">{{'button.add' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</p-dialog>" }]
661
+ }], () => [{ type: i1.WeeklyCertServiceV2 }, { type: i2.UntypedFormBuilder }, { type: i3.UtilService }], { wsrFormDirective: [{
662
+ type: ViewChild,
663
+ args: ['wsrFormDirective', { static: false }]
664
+ }], success: [{
665
+ type: Output
666
+ }], onClose: [{
667
+ type: Output
668
+ }], recordIndexToEdit: [{
669
+ type: Input
670
+ }], data: [{
671
+ type: Input
672
+ }], satDate: [{
673
+ type: Input
674
+ }], sunDate: [{
675
+ type: Input
676
+ }], satDateString: [{
677
+ type: Input
678
+ }], sunDateString: [{
679
+ type: Input
680
+ }], journal: [{
681
+ type: Input
682
+ }] }); })();
683
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkSearchEmployerComponentMS, { className: "WorkSearchEmployerComponentMS", filePath: "lib\\components\\weekly-work-search-employer-ms\\work-search-employer-ms.component.ts", lineNumber: 18 }); })();
684
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1zZWFyY2gtZW1wbG95ZXItbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS13b3JrLXNlYXJjaC1lbXBsb3llci1tcy93b3JrLXNlYXJjaC1lbXBsb3llci1tcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvd2Vla2x5LXdvcmstc2VhcmNoLWVtcGxveWVyLW1zL3dvcmstc2VhcmNoLWVtcGxveWVyLW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQWdELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUzdDLCtCQUE2RSxhQUFBLGdCQUFBO0lBRS9DLFlBQWtEOztJQUFBLGlCQUFRO0lBQ3BGLCtDQUNvQjtJQUQ4QixzTUFBVyxlQUFBLDBCQUFtQixDQUFBLElBQUM7SUFDN0QsaUJBQXNCO0lBQzFDLCtCQUVlO0lBQ2pCLGlCQUFNO0lBRU4sOEJBQW1CLGdCQUFBO0lB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RUFBQSxFQUFBO1lBR1YsZ0NBQVMsbUJBQUEsc0JBQUE7WUFFb0MsK0dBQVMsV0FBTyxJQUFDO1lBQWMsYUFDM0Q7O1lBQUEsaUJBQWE7WUFDMUIsdUNBQXdEO1lBQTlCLCtHQUFTLFNBQUssSUFBQztZQUFlLGFBQTRCOztZQUFBLGlCQUFhLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7O1lBM0x0QyxrQ0FBb0IsNkNBQUE7WUFFekIsZUFDbkM7WUFEbUMscUdBQ25DO1lBQ3JCLGVBQXFCO1lBQXJCLHVDQUFxQjtZQU1XLGVBQW1EO1lBQW5ELGlGQUFtRDtZQUMvRCxlQUErQjtZQUEvQixpREFBK0IsaUNBQUE7WUFFbEMsZUFBb0I7WUFBcEIseUJBQW9CO1lBQUMsd0NBQXNCLGFBQUEsdUNBQUE7WUFLOUMsZUFBaUU7WUFBakUsMEZBQWlFO1lBMER2RCxlQUFpRTtZQUFqRSwwRkFBaUU7WUFVM0UsZUFBaUU7WUFBakUsMEZBQWlFO1lBbUdMLGVBQzNEO1lBRDJELDZEQUMzRDtZQUMyQyxlQUE0QjtZQUE1QiwwREFBNEI7OztpRkQxS2pGLDZCQUE2QjtjQU56QyxTQUFTOzJCQUNFLDZCQUE2QjsrR0FRaEMsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUloRCxPQUFPO2tCQUROLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxpQkFBaUI7a0JBRHZCLEtBQUs7WUFJQyxJQUFJO2tCQURWLEtBQUs7WUFJQyxPQUFPO2tCQURiLEtBQUs7WUFJQyxPQUFPO2tCQURiLEtBQUs7WUFJQyxhQUFhO2tCQURuQixLQUFLO1lBSUMsYUFBYTtrQkFEbkIsS0FBSztZQUlDLE9BQU87a0JBRGIsS0FBSzs7a0ZBN0JLLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tYm8tbW9kZWwnO1xyXG5pbXBvcnQgeyBFbXBsb3llclNlYXJjaFJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9FbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC1yZWNvcmQtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBXZWVrbHlDZXJ0U2VydmljZVYyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmstc2VhcmNoLWVtcGxveWVyLW1zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3JrLXNlYXJjaC1lbXBsb3llci1tcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFdvcmtTZWFyY2hFbXBsb3llckNvbXBvbmVudE1TIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQgIHtcclxuICAgXHJcbiAgQFZpZXdDaGlsZCgnd3NyRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyB3c3JGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVjb3JkSW5kZXhUb0VkaXQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YTogV29ya1NlYXJjaFJlY29yZE1vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzYXREYXRlOiBEYXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdW5EYXRlOiBEYXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzYXREYXRlU3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdW5EYXRlU3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBqb3VybmFsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBhY3Rpdml0eVR5cGVDb21ib01zID0gQ29tYm9PcHRpb24uQWN0aXZpdHlUeXBlQ29tYm9NcztcclxuICBwdWJsaWMgd29ya1NlYXJjaE1ldGhvZENvbnRhY3RNcyA9IENvbWJvT3B0aW9uLldvcmtTZWFyY2hNZXRob2RDb250YWN0TXM7XHJcbiAgcHVibGljIHdvcmtTZWFyY2hSZXN1bHRDb21ib0pvYkFwcGxpY2F0aW9uTXMgPSBDb21ib09wdGlvbi5Xb3JrU2VhcmNoUmVzdWx0Q29tYm9Kb2JBcHBsaWNhdGlvbk1zO1xyXG4gIHB1YmxpYyB3b3JrU2VhcmNoUmVzdWx0Q29tYm9Kb2JTZWFyY2hNcyA9IENvbWJvT3B0aW9uLldvcmtTZWFyY2hSZXN1bHRDb21ib0pvYlNlYXJjaE1zO1xyXG4gIHB1YmxpYyBzdGF0ZXNDb21ibyA9IENvbWJvT3B0aW9uLlN0YXRlc0NvbWJvO1xyXG4gIHB1YmxpYyB3b3JrU2VhcmNoUmVjb3JkRGF0YSA6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCA9IG51bGw7XHJcblxyXG4gIGR5bmFtaWNQYXJhbTogYW55O1xyXG4gIHB1YmxpYyB3c3JGb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgaXNSZWFkT25seSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkaXNwbGF5Sm9iU2VhcmNoUXVlc3Rpb25zIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlKb2JBcHBsaWNhdGlvblF1ZXN0aW9ucyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgY3VycmVudERhdGVTdHJpbmcgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnKS5mb3JtYXQodGhpcy5jdXJyZW50RGF0ZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB3Y1NlcnZpY2U6IFdlZWtseUNlcnRTZXJ2aWNlVjIsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5qb3VybmFsKSB7XHJcbiAgICAgIHRoaXMuc2F0RGF0ZSA9IHRoaXMudXRpbC5nZXRFbnRlcmVkRGF0ZSh0aGlzLndjU2VydmljZS5nZXRTYXR1cmRheURhdGUoKSlcclxuICAgICAgdGhpcy5zdW5EYXRlID0gdGhpcy51dGlsLmdldEVudGVyZWREYXRlKHRoaXMud2NTZXJ2aWNlLmdldFN1bmRheURhdGUoKSk7XHJcbiAgICAgIHRoaXMuc2F0RGF0ZVN0cmluZyA9IHRoaXMud2NTZXJ2aWNlLmdldFNhdHVyZGF5RGF0ZUFzU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuc3VuRGF0ZVN0cmluZyA9IHRoaXMud2NTZXJ2aWNlLmdldFN1bmRheURhdGVBc1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5keW5hbWljUGFyYW0gPSB7XHJcbiAgICAgICdzYXR1cmRheV9kYXRlJzogdGhpcy5zYXREYXRlU3RyaW5nLFxyXG4gICAgICAnc3VuZGF5X2RhdGUnOiB0aGlzLnN1bkRhdGVTdHJpbmcsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuaW5pdGlsaXplV29ya1NlYXJjaEZvcm0oKTtcclxuICAgIHRoaXMudHJpbUlucHV0SGVscGVyKCk7XHJcbiAgfVxyXG5cclxuICBkYXRlSW5wdXQoZXZlbnQpe1xyXG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA6IHN0cmluZyA9IGV2ZW50LnNyY0VsZW1lbnQudmFsdWU7XHJcbiAgICBpZihjdXJyZW50VmFsdWUpe1xyXG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJyl7XHJcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpe1xyXG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmltSW5wdXRIZWxwZXIoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5lbXBsb3llckVtYWlsLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICBpZiAodmFsKSB7XHJcbiAgICAgICAgICBjb25zdCBzYW5pdGl6ZWQgPSB2YWwucmVwbGFjZSgvXFxzKy9nLCAnJyk7XHJcbiAgICAgICAgICBpZiAodmFsICE9PSBzYW5pdGl6ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5lbXBsb3llckVtYWlsLnNldFZhbHVlKHNhbml0aXplZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGluaXRpbGl6ZVdvcmtTZWFyY2hGb3JtKCkge1xyXG4gICAgbGV0IHdzcjogV29ya1NlYXJjaFJlY29yZE1vZGVsO1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB3c3IgPSB0aGlzLmRhdGE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT0gdW5kZWZpbmVkIHx8IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT0gbnVsbCkge1xyXG4gICAgICB3c3IgPSBuZXcgV29ya1NlYXJjaFJlY29yZE1vZGVsKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB3c3IgPSB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpW3RoaXMucmVjb3JkSW5kZXhUb0VkaXRdO1xyXG4gICAgfVxyXG4gICAgdGhpcy53c3JGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICdhY3Rpdml0eVR5cGUnOiBbd3NyLmFjdGl2aXR5VHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICd3b3JrU2VhcmNoRGF0ZSc6IFt3c3Iud29ya1NlYXJjaERhdGUgIT0gbnVsbCA/IHRoaXMuZ2V0RGF0ZSh3c3Iud29ya1NlYXJjaERhdGUpIDogJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc0JldHdlZW4odGhpcy5zdW5EYXRlLCB0aGlzLmN1cnJlbnREYXRlKV0pXSxcclxuICAgICAgJ2VtcGxveWVyTmFtZSc6IFt3c3IuZW1wbG95ZXJOYW1lXSxcclxuICAgICAgJ2NpdHknOiBbd3NyLmNpdHldLFxyXG4gICAgICAnbGluZTEnOiBbd3NyLmxpbmUxXSxcclxuICAgICAgJ2xpbmUyJzogW3dzci5saW5lMl0sXHJcbiAgICAgICdzdGF0ZSc6IFt3c3Iuc3RhdGUgIT0gbnVsbCA/IHdzci5zdGF0ZSA6IExpYkNvbnN0YW50cy5TVEFURV0sXHJcbiAgICAgICdjb250YWN0TWV0aG9kJzogW3dzci5jb250YWN0TWV0aG9kICE9IG51bGwgPyB3c3IuY29udGFjdE1ldGhvZCA6ICcnXSxcclxuICAgICAgJ2VtcENvbnRhY3RQZXJzb25OYW1lJzogW3dzci5lbXBDb250YWN0UGVyc29uTmFtZV0sXHJcbiAgICAgICdlbXBDb250YWN0UGVyc29uVGl0bGUnOiBbd3NyLmVtcENvbnRhY3RQZXJzb25UaXRsZV0sXHJcbiAgICAgICd6aXAnOiBbd3NyLnppcF0sXHJcbiAgICAgICdlbXBsb3llclBob25lJzogW3dzci5lbXBsb3llclBob25lICE9IG51bGwgPyB3c3IuZW1wbG95ZXJQaG9uZSA6ICcnXSxcclxuICAgICAgJ2VtcGxveWVyRW1haWwnOiBbd3NyLmVtcGxveWVyRW1haWxdLFxyXG4gICAgICAnZW1wbG95ZXJXZWJzaXRlJzogW3dzci5lbXBsb3llcldlYnNpdGVdLFxyXG4gICAgICAnZW1wbG95ZXJGYXgnOiBbd3NyLmVtcGxveWVyRmF4ICE9IG51bGwgPyB3c3IuZW1wbG95ZXJGYXggOiAnJ10sXHJcbiAgICAgICdwb3NpdGlvbkFwcGxpZWRGb3InOiBbd3NyLnBvc2l0aW9uQXBwbGllZEZvcl0sXHJcbiAgICAgICdzZWFyY2hSZXN1bHQnOiBbd3NyLnNlYXJjaFJlc3VsdF0sXHJcbiAgICAgICd3aW5nc1JlZmVycmFsV29ya1NlYXJjaElkJzogW3dzci53aW5nc1JlZmVycmFsV29ya1NlYXJjaElkXSxcclxuICAgICAgJ2NsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCc6IFt3c3IuY2xhaW1hbnRXb3JrU2VhcmNoSm91cm5hbElkXSxcclxuICAgICAgJ3dzcklkJzogW3dzci53c3JJZF1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh3c3IuYWN0aXZpdHlUeXBlID09ICdKT0FQJykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlKb2JBcHBsaWNhdGlvblF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKHdzci5hY3Rpdml0eVR5cGUgPT0gJ0pPU0UnKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheUpvYlNlYXJjaFF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHdzci53aW5nc1JlZmVycmFsV29ya1NlYXJjaElkICE9IG51bGwgJiYgd3NyLndpbmdzUmVmZXJyYWxXb3JrU2VhcmNoSWQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaXNSZWFkT25seSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzUmVhZE9ubHkgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5jb250YWN0TWV0aG9kLnNldFZhbHVlKHdzci5jb250YWN0TWV0aG9kICE9IG51bGwgPyB3c3IuY29udGFjdE1ldGhvZCA6ICcnKTtcclxuXHJcbiAgICAgIHRoaXMuY29udGFjdE1ldGhvZC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XHJcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLnNldENvbnRhY3RJbmZvVmFsaWRhdGlvbih2YWwpKTtcclxuICAgICAgICBcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuYWN0aXZpdHlUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuc2V0QWN0aXZpdHlUeXBlVmFsaWRhdGlvbih2YWwpKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNldENvbnRhY3RJbmZvVmFsaWRhdGlvbih0aGlzLmNvbnRhY3RNZXRob2QudmFsdWUpO1xyXG4gICAgICB0aGlzLnNldEFjdGl2aXR5VHlwZVZhbGlkYXRpb24odGhpcy5hY3Rpdml0eVR5cGUudmFsdWUpO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHNldEFjdGl2aXR5VHlwZVZhbGlkYXRpb24odmFsOiBhbnkpIHtcclxuICAgIHRoaXMuZGlzcGxheUpvYkFwcGxpY2F0aW9uUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpc3BsYXlKb2JTZWFyY2hRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgIGlmKHZhbCA9PSAnSk9BUCcgKXtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iQXBwbGljYXRpb25RdWVzdGlvbnMgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlKb2JTZWFyY2hRdWVzdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuZW1wbG95ZXJOYW1lLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXig/IS4qWyU8PlxcXl97fV0pW0EtWmEtejAtOVxcc1xcLiwmJygpIyFAOiRcXC9cXFxcXFwtXFwrP1wiXSskLyldKTtcclxuICAgICAgdGhpcy5lbXBsb3llck5hbWUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB0aGlzLmxpbmUxLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXlswLTlBLVphLXpcXHMsJ1xcLVxcLiNcXC9dKyQvKV0pO1xyXG4gICAgICB0aGlzLmxpbmUxLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy5jaXR5LmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXig/IS0pW0EtWmEteiAtXSokLyldKTtcclxuICAgICAgdGhpcy5jaXR5LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy56aXApO1xyXG4gICAgICB0aGlzLnBvc2l0aW9uQXBwbGllZEZvci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPyEtKVtBLVphLXowLTkgLV0qJC8pXSk7XHJcbiAgICAgIHRoaXMucG9zaXRpb25BcHBsaWVkRm9yLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuY29udGFjdE1ldGhvZCk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNlYXJjaFJlc3VsdCk7XHJcbiAgICB9XHJcbiAgICBpZih2YWwgPT0gJ0pPU0UnKXtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iU2VhcmNoUXVlc3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iQXBwbGljYXRpb25RdWVzdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuZW1wbG95ZXJOYW1lLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXig/IS4qWyU8PlxcXl97fV0pW0EtWmEtejAtOVxcc1xcLiwmJygpIyFAOiRcXC9cXFxcXFwtXFwrP1wiXSskLyldKTtcclxuICAgICAgdGhpcy5lbXBsb3llck5hbWUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB0aGlzLmxpbmUxLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXlswLTlBLVphLXpcXHMsJ1xcLVxcLiNcXC9dKyQvKV0pO1xyXG4gICAgICB0aGlzLmxpbmUxLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy5jaXR5LmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXig/IS0pW0EtWmEteiAtXSokLyldKTtcclxuICAgICAgdGhpcy5jaXR5LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy56aXApO1xyXG4gICAgICB0aGlzLnBvc2l0aW9uQXBwbGllZEZvci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPyEtKVtBLVphLXowLTkgLV0qJC8pXSk7XHJcbiAgICAgIHRoaXMucG9zaXRpb25BcHBsaWVkRm9yLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuY29udGFjdE1ldGhvZCk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNlYXJjaFJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDb250YWN0SW5mb1ZhbGlkYXRpb24odmFsOiBhbnkpIHtcclxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAodmFsID09ICdURUxFJykge1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyUGhvbmUpO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBDb250YWN0UGVyc29uTmFtZSk7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcENvbnRhY3RQZXJzb25UaXRsZSk7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyRW1haWwpO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llcldlYnNpdGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWwgPT0gJ0VNQUwnKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5lbXBsb3llckVtYWlsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llclBob25lKTtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wQ29udGFjdFBlcnNvbk5hbWUpO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBDb250YWN0UGVyc29uVGl0bGUpO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llcldlYnNpdGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWwgPT0gJ09OTEknKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wbG95ZXJXZWJzaXRlKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLmVtcGxveWVyV2Vic2l0ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNWYWxpZFdlYnNpdGVdKVxyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llckVtYWlsKTtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wQ29udGFjdFBlcnNvblRpdGxlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsID09ICdQUlNOJykge1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBDb250YWN0UGVyc29uVGl0bGUpO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llcldlYnNpdGUpO1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llckVtYWlsKTtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZSh3c0RhdGUpOiBEYXRlIHtcclxuICAgIGlmKCEod3NEYXRlIGluc3RhbmNlb2YgRGF0ZSkpe1xyXG4gICAgICByZXR1cm4gdGhpcy51dGlsLmdldEVudGVyZWREYXRlKHdzRGF0ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd3NEYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGl2aXR5VHlwZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snYWN0aXZpdHlUeXBlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya1NlYXJjaERhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3dvcmtTZWFyY2hEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJOYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydlbXBsb3llck5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCBjaXR5KCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydjaXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgbGluZTEoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2xpbmUxJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGluZTIoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2xpbmUyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3N0YXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGFjdE1ldGhvZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snY29udGFjdE1ldGhvZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtcENvbnRhY3RQZXJzb25OYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydlbXBDb250YWN0UGVyc29uTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtcENvbnRhY3RQZXJzb25UaXRsZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snZW1wQ29udGFjdFBlcnNvblRpdGxlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgemlwKCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWyd6aXAnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbXBsb3llclBob25lKCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydlbXBsb3llclBob25lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJFbWFpbCgpe1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snZW1wbG95ZXJFbWFpbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtcGxveWVyV2Vic2l0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snZW1wbG95ZXJXZWJzaXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJGYXgoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2VtcGxveWVyRmF4J107XHJcbiAgfVxyXG5cclxuICBnZXQgcG9zaXRpb25BcHBsaWVkRm9yKCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydwb3NpdGlvbkFwcGxpZWRGb3InXTtcclxuICB9XHJcblxyXG4gIGdldCBzZWFyY2hSZXN1bHQoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3NlYXJjaFJlc3VsdCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdpbmdzUmVmZXJyYWxXb3JrU2VhcmNoSWQoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3dpbmdzUmVmZXJyYWxXb3JrU2VhcmNoSWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBjbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsSWQoKXtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2NsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdzcklkKCl7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWyd3c3JJZCddO1xyXG4gIH1cclxuXHJcbiAgYWRkKCl7XHJcbiAgICBpZih0aGlzLndzckZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLndzckZvcm0udmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyU2VhcmNoUmVzdWx0KSB7XHJcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5lbXBsb3llck5hbWUuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJOYW1lKTtcclxuICAgICAgdGhpcy5saW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xyXG4gICAgICB0aGlzLmxpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XHJcbiAgICAgIHRoaXMuY2l0eS5zZXRWYWx1ZShlbXBsb3llci5jaXR5KTtcclxuICAgICAgdGhpcy5zdGF0ZS5zZXRWYWx1ZShlbXBsb3llci5zdGF0ZS52YWx1ZSk7XHJcbiAgICAgIHRoaXMuemlwLnNldFZhbHVlKGVtcGxveWVyLnppcCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHAtZGlhbG9nIHZpc2libGU9XCJ0cnVlXCIgbW9kYWw9XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgcG9zaXRpb249XCJ0b3BcIiBbc2hvd0hlYWRlcl09XCJmYWxzZVwiXHJcbiAgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIj5cclxuICA8aDQgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZXkpOyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+e3snd29yay5zZWFyY2guam91cm5hbC5hY3Rpdml0eS5oZWFkaW5nJyB8XHJcbiAgICB0cmFuc2xhdGU6ZHluYW1pY1BhcmFtIH19PC9oND5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cIndzckZvcm1cIiAjd3NyRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgPGlvbi1ncmlkPlxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYWN0aXZpdHlUeXBlXCI+e3snd29yay5zZWFyY2guam91cm5hbC5hY3Rpdml0eS50eXBlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFjdGl2aXR5VHlwZUNvbWJvTXNcIiBvcHRpb25MYWJlbD1cIkRFU0NcIiBvcHRpb25WYWx1ZT1cIk5BTUVcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImFjdGl2aXR5VHlwZVwiIGFwcGVuZFRvPVwiYm9keVwiIGlucHV0SWQ9XCJhY3Rpdml0eVR5cGVcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYWN0aXZpdHlUeXBlJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiZGlzcGxheUpvYkFwcGxpY2F0aW9uUXVlc3Rpb25zIHx8IGRpc3BsYXlKb2JTZWFyY2hRdWVzdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llck5hbWVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLmVtcGxveWVyTmFtZScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJOYW1lXCIgKG9uRm91bmQpPVwic2V0RW1wbG95ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFtlbXBUeXBlXT1cIidSRUcnXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyTmFtZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nLCBwYXR0ZXJuOiAnJSwgPCwgPiwgXiwgXywgeywgfSBhcmUgbm90IGFsbG93ZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxpbmUxXCI+e3snd29yay5zZWFyY2guam91cm5hbC5zdHJlZXRBZGRyZXNzJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImxpbmUxXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwibGluZTFcIiBtYXhsZW5ndGg9XCI0MFwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2xpbmUxJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsIHBhdHRlcm46ICdPbmx5IGxldHRlcnMsIG51bWJlcnMsIHNwYWNlcywgY29tbWFzLCBwZXJpb2RzLCBhcG9zdHJvcGhlcywgaHlwaGVucywgIyBhbmQgLyBhbGxvd2VkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjaXR5XCI+e3snd29yay5zZWFyY2guam91cm5hbC5jaXR5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImNpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJjaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjaXR5JyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgIGludmFsaWR3c0NpdHlMZW5ndGg6ICdDaXR5IHNob3VsZCBub3QgZXhjZWVkIGEgbGVuZ3RoIG9mIDMwIGNoYXJhY3RlcnMnLFxyXG4gICAgICAgICAgICAgICAgICAgcGF0dGVybjogJ0NpdHkgbmFtZSBjYW4gb25seSBjb250YWluIGxldHRlcnMsIHNwYWNlcywgYW5kIGh5cGhlbnMnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGF0ZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuc3RhdGUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBpbnB1dElkPVwic3RhdGVcIiBbb3B0aW9uc109XCJzdGF0ZXNDb21ib1wiIG9wdGlvbkxhYmVsPVwiREVTQ1wiIG9wdGlvblZhbHVlPVwiTkFNRVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwic3RhdGVcIiBpbnB1dElkPVwic3RhdGVcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhdGUnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInppcFwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuemlwJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInppcFwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInppcFwiIG1pbmxlbmd0aD1cIjVcIiBtYXhsZW5ndGg9XCI5XCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ppcCcgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRMZW5ndGg6ICdaaXAgY29kZSBzaG91bGQgYmUgb2YgNSBvciA5IGRpZ2l0cy4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE51bWJlcjogJ1ppcCBjb2RlIHNob3VsZCBvbmx5IGhhdmUgbnVtYmVycy4nXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJkaXNwbGF5Sm9iQXBwbGljYXRpb25RdWVzdGlvbnMgfHwgZGlzcGxheUpvYlNlYXJjaFF1ZXN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrU2VhcmNoRGF0ZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuYXBwbGljYXRpb25EYXRlJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIndvcmtTZWFyY2hEYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndvcmtTZWFyY2hEYXRlXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cInN1bkRhdGVcIiBbbWF4RGF0ZV09XCJzYXREYXRlXCIgW2RlZmF1bHREYXRlXT1cInN1bkRhdGVcIiBbc2VsZWN0T3RoZXJNb250aHNdPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFxyXG4gICAgICAgICAgICAgICAgW21vbnRoTmF2aWdhdG9yXT1cInRydWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+ICBcclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1NlYXJjaERhdGUnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICBkYXRlTm90QmV0d2VlbjogJ0RhdGUgc2hvdWxkIGJlIGJldHdlZW4gJyArIHN1bkRhdGVTdHJpbmcgKyAnIGFuZCAnICsgY3VycmVudERhdGVTdHJpbmcgKyAnLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cImRpc3BsYXlKb2JBcHBsaWNhdGlvblF1ZXN0aW9ucyB8fCBkaXNwbGF5Sm9iU2VhcmNoUXVlc3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicG9zaXRpb25BcHBsaWVkRm9yXCI+e3snd29yay5zZWFyY2guam91cm5hbC5qb2JUaXRsZSd8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInBvc2l0aW9uQXBwbGllZEZvclwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInBvc2l0aW9uQXBwbGllZEZvclwiICBtYXhsZW5ndGg9XCI1MFwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3Bvc2l0aW9uQXBwbGllZEZvcicgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgICBwYXR0ZXJuOiAnSm9iIFRpdGxlIGNhbiBvbmx5IGNvbnRhaW4gbGV0dGVycywgc3BhY2VzLCBhbmQgaHlwaGVucydcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlKb2JBcHBsaWNhdGlvblF1ZXN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb250YWN0TWV0aG9kXCI+e3snd29yay5zZWFyY2guam91cm5hbC5jb250YWN0TWV0aG9kJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwid29ya1NlYXJjaE1ldGhvZENvbnRhY3RNc1wiIG9wdGlvbkxhYmVsPVwiREVTQ1wiIG9wdGlvblZhbHVlPVwiTkFNRVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRhY3RNZXRob2RcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nY29udGFjdE1ldGhvZCcgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5Sm9iU2VhcmNoUXVlc3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNvbnRhY3RNZXRob2RcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLmNvbnRhY3RNZXRob2RKb2JTZWFyY2gnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ3b3JrU2VhcmNoTWV0aG9kQ29udGFjdE1zXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udGFjdE1ldGhvZFwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjb250YWN0TWV0aG9kJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJjb250YWN0TWV0aG9kLnZhbHVlID09ICdURUxFJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyUGhvbmVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnBob25lTm8nIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtaW5wdXRNYXNrIGlucHV0SWQ9XCJlbXBsb3llclBob25lXCIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyUGhvbmVcIiBtYXNrPVwiKDk5OSkgOTk5LTk5OTlcIlxyXG4gICAgICAgICAgICAgICAgICB1bm1hc2s9XCJ0cnVlXCI+PC9wLWlucHV0TWFzaz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclBob25lJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiY29udGFjdE1ldGhvZC52YWx1ZSA9PSAnRU1BTCdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llckVtYWlsXCI+e3snd29yay5zZWFyY2guam91cm5hbC5lbWFpbCcgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llckVtYWlsXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJFbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZW1haWxpZEBleGFtcGxlLmNvbVwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyRW1haWwnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgICAgZW1wbG95ZXJFbWFpbDogJ0ludmFsaWQgZW1haWwgYWRkcmVzcy4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiY29udGFjdE1ldGhvZC52YWx1ZSA9PSAnT05MSSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llcldlYnNpdGVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLndlYnNpdGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1wbG95ZXJXZWJzaXRlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJXZWJzaXRlXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycyAvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyV2Vic2l0ZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgICBpbnZhbGlkV2Vic2l0ZTogJ1BsZWFzZSBlbnRlciBhIHZhbGlkIHdlYnNpdGUgYWRkcmVzcydcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJjb250YWN0TWV0aG9kLnZhbHVlID09J1BSU04nXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wQ29udGFjdFBlcnNvbk5hbWVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLmNvbnRhY3ROYW1lJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImVtcENvbnRhY3RQZXJzb25OYW1lXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1wQ29udGFjdFBlcnNvbk5hbWVcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBDb250YWN0UGVyc29uTmFtZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiY29udGFjdE1ldGhvZC52YWx1ZSA9PSdQUlNOJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcENvbnRhY3RQZXJzb25UaXRsZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuY29udGFjdFRpdGxlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImVtcENvbnRhY3RQZXJzb25UaXRsZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImVtcENvbnRhY3RQZXJzb25UaXRsZVwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcENvbnRhY3RQZXJzb25UaXRsZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlYXJjaFJlc3VsdFwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwucmVzdWx0JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhY3Rpdml0eVR5cGUudmFsdWUgPT0nSk9BUCdcIj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ3b3JrU2VhcmNoUmVzdWx0Q29tYm9Kb2JBcHBsaWNhdGlvbk1zXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoUmVzdWx0XCIgYXBwZW5kVG89XCJib2R5XCIgaW5wdXRJZD1cInNlYXJjaFJlc3VsdFwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VhcmNoUmVzdWx0JyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGl2aXR5VHlwZS52YWx1ZSA9PSdKT1NFJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cIndvcmtTZWFyY2hSZXN1bHRDb21ib0pvYlNlYXJjaE1zXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoUmVzdWx0XCIgYXBwZW5kVG89XCJib2R5XCIgaW5wdXRJZD1cInNlYXJjaFJlc3VsdFwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VhcmNoUmVzdWx0JyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwicmVzZXRcIj57eydidXR0b24uY2FuY2VsJyB8XHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJhZGQoKVwiIHR5cGU9XCJzdWJtaXRcIj57eydidXR0b24uYWRkJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuICA8L2Zvcm0+XHJcbjwvcC1kaWFsb2c+Il19