@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
@@ -22,209 +22,402 @@ import * as i14 from "primeng/inputtext";
22
22
  import * as i15 from "../../content/content.component";
23
23
  import * as i16 from "../../header/header.component";
24
24
  import * as i17 from "../multi-questionnaire/multi-questionnaire.component";
25
- import * as i18 from "@ngx-translate/core";
26
- function CommonSuccessPage_app_multi_questionnaire_4_Template(rf, ctx) { if (rf & 1) {
27
- const _r4 = i0.ɵɵgetCurrentView();
28
- i0.ɵɵelementStart(0, "app-multi-questionnaire", 5);
29
- i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_4_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.quSuccess()); });
25
+ import * as i18 from "../../profile-redirect/profile-redirect.component";
26
+ import * as i19 from "@ngx-translate/core";
27
+ function CommonSuccessPage_app_profile_redirect_3_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelement(0, "app-profile-redirect", 7);
29
+ } if (rf & 2) {
30
+ const ctx_r0 = i0.ɵɵnextContext();
31
+ i0.ɵɵproperty("redirectPage", ctx_r0.commonSuccessPage);
32
+ } }
33
+ function CommonSuccessPage_app_multi_questionnaire_5_Template(rf, ctx) { if (rf & 1) {
34
+ const _r6 = i0.ɵɵgetCurrentView();
35
+ i0.ɵɵelementStart(0, "app-multi-questionnaire", 8);
36
+ i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_5_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.quSuccess()); });
30
37
  i0.ɵɵpipe(1, "translate");
31
38
  i0.ɵɵelementEnd();
32
39
  } if (rf & 2) {
33
- const ctx_r0 = i0.ɵɵnextContext();
34
- i0.ɵɵproperty("qeQueryModels", ctx_r0.qeQueryModels)("showClose", false)("header", i0.ɵɵpipeBind1(1, 4, "Follow up Questions"))("showQuestionNumber", true);
40
+ const ctx_r1 = i0.ɵɵnextContext();
41
+ i0.ɵɵproperty("qeQueryModels", ctx_r1.qeQueryModels)("showClose", false)("header", i0.ɵɵpipeBind1(1, 4, "Follow up Questions"))("showQuestionNumber", true);
42
+ } }
43
+ function CommonSuccessPage_app_multi_questionnaire_6_Template(rf, ctx) { if (rf & 1) {
44
+ const _r8 = i0.ɵɵgetCurrentView();
45
+ i0.ɵɵelementStart(0, "app-multi-questionnaire", 9);
46
+ i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_6_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.quSuccessDua()); });
47
+ i0.ɵɵpipe(1, "translate");
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r2 = i0.ɵɵnextContext();
51
+ i0.ɵɵproperty("qeQueryModels", ctx_r2.qeQueryModels)("showClose", false)("autoSave", true)("header", i0.ɵɵpipeBind1(1, 5, "DUA application"))("showQuestionNumber", false);
35
52
  } }
36
- function CommonSuccessPage_ion_row_5_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "ion-row", 6)(1, "ion-col", 7)(2, "ion-label", 8);
38
- i0.ɵɵelement(3, "div", 9);
53
+ function CommonSuccessPage_ion_row_7_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "ion-row", 10)(1, "ion-col", 11)(2, "ion-label", 12);
55
+ i0.ɵɵelement(3, "div", 13);
39
56
  i0.ɵɵelementEnd();
40
- i0.ɵɵelement(4, "br")(5, "ion-spinner", 10);
57
+ i0.ɵɵelement(4, "br")(5, "ion-spinner", 14);
41
58
  i0.ɵɵelementEnd()();
42
59
  } if (rf & 2) {
43
- const ctx_r1 = i0.ɵɵnextContext();
60
+ const ctx_r3 = i0.ɵɵnextContext();
44
61
  i0.ɵɵadvance(3);
45
- i0.ɵɵproperty("innerHTML", ctx_r1.sanitizer.bypassSecurityTrustHtml(ctx_r1.waitingMessage), i0.ɵɵsanitizeHtml);
62
+ i0.ɵɵproperty("innerHTML", ctx_r3.sanitizer.bypassSecurityTrustHtml(ctx_r3.waitingMessage), i0.ɵɵsanitizeHtml);
46
63
  } }
47
- function CommonSuccessPage_div_6_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
48
- i0.ɵɵelement(0, "div", 13);
64
+ const _c0 = (a0, a1) => ({ "padding-left": a0, "padding-top": a1 });
65
+ function CommonSuccessPage_div_8_div_1_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelement(0, "div", 18);
49
67
  } if (rf & 2) {
50
- const element_r8 = i0.ɵɵnextContext().$implicit;
51
- i0.ɵɵproperty("innerHTML", element_r8.description, i0.ɵɵsanitizeHtml);
68
+ const element_r15 = i0.ɵɵnextContext().$implicit;
69
+ const ctx_r17 = i0.ɵɵnextContext(3);
70
+ i0.ɵɵproperty("innerHTML", element_r15.description, i0.ɵɵsanitizeHtml)("ngStyle", i0.ɵɵpureFunction2(2, _c0, ctx_r17.isCsr ? "270px" : "0", ctx_r17.isCsr ? "55px" : "0"));
52
71
  } }
53
- function CommonSuccessPage_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
72
+ function CommonSuccessPage_div_8_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
54
73
  i0.ɵɵelementStart(0, "div");
55
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_1_div_1_Template, 1, 1, "div", 12);
74
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_1_div_1_Template, 1, 5, "div", 17);
56
75
  i0.ɵɵelementEnd();
57
76
  } if (rf & 2) {
58
- const element_r8 = ctx.$implicit;
77
+ const element_r15 = ctx.$implicit;
59
78
  i0.ɵɵadvance(1);
60
- i0.ɵɵproperty("ngIf", element_r8.type === "header");
79
+ i0.ɵɵproperty("ngIf", element_r15.type === "header");
61
80
  } }
62
- function CommonSuccessPage_div_6_div_3_ion_row_1_Template(rf, ctx) { if (rf & 1) {
63
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 14);
64
- i0.ɵɵelement(2, "div", 15);
81
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_1_Template(rf, ctx) { if (rf & 1) {
82
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 19);
83
+ i0.ɵɵelement(2, "div", 20);
65
84
  i0.ɵɵelementEnd()();
66
85
  } if (rf & 2) {
67
- const element_r12 = i0.ɵɵnextContext().$implicit;
86
+ const element_r19 = i0.ɵɵnextContext().$implicit;
68
87
  i0.ɵɵadvance(2);
69
- i0.ɵɵproperty("innerHTML", element_r12.description, i0.ɵɵsanitizeHtml);
88
+ i0.ɵɵproperty("innerHTML", element_r19.description, i0.ɵɵsanitizeHtml);
70
89
  } }
71
- function CommonSuccessPage_div_6_div_3_ion_row_2_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 16);
73
- i0.ɵɵelement(2, "div", 9);
90
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_2_Template(rf, ctx) { if (rf & 1) {
91
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 21);
92
+ i0.ɵɵelement(2, "div", 22);
74
93
  i0.ɵɵelementEnd()();
75
94
  } if (rf & 2) {
76
- const element_r12 = i0.ɵɵnextContext().$implicit;
95
+ const element_r19 = i0.ɵɵnextContext().$implicit;
77
96
  i0.ɵɵadvance(2);
78
- i0.ɵɵproperty("innerHTML", element_r12.description, i0.ɵɵsanitizeHtml);
97
+ i0.ɵɵproperty("innerHTML", element_r19.description, i0.ɵɵsanitizeHtml);
79
98
  } }
80
- function CommonSuccessPage_div_6_div_3_ion_row_3_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
82
- i0.ɵɵelement(2, "div", 9);
99
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_3_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23);
101
+ i0.ɵɵelement(2, "div", 22);
83
102
  i0.ɵɵelementEnd()();
84
103
  } if (rf & 2) {
85
- const element_r12 = i0.ɵɵnextContext().$implicit;
86
- const ctx_r16 = i0.ɵɵnextContext(2);
104
+ const element_r19 = i0.ɵɵnextContext().$implicit;
105
+ const ctx_r23 = i0.ɵɵnextContext(3);
87
106
  i0.ɵɵadvance(2);
88
- i0.ɵɵproperty("innerHTML", ctx_r16.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
107
+ i0.ɵɵproperty("innerHTML", ctx_r23.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
89
108
  } }
90
- function CommonSuccessPage_div_6_div_3_ion_row_4_Template(rf, ctx) { if (rf & 1) {
91
- const _r25 = i0.ɵɵgetCurrentView();
92
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17)(2, "ion-row")(3, "ion-col");
93
- i0.ɵɵelement(4, "div", 9);
109
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template(rf, ctx) { if (rf & 1) {
110
+ const _r32 = i0.ɵɵgetCurrentView();
111
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23)(2, "ion-row")(3, "ion-col");
112
+ i0.ɵɵelement(4, "div", 13);
94
113
  i0.ɵɵelementEnd()();
95
114
  i0.ɵɵelementStart(5, "ion-row")(6, "ion-col");
96
- i0.ɵɵelement(7, "input", 18);
115
+ i0.ɵɵelement(7, "input", 24);
97
116
  i0.ɵɵelementEnd();
98
- i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 19);
99
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_3_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.submit()); });
117
+ i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 25);
118
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r31.submit()); });
100
119
  i0.ɵɵtext(10, "Submit");
101
120
  i0.ɵɵelementEnd()()()()();
102
121
  } if (rf & 2) {
103
- const element_r12 = i0.ɵɵnextContext().$implicit;
104
- const ctx_r17 = i0.ɵɵnextContext(2);
122
+ const element_r19 = i0.ɵɵnextContext().$implicit;
123
+ const ctx_r24 = i0.ɵɵnextContext(3);
105
124
  i0.ɵɵadvance(4);
106
- i0.ɵɵproperty("innerHTML", ctx_r17.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
125
+ i0.ɵɵproperty("innerHTML", ctx_r24.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
107
126
  i0.ɵɵadvance(3);
108
- i0.ɵɵproperty("formControl", ctx_r17.emailAddress);
127
+ i0.ɵɵproperty("formControl", ctx_r24.emailAddress);
109
128
  } }
110
- function CommonSuccessPage_div_6_div_3_ion_row_5_Template(rf, ctx) { if (rf & 1) {
111
- const _r28 = i0.ɵɵgetCurrentView();
112
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17)(2, "div", 20);
129
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template(rf, ctx) { if (rf & 1) {
130
+ const _r35 = i0.ɵɵgetCurrentView();
131
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23)(2, "div", 26);
113
132
  i0.ɵɵtext(3, "If you did't get an email, ");
114
- i0.ɵɵelementStart(4, "a", 21);
115
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_3_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r27.resendVerificationEmail()); });
133
+ i0.ɵɵelementStart(4, "a", 27);
134
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r34.resendVerificationEmail()); });
116
135
  i0.ɵɵtext(5, " click here");
117
136
  i0.ɵɵelementEnd();
118
- i0.ɵɵtext(6, " and we'll send again.");
137
+ i0.ɵɵtext(6, " and we'll send again. ");
119
138
  i0.ɵɵelementEnd()()();
120
139
  } }
121
- function CommonSuccessPage_div_6_div_3_ion_row_6_Template(rf, ctx) { if (rf & 1) {
122
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
123
- i0.ɵɵelement(2, "div", 9);
140
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_6_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23);
142
+ i0.ɵɵelement(2, "div", 22);
124
143
  i0.ɵɵelementEnd()();
125
144
  } if (rf & 2) {
126
- const element_r12 = i0.ɵɵnextContext().$implicit;
127
- const ctx_r19 = i0.ɵɵnextContext(2);
145
+ const element_r19 = i0.ɵɵnextContext().$implicit;
146
+ const ctx_r26 = i0.ɵɵnextContext(3);
128
147
  i0.ɵɵadvance(2);
129
- i0.ɵɵproperty("innerHTML", ctx_r19.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
148
+ i0.ɵɵproperty("innerHTML", ctx_r26.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
130
149
  } }
131
- function CommonSuccessPage_div_6_div_3_ion_row_7_Template(rf, ctx) { if (rf & 1) {
132
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
133
- i0.ɵɵelement(2, "div", 9);
150
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_7_Template(rf, ctx) { if (rf & 1) {
151
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23);
152
+ i0.ɵɵelement(2, "div", 22);
134
153
  i0.ɵɵelementEnd()();
135
154
  } if (rf & 2) {
136
- const element_r12 = i0.ɵɵnextContext().$implicit;
137
- const ctx_r20 = i0.ɵɵnextContext(2);
155
+ const element_r19 = i0.ɵɵnextContext().$implicit;
156
+ const ctx_r27 = i0.ɵɵnextContext(3);
138
157
  i0.ɵɵadvance(2);
139
- i0.ɵɵproperty("innerHTML", ctx_r20.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
158
+ i0.ɵɵproperty("innerHTML", ctx_r27.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
140
159
  } }
141
- function CommonSuccessPage_div_6_div_3_Template(rf, ctx) { if (rf & 1) {
160
+ function CommonSuccessPage_div_8_div_1_div_3_Template(rf, ctx) { if (rf & 1) {
142
161
  i0.ɵɵelementStart(0, "div");
143
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_3_ion_row_1_Template, 3, 1, "ion-row", 4)(2, CommonSuccessPage_div_6_div_3_ion_row_2_Template, 3, 1, "ion-row", 4)(3, CommonSuccessPage_div_6_div_3_ion_row_3_Template, 3, 1, "ion-row", 4)(4, CommonSuccessPage_div_6_div_3_ion_row_4_Template, 11, 2, "ion-row", 4)(5, CommonSuccessPage_div_6_div_3_ion_row_5_Template, 7, 0, "ion-row", 4)(6, CommonSuccessPage_div_6_div_3_ion_row_6_Template, 3, 1, "ion-row", 4)(7, CommonSuccessPage_div_6_div_3_ion_row_7_Template, 3, 1, "ion-row", 4);
162
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_3_ion_row_1_Template, 3, 1, "ion-row", 6)(2, CommonSuccessPage_div_8_div_1_div_3_ion_row_2_Template, 3, 1, "ion-row", 6)(3, CommonSuccessPage_div_8_div_1_div_3_ion_row_3_Template, 3, 1, "ion-row", 6)(4, CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template, 11, 2, "ion-row", 6)(5, CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template, 7, 0, "ion-row", 6)(6, CommonSuccessPage_div_8_div_1_div_3_ion_row_6_Template, 3, 1, "ion-row", 6)(7, CommonSuccessPage_div_8_div_1_div_3_ion_row_7_Template, 3, 1, "ion-row", 6);
144
163
  i0.ɵɵelementEnd();
145
164
  } if (rf & 2) {
146
- const element_r12 = ctx.$implicit;
165
+ const element_r19 = ctx.$implicit;
147
166
  i0.ɵɵadvance(1);
148
- i0.ɵɵproperty("ngIf", element_r12.type === "subhheader");
167
+ i0.ɵɵproperty("ngIf", element_r19.type === "subhheader");
149
168
  i0.ɵɵadvance(1);
150
- i0.ɵɵproperty("ngIf", element_r12.type === "text1");
169
+ i0.ɵɵproperty("ngIf", element_r19.type === "text1");
151
170
  i0.ɵɵadvance(1);
152
- i0.ɵɵproperty("ngIf", element_r12.type === "text2");
171
+ i0.ɵɵproperty("ngIf", element_r19.type === "text2");
153
172
  i0.ɵɵadvance(1);
154
- i0.ɵɵproperty("ngIf", element_r12.type === "emailUpdate");
173
+ i0.ɵɵproperty("ngIf", element_r19.type === "emailUpdate");
155
174
  i0.ɵɵadvance(1);
156
- i0.ɵɵproperty("ngIf", element_r12.type === "resendemail");
175
+ i0.ɵɵproperty("ngIf", element_r19.type === "resendemail");
157
176
  i0.ɵɵadvance(1);
158
- i0.ɵɵproperty("ngIf", element_r12.type === "text3");
177
+ i0.ɵɵproperty("ngIf", element_r19.type === "text3");
159
178
  i0.ɵɵadvance(1);
160
- i0.ɵɵproperty("ngIf", element_r12.type === "text4");
179
+ i0.ɵɵproperty("ngIf", element_r19.type === "text4");
161
180
  } }
162
- function CommonSuccessPage_div_6_div_5_ion_col_2_div_1_Template(rf, ctx) { if (rf & 1) {
163
- i0.ɵɵelementStart(0, "div", 25)(1, "h3");
181
+ function CommonSuccessPage_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
182
+ i0.ɵɵelementStart(0, "div");
183
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_1_Template, 2, 1, "div", 16);
184
+ i0.ɵɵelementStart(2, "ion-grid");
185
+ i0.ɵɵtemplate(3, CommonSuccessPage_div_8_div_1_div_3_Template, 8, 7, "div", 16);
186
+ i0.ɵɵelementEnd()();
187
+ } if (rf & 2) {
188
+ const ctx_r9 = i0.ɵɵnextContext(2);
189
+ i0.ɵɵadvance(1);
190
+ i0.ɵɵproperty("ngForOf", ctx_r9.elements.getValue());
191
+ i0.ɵɵadvance(2);
192
+ i0.ɵɵproperty("ngForOf", ctx_r9.elements.getValue());
193
+ } }
194
+ function CommonSuccessPage_div_8_div_2_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
195
+ i0.ɵɵelementStart(0, "div");
196
+ i0.ɵɵelement(1, "p", 32);
197
+ i0.ɵɵelementEnd();
198
+ } if (rf & 2) {
199
+ const element_r40 = i0.ɵɵnextContext().$implicit;
200
+ i0.ɵɵadvance(1);
201
+ i0.ɵɵproperty("innerHTML", element_r40.description, i0.ɵɵsanitizeHtml);
202
+ } }
203
+ function CommonSuccessPage_div_8_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
204
+ i0.ɵɵelementStart(0, "div");
205
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_2_div_4_div_1_Template, 2, 1, "div", 6);
206
+ i0.ɵɵelementEnd();
207
+ } if (rf & 2) {
208
+ const element_r40 = ctx.$implicit;
209
+ i0.ɵɵadvance(1);
210
+ i0.ɵɵproperty("ngIf", element_r40.type === "header");
211
+ } }
212
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_1_Template(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 19);
214
+ i0.ɵɵelement(2, "div", 20);
215
+ i0.ɵɵelementEnd()();
216
+ } if (rf & 2) {
217
+ const element_r44 = i0.ɵɵnextContext().$implicit;
218
+ i0.ɵɵadvance(2);
219
+ i0.ɵɵproperty("innerHTML", element_r44.description, i0.ɵɵsanitizeHtml);
220
+ } }
221
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_2_Template(rf, ctx) { if (rf & 1) {
222
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
223
+ i0.ɵɵelement(2, "div", 22);
224
+ i0.ɵɵelementEnd()();
225
+ } if (rf & 2) {
226
+ const element_r44 = i0.ɵɵnextContext().$implicit;
227
+ i0.ɵɵadvance(2);
228
+ i0.ɵɵproperty("innerHTML", element_r44.description, i0.ɵɵsanitizeHtml);
229
+ } }
230
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_3_Template(rf, ctx) { if (rf & 1) {
231
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
232
+ i0.ɵɵelement(2, "div", 22);
233
+ i0.ɵɵelementEnd()();
234
+ } if (rf & 2) {
235
+ const element_r44 = i0.ɵɵnextContext().$implicit;
236
+ const ctx_r48 = i0.ɵɵnextContext(3);
237
+ i0.ɵɵadvance(2);
238
+ i0.ɵɵproperty("innerHTML", ctx_r48.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
239
+ } }
240
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template(rf, ctx) { if (rf & 1) {
241
+ const _r57 = i0.ɵɵgetCurrentView();
242
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col")(2, "ion-row")(3, "ion-col");
243
+ i0.ɵɵelement(4, "div", 13);
244
+ i0.ɵɵelementEnd()();
245
+ i0.ɵɵelementStart(5, "ion-row")(6, "ion-col");
246
+ i0.ɵɵelement(7, "input", 24);
247
+ i0.ɵɵelementEnd();
248
+ i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 25);
249
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r56.submit()); });
250
+ i0.ɵɵtext(10, "Submit");
251
+ i0.ɵɵelementEnd()()()()();
252
+ } if (rf & 2) {
253
+ const element_r44 = i0.ɵɵnextContext().$implicit;
254
+ const ctx_r49 = i0.ɵɵnextContext(3);
255
+ i0.ɵɵadvance(4);
256
+ i0.ɵɵproperty("innerHTML", ctx_r49.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
257
+ i0.ɵɵadvance(3);
258
+ i0.ɵɵproperty("formControl", ctx_r49.emailAddress);
259
+ } }
260
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template(rf, ctx) { if (rf & 1) {
261
+ const _r60 = i0.ɵɵgetCurrentView();
262
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col")(2, "div", 26);
263
+ i0.ɵɵtext(3, "If you did't get an email, ");
264
+ i0.ɵɵelementStart(4, "a", 27);
265
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r59.resendVerificationEmail()); });
266
+ i0.ɵɵtext(5, " click here");
267
+ i0.ɵɵelementEnd();
268
+ i0.ɵɵtext(6, " and we'll send again. ");
269
+ i0.ɵɵelementEnd()()();
270
+ } }
271
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_6_Template(rf, ctx) { if (rf & 1) {
272
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
273
+ i0.ɵɵelement(2, "div", 22);
274
+ i0.ɵɵelementEnd()();
275
+ } if (rf & 2) {
276
+ const element_r44 = i0.ɵɵnextContext().$implicit;
277
+ const ctx_r51 = i0.ɵɵnextContext(3);
278
+ i0.ɵɵadvance(2);
279
+ i0.ɵɵproperty("innerHTML", ctx_r51.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
280
+ } }
281
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_7_Template(rf, ctx) { if (rf & 1) {
282
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
283
+ i0.ɵɵelement(2, "div", 22);
284
+ i0.ɵɵelementEnd()();
285
+ } if (rf & 2) {
286
+ const element_r44 = i0.ɵɵnextContext().$implicit;
287
+ const ctx_r52 = i0.ɵɵnextContext(3);
288
+ i0.ɵɵadvance(2);
289
+ i0.ɵɵproperty("innerHTML", ctx_r52.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
290
+ } }
291
+ function CommonSuccessPage_div_8_div_2_div_6_Template(rf, ctx) { if (rf & 1) {
292
+ i0.ɵɵelementStart(0, "div");
293
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_2_div_6_ion_row_1_Template, 3, 1, "ion-row", 6)(2, CommonSuccessPage_div_8_div_2_div_6_ion_row_2_Template, 3, 1, "ion-row", 6)(3, CommonSuccessPage_div_8_div_2_div_6_ion_row_3_Template, 3, 1, "ion-row", 6)(4, CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template, 11, 2, "ion-row", 6)(5, CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template, 7, 0, "ion-row", 6)(6, CommonSuccessPage_div_8_div_2_div_6_ion_row_6_Template, 3, 1, "ion-row", 6)(7, CommonSuccessPage_div_8_div_2_div_6_ion_row_7_Template, 3, 1, "ion-row", 6);
294
+ i0.ɵɵelementEnd();
295
+ } if (rf & 2) {
296
+ const element_r44 = ctx.$implicit;
297
+ i0.ɵɵadvance(1);
298
+ i0.ɵɵproperty("ngIf", element_r44.type === "subhheader");
299
+ i0.ɵɵadvance(1);
300
+ i0.ɵɵproperty("ngIf", element_r44.type === "text1");
301
+ i0.ɵɵadvance(1);
302
+ i0.ɵɵproperty("ngIf", element_r44.type === "text2");
303
+ i0.ɵɵadvance(1);
304
+ i0.ɵɵproperty("ngIf", element_r44.type === "emailUpdate");
305
+ i0.ɵɵadvance(1);
306
+ i0.ɵɵproperty("ngIf", element_r44.type === "resendemail");
307
+ i0.ɵɵadvance(1);
308
+ i0.ɵɵproperty("ngIf", element_r44.type === "text3");
309
+ i0.ɵɵadvance(1);
310
+ i0.ɵɵproperty("ngIf", element_r44.type === "text4");
311
+ } }
312
+ function CommonSuccessPage_div_8_div_2_Template(rf, ctx) { if (rf & 1) {
313
+ i0.ɵɵelementStart(0, "div")(1, "ion-grid")(2, "ion-row")(3, "ion-col", 28);
314
+ i0.ɵɵtemplate(4, CommonSuccessPage_div_8_div_2_div_4_Template, 2, 1, "div", 16);
315
+ i0.ɵɵelementStart(5, "ion-grid");
316
+ i0.ɵɵtemplate(6, CommonSuccessPage_div_8_div_2_div_6_Template, 8, 7, "div", 16);
317
+ i0.ɵɵelementEnd()();
318
+ i0.ɵɵelementStart(7, "ion-col", 29)(8, "h4", 30);
319
+ i0.ɵɵtext(9, "One more task...");
320
+ i0.ɵɵelementEnd();
321
+ i0.ɵɵelementStart(10, "p", 31);
322
+ i0.ɵɵtext(11, "Choose ");
323
+ i0.ɵɵelementStart(12, "b");
324
+ i0.ɵɵtext(13, "Next");
325
+ i0.ɵɵelementEnd();
326
+ i0.ɵɵtext(14, " to be taken to MSWorks website to complete employment service registration.");
327
+ i0.ɵɵelement(15, "br");
328
+ i0.ɵɵtext(16, " Once you're done, we can match you to available jobs based on your experience and preferences. ");
329
+ i0.ɵɵelementEnd()()()()();
330
+ } if (rf & 2) {
331
+ const ctx_r10 = i0.ɵɵnextContext(2);
332
+ i0.ɵɵadvance(4);
333
+ i0.ɵɵproperty("ngForOf", ctx_r10.elements.getValue());
334
+ i0.ɵɵadvance(2);
335
+ i0.ɵɵproperty("ngForOf", ctx_r10.elements.getValue());
336
+ } }
337
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_2_div_1_Template(rf, ctx) { if (rf & 1) {
338
+ i0.ɵɵelementStart(0, "div", 36)(1, "h3");
164
339
  i0.ɵɵtext(2);
165
340
  i0.ɵɵelementEnd()();
166
341
  } if (rf & 2) {
167
- const element_r31 = i0.ɵɵnextContext(2).$implicit;
342
+ const element_r64 = i0.ɵɵnextContext(2).$implicit;
168
343
  i0.ɵɵadvance(2);
169
- i0.ɵɵtextInterpolate(element_r31.description);
344
+ i0.ɵɵtextInterpolate(element_r64.description);
170
345
  } }
171
- function CommonSuccessPage_div_6_div_5_ion_col_2_Template(rf, ctx) { if (rf & 1) {
172
- i0.ɵɵelementStart(0, "ion-col", 23);
173
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_2_div_1_Template, 3, 1, "div", 24);
346
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_2_Template(rf, ctx) { if (rf & 1) {
347
+ i0.ɵɵelementStart(0, "ion-col", 34);
348
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_ion_col_2_div_1_Template, 3, 1, "div", 35);
174
349
  i0.ɵɵelementEnd();
175
350
  } if (rf & 2) {
176
- const element_r31 = i0.ɵɵnextContext().$implicit;
351
+ const element_r64 = i0.ɵɵnextContext().$implicit;
177
352
  i0.ɵɵadvance(1);
178
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonAddjacentText");
353
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonAddjacentText");
179
354
  } }
180
- function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template(rf, ctx) { if (rf & 1) {
181
- const _r40 = i0.ɵɵgetCurrentView();
182
- i0.ɵɵelementStart(0, "div", 27)(1, "ion-button", 28);
183
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r39.openPage()); });
355
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template(rf, ctx) { if (rf & 1) {
356
+ const _r73 = i0.ɵɵgetCurrentView();
357
+ i0.ɵɵelementStart(0, "div", 38)(1, "ion-button", 39);
358
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r72.openPage()); });
184
359
  i0.ɵɵtext(2);
185
360
  i0.ɵɵelementEnd()();
186
361
  } if (rf & 2) {
187
- const element_r31 = i0.ɵɵnextContext(2).$implicit;
362
+ const element_r64 = i0.ɵɵnextContext(2).$implicit;
188
363
  i0.ɵɵadvance(2);
189
- i0.ɵɵtextInterpolate1(" ", element_r31.description, " ");
364
+ i0.ɵɵtextInterpolate1(" ", element_r64.description, " ");
190
365
  } }
191
- function CommonSuccessPage_div_6_div_5_ion_col_3_Template(rf, ctx) { if (rf & 1) {
192
- i0.ɵɵelementStart(0, "ion-col", 23);
193
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template, 3, 1, "div", 26);
366
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_Template(rf, ctx) { if (rf & 1) {
367
+ i0.ɵɵelementStart(0, "ion-col", 34);
368
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template, 3, 1, "div", 37);
194
369
  i0.ɵɵelementEnd();
195
370
  } if (rf & 2) {
196
- const element_r31 = i0.ɵɵnextContext().$implicit;
371
+ const element_r64 = i0.ɵɵnextContext().$implicit;
197
372
  i0.ɵɵadvance(1);
198
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonText");
373
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonText");
199
374
  } }
200
- function CommonSuccessPage_div_6_div_5_Template(rf, ctx) { if (rf & 1) {
375
+ function CommonSuccessPage_div_8_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
201
376
  i0.ɵɵelementStart(0, "div")(1, "ion-row");
202
- i0.ɵɵtemplate(2, CommonSuccessPage_div_6_div_5_ion_col_2_Template, 2, 1, "ion-col", 22)(3, CommonSuccessPage_div_6_div_5_ion_col_3_Template, 2, 1, "ion-col", 22);
377
+ i0.ɵɵtemplate(2, CommonSuccessPage_div_8_div_4_div_1_ion_col_2_Template, 2, 1, "ion-col", 33)(3, CommonSuccessPage_div_8_div_4_div_1_ion_col_3_Template, 2, 1, "ion-col", 33);
203
378
  i0.ɵɵelementEnd()();
204
379
  } if (rf & 2) {
205
- const element_r31 = ctx.$implicit;
380
+ const element_r64 = ctx.$implicit;
381
+ const ctx_r63 = i0.ɵɵnextContext(3);
206
382
  i0.ɵɵadvance(2);
207
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonAddjacentText");
383
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonAddjacentText" && !ctx_r63.isCsr);
208
384
  i0.ɵɵadvance(1);
209
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonText");
385
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonText");
210
386
  } }
211
- function CommonSuccessPage_div_6_Template(rf, ctx) { if (rf & 1) {
387
+ function CommonSuccessPage_div_8_div_4_Template(rf, ctx) { if (rf & 1) {
212
388
  i0.ɵɵelementStart(0, "div");
213
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_1_Template, 2, 1, "div", 11);
214
- i0.ɵɵelementStart(2, "ion-grid");
215
- i0.ɵɵtemplate(3, CommonSuccessPage_div_6_div_3_Template, 8, 7, "div", 11);
389
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_Template, 4, 2, "div", 16);
216
390
  i0.ɵɵelementEnd();
217
- i0.ɵɵelementStart(4, "ion-grid");
218
- i0.ɵɵtemplate(5, CommonSuccessPage_div_6_div_5_Template, 4, 2, "div", 11);
219
- i0.ɵɵelementEnd()();
220
391
  } if (rf & 2) {
221
- const ctx_r2 = i0.ɵɵnextContext();
392
+ const ctx_r11 = i0.ɵɵnextContext(2);
393
+ i0.ɵɵadvance(1);
394
+ i0.ɵɵproperty("ngForOf", ctx_r11.elements.getValue());
395
+ } }
396
+ function CommonSuccessPage_div_8_div_6_Template(rf, ctx) { if (rf & 1) {
397
+ const _r77 = i0.ɵɵgetCurrentView();
398
+ i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 40)(3, "div", 38)(4, "ion-button", 39);
399
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_6_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r77); const ctx_r76 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r76.openWIOApop()); });
400
+ i0.ɵɵtext(5, " Next ");
401
+ i0.ɵɵelementEnd()()()()();
402
+ } }
403
+ function CommonSuccessPage_div_8_Template(rf, ctx) { if (rf & 1) {
404
+ i0.ɵɵelementStart(0, "div");
405
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_Template, 4, 2, "div", 6)(2, CommonSuccessPage_div_8_div_2_Template, 17, 2, "div", 6);
406
+ i0.ɵɵelementStart(3, "ion-grid");
407
+ i0.ɵɵtemplate(4, CommonSuccessPage_div_8_div_4_Template, 2, 1, "div", 6);
408
+ i0.ɵɵelementStart(5, "ion-footer", 15);
409
+ i0.ɵɵtemplate(6, CommonSuccessPage_div_8_div_6_Template, 6, 0, "div", 6);
410
+ i0.ɵɵelementEnd()()();
411
+ } if (rf & 2) {
412
+ const ctx_r4 = i0.ɵɵnextContext();
222
413
  i0.ɵɵadvance(1);
223
- i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
414
+ i0.ɵɵproperty("ngIf", !ctx_r4.isMS() || ctx_r4.isMS() && (ctx_r4.wioaComp === null || ctx_r4.wioaComp));
415
+ i0.ɵɵadvance(1);
416
+ i0.ɵɵproperty("ngIf", !ctx_r4.wioaComp && ctx_r4.wioaComp != null && ctx_r4.isMS());
224
417
  i0.ɵɵadvance(2);
225
- i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
418
+ i0.ɵɵproperty("ngIf", !ctx_r4.isMS() || ctx_r4.isMS() && (ctx_r4.wioaComp === null || ctx_r4.wioaComp));
226
419
  i0.ɵɵadvance(2);
227
- i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
420
+ i0.ɵɵproperty("ngIf", !ctx_r4.wioaComp && ctx_r4.wioaComp != null && ctx_r4.isMS());
228
421
  } }
229
422
  export class CommonSuccessPage extends BasePage {
230
423
  constructor(router, questionnaireService, formBuilder, util, logger, claimantService, r, navController, ls, sanitizer, http, storage, validationService) {
@@ -254,14 +447,20 @@ export class CommonSuccessPage extends BasePage {
254
447
  this.isLoading = true;
255
448
  this.elements = new BehaviorSubject(null);
256
449
  this.successPageElementArr = new BehaviorSubject(null);
450
+ this.isCsr = false;
257
451
  this.duration = 5000; //defines milliseconds after which a new request to be sent out
258
452
  this.timerInterval = interval(this.duration);
259
453
  this.countDown = this.timerInterval.pipe(take(30));
260
454
  this.isOpenQe = false;
455
+ this.isOpenDua = false;
261
456
  this.statusModel = new StatusModel();
457
+ this.displayWIOAMsg = false;
458
+ this.commonSuccessPage = 'commonSuccessPage';
459
+ this.wioaComp = null;
262
460
  }
263
461
  async ngOnInit() {
264
462
  this.logger.debug("common-success page - ng init called");
463
+ this.isCsr = this.ls.isCsr();
265
464
  this.uuid = await this.storage.get(FbConstants.uuid);
266
465
  this.waitCheckServiceUri = await this.storage.get(FbConstants.waitCheckServiceUri);
267
466
  this.pageToOpen = await this.storage.get(FbConstants.pageToOpen);
@@ -298,16 +497,16 @@ export class CommonSuccessPage extends BasePage {
298
497
  this.storage.remove(FbConstants.uuid);
299
498
  }
300
499
  doPollingForRequest(uuidTemp, waitCheckServiceUriTemp) {
301
- console.log('do Polling for request called = ', waitCheckServiceUriTemp);
500
+ this.logger.debug('do Polling for request called = ', waitCheckServiceUriTemp);
302
501
  this.isLoading = true;
303
502
  this.timerSubscription = this.timerInterval.pipe(startWith(0), switchMap(() => this.retrivePollingStatusForPage(uuidTemp, waitCheckServiceUriTemp))).subscribe(res => {
304
503
  this.isLoading = true;
305
504
  let continueWaiting = res['continueWaiting'];
306
505
  this.waitingMessage = res['waitingMessage'];
307
- if (continueWaiting && ++this.callCount >= 15) {
308
- this.waitingMessage = "It's taking longer than usual to process your request. <br/> Do not refresh the page.";
506
+ if (continueWaiting && ++this.callCount >= 25) {
507
+ this.waitingMessage = 'Its taking longer than usual to process your request. <br/> Do not refresh the page.';
309
508
  }
310
- if (continueWaiting && this.callCount > 25) {
509
+ if (continueWaiting && this.callCount > 35) {
311
510
  this.timerSubscription.unsubscribe();
312
511
  if (this.ls.isLoggedIn()) {
313
512
  this.pageToOpen = "welcome";
@@ -315,11 +514,23 @@ export class CommonSuccessPage extends BasePage {
315
514
  else {
316
515
  this.pageToOpen = "landing";
317
516
  }
318
- this.successPageElementArr.next([
319
- { type: 'header', description: "<h1>Oops! could not process your request.</h1>\t\t", indent: 0, fontSize: 0 },
320
- { type: 'subhheader', description: '<h4>Please try again after some time.<h4>\t\t', indent: 0, fontSize: 0 },
321
- { type: 'buttonText', description: 'Home', indent: 0, fontSize: 0 }
322
- ]);
517
+ if (this.isMS()) {
518
+ this.wioaComp = null;
519
+ }
520
+ if (this.isMS()) {
521
+ this.successPageElementArr.next([
522
+ { type: 'header', description: "<h1>Your request cannot be processed at this time.</h1>\t\t", indent: 0, fontSize: 0 },
523
+ { type: 'subhheader', description: '<h4>Please try again later. If you have the problem again call us at 601-493-9427, Mon - Fri, 8:00 AM - 5:00 PM CST.<h4>\t\t', indent: 0, fontSize: 0 },
524
+ { type: 'buttonText', description: 'Home', indent: 0, fontSize: 0 }
525
+ ]);
526
+ }
527
+ else if (!this.isMS()) {
528
+ this.successPageElementArr.next([
529
+ { type: 'header', description: "<h1>Oops! could not process your request.</h1>\t\t", indent: 0, fontSize: 0 },
530
+ { type: 'subhheader', description: '<h4>Please try again after some time.<h4>\t\t', indent: 0, fontSize: 0 },
531
+ { type: 'buttonText', description: 'Home', indent: 0, fontSize: 0 }
532
+ ]);
533
+ }
323
534
  this.timerSubscription.unsubscribe();
324
535
  return;
325
536
  }
@@ -329,7 +540,9 @@ export class CommonSuccessPage extends BasePage {
329
540
  this.waitingMessage = res['waitingMessage'];
330
541
  this.fetchPageElements(messageServiceEp, uuidTemp).subscribe(resp => {
331
542
  this.statusModel = resp;
332
- this.logger.debug(" this.statusModel ", this.statusModel);
543
+ if (this.isMS()) {
544
+ this.wioaComp = this.statusModel.wioaComp;
545
+ }
333
546
  if (resp['navigateImmediately']) {
334
547
  this.openNextPage(resp['pageToOpen']);
335
548
  }
@@ -347,6 +560,20 @@ export class CommonSuccessPage extends BasePage {
347
560
  this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
348
561
  }
349
562
  }
563
+ else if (resp['showDua']) {
564
+ this.logger.debug("Open DUA Questionnaire option encountered");
565
+ this.qeSuccessWaitCheckServiceUri = this.statusModel.qeSuccessWaitCheckServiceUri;
566
+ this.qeSuccessWaitForProcessing = this.statusModel.qeSuccessWaitForProcessing;
567
+ this.qeSuccessUri = this.statusModel.qeSuccessUri;
568
+ if (this.qeSuccessUri != null) {
569
+ this.qeQueryModels = resp.qeQueryModels;
570
+ this.isOpenDua = true;
571
+ }
572
+ else {
573
+ this.logger.debug("Direct polling to new process");
574
+ this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
575
+ }
576
+ }
350
577
  else {
351
578
  this.pageToOpen = resp['pageToOpen'];
352
579
  this.successPageElementArr.next(resp['successPageElement']);
@@ -404,17 +631,25 @@ export class CommonSuccessPage extends BasePage {
404
631
  }
405
632
  openPage() {
406
633
  let currentContextRoot = this.getContextRoot();
634
+ this.logger.debug("In common success openPage method to open with contextRoot and pageToOpen", currentContextRoot, this.pageToOpen);
407
635
  if (this.pageToOpen && this.pageToOpen.substring(0, 4) != '/cp/' && this.pageToOpen && this.pageToOpen != 'OpenPage') {
408
- this.navController.navigateForward([this.pageToOpen], { queryParams: { identifier: this.uuid } });
636
+ this.logger.debug("Inside if block, redirect to ss/search-ssn");
637
+ this.util.openPageByContextRoot("ss", "search-ssn");
409
638
  }
410
639
  else {
411
640
  let url = "/cp/landing";
641
+ this.logger.debug("Inside else block, redirect to cp/landing");
412
642
  if (this.pageToOpen && this.pageToOpen != 'OpenPage') {
643
+ this.logger.debug("Inside if block, pageToOpen", this.pageToOpen);
413
644
  url = this.pageToOpen;
414
645
  }
646
+ this.logger.debug("Url to open location.origin and url ", location.origin, url);
415
647
  window.open(location.origin + url, '_self');
416
648
  }
417
649
  }
650
+ openWIOApop() {
651
+ this.displayWIOAMsg = true;
652
+ }
418
653
  getContextRoot() {
419
654
  return window.location.pathname.substring(0, window.location.pathname.indexOf("/", 2));
420
655
  }
@@ -446,30 +681,52 @@ export class CommonSuccessPage extends BasePage {
446
681
  });
447
682
  }
448
683
  }
684
+ quSuccessDua() {
685
+ this.logger.debug("qe success here for dua");
686
+ if (this.isOpenDua) {
687
+ this.validationService.post(this.qeSuccessUri, null)
688
+ .subscribe(res => {
689
+ this.logger.debug("response post dua ep", res);
690
+ this.isOpenDua = false;
691
+ if (this.qeSuccessWaitForProcessing) {
692
+ this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
693
+ }
694
+ }, err => {
695
+ this.logger.debug('Error', err);
696
+ this.util.errorHandler(err);
697
+ });
698
+ }
699
+ }
449
700
  static { this.ɵfac = function CommonSuccessPage_Factory(t) { return new (t || CommonSuccessPage)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.QuestionnaireService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.ClaimantService), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i7.NavController), i0.ɵɵdirectiveInject(i8.LoginService), i0.ɵɵdirectiveInject(i9.DomSanitizer), i0.ɵɵdirectiveInject(i10.HttpClient), i0.ɵɵdirectiveInject(i11.Storage), i0.ɵɵdirectiveInject(i12.ValidationService)); }; }
450
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommonSuccessPage, selectors: [["common-success"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 6, consts: [[3, "secondToolbar"], [3, "showHelp", "hideFooter"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], ["class", "ion-padding", 4, "ngIf"], [4, "ngIf"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete"], [1, "ion-padding"], [1, "ion-text-center"], [1, "box", 2, "color", "var(--ion-color-grey)", "font-size", "24px"], [3, "innerHTML"], ["name", "dots"], [4, "ngFor", "ngForOf"], ["style", "text-align: left;", "style", "color:var(--ion-color-grey);", "style", "padding-left: 25px;", 3, "innerHTML", 4, "ngIf"], [2, "padding-left", "25px", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-center", "ion-padding"], [1, "box", 2, "color", "var(--ion-color-grey)", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-padding"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-justify", "ion-padding"], ["id", "emailAddress", "size", "60", "type", "input", "pInputText", "", 3, "formControl"], ["shape", "round", "type", "submit", 3, "click"], [2, "text-align", "center"], ["href", "javascript:void(0)", 3, "click"], ["class", "ion-text-right ion-padding-end", "size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-right", "ion-padding-end"], ["class", "ion-text-right", "style", "color:var(--ion-color-grey);", 4, "ngIf"], [1, "ion-text-right", 2, "color", "var(--ion-color-grey)"], ["class", "ion-text-right", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click"]], template: function CommonSuccessPage_Template(rf, ctx) { if (rf & 1) {
701
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommonSuccessPage, selectors: [["common-success"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 8, consts: [[3, "secondToolbar"], [3, "redirectPage", 4, "ngIf"], [3, "showHelp", "hideFooter"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], [3, "qeQueryModels", "showClose", "autoSave", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], ["class", "ion-padding", 4, "ngIf"], [4, "ngIf"], [3, "redirectPage"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete"], [3, "qeQueryModels", "showClose", "autoSave", "header", "showQuestionNumber", "onComplete"], [1, "ion-padding"], [1, "ion-text-center"], [1, "text"], [3, "innerHTML"], ["name", "dots"], [2, "position", "fixed", "bottom", "25px", "width", "100%", "padding", "20px"], [4, "ngFor", "ngForOf"], ["class", "headers", 3, "innerHTML", "ngStyle", 4, "ngIf"], [1, "headers", 3, "innerHTML", "ngStyle"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-center", "ion-padding"], [1, "subHeaders", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-padding"], [1, "text", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-justify", "ion-padding"], ["id", "emailAddress", "size", "60", "type", "input", "pInputText", "", 3, "formControl"], ["shape", "round", "type", "submit", 3, "click"], [2, "text-align", "center"], ["href", "javascript:void(0)", 3, "click"], ["size", "12", "sizeXl", "6", "offsetXl", "1", "sizeLg", "6", 1, "ion-text-justify", "ion-padding"], ["size", "12", "sizeXl", "3", "sizeLg", "3", 1, "ion-text-justify", "ion-padding", 2, "align-content", "center"], [2, "font-size", "24px"], [2, "font-size", "18px"], [1, "headersClassWioaCompNotNull", 3, "innerHTML"], ["class", "ion-text-right ion-padding-end", "size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-right", "ion-padding-end"], ["class", "ion-text-right", "style", "color:var(--ion-color-grey);", 4, "ngIf"], [1, "ion-text-right", 2, "color", "var(--ion-color-grey)"], ["class", "ion-text-right", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "2", "offsetXl", "4", "offsetLg", "4", 1, "ion-text-right", "ion-padding-end"]], template: function CommonSuccessPage_Template(rf, ctx) { if (rf & 1) {
451
702
  i0.ɵɵelementStart(0, "ion-header");
452
703
  i0.ɵɵelement(1, "app-header", 0);
453
704
  i0.ɵɵelementEnd();
454
- i0.ɵɵelementStart(2, "ion-content")(3, "app-content", 1);
455
- i0.ɵɵtemplate(4, CommonSuccessPage_app_multi_questionnaire_4_Template, 2, 6, "app-multi-questionnaire", 2)(5, CommonSuccessPage_ion_row_5_Template, 6, 1, "ion-row", 3)(6, CommonSuccessPage_div_6_Template, 6, 3, "div", 4);
705
+ i0.ɵɵelementStart(2, "ion-content");
706
+ i0.ɵɵtemplate(3, CommonSuccessPage_app_profile_redirect_3_Template, 1, 1, "app-profile-redirect", 1);
707
+ i0.ɵɵelementStart(4, "app-content", 2);
708
+ i0.ɵɵtemplate(5, CommonSuccessPage_app_multi_questionnaire_5_Template, 2, 6, "app-multi-questionnaire", 3)(6, CommonSuccessPage_app_multi_questionnaire_6_Template, 2, 7, "app-multi-questionnaire", 4)(7, CommonSuccessPage_ion_row_7_Template, 6, 1, "ion-row", 5)(8, CommonSuccessPage_div_8_Template, 7, 4, "div", 6);
456
709
  i0.ɵɵelementEnd()();
457
710
  } if (rf & 2) {
458
711
  i0.ɵɵadvance(1);
459
712
  i0.ɵɵproperty("secondToolbar", false);
460
713
  i0.ɵɵadvance(2);
714
+ i0.ɵɵproperty("ngIf", ctx.displayWIOAMsg);
715
+ i0.ɵɵadvance(1);
461
716
  i0.ɵɵproperty("showHelp", false)("hideFooter", true);
462
717
  i0.ɵɵadvance(1);
463
718
  i0.ɵɵproperty("ngIf", ctx.isOpenQe);
464
719
  i0.ɵɵadvance(1);
720
+ i0.ɵɵproperty("ngIf", ctx.isOpenDua);
721
+ i0.ɵɵadvance(1);
465
722
  i0.ɵɵproperty("ngIf", ctx.isLoading);
466
723
  i0.ɵɵadvance(1);
467
724
  i0.ɵɵproperty("ngIf", ctx.elements.getValue() && !ctx.isLoading);
468
- } }, dependencies: [i7.IonButton, i7.IonCol, i7.IonContent, i7.IonGrid, i7.IonHeader, i7.IonLabel, i7.IonRow, i7.IonSpinner, i13.NgForOf, i13.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i14.InputText, i15.ContentComponent, i16.HeaderComponent, i17.MultiQuestionnaireComponent, i18.TranslatePipe], styles: [".bottom[_ngcontent-%COMP%]{position:absolute;bottom:15%;right:5%}.centered[_ngcontent-%COMP%]{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}"] }); }
725
+ } }, dependencies: [i7.IonButton, i7.IonCol, i7.IonContent, i7.IonFooter, i7.IonGrid, i7.IonHeader, i7.IonLabel, i7.IonRow, i7.IonSpinner, i13.NgForOf, i13.NgIf, i13.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i14.InputText, i15.ContentComponent, i16.HeaderComponent, i17.MultiQuestionnaireComponent, i18.ProfileRedirectComponent, i19.TranslatePipe], styles: [".bottom[_ngcontent-%COMP%]{position:absolute;bottom:15%;right:5%}.centered[_ngcontent-%COMP%]{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}.headers[_ngcontent-%COMP%]{color:#777;text-align:left;font-size:60px!important}.subHeaders[_ngcontent-%COMP%]{color:#777;font-size:24px!important;margin-bottom:20px}.text[_ngcontent-%COMP%]{color:#777;font-size:24px!important}.headersClassWioaCompNotNull[_ngcontent-%COMP%]{color:#777;font-size:60px;padding-left:25px;text-align:left}@media (min-width: 320px) and (max-width: 400px){ion-footer[_ngcontent-%COMP%]{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers[_ngcontent-%COMP%], .headersClassWioaCompNotNull[_ngcontent-%COMP%]{font-size:30px!important;padding-left:65px!important}}@media (min-width: 401px) and (max-width: 470px){ion-footer[_ngcontent-%COMP%]{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers[_ngcontent-%COMP%]{font-size:30px!important;padding-left:75px!important}.headersClassWioaCompNotNull[_ngcontent-%COMP%]{font-size:30px!important;padding-left:85px!important}}"] }); }
469
726
  }
470
727
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonSuccessPage, [{
471
728
  type: Component,
472
- args: [{ selector: 'common-success', template: "<ion-header>\r\n <app-header [secondToolbar]=\"false\"></app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" [showClose]=\"false\" \r\n (onComplete)=\"quSuccess()\" [header]=\"'Follow up Questions' | translate\" [showQuestionNumber]=\"true\"></app-multi-questionnaire>\r\n\r\n <ion-row class=\"ion-padding\" *ngIf=\"isLoading\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-label class=\"box\"style=\"color:var(--ion-color-grey); font-size: 24px\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(waitingMessage)\"></div></ion-label>\r\n <br>\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div *ngIf=\"elements.getValue() && !isLoading\">\r\n\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div [innerHTML]=\"element.description\" style=\"text-align: left;\" *ngIf=\"element.type ==='header'\"\r\n style=\"color:var(--ion-color-grey);\" style=\"padding-left: 25px;\">\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\" class=\"box\" style=\"margin-bottom: 20px;\"\r\n style=\"color:var(--ion-color-grey);\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <ion-row> \r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row> \r\n <ion-col> \r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col> \r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div style='text-align:center'>If you did't get an email, \r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send again.</div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n\r\n\r\n <!--For button-->\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row>\r\n <ion-col *ngIf=\"element.type ==='buttonAddjacentText'\" class=\"ion-text-right ion-padding-end\" size=\"12\"\r\n sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"ion-text-right\" style=\"color:var(--ion-color-grey);\"\r\n *ngIf=\"element.type ==='buttonAddjacentText'\">\r\n <h3>{{element.description}}</h3>\r\n </div>\r\n </ion-col>\r\n <ion-col *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\"\r\n sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\" type=\"submit\">\r\n {{element.description}}\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </div>\r\n\r\n </ion-grid>\r\n\r\n\r\n\r\n <!--Button-->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n </app-content>\r\n</ion-content>", styles: [".bottom{position:absolute;bottom:15%;right:5%}.centered{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}\n"] }]
729
+ args: [{ selector: 'common-success', template: "<ion-header>\r\n <app-header [secondToolbar]=\"false\"></app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-profile-redirect *ngIf=\"displayWIOAMsg\" [redirectPage]=\"commonSuccessPage\"></app-profile-redirect>\r\n\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" [showClose]=\"false\"\r\n (onComplete)=\"quSuccess()\" [header]=\"'Follow up Questions' | translate\" [showQuestionNumber]=\"true\">\r\n </app-multi-questionnaire>\r\n\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" [showClose]=\"false\" [autoSave]=\"true\" *ngIf=\"isOpenDua\"\r\n (onComplete)=\"quSuccessDua()\" [header]=\"'DUA application' | translate\" [showQuestionNumber]=\"false\">\r\n </app-multi-questionnaire>\r\n\r\n <ion-row class=\"ion-padding\" *ngIf=\"isLoading\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-label class=\"text\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(waitingMessage)\"></div>\r\n </ion-label>\r\n <br>\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div *ngIf=\"elements.getValue() && !isLoading\">\r\n <div *ngIf=\"!isMS() || (isMS() && (wioaComp===null || wioaComp))\">\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div class=\"headers\" [innerHTML]=\"element.description\" *ngIf=\"element.type ==='header'\"\r\n [ngStyle]=\"{\r\n 'padding-left': isCsr ? '270px' : '0', \r\n 'padding-top': isCsr ? '55px' : '0'\r\n }\">\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"subHeaders\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\"\r\n offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div style='text-align:center'>If you did't get an email,\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send\r\n again.\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n </div>\r\n\r\n <div *ngIf=\"!wioaComp && wioaComp!= null && isMS()\" >\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeXl=\"6\" offsetXl=\"1\" sizeLg=\"6\">\r\n\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div *ngIf=\"element.type ==='header'\">\r\n <p class=\"headersClassWioaCompNotNull\" [innerHTML]=\"element.description\">\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\"\r\n sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"subHeaders\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col>\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col>\r\n <div style='text-align:center'>If you did't get an email,\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send\r\n again.\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n </ion-col>\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeXl=\"3\" sizeLg=\"3\" style=\"align-content: center;\">\r\n <h4 style=\"font-size: 24px;\">One more task...</h4>\r\n <p style=\"font-size: 18px;\">Choose <b>Next</b> to be taken to MSWorks website to complete employment service registration.<br>\r\n Once you're done, we can match you to available jobs based on your experience and preferences.\r\n </p>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <!--For button-->\r\n <ion-grid>\r\n <div *ngIf=\"!isMS() || (isMS() && (wioaComp===null || wioaComp))\">\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row>\r\n <ion-col *ngIf=\"element.type ==='buttonAddjacentText' && !isCsr\" class=\"ion-text-right ion-padding-end\" size=\"12\"\r\n sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"ion-text-right\" style=\"color:var(--ion-color-grey);\"\r\n *ngIf=\"element.type ==='buttonAddjacentText'\">\r\n <h3>{{element.description}}</h3>\r\n </div>\r\n </ion-col>\r\n <ion-col *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\"\r\n sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\"\r\n type=\"submit\">\r\n {{element.description}}\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </div>\r\n <ion-footer style=\"position: fixed; bottom: 25px; width: 100%; padding: 20px\">\r\n <div *ngIf=\"!wioaComp && wioaComp!= null && isMS()\" >\r\n <ion-row>\r\n <ion-col class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"2\" offsetXl=\"4\" offsetLg=\"4\">\r\n <div class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openWIOApop()\" color=\"success\" size=\"big\" type=\"submit\">\r\n Next\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-footer>\r\n </ion-grid>\r\n <!--Button-->\r\n </div>\r\n </app-content>\r\n</ion-content>", styles: [".bottom{position:absolute;bottom:15%;right:5%}.centered{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}.headers{color:#777;text-align:left;font-size:60px!important}.subHeaders{color:#777;font-size:24px!important;margin-bottom:20px}.text{color:#777;font-size:24px!important}.headersClassWioaCompNotNull{color:#777;font-size:60px;padding-left:25px;text-align:left}@media (min-width: 320px) and (max-width: 400px){ion-footer{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers,.headersClassWioaCompNotNull{font-size:30px!important;padding-left:65px!important}}@media (min-width: 401px) and (max-width: 470px){ion-footer{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers{font-size:30px!important;padding-left:75px!important}.headersClassWioaCompNotNull{font-size:30px!important;padding-left:85px!important}}\n"] }]
473
730
  }], () => [{ type: i1.Router }, { type: i2.QuestionnaireService }, { type: i3.UntypedFormBuilder }, { type: i4.UtilService }, { type: i5.LoggerService }, { type: i6.ClaimantService }, { type: i1.Router }, { type: i7.NavController }, { type: i8.LoginService }, { type: i9.DomSanitizer }, { type: i10.HttpClient }, { type: i11.Storage }, { type: i12.ValidationService }], null); })();
474
731
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommonSuccessPage, { className: "CommonSuccessPage", filePath: "lib\\components\\questionnaire\\common-success\\common-success.page.ts", lineNumber: 28 }); })();
475
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN1Y2Nlc3MucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2NvbW1vbi1zdWNjZXNzL2NvbW1vbi1zdWNjZXNzLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9jb21tb24tc3VjY2Vzcy9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDWnpDLGtEQUNvRztJQUFwRyw2TUFBYyxlQUFBLGtCQUFXLENBQUEsSUFBQzs7SUFBMEUsaUJBQTBCOzs7SUFEckcsb0RBQStCLG9CQUFBLHVEQUFBLDRCQUFBOzs7SUFHeEQsa0NBQStDLGlCQUFBLG1CQUFBO0lBR3pDLHlCQUEyRTtJQUFBLGlCQUFZO0lBQ3pGLHFCQUFJLHNCQUFBO0lBRU4saUJBQVUsRUFBQTs7O0lBSEQsZUFBK0Q7SUFBL0QsOEdBQStEOzs7SUFTdEUsMEJBRU07OztJQUZELHFFQUFpQzs7O0lBRHhDLDJCQUFrRTtJQUNoRSwr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R0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFDO29CQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztpQkFDeEU7WUFDSCxDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0osQ0FBQztrRkFsUVMsaUJBQWlCO29FQUFqQixpQkFBaUI7WUMzQjlCLGtDQUFZO1lBQ1YsZ0NBQWlEO1lBQ25ELGlCQUFhO1lBRWIsbUNBQWEscUJBQUE7WUFFVCwwR0FDOEgsNkRBQUEscURBQUE7WUE0SGhJLGlCQUFjLEVBQUE7O1lBbElGLGVBQXVCO1lBQXZCLHFDQUF1QjtZQUl0QixlQUFrQjtZQUFsQixnQ0FBa0Isb0JBQUE7WUFDNkIsZUFBYztZQUFkLG1DQUFjO1lBRzFDLGVBQWU7WUFBZixvQ0FBZTtZQVN2QyxlQUF1QztZQUF2QyxnRUFBdUM7OztpRkRTcEMsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsZ0JBQWdCOztrRkFJZixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGludGVydmFsLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1Y2Nlc3NQYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1N1Y2Nlc3NQYWdlRWxlbWVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtc2VydmljZS9jbGFpbWFudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3RhdHVzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9TdGF0dXNNb2RlbCc7XHJcbmltcG9ydCB7IFBvbGxpbmdTdGF0dXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1BvbGxpbmdTdGF0dXNNb2RlbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgRmJDb25zdGFudHMgfSBmcm9tICcuLi9GYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tbW9uLXN1Y2Nlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbW1vbi1zdWNjZXNzLnBhZ2Uuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uU3VjY2Vzc1BhZ2UgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgY2FsbENvdW50IDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgaGVhZGluZyA9IFwiXCI7XHJcbiAgcHVibGljIG1lc3NhZ2UgPSBcIlwiO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICBwYWdlVG9PcGVuOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHV1aWQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgd2FpdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHdhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHdhaXRpbmdNZXNzYWdlID0gXCJQbGVhc2UgV2FpdC4uLlwiO1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSB0cnVlO1xyXG4gIGVsZW1lbnRzOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4obnVsbCk7XHJcbiAgcHVibGljIHN1Y2Nlc3NQYWdlRWxlbWVudEFycjogQmVoYXZpb3JTdWJqZWN0PFN1Y2Nlc3NQYWdlRWxlbWVudFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+KG51bGwpO1xyXG4gIHB1YmxpYyBzdWNjZXNzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgZHVyYXRpb24gPSA1MDAwOyAvL2RlZmluZXMgbWlsbGlzZWNvbmRzIGFmdGVyIHdoaWNoIGEgbmV3IHJlcXVlc3QgdG8gYmUgc2VudCBvdXRcclxuICBwdWJsaWMgdGltZXJJbnRlcnZhbCA9IGludGVydmFsKHRoaXMuZHVyYXRpb24pO1xyXG4gIHB1YmxpYyBjb3VudERvd24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZSh0YWtlKDMwKSk7XHJcblxyXG4gIHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgY291bnREb3duU3Vic2NyaXB0aW9uIDsgU3Vic2NyaXB0aW9uO1xyXG5cclxuICBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcclxuICBpc09wZW5RZSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBxZVN1Y2Nlc3NVcmk6IHN0cmluZztcclxuICBxZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpOiBzdHJpbmc7XHJcbiAgcWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgOiBib29sZWFuO1xyXG4gIHN0YXR1c01vZGVsIDogU3RhdHVzTW9kZWwgPSBuZXcgU3RhdHVzTW9kZWwoKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgcXVlc3Rpb25uYWlyZVNlcnZpY2U6IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlLCBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBjbGFpbWFudFNlcnZpY2U6IENsYWltYW50U2VydmljZSxcclxuICAgIHB1YmxpYyByOiBSb3V0ZXIsIHB1YmxpYyBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLCBwdWJsaWMgbHM6IExvZ2luU2VydmljZSxcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JhZ2UgOiBTdG9yYWdlLCBcclxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2UgOiBWYWxpZGF0aW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJjb21tb24tc3VjY2VzcyBwYWdlIC0gbmcgaW5pdCBjYWxsZWRcIilcclxuICAgIHRoaXMudXVpZCA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMudXVpZCk7XHJcbiAgICB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xyXG4gICAgdGhpcy5wYWdlVG9PcGVuID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy5wYWdlVG9PcGVuKTtcclxuICAgIHRoaXMud2FpdCA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMud2FpdEZvclByb2Nlc3NpbmcpO1xyXG5cclxuICAgIHRoaXMuc3VjY2Vzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2VtYWlsQWRkcmVzcyc6IFtdLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudHMubmV4dChyZXMpO1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLndhaXQpIHtcclxuICAgICAgICB0aGlzLmRvUG9sbGluZ0ZvclJlcXVlc3QodGhpcy51dWlkLCB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIC8vZm9yIG90aGVyIGNhc2VzIHdoZXJlIHN0YXR1cyBlbmQgcG9pbnQgaXMgbm90IHNldC5cclxuICAgICAgdGhpcy5lbGVtZW50cy5uZXh0KGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRpbWVyU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uKXtcclxuICAgICAgdGhpcy5jb3VudERvd25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMud2FpdEZvclByb2Nlc3NpbmcpO1xyXG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZShGYkNvbnN0YW50cy53YWl0Q2hlY2tTZXJ2aWNlVXJpKTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgZG9Qb2xsaW5nRm9yUmVxdWVzdCh1dWlkVGVtcDogc3RyaW5nLCB3YWl0Q2hlY2tTZXJ2aWNlVXJpVGVtcDogc3RyaW5nKXtcclxuICAgIGNvbnNvbGUubG9nKCdkbyBQb2xsaW5nIGZvciByZXF1ZXN0IGNhbGxlZCA9ICcsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbiA9IHRoaXMudGltZXJJbnRlcnZhbC5waXBlKFxyXG4gICAgICAgIHN0YXJ0V2l0aCgwKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5yZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpZFRlbXAsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKSlcclxuICAgICAgKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgbGV0IGNvbnRpbnVlV2FpdGluZyA9IHJlc1snY29udGludWVXYWl0aW5nJ107XHJcbiAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9IHJlc1snd2FpdGluZ01lc3NhZ2UnXTtcclxuICAgICAgICBcclxuICAgICAgICBpZihjb250aW51ZVdhaXRpbmcgJiYgKyt0aGlzLmNhbGxDb3VudCA+PSAxNSl7XHJcbiAgICAgICAgICB0aGlzLndhaXRpbmdNZXNzYWdlID0gXCJJdCdzIHRha2luZyBsb25nZXIgdGhhbiB1c3VhbCB0byBwcm9jZXNzIHlvdXIgcmVxdWVzdC4gPGJyLz4gRG8gbm90IHJlZnJlc2ggdGhlIHBhZ2UuXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY29udGludWVXYWl0aW5nICYmIHRoaXMuY2FsbENvdW50ID4gMjUpe1xyXG4gICAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZih0aGlzLmxzLmlzTG9nZ2VkSW4oKSl7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZVRvT3BlbiA9IFwid2VsY29tZVwiO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gXCJsYW5kaW5nXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQoXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgIHt0eXBlOiAnaGVhZGVyJywgZGVzY3JpcHRpb246IFwiPGgxPk9vcHMhIGNvdWxkIG5vdCBwcm9jZXNzIHlvdXIgcmVxdWVzdC48L2gxPlxcdFxcdFwiLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcclxuICAgICAgICAgICAgICAgIHt0eXBlOiAnc3ViaGhlYWRlcicsIGRlc2NyaXB0aW9uOiAnPGg0PlBsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgc29tZSB0aW1lLjxoND5cXHRcXHQnLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcclxuICAgICAgICAgICAgICAgIHt0eXBlOiAnYnV0dG9uVGV4dCcsIGRlc2NyaXB0aW9uOiAnSG9tZScsIGluZGVudDogMCwgZm9udFNpemU6IDB9XHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKCFjb250aW51ZVdhaXRpbmcpIHtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwic2VuZCBhbm90aGVyIHJlcXVlc3QgdG8gZmV0Y2ggcGFnZSBlbGVtZW50c1wiKTtcclxuICAgICAgICAgIGxldCBtZXNzYWdlU2VydmljZUVwID0gcmVzWydtZXNzYWdlU2VydmljZUVwJ107XHJcbiAgICAgICAgICB0aGlzLndhaXRpbmdNZXNzYWdlID0gcmVzWyd3YWl0aW5nTWVzc2FnZSddO1xyXG4gICAgICAgICAgdGhpcy5mZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwLCB1dWlkVGVtcCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICByZXNwID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1c01vZGVsICA9IHJlc3A7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCIgdGhpcy5zdGF0dXNNb2RlbCBcIiwgdGhpcy5zdGF0dXNNb2RlbCk7XHJcbiAgICAgICAgICAgICAgaWYocmVzcFsnbmF2aWdhdGVJbW1lZGlhdGVseSddKXtcclxuICAgICAgICAgICAgICAgIHRoaXMub3Blbk5leHRQYWdlKHJlc3BbJ3BhZ2VUb09wZW4nXSk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmKHJlc3BbJ3Nob3dRZSddKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiT3BlbiBRdWVzdGlvbm5haXJlIG9wdGlvbiBlbmNvdW50ZXJlZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaTtcclxuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NVcmkgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1VyaTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzVXJpICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gcmVzcC5xZVF1ZXJ5TW9kZWxzO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlblFlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkRpcmVjdCBwb2xsaW5nIHRvIG5ldyBwcm9jZXNzXCIpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRvUG9sbGluZ0ZvclJlcXVlc3QodGhpcy51dWlkLCB0aGlzLnFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnZVRvT3BlbiA9IHJlc3BbJ3BhZ2VUb09wZW4nXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQocmVzcFsnc3VjY2Vzc1BhZ2VFbGVtZW50J10pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdodHRwIGVycm9yIHJlc3BvbnNlID0gJywgZXJyKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHJpdmVQb2xsaW5nU3RhdHVzRm9yUGFnZSh1dWkxMjogc3RyaW5nLCB3YWl0Q2hlY2tTZXJ2aWNlVXJpMTI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlBvbGxpbmcgc2VydmljZSBVUkwgLSBcIiArIHdhaXRDaGVja1NlcnZpY2VVcmkxMik7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8UG9sbGluZ1N0YXR1c01vZGVsPih3YWl0Q2hlY2tTZXJ2aWNlVXJpMTIgKyB1dWkxMik7XHJcbiAgfVxyXG5cclxuICBmZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwOiBzdHJpbmcsIHV1aTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXR1c01vZGVsPiB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlBhZ2UgZWxlbWVudCBzZXJ2aWNlIFVSTCAtIFwiICsgbWVzc2FnZVNlcnZpY2VFcCk7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8U3RhdHVzTW9kZWw+KG1lc3NhZ2VTZXJ2aWNlRXAgKyB1dWkxMik7XHJcbiAgfVxyXG5cclxuICBnZXQgZW1haWxBZGRyZXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3VjY2Vzc0Zvcm0uY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddO1xyXG4gIH1cclxuXHJcbiAgcmVzZW5kVmVyaWZpY2F0aW9uRW1haWwoKSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZW5kVmVyaWZpY2F0aW9uRW1haWwnKTtcclxuICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnV1aWQuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMuY2xhaW1hbnRTZXJ2aWNlLnJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHBhcmFtcy52YWx1ZU9mKCkpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Vycm9yJywgZXJyKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIHNldEZvbnRTaXplKGZvbnRzaXplOiBudW1iZXIpOiBvYmplY3Qge1xyXG4gICAgaWYgKGZvbnRzaXplID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmb250c2l6ZScsIGZvbnRzaXplKTtcclxuICAgIGxldCBzdHlsZU9iaiA9IHtcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IGZvbnRzaXplICsgJ3B4J1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdHlsZU9iaik7XHJcbiAgfVxyXG5cclxuICBvcGVuTmV4dFBhZ2UocGFnZVRvT3Blbil7XHJcbiAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBwYWdlVG9PcGVuLCAnX3NlbGYnKTtcclxuICB9XHJcblxyXG4gIG9wZW5QYWdlKCkge1xyXG5cclxuICAgIGxldCBjdXJyZW50Q29udGV4dFJvb3QgPSB0aGlzLmdldENvbnRleHRSb290KCk7XHJcbiAgICBpZiAodGhpcy5wYWdlVG9PcGVuICYmIHRoaXMucGFnZVRvT3Blbi5zdWJzdHJpbmcoMCwgNCkgIT0gJy9jcC8nICYmIHRoaXMucGFnZVRvT3BlbiAmJiB0aGlzLnBhZ2VUb09wZW4gIT0gJ09wZW5QYWdlJykge1xyXG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKFt0aGlzLnBhZ2VUb09wZW5dLCB7IHF1ZXJ5UGFyYW1zOiB7IGlkZW50aWZpZXI6IHRoaXMudXVpZCB9IH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgdXJsOiBzdHJpbmcgPSBcIi9jcC9sYW5kaW5nXCI7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuICE9ICdPcGVuUGFnZScpIHtcclxuICAgICAgICB1cmwgPSB0aGlzLnBhZ2VUb09wZW47XHJcbiAgICAgIH1cclxuICAgICAgd2luZG93Lm9wZW4obG9jYXRpb24ub3JpZ2luICsgdXJsLCAnX3NlbGYnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBnZXRDb250ZXh0Um9vdCgpIHtcclxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLCAyKSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU3VjY2VzcyBjYWxsZWQnLCB0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSwgJyB1dWlkICcsIHRoaXMudXVpZCk7XHJcbiAgICB0aGlzLmNsYWltYW50U2VydmljZS51cGRhdGVFbWFpbCh0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSwgdGhpcy51dWlkKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcXVTdWNjZXNzKCl7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInFlIHN1Y2Nlc3MgaGVyZVwiKTtcclxuICAgIGlmKHRoaXMuaXNPcGVuUWUpeyAgXHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UucG9zdCh0aGlzLnFlU3VjY2Vzc1VyaSwgbnVsbClcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgcmVzID0+IHsgIFxyXG4gICAgICAgICAgICB0aGlzLmlzT3BlblFlID0gZmFsc2U7ICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3Npbmcpe1xyXG4gICAgICAgICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSk7XHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICB9XHJcblxyXG59XHJcbiIsIjxpb24taGVhZGVyPlxyXG4gIDxhcHAtaGVhZGVyIFtzZWNvbmRUb29sYmFyXT1cImZhbHNlXCI+PC9hcHAtaGVhZGVyPlxyXG48L2lvbi1oZWFkZXI+XHJcblxyXG48aW9uLWNvbnRlbnQ+XHJcbiAgPGFwcC1jb250ZW50IFtzaG93SGVscF09XCJmYWxzZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIj5cclxuICAgIDxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIFtzaG93Q2xvc2VdPVwiZmFsc2VcIiBcclxuICAgIChvbkNvbXBsZXRlKT1cInF1U3VjY2VzcygpXCIgW2hlYWRlcl09XCInRm9sbG93IHVwIFF1ZXN0aW9ucycgfCB0cmFuc2xhdGVcIiBbc2hvd1F1ZXN0aW9uTnVtYmVyXT1cInRydWVcIj48L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG5cclxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIDxpb24tbGFiZWwgIGNsYXNzPVwiYm94XCJzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTsgZm9udC1zaXplOiAyNHB4XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhaXRpbmdNZXNzYWdlKVwiPjwvZGl2PjwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImVsZW1lbnRzLmdldFZhbHVlKCkgJiYgIWlzTG9hZGluZ1wiPlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIiAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0naGVhZGVyJ1wiXHJcbiAgICAgICAgICBzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTtcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMjVweDtcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdzdWJoaGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciAgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIiBjbGFzcz1cImJveFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7XCI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MidcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxpb24tcm93PiAgICBcclxuICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgPGlvbi1yb3c+ICAgIFxyXG4gICAgICAgICAgICAgICA8aW9uLWNvbD4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1haWxBZGRyZXNzXCIgc2l6ZT1cIjYwXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1haWxBZGRyZXNzXCIgLz5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+ICAgICAgIFxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdyZXNlbmRlbWFpbCdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz5JZiB5b3UgZGlkJ3QgZ2V0IGFuIGVtYWlsLCAgXHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKClcIj4gY2xpY2sgaGVyZTwvYT4gYW5kIHdlJ2xsIHNlbmQgYWdhaW4uPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3RleHQzJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlbGVtZW50LmRlc2NyaXB0aW9uKVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3RleHQ0J1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlbGVtZW50LmRlc2NyaXB0aW9uKVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWdyaWQ+XHJcblxyXG5cclxuICAgICAgPCEtLUZvciBidXR0b24tLT5cclxuICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgIGVsZW1lbnRzLmdldFZhbHVlKCk7ICBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J2J1dHRvbkFkZGphY2VudFRleHQnXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIlxyXG4gICAgICAgICAgICAgIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25BZGRqYWNlbnRUZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgPGgzPnt7ZWxlbWVudC5kZXNjcmlwdGlvbn19PC9oMz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nYnV0dG9uVGV4dCdcIiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0IGlvbi1wYWRkaW5nLWVuZFwiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J2J1dHRvblRleHQnXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwib3BlblBhZ2UoKVwiIGNvbG9yPVwic3VjY2Vzc1wiIHNpemU9XCJiaWdcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQuZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2lvbi1ncmlkPlxyXG5cclxuXHJcblxyXG4gICAgICA8IS0tQnV0dG9uLS0+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG4gIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+Il19
732
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN1Y2Nlc3MucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2NvbW1vbi1zdWNjZXNzL2NvbW1vbi1zdWNjZXNzLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9jb21tb24tc3VjY2Vzcy9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDYjNDLDBDQUF1Rzs7O0lBQTFELHVEQUFrQzs7OztJQUc3RSxrREFDc0c7SUFBcEcsNk1BQWMsZUFBQSxrQkFBVyxDQUFBLElBQUM7O0lBQzVCLGlCQUEwQjs7O0lBRkQsb0RBQStCLG9CQUFBLHVEQUFBLDRCQUFBOzs7O0lBSXhELGtEQUNzRztJQUFwRyw2TUFBYyxlQUFBLHFCQUFjLENBQUEsSUFBQzs7SUFDL0IsaUJBQTBCOzs7SUFGRCxvREFBK0Isb0JBQUEsa0JBQUEsbURBQUEsNkJBQUE7OztJQUl4RCxtQ0FBK0Msa0JBQUEsb0JBQUE7SUFH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YTtZQUViLG1DQUFhO1lBQ1gsb0dBQXVHO1lBRXZHLHNDQUFvRDtZQUNsRCwwR0FFMEIsNkZBQUEsNkRBQUEscURBQUE7WUFrTzVCLGlCQUFjLEVBQUE7O1lBM09GLGVBQXVCO1lBQXZCLHFDQUF1QjtZQUlaLGVBQW9CO1lBQXBCLHlDQUFvQjtZQUU5QixlQUFrQjtZQUFsQixnQ0FBa0Isb0JBQUE7WUFDNkIsZUFBYztZQUFkLG1DQUFjO1lBSXdCLGVBQWU7WUFBZixvQ0FBZTtZQUlqRixlQUFlO1lBQWYsb0NBQWU7WUFVdkMsZUFBdUM7WUFBdkMsZ0VBQXVDOzs7aUZEQ3BDLGlCQUFpQjtjQUw3QixTQUFTOzJCQUNFLGdCQUFnQjs7a0ZBSWYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3VjY2Vzc1BhZ2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3VjY2Vzc1BhZ2VFbGVtZW50JztcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1zZXJ2aWNlL2NsYWltYW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3RhdHVzTW9kZWwnO1xuaW1wb3J0IHsgUG9sbGluZ1N0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUG9sbGluZ1N0YXR1c01vZGVsJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IEZiQ29uc3RhbnRzIH0gZnJvbSAnLi4vRmJDb25zdGFudHMnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29tbW9uLXN1Y2Nlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vblN1Y2Nlc3NQYWdlIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjYWxsQ291bnQgOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgaGVhZGluZyA9IFwiXCI7XG4gIHB1YmxpYyBtZXNzYWdlID0gXCJcIjtcbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xuICBwYWdlVG9PcGVuOiBzdHJpbmcgPSBcIlwiO1xuICB1dWlkOiBzdHJpbmcgPSBcIlwiO1xuICB3YWl0OiBib29sZWFuID0gZmFsc2U7XG4gIHdhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyB3YWl0aW5nTWVzc2FnZSA9IFwiUGxlYXNlIFdhaXQuLi5cIjtcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XG4gIGVsZW1lbnRzOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4obnVsbCk7XG4gIHB1YmxpYyBzdWNjZXNzUGFnZUVsZW1lbnRBcnI6IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN1Y2Nlc3NQYWdlRWxlbWVudFtdPihudWxsKTtcbiAgcHVibGljIHN1Y2Nlc3NGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgaXNDc3IgPSBmYWxzZTtcblxuICBkdXJhdGlvbiA9IDUwMDA7IC8vZGVmaW5lcyBtaWxsaXNlY29uZHMgYWZ0ZXIgd2hpY2ggYSBuZXcgcmVxdWVzdCB0byBiZSBzZW50IG91dFxuICBwdWJsaWMgdGltZXJJbnRlcnZhbCA9IGludGVydmFsKHRoaXMuZHVyYXRpb24pO1xuICBwdWJsaWMgY291bnREb3duID0gdGhpcy50aW1lckludGVydmFsLnBpcGUodGFrZSgzMCkpO1xuXG4gIHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvdW50RG93blN1YnNjcmlwdGlvbiA7IFN1YnNjcmlwdGlvbjtcblxuICBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcbiAgaXNPcGVuUWUgOiBib29sZWFuID0gZmFsc2U7XG4gIGlzT3BlbkR1YSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcWVTdWNjZXNzVXJpOiBzdHJpbmc7XG4gIHFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZztcbiAgcWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgOiBib29sZWFuO1xuICBzdGF0dXNNb2RlbCA6IFN0YXR1c01vZGVsID0gbmV3IFN0YXR1c01vZGVsKCk7XG4gIGRpc3BsYXlXSU9BTXNnOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbW1vblN1Y2Nlc3NQYWdlOiBzdHJpbmcgPSAnY29tbW9uU3VjY2Vzc1BhZ2UnXG4gIHdpb2FDb21wOiBib29sZWFuID0gbnVsbDtcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBjbGFpbWFudFNlcnZpY2U6IENsYWltYW50U2VydmljZSxcbiAgICBwdWJsaWMgcjogUm91dGVyLCBwdWJsaWMgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgc3RvcmFnZSA6IFN0b3JhZ2UsIFxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2UgOiBWYWxpZGF0aW9uU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNvbW1vbi1zdWNjZXNzIHBhZ2UgLSBuZyBpbml0IGNhbGxlZFwiKVxuICAgIHRoaXMuaXNDc3IgPSB0aGlzLmxzLmlzQ3NyKCk7XG4gICAgdGhpcy51dWlkID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy51dWlkKTtcbiAgICB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgIHRoaXMucGFnZVRvT3BlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XG4gICAgdGhpcy53YWl0ID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy53YWl0Rm9yUHJvY2Vzc2luZyk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAnZW1haWxBZGRyZXNzJzogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NQYWdlRWxlbWVudEFyci5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50cy5uZXh0KHJlcyk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy53YWl0KSB7XG4gICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMud2FpdENoZWNrU2VydmljZVVyaSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIC8vZm9yIG90aGVyIGNhc2VzIHdoZXJlIHN0YXR1cyBlbmQgcG9pbnQgaXMgbm90IHNldC5cbiAgICAgIHRoaXMuZWxlbWVudHMubmV4dChhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLnN1Y2Nlc3NQYWdlRWxlbWVudCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmKHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRGb3JQcm9jZXNzaW5nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZShGYkNvbnN0YW50cy51dWlkKTtcbiAgfVxuXG4gIGRvUG9sbGluZ0ZvclJlcXVlc3QodXVpZFRlbXA6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaVRlbXA6IHN0cmluZyl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2RvIFBvbGxpbmcgZm9yIHJlcXVlc3QgY2FsbGVkID0gJywgd2FpdENoZWNrU2VydmljZVVyaVRlbXApO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5yZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpZFRlbXAsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKSlcbiAgICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNvbnRpbnVlV2FpdGluZyA9IHJlc1snY29udGludWVXYWl0aW5nJ107XG4gICAgICAgIHRoaXMud2FpdGluZ01lc3NhZ2UgPSByZXNbJ3dhaXRpbmdNZXNzYWdlJ107XG4gICAgICAgIFxuICAgICAgICBpZihjb250aW51ZVdhaXRpbmcgJiYgKyt0aGlzLmNhbGxDb3VudCA+PSAyNSl7XG4gICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9ICdJdHMgdGFraW5nIGxvbmdlciB0aGFuIHVzdWFsIHRvIHByb2Nlc3MgeW91ciByZXF1ZXN0LiA8YnIvPiBEbyBub3QgcmVmcmVzaCB0aGUgcGFnZS4nXG4gICAgICAgIH1cbiAgICAgICAgaWYoY29udGludWVXYWl0aW5nICYmIHRoaXMuY2FsbENvdW50ID4gMzUpe1xuICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZih0aGlzLmxzLmlzTG9nZ2VkSW4oKSl7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUb09wZW4gPSBcIndlbGNvbWVcIjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gXCJsYW5kaW5nXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmlzTVMoKSkge1xuICAgICAgICAgICAgdGhpcy53aW9hQ29tcCA9IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYodGhpcy5pc01TKCkpXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIubmV4dChcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAge3R5cGU6ICdoZWFkZXInLCBkZXNjcmlwdGlvbjogXCI8aDE+WW91ciByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYXQgdGhpcyB0aW1lLjwvaDE+XFx0XFx0XCIsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdzdWJoaGVhZGVyJywgZGVzY3JpcHRpb246ICc8aDQ+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4gSWYgeW91IGhhdmUgdGhlIHByb2JsZW0gYWdhaW4gY2FsbCB1cyBhdCA2MDEtNDkzLTk0MjcsIE1vbiAtIEZyaSwgODowMCBBTSAtIDU6MDAgUE0gQ1NULjxoND5cXHRcXHQnLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcbiAgICAgICAgICAgICAgICAgIHt0eXBlOiAnYnV0dG9uVGV4dCcsIGRlc2NyaXB0aW9uOiAnSG9tZScsIGluZGVudDogMCwgZm9udFNpemU6IDB9XG4gICAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmICghdGhpcy5pc01TKCkpXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIubmV4dChcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAge3R5cGU6ICdoZWFkZXInLCBkZXNjcmlwdGlvbjogXCI8aDE+T29wcyEgY291bGQgbm90IHByb2Nlc3MgeW91ciByZXF1ZXN0LjwvaDE+XFx0XFx0XCIsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdzdWJoaGVhZGVyJywgZGVzY3JpcHRpb246ICc8aDQ+UGxlYXNlIHRyeSBhZ2FpbiBhZnRlciBzb21lIHRpbWUuPGg0PlxcdFxcdCcsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdidXR0b25UZXh0JywgZGVzY3JpcHRpb246ICdIb21lJywgaW5kZW50OiAwLCBmb250U2l6ZTogMH1cbiAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICghY29udGludWVXYWl0aW5nKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzZW5kIGFub3RoZXIgcmVxdWVzdCB0byBmZXRjaCBwYWdlIGVsZW1lbnRzXCIpO1xuICAgICAgICAgIGxldCBtZXNzYWdlU2VydmljZUVwID0gcmVzWydtZXNzYWdlU2VydmljZUVwJ107XG4gICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9IHJlc1snd2FpdGluZ01lc3NhZ2UnXTtcbiAgICAgICAgICB0aGlzLmZldGNoUGFnZUVsZW1lbnRzKG1lc3NhZ2VTZXJ2aWNlRXAsIHV1aWRUZW1wKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICByZXNwID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXNNb2RlbCAgPSByZXNwO1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc01TKCkpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMud2lvYUNvbXAgPSB0aGlzLnN0YXR1c01vZGVsLndpb2FDb21wO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc3BbJ25hdmlnYXRlSW1tZWRpYXRlbHknXSl7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTmV4dFBhZ2UocmVzcFsncGFnZVRvT3BlbiddKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmKHJlc3BbJ3Nob3dRZSddKXtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9wZW4gUXVlc3Rpb25uYWlyZSBvcHRpb24gZW5jb3VudGVyZWRcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NVcmk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5xZVN1Y2Nlc3NVcmkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gcmVzcC5xZVF1ZXJ5TW9kZWxzO1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc09wZW5RZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJEaXJlY3QgcG9sbGluZyB0byBuZXcgcHJvY2Vzc1wiKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYocmVzcFsnc2hvd0R1YSddKXtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9wZW4gRFVBIFF1ZXN0aW9ubmFpcmUgb3B0aW9uIGVuY291bnRlcmVkXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaTtcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Rm9yUHJvY2Vzc2luZztcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1VyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzVXJpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzVXJpICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucWVRdWVyeU1vZGVscyA9IHJlc3AucWVRdWVyeU1vZGVscztcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuRHVhID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkRpcmVjdCBwb2xsaW5nIHRvIG5ldyBwcm9jZXNzXCIpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gcmVzcFsncGFnZVRvT3BlbiddO1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQocmVzcFsnc3VjY2Vzc1BhZ2VFbGVtZW50J10pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5jb3VudERvd25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdodHRwIGVycm9yIHJlc3BvbnNlID0gJywgZXJyKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpMTI6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUG9sbGluZyBzZXJ2aWNlIFVSTCAtIFwiICsgd2FpdENoZWNrU2VydmljZVVyaTEyKTtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8UG9sbGluZ1N0YXR1c01vZGVsPih3YWl0Q2hlY2tTZXJ2aWNlVXJpMTIgKyB1dWkxMik7XG4gIH1cblxuICBmZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwOiBzdHJpbmcsIHV1aTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXR1c01vZGVsPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJQYWdlIGVsZW1lbnQgc2VydmljZSBVUkwgLSBcIiArIG1lc3NhZ2VTZXJ2aWNlRXApO1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldDxTdGF0dXNNb2RlbD4obWVzc2FnZVNlcnZpY2VFcCArIHV1aTEyKTtcbiAgfVxuXG4gIGdldCBlbWFpbEFkZHJlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VjY2Vzc0Zvcm0uY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddO1xuICB9XG5cbiAgcmVzZW5kVmVyaWZpY2F0aW9uRW1haWwoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2VuZFZlcmlmaWNhdGlvbkVtYWlsJyk7XG4gICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnV1aWQuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNsYWltYW50U2VydmljZS5yZXNlbmRWZXJpZmljYXRpb25FbWFpbChwYXJhbXMudmFsdWVPZigpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgICApO1xuXG4gIH1cblxuICBzZXRGb250U2l6ZShmb250c2l6ZTogbnVtYmVyKTogb2JqZWN0IHtcbiAgICBpZiAoZm9udHNpemUgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZvbnRzaXplJywgZm9udHNpemUpO1xuICAgIGxldCBzdHlsZU9iaiA9IHtcbiAgICAgICdmb250LXNpemUnOiBmb250c2l6ZSArICdweCdcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3R5bGVPYmopO1xuICB9XG5cbiAgb3Blbk5leHRQYWdlKHBhZ2VUb09wZW4pe1xuICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHBhZ2VUb09wZW4sICdfc2VsZicpO1xuICB9XG5cbiAgb3BlblBhZ2UoKSB7XG5cbiAgICBsZXQgY3VycmVudENvbnRleHRSb290ID0gdGhpcy5nZXRDb250ZXh0Um9vdCgpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW4gY29tbW9uIHN1Y2Nlc3Mgb3BlblBhZ2UgbWV0aG9kIHRvIG9wZW4gd2l0aCBjb250ZXh0Um9vdCBhbmQgcGFnZVRvT3BlblwiLCBjdXJyZW50Q29udGV4dFJvb3QsIHRoaXMucGFnZVRvT3Blbik7XG4gICAgaWYgKHRoaXMucGFnZVRvT3BlbiAmJiB0aGlzLnBhZ2VUb09wZW4uc3Vic3RyaW5nKDAsIDQpICE9ICcvY3AvJyAmJiB0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuICE9ICdPcGVuUGFnZScpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJJbnNpZGUgaWYgYmxvY2ssIHJlZGlyZWN0IHRvIHNzL3NlYXJjaC1zc25cIik7XG4gICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QoXCJzc1wiLCBcInNlYXJjaC1zc25cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB1cmw6IHN0cmluZyA9IFwiL2NwL2xhbmRpbmdcIjtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIGVsc2UgYmxvY2ssIHJlZGlyZWN0IHRvIGNwL2xhbmRpbmdcIik7XG4gICAgICBpZiAodGhpcy5wYWdlVG9PcGVuICYmIHRoaXMucGFnZVRvT3BlbiAhPSAnT3BlblBhZ2UnKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkluc2lkZSBpZiBibG9jaywgcGFnZVRvT3BlblwiLCB0aGlzLnBhZ2VUb09wZW4pO1xuICAgICAgICB1cmwgPSB0aGlzLnBhZ2VUb09wZW47XG4gICAgICB9XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlVybCB0byBvcGVuIGxvY2F0aW9uLm9yaWdpbiBhbmQgdXJsIFwiLGxvY2F0aW9uLm9yaWdpbiwgdXJsKTtcbiAgICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHVybCwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbiAgb3BlbldJT0Fwb3AoKSB7XG4gICAgdGhpcy5kaXNwbGF5V0lPQU1zZyA9IHRydWU7XG4gIH1cblxuICBnZXRDb250ZXh0Um9vdCgpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN1YnN0cmluZygwLCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZihcIi9cIiwgMikpO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTdWNjZXNzIGNhbGxlZCcsIHRoaXMuZW1haWxBZGRyZXNzLnZhbHVlLCAnIHV1aWQgJywgdGhpcy51dWlkKTtcbiAgICB0aGlzLmNsYWltYW50U2VydmljZS51cGRhdGVFbWFpbCh0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSwgdGhpcy51dWlkKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Vycm9yJywgZXJyKTtcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcXVTdWNjZXNzKCl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJxZSBzdWNjZXNzIGhlcmVcIik7XG4gICAgaWYodGhpcy5pc09wZW5RZSl7ICBcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UucG9zdCh0aGlzLnFlU3VjY2Vzc1VyaSwgbnVsbClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICByZXMgPT4geyAgXG4gICAgICAgICAgICB0aGlzLmlzT3BlblFlID0gZmFsc2U7ICAgICAgICAgXG4gICAgICAgICAgICBpZih0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nKXtcbiAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcXVTdWNjZXNzRHVhKCl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJxZSBzdWNjZXNzIGhlcmUgZm9yIGR1YVwiKTtcbiAgICBpZih0aGlzLmlzT3BlbkR1YSl7ICBcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UucG9zdCh0aGlzLnFlU3VjY2Vzc1VyaSwgbnVsbClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICByZXMgPT4geyAgXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInJlc3BvbnNlIHBvc3QgZHVhIGVwXCIscmVzKTtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuRHVhID0gZmFsc2U7XG4gICAgICAgICAgICBpZih0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nKXtcbiAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIjxpb24taGVhZGVyPlxyXG4gIDxhcHAtaGVhZGVyIFtzZWNvbmRUb29sYmFyXT1cImZhbHNlXCI+PC9hcHAtaGVhZGVyPlxyXG48L2lvbi1oZWFkZXI+XHJcblxyXG48aW9uLWNvbnRlbnQ+XHJcbiAgPGFwcC1wcm9maWxlLXJlZGlyZWN0ICpuZ0lmPVwiZGlzcGxheVdJT0FNc2dcIiBbcmVkaXJlY3RQYWdlXT1cImNvbW1vblN1Y2Nlc3NQYWdlXCI+PC9hcHAtcHJvZmlsZS1yZWRpcmVjdD5cclxuXHJcbiAgPGFwcC1jb250ZW50IFtzaG93SGVscF09XCJmYWxzZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIj5cclxuICAgIDxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIFtzaG93Q2xvc2VdPVwiZmFsc2VcIlxyXG4gICAgICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3MoKVwiIFtoZWFkZXJdPVwiJ0ZvbGxvdyB1cCBRdWVzdGlvbnMnIHwgdHJhbnNsYXRlXCIgW3Nob3dRdWVzdGlvbk51bWJlcl09XCJ0cnVlXCI+XHJcbiAgICA8L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG5cclxuICAgIDxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgW3Nob3dDbG9zZV09XCJmYWxzZVwiIFthdXRvU2F2ZV09XCJ0cnVlXCIgKm5nSWY9XCJpc09wZW5EdWFcIlxyXG4gICAgICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3NEdWEoKVwiIFtoZWFkZXJdPVwiJ0RVQSBhcHBsaWNhdGlvbicgfCB0cmFuc2xhdGVcIiBbc2hvd1F1ZXN0aW9uTnVtYmVyXT1cImZhbHNlXCI+XHJcbiAgICA8L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG5cclxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhaXRpbmdNZXNzYWdlKVwiPjwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImVsZW1lbnRzLmdldFZhbHVlKCkgJiYgIWlzTG9hZGluZ1wiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzTVMoKSB8fCAoaXNNUygpICYmICh3aW9hQ29tcD09PW51bGwgfHwgd2lvYUNvbXApKVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgIGVsZW1lbnRzLmdldFZhbHVlKCk7ICBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyc1wiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdoZWFkZXInXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICdwYWRkaW5nLWxlZnQnOiBpc0NzciA/ICcyNzBweCcgOiAnMCcsIFxyXG4gICAgICAgICAgICAgICdwYWRkaW5nLXRvcCc6IGlzQ3NyID8gJzU1cHgnIDogJzAnXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nc3ViaGhlYWRlcidcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciAgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJIZWFkZXJzXCIgW2lubmVySFRNTF09XCJlbGVtZW50LmRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiIHNpemVYbD1cIjhcIlxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDInXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbWFpbEFkZHJlc3NcIiBzaXplPVwiNjBcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ncmVzZW5kZW1haWwnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+SWYgeW91IGRpZCd0IGdldCBhbiBlbWFpbCxcclxuICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJyZXNlbmRWZXJpZmljYXRpb25FbWFpbCgpXCI+IGNsaWNrIGhlcmU8L2E+IGFuZCB3ZSdsbCBzZW5kXHJcbiAgICAgICAgICAgICAgICAgIGFnYWluLlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0NCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIiF3aW9hQ29tcCAmJiB3aW9hQ29tcCE9IG51bGwgJiYgaXNNUygpXCIgPlxyXG4gICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplWGw9XCI2XCIgb2Zmc2V0WGw9XCIxXCIgc2l6ZUxnPVwiNlwiPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0naGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhlYWRlcnNDbGFzc1dpb2FDb21wTm90TnVsbFwiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3N1YmhoZWFkZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgIGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViSGVhZGVyc1wiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbWFpbEFkZHJlc3NcIiBzaXplPVwiNjBcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ncmVzZW5kZW1haWwnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+SWYgeW91IGRpZCd0IGdldCBhbiBlbWFpbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJyZXNlbmRWZXJpZmljYXRpb25FbWFpbCgpXCI+IGNsaWNrIGhlcmU8L2E+IGFuZCB3ZSdsbCBzZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFnYWluLlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0NCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiM1wiIHNpemVMZz1cIjNcIiBzdHlsZT1cImFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8aDQgc3R5bGU9XCJmb250LXNpemU6IDI0cHg7XCI+T25lIG1vcmUgdGFzay4uLjwvaDQ+XHJcbiAgICAgICAgICAgICAgPHAgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7XCI+Q2hvb3NlIDxiPk5leHQ8L2I+IHRvIGJlIHRha2VuIHRvIE1TV29ya3Mgd2Vic2l0ZSB0byBjb21wbGV0ZSBlbXBsb3ltZW50IHNlcnZpY2UgcmVnaXN0cmF0aW9uLjxicj5cclxuICAgICAgICAgICAgICAgIE9uY2UgeW91J3JlIGRvbmUsIHdlIGNhbiBtYXRjaCB5b3UgdG8gYXZhaWxhYmxlIGpvYnMgYmFzZWQgb24geW91ciBleHBlcmllbmNlIGFuZCBwcmVmZXJlbmNlcy5cclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLUZvciBidXR0b24tLT5cclxuICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNNUygpIHx8IChpc01TKCkgJiYgKHdpb2FDb21wPT09bnVsbCB8fCB3aW9hQ29tcCkpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nYnV0dG9uQWRkamFjZW50VGV4dCcgJiYgIWlzQ3NyXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWdyZXkpO1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25BZGRqYWNlbnRUZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aDM+e3tlbGVtZW50LmRlc2NyaXB0aW9ufX08L2gzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHQgaW9uLXBhZGRpbmctZW5kXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJvcGVuUGFnZSgpXCIgY29sb3I9XCJzdWNjZXNzXCIgc2l6ZT1cImJpZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1mb290ZXIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMjVweDsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDIwcHhcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhd2lvYUNvbXAgJiYgd2lvYUNvbXAhPSBudWxsICYmIGlzTVMoKVwiID5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjJcIiBvZmZzZXRYbD1cIjRcIiBvZmZzZXRMZz1cIjRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9wZW5XSU9BcG9wKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiBzaXplPVwiYmlnXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5leHRcclxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1mb290ZXI+XHJcbiAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgIDwhLS1CdXR0b24tLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+Il19