@reusa/ngx-reusa-app-lib 0.0.1373 → 0.0.1374
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +1324 -2394
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
- package/esm2022/lib/components/address/address.component.mjs +152 -287
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
- package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +574 -422
- package/esm2022/lib/components/error/error.component.mjs +5 -22
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
- package/esm2022/lib/components/footer/footer.component.mjs +101 -112
- package/esm2022/lib/components/header/header.component.mjs +174 -440
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
- package/esm2022/lib/components/info/info.component.mjs +12 -4
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
- package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
- package/esm2022/lib/components/link/link.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +100 -68
- package/esm2022/lib/components/mfa/mfa.component.mjs +288 -158
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
- package/esm2022/lib/components/profile/profile.component.mjs +353 -749
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1153 -877
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +699 -208
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +41 -128
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
- package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +237 -497
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
- package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
- package/esm2022/lib/components/select/select.component.mjs +10 -5
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
- package/esm2022/lib/components/user-login/user-login.component.mjs +360 -139
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +387 -655
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +61 -125
- package/esm2022/lib/guards/auth.guard.mjs +2 -50
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
- package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
- package/esm2022/lib/models/LibConstants.mjs +6 -45
- package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
- package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
- package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
- package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
- package/esm2022/lib/models/UserModel.mjs +1 -1
- package/esm2022/lib/models/dashboard-model.mjs +1 -1
- package/esm2022/lib/models/dependent.model.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
- package/esm2022/lib/pages/BasePage.mjs +23 -4
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
- package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
- package/esm2022/lib/pages/common/login/login.component.mjs +13 -7
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
- package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
- package/esm2022/lib/services/base-service.mjs +1 -4
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
- package/esm2022/lib/services/claims/claims.service.mjs +14 -105
- package/esm2022/lib/services/help/help.service.mjs +1 -1
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
- package/esm2022/lib/services/logger/logger.service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +14 -29
- package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
- package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
- package/esm2022/lib/services/security-service/security.service.mjs +6 -23
- package/esm2022/lib/services/util/util.service.mjs +5 -61
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
- package/esm2022/lib/validations/AppRegex.mjs +3 -1
- package/esm2022/lib/validations/AppValidators.mjs +62 -78
- package/esm2022/public-api.mjs +5 -47
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26939 -44815
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +53 -137
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-participant/add-participant.component.d.ts +5 -11
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +3 -9
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/address/address.component.d.ts +15 -42
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +23 -1
- package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
- package/lib/components/contact-us/contact-us.component.d.ts +4 -1
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/email-update/email-update.component.d.ts +12 -1
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +15 -25
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +2 -3
- package/lib/components/error/error.component.d.ts.map +1 -1
- package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
- package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/header/header.component.d.ts +5 -17
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +23 -22
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
- package/lib/components/menu/menu.component.d.ts +12 -3
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +19 -7
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
- package/lib/components/mfa2/mfa2.component.d.ts +48 -0
- package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
- package/lib/components/money-expect/money-expect.component.d.ts +4 -15
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
- package/lib/components/profile/profile.component.d.ts +49 -82
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
- package/lib/components/questionnaire/AppValidators.d.ts +0 -1
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
- package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +35 -33
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +1 -0
- package/lib/components/questionnaire/question.service.d.ts.map +1 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/lib/components/search-employer/search-employer.component.d.ts +4 -5
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/security-question/security-question.component.d.ts +37 -0
- package/lib/components/security-question/security-question.component.d.ts.map +1 -0
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
- package/lib/components/user-login/user-login.component.d.ts +38 -5
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
- package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
- package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
- package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
- package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
- package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
- package/lib/models/LexisNexisResponseModel.d.ts +7 -0
- package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
- package/lib/models/LibConstants.d.ts +1 -40
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/models/OtpAuthModel.d.ts +1 -0
- package/lib/models/OtpAuthModel.d.ts.map +1 -1
- package/lib/models/PartialEmploymentModel.d.ts +6 -0
- package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
- package/lib/models/PaymentComponentModel.d.ts +1 -1
- package/lib/models/PaymentComponentModel.d.ts.map +1 -1
- package/lib/models/SecurityQuestionModel.d.ts +7 -0
- package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
- package/lib/models/UserModel.d.ts +1 -0
- package/lib/models/UserModel.d.ts.map +1 -1
- package/lib/models/dashboard-model.d.ts +0 -22
- package/lib/models/dashboard-model.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -15
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +82 -14
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +1 -0
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
- package/lib/models/questionnaire/StatusModel.d.ts +0 -1
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pages/BasePage.d.ts +6 -3
- package/lib/pages/BasePage.d.ts.map +1 -1
- package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
- package/lib/pages/common/login/login.component.d.ts.map +1 -1
- package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
- package/lib/services/base-service.d.ts +0 -12
- package/lib/services/base-service.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
- package/lib/services/claimant-service/claimant.service.d.ts +6 -5
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
- package/lib/services/claims/claims.service.d.ts +5 -39
- package/lib/services/claims/claims.service.d.ts.map +1 -1
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +3 -5
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/ovp/ovp.service.d.ts +17 -0
- package/lib/services/ovp/ovp.service.d.ts.map +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
- package/lib/services/questionnaire/validation.service.d.ts +0 -3
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
- package/lib/services/security-service/security.service.d.ts +4 -12
- package/lib/services/security-service/security.service.d.ts.map +1 -1
- package/lib/services/util/util.service.d.ts +0 -6
- package/lib/services/util/util.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
- package/lib/validations/AppRegex.d.ts +2 -0
- package/lib/validations/AppRegex.d.ts.map +1 -1
- package/lib/validations/AppValidators.d.ts +24 -20
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +4 -46
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
- package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
- package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
- package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
- package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
- package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
- package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
- package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
- package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
- package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
- package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
- package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
- package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
- package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
- package/esm2022/lib/components/idme/idme.component.mjs +0 -84
- package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
- package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
- package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
- package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
- package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
- package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
- package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
- package/esm2022/lib/components/sms/sms.component.mjs +0 -336
- package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
- package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
- package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
- package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
- package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -828
- package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
- package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
- package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
- package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
- package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
- package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
- package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -690
- package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
- package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
- package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
- package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
- package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
- package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
- package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
- package/esm2022/lib/models/CountyModel.mjs +0 -3
- package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
- package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
- package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
- package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
- package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
- package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
- package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
- package/esm2022/lib/models/HelpConstants.mjs +0 -5
- package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
- package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
- package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
- package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
- package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
- package/esm2022/lib/models/WageInfoModel.mjs +0 -4
- package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
- package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
- package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
- package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
- package/esm2022/lib/models/combo-model.mjs +0 -343
- package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
- package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
- package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
- package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
- package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
- package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
- package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
- package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
- package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
- package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
- package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
- package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
- package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
- package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
- package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
- package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
- package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
- package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
- package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
- package/esm2022/lib/services/employer/employer-service.mjs +0 -35
- package/esm2022/lib/services/event-service/event-service.mjs +0 -44
- package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
- package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
- package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
- package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
- package/lib/components/add-wage/add-wage.component.d.ts +0 -30
- package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
- package/lib/components/address-popup/address-popup.component.d.ts +0 -16
- package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
- package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
- package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
- package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
- package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
- package/lib/components/claim-info/claim-info.component.d.ts +0 -49
- package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
- package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
- package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
- package/lib/components/employer-info/employer-info.component.d.ts +0 -50
- package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
- package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
- package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
- package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
- package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
- package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
- package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
- package/lib/components/history-page/history-page.component.d.ts +0 -80
- package/lib/components/history-page/history-page.component.d.ts.map +0 -1
- package/lib/components/idme/idme.component.d.ts +0 -19
- package/lib/components/idme/idme.component.d.ts.map +0 -1
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
- package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
- package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
- package/lib/components/sms/sms.component.d.ts +0 -63
- package/lib/components/sms/sms.component.d.ts.map +0 -1
- package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
- package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
- package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
- package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
- package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
- package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
- package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
- package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
- package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
- package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
- package/lib/models/ActiveClaimModel.d.ts +0 -8
- package/lib/models/ActiveClaimModel.d.ts.map +0 -1
- package/lib/models/CountyModel.d.ts +0 -8
- package/lib/models/CountyModel.d.ts.map +0 -1
- package/lib/models/DuaAppDataModel.d.ts +0 -5
- package/lib/models/DuaAppDataModel.d.ts.map +0 -1
- package/lib/models/DuaRequestModel.d.ts +0 -10
- package/lib/models/DuaRequestModel.d.ts.map +0 -1
- package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
- package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
- package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerPayInfoModel.d.ts +0 -20
- package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
- package/lib/models/FarmUsageComponentModel.d.ts +0 -10
- package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
- package/lib/models/GrossEarningsModel.d.ts +0 -6
- package/lib/models/GrossEarningsModel.d.ts.map +0 -1
- package/lib/models/HelpConstants.d.ts +0 -5
- package/lib/models/HelpConstants.d.ts.map +0 -1
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
- package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
- package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
- package/lib/models/RetroWeeksModel.d.ts +0 -11
- package/lib/models/RetroWeeksModel.d.ts.map +0 -1
- package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
- package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
- package/lib/models/SendOtpRequestModel.d.ts +0 -12
- package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
- package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
- package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
- package/lib/models/WageCalculatorModel.d.ts +0 -15
- package/lib/models/WageCalculatorModel.d.ts.map +0 -1
- package/lib/models/WageInfoModel.d.ts +0 -9
- package/lib/models/WageInfoModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
- package/lib/models/combo-model.d.ts +0 -42
- package/lib/models/combo-model.d.ts.map +0 -1
- package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
- package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
- package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
- package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
- package/lib/models/fileupload/FileObject.d.ts +0 -8
- package/lib/models/fileupload/FileObject.d.ts.map +0 -1
- package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
- package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
- package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
- package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
- package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
- package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
- package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
- package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
- package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
- package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
- package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
- package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
- package/lib/services/appeal/appeal.service.d.ts +0 -16
- package/lib/services/appeal/appeal.service.d.ts.map +0 -1
- package/lib/services/birt-service/birt.service.d.ts +0 -17
- package/lib/services/birt-service/birt.service.d.ts.map +0 -1
- package/lib/services/employer/employer-service.d.ts +0 -16
- package/lib/services/employer/employer-service.d.ts.map +0 -1
- package/lib/services/event-service/event-service.d.ts +0 -20
- package/lib/services/event-service/event-service.d.ts.map +0 -1
- package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
- package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
- package/lib/services/weekly-cert/review.service.d.ts +0 -23
- package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
- package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
- package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
- package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
- package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BaseService } from '../../services/base-service';
|
|
3
2
|
import { LibConstants } from '../../models/LibConstants';
|
|
4
|
-
import {
|
|
5
|
-
import { WeeklyCertEligibilityModelV2 } from '../../models/weekly-cert/weekly-cert-eligibility-v2-model';
|
|
6
|
-
import { WeeklyCertificationModel } from '../../models/weekly-cert/weekly-certification-v2-model';
|
|
7
|
-
import { WorkSearchJournalModel } from '../../models/weekly-cert/work-search-record-v2-model';
|
|
8
|
-
import { AdminLeaveDetailsModel } from '../../models/weekly-cert/admin-leave-details-model';
|
|
3
|
+
import { BaseService } from '../base-service';
|
|
9
4
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "
|
|
11
|
-
import * as i2 from "@angular/common/http";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
12
6
|
export class WeeklyCertServiceV2 extends BaseService {
|
|
13
7
|
setServiceContext() {
|
|
14
8
|
this.serviceContext = LibConstants.weeklycert_service.context;
|
|
@@ -22,187 +16,21 @@ export class WeeklyCertServiceV2 extends BaseService {
|
|
|
22
16
|
setServiceHost() {
|
|
23
17
|
this.host = LibConstants.weeklycert_service.host;
|
|
24
18
|
}
|
|
25
|
-
constructor(
|
|
19
|
+
constructor(http) {
|
|
26
20
|
super(http);
|
|
27
|
-
this.util = util;
|
|
28
21
|
this.http = http;
|
|
29
|
-
this.weeklyCertData = new WeeklyCertificationModel();
|
|
30
|
-
this.weeklyCertServerData = new WeeklyCertEligibilityModelV2();
|
|
31
|
-
this.workSearchJournal = new WorkSearchJournalModel();
|
|
32
|
-
this.adminLeaveDetailsModel = new AdminLeaveDetailsModel();
|
|
33
|
-
this.employerData = new EmployerInfoModel();
|
|
34
22
|
}
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
generateEventForReopenAicFlow(ssnInput) {
|
|
24
|
+
// console.log("check the Aic Events for creation of this SSN:::"+ssnInput);
|
|
25
|
+
let paramsVal = null;
|
|
26
|
+
console.log("check the Aic Events for creation of this SSN::: 6...." + paramsVal);
|
|
27
|
+
return this.get(`weeklycert/events/${ssnInput}`).toPromise();
|
|
37
28
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return this.
|
|
29
|
+
getPartialEmployment() {
|
|
30
|
+
console.log("Calling to get the IF any partial employment");
|
|
31
|
+
return this.get('weeklycert/partial-employment');
|
|
41
32
|
}
|
|
42
|
-
|
|
43
|
-
return this.get(`weeklycert/existing-work-search/${weekToCertify.replace('/', '-').replace('/', '-')}`);
|
|
44
|
-
}
|
|
45
|
-
determineQuestionniareToOpen() {
|
|
46
|
-
return this.post('weeklycert/file-weeklies/determine-qe', this.weeklyCertData);
|
|
47
|
-
}
|
|
48
|
-
getSundayDateAsString() {
|
|
49
|
-
return this.weeklyCertServerData.sundayOfWeekToCertifyString;
|
|
50
|
-
}
|
|
51
|
-
getSaturdayDateAsString() {
|
|
52
|
-
return this.weeklyCertServerData.weekToCertifyString;
|
|
53
|
-
}
|
|
54
|
-
getSaturdayDate() {
|
|
55
|
-
return this.weeklyCertServerData.weekToCertify;
|
|
56
|
-
}
|
|
57
|
-
getSundayDate() {
|
|
58
|
-
return this.weeklyCertServerData.sundayOfWeekToCertify;
|
|
59
|
-
}
|
|
60
|
-
getDisplayWorkSearchScreen() {
|
|
61
|
-
return this.weeklyCertServerData.showWorkSearchScreen && !this.weeklyCertServerData.isWorkSearchWaived;
|
|
62
|
-
}
|
|
63
|
-
getEmployerRecords() {
|
|
64
|
-
return this.weeklyCertData.employerDetailsList;
|
|
65
|
-
}
|
|
66
|
-
getWorkSearchData() {
|
|
67
|
-
return this.weeklyCertData.workSearchData;
|
|
68
|
-
}
|
|
69
|
-
setWorkSearchData(workSearchData) {
|
|
70
|
-
this.weeklyCertData.workSearchData = workSearchData;
|
|
71
|
-
}
|
|
72
|
-
setAdminLeaveDetails(adminLeaveDetails) {
|
|
73
|
-
this.weeklyCertData.adminLeaveDetails = adminLeaveDetails;
|
|
74
|
-
}
|
|
75
|
-
getClaimTypeFlag() {
|
|
76
|
-
let claimTypeFlag = this.weeklyCertData['tra_claim_flag'];
|
|
77
|
-
return claimTypeFlag;
|
|
78
|
-
}
|
|
79
|
-
getWorkSearchRecordsCount() {
|
|
80
|
-
if (this.weeklyCertData.workSearchRecords != null) {
|
|
81
|
-
return this.weeklyCertData.workSearchRecords.length;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return 0;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
getWorkSearchRecords() {
|
|
88
|
-
return this.weeklyCertData.workSearchRecords;
|
|
89
|
-
}
|
|
90
|
-
removeWorkSearchRecord(index) {
|
|
91
|
-
this.weeklyCertData.workSearchRecords.splice(index, 1);
|
|
92
|
-
}
|
|
93
|
-
removeEmployerRecord(index) {
|
|
94
|
-
this.weeklyCertData.employerDetailsList.splice(index, 1);
|
|
95
|
-
}
|
|
96
|
-
getEmployerRecordsCount() {
|
|
97
|
-
if (this.weeklyCertData.employerDetailsList != null) {
|
|
98
|
-
return this.weeklyCertData.employerDetailsList.length;
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
return 0;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
getTotalEarningAmount() {
|
|
105
|
-
let totalAmount = 0.0;
|
|
106
|
-
if (this.getEmployerRecordsCount() > 0) {
|
|
107
|
-
this.weeklyCertData.employerDetailsList.forEach(element => {
|
|
108
|
-
totalAmount = totalAmount + Number.parseFloat(element.grossEarning.toString());
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
return totalAmount;
|
|
112
|
-
}
|
|
113
|
-
resetWeeklyCertData() {
|
|
114
|
-
this.weeklyCertData = new WeeklyCertificationModel();
|
|
115
|
-
}
|
|
116
|
-
getWorkSearchRecordsCountWithNotHiredStatus() {
|
|
117
|
-
let workSearchRecords = this.getWorkSearchRecords();
|
|
118
|
-
if (workSearchRecords == null || workSearchRecords.length == 0) {
|
|
119
|
-
return 0;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
var count = 0;
|
|
123
|
-
for (var index = 0; index < workSearchRecords.length; index++) {
|
|
124
|
-
if (workSearchRecords[index].searchResult == 'NOHI') {
|
|
125
|
-
count++;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return count;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
getWorkSearchRecordsCountWithHiredStatus() {
|
|
132
|
-
let workSearchRecords = this.getWorkSearchRecords();
|
|
133
|
-
if (workSearchRecords == null || workSearchRecords.length == 0) {
|
|
134
|
-
return 0;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
var count = 0;
|
|
138
|
-
for (var index = 0; index < workSearchRecords.length; index++) {
|
|
139
|
-
if (workSearchRecords[index].searchResult == 'HIRE') {
|
|
140
|
-
count++;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return count;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
checkIfInadequateWorkSearchQuestionnaireShouldBeOpened() {
|
|
147
|
-
if (this.weeklyCertData.workSearchData.isWorkSearchPerformedFlag == "1") {
|
|
148
|
-
if (this.getWorkSearchRecordsCount() < 1) {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
if (this.getWorkSearchRecordsCountWithHiredStatus() > 0) {
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
else if (this.getWorkSearchRecordsCount() < 3) {
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
else if (this.getWorkSearchRecordsCountWithNotHiredStatus() < 1) {
|
|
158
|
-
return true;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
hasReferralRecords() {
|
|
169
|
-
let hasReferralPresent = false;
|
|
170
|
-
if (this.weeklyCertData.workSearchRecords != null && this.weeklyCertData.workSearchRecords.length > 0) {
|
|
171
|
-
this.weeklyCertData.workSearchRecords.forEach((wrkSrchModel) => {
|
|
172
|
-
if (wrkSrchModel.searchResult == 'MDES') {
|
|
173
|
-
hasReferralPresent = true;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
return hasReferralPresent;
|
|
178
|
-
}
|
|
179
|
-
convertNumberToBoolean(value) {
|
|
180
|
-
if (value == 1) {
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
else if (value == 0) {
|
|
184
|
-
return false;
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
return null;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
setNullIfEmpty(value) {
|
|
191
|
-
if (value == null || value == undefined || value == '') {
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
|
-
return value;
|
|
195
|
-
}
|
|
196
|
-
getWorkSearchWaived() {
|
|
197
|
-
return this.weeklyCertServerData.isWorkSearchWaived;
|
|
198
|
-
}
|
|
199
|
-
getWaitingWeekServed() {
|
|
200
|
-
return this.weeklyCertServerData.isWaitingWeekServed;
|
|
201
|
-
}
|
|
202
|
-
getHidIsSeapParticipant() {
|
|
203
|
-
return this.weeklyCertServerData.hidIsSeapParticipant;
|
|
204
|
-
}
|
|
205
|
-
static { this.ɵfac = function WeeklyCertServiceV2_Factory(t) { return new (t || WeeklyCertServiceV2)(i0.ɵɵinject(i1.UtilService), i0.ɵɵinject(i2.HttpClient)); }; }
|
|
33
|
+
static { this.ɵfac = function WeeklyCertServiceV2_Factory(t) { return new (t || WeeklyCertServiceV2)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
206
34
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WeeklyCertServiceV2, factory: WeeklyCertServiceV2.ɵfac, providedIn: 'root' }); }
|
|
207
35
|
}
|
|
208
36
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeeklyCertServiceV2, [{
|
|
@@ -210,5 +38,5 @@ export class WeeklyCertServiceV2 extends BaseService {
|
|
|
210
38
|
args: [{
|
|
211
39
|
providedIn: 'root'
|
|
212
40
|
}]
|
|
213
|
-
}], () => [{ type: i1.
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtdjIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDcEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFrQix3QkFBd0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWxILE9BQU8sRUFBRSxzQkFBc0IsRUFBeUIsTUFBTSxzREFBc0QsQ0FBQztBQUVySCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7OztBQU01RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQUVsRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDaEUsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFD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LG9CQUFvQixDQUFDLGtCQUFrQixDQUFDO0lBQ3RELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQztJQUN4RCxDQUFDO29GQS9OVSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRmxCLE1BQU07O2lGQUVQLG1CQUFtQjtjQUgvQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb21iby1tb2RlbCc7XHJcbmltcG9ydCB7IEVtcGxveWVySW5mb01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dlZWtseS1jZXJ0L2VtcGxveWVyLWluZm8tdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBXZWVrbHlDZXJ0RWxpZ2liaWxpdHlNb2RlbFYyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dlZWtseS1jZXJ0L3dlZWtseS1jZXJ0LWVsaWdpYmlsaXR5LXYyLW1vZGVsJztcclxuaW1wb3J0IHsgV2Vla2x5Q2VydERhdGEsIFdlZWtseUNlcnRpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93ZWVrbHktY2VydGlmaWNhdGlvbi12Mi1tb2RlbCc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC12Mi1tb2RlbCc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hKb3VybmFsTW9kZWwsIFdvcmtTZWFyY2hSZWNvcmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC1yZWNvcmQtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBTdGF0dXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1N0YXR1c01vZGVsJztcclxuaW1wb3J0IHsgQWRtaW5MZWF2ZURldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC9hZG1pbi1sZWF2ZS1kZXRhaWxzLW1vZGVsJztcclxuaW1wb3J0IHsgRGVwZW5kZW50TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGVwZW5kZW50Lm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdlZWtseUNlcnRTZXJ2aWNlVjIgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIHNldFNlcnZpY2VDb250ZXh0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlQ29udGV4dCA9IExpYkNvbnN0YW50cy53ZWVrbHljZXJ0X3NlcnZpY2UuY29udGV4dDtcclxuICB9XHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLndlZWtseWNlcnRfc2VydmljZS5wb3J0O1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlUHJvdG9jb2woKSB7XHJcbiAgICB0aGlzLnByb3RvY29sID0gTGliQ29uc3RhbnRzLndlZWtseWNlcnRfc2VydmljZS5wcm90b2NvbDtcclxuICB9XHJcbiAgc2V0U2VydmljZUhvc3QoKSB7XHJcbiAgICB0aGlzLmhvc3QgPSBMaWJDb25zdGFudHMud2Vla2x5Y2VydF9zZXJ2aWNlLmhvc3Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2Vla2x5Q2VydERhdGE6IFdlZWtseUNlcnRpZmljYXRpb25Nb2RlbCA9IG5ldyBXZWVrbHlDZXJ0aWZpY2F0aW9uTW9kZWwoKTtcclxuXHJcbiAgcHVibGljIHdlZWtseUNlcnRTZXJ2ZXJEYXRhOiBXZWVrbHlDZXJ0RWxpZ2liaWxpdHlNb2RlbFYyID0gbmV3IFdlZWtseUNlcnRFbGlnaWJpbGl0eU1vZGVsVjIoKTtcclxuXHJcbiAgcHVibGljIHdvcmtTZWFyY2hKb3VybmFsOiBXb3JrU2VhcmNoSm91cm5hbE1vZGVsID0gbmV3IFdvcmtTZWFyY2hKb3VybmFsTW9kZWwoKTtcclxuXHJcbiAgcHVibGljIGFkbWluTGVhdmVEZXRhaWxzTW9kZWw6IEFkbWluTGVhdmVEZXRhaWxzTW9kZWwgPSBuZXcgQWRtaW5MZWF2ZURldGFpbHNNb2RlbCgpO1xyXG5cclxuICBwdWJsaWMgZW1wbG95ZXJEYXRhOiBFbXBsb3llckluZm9Nb2RlbCA9IG5ldyBFbXBsb3llckluZm9Nb2RlbCgpO1xyXG5cclxuICBwdWJsaWMgcWVTdGF0dXNNb2RlbDogU3RhdHVzTW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tXZWVrbHlFbGlnaWJpbGl0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmdldDxXZWVrbHlDZXJ0RWxpZ2liaWxpdHlNb2RlbFYyPignd2Vla2x5Y2VydC92Mi9jaGVjay1lbGlnaWJpbGl0eScpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0V2Vla2x5Q2VydGlmaWNhdGlvbihsYXN0NE9mU3NuOiBzdHJpbmcpIHtcclxuICAgICB0aGlzLndlZWtseUNlcnREYXRhLnNpZ25hdHVyZSA9IGxhc3Q0T2ZTc247XHJcbiAgICAgcmV0dXJuIHRoaXMucG9zdDxhbnk+KCd3ZWVrbHljZXJ0L3Byb2Nlc3MnLCB0aGlzLndlZWtseUNlcnREYXRhKTtcclxuICB9XHJcblxyXG4gIGdldENsYWltYW50V29ya1NlYXJjaEpvdXJuYWxSZWNvcmRzKHdlZWtUb0NlcnRpZnk6IHN0cmluZyl7XHJcbiAgIHJldHVybiB0aGlzLmdldDxXb3JrU2VhcmNoSm91cm5hbE1vZGVsPihgd2Vla2x5Y2VydC9leGlzdGluZy13b3JrLXNlYXJjaC8ke3dlZWtUb0NlcnRpZnkucmVwbGFjZSgnLycsJy0nKS5yZXBsYWNlKCcvJywnLScpfWApO1xyXG4gIH1cclxuXHJcbiAgZGV0ZXJtaW5lUXVlc3Rpb25uaWFyZVRvT3Blbigpe1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxhbnk+KCd3ZWVrbHljZXJ0L2ZpbGUtd2Vla2xpZXMvZGV0ZXJtaW5lLXFlJywgdGhpcy53ZWVrbHlDZXJ0RGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdW5kYXlEYXRlQXNTdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLndlZWtseUNlcnRTZXJ2ZXJEYXRhLnN1bmRheU9mV2Vla1RvQ2VydGlmeVN0cmluZztcclxuICB9XHJcblxyXG4gIGdldFNhdHVyZGF5RGF0ZUFzU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy53ZWVrbHlDZXJ0U2VydmVyRGF0YS53ZWVrVG9DZXJ0aWZ5U3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2F0dXJkYXlEYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud2Vla2x5Q2VydFNlcnZlckRhdGEud2Vla1RvQ2VydGlmeTtcclxuICB9XHJcblxyXG4gIGdldFN1bmRheURhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53ZWVrbHlDZXJ0U2VydmVyRGF0YS5zdW5kYXlPZldlZWtUb0NlcnRpZnk7XHJcbiAgfVxyXG5cclxuICBnZXREaXNwbGF5V29ya1NlYXJjaFNjcmVlbigpIHtcclxuICAgIHJldHVybiB0aGlzLndlZWtseUNlcnRTZXJ2ZXJEYXRhLnNob3dXb3JrU2VhcmNoU2NyZWVuICYmICF0aGlzLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmlzV29ya1NlYXJjaFdhaXZlZDtcclxuICB9XHJcblxyXG4gIGdldEVtcGxveWVyUmVjb3JkcygpOiBFbXBsb3llckluZm9Nb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLndlZWtseUNlcnREYXRhLmVtcGxveWVyRGV0YWlsc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRXb3JrU2VhcmNoRGF0YSgpOiBXb3JrU2VhcmNoTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaERhdGE7XHJcbiAgfVxyXG5cclxuICBzZXRXb3JrU2VhcmNoRGF0YSh3b3JrU2VhcmNoRGF0YTogV29ya1NlYXJjaE1vZGVsKSB7XHJcbiAgICB0aGlzLndlZWtseUNlcnREYXRhLndvcmtTZWFyY2hEYXRhID0gd29ya1NlYXJjaERhdGE7XHJcbiAgfVxyXG5cclxuICBzZXRBZG1pbkxlYXZlRGV0YWlscyhhZG1pbkxlYXZlRGV0YWlsczogQWRtaW5MZWF2ZURldGFpbHNNb2RlbCl7XHJcbiAgICB0aGlzLndlZWtseUNlcnREYXRhLmFkbWluTGVhdmVEZXRhaWxzID0gYWRtaW5MZWF2ZURldGFpbHM7XHJcbiAgfVxyXG5cclxuICBnZXRDbGFpbVR5cGVGbGFnKCkge1xyXG4gICAgbGV0IGNsYWltVHlwZUZsYWcgPSB0aGlzLndlZWtseUNlcnREYXRhWyd0cmFfY2xhaW1fZmxhZyddO1xyXG4gICAgcmV0dXJuIGNsYWltVHlwZUZsYWc7XHJcbiAgfVxyXG5cclxuICBnZXRXb3JrU2VhcmNoUmVjb3Jkc0NvdW50KCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy53ZWVrbHlDZXJ0RGF0YS53b3JrU2VhcmNoUmVjb3JkcyAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLndlZWtseUNlcnREYXRhLndvcmtTZWFyY2hSZWNvcmRzLmxlbmd0aDtcclxuICAgIH1lbHNlIHsgICAgXHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0V29ya1NlYXJjaFJlY29yZHMoKTogV29ya1NlYXJjaFJlY29yZE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaFJlY29yZHM7XHJcbiAgfVxyXG5cclxuICByZW1vdmVXb3JrU2VhcmNoUmVjb3JkKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaFJlY29yZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUVtcGxveWVyUmVjb3JkKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMud2Vla2x5Q2VydERhdGEuZW1wbG95ZXJEZXRhaWxzTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW1wbG95ZXJSZWNvcmRzQ291bnQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLndlZWtseUNlcnREYXRhLmVtcGxveWVyRGV0YWlsc0xpc3QgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy53ZWVrbHlDZXJ0RGF0YS5lbXBsb3llckRldGFpbHNMaXN0Lmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWxFYXJuaW5nQW1vdW50KCk6IG51bWJlciB7XHJcbiAgICBsZXQgdG90YWxBbW91bnQ6IG51bWJlciA9IDAuMDtcclxuICAgIGlmICh0aGlzLmdldEVtcGxveWVyUmVjb3Jkc0NvdW50KCkgPiAwKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5Q2VydERhdGEuZW1wbG95ZXJEZXRhaWxzTGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIHRvdGFsQW1vdW50ID0gdG90YWxBbW91bnQgKyBOdW1iZXIucGFyc2VGbG9hdChlbGVtZW50Lmdyb3NzRWFybmluZy50b1N0cmluZygpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG90YWxBbW91bnQ7XHJcbiAgfVxyXG5cclxuICByZXNldFdlZWtseUNlcnREYXRhKCkge1xyXG4gICAgdGhpcy53ZWVrbHlDZXJ0RGF0YSA9IG5ldyBXZWVrbHlDZXJ0aWZpY2F0aW9uTW9kZWwoKTtcclxuICB9XHJcblxyXG4gIGdldFdvcmtTZWFyY2hSZWNvcmRzQ291bnRXaXRoTm90SGlyZWRTdGF0dXMoKSB7XHJcbiAgICBsZXQgd29ya1NlYXJjaFJlY29yZHM6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbFtdID0gdGhpcy5nZXRXb3JrU2VhcmNoUmVjb3JkcygpO1xyXG4gICAgaWYgKHdvcmtTZWFyY2hSZWNvcmRzID09IG51bGwgfHwgd29ya1NlYXJjaFJlY29yZHMubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YXIgY291bnQgPSAwO1xyXG4gICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgd29ya1NlYXJjaFJlY29yZHMubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgaWYgKHdvcmtTZWFyY2hSZWNvcmRzW2luZGV4XS5zZWFyY2hSZXN1bHQgPT0gJ05PSEknKSB7XHJcbiAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRXb3JrU2VhcmNoUmVjb3Jkc0NvdW50V2l0aEhpcmVkU3RhdHVzKCk6IG51bWJlciB7XHJcbiAgICBsZXQgd29ya1NlYXJjaFJlY29yZHM6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbFtdID0gdGhpcy5nZXRXb3JrU2VhcmNoUmVjb3JkcygpO1xyXG4gICAgaWYgKHdvcmtTZWFyY2hSZWNvcmRzID09IG51bGwgfHwgd29ya1NlYXJjaFJlY29yZHMubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YXIgY291bnQgPSAwO1xyXG4gICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgd29ya1NlYXJjaFJlY29yZHMubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgaWYgKHdvcmtTZWFyY2hSZWNvcmRzW2luZGV4XS5zZWFyY2hSZXN1bHQgPT0gJ0hJUkUnKSB7XHJcbiAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0lmSW5hZGVxdWF0ZVdvcmtTZWFyY2hRdWVzdGlvbm5haXJlU2hvdWxkQmVPcGVuZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZih0aGlzLndlZWtseUNlcnREYXRhLndvcmtTZWFyY2hEYXRhLmlzV29ya1NlYXJjaFBlcmZvcm1lZEZsYWcgPT0gXCIxXCIpe1xyXG4gICAgICBpZiAoIHRoaXMuZ2V0V29ya1NlYXJjaFJlY29yZHNDb3VudCgpIDwgMSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5nZXRXb3JrU2VhcmNoUmVjb3Jkc0NvdW50V2l0aEhpcmVkU3RhdHVzKCkgPiAwKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0V29ya1NlYXJjaFJlY29yZHNDb3VudCgpIDwgMykge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0V29ya1NlYXJjaFJlY29yZHNDb3VudFdpdGhOb3RIaXJlZFN0YXR1cygpIDwgMSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBoYXNSZWZlcnJhbFJlY29yZHMoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaGFzUmVmZXJyYWxQcmVzZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy53ZWVrbHlDZXJ0RGF0YS53b3JrU2VhcmNoUmVjb3JkcyAhPSBudWxsICYmIHRoaXMud2Vla2x5Q2VydERhdGEud29ya1NlYXJjaFJlY29yZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLndlZWtseUNlcnREYXRhLndvcmtTZWFyY2hSZWNvcmRzLmZvckVhY2goXHJcbiAgICAgICAgKHdya1NyY2hNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHdya1NyY2hNb2RlbC5zZWFyY2hSZXN1bHQgPT0gJ01ERVMnKSB7XHJcbiAgICAgICAgICAgIGhhc1JlZmVycmFsUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc1JlZmVycmFsUHJlc2VudDtcclxuICB9XHJcblxyXG4gIGNvbnZlcnROdW1iZXJUb0Jvb2xlYW4odmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSA9PSAxKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PSAwKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TnVsbElmRW1wdHkodmFsdWUpe1xyXG4gICAgaWYodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PSB1bmRlZmluZWQgfHwgdmFsdWUgPT0gJycpe1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldFdvcmtTZWFyY2hXYWl2ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53ZWVrbHlDZXJ0U2VydmVyRGF0YS5pc1dvcmtTZWFyY2hXYWl2ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRXYWl0aW5nV2Vla1NlcnZlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmlzV2FpdGluZ1dlZWtTZXJ2ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRIaWRJc1NlYXBQYXJ0aWNpcGFudCgpIHtcclxuICAgIHJldHVybiB0aGlzLndlZWtseUNlcnRTZXJ2ZXJEYXRhLmhpZElzU2VhcFBhcnRpY2lwYW50O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
41
|
+
}], () => [{ type: i1.HttpClient }], null); })();
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtdjIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUs5QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQUVsRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDaEUsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQW1CLElBQWdCO1FBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURLLFNBQUksR0FBSixJQUFJLENBQVk7SUFFbkMsQ0FBQztJQUVELDZCQUE2QixDQUFDLFFBQWdCO1FBQzlDLDZFQUE2RTtRQUMzRSxJQUFJLFNBQVMsR0FBRSxJQUFJLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3REFBd0QsR0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQU0scUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFckUsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFFLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUF5QiwrQkFBK0IsQ0FBQyxDQUFDO0lBQzVFLENBQUM7b0ZBOUJRLG1CQUFtQjt1RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGbEIsTUFBTTs7aUZBRVAsbUJBQW1CO2NBSC9CLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFydGlhbEVtcGxveW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9QYXJ0aWFsRW1wbG95bWVudE1vZGVsJztcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vla2x5Q2VydFNlcnZpY2VWMiBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcclxuXHJcbiAgc2V0U2VydmljZUNvbnRleHQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VDb250ZXh0ID0gTGliQ29uc3RhbnRzLndlZWtseWNlcnRfc2VydmljZS5jb250ZXh0O1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlUG9ydCgpIHtcclxuICAgIHRoaXMuc2VydmljZVBvcnQgPSBMaWJDb25zdGFudHMud2Vla2x5Y2VydF9zZXJ2aWNlLnBvcnQ7XHJcbiAgfVxyXG4gIHNldFNlcnZpY2VQcm90b2NvbCgpIHtcclxuICAgIHRoaXMucHJvdG9jb2wgPSBMaWJDb25zdGFudHMud2Vla2x5Y2VydF9zZXJ2aWNlLnByb3RvY29sO1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlSG9zdCgpIHtcclxuICAgIHRoaXMuaG9zdCA9IExpYkNvbnN0YW50cy53ZWVrbHljZXJ0X3NlcnZpY2UuaG9zdDtcclxuICB9ICBcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVFdmVudEZvclJlb3BlbkFpY0Zsb3coc3NuSW5wdXQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7ICAgIFxyXG4gIC8vICBjb25zb2xlLmxvZyhcImNoZWNrIHRoZSBBaWMgRXZlbnRzIGZvciBjcmVhdGlvbiBvZiB0aGlzIFNTTjo6OlwiK3NzbklucHV0KTtcclxuICAgIGxldCBwYXJhbXNWYWwgPW51bGw7XHJcbiAgICBjb25zb2xlLmxvZyhcImNoZWNrIHRoZSBBaWMgRXZlbnRzIGZvciBjcmVhdGlvbiBvZiB0aGlzIFNTTjo6OiA2Li4uLlwiK3BhcmFtc1ZhbCk7XHJcbiAgICAgICByZXR1cm4gdGhpcy5nZXQ8YW55Pihgd2Vla2x5Y2VydC9ldmVudHMvJHtzc25JbnB1dH1gKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXRQYXJ0aWFsRW1wbG95bWVudCgpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJDYWxsaW5nIHRvIGdldCB0aGUgSUYgYW55IHBhcnRpYWwgZW1wbG95bWVudFwiICk7XHJcbiAgICAgICByZXR1cm4gdGhpcy5nZXQ8UGFydGlhbEVtcGxveW1lbnRNb2RlbD4oJ3dlZWtseWNlcnQvcGFydGlhbC1lbXBsb3ltZW50Jyk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIFxyXG5cclxuIl19
|
|
@@ -45,5 +45,7 @@ export class AppRegex {
|
|
|
45
45
|
* @description Regular Expression to station no. format
|
|
46
46
|
*/
|
|
47
47
|
static { this.STATION_NO_REGEX = /^[A-Za-z0-9]{4}$/; }
|
|
48
|
+
static { this.ACCOUNT_NUMBER_REGEX_MIN = /^\d{8,17}$/; }
|
|
49
|
+
static { this.ROUTING_NUMBER_REGEX = /^[0-4]{1}[0-9]{8}$/; }
|
|
48
50
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwUmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3ZhbGlkYXRpb25zL0FwcFJlZ2V4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxXQUFXO0FBQ1gsTUFBTSxPQUFPLFFBQVE7SUFDakI7O01BRUU7YUFDSyxtQkFBYyxHQUFZLHdCQUF3QixDQUFDO0lBRTFEOztNQUVFO2FBQ0ssZUFBVSxHQUFhLDBCQUEwQixDQUFDO0lBRXpEOztNQUVFO2FBQ0ssMEJBQXFCLEdBQWEsZ0JBQWdCLENBQUM7SUFFMUQ7O01BRUU7YUFDSyx3QkFBbUIsR0FBYSw0QkFBNEIsQ0FBQztJQUVwRTs7TUFFRTthQUNLLHFCQUFnQixHQUFhLFlBQVksQ0FBQztJQUVqRDs7TUFFRTthQUNLLHFCQUFnQixHQUFhLFlBQVksQ0FBQztJQUVqRDs7TUFFRTthQUNLLGlCQUFZLEdBQWEsWUFBWSxDQUFDO0lBRTdDOztNQUVFO2FBQ0sseUJBQW9CLEdBQVksT0FBTyxDQUFDO0lBRS9DOztNQUVFO2FBQ0ssZ0JBQVcsR0FBYSx3SkFBd0osQ0FBQztJQUV4TDs7T0FFRzthQUNJLHFCQUFnQixHQUFHLGtCQUFrQixDQUFDO2FBRXRDLDZCQUF3QixHQUFZLFlBQVksQ0FBQzthQUVqRCx5QkFBb0IsR0FBVSxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKipcclxuICogXHJcbiAqIEBkZXNjcmlwdGlvbiBDbGFzcyBDb250YWlucyBhbGwgcmVndWxhciBleHByZXNzaW9ucyB1c2VkIGluIHRoZSBwcm9qZWN0LlxyXG4gKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICovXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBcHBSZWdleHtcclxuICAgIC8qKiBcclxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIEV4cHJlc3Npb24gdG8gdmFsaWRhdGUgdXNlcm5hbWVcclxuICAgICovXHJcbiAgICBzdGF0aWMgVVNFUk5BTUVfUkVHRVggOiBSZWdFeHAgPSAvXlthLXpBLVpdezF9W1xcd1xcQFxcLl0qJC87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBGaXJzdCBOYW1lLCBMYXN0IE5hbWVcclxuICAgICovXHJcbiAgICBzdGF0aWMgTkFNRV9SRUdFWCA6IFJlZ0V4cCAgPSAvXltBLVphLXolXVtBLVphLXpcXHMnLV0qJC87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBpZiBhdCBsZWFzdCAxIG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyIGlzIHByZXNlbnQgb3Igbm90IDogJ18nICdAJyAnKicgJyQnICchJyAnIycgJy4nXHJcbiAgICAqL1xyXG4gICAgc3RhdGljIENMQUlNQU5UX1NZTUJPTF9SRUdFWCA6IFJlZ0V4cCAgPSAvLipbX0AqJCEjLl0rLiovO1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIEV4cHJlc3Npb24gdG8gdmFsaWRhdGUgaWYgYXQgbGVhc3QgMiBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlciBpcyBwcmVzZW50IG9yIG5vdCA6ICdfJyAnQCcgJyonICckJyAnIScgJyMnICcuJ1xyXG4gICAgKi9cclxuICAgIHN0YXRpYyBBR0VOQ1lfU1lNQk9MX1JFR0VYIDogUmVnRXhwICA9IC8uKltfQCokISMuXSsuKltfQCokISMuXSsuKi87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBpZiBzbWFsbCBjYXNlIGxldHRlciBpcyBwcmVzZW50IG9yIG5vdFxyXG4gICAgKi9cclxuICAgIHN0YXRpYyBMT1dFUl9DQVNFX1JFR0VYIDogUmVnRXhwICA9IC8uKlthLXpdKy4qLztcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVndWxhciBFeHByZXNzaW9uIHRvIHZhbGlkYXRlIGlmIHVwcGVyIGNhc2UgbGV0dGVyIGlzIHByZXNlbnQgb3Igbm90XHJcbiAgICAqL1xyXG4gICAgc3RhdGljIFVQUEVSX0NBU0VfUkVHRVggOiBSZWdFeHAgID0gLy4qW0EtWl0rLiovO1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIEV4cHJlc3Npb24gdG8gdmFsaWRhdGUgaWYgbnVtYmJlciBpcyBwcmVzZW50IG9yIG5vdFxyXG4gICAgKi9cclxuICAgIHN0YXRpYyBOVU1CRVJfUkVHRVggOiBSZWdFeHAgID0gLy4qWzAtOV0rLiovO1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIEV4cHJlc3Npb24gdG8gdmFsaWRhdGUgaWYgYWNjb3VudG51bWJlciBoYXMgb25seSBudW1iZXJzIHByZXNlbnQgb3Igbm90XHJcbiAgICAqL1xyXG4gICAgc3RhdGljIEFDQ09VTlRfTlVNQkVSX1JFR0VYIDogUmVnRXhwID0gL15cXGQrJC87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBlbWFpbCBmb3JtYXRcclxuICAgICovXHJcbiAgICBzdGF0aWMgRU1BSUxfUkVHRVggOiBSZWdFeHAgID0gL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVndWxhciBFeHByZXNzaW9uIHRvIHN0YXRpb24gbm8uIGZvcm1hdFxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgU1RBVElPTl9OT19SRUdFWCA9IC9eW0EtWmEtejAtOV17NH0kLztcclxuXHJcbiAgICBzdGF0aWMgQUNDT1VOVF9OVU1CRVJfUkVHRVhfTUlOIDogUmVnRXhwID0gL15cXGR7OCwxN30kLztcclxuXHJcbiAgICBzdGF0aWMgUk9VVElOR19OVU1CRVJfUkVHRVg6UmVnRXhwID0gL15bMC00XXsxfVswLTldezh9JC87ICBcclxufSJdfQ==
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
1
|
/***
|
|
3
2
|
*
|
|
4
3
|
* @description Class Contains all common form validation used in the project.
|
|
5
4
|
* @author Prerak Tiwari
|
|
6
5
|
*/
|
|
7
6
|
export class AppValidators {
|
|
7
|
+
/**
|
|
8
|
+
* checks if state field has a value other than KS
|
|
9
|
+
* @param c control
|
|
10
|
+
* @returns {requiredKansas: boolean}
|
|
11
|
+
*/
|
|
12
|
+
static requiredKansas(c) {
|
|
13
|
+
if (c.value?.value == undefined || c.value?.value === 'KS') {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return { requiredKansas: true };
|
|
17
|
+
}
|
|
8
18
|
static confirmPasswordValidator(c) {
|
|
9
19
|
if (c.get('password').value != c.get('confirmPassword').value) {
|
|
10
20
|
return { invalid: true };
|
|
@@ -61,16 +71,24 @@ export class AppValidators {
|
|
|
61
71
|
}
|
|
62
72
|
// @dynamic
|
|
63
73
|
static requiredIfValidator(predicate) {
|
|
64
|
-
|
|
65
|
-
|
|
74
|
+
return (formControl) => {
|
|
75
|
+
try {
|
|
76
|
+
if (!formControl) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
if (predicate()) {
|
|
80
|
+
const val = formControl.value;
|
|
81
|
+
// Check for null, undefined, or empty string
|
|
82
|
+
if (val === null || val === undefined || val === '') {
|
|
83
|
+
return { required: 'required' };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
66
86
|
return null;
|
|
67
87
|
}
|
|
68
|
-
|
|
69
|
-
return
|
|
88
|
+
catch (e) {
|
|
89
|
+
return null;
|
|
70
90
|
}
|
|
71
|
-
|
|
72
|
-
});
|
|
73
|
-
return func;
|
|
91
|
+
};
|
|
74
92
|
}
|
|
75
93
|
/**
|
|
76
94
|
*
|
|
@@ -115,6 +133,12 @@ export class AppValidators {
|
|
|
115
133
|
}
|
|
116
134
|
return;
|
|
117
135
|
}
|
|
136
|
+
static isValidLengthRoutingNumber(control) {
|
|
137
|
+
debugger;
|
|
138
|
+
if (control.value != null && (control.value.length != 9)) {
|
|
139
|
+
return { invalidLengthRouting: true };
|
|
140
|
+
}
|
|
141
|
+
}
|
|
118
142
|
static isValidZipCode(control) {
|
|
119
143
|
if (control.value != null && !AppValidators.isNumber(control.value)) {
|
|
120
144
|
return { invalidNumber: true };
|
|
@@ -151,18 +175,6 @@ export class AppValidators {
|
|
|
151
175
|
}
|
|
152
176
|
};
|
|
153
177
|
}
|
|
154
|
-
static isBetweenDate(from, to) {
|
|
155
|
-
return (control) => {
|
|
156
|
-
if (!control.value) {
|
|
157
|
-
// if control is empty return no error
|
|
158
|
-
return null;
|
|
159
|
-
}
|
|
160
|
-
let wsDate = control.value;
|
|
161
|
-
if (wsDate < from || wsDate > to) {
|
|
162
|
-
return { dateNotBetween: true };
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
178
|
static equal(matchingControlName, error) {
|
|
167
179
|
return (control) => {
|
|
168
180
|
if (!control.parent) {
|
|
@@ -202,68 +214,40 @@ export class AppValidators {
|
|
|
202
214
|
return valid ? null : error;
|
|
203
215
|
};
|
|
204
216
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
217
|
+
/**
|
|
218
|
+
*
|
|
219
|
+
* @param weekstart and weekEnd date
|
|
220
|
+
* @param error earningsRequired error which should be returned in case validation fails
|
|
221
|
+
*
|
|
222
|
+
* @description Form validator to validate earnings and hours worked is avalible if ldw falls within the week of filling
|
|
223
|
+
*
|
|
224
|
+
* @author Steevan Macwan
|
|
225
|
+
*/
|
|
226
|
+
static requireEarningsIfWorked(sunDate, satDate) {
|
|
227
|
+
return (group) => {
|
|
228
|
+
const lastDayWorked = group.get('lastDayWorked')?.value;
|
|
229
|
+
const grossEarning = group.get('grossEarning')?.value;
|
|
230
|
+
const hoursWorked = group.get('hoursWorkedInWeek')?.value;
|
|
231
|
+
// Skip if lastDayWorked is missing
|
|
232
|
+
if (!lastDayWorked) {
|
|
210
233
|
return null;
|
|
211
234
|
}
|
|
212
|
-
|
|
213
|
-
//
|
|
214
|
-
if (
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
return { nomatch: true };
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
static areAllDigitsSame(str) {
|
|
231
|
-
return str.split('').every(c => c === str[0]);
|
|
232
|
-
}
|
|
233
|
-
static amountLessThanOne(control) {
|
|
234
|
-
let val = Number.parseFloat(control.value);
|
|
235
|
-
if (val < 1.00) {
|
|
236
|
-
return { payAmountLessThanOne: true };
|
|
237
|
-
}
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
/***
|
|
241
|
-
* This method checks if the entered city has length<=30
|
|
242
|
-
*/
|
|
243
|
-
static isValidWsCity(control) {
|
|
244
|
-
if (control.value != null && (control.value.length <= 30)) {
|
|
245
|
-
//do nothing
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
return { invalidwsCityLength: true };
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
static isEqual(value) {
|
|
252
|
-
return (control) => {
|
|
253
|
-
if (value != control.value) {
|
|
254
|
-
return { notEqual: true };
|
|
235
|
+
const lastDay = lastDayWorked instanceof Date ? lastDayWorked : new Date(lastDayWorked);
|
|
236
|
+
// Check if lastDayWorked falls within the week
|
|
237
|
+
if (lastDay >= sunDate && lastDay <= satDate) {
|
|
238
|
+
if (!grossEarning || grossEarning === 0) {
|
|
239
|
+
group.get('grossEarning')?.setErrors({ earningsRequired: true });
|
|
240
|
+
}
|
|
241
|
+
if (!hoursWorked || hoursWorked === 0) {
|
|
242
|
+
group.get('hoursWorkedInWeek')?.setErrors({ earningsRequired: true });
|
|
243
|
+
}
|
|
244
|
+
// If work was performed but grossEarning or hoursWorked is missing
|
|
245
|
+
if (!grossEarning || grossEarning === 0 || !hoursWorked || hoursWorked === 0) {
|
|
246
|
+
return { earningsRequired: true };
|
|
247
|
+
}
|
|
255
248
|
}
|
|
256
249
|
return null;
|
|
257
250
|
};
|
|
258
251
|
}
|
|
259
|
-
static isValidWebsite(control) {
|
|
260
|
-
var reg = /^(https?:\/\/|ftp:\/\/)?(www\.)?([a-zA-Z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,6})(\/[a-zA-Z0-9#\/?=&%.\-]*)?$/i;
|
|
261
|
-
if (control.value != null && !reg.test(control.value)) {
|
|
262
|
-
return { invalidWebsite: true };
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
return null;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
252
|
}
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwVmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pIOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUV4QixNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBa0I7UUFDaEQsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxFQUFFO1lBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLFNBQTJCO1FBQ3BFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxPQUFPLFFBQVEsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsV0FBVztJQUNYLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFtQixFQUFFLG1CQUEyQjtRQUN0RSxNQUFNLElBQUksR0FBRyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sZUFB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RyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDdkM7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUNEOztRQUVJO0lBQ0osTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUF3QjtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDekQsWUFBWTtTQUNiO2FBQU07WUFDTCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1FBQ2xCLE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1lBQzFELElBQUcsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUM7Z0JBQ3hCLE9BQU8sRUFBQyxRQUFRLEVBQUcsSUFBSSxFQUFDLENBQUM7YUFDMUI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQXdCO1FBQzVDLElBQUksR0FBRyxHQUFHLDhHQUE4RyxDQUFDO1FBQ3pILElBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQztZQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFHLElBQUksRUFBQyxDQUFDO1NBQ2pDO2FBQUk7WUFDSixPQUFPLElBQUksQ0FBQztTQUNaO0lBQ0YsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLyoqKlxuICogXG4gKiBAZGVzY3JpcHRpb24gQ2xhc3MgQ29udGFpbnMgYWxsIGNvbW1vbiBmb3JtIHZhbGlkYXRpb24gdXNlZCBpbiB0aGUgcHJvamVjdC5cbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICovXG5leHBvcnQgY2xhc3MgQXBwVmFsaWRhdG9ycyB7XG5cbiAgc3RhdGljIGNvbmZpcm1QYXNzd29yZFZhbGlkYXRvcihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IGludmFsaWQ6IGJvb2xlYW4gfSB7XG4gICAgaWYgKGMuZ2V0KCdwYXNzd29yZCcpLnZhbHVlICE9IGMuZ2V0KCdjb25maXJtUGFzc3dvcmQnKS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHsgaW52YWxpZDogdHJ1ZSB9O1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBwYXNzd29yZEFuZENvbmZpcm1QYXNzd29yZE11c3RNYXRjaChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICBjb25zdCB7IHZhbHVlOiBwYXNzd29yZCB9ID0gZm9ybUdyb3VwLmdldCgncGFzc3dvcmQnKTtcbiAgICBjb25zdCB7IHZhbHVlOiBjb25maXJtUGFzc3dvcmQgfSA9IGZvcm1Hcm91cC5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpO1xuICAgIHJldHVybiBwYXNzd29yZCA9PT0gY29uZmlybVBhc3N3b3JkID8gbnVsbCA6IHsgcGFzc3dvcmROb3RNYXRjaDogdHJ1ZSB9O1xuICB9XG5cbiAgLy8gQGR5bmFtaWNcbiAgc3RhdGljIGNvbmZpcm1WYWxpZGF0b3IoY29udHJvbE5hbWU6IHN0cmluZywgbWF0Y2hpbmdDb250cm9sTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZnVuYyA9IChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXApID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdO1xuICAgICAgY29uc3QgbWF0Y2hpbmdDb250cm9sID0gZm9ybUdyb3VwLmNvbnRyb2xzW21hdGNoaW5nQ29udHJvbE5hbWVdO1xuICAgICAgaWYgKG1hdGNoaW5nQ29udHJvbC5lcnJvcnMgJiYgIW1hdGNoaW5nQ29udHJvbC5lcnJvcnMuY29uZmlybWVkVmFsaWRhdG9yKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChjb250cm9sLnZhbHVlICE9PSBtYXRjaGluZ0NvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgbWF0Y2hpbmdDb250cm9sLnNldEVycm9ycyh7IG5vdE1hdGNoOiB0cnVlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWF0Y2hpbmdDb250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cbiAgXG4gIC8vIEBkeW5hbWljXG4gIHN0YXRpYyBzZWxlY3RBdGxlYXN0T25lKHZhbGlkYXRvcjogVmFsaWRhdG9yRm4pIHtcbiAgICBjb25zdCBmdW5jID0gKGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgaXNBdGxlYXN0T25lUGFzc1RoZVZhbGlkYXRpb24gPSBncm91cCAmJiBncm91cC5jb250cm9scyAmJiBPYmplY3Qua2V5cyhncm91cC5jb250cm9scykuc29tZShrID0+ICF2YWxpZGF0b3IoZ3JvdXAuY29udHJvbHNba10pKTtcbiAgICAgIHJldHVybiBpc0F0bGVhc3RPbmVQYXNzVGhlVmFsaWRhdGlvbiA/IG51bGwgOiB7IHNlbGVjdEF0bGVhc3RPbmU6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cblxuICAvLyBAZHluYW1pY1xuICBzdGF0aWMgYXRMZWFzdE9uZU5vblplcm9WYWx1ZVZhbGlkYXRvcihtaW5SZXF1aXJlZDogbnVtYmVyID0gMSwgbmFtZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gdmFsaWRhdGUoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgIGxldCBub09mTm9uWmVyb1ZhbHVlcyA9IDBcbiAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmNvbnRyb2xzW2tleV1cbiAgICAgICAgbGV0IHZhbHVlID0gbmFtZSA/ICBjb250cm9sLnZhbHVlW25hbWVdIDogY29udHJvbC52YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlID4gMCkge1xuICAgICAgICAgIG5vT2ZOb25aZXJvVmFsdWVzKytcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIGlmIChub09mTm9uWmVyb1ZhbHVlcyA8IG1pblJlcXVpcmVkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWQ6IHRydWUsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG5cbiAgLy8gQGR5bmFtaWNcbiAgc3RhdGljIHJlcXVpcmVkSWZWYWxpZGF0b3IocHJlZGljYXRlKSB7XG4gICAgY29uc3QgZnVuYyA9IChmb3JtQ29udHJvbCA9PiB7XG4gICAgICBpZiAoIWZvcm1Db250cm9sLnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZWRpY2F0ZSgpID09PSAnMScgfHwgcHJlZGljYXRlKCkgPT09ICd0cnVlJyB8fCBwcmVkaWNhdGUoKSkge1xuICAgICAgICByZXR1cm4gVmFsaWRhdG9ycy5yZXF1aXJlZChmb3JtQ29udHJvbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KVxuICAgIHJldHVybiBmdW5jO1xuICB9XG5cbiAgLyoqXG4gICAqIFxuICAgKiBAcGFyYW0gcmVnZXggUmVndWxhciBFeHByZXNzaW9uIGFnYWluc3Qgd2hpY2ggdmFsdWUgbmVlZHMgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEBwYXJhbSBlcnJvciBFcnJvciB3aGljaCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSB2YWxpZGF0aW9uIGZhaWxzXG4gICAqIFxuICAgKiBAZGVzY3JpcHRpb24gRm9ybSB2YWxpZGF0b3IgdG8gdmFsaWRhdGUgY29udHJvbCB2YWx1ZSBhZ2FpbnN0IGEgcmVndWxhciBleHByZXNzaW9uXG4gICAqIFxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAgICovXG4gICBzdGF0aWMgbWF0Y2gocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgZnVuYyA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgLy8gdGVzdCB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgYWdhaW5zdCB0aGUgcmVnZXhwIHN1cHBsaWVkXG4gICAgICBjb25zdCB2YWxpZCA9IHJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSk7XG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XG4gICAgfTtcbiAgICByZXR1cm4gZnVuYztcbiAgfVxuXG4gICAgLyoqKlxuICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIHRoZSBlbnRlcmVkIHJvdXRpbmcgbnVtYmVyIGlzIHZhbGlkIG9yIG5vdCBhcyBwZXIgZm9sbG93aW5nIGxvZ2ljXG4gICAgKiBcbiAgICAqICgzICogKGQxICsgZDQgKyBkNykgKyA3ICogKGQyICsgZDUgKyBkOCkgKyAxICogKGQzICsgZDYgKyBkOSkgKSBtb2QgMTAgPSAwXG4gICAgKiBcbiAgICAqICBUaGlzIGZvcm11bGEgaXMgdGFrZW4gZnJvbSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb3V0aW5nX3RyYW5zaXRfbnVtYmVyI01JQ1JfUm91dGluZ19udW1iZXJfZm9ybWF0XG4gICAgKi9cbiAgc3RhdGljIGlzVmFsaWRSb3V0aW5nTnVtYmVyKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgbGV0IHJvdXRpbmdOdW1iZXIgPSBjb250cm9sLnZhbHVlO1xuICAgIGxldCBzdW0gPSAwLCBtb2QgPSAwO1xuICAgIGxldCByb3V0aW5nTnVtYmVyQXJyID0gKHJvdXRpbmdOdW1iZXIgKyBcIlwiKS5zcGxpdChcIlwiKTtcbiAgICBsZXQgc3VtMSA9IDMgKiAocGFyc2VJbnQocm91dGluZ051bWJlckFyclswXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzNdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbNl0pKTtcbiAgICBsZXQgc3VtMiA9IDcgKiAocGFyc2VJbnQocm91dGluZ051bWJlckFyclsxXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzRdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbN10pKTtcbiAgICBsZXQgc3VtMyA9IDEgKiAocGFyc2VJbnQocm91dGluZ051bWJlckFyclsyXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzVdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbOF0pKTtcblxuICAgIHN1bSA9IHN1bTEgKyBzdW0yICsgc3VtMztcbiAgICBtb2QgPSBzdW0gJSAxMDtcblxuICAgIGlmICghKG1vZCA9PSAwKSkge1xuICAgICAgcmV0dXJuIHsgaXNSb3V0aW5nTnVtYmVyTm90VmFsaWQ6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3RhdGljIGlzVmFsaWRaaXBDb2RlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfXtcbiAgICBpZihjb250cm9sLnZhbHVlICE9IG51bGwgJiYgIUFwcFZhbGlkYXRvcnMuaXNOdW1iZXIoY29udHJvbC52YWx1ZSkpe1xuICAgICAgcmV0dXJuIHtpbnZhbGlkTnVtYmVyIDogdHJ1ZX07XG4gICAgfWVsc2UgaWYoY29udHJvbC52YWx1ZSAhPSBudWxsICYmIChjb250cm9sLnZhbHVlLmxlbmd0aCA9PSA1IHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoID09IDkpKXtcbiAgICAgIC8vZG8gbm90aGluZ1xuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIHtpbnZhbGlkTGVuZ3RoIDogdHJ1ZX07XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGlzVmFsaWRDYW5hZGlhblppcENvZGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBbczogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICBpZighQXBwVmFsaWRhdG9ycy5pc0NhbmFkYVppcENvZGUoY29udHJvbC52YWx1ZSkpe1xuICAgICAgcmV0dXJuIHtpbnZhbGlkWmlwQ29kZSA6IHRydWV9O1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpc0NhbmFkYVppcENvZGUoc3RyaW5nKSB7XG4gICAgdmFyIHJlZyA9IC9eW0FCQ0VHSEotTlBSU1RWWFldXFxkW0FCQ0VHSEotTlBSU1RWLVpdWyAtXT9cXGRbQUJDRUdISi1OUFJTVFYtWl1cXGQkL2k7XG4gICAgcmV0dXJuIHJlZy50ZXN0KHN0cmluZyk7XG4gIH1cblxuICBzdGF0aWMgaXNOdW1iZXIobnVtYmVyKSB7XG4gICAgdmFyIHJlZyA9IG5ldyBSZWdFeHAoXCJeWzAtOV0qJFwiKTsgXG4gICAgcmV0dXJuIHJlZy50ZXN0KG51bWJlcik7XG4gIH1cblxuICBzdGF0aWMgaXNCZXR3ZWVuKGZyb20gOiBEYXRlLCB0bzogRGF0ZSkgOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGxldCB3c0RhdGUgPSBjb250cm9sLnZhbHVlO1xuICAgICAgaWYod3NEYXRlLmdldFRpbWUoKSA8IGZyb20uZ2V0VGltZSgpIHx8IHdzRGF0ZS5nZXRUaW1lKCkgPiB0by5nZXRUaW1lKCkpe1xuICAgICAgICByZXR1cm4ge2RhdGVOb3RCZXR3ZWVuIDogdHJ1ZX07XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBpc0JldHdlZW5EYXRlKGZyb206IERhdGUsIHRvOkRhdGUpIDogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBsZXQgd3NEYXRlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGlmKHdzRGF0ZSA8IGZyb20gfHwgd3NEYXRlID4gdG8pe1xuICAgICAgICByZXR1cm4ge2RhdGVOb3RCZXR3ZWVuIDogdHJ1ZX07XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBlcXVhbChtYXRjaGluZ0NvbnRyb2xOYW1lOiBzdHJpbmcsIGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgbGV0IG1hdGNoaW5nQ29udHJvbDogQWJzdHJhY3RDb250cm9sID0gY29udHJvbC5wYXJlbnQuZ2V0KG1hdGNoaW5nQ29udHJvbE5hbWUpO1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFtYXRjaGluZ0NvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbGlkID0gKGNvbnRyb2wudmFsdWUgPT09IG1hdGNoaW5nQ29udHJvbC52YWx1ZSk7XG5cbiAgICAgIC8vIGlmIHRydWUsIHJldHVybiBubyBlcnJvciAobm8gZXJyb3IpLCBlbHNlIHJldHVybiBlcnJvciBwYXNzZWQgaW4gdGhlIHNlY29uZCBwYXJhbWV0ZXJcbiAgICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiBlcnJvcjtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFxuICAgKiBAcGFyYW0gbWF0Y2hpbmdDb250cm9sTmFtZSBGb3JtIGNvbnRyb2wgbmFtZSBhZ2FpbnN0IHdoaWNoIGN1cnJlbnQgZm9ybSBjb250cm9sIHZhbHVlIHNob3VsZCBiZSBtYXRjaGVkXG4gICAqIEBwYXJhbSBlcnJvciBFcnJvciB3aGljaCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSB2YWxpZGF0aW9uIGZhaWxzXG4gICAqIFxuICAgKiBAZGVzY3JpcHRpb24gRm9ybSB2YWxpZGF0b3IgdG8gdmFsaWRhdGUgY29udHJvbCB2YWx1ZSBhZ2FpbnN0IGEgb3RoZXIgY29udHJvbCB2YWx1ZVxuICAgKiBcbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICAqL1xuICBzdGF0aWMgbm90RXF1YWwobWF0Y2hpbmdDb250cm9sTmFtZTogc3RyaW5nLCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGxldCBtYXRjaGluZ0NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChtYXRjaGluZ0NvbnRyb2xOYW1lKTtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XG4gICAgICAgIC8vIGlmIGNvbnRyb2wgaXMgZW1wdHkgcmV0dXJuIG5vIGVycm9yXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWxpZCA9IChjb250cm9sLnZhbHVlICE9PSBtYXRjaGluZ0NvbnRyb2wudmFsdWUpO1xuXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBpc0FmdGVyKGZpcnN0IDogRGF0ZSkgIHtcbiAgICBcbiAgICAvL3JldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogIFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH09PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBsZXQgd3NEYXRlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIC8vZmlyc3QgPSBuZXcgRGF0ZSgnMDEtMDEtMTk3MCAwMDowMzo0NCcpO1xuICAgICAgaWYod3NEYXRlLmdldERhdGUoKSA+IGZpcnN0LmdldERhdGUoKSl7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiZGF0ZUFmdGVyIDogdHJ1ZVwiKVxuICAgICAgICByZXR1cm4ge2RhdGVBZnRlciA6IGZhbHNlfTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0ZUFmdGVyIDogZmFsc2VcIilcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIHRlc3QoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfXwgbnVsbCAge1xuXG4gICAgY29uc3QgdGVzdENvbnN0OnN0cmluZyA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKHRlc3RDb25zdCA9PT0gXCJoaVwiKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtub21hdGNoIDogdHJ1ZX1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgYXJlQWxsRGlnaXRzU2FtZShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RyLnNwbGl0KCcnKS5ldmVyeShjID0+IGMgPT09IHN0clswXSk7XG59XG5cbiAgc3RhdGljIGFtb3VudExlc3NUaGFuT25lKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgbGV0IHZhbCA9IE51bWJlci5wYXJzZUZsb2F0KGNvbnRyb2wudmFsdWUpO1xuICAgIGlmICh2YWwgPCAxLjAwKSB7XG4gICAgICByZXR1cm4geyBwYXlBbW91bnRMZXNzVGhhbk9uZTogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgLyoqKlxuICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIHRoZSBlbnRlcmVkIGNpdHkgaGFzIGxlbmd0aDw9MzBcbiAgICAqL1xuICBzdGF0aWMgaXNWYWxpZFdzQ2l0eShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtzOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGlmIChjb250cm9sLnZhbHVlICE9IG51bGwgJiYgKGNvbnRyb2wudmFsdWUubGVuZ3RoIDw9IDMwKSkge1xuICAgICAgLy9kbyBub3RoaW5nXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IGludmFsaWR3c0NpdHlMZW5ndGg6IHRydWUgfTtcbiAgICB9XG4gIH0gXG5cbiAgc3RhdGljIGlzRXF1YWwodmFsdWUpIDogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZih2YWx1ZSAhPSBjb250cm9sLnZhbHVlKXtcbiAgICAgICAgcmV0dXJuIHtub3RFcXVhbCA6IHRydWV9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGlzVmFsaWRXZWJzaXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICB2YXIgcmVnID0gL14oaHR0cHM/OlxcL1xcL3xmdHA6XFwvXFwvKT8od3d3XFwuKT8oW2EtekEtWjAtOV0rKFtcXC1cXC5dezF9W2EtejAtOV0rKSpcXC5bYS16XXsyLDZ9KShcXC9bYS16QS1aMC05I1xcLz89JiUuXFwtXSopPyQvaTtcbiAgICBpZihjb250cm9sLnZhbHVlICE9IG51bGwgJiYgIXJlZy50ZXN0KGNvbnRyb2wudmFsdWUpKXtcbiAgICAgIHJldHVybiB7aW52YWxpZFdlYnNpdGUgOiB0cnVlfTtcbiAgIH1lbHNle1xuICAgIHJldHVybiBudWxsO1xuICAgfVxuICB9XG4gIFxufSJdfQ==
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwVmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDeEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBa0I7UUFDdEMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQzFELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEVBQUMsY0FBYyxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBa0I7UUFDaEQsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxFQUFFO1lBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLFNBQTJCO1FBQ3BFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxPQUFPLFFBQVEsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFD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QixDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDdkU7Z0JBRUQsbUVBQW1FO2dCQUNuRSxJQUFJLENBQUMsWUFBWSxJQUFJLFlBQVksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxLQUFLLENBQUMsRUFBRTtvQkFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDO2lCQUNuQzthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG4vKioqXHJcbiAqIFxyXG4gKiBAZGVzY3JpcHRpb24gQ2xhc3MgQ29udGFpbnMgYWxsIGNvbW1vbiBmb3JtIHZhbGlkYXRpb24gdXNlZCBpbiB0aGUgcHJvamVjdC5cclxuICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQXBwVmFsaWRhdG9ycyB7XHJcbiAgLyoqXHJcbiAgICogY2hlY2tzIGlmIHN0YXRlIGZpZWxkIGhhcyBhIHZhbHVlIG90aGVyIHRoYW4gS1NcclxuICAgKiBAcGFyYW0gYyBjb250cm9sXHJcbiAgICogQHJldHVybnMge3JlcXVpcmVkS2Fuc2FzOiBib29sZWFufVxyXG4gICAqL1xyXG4gIHN0YXRpYyByZXF1aXJlZEthbnNhcyhjOiBBYnN0cmFjdENvbnRyb2wpOiB7cmVxdWlyZWRLYW5zYXM6IGJvb2xlYW59IHtcclxuICAgIGlmIChjLnZhbHVlPy52YWx1ZSA9PSB1bmRlZmluZWQgfHwgYy52YWx1ZT8udmFsdWUgPT09ICdLUycpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge3JlcXVpcmVkS2Fuc2FzOiB0cnVlfTtcclxuICB9XHJcbiAgc3RhdGljIGNvbmZpcm1QYXNzd29yZFZhbGlkYXRvcihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IGludmFsaWQ6IGJvb2xlYW4gfSB7XHJcbiAgICBpZiAoYy5nZXQoJ3Bhc3N3b3JkJykudmFsdWUgIT0gYy5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpLnZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB7IGludmFsaWQ6IHRydWUgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYXNzd29yZEFuZENvbmZpcm1QYXNzd29yZE11c3RNYXRjaChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgIGNvbnN0IHsgdmFsdWU6IHBhc3N3b3JkIH0gPSBmb3JtR3JvdXAuZ2V0KCdwYXNzd29yZCcpO1xyXG4gICAgY29uc3QgeyB2YWx1ZTogY29uZmlybVBhc3N3b3JkIH0gPSBmb3JtR3JvdXAuZ2V0KCdjb25maXJtUGFzc3dvcmQnKTtcclxuICAgIHJldHVybiBwYXNzd29yZCA9PT0gY29uZmlybVBhc3N3b3JkID8gbnVsbCA6IHsgcGFzc3dvcmROb3RNYXRjaDogdHJ1ZSB9O1xyXG4gIH1cclxuXHJcbiAgLy8gQGR5bmFtaWNcclxuICBzdGF0aWMgY29uZmlybVZhbGlkYXRvcihjb250cm9sTmFtZTogc3RyaW5nLCBtYXRjaGluZ0NvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdO1xyXG4gICAgICBjb25zdCBtYXRjaGluZ0NvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNbbWF0Y2hpbmdDb250cm9sTmFtZV07XHJcbiAgICAgIGlmIChtYXRjaGluZ0NvbnRyb2wuZXJyb3JzICYmICFtYXRjaGluZ0NvbnRyb2wuZXJyb3JzLmNvbmZpcm1lZFZhbGlkYXRvcikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29udHJvbC52YWx1ZSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgbWF0Y2hpbmdDb250cm9sLnNldEVycm9ycyh7IG5vdE1hdGNoOiB0cnVlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG1hdGNoaW5nQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmdW5jO1xyXG4gIH1cclxuICBcclxuICAvLyBAZHluYW1pY1xyXG4gIHN0YXRpYyBzZWxlY3RBdGxlYXN0T25lKHZhbGlkYXRvcjogVmFsaWRhdG9yRm4pIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IGlzQXRsZWFzdE9uZVBhc3NUaGVWYWxpZGF0aW9uID0gZ3JvdXAgJiYgZ3JvdXAuY29udHJvbHMgJiYgT2JqZWN0LmtleXMoZ3JvdXAuY29udHJvbHMpLnNvbWUoayA9PiAhdmFsaWRhdG9yKGdyb3VwLmNvbnRyb2xzW2tdKSk7XHJcbiAgICAgIHJldHVybiBpc0F0bGVhc3RPbmVQYXNzVGhlVmFsaWRhdGlvbiA/IG51bGwgOiB7IHNlbGVjdEF0bGVhc3RPbmU6IHRydWUgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBmdW5jO1xyXG4gIH1cclxuXHJcbiAgLy8gQGR5bmFtaWNcclxuICBzdGF0aWMgYXRMZWFzdE9uZU5vblplcm9WYWx1ZVZhbGlkYXRvcihtaW5SZXF1aXJlZDogbnVtYmVyID0gMSwgbmFtZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiB2YWxpZGF0ZShmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgICBsZXQgbm9PZk5vblplcm9WYWx1ZXMgPSAwXHJcbiAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNba2V5XVxyXG4gICAgICAgIGxldCB2YWx1ZSA9IG5hbWUgPyAgY29udHJvbC52YWx1ZVtuYW1lXSA6IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlID4gMCkge1xyXG4gICAgICAgICAgbm9PZk5vblplcm9WYWx1ZXMrK1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgaWYgKG5vT2ZOb25aZXJvVmFsdWVzIDwgbWluUmVxdWlyZWQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgcmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWQ6IHRydWUsXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsXHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEBkeW5hbWljXHJcbiAgc3RhdGljIHJlcXVpcmVkSWZWYWxpZGF0b3IocHJlZGljYXRlKSB7XHJcbiAgICByZXR1cm4gKGZvcm1Db250cm9sKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgaWYgKCFmb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcmVkaWNhdGUoKSkge1xyXG4gICAgICAgICAgY29uc3QgdmFsID0gZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAvLyBDaGVjayBmb3IgbnVsbCwgdW5kZWZpbmVkLCBvciBlbXB0eSBzdHJpbmdcclxuICAgICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgfHwgdmFsID09PSAnJykge1xyXG4gICAgICAgICAgICByZXR1cm4geyByZXF1aXJlZDogJ3JlcXVpcmVkJyB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaChlKXtcclxuICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHJlZ2V4IFJlZ3VsYXIgRXhwcmVzc2lvbiBhZ2FpbnN0IHdoaWNoIHZhbHVlIG5lZWRzIHRvIGJlIHZhbGlkYXRlZFxyXG4gICAqIEBwYXJhbSBlcnJvciBFcnJvciB3aGljaCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSB2YWxpZGF0aW9uIGZhaWxzXHJcbiAgICogXHJcbiAgICogQGRlc2NyaXB0aW9uIEZvcm0gdmFsaWRhdG9yIHRvIHZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgYWdhaW5zdCBhIHJlZ3VsYXIgZXhwcmVzc2lvblxyXG4gICAqIFxyXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICAqL1xyXG4gICBzdGF0aWMgbWF0Y2gocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCBmdW5jID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB0ZXN0IHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbCBhZ2FpbnN0IHRoZSByZWdleHAgc3VwcGxpZWRcclxuICAgICAgY29uc3QgdmFsaWQgPSByZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXHJcbiAgICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiBlcnJvcjtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZnVuYztcclxuICB9XHJcblxyXG4gICAgLyoqKlxyXG4gICAgKiBUaGlzIG1ldGhvZCBjaGVja3MgaWYgdGhlIGVudGVyZWQgcm91dGluZyBudW1iZXIgaXMgdmFsaWQgb3Igbm90IGFzIHBlciBmb2xsb3dpbmcgbG9naWNcclxuICAgICogXHJcbiAgICAqICgzICogKGQxICsgZDQgKyBkNykgKyA3ICogKGQyICsgZDUgKyBkOCkgKyAxICogKGQzICsgZDYgKyBkOSkgKSBtb2QgMTAgPSAwXHJcbiAgICAqIFxyXG4gICAgKiAgVGhpcyBmb3JtdWxhIGlzIHRha2VuIGZyb20gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUm91dGluZ190cmFuc2l0X251bWJlciNNSUNSX1JvdXRpbmdfbnVtYmVyX2Zvcm1hdFxyXG4gICAgKi9cclxuICBzdGF0aWMgaXNWYWxpZFJvdXRpbmdOdW1iZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBbczogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuICAgIGxldCByb3V0aW5nTnVtYmVyID0gY29udHJvbC52YWx1ZTtcclxuICAgIGxldCBzdW0gPSAwLCBtb2QgPSAwO1xyXG4gICAgbGV0IHJvdXRpbmdOdW1iZXJBcnIgPSAocm91dGluZ051bWJlciArIFwiXCIpLnNwbGl0KFwiXCIpO1xyXG4gICAgbGV0IHN1bTEgPSAzICogKHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbMF0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFyclszXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzZdKSk7XHJcbiAgICBsZXQgc3VtMiA9IDcgKiAocGFyc2VJbnQocm91dGluZ051bWJlckFyclsxXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzRdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbN10pKTtcclxuICAgIGxldCBzdW0zID0gMSAqIChwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzJdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbNV0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFycls4XSkpO1xyXG5cclxuICAgIHN1bSA9IHN1bTEgKyBzdW0yICsgc3VtMztcclxuICAgIG1vZCA9IHN1bSAlIDEwO1xyXG5cclxuICAgIGlmICghKG1vZCA9PSAwKSkge1xyXG4gICAgICByZXR1cm4geyBpc1JvdXRpbmdOdW1iZXJOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgc3RhdGljIGlzVmFsaWRMZW5ndGhSb3V0aW5nTnVtYmVyKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfXtcclxuICAgIGRlYnVnZ2VyO1xyXG4gICBpZihjb250cm9sLnZhbHVlICE9IG51bGwgJiYgKGNvbnRyb2wudmFsdWUubGVuZ3RoICE9IDkpKXtcclxuICAgICAgcmV0dXJuIHtpbnZhbGlkTGVuZ3RoUm91dGluZyA6IHRydWV9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzVmFsaWRaaXBDb2RlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfXtcclxuICAgIGlmKGNvbnRyb2wudmFsdWUgIT0gbnVsbCAmJiAhQXBwVmFsaWRhdG9ycy5pc051bWJlcihjb250cm9sLnZhbHVlKSl7XHJcbiAgICAgIHJldHVybiB7aW52YWxpZE51bWJlciA6IHRydWV9O1xyXG4gICAgfWVsc2UgaWYoY29udHJvbC52YWx1ZSAhPSBudWxsICYmIChjb250cm9sLnZhbHVlLmxlbmd0aCA9PSA1IHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoID09IDkpKXtcclxuICAgICAgLy9kbyBub3RoaW5nXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHtpbnZhbGlkTGVuZ3RoIDogdHJ1ZX07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNWYWxpZENhbmFkaWFuWmlwQ29kZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtzOiBzdHJpbmddOiBib29sZWFuIH0ge1xyXG4gICAgaWYoIUFwcFZhbGlkYXRvcnMuaXNDYW5hZGFaaXBDb2RlKGNvbnRyb2wudmFsdWUpKXtcclxuICAgICAgcmV0dXJuIHtpbnZhbGlkWmlwQ29kZSA6IHRydWV9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzQ2FuYWRhWmlwQ29kZShzdHJpbmcpIHtcclxuICAgIHZhciByZWcgPSAvXltBQkNFR0hKLU5QUlNUVlhZXVxcZFtBQkNFR0hKLU5QUlNUVi1aXVsgLV0/XFxkW0FCQ0VHSEotTlBSU1RWLVpdXFxkJC9pO1xyXG4gICAgcmV0dXJuIHJlZy50ZXN0KHN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNOdW1iZXIobnVtYmVyKSB7XHJcbiAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cChcIl5bMC05XSokXCIpOyBcclxuICAgIHJldHVybiByZWcudGVzdChudW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzQmV0d2Vlbihmcm9tIDogRGF0ZSwgdG86IERhdGUpIDogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgd3NEYXRlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgaWYod3NEYXRlLmdldFRpbWUoKSA8IGZyb20uZ2V0VGltZSgpIHx8IHdzRGF0ZS5nZXRUaW1lKCkgPiB0by5nZXRUaW1lKCkpe1xyXG4gICAgICAgIHJldHVybiB7ZGF0ZU5vdEJldHdlZW4gOiB0cnVlfTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBlcXVhbChtYXRjaGluZ0NvbnRyb2xOYW1lOiBzdHJpbmcsIGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBtYXRjaGluZ0NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChtYXRjaGluZ0NvbnRyb2xOYW1lKTtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFtYXRjaGluZ0NvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCB2YWxpZCA9IChjb250cm9sLnZhbHVlID09PSBtYXRjaGluZ0NvbnRyb2wudmFsdWUpO1xyXG5cclxuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG1hdGNoaW5nQ29udHJvbE5hbWUgRm9ybSBjb250cm9sIG5hbWUgYWdhaW5zdCB3aGljaCBjdXJyZW50IGZvcm0gY29udHJvbCB2YWx1ZSBzaG91bGQgYmUgbWF0Y2hlZFxyXG4gICAqIEBwYXJhbSBlcnJvciBFcnJvciB3aGljaCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSB2YWxpZGF0aW9uIGZhaWxzXHJcbiAgICogXHJcbiAgICogQGRlc2NyaXB0aW9uIEZvcm0gdmFsaWRhdG9yIHRvIHZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgYWdhaW5zdCBhIG90aGVyIGNvbnRyb2wgdmFsdWVcclxuICAgKiBcclxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAgKi9cclxuICBzdGF0aWMgbm90RXF1YWwobWF0Y2hpbmdDb250cm9sTmFtZTogc3RyaW5nLCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbWF0Y2hpbmdDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQobWF0Y2hpbmdDb250cm9sTmFtZSk7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdmFsaWQgPSAoY29udHJvbC52YWx1ZSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKTtcclxuXHJcbiAgICAgIC8vIGlmIHRydWUsIHJldHVybiBubyBlcnJvciAobm8gZXJyb3IpLCBlbHNlIHJldHVybiBlcnJvciBwYXNzZWQgaW4gdGhlIHNlY29uZCBwYXJhbWV0ZXJcclxuICAgICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IGVycm9yO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB3ZWVrc3RhcnQgYW5kIHdlZWtFbmQgZGF0ZVxyXG4gICAqIEBwYXJhbSBlcnJvciBlYXJuaW5nc1JlcXVpcmVkIGVycm9yIHdoaWNoIHNob3VsZCBiZSByZXR1cm5lZCBpbiBjYXNlIHZhbGlkYXRpb24gZmFpbHNcclxuICAgKiBcclxuICAgKiBAZGVzY3JpcHRpb24gRm9ybSB2YWxpZGF0b3IgdG8gdmFsaWRhdGUgZWFybmluZ3MgYW5kIGhvdXJzIHdvcmtlZCBpcyBhdmFsaWJsZSBpZiBsZHcgZmFsbHMgd2l0aGluIHRoZSB3ZWVrIG9mIGZpbGxpbmdcclxuICAgKiBcclxuICAgKiBAYXV0aG9yIFN0ZWV2YW4gTWFjd2FuXHJcbiAgICovXHJcbiAgc3RhdGljIHJlcXVpcmVFYXJuaW5nc0lmV29ya2VkKHN1bkRhdGU6IERhdGUsIHNhdERhdGU6IERhdGUpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGdyb3VwOiBGb3JtR3JvdXApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IGxhc3REYXlXb3JrZWQ6IERhdGUgPSBncm91cC5nZXQoJ2xhc3REYXlXb3JrZWQnKT8udmFsdWU7XHJcbiAgICAgIGNvbnN0IGdyb3NzRWFybmluZzogbnVtYmVyID0gZ3JvdXAuZ2V0KCdncm9zc0Vhcm5pbmcnKT8udmFsdWU7XHJcbiAgICAgIGNvbnN0IGhvdXJzV29ya2VkOiBudW1iZXIgPSBncm91cC5nZXQoJ2hvdXJzV29ya2VkSW5XZWVrJyk/LnZhbHVlO1xyXG5cclxuICAgICAgLy8gU2tpcCBpZiBsYXN0RGF5V29ya2VkIGlzIG1pc3NpbmdcclxuICAgICAgaWYgKCFsYXN0RGF5V29ya2VkKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGxhc3REYXkgPSBsYXN0RGF5V29ya2VkIGluc3RhbmNlb2YgRGF0ZSA/IGxhc3REYXlXb3JrZWQgOiBuZXcgRGF0ZShsYXN0RGF5V29ya2VkKTtcclxuXHJcbiAgICAgIC8vIENoZWNrIGlmIGxhc3REYXlXb3JrZWQgZmFsbHMgd2l0aGluIHRoZSB3ZWVrXHJcbiAgICAgIGlmIChsYXN0RGF5ID49IHN1bkRhdGUgJiYgbGFzdERheSA8PSBzYXREYXRlKSB7XHJcbiAgICAgICAgaWYgKCFncm9zc0Vhcm5pbmcgfHwgZ3Jvc3NFYXJuaW5nID09PSAwKSB7XHJcbiAgICAgICAgICBncm91cC5nZXQoJ2dyb3NzRWFybmluZycpPy5zZXRFcnJvcnMoeyBlYXJuaW5nc1JlcXVpcmVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWhvdXJzV29ya2VkIHx8IGhvdXJzV29ya2VkID09PSAwKSB7XHJcbiAgICAgICAgICBncm91cC5nZXQoJ2hvdXJzV29ya2VkSW5XZWVrJyk/LnNldEVycm9ycyh7IGVhcm5pbmdzUmVxdWlyZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBJZiB3b3JrIHdhcyBwZXJmb3JtZWQgYnV0IGdyb3NzRWFybmluZyBvciBob3Vyc1dvcmtlZCBpcyBtaXNzaW5nXHJcbiAgICAgICAgaWYgKCFncm9zc0Vhcm5pbmcgfHwgZ3Jvc3NFYXJuaW5nID09PSAwIHx8ICFob3Vyc1dvcmtlZCB8fCBob3Vyc1dvcmtlZCA9PT0gMCkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgZWFybmluZ3NSZXF1aXJlZDogdHJ1ZSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
|