@ksremp/ngx-ksremp-app-lib 1.0.0
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/README.md +46 -0
- package/esm2022/ksremp-ngx-ksremp-app-lib.mjs +5 -0
- package/esm2022/lib/annimations/app-animations.mjs +37 -0
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +2655 -0
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +399 -0
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +201 -0
- package/esm2022/lib/components/address/address.component.mjs +565 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +416 -0
- package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
- package/esm2022/lib/components/card/card.component.mjs +55 -0
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +984 -0
- package/esm2022/lib/components/content/content.component.mjs +61 -0
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +89 -0
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +301 -0
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
- package/esm2022/lib/components/email-update/email-update.component.mjs +376 -0
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +1102 -0
- package/esm2022/lib/components/error/error.component.mjs +86 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
- package/esm2022/lib/components/file-download/file-download.component.mjs +104 -0
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
- package/esm2022/lib/components/footer/footer.component.mjs +350 -0
- package/esm2022/lib/components/header/header.component.mjs +535 -0
- package/esm2022/lib/components/help/help.component.mjs +49 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +76 -0
- package/esm2022/lib/components/info/info.component.mjs +187 -0
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +212 -0
- package/esm2022/lib/components/job-title/job-title.component.mjs +162 -0
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +617 -0
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
- package/esm2022/lib/components/link/link.component.mjs +131 -0
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
- package/esm2022/lib/components/mask/mask.component.mjs +48 -0
- package/esm2022/lib/components/menu/menu.component.mjs +452 -0
- package/esm2022/lib/components/mfa/mfa.component.mjs +574 -0
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +57 -0
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +98 -0
- package/esm2022/lib/components/msg/msg.component.mjs +48 -0
- package/esm2022/lib/components/news/news.component.mjs +90 -0
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
- package/esm2022/lib/components/page/page.component.mjs +136 -0
- package/esm2022/lib/components/profile/profile.component.mjs +505 -0
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +70 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +541 -0
- package/esm2022/lib/components/questionnaire/FbConstants.mjs +8 -0
- package/esm2022/lib/components/questionnaire/SelectItem.mjs +2 -0
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +310 -0
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +528 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1115 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +2521 -0
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1788 -0
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +256 -0
- package/esm2022/lib/components/questionnaire/input-focus.directive.mjs +44 -0
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +255 -0
- package/esm2022/lib/components/questionnaire/question-base.mjs +3 -0
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +408 -0
- package/esm2022/lib/components/questionnaire/question.service.mjs +33 -0
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +282 -0
- package/esm2022/lib/components/read-more/read-more.component.mjs +72 -0
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +132 -0
- package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
- package/esm2022/lib/components/select/select.component.mjs +159 -0
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +141 -0
- package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +171 -0
- package/esm2022/lib/components/test/test.component.mjs +19 -0
- package/esm2022/lib/components/user-login/user-login.component.mjs +619 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +772 -0
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +356 -0
- package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +31 -0
- package/esm2022/lib/directives/caps-lock.directive.mjs +38 -0
- package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +30 -0
- package/esm2022/lib/enums/EmailStatusEnum.mjs +9 -0
- package/esm2022/lib/guards/auth.guard.mjs +138 -0
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -0
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -0
- package/esm2022/lib/models/AddressComponentModel.mjs +3 -0
- package/esm2022/lib/models/BankDetailsComponentModel.mjs +3 -0
- package/esm2022/lib/models/BankDetailsModel.mjs +3 -0
- package/esm2022/lib/models/CinRequalificationCriteriaModel.mjs +3 -0
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +6 -0
- package/esm2022/lib/models/ErrorModel.mjs +6 -0
- package/esm2022/lib/models/FileModel.mjs +2 -0
- 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 +132 -0
- package/esm2022/lib/models/NewsAndAnnouncementModel.mjs +3 -0
- package/esm2022/lib/models/NotificationModel.mjs +6 -0
- package/esm2022/lib/models/OtpAuthModel.mjs +3 -0
- package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
- package/esm2022/lib/models/PaymentComponentModel.mjs +2 -0
- package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
- package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
- package/esm2022/lib/models/SsaVerificationModel.mjs +3 -0
- package/esm2022/lib/models/TrendModel.mjs +3 -0
- package/esm2022/lib/models/UserDetailsModel.mjs +3 -0
- package/esm2022/lib/models/UserModel.mjs +6 -0
- package/esm2022/lib/models/case/CaseAttachmentModel.mjs +3 -0
- package/esm2022/lib/models/claimant/ClaimantModel.mjs +3 -0
- package/esm2022/lib/models/claimant/JobResultsData.mjs +3 -0
- package/esm2022/lib/models/claimant/MatchingJobs.mjs +3 -0
- package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +3 -0
- package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
- package/esm2022/lib/models/cmp/ComplaintCategoryModel.mjs +3 -0
- package/esm2022/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -0
- package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
- package/esm2022/lib/models/cmp/EmailTemplateModel.mjs +3 -0
- package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
- package/esm2022/lib/models/cmp/messageRourceModel.mjs +3 -0
- package/esm2022/lib/models/dashboard-model.mjs +3 -0
- package/esm2022/lib/models/dependent.model.mjs +8 -0
- package/esm2022/lib/models/questionnaire/AutocoderModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +8 -0
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +6 -0
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +1010 -0
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +8 -0
- package/esm2022/lib/models/questionnaire/EmployerDetailSearchResult.mjs +3 -0
- package/esm2022/lib/models/questionnaire/EmployerWagesModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/FBConfigModel.mjs +6 -0
- package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/LoaderModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/PollingStatusModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/QuestionnaireQueryModel.mjs +8 -0
- package/esm2022/lib/models/questionnaire/QuestionnaireReturnModel.mjs +11 -0
- package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
- package/esm2022/lib/models/questionnaire/SuccessPageElement.mjs +3 -0
- package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/ValidationModel.mjs +3 -0
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +410 -0
- package/esm2022/lib/ngx-reusa-app-lib.service.mjs +14 -0
- package/esm2022/lib/pages/BasePage.mjs +98 -0
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +77 -0
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +471 -0
- package/esm2022/lib/pages/common/landing/landing.component.mjs +209 -0
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
- package/esm2022/lib/pages/common/login/login.component.mjs +533 -0
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
- package/esm2022/lib/pages/popovers/language/language.page.mjs +62 -0
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
- package/esm2022/lib/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +23 -0
- package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +27 -0
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -0
- package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +20 -0
- package/esm2022/lib/services/base-service.mjs +50 -0
- package/esm2022/lib/services/captcha/captcha.service.mjs +46 -0
- package/esm2022/lib/services/case-service/case.service.mjs +47 -0
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +258 -0
- package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
- package/esm2022/lib/services/claimant/claimant.service.mjs +31 -0
- package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +62 -0
- package/esm2022/lib/services/claims/claims.service.mjs +102 -0
- package/esm2022/lib/services/cmp-service/cmp.service.mjs +84 -0
- package/esm2022/lib/services/dms-service/dms.service.mjs +60 -0
- package/esm2022/lib/services/fpjs/fingerprint.service.mjs +70 -0
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +29 -0
- package/esm2022/lib/services/help/help.service.mjs +63 -0
- package/esm2022/lib/services/idle/idle.service.mjs +159 -0
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
- package/esm2022/lib/services/logger/logger.service.mjs +67 -0
- package/esm2022/lib/services/login/login.service.mjs +343 -0
- package/esm2022/lib/services/maintenance/maintenance.service.mjs +21 -0
- package/esm2022/lib/services/notification/notification.service.mjs +113 -0
- package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +69 -0
- package/esm2022/lib/services/questionnaire/validation.service.mjs +59 -0
- package/esm2022/lib/services/security-service/security.service.mjs +42 -0
- package/esm2022/lib/services/tour/tour.service.mjs +60 -0
- package/esm2022/lib/services/util/util.service.mjs +450 -0
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +42 -0
- package/esm2022/lib/validations/AppRegex.mjs +51 -0
- package/esm2022/lib/validations/AppValidators.mjs +253 -0
- package/esm2022/public-api.mjs +138 -0
- package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs +33786 -0
- package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/ksremp-ngx-ksremp-app-lib.d.ts.map +1 -0
- package/lib/annimations/app-animations.d.ts +4 -0
- package/lib/annimations/app-animations.d.ts.map +1 -0
- package/lib/components/add-employer/add-employer.component.d.ts +234 -0
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -0
- package/lib/components/add-participant/add-participant.component.d.ts +49 -0
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -0
- package/lib/components/add-payment/add-payment.component.d.ts +33 -0
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -0
- package/lib/components/address/address.component.d.ts +81 -0
- package/lib/components/address/address.component.d.ts.map +1 -0
- package/lib/components/bank-details/bank-details.component.d.ts +62 -0
- package/lib/components/bank-details/bank-details.component.d.ts.map +1 -0
- package/lib/components/captcha/captcha.component.d.ts +45 -0
- package/lib/components/captcha/captcha.component.d.ts.map +1 -0
- package/lib/components/card/card.component.d.ts +12 -0
- package/lib/components/card/card.component.d.ts.map +1 -0
- package/lib/components/contact-us/contact-us.component.d.ts +109 -0
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -0
- package/lib/components/content/content.component.d.ts +14 -0
- package/lib/components/content/content.component.d.ts.map +1 -0
- package/lib/components/correspondence-download/correspondence-download.component.d.ts +22 -0
- package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -0
- package/lib/components/dashboard-card/dashboard-card.component.d.ts +26 -0
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -0
- package/lib/components/dependent-grid/dependent-grid.component.d.ts +36 -0
- package/lib/components/dependent-grid/dependent-grid.component.d.ts.map +1 -0
- package/lib/components/disclosure/disclosure.component.d.ts +13 -0
- package/lib/components/disclosure/disclosure.component.d.ts.map +1 -0
- package/lib/components/dropdown/dropdown.component.d.ts +582 -0
- package/lib/components/dropdown/dropdown.component.d.ts.map +1 -0
- package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
- package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
- package/lib/components/email-update/email-update.component.d.ts +43 -0
- package/lib/components/email-update/email-update.component.d.ts.map +1 -0
- package/lib/components/employer-grid/employer-grid.component.d.ts +90 -0
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -0
- package/lib/components/error/error.component.d.ts +18 -0
- package/lib/components/error/error.component.d.ts.map +1 -0
- package/lib/components/fav-menu/fav-menu.component.d.ts +22 -0
- package/lib/components/fav-menu/fav-menu.component.d.ts.map +1 -0
- package/lib/components/file-download/file-download.component.d.ts +23 -0
- package/lib/components/file-download/file-download.component.d.ts.map +1 -0
- package/lib/components/file-uploader/file-uploader.component.d.ts +48 -0
- package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -0
- package/lib/components/footer/footer.component.d.ts +37 -0
- package/lib/components/footer/footer.component.d.ts.map +1 -0
- package/lib/components/header/header.component.d.ts +64 -0
- package/lib/components/header/header.component.d.ts.map +1 -0
- package/lib/components/help/help.component.d.ts +11 -0
- package/lib/components/help/help.component.d.ts.map +1 -0
- package/lib/components/idle-detector/idle-detector.component.d.ts +16 -0
- package/lib/components/idle-detector/idle-detector.component.d.ts.map +1 -0
- package/lib/components/info/info.component.d.ts +23 -0
- package/lib/components/info/info.component.d.ts.map +1 -0
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +24 -0
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -0
- package/lib/components/job-title/job-title.component.d.ts +38 -0
- package/lib/components/job-title/job-title.component.d.ts.map +1 -0
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +39 -0
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -0
- 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/link/link.component.d.ts +35 -0
- package/lib/components/link/link.component.d.ts.map +1 -0
- package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +16 -0
- package/lib/components/maintenance-detector/maintenance-detector.component.d.ts.map +1 -0
- package/lib/components/mask/mask.component.d.ts +12 -0
- package/lib/components/mask/mask.component.d.ts.map +1 -0
- package/lib/components/menu/menu.component.d.ts +54 -0
- package/lib/components/menu/menu.component.d.ts.map +1 -0
- package/lib/components/mfa/mfa.component.d.ts +72 -0
- package/lib/components/mfa/mfa.component.d.ts.map +1 -0
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +19 -0
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -0
- 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 +19 -0
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -0
- package/lib/components/msg/msg.component.d.ts +11 -0
- package/lib/components/msg/msg.component.d.ts.map +1 -0
- package/lib/components/news/news.component.d.ts +15 -0
- package/lib/components/news/news.component.d.ts.map +1 -0
- package/lib/components/overlay-info/overlay-info.component.d.ts +35 -0
- package/lib/components/overlay-info/overlay-info.component.d.ts.map +1 -0
- package/lib/components/page/page.component.d.ts +24 -0
- package/lib/components/page/page.component.d.ts.map +1 -0
- package/lib/components/profile/profile.component.d.ts +74 -0
- package/lib/components/profile/profile.component.d.ts.map +1 -0
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +14 -0
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -0
- package/lib/components/questionnaire/AppValidators.d.ts +16 -0
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -0
- package/lib/components/questionnaire/FbConstants.d.ts +8 -0
- package/lib/components/questionnaire/FbConstants.d.ts.map +1 -0
- package/lib/components/questionnaire/SelectItem.d.ts +5 -0
- package/lib/components/questionnaire/SelectItem.d.ts.map +1 -0
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +61 -0
- package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -0
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +77 -0
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -0
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +47 -0
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -0
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +128 -0
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -0
- package/lib/components/questionnaire/dynamic-form.component.d.ts +161 -0
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -0
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +74 -0
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -0
- package/lib/components/questionnaire/input-focus.directive.d.ts +12 -0
- package/lib/components/questionnaire/input-focus.directive.d.ts.map +1 -0
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +39 -0
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -0
- package/lib/components/questionnaire/question-base.d.ts +17 -0
- package/lib/components/questionnaire/question-base.d.ts.map +1 -0
- package/lib/components/questionnaire/question-control.service.d.ts +21 -0
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -0
- package/lib/components/questionnaire/question.service.d.ts +19 -0
- package/lib/components/questionnaire/question.service.d.ts.map +1 -0
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +83 -0
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -0
- package/lib/components/read-more/read-more.component.d.ts +15 -0
- package/lib/components/read-more/read-more.component.d.ts.map +1 -0
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +68 -0
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -0
- package/lib/components/search-employer/search-employer.component.d.ts +40 -0
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -0
- 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/select/select.component.d.ts +56 -0
- package/lib/components/select/select.component.d.ts.map +1 -0
- package/lib/components/sign-ssn/sign-ssn.component.d.ts +34 -0
- package/lib/components/sign-ssn/sign-ssn.component.d.ts.map +1 -0
- package/lib/components/ssn/ssn.component.d.ts +12 -0
- package/lib/components/ssn/ssn.component.d.ts.map +1 -0
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +27 -0
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -0
- package/lib/components/test/test.component.d.ts +9 -0
- package/lib/components/test/test.component.d.ts.map +1 -0
- package/lib/components/user-login/user-login.component.d.ts +82 -0
- package/lib/components/user-login/user-login.component.d.ts.map +1 -0
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +67 -0
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -0
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +47 -0
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -0
- package/lib/directives/auto-focus/auto-focus.directive.d.ts +13 -0
- package/lib/directives/auto-focus/auto-focus.directive.d.ts.map +1 -0
- package/lib/directives/caps-lock.directive.d.ts +12 -0
- package/lib/directives/caps-lock.directive.d.ts.map +1 -0
- package/lib/directives/required-roles/required-roles.directive.d.ts +15 -0
- package/lib/directives/required-roles/required-roles.directive.d.ts.map +1 -0
- package/lib/enums/EmailStatusEnum.d.ts +8 -0
- package/lib/enums/EmailStatusEnum.d.ts.map +1 -0
- package/lib/guards/auth.guard.d.ts +29 -0
- package/lib/guards/auth.guard.d.ts.map +1 -0
- package/lib/guards/no-login/no-login.guard.d.ts +12 -0
- package/lib/guards/no-login/no-login.guard.d.ts.map +1 -0
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +23 -0
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -0
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +22 -0
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -0
- package/lib/models/AddressComponentModel.d.ts +14 -0
- package/lib/models/AddressComponentModel.d.ts.map +1 -0
- package/lib/models/BankDetailsComponentModel.d.ts +12 -0
- package/lib/models/BankDetailsComponentModel.d.ts.map +1 -0
- package/lib/models/BankDetailsModel.d.ts +5 -0
- package/lib/models/BankDetailsModel.d.ts.map +1 -0
- package/lib/models/CinRequalificationCriteriaModel.d.ts +11 -0
- package/lib/models/CinRequalificationCriteriaModel.d.ts.map +1 -0
- package/lib/models/EmployerDetailSearchResult.d.ts +51 -0
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -0
- package/lib/models/ErrorModel.d.ts +7 -0
- package/lib/models/ErrorModel.d.ts.map +1 -0
- package/lib/models/FileModel.d.ts +5 -0
- package/lib/models/FileModel.d.ts.map +1 -0
- 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 +125 -0
- package/lib/models/LibConstants.d.ts.map +1 -0
- package/lib/models/NewsAndAnnouncementModel.d.ts +6 -0
- package/lib/models/NewsAndAnnouncementModel.d.ts.map +1 -0
- package/lib/models/NotificationModel.d.ts +11 -0
- package/lib/models/NotificationModel.d.ts.map +1 -0
- package/lib/models/OtpAuthModel.d.ts +8 -0
- package/lib/models/OtpAuthModel.d.ts.map +1 -0
- package/lib/models/PartialEmploymentModel.d.ts +6 -0
- package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
- package/lib/models/PaymentComponentModel.d.ts +8 -0
- package/lib/models/PaymentComponentModel.d.ts.map +1 -0
- package/lib/models/RequalifyLiftPageModel.d.ts +12 -0
- package/lib/models/RequalifyLiftPageModel.d.ts.map +1 -0
- package/lib/models/SecurityQuestionModel.d.ts +7 -0
- package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
- package/lib/models/SsaVerificationModel.d.ts +9 -0
- package/lib/models/SsaVerificationModel.d.ts.map +1 -0
- package/lib/models/TrendModel.d.ts +14 -0
- package/lib/models/TrendModel.d.ts.map +1 -0
- package/lib/models/UserDetailsModel.d.ts +10 -0
- package/lib/models/UserDetailsModel.d.ts.map +1 -0
- package/lib/models/UserModel.d.ts +48 -0
- package/lib/models/UserModel.d.ts.map +1 -0
- package/lib/models/case/CaseAttachmentModel.d.ts +6 -0
- package/lib/models/case/CaseAttachmentModel.d.ts.map +1 -0
- package/lib/models/claimant/ClaimantModel.d.ts +23 -0
- package/lib/models/claimant/ClaimantModel.d.ts.map +1 -0
- package/lib/models/claimant/JobResultsData.d.ts +8 -0
- package/lib/models/claimant/JobResultsData.d.ts.map +1 -0
- package/lib/models/claimant/MatchingJobs.d.ts +13 -0
- package/lib/models/claimant/MatchingJobs.d.ts.map +1 -0
- package/lib/models/claimant/ResetPasswordModel.d.ts +9 -0
- package/lib/models/claimant/ResetPasswordModel.d.ts.map +1 -0
- package/lib/models/cmp/CaseCoreModel.d.ts +21 -0
- package/lib/models/cmp/CaseCoreModel.d.ts.map +1 -0
- package/lib/models/cmp/ComplaintCategoryModel.d.ts +9 -0
- package/lib/models/cmp/ComplaintCategoryModel.d.ts.map +1 -0
- package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +6 -0
- package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts.map +1 -0
- package/lib/models/cmp/ContactUsModel.d.ts +23 -0
- package/lib/models/cmp/ContactUsModel.d.ts.map +1 -0
- package/lib/models/cmp/EmailTemplateModel.d.ts +7 -0
- package/lib/models/cmp/EmailTemplateModel.d.ts.map +1 -0
- package/lib/models/cmp/contactUsInqueryModel.d.ts +47 -0
- package/lib/models/cmp/contactUsInqueryModel.d.ts.map +1 -0
- package/lib/models/cmp/messageRourceModel.d.ts +6 -0
- package/lib/models/cmp/messageRourceModel.d.ts.map +1 -0
- package/lib/models/dashboard-model.d.ts +44 -0
- package/lib/models/dashboard-model.d.ts.map +1 -0
- package/lib/models/dependent.model.d.ts +20 -0
- package/lib/models/dependent.model.d.ts.map +1 -0
- package/lib/models/questionnaire/AutocoderModel.d.ts +9 -0
- package/lib/models/questionnaire/AutocoderModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +9 -0
- package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +18 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +156 -0
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +18 -0
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ComboModel.d.ts +178 -0
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ElementsModel.d.ts +71 -0
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -0
- package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +18 -0
- package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts.map +1 -0
- package/lib/models/questionnaire/EmployerWagesModel.d.ts +5 -0
- package/lib/models/questionnaire/EmployerWagesModel.d.ts.map +1 -0
- package/lib/models/questionnaire/FBConfigModel.d.ts +12 -0
- package/lib/models/questionnaire/FBConfigModel.d.ts.map +1 -0
- package/lib/models/questionnaire/KeyValueModel.d.ts +11 -0
- package/lib/models/questionnaire/KeyValueModel.d.ts.map +1 -0
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +11 -0
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -0
- package/lib/models/questionnaire/LoaderModel.d.ts +5 -0
- package/lib/models/questionnaire/LoaderModel.d.ts.map +1 -0
- package/lib/models/questionnaire/PollingStatusModel.d.ts +7 -0
- package/lib/models/questionnaire/PollingStatusModel.d.ts.map +1 -0
- package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +9 -0
- package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts.map +1 -0
- package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +24 -0
- package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts.map +1 -0
- package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +21 -0
- package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts.map +1 -0
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +26 -0
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -0
- package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +14 -0
- package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +7 -0
- package/lib/models/questionnaire/ServiceActionResponseModel.d.ts.map +1 -0
- package/lib/models/questionnaire/StatusModel.d.ts +16 -0
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -0
- package/lib/models/questionnaire/SuccessPageElement.d.ts +9 -0
- package/lib/models/questionnaire/SuccessPageElement.d.ts.map +1 -0
- package/lib/models/questionnaire/UI512AResponseModel.d.ts +13 -0
- package/lib/models/questionnaire/UI512AResponseModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ValidationModel.d.ts +18 -0
- package/lib/models/questionnaire/ValidationModel.d.ts.map +1 -0
- package/lib/ngx-reusa-app-lib.component.d.ts +9 -0
- package/lib/ngx-reusa-app-lib.component.d.ts.map +1 -0
- package/lib/ngx-reusa-app-lib.module.d.ts +155 -0
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -0
- package/lib/ngx-reusa-app-lib.service.d.ts +7 -0
- package/lib/ngx-reusa-app-lib.service.d.ts.map +1 -0
- package/lib/pages/BasePage.d.ts +32 -0
- package/lib/pages/BasePage.d.ts.map +1 -0
- package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +12 -0
- package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts.map +1 -0
- package/lib/pages/common/change-password/change-password.page.d.ts +41 -0
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -0
- package/lib/pages/common/landing/landing.component.d.ts +25 -0
- package/lib/pages/common/landing/landing.component.d.ts.map +1 -0
- package/lib/pages/common/landing2/landing2.component.d.ts +31 -0
- package/lib/pages/common/landing2/landing2.component.d.ts.map +1 -0
- package/lib/pages/common/login/login.component.d.ts +65 -0
- package/lib/pages/common/login/login.component.d.ts.map +1 -0
- package/lib/pages/common/not-found/not-found.page.d.ts +9 -0
- package/lib/pages/common/not-found/not-found.page.d.ts.map +1 -0
- package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +12 -0
- package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts.map +1 -0
- package/lib/pages/common/security-policy/security-policy.page.d.ts +12 -0
- package/lib/pages/common/security-policy/security-policy.page.d.ts.map +1 -0
- package/lib/pages/common/unauthorized/unauthorized.page.d.ts +9 -0
- package/lib/pages/common/unauthorized/unauthorized.page.d.ts.map +1 -0
- package/lib/pages/popovers/language/language.page.d.ts +17 -0
- package/lib/pages/popovers/language/language.page.d.ts.map +1 -0
- package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +22 -0
- package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts.map +1 -0
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts +21 -0
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -0
- package/lib/pages/popovers/user-search/user-search.component.d.ts +32 -0
- package/lib/pages/popovers/user-search/user-search.component.d.ts.map +1 -0
- package/lib/pipes/filter.pipe.d.ts +8 -0
- package/lib/pipes/filter.pipe.d.ts.map +1 -0
- package/lib/pipes/mask/mask.email.pipe.d.ts +11 -0
- package/lib/pipes/mask/mask.email.pipe.d.ts.map +1 -0
- package/lib/pipes/proper-case/proper-case.pipe.d.ts +9 -0
- package/lib/pipes/proper-case/proper-case.pipe.d.ts.map +1 -0
- package/lib/pipes/translate/dynamic-translate.pipe.d.ts +11 -0
- package/lib/pipes/translate/dynamic-translate.pipe.d.ts.map +1 -0
- package/lib/pipes/trust-html/trust-html.pipe.d.ts +11 -0
- package/lib/pipes/trust-html/trust-html.pipe.d.ts.map +1 -0
- package/lib/services/base-service.d.ts +93 -0
- package/lib/services/base-service.d.ts.map +1 -0
- package/lib/services/captcha/captcha.service.d.ts +16 -0
- package/lib/services/captcha/captcha.service.d.ts.map +1 -0
- package/lib/services/case-service/case.service.d.ts +20 -0
- package/lib/services/case-service/case.service.d.ts.map +1 -0
- package/lib/services/chatbot/chatbot.service.d.ts +61 -0
- package/lib/services/chatbot/chatbot.service.d.ts.map +1 -0
- package/lib/services/chatbot/script.const.d.ts +16 -0
- package/lib/services/chatbot/script.const.d.ts.map +1 -0
- package/lib/services/claimant/claimant.service.d.ts +18 -0
- package/lib/services/claimant/claimant.service.d.ts.map +1 -0
- package/lib/services/claimant-context/claimant-context.service.d.ts +19 -0
- package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -0
- 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 +26 -0
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -0
- package/lib/services/claims/claims.service.d.ts +42 -0
- package/lib/services/claims/claims.service.d.ts.map +1 -0
- package/lib/services/cmp-service/cmp.service.d.ts +34 -0
- package/lib/services/cmp-service/cmp.service.d.ts.map +1 -0
- package/lib/services/dms-service/dms.service.d.ts +24 -0
- package/lib/services/dms-service/dms.service.d.ts.map +1 -0
- package/lib/services/fpjs/fingerprint.service.d.ts +19 -0
- package/lib/services/fpjs/fingerprint.service.d.ts.map +1 -0
- package/lib/services/google-analytics/google-analytics.service.d.ts +9 -0
- package/lib/services/google-analytics/google-analytics.service.d.ts.map +1 -0
- package/lib/services/help/help.service.d.ts +26 -0
- package/lib/services/help/help.service.d.ts.map +1 -0
- package/lib/services/idle/idle.service.d.ts +44 -0
- package/lib/services/idle/idle.service.d.ts.map +1 -0
- 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/logger/logger.service.d.ts +32 -0
- package/lib/services/logger/logger.service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +79 -0
- package/lib/services/login/login.service.d.ts.map +1 -0
- package/lib/services/maintenance/maintenance.service.d.ts +16 -0
- package/lib/services/maintenance/maintenance.service.d.ts.map +1 -0
- package/lib/services/notification/notification.service.d.ts +39 -0
- package/lib/services/notification/notification.service.d.ts.map +1 -0
- 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 +36 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -0
- package/lib/services/questionnaire/validation.service.d.ts +82 -0
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -0
- package/lib/services/security-service/security.service.d.ts +18 -0
- package/lib/services/security-service/security.service.d.ts.map +1 -0
- package/lib/services/tour/tour.service.d.ts +25 -0
- package/lib/services/tour/tour.service.d.ts.map +1 -0
- package/lib/services/util/util.service.d.ts +194 -0
- package/lib/services/util/util.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +17 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
- package/lib/validations/AppRegex.d.ts +50 -0
- package/lib/validations/AppRegex.d.ts.map +1 -0
- package/lib/validations/AppValidators.d.ts +82 -0
- package/lib/validations/AppValidators.d.ts.map +1 -0
- package/package.json +28 -0
- package/public-api.d.ts +128 -0
- package/public-api.d.ts.map +1 -0
|
@@ -0,0 +1,565 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
3
|
+
import { AddressComponentModel } from '../../models/AddressComponentModel';
|
|
4
|
+
import { ComboOption } from '../../models/questionnaire/ComboModel';
|
|
5
|
+
import { AppValidators } from '../../validations/AppValidators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "../../services/util/util.service";
|
|
9
|
+
import * as i3 from "../../services/questionnaire/questionnaire.service";
|
|
10
|
+
import * as i4 from "../../services/logger/logger.service";
|
|
11
|
+
import * as i5 from "../../services/dms-service/dms.service";
|
|
12
|
+
import * as i6 from "@ngx-translate/core";
|
|
13
|
+
import * as i7 from "@ionic/angular";
|
|
14
|
+
import * as i8 from "@angular/common";
|
|
15
|
+
import * as i9 from "primeng/inputtext";
|
|
16
|
+
import * as i10 from "../error/error.component";
|
|
17
|
+
import * as i11 from "../dropdown/dropdown.component";
|
|
18
|
+
const _c0 = ["addressFormDirective"];
|
|
19
|
+
const _c1 = a0 => ({ required: a0 });
|
|
20
|
+
function AddressComponent_ion_col_55_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelementStart(0, "ion-col", 18)(1, "div", 14)(2, "label", 5);
|
|
22
|
+
i0.ɵɵtext(3);
|
|
23
|
+
i0.ɵɵpipe(4, "translate");
|
|
24
|
+
i0.ɵɵelementEnd();
|
|
25
|
+
i0.ɵɵelement(5, "br")(6, "app-dropdown", 6)(7, "br")(8, "app-error", 7);
|
|
26
|
+
i0.ɵɵelementEnd()();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
29
|
+
const _r0 = i0.ɵɵreference(1);
|
|
30
|
+
i0.ɵɵproperty("ngClass", ctx_r1.fromPopup ? "col" : "col col-fit-content");
|
|
31
|
+
i0.ɵɵadvance(2);
|
|
32
|
+
i0.ɵɵproperty("for", ctx_r1.inputId ? ctx_r1.inputId + "-county" : "county");
|
|
33
|
+
i0.ɵɵadvance(1);
|
|
34
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 13, "common.county"));
|
|
35
|
+
i0.ɵɵadvance(3);
|
|
36
|
+
i0.ɵɵproperty("readonly", ctx_r1.readonly)("options", ctx_r1.countyOptions)("formControl", ctx_r1.county)("autoDisplayFirst", false)("inputId", ctx_r1.inputId ? ctx_r1.inputId + "-county" : "county");
|
|
37
|
+
i0.ɵɵadvance(2);
|
|
38
|
+
i0.ɵɵclassMap("app-grid");
|
|
39
|
+
i0.ɵɵproperty("field", ctx_r1.county)("form", _r0)("errDef", i0.ɵɵpureFunction1(15, _c1, ctx_r1.required));
|
|
40
|
+
} }
|
|
41
|
+
function AddressComponent_ion_col_56_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelementStart(0, "ion-col", 18)(1, "div", 14)(2, "label", 5);
|
|
43
|
+
i0.ɵɵtext(3);
|
|
44
|
+
i0.ɵɵpipe(4, "translate");
|
|
45
|
+
i0.ɵɵelementEnd();
|
|
46
|
+
i0.ɵɵelement(5, "br")(6, "app-dropdown", 6)(7, "br")(8, "app-error", 7);
|
|
47
|
+
i0.ɵɵelementEnd()();
|
|
48
|
+
} if (rf & 2) {
|
|
49
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
50
|
+
const _r0 = i0.ɵɵreference(1);
|
|
51
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fromPopup ? "col" : "col col-fit-content");
|
|
52
|
+
i0.ɵɵadvance(2);
|
|
53
|
+
i0.ɵɵproperty("for", ctx_r2.inputId ? ctx_r2.inputId + "-town" : "town");
|
|
54
|
+
i0.ɵɵadvance(1);
|
|
55
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 13, "Town"));
|
|
56
|
+
i0.ɵɵadvance(3);
|
|
57
|
+
i0.ɵɵproperty("readonly", ctx_r2.readonly)("options", ctx_r2.townOptions)("formControl", ctx_r2.town)("autoDisplayFirst", false)("inputId", ctx_r2.inputId ? ctx_r2.inputId + "-town" : "town");
|
|
58
|
+
i0.ɵɵadvance(2);
|
|
59
|
+
i0.ɵɵclassMap("app-grid");
|
|
60
|
+
i0.ɵɵproperty("field", ctx_r2.town)("form", _r0)("errDef", i0.ɵɵpureFunction1(15, _c1, ctx_r2.required));
|
|
61
|
+
} }
|
|
62
|
+
const _c2 = (a0, a1, a2, a3) => ({ required: a0, invalidLength: a1, invalidNumber: a2, invalidZipCode: a3 });
|
|
63
|
+
export class AddressComponent {
|
|
64
|
+
constructor(formBuilder, util, questionnaireService, logger, dms, translateService) {
|
|
65
|
+
this.formBuilder = formBuilder;
|
|
66
|
+
this.util = util;
|
|
67
|
+
this.questionnaireService = questionnaireService;
|
|
68
|
+
this.logger = logger;
|
|
69
|
+
this.dms = dms;
|
|
70
|
+
this.translateService = translateService;
|
|
71
|
+
this.stateOptions = [];
|
|
72
|
+
this.countyOptions = [];
|
|
73
|
+
this.townOptions = [];
|
|
74
|
+
this.countryOptions = ComboOption.COUNTRY;
|
|
75
|
+
this.addressData = new AddressComponentModel();
|
|
76
|
+
this.address = new EventEmitter();
|
|
77
|
+
this.readonly = false;
|
|
78
|
+
this.usZipcodeValidations = [Validators.required, AppValidators.isValidZipCode];
|
|
79
|
+
this.canadaZipcodeValidations = [Validators.required, AppValidators.isValidCanadianZipCode];
|
|
80
|
+
this.onTouched = () => { };
|
|
81
|
+
this.onChangeSubs = [];
|
|
82
|
+
this.forState = util.getState();
|
|
83
|
+
this.translateService.use(localStorage.getItem("language"));
|
|
84
|
+
}
|
|
85
|
+
ngOnInit() {
|
|
86
|
+
this.translateService.use(localStorage.getItem("language"));
|
|
87
|
+
this.addressForm = this.formBuilder.group({
|
|
88
|
+
'country': [null, Validators.required],
|
|
89
|
+
'zip': [null, Validators.compose([Validators.required])],
|
|
90
|
+
'streetAddress': [null, Validators.required],
|
|
91
|
+
'state': [null, Validators.required],
|
|
92
|
+
'optionalAddress': [null],
|
|
93
|
+
'town': [null],
|
|
94
|
+
'county': [null],
|
|
95
|
+
'city': [null, Validators.required],
|
|
96
|
+
});
|
|
97
|
+
this.setRequiredValidation();
|
|
98
|
+
this.country.valueChanges.subscribe(country => {
|
|
99
|
+
this.filterState(country);
|
|
100
|
+
});
|
|
101
|
+
this.state.valueChanges.subscribe(state => {
|
|
102
|
+
if (state) {
|
|
103
|
+
if (this.util.isState('KS') && state.value == 'KS') {
|
|
104
|
+
this.filterCounty(state);
|
|
105
|
+
}
|
|
106
|
+
if (this.util.isState('MS') && state.value == 'MS') {
|
|
107
|
+
this.filterCounty(state);
|
|
108
|
+
}
|
|
109
|
+
if (this.util.isState('CT') && state.value == 'CT') {
|
|
110
|
+
this.filterCounty(state);
|
|
111
|
+
}
|
|
112
|
+
if (this.util.isState('ME') && state.value == 'ME') {
|
|
113
|
+
this.filterTown(state);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
this.zip.valueChanges.subscribe(zip => {
|
|
118
|
+
if (zip && this.state.value == this.forState) {
|
|
119
|
+
this.filterCounty(this.state);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
this.country.setValue({ value: "US", text: "United States" });
|
|
123
|
+
}
|
|
124
|
+
setRequiredValidation() {
|
|
125
|
+
this.country.valueChanges.subscribe(c => {
|
|
126
|
+
if (c.value == 'US') {
|
|
127
|
+
this.util.clearValidation(this.zip);
|
|
128
|
+
this.util.setValidation(this.zip, this.usZipcodeValidations);
|
|
129
|
+
}
|
|
130
|
+
else if (c.value == 'CA') {
|
|
131
|
+
this.util.clearValidation(this.zip);
|
|
132
|
+
this.util.setValidation(this.zip, this.canadaZipcodeValidations);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
this.state.valueChanges.subscribe(stateValue => {
|
|
136
|
+
if (stateValue) {
|
|
137
|
+
if (((stateValue.value === 'KS' && this.forState === 'KS')
|
|
138
|
+
|| (stateValue.value === 'CT' && this.forState === 'CT')) && this.countyRequired === true) {
|
|
139
|
+
this.util.setRequiredValidator(this.county);
|
|
140
|
+
this.util.clearValidation(this.town);
|
|
141
|
+
this.town.setValue(null);
|
|
142
|
+
}
|
|
143
|
+
else if (stateValue.value === 'ME' && this.forState === 'ME' && this.countyRequired === true) {
|
|
144
|
+
this.util.setRequiredValidator(this.town);
|
|
145
|
+
this.util.clearValidation(this.county);
|
|
146
|
+
this.county.setValue(null);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
this.util.clearValidation(this.county);
|
|
150
|
+
this.county.setValue(null);
|
|
151
|
+
this.util.clearValidation(this.town);
|
|
152
|
+
this.town.setValue(null);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
get town() {
|
|
158
|
+
return this.addressForm.controls['town'];
|
|
159
|
+
}
|
|
160
|
+
get county() {
|
|
161
|
+
return this.addressForm.controls['county'];
|
|
162
|
+
}
|
|
163
|
+
get city() {
|
|
164
|
+
return this.addressForm.controls['city'];
|
|
165
|
+
}
|
|
166
|
+
get country() {
|
|
167
|
+
return this.addressForm.controls['country'];
|
|
168
|
+
}
|
|
169
|
+
get state() {
|
|
170
|
+
return this.addressForm.controls['state'];
|
|
171
|
+
}
|
|
172
|
+
get zip() {
|
|
173
|
+
return this.addressForm.controls['zip'];
|
|
174
|
+
}
|
|
175
|
+
get streetAddress() {
|
|
176
|
+
return this.addressForm.controls['streetAddress'];
|
|
177
|
+
}
|
|
178
|
+
get optionalAddress() {
|
|
179
|
+
return this.addressForm.controls['optionalAddress'];
|
|
180
|
+
}
|
|
181
|
+
getAddressData(event) {
|
|
182
|
+
/**Uncomment when zip-lookup if fixed */
|
|
183
|
+
// if (this.zip && this.zip.value) {
|
|
184
|
+
// this.dms
|
|
185
|
+
// .getAddress(this.zip.value)
|
|
186
|
+
// .subscribe(
|
|
187
|
+
// res => {
|
|
188
|
+
// this.addressData = res;
|
|
189
|
+
// if(this.addressData.city){
|
|
190
|
+
// this.city.patchValue(this.addressData.city);
|
|
191
|
+
// }
|
|
192
|
+
// if(this.addressData.state){
|
|
193
|
+
// this.state.patchValue(this.addressData.state);
|
|
194
|
+
// }
|
|
195
|
+
// if(this.addressData.county){
|
|
196
|
+
// this.county.patchValue(this.addressData.county);
|
|
197
|
+
// }
|
|
198
|
+
// this.state.updateValueAndValidity();
|
|
199
|
+
// },
|
|
200
|
+
// err => {
|
|
201
|
+
// this.logger.debug(err);
|
|
202
|
+
// });
|
|
203
|
+
// }
|
|
204
|
+
}
|
|
205
|
+
filterCountry(event) {
|
|
206
|
+
this.logger.debug('event', event);
|
|
207
|
+
let filtered = [];
|
|
208
|
+
let query = event.query;
|
|
209
|
+
if (localStorage.getItem("language") === "es") {
|
|
210
|
+
this.countryOptions = ComboOption.COUNTRY_ES;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
this.countryOptions = ComboOption.COUNTRY;
|
|
214
|
+
}
|
|
215
|
+
for (let i = 0; i < this.countryOptions.length; i++) {
|
|
216
|
+
let country = this.countryOptions[i];
|
|
217
|
+
if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
218
|
+
filtered.push(country);
|
|
219
|
+
this.state.setValue(null);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
this.countryOptions = filtered;
|
|
223
|
+
}
|
|
224
|
+
filterCounty(event) {
|
|
225
|
+
this.questionnaireService.getCounty(this.state.value['value'], this.zip.value).subscribe(res => {
|
|
226
|
+
/*this.logger.debug('res', res);
|
|
227
|
+
for (let i = 0; i < res['choices'].length; i++) {
|
|
228
|
+
let choice = res['choices'][i];
|
|
229
|
+
if (choice.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
230
|
+
filtered.push(choice);
|
|
231
|
+
}
|
|
232
|
+
}*/
|
|
233
|
+
this.countyOptions = res['choices'];
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
filterTown(event) {
|
|
237
|
+
this.questionnaireService.getCounty(this.state.value['value'], this.zip.value).subscribe(res => {
|
|
238
|
+
this.townOptions = res['choices'];
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
filterState(event) {
|
|
242
|
+
let choice;
|
|
243
|
+
if (this.country?.value?.value === 'US') {
|
|
244
|
+
const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
|
|
245
|
+
if (localStorage.getItem("language") === "es") {
|
|
246
|
+
choice = [currentState, ...ComboOption.US_STATES_ES.filter(state => state.value != this.util.getState())];
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
choice = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
if (this.country?.value?.value === 'CA') {
|
|
253
|
+
if (localStorage.getItem("language") === "es") {
|
|
254
|
+
choice = ComboOption.CA_STATES_ES;
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
choice = ComboOption.CA_STATES;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/*for (let i = 0; i < choice.length; i++) {
|
|
261
|
+
if (choice[i].text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
262
|
+
filtered.push(choice[i]);
|
|
263
|
+
}
|
|
264
|
+
}*/
|
|
265
|
+
this.stateOptions = choice;
|
|
266
|
+
}
|
|
267
|
+
setWidthStyle() {
|
|
268
|
+
if (this.fromPopup) {
|
|
269
|
+
let styleObj = {
|
|
270
|
+
'max-width': 'initial'
|
|
271
|
+
};
|
|
272
|
+
return Object.assign(styleObj);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
let styleObj = {
|
|
276
|
+
'max-width': 'fit-content'
|
|
277
|
+
};
|
|
278
|
+
return Object.assign(styleObj);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
ngOnDestroy() {
|
|
282
|
+
for (let sub of this.onChangeSubs) {
|
|
283
|
+
sub.unsubscribe();
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
registerOnChange(onChange) {
|
|
287
|
+
const sub = this.addressForm.valueChanges.subscribe(onChange);
|
|
288
|
+
this.onChangeSubs.push(sub);
|
|
289
|
+
}
|
|
290
|
+
registerOnTouched(onTouched) {
|
|
291
|
+
this.onTouched = onTouched;
|
|
292
|
+
}
|
|
293
|
+
setDisabledState(disabled) {
|
|
294
|
+
if (disabled) {
|
|
295
|
+
this.addressForm.disable();
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
this.addressForm.enable();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
writeValue(value) {
|
|
302
|
+
let formValue;
|
|
303
|
+
if (typeof value == 'string') {
|
|
304
|
+
formValue = JSON.parse(value.toString());
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
formValue = value;
|
|
308
|
+
}
|
|
309
|
+
if (formValue) {
|
|
310
|
+
if (formValue.country && !formValue.country.text && formValue.country.value) {
|
|
311
|
+
let country = this.getCountry(formValue.country?.value);
|
|
312
|
+
formValue.country = country;
|
|
313
|
+
}
|
|
314
|
+
if (formValue.state && !formValue.state.text && formValue.state.value) {
|
|
315
|
+
let state = this.getState(formValue.country?.value, formValue.state.value.trim());
|
|
316
|
+
formValue.state = state;
|
|
317
|
+
}
|
|
318
|
+
if (formValue.county && !formValue.county.text && formValue.county.value && formValue.state.value === 'KS') {
|
|
319
|
+
this.setMSCounty(formValue.county);
|
|
320
|
+
}
|
|
321
|
+
if (formValue.town && !formValue.town.text && formValue.town.value && formValue.state.value === 'ME') {
|
|
322
|
+
this.setMETown(formValue['zip'], formValue.town);
|
|
323
|
+
}
|
|
324
|
+
this.addressForm.patchValue(formValue);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
getCountry(country) {
|
|
328
|
+
if (country == null || country == 'US') {
|
|
329
|
+
return { value: "US", text: "United States" };
|
|
330
|
+
}
|
|
331
|
+
else if (country == 'CA') {
|
|
332
|
+
return { value: "CA", text: "Canada" };
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
console.error('No Country configured ', country);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
getState(country, state) {
|
|
339
|
+
if (country == null || country == 'US') {
|
|
340
|
+
if (localStorage.getItem("language") === "es") {
|
|
341
|
+
return this.getStateValue(ComboOption.US_STATES_ES, state);
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
return this.getStateValue(ComboOption.US_STATES, state);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
else if (country == 'CA') {
|
|
348
|
+
if (localStorage.getItem("language") === "es") {
|
|
349
|
+
return this.getStateValue(ComboOption.CA_STATES_ES, state);
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
return this.getStateValue(ComboOption.CA_STATES, state);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
console.error('No Country configured ', country);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
getStateValue(states, name) {
|
|
360
|
+
return states.filter(state => state.value == name)[0];
|
|
361
|
+
}
|
|
362
|
+
setMETown(zipCode, town) {
|
|
363
|
+
this.questionnaireService.getCounty('ME', zipCode).subscribe(res => {
|
|
364
|
+
this.townOptions = res['choices'];
|
|
365
|
+
let selectedCounty = this.townOptions.filter(c => {
|
|
366
|
+
return c.value == town.value;
|
|
367
|
+
})[0];
|
|
368
|
+
this.town.patchValue(selectedCounty);
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
setMSCounty(county) {
|
|
372
|
+
this.questionnaireService.getCounty('KS', this.zip.value).subscribe(res => {
|
|
373
|
+
this.countyOptions = res['choices'];
|
|
374
|
+
let selectedCounty = this.countyOptions.filter(c => {
|
|
375
|
+
return c.value == county.value;
|
|
376
|
+
})[0];
|
|
377
|
+
this.county.patchValue(selectedCounty);
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
validate(control) {
|
|
381
|
+
if (this.addressForm.valid) {
|
|
382
|
+
return null;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
submit() {
|
|
386
|
+
this.addressFormDirective.onSubmit(undefined);
|
|
387
|
+
}
|
|
388
|
+
get required() {
|
|
389
|
+
return this.translateService.instant('common.required');
|
|
390
|
+
}
|
|
391
|
+
get zipLength() {
|
|
392
|
+
return this.translateService.instant('common.zipcode.length');
|
|
393
|
+
}
|
|
394
|
+
get zipOnlyNumbers() {
|
|
395
|
+
return this.translateService.instant('common.zipcode.only.numbers');
|
|
396
|
+
}
|
|
397
|
+
get zipInvalid() {
|
|
398
|
+
return this.translateService.instant('common.zipcode.invalid');
|
|
399
|
+
}
|
|
400
|
+
get zipCodeNumeric() {
|
|
401
|
+
return this.translateService.instant('weeklies.weeklycert.employer.zipcode.numeric');
|
|
402
|
+
}
|
|
403
|
+
get zipCodeLength() {
|
|
404
|
+
return this.translateService.instant('weeklies.weeklycert.employer.zipcode.length');
|
|
405
|
+
}
|
|
406
|
+
get zipCodeInvalid() {
|
|
407
|
+
return this.translateService.instant('weeklies.weeklycert.employer.zipcode.invalid');
|
|
408
|
+
}
|
|
409
|
+
static { this.ɵfac = function AddressComponent_Factory(t) { return new (t || AddressComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.UtilService), i0.ɵɵdirectiveInject(i3.QuestionnaireService), i0.ɵɵdirectiveInject(i4.LoggerService), i0.ɵɵdirectiveInject(i5.DmsService), i0.ɵɵdirectiveInject(i6.TranslateService)); }; }
|
|
410
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["app-address"]], viewQuery: function AddressComponent_Query(rf, ctx) { if (rf & 1) {
|
|
411
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
412
|
+
} if (rf & 2) {
|
|
413
|
+
let _t;
|
|
414
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.addressFormDirective = _t.first);
|
|
415
|
+
} }, inputs: { countyRequired: "countyRequired", fromPopup: "fromPopup", inputId: "inputId", readonly: "readonly" }, outputs: { address: "address" }, features: [i0.ɵɵProvidersFeature([{
|
|
416
|
+
provide: NG_VALUE_ACCESSOR,
|
|
417
|
+
useExisting: AddressComponent,
|
|
418
|
+
multi: true
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
provide: NG_VALIDATORS,
|
|
422
|
+
multi: true,
|
|
423
|
+
useExisting: AddressComponent
|
|
424
|
+
}
|
|
425
|
+
])], decls: 57, vars: 94, consts: [[2, "margin-bottom", "0px", "margin-left", "0px", 3, "formGroup"], ["addressFormDirective", "ngForm"], [1, "p-formgrid", 3, "id"], [3, "ngClass"], [1, "field"], [3, "for"], ["optionLabel", "text", "appendTo", "body", 3, "readonly", "options", "formControl", "autoDisplayFirst", "inputId"], [3, "field", "form", "errDef"], ["type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", 3, "readonly", "id", "formControl", "blur"], [2, "padding-right", "0px", 3, "ngClass"], [1, "field", "p-fluid"], ["type", "input", "pInputText", "", "maxlength", "40", 3, "readonly", "id", "formControl"], ["type", "input", "pInputText", "", "maxlength", "40", 3, "readonly", "id", "formControl", "placeholder"], [2, "padding-bottom", "0px", 3, "ngClass"], [1, "field", 2, "margin-bottom", "0px"], ["type", "input", "pInputText", "", "maxlength", "30", 3, "readonly", "id", "formControl"], ["optionLabel", "text", "appendTo", "body", 3, "readonly", "options", "formControl", "autoDisplayFirst", "inputId", "ariaLabel"], ["size", "12", "style", "padding-bottom: 0px;", 3, "ngClass", 4, "ngIf"], ["size", "12", 2, "padding-bottom", "0px", 3, "ngClass"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
|
|
426
|
+
i0.ɵɵelementStart(0, "form", 0, 1)(2, "div", 2)(3, "ion-row")(4, "ion-col", 3)(5, "div", 4)(6, "label", 5);
|
|
427
|
+
i0.ɵɵtext(7);
|
|
428
|
+
i0.ɵɵpipe(8, "translate");
|
|
429
|
+
i0.ɵɵelementEnd();
|
|
430
|
+
i0.ɵɵelement(9, "br")(10, "app-dropdown", 6)(11, "app-error", 7);
|
|
431
|
+
i0.ɵɵelementEnd()();
|
|
432
|
+
i0.ɵɵelementStart(12, "ion-col", 3)(13, "div", 4)(14, "label", 5);
|
|
433
|
+
i0.ɵɵtext(15);
|
|
434
|
+
i0.ɵɵpipe(16, "translate");
|
|
435
|
+
i0.ɵɵelementEnd();
|
|
436
|
+
i0.ɵɵelement(17, "br");
|
|
437
|
+
i0.ɵɵelementStart(18, "input", 8);
|
|
438
|
+
i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_18_listener($event) { return ctx.getAddressData($event); });
|
|
439
|
+
i0.ɵɵelementEnd();
|
|
440
|
+
i0.ɵɵelement(19, "br")(20, "app-error", 7);
|
|
441
|
+
i0.ɵɵelementEnd()()();
|
|
442
|
+
i0.ɵɵelementStart(21, "ion-row")(22, "ion-col", 9)(23, "div", 10)(24, "label", 5);
|
|
443
|
+
i0.ɵɵtext(25);
|
|
444
|
+
i0.ɵɵpipe(26, "translate");
|
|
445
|
+
i0.ɵɵelementEnd();
|
|
446
|
+
i0.ɵɵelement(27, "br")(28, "input", 11)(29, "br")(30, "app-error", 7);
|
|
447
|
+
i0.ɵɵelementEnd()()();
|
|
448
|
+
i0.ɵɵelementStart(31, "ion-row")(32, "ion-col", 9)(33, "div", 10);
|
|
449
|
+
i0.ɵɵelement(34, "input", 12);
|
|
450
|
+
i0.ɵɵpipe(35, "translate");
|
|
451
|
+
i0.ɵɵelementEnd()()();
|
|
452
|
+
i0.ɵɵelementStart(36, "ion-row")(37, "ion-col", 13)(38, "div", 14)(39, "label", 5);
|
|
453
|
+
i0.ɵɵtext(40);
|
|
454
|
+
i0.ɵɵpipe(41, "translate");
|
|
455
|
+
i0.ɵɵelementEnd();
|
|
456
|
+
i0.ɵɵelement(42, "br")(43, "input", 15)(44, "br")(45, "app-error", 7);
|
|
457
|
+
i0.ɵɵelementEnd()();
|
|
458
|
+
i0.ɵɵelementStart(46, "ion-col", 13)(47, "div", 14)(48, "label", 5);
|
|
459
|
+
i0.ɵɵtext(49);
|
|
460
|
+
i0.ɵɵpipe(50, "translate");
|
|
461
|
+
i0.ɵɵelementEnd();
|
|
462
|
+
i0.ɵɵelement(51, "br")(52, "app-dropdown", 16)(53, "br")(54, "app-error", 7);
|
|
463
|
+
i0.ɵɵelementEnd()();
|
|
464
|
+
i0.ɵɵtemplate(55, AddressComponent_ion_col_55_Template, 9, 17, "ion-col", 17)(56, AddressComponent_ion_col_56_Template, 9, 17, "ion-col", 17);
|
|
465
|
+
i0.ɵɵelementEnd()()();
|
|
466
|
+
} if (rf & 2) {
|
|
467
|
+
const _r0 = i0.ɵɵreference(1);
|
|
468
|
+
i0.ɵɵproperty("formGroup", ctx.addressForm);
|
|
469
|
+
i0.ɵɵadvance(2);
|
|
470
|
+
i0.ɵɵproperty("id", ctx.inputId ? ctx.inputId : "address-div");
|
|
471
|
+
i0.ɵɵadvance(2);
|
|
472
|
+
i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
|
|
473
|
+
i0.ɵɵadvance(2);
|
|
474
|
+
i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-country" : "country");
|
|
475
|
+
i0.ɵɵadvance(1);
|
|
476
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 69, "common.country"));
|
|
477
|
+
i0.ɵɵadvance(3);
|
|
478
|
+
i0.ɵɵproperty("readonly", ctx.readonly)("options", ctx.countryOptions)("formControl", ctx.country)("autoDisplayFirst", false)("inputId", ctx.inputId ? ctx.inputId + "-country" : "country");
|
|
479
|
+
i0.ɵɵadvance(1);
|
|
480
|
+
i0.ɵɵclassMap("app-grid");
|
|
481
|
+
i0.ɵɵproperty("field", ctx.country)("form", _r0)("errDef", i0.ɵɵpureFunction1(81, _c1, ctx.required));
|
|
482
|
+
i0.ɵɵadvance(1);
|
|
483
|
+
i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col app-col" : "col col-fit-content");
|
|
484
|
+
i0.ɵɵadvance(2);
|
|
485
|
+
i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-zip" : "zip");
|
|
486
|
+
i0.ɵɵadvance(1);
|
|
487
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 71, "common.zipcode"));
|
|
488
|
+
i0.ɵɵadvance(3);
|
|
489
|
+
i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-zip" : "zip")("formControl", ctx.zip);
|
|
490
|
+
i0.ɵɵadvance(2);
|
|
491
|
+
i0.ɵɵclassMap("app-grid");
|
|
492
|
+
i0.ɵɵproperty("field", ctx.zip)("form", _r0)("errDef", i0.ɵɵpureFunction4(83, _c2, ctx.required, ctx.zipCodeLength, ctx.zipCodeNumeric, ctx.zipCodeInvalid));
|
|
493
|
+
i0.ɵɵadvance(2);
|
|
494
|
+
i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
|
|
495
|
+
i0.ɵɵadvance(2);
|
|
496
|
+
i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-streetAddress" : "streetAddress");
|
|
497
|
+
i0.ɵɵadvance(1);
|
|
498
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 73, "common.streetaddress"));
|
|
499
|
+
i0.ɵɵadvance(3);
|
|
500
|
+
i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-streetAddress" : "streetAddress")("formControl", ctx.streetAddress);
|
|
501
|
+
i0.ɵɵadvance(2);
|
|
502
|
+
i0.ɵɵclassMap("app-grid");
|
|
503
|
+
i0.ɵɵproperty("field", ctx.streetAddress)("form", _r0)("errDef", i0.ɵɵpureFunction1(88, _c1, ctx.required));
|
|
504
|
+
i0.ɵɵadvance(2);
|
|
505
|
+
i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
|
|
506
|
+
i0.ɵɵadvance(2);
|
|
507
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(35, 75, "common.optional"));
|
|
508
|
+
i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-optionalAddress" : "optionalAddress")("formControl", ctx.optionalAddress);
|
|
509
|
+
i0.ɵɵadvance(3);
|
|
510
|
+
i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
|
|
511
|
+
i0.ɵɵadvance(2);
|
|
512
|
+
i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-city" : "city");
|
|
513
|
+
i0.ɵɵadvance(1);
|
|
514
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 77, "common.city"));
|
|
515
|
+
i0.ɵɵadvance(3);
|
|
516
|
+
i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-city" : "city")("formControl", ctx.city);
|
|
517
|
+
i0.ɵɵadvance(2);
|
|
518
|
+
i0.ɵɵclassMap("app-grid");
|
|
519
|
+
i0.ɵɵproperty("field", ctx.city)("form", _r0)("errDef", i0.ɵɵpureFunction1(90, _c1, ctx.required));
|
|
520
|
+
i0.ɵɵadvance(1);
|
|
521
|
+
i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col app-col" : "col col-fit-content");
|
|
522
|
+
i0.ɵɵadvance(2);
|
|
523
|
+
i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-state" : "state");
|
|
524
|
+
i0.ɵɵadvance(1);
|
|
525
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(50, 79, "common.state"));
|
|
526
|
+
i0.ɵɵadvance(3);
|
|
527
|
+
i0.ɵɵproperty("readonly", ctx.readonly)("options", ctx.stateOptions)("formControl", ctx.state)("autoDisplayFirst", false)("inputId", ctx.inputId ? ctx.inputId + "-state" : "state")("ariaLabel", ctx.inputId ? ctx.inputId + "-state" : "state");
|
|
528
|
+
i0.ɵɵadvance(2);
|
|
529
|
+
i0.ɵɵclassMap("app-grid");
|
|
530
|
+
i0.ɵɵproperty("field", ctx.state)("form", _r0)("errDef", i0.ɵɵpureFunction1(92, _c1, ctx.required));
|
|
531
|
+
i0.ɵɵadvance(1);
|
|
532
|
+
i0.ɵɵproperty("ngIf", ctx.state.value && (ctx.state.value.value === "KS" && ctx.forState === "KS" || ctx.state.value.value === "CT" && ctx.forState === "KS") && ctx.countyRequired === true);
|
|
533
|
+
i0.ɵɵadvance(1);
|
|
534
|
+
i0.ɵɵproperty("ngIf", ctx.state.value && ctx.state.value.value === "ME" && ctx.forState === "ME" && ctx.countyRequired === true);
|
|
535
|
+
} }, dependencies: [i7.IonCol, i7.IonRow, i8.NgClass, i8.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MinLengthValidator, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i9.InputText, i10.ErrorComponent, i11.Dropdown, i6.TranslatePipe], styles: [".col[_ngcontent-%COMP%]{padding-top:0;padding-bottom:0}.form-lbl[_ngcontent-%COMP%]{padding-bottom:6px}.inline-flex[_ngcontent-%COMP%]{display:inline-flex}ion-col[_ngcontent-%COMP%]{padding-left:0}.app-col[_ngcontent-%COMP%]{margin-left:27px;padding-right:0}"] }); }
|
|
536
|
+
}
|
|
537
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressComponent, [{
|
|
538
|
+
type: Component,
|
|
539
|
+
args: [{ selector: 'app-address', providers: [{
|
|
540
|
+
provide: NG_VALUE_ACCESSOR,
|
|
541
|
+
useExisting: AddressComponent,
|
|
542
|
+
multi: true
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
provide: NG_VALIDATORS,
|
|
546
|
+
multi: true,
|
|
547
|
+
useExisting: AddressComponent
|
|
548
|
+
}
|
|
549
|
+
], template: "<form [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px;\">\r\n <!-- <div [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" > -->\r\n\r\n <div class=\"p-formgrid\" [id]=\"inputId ? inputId : 'address-div'\">\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-country' : 'country'\">{{'common.country' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"countryOptions\" [formControl]=\"country\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-country' : 'country'\" ></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-zip' : 'zip'\">{{'common.zipcode' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-zip' : 'zip'\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\"\r\n (blur)=\"getAddressData($event)\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required,\r\n invalidLength: zipCodeLength,\r\n invalidNumber: zipCodeNumeric,\r\n invalidZipCode: zipCodeInvalid,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <label [for]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\">{{'common.streetaddress' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\" type=\"input\" pInputText [formControl]=\"streetAddress\" maxlength=\"40\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='streetAddress' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-optionalAddress' : 'optionalAddress'\" type=\"input\" pInputText [formControl]=\"optionalAddress\" placeholder='{{\"common.optional\" | translate}}'\r\n maxlength=\"40\" />\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-city' : 'city'\">{{'common.city' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-city' : 'city'\" type=\"input\" pInputText [formControl]=\"city\" maxlength=\"30\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-state' : 'state'\">{{'common.state' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"stateOptions\" [formControl]=\"state\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-state' : 'state'\" [ariaLabel]=\"inputId ? inputId + '-state' : 'state'\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && (state.value.value==='KS' && forState==='KS' \r\n || (state.value.value==='CT' && forState==='KS')) && countyRequired===true\" size=\"12\"style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-county' : 'county'\">{{'common.county' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"countyOptions\" [formControl]=\"county\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-county' : 'county'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='county' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && state.value.value==='ME' && forState==='ME' && countyRequired===true\" size=\"12\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-town' : 'town'\">{{'Town' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"townOptions\" [formControl]=\"town\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-town' : 'town'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='town' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <!-- </div> -->\r\n</form>", styles: [".col{padding-top:0;padding-bottom:0}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}ion-col{padding-left:0}.app-col{margin-left:27px;padding-right:0}\n"] }]
|
|
550
|
+
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.UtilService }, { type: i3.QuestionnaireService }, { type: i4.LoggerService }, { type: i5.DmsService }, { type: i6.TranslateService }], { addressFormDirective: [{
|
|
551
|
+
type: ViewChild,
|
|
552
|
+
args: ['addressFormDirective', { static: false }]
|
|
553
|
+
}], address: [{
|
|
554
|
+
type: Output
|
|
555
|
+
}], countyRequired: [{
|
|
556
|
+
type: Input
|
|
557
|
+
}], fromPopup: [{
|
|
558
|
+
type: Input
|
|
559
|
+
}], inputId: [{
|
|
560
|
+
type: Input
|
|
561
|
+
}], readonly: [{
|
|
562
|
+
type: Input
|
|
563
|
+
}] }); })();
|
|
564
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressComponent, { className: "AddressComponent", filePath: "lib\\components\\address\\address.component.ts", lineNumber: 31 }); })();
|
|
565
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBdUYsYUFBYSxFQUFFLGlCQUFpQixFQUFhLFVBQVUsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBRTNMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUtwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNnRTFELG1DQUNzSCxjQUFBLGVBQUE7SUFFeEQsWUFBK0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxTQUFBLG1CQUFBO0lBTXZHLGlCQUFNLEVBQUE7Ozs7SUFURCwwRUFBcUQ7SUFHakQsZUFBZ0Q7SUFBaEQsNEVBQWdEO0lBQUMsZUFBK0I7SUFBL0IsNERBQStCO0lBQ3pFLGVBQXFCO0lBQXJCLDBDQUFxQixpQ0FBQSw4QkFBQSwyQkFBQSxtRUFBQTtJQUV4QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxxQ0FBZ0IsYUFBQSx3REFBQTs7O0lBS3RELG1DQUFtTSxjQUFBLGVBQUE7SUFFekksWUFBc0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxT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NkRBQUE7WUFFMUIsZUFBb0I7WUFBcEIseUJBQW9CO1lBQUMsaUNBQWUsYUFBQSxxREFBQTtZQUthLGVBQ2E7WUFEYiw2TEFDYTtZQVViLGVBQXlGO1lBQXpGLGdJQUF5Rjs7O2lGRHREbEosZ0JBQWdCO2NBakI1QixTQUFTOzJCQUNFLGFBQWEsYUFHWixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsa0JBQWtCO3dCQUM3QixLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxrQkFBa0I7cUJBQzlCO2lCQUNBO29NQU1NLG9CQUFvQjtrQkFEMUIsU0FBUzttQkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFTMUMsT0FBTztrQkFBaEIsTUFBTTtZQUNFLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSzs7a0ZBZkssZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IERtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kbXMtc2VydmljZS9kbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZHJlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogQWRkcmVzc0NvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICB1c2VFeGlzdGluZzogQWRkcmVzc0NvbXBvbmVudFxyXG4gIH1cclxuICBdLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIFZhbGlkYXRvciB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3NGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGFkZHJlc3NGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHB1YmxpYyBhZGRyZXNzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnR5T3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIHRvd25PcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gIHB1YmxpYyBhZGRyZXNzRGF0YTogQWRkcmVzc0NvbXBvbmVudE1vZGVsID0gbmV3IEFkZHJlc3NDb21wb25lbnRNb2RlbCgpO1xyXG4gIEBPdXRwdXQoKSBhZGRyZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBJbnB1dCgpIGNvdW50eVJlcXVpcmVkOiBCb29sZWFuO1xyXG4gIEBJbnB1dCgpIGZyb21Qb3B1cDogQm9vbGVhbjtcclxuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBwdWJsaWMgZm9yU3RhdGU6IHN0cmluZztcclxuICB1c1ppcGNvZGVWYWxpZGF0aW9uczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzVmFsaWRaaXBDb2RlXTtcclxuICBjYW5hZGFaaXBjb2RlVmFsaWRhdGlvbnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkQ2FuYWRpYW5aaXBDb2RlXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIHF1ZXN0aW9ubmFpcmVTZXJ2aWNlOiBRdWVzdGlvbm5haXJlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIGRtczogRG1zU2VydmljZSwgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmZvclN0YXRlID0gdXRpbC5nZXRTdGF0ZSgpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTtcclxuICAgIHRoaXMuYWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2NvdW50cnknOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICd6aXAnOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAnc3RyZWV0QWRkcmVzcyc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ3N0YXRlJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnb3B0aW9uYWxBZGRyZXNzJzogW251bGxdLFxyXG4gICAgICAndG93bic6IFtudWxsXSxcclxuICAgICAgJ2NvdW50eSc6IFtudWxsXSxcclxuICAgICAgJ2NpdHknOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgdGhpcy5zZXRSZXF1aXJlZFZhbGlkYXRpb24oKTtcclxuXHJcbiAgICB0aGlzLmNvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJTdGF0ZShjb3VudHJ5KVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdGF0ZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHN0YXRlID0+IHtcclxuICAgICAgaWYoc3RhdGUpe1xyXG4gICAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdLUycpICYmIHN0YXRlLnZhbHVlID09ICdLUycpe1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJDb3VudHkoc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnV0aWwuaXNTdGF0ZSgnTVMnKSAmJiBzdGF0ZS52YWx1ZSA9PSAnTVMnKXtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyQ291bnR5KHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy51dGlsLmlzU3RhdGUoJ0NUJykgJiYgc3RhdGUudmFsdWUgPT0gJ0NUJyl7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlckNvdW50eShzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdNRScpICYmIHN0YXRlLnZhbHVlID09ICdNRScpe1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJUb3duKHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuemlwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoIHppcCA9PiB7XHJcbiAgICAgIGlmKHppcCAmJiB0aGlzLnN0YXRlLnZhbHVlID09IHRoaXMuZm9yU3RhdGUpe1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQ291bnR5KHRoaXMuc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNvdW50cnkuc2V0VmFsdWUoeyB2YWx1ZTogXCJVU1wiLCB0ZXh0OiBcIlVuaXRlZCBTdGF0ZXNcIiB9KTtcclxuICB9XHJcblxyXG4gIHNldFJlcXVpcmVkVmFsaWRhdGlvbigpIHtcclxuICAgIHRoaXMuY291bnRyeS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICBpZihjLnZhbHVlID09ICdVUycpe1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy56aXApO1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuemlwLCB0aGlzLnVzWmlwY29kZVZhbGlkYXRpb25zKTtcclxuICAgICAgfSBlbHNlIGlmKGMudmFsdWUgPT0gJ0NBJyl7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnppcCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy56aXAsIHRoaXMuY2FuYWRhWmlwY29kZVZhbGlkYXRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSkgXHJcbiAgICB0aGlzLnN0YXRlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoc3RhdGVWYWx1ZSA9PiB7XHJcbiAgICAgIGlmIChzdGF0ZVZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCgoc3RhdGVWYWx1ZS52YWx1ZSA9PT0gJ0tTJyAmJiB0aGlzLmZvclN0YXRlID09PSAnS1MnKVxyXG4gICAgICAgICAgfHwgKHN0YXRlVmFsdWUudmFsdWUgPT09ICdDVCcgJiYgdGhpcy5mb3JTdGF0ZSA9PT0gJ0NUJykpICYmIHRoaXMuY291bnR5UmVxdWlyZWQgPT09IHRydWUpIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvdW50eSk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudG93bik7XHJcbiAgICAgICAgICB0aGlzLnRvd24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZVZhbHVlLnZhbHVlID09PSAnTUUnICYmIHRoaXMuZm9yU3RhdGUgPT09ICdNRScgJiYgdGhpcy5jb3VudHlSZXF1aXJlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudG93bik7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY291bnR5KTtcclxuICAgICAgICAgIHRoaXMuY291bnR5LnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb3VudHkpO1xyXG4gICAgICAgICAgdGhpcy5jb3VudHkuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudG93bik7XHJcbiAgICAgICAgICB0aGlzLnRvd24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0IHRvd24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1sndG93biddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvdW50eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWydjb3VudHknXTtcclxuICB9XHJcblxyXG4gIGdldCBjaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ2NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBjb3VudHJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ2NvdW50cnknXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWydzdGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHppcCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWyd6aXAnXTtcclxuICB9XHJcblxyXG4gIGdldCBzdHJlZXRBZGRyZXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ3N0cmVldEFkZHJlc3MnXTtcclxuICB9XHJcblxyXG4gIGdldCBvcHRpb25hbEFkZHJlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snb3B0aW9uYWxBZGRyZXNzJ107XHJcbiAgfVxyXG5cclxuICBnZXRBZGRyZXNzRGF0YShldmVudCkge1xyXG5cclxuICAgIC8qKlVuY29tbWVudCB3aGVuIHppcC1sb29rdXAgaWYgZml4ZWQgKi9cclxuXHJcbiAgICAvLyBpZiAodGhpcy56aXAgJiYgdGhpcy56aXAudmFsdWUpIHtcclxuICAgIC8vICAgdGhpcy5kbXNcclxuICAgIC8vICAgICAuZ2V0QWRkcmVzcyh0aGlzLnppcC52YWx1ZSlcclxuICAgIC8vICAgICAuc3Vic2NyaWJlKFxyXG4gICAgLy8gICAgICAgcmVzID0+IHtcclxuICAgIC8vICAgICAgICAgdGhpcy5hZGRyZXNzRGF0YSA9IHJlcztcclxuICAgIC8vICAgICAgICAgaWYodGhpcy5hZGRyZXNzRGF0YS5jaXR5KXtcclxuICAgIC8vICAgICAgICAgICB0aGlzLmNpdHkucGF0Y2hWYWx1ZSh0aGlzLmFkZHJlc3NEYXRhLmNpdHkpO1xyXG4gICAgLy8gICAgICAgICB9XHJcblxyXG4gICAgLy8gICAgICAgICBpZih0aGlzLmFkZHJlc3NEYXRhLnN0YXRlKXtcclxuICAgIC8vICAgICAgICAgICB0aGlzLnN0YXRlLnBhdGNoVmFsdWUodGhpcy5hZGRyZXNzRGF0YS5zdGF0ZSk7XHJcbiAgICAvLyAgICAgICAgIH0gXHJcblxyXG4gICAgLy8gICAgICAgICBpZih0aGlzLmFkZHJlc3NEYXRhLmNvdW50eSl7XHJcbiAgICAvLyAgICAgICAgICAgdGhpcy5jb3VudHkucGF0Y2hWYWx1ZSh0aGlzLmFkZHJlc3NEYXRhLmNvdW50eSk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAvLyAgICAgICB9LFxyXG4gICAgLy8gICAgICAgZXJyID0+IHtcclxuICAgIC8vICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZXJyKTtcclxuICAgIC8vICAgICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyQ291bnRyeShldmVudCkge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXHJcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLmNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb3VudHJ5T3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMuY291bnRyeU9wdGlvbnNbaV07XHJcbiAgICAgIGlmIChjb3VudHJ5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBmaWx0ZXJlZDtcclxuXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJDb3VudHkoZXZlbnQpIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KHRoaXMuc3RhdGUudmFsdWVbJ3ZhbHVlJ10sIHRoaXMuemlwLnZhbHVlKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgLyp0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc1snY2hvaWNlcyddLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBsZXQgY2hvaWNlID0gcmVzWydjaG9pY2VzJ11baV07XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICAgICAgZmlsdGVyZWQucHVzaChjaG9pY2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0qL1xyXG4gICAgICAgIHRoaXMuY291bnR5T3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlclRvd24oZXZlbnQpIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KHRoaXMuc3RhdGUudmFsdWVbJ3ZhbHVlJ10sIHRoaXMuemlwLnZhbHVlKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy50b3duT3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlclN0YXRlKGV2ZW50KSB7XHJcbiAgICBsZXQgY2hvaWNlOiBhbnk7XHJcbiAgICBpZiAodGhpcy5jb3VudHJ5Py52YWx1ZT8udmFsdWUgPT09ICdVUycpIHtcclxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgICAgY2hvaWNlID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgY2hvaWNlID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY291bnRyeT8udmFsdWU/LnZhbHVlID09PSAnQ0EnKSB7XHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTX0VTO1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLypmb3IgKGxldCBpID0gMDsgaSA8IGNob2ljZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoY2hvaWNlW2ldLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZVtpXSk7XHJcbiAgICAgIH1cclxuICAgIH0qL1xyXG4gICAgdGhpcy5zdGF0ZU9wdGlvbnMgPSBjaG9pY2U7XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGhTdHlsZSgpOiBvYmplY3Qge1xyXG4gICAgaWYgKHRoaXMuZnJvbVBvcHVwKSB7XHJcbiAgICAgIGxldCBzdHlsZU9iaiA9IHtcclxuICAgICAgICAnbWF4LXdpZHRoJzogJ2luaXRpYWwnXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBzdHlsZU9iaiA9IHtcclxuICAgICAgICAnbWF4LXdpZHRoJzogJ2ZpdC1jb250ZW50J1xyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdHlsZU9iaik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xyXG5cclxuICBvbkNoYW5nZVN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgZm9yIChsZXQgc3ViIG9mIHRoaXMub25DaGFuZ2VTdWJzKSB7XHJcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KSB7XHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLmFkZHJlc3NGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUob25DaGFuZ2UpO1xyXG4gICAgdGhpcy5vbkNoYW5nZVN1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICBpZiAoZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5hZGRyZXNzRm9ybS5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRyZXNzRm9ybS5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGxldCBmb3JtVmFsdWUgOiBBZGRyZXNzQ29tcG9uZW50TW9kZWw7XHJcbiAgICBpZih0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpe1xyXG4gICAgICBmb3JtVmFsdWUgPSBKU09OLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9ybVZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBpZiAoZm9ybVZhbHVlKSB7XHJcbiAgICAgIGlmIChmb3JtVmFsdWUuY291bnRyeSAmJiAhZm9ybVZhbHVlLmNvdW50cnkudGV4dCAmJiBmb3JtVmFsdWUuY291bnRyeS52YWx1ZSkge1xyXG4gICAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5KGZvcm1WYWx1ZS5jb3VudHJ5Py52YWx1ZSlcclxuICAgICAgICBmb3JtVmFsdWUuY291bnRyeSA9IGNvdW50cnk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChmb3JtVmFsdWUuc3RhdGUgJiYgIWZvcm1WYWx1ZS5zdGF0ZS50ZXh0ICYmIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZSkge1xyXG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGUoZm9ybVZhbHVlLmNvdW50cnk/LnZhbHVlLCBmb3JtVmFsdWUuc3RhdGUudmFsdWUudHJpbSgpKVxyXG4gICAgICAgIGZvcm1WYWx1ZS5zdGF0ZSA9IHN0YXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZm9ybVZhbHVlLmNvdW50eSAmJiAhZm9ybVZhbHVlLmNvdW50eS50ZXh0ICYmIGZvcm1WYWx1ZS5jb3VudHkudmFsdWUgJiYgZm9ybVZhbHVlLnN0YXRlLnZhbHVlID09PSAnS1MnKSB7XHJcbiAgICAgICAgdGhpcy5zZXRNU0NvdW50eShmb3JtVmFsdWUuY291bnR5KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGZvcm1WYWx1ZS50b3duICYmICFmb3JtVmFsdWUudG93bi50ZXh0ICYmIGZvcm1WYWx1ZS50b3duLnZhbHVlICYmIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZSA9PT0gJ01FJykge1xyXG4gICAgICAgIHRoaXMuc2V0TUVUb3duKGZvcm1WYWx1ZVsnemlwJ10gLGZvcm1WYWx1ZS50b3duKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtLnBhdGNoVmFsdWUoZm9ybVZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0Q291bnRyeShjb3VudHJ5KSB7XHJcbiAgICBpZiAoY291bnRyeSA9PSBudWxsIHx8IGNvdW50cnkgPT0gJ1VTJykge1xyXG4gICAgICByZXR1cm4geyB2YWx1ZTogXCJVU1wiLCB0ZXh0OiBcIlVuaXRlZCBTdGF0ZXNcIiB9O1xyXG4gICAgfSBlbHNlIGlmIChjb3VudHJ5ID09ICdDQScpIHtcclxuICAgICAgcmV0dXJuIHsgdmFsdWU6IFwiQ0FcIiwgdGV4dDogXCJDYW5hZGFcIiB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTm8gQ291bnRyeSBjb25maWd1cmVkICcsIGNvdW50cnkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldFN0YXRlKGNvdW50cnksIHN0YXRlKSB7XHJcbiAgICBpZiAoY291bnRyeSA9PSBudWxsIHx8IGNvdW50cnkgPT0gJ1VTJykge1xyXG4gICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlVmFsdWUoQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLCBzdGF0ZSk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZVZhbHVlKENvbWJvT3B0aW9uLlVTX1NUQVRFUywgc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGNvdW50cnkgPT0gJ0NBJykge1xyXG4gICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlVmFsdWUoQ29tYm9PcHRpb24uQ0FfU1RBVEVTX0VTLCBzdGF0ZSk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZVZhbHVlKENvbWJvT3B0aW9uLkNBX1NUQVRFUywgc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdObyBDb3VudHJ5IGNvbmZpZ3VyZWQgJywgY291bnRyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0U3RhdGVWYWx1ZShzdGF0ZXM6IENvbWJvT3B0aW9uW10sIG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHN0YXRlcy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gbmFtZSlbMF07XHJcbiAgfVxyXG5cclxuICBzZXRNRVRvd24oemlwQ29kZSA6IHN0cmluZywgdG93bjogQ29tYm9PcHRpb24pIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KCdNRScsIHppcENvZGUpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLnRvd25PcHRpb25zID0gcmVzWydjaG9pY2VzJ107XHJcbiAgICAgICAgbGV0IHNlbGVjdGVkQ291bnR5ID0gdGhpcy50b3duT3B0aW9ucy5maWx0ZXIoYyA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gYy52YWx1ZSA9PSB0b3duLnZhbHVlO1xyXG4gICAgICAgIH0pWzBdO1xyXG4gICAgICAgIHRoaXMudG93bi5wYXRjaFZhbHVlKHNlbGVjdGVkQ291bnR5KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRNU0NvdW50eShjb3VudHk6IENvbWJvT3B0aW9uKSB7XHJcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLmdldENvdW50eSgnS1MnLCB0aGlzLnppcC52YWx1ZSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuY291bnR5T3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICAgIGxldCBzZWxlY3RlZENvdW50eSA9IHRoaXMuY291bnR5T3B0aW9ucy5maWx0ZXIoYyA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gYy52YWx1ZSA9PSBjb3VudHkudmFsdWU7XHJcbiAgICAgICAgfSlbMF07XHJcbiAgICAgICAgdGhpcy5jb3VudHkucGF0Y2hWYWx1ZShzZWxlY3RlZENvdW50eSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKHRoaXMuYWRkcmVzc0Zvcm0udmFsaWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKXtcclxuICAgIHRoaXMuYWRkcmVzc0Zvcm1EaXJlY3RpdmUub25TdWJtaXQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGdldCByZXF1aXJlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24ucmVxdWlyZWQnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBMZW5ndGgoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnppcGNvZGUubGVuZ3RoJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwT25seU51bWJlcnMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnppcGNvZGUub25seS5udW1iZXJzJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwSW52YWxpZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uemlwY29kZS5pbnZhbGlkJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwQ29kZU51bWVyaWMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2Vla2xpZXMud2Vla2x5Y2VydC5lbXBsb3llci56aXBjb2RlLm51bWVyaWMnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBDb2RlTGVuZ3RoKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dlZWtsaWVzLndlZWtseWNlcnQuZW1wbG95ZXIuemlwY29kZS5sZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBDb2RlSW52YWxpZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3ZWVrbGllcy53ZWVrbHljZXJ0LmVtcGxveWVyLnppcGNvZGUuaW52YWxpZCcpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtXCIgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7IG1hcmdpbi1sZWZ0OiAwcHg7XCI+XHJcbiAgPCEtLSA8ZGl2IFtmb3JtR3JvdXBdPVwiYWRkcmVzc0Zvcm1cIiAgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgPiAtLT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInAtZm9ybWdyaWRcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgOiAnYWRkcmVzcy1kaXYnXCI+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNvdW50cnknIDogJ2NvdW50cnknXCI+e3snY29tbW9uLmNvdW50cnknIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtvcHRpb25zXT1cImNvdW50cnlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNvdW50cnlcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHJ5JyA6ICdjb3VudHJ5J1wiID48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50cnknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wgYXBwLWNvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXppcCcgOiAnemlwJ1wiPnt7J2NvbW1vbi56aXBjb2RlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGlucHV0IFtyZWFkb25seV09XCJyZWFkb25seVwiIFtpZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctemlwJyA6ICd6aXAnXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiemlwXCIgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjlcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cImdldEFkZHJlc3NEYXRhKCRldmVudClcIiAvPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nemlwJyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIGludmFsaWRMZW5ndGg6IHppcENvZGVMZW5ndGgsXHJcbiAgICAgICAgICAgICAgICBpbnZhbGlkTnVtYmVyOiB6aXBDb2RlTnVtZXJpYyxcclxuICAgICAgICAgICAgICAgIGludmFsaWRaaXBDb2RlOiB6aXBDb2RlSW52YWxpZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIFxyXG5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMHB4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwLWZsdWlkXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctc3RyZWV0QWRkcmVzcycgOiAnc3RyZWV0QWRkcmVzcydcIj57eydjb21tb24uc3RyZWV0YWRkcmVzcycgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICA8aW5wdXQgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2lkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdHJlZXRBZGRyZXNzJyA6ICdzdHJlZXRBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInN0cmVldEFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIC8+PGJyIC8+XHJcbiAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RyZWV0QWRkcmVzcycgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLW9wdGlvbmFsQWRkcmVzcycgOiAnb3B0aW9uYWxBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm9wdGlvbmFsQWRkcmVzc1wiIHBsYWNlaG9sZGVyPSd7e1wiY29tbW9uLm9wdGlvbmFsXCIgfCB0cmFuc2xhdGV9fSdcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNDBcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG4gICAgPGlvbi1yb3c+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wnIDogJ2NvbCBjb2wtZml0LWNvbnRlbnQnXCIgIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctY2l0eScgOiAnY2l0eSdcIj57eydjb21tb24uY2l0eScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNpdHknIDogJ2NpdHknXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiY2l0eVwiIG1heGxlbmd0aD1cIjMwXCIgLz48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NpdHknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCBhcHAtY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIj57eydjb21tb24uc3RhdGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtvcHRpb25zXT1cInN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgW2lucHV0SWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIiBbYXJpYUxhYmVsXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdGF0ZScgOiAnc3RhdGUnXCI+PC9hcHAtZHJvcGRvd24+PGJyIC8+XHJcbiAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhdGUnIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICpuZ0lmPVwic3RhdGUudmFsdWUgJiYgKHN0YXRlLnZhbHVlLnZhbHVlPT09J0tTJyAmJiBmb3JTdGF0ZT09PSdLUycgXHJcbiAgICAgICAgfHwgKHN0YXRlLnZhbHVlLnZhbHVlPT09J0NUJyAgJiYgZm9yU3RhdGU9PT0nS1MnKSkgICYmIGNvdW50eVJlcXVpcmVkPT09dHJ1ZVwiIHNpemU9XCIxMlwic3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHknIDogJ2NvdW50eSdcIj57eydjb21tb24uY291bnR5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbb3B0aW9uc109XCJjb3VudHlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNvdW50eVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBbaW5wdXRJZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctY291bnR5JyA6ICdjb3VudHknXCI+PC9hcHAtZHJvcGRvd24+PGJyLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50eScgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAqbmdJZj1cInN0YXRlLnZhbHVlICYmIHN0YXRlLnZhbHVlLnZhbHVlPT09J01FJyAmJiBmb3JTdGF0ZT09PSdNRScgJiYgY291bnR5UmVxdWlyZWQ9PT10cnVlXCIgc2l6ZT1cIjEyXCIgIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctdG93bicgOiAndG93bidcIj57eydUb3duJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbb3B0aW9uc109XCJ0b3duT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ0b3duXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy10b3duJyA6ICd0b3duJ1wiPjwvYXBwLWRyb3Bkb3duPjxici8+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd0b3duJyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPC9kaXY+IC0tPlxyXG48L2Zvcm0+Il19
|