@reusa/ngx-reusa-app-lib 0.0.732 → 0.1.731
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/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
- package/esm2022/lib/components/address/address.component.mjs +487 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -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 +970 -0
- package/esm2022/lib/components/content/content.component.mjs +61 -0
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -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 +283 -0
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
- package/esm2022/lib/components/error/error.component.mjs +86 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
- package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
- package/esm2022/lib/components/footer/footer.component.mjs +332 -0
- package/esm2022/lib/components/header/header.component.mjs +558 -0
- package/esm2022/lib/components/help/help.component.mjs +49 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
- package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -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 +423 -0
- package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -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 +177 -0
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
- package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
- package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
- 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 +142 -0
- package/esm2022/lib/components/select/select.component.mjs +154 -0
- package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
- package/esm2022/lib/components/test/test.component.mjs +19 -0
- package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
- package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
- package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
- package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
- package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
- package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
- package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
- package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
- package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
- package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
- package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
- package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
- package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
- package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
- package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
- package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
- package/esm2022/lib/models/dashboard-model.mjs +3 -0
- package/esm2022/lib/models/dependent.model.mjs +8 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
- package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
- package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
- package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
- package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
- package/esm2022/lib/pages/common/login/login.component.mjs +526 -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 +61 -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/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
- package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
- package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
- package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
- package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
- package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
- package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
- package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
- package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
- package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
- package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
- package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
- package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
- package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
- package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
- package/esm2022/lib/services/login/login.service.mjs +330 -0
- package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
- package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
- package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
- package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
- package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
- package/esm2022/lib/validations/AppRegex.mjs +45 -0
- package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
- package/{esm2020 → esm2022}/public-api.mjs +131 -131
- package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
- package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/annimations/app-animations.d.ts +3 -3
- package/lib/components/add-employer/add-employer.component.d.ts +276 -276
- package/lib/components/add-participant/add-participant.component.d.ts +45 -45
- package/lib/components/add-payment/add-payment.component.d.ts +33 -33
- package/lib/components/address/address.component.d.ts +68 -68
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +39 -39
- package/lib/components/captcha/captcha.component.d.ts +44 -44
- package/lib/components/card/card.component.d.ts +11 -11
- package/lib/components/contact-us/contact-us.component.d.ts +105 -107
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/content/content.component.d.ts +13 -13
- package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
- package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
- package/lib/components/disclosure/disclosure.component.d.ts +12 -12
- package/lib/components/dropdown/dropdown.component.d.ts +581 -207
- package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
- 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 +31 -31
- package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +17 -17
- package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
- package/lib/components/file-download/file-download.component.d.ts +22 -22
- package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
- package/lib/components/footer/footer.component.d.ts +36 -36
- package/lib/components/header/header.component.d.ts +59 -58
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/help/help.component.d.ts +10 -10
- package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
- package/lib/components/info/info.component.d.ts +22 -22
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
- package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
- package/lib/components/mask/mask.component.d.ts +11 -11
- package/lib/components/menu/menu.component.d.ts +43 -43
- package/lib/components/mfa/mfa.component.d.ts +59 -59
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
- package/lib/components/money-expect/money-expect.component.d.ts +18 -18
- package/lib/components/msg/msg.component.d.ts +10 -10
- package/lib/components/news/news.component.d.ts +14 -14
- package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
- package/lib/components/page/page.component.d.ts +23 -23
- package/lib/components/profile/profile.component.d.ts +28 -28
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
- package/lib/components/questionnaire/AppValidators.d.ts +14 -14
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/FbConstants.d.ts +7 -7
- package/lib/components/questionnaire/SelectItem.d.ts +4 -4
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-base.d.ts +16 -16
- package/lib/components/questionnaire/question-control.service.d.ts +19 -19
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +18 -18
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/read-more/read-more.component.d.ts +14 -14
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
- package/lib/components/search-employer/search-employer.component.d.ts +37 -36
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/select/select.component.d.ts +55 -55
- package/lib/components/ssn/ssn.component.d.ts +11 -11
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
- package/lib/components/test/test.component.d.ts +8 -8
- package/lib/components/user-login/user-login.component.d.ts +48 -48
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
- package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
- package/lib/directives/caps-lock.directive.d.ts +11 -11
- package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
- package/lib/enums/EmailStatusEnum.d.ts +7 -7
- package/lib/guards/auth.guard.d.ts +28 -28
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/guards/no-login/no-login.guard.d.ts +11 -11
- package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
- package/lib/models/AddressComponentModel.d.ts +12 -12
- package/lib/models/BankDetailsComponentModel.d.ts +11 -11
- package/lib/models/BankDetailsModel.d.ts +4 -4
- package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
- package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
- package/lib/models/ErrorModel.d.ts +6 -6
- package/lib/models/FileModel.d.ts +4 -4
- package/lib/models/LibConstants.d.ts +112 -112
- package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
- package/lib/models/NotificationModel.d.ts +10 -10
- package/lib/models/OtpAuthModel.d.ts +6 -6
- package/lib/models/PaymentComponentModel.d.ts +7 -7
- package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
- package/lib/models/SsaVerificationModel.d.ts +8 -8
- package/lib/models/TrendModel.d.ts +13 -13
- package/lib/models/UserDetailsModel.d.ts +9 -9
- package/lib/models/UserModel.d.ts +46 -46
- package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
- package/lib/models/claimant/ClaimantModel.d.ts +22 -22
- package/lib/models/claimant/JobResultsData.d.ts +7 -7
- package/lib/models/claimant/MatchingJobs.d.ts +12 -12
- package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
- package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
- package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
- package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
- package/lib/models/cmp/ContactUsModel.d.ts +22 -22
- package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
- package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
- package/lib/models/cmp/messageRourceModel.d.ts +5 -5
- package/lib/models/dashboard-model.d.ts +43 -43
- package/lib/models/dependent.model.d.ts +11 -18
- package/lib/models/dependent.model.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
- package/lib/models/questionnaire/ComboModel.d.ts +85 -85
- package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
- package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
- package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
- package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
- package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
- package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
- package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
- package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
- package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
- package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
- package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
- package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
- package/lib/models/questionnaire/StatusModel.d.ts +15 -15
- package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
- package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
- package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
- package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
- package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
- package/lib/pages/BasePage.d.ts +26 -26
- package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
- package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
- package/lib/pages/common/landing/landing.component.d.ts +24 -24
- package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
- package/lib/pages/common/login/login.component.d.ts +64 -64
- package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
- package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
- package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
- package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
- package/lib/pages/popovers/language/language.page.d.ts +16 -16
- package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
- package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
- package/lib/pipes/filter.pipe.d.ts +7 -7
- package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
- package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
- package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
- package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
- package/lib/services/base-service.d.ts +92 -92
- package/lib/services/captcha/captcha.service.d.ts +15 -15
- package/lib/services/case-service/case.service.d.ts +19 -19
- package/lib/services/chatbot/chatbot.service.d.ts +60 -60
- package/lib/services/chatbot/script.const.d.ts +15 -15
- package/lib/services/claimant/claimant.service.d.ts +17 -17
- package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
- package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant.service.d.ts +19 -19
- package/lib/services/claims/claims.service.d.ts +39 -39
- package/lib/services/cmp-service/cmp.service.d.ts +33 -33
- package/lib/services/dms-service/dms.service.d.ts +23 -23
- package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
- package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
- package/lib/services/help/help.service.d.ts +25 -25
- package/lib/services/help/help.service.d.ts.map +1 -1
- package/lib/services/idle/idle.service.d.ts +43 -43
- package/lib/services/logger/logger.service.d.ts +31 -31
- package/lib/services/logger/logger.service.d.ts.map +1 -1
- package/lib/services/login/login.service.d.ts +75 -75
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/maintenance/maintenance.service.d.ts +15 -15
- package/lib/services/notification/notification.service.d.ts +38 -38
- package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
- package/lib/services/questionnaire/validation.service.d.ts +81 -81
- package/lib/services/security-service/security.service.d.ts +14 -14
- package/lib/services/tour/tour.service.d.ts +24 -24
- package/lib/services/util/util.service.d.ts +190 -190
- package/lib/validations/AppRegex.d.ts +43 -43
- package/lib/validations/AppValidators.d.ts +53 -53
- package/package.json +6 -11
- package/public-api.d.ts +121 -121
- package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
- package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
- package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
- package/esm2020/lib/components/address/address.component.mjs +0 -480
- package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
- package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
- package/esm2020/lib/components/card/card.component.mjs +0 -54
- package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
- package/esm2020/lib/components/content/content.component.mjs +0 -60
- package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
- package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
- package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
- package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
- package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
- package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
- package/esm2020/lib/components/error/error.component.mjs +0 -85
- package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
- package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
- package/esm2020/lib/components/footer/footer.component.mjs +0 -337
- package/esm2020/lib/components/header/header.component.mjs +0 -566
- package/esm2020/lib/components/help/help.component.mjs +0 -48
- package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
- package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
- package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
- package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
- package/esm2020/lib/components/mask/mask.component.mjs +0 -48
- package/esm2020/lib/components/menu/menu.component.mjs +0 -430
- package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
- package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
- package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
- package/esm2020/lib/components/msg/msg.component.mjs +0 -48
- package/esm2020/lib/components/news/news.component.mjs +0 -89
- package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
- package/esm2020/lib/components/page/page.component.mjs +0 -138
- package/esm2020/lib/components/profile/profile.component.mjs +0 -182
- package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
- package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
- package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
- package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
- package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
- package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
- package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
- package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
- package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
- package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
- package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
- package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
- package/esm2020/lib/components/select/select.component.mjs +0 -153
- package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
- package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
- package/esm2020/lib/components/test/test.component.mjs +0 -18
- package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
- package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
- package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
- package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
- package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
- package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
- package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
- package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
- package/esm2020/lib/models/dashboard-model.mjs +0 -3
- package/esm2020/lib/models/dependent.model.mjs +0 -8
- package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
- package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
- package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
- package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
- package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
- package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
- package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
- package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
- package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
- package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
- package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
- package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
- package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
- package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
- package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
- package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
- package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
- package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
- package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
- package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
- package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
- package/esm2020/lib/services/login/login.service.mjs +0 -330
- package/esm2020/lib/validations/AppRegex.mjs +0 -45
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
- package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
|
@@ -0,0 +1,3027 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { ClaimAppEmployerDetailsModel } from '../../models/questionnaire/ClaimAppEmployerDetailsModel';
|
|
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/questionnaire/validation.service";
|
|
9
|
+
import * as i3 from "../../services/util/util.service";
|
|
10
|
+
import * as i4 from "primeng/api";
|
|
11
|
+
import * as i5 from "../../services/logger/logger.service";
|
|
12
|
+
import * as i6 from "@angular/platform-browser";
|
|
13
|
+
import * as i7 from "../../services/claims/claims.service";
|
|
14
|
+
import * as i8 from "../../services/login/login.service";
|
|
15
|
+
import * as i9 from "@ionic/angular";
|
|
16
|
+
import * as i10 from "@angular/common";
|
|
17
|
+
import * as i11 from "primeng/dialog";
|
|
18
|
+
import * as i12 from "primeng/table";
|
|
19
|
+
import * as i13 from "primeng/inputtext";
|
|
20
|
+
import * as i14 from "primeng/inputmask";
|
|
21
|
+
import * as i15 from "primeng/calendar";
|
|
22
|
+
import * as i16 from "primeng/checkbox";
|
|
23
|
+
import * as i17 from "primeng/selectbutton";
|
|
24
|
+
import * as i18 from "primeng/inputnumber";
|
|
25
|
+
import * as i19 from "../error/error.component";
|
|
26
|
+
import * as i20 from "../overlay-info/overlay-info.component";
|
|
27
|
+
import * as i21 from "../search-employer/search-employer.component";
|
|
28
|
+
import * as i22 from "../address/address.component";
|
|
29
|
+
import * as i23 from "../dropdown/dropdown.component";
|
|
30
|
+
import * as i24 from "@ngx-translate/core";
|
|
31
|
+
const _c0 = ["address1"];
|
|
32
|
+
const _c1 = ["address2"];
|
|
33
|
+
const _c2 = ["addEmployerFormDirective"];
|
|
34
|
+
function AddEmployerComponent_div_10_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
i0.ɵɵelementStart(0, "div");
|
|
36
|
+
i0.ɵɵtext(1);
|
|
37
|
+
i0.ɵɵpipe(2, "translate");
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const ctx_r58 = i0.ɵɵnextContext(2);
|
|
41
|
+
i0.ɵɵadvance(1);
|
|
42
|
+
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(2, 2, "induction.confirm.employment.dba"), " ", ctx_r58.aliasName, "");
|
|
43
|
+
} }
|
|
44
|
+
function AddEmployerComponent_div_10_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelementStart(0, "div");
|
|
46
|
+
i0.ɵɵelement(1, "br");
|
|
47
|
+
i0.ɵɵtext(2);
|
|
48
|
+
i0.ɵɵpipe(3, "translate");
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
} if (rf & 2) {
|
|
51
|
+
i0.ɵɵadvance(2);
|
|
52
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "induction.confirm.employment.employer.wages"), " ");
|
|
53
|
+
} }
|
|
54
|
+
function AddEmployerComponent_div_10_div_7_ng_template_2_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
i0.ɵɵelementStart(0, "th")(1, "b");
|
|
56
|
+
i0.ɵɵtext(2);
|
|
57
|
+
i0.ɵɵelementEnd()();
|
|
58
|
+
} if (rf & 2) {
|
|
59
|
+
const col_r65 = ctx.$implicit;
|
|
60
|
+
i0.ɵɵadvance(2);
|
|
61
|
+
i0.ɵɵtextInterpolate(col_r65.qtrYearDisplayString);
|
|
62
|
+
} }
|
|
63
|
+
function AddEmployerComponent_div_10_div_7_ng_template_2_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
i0.ɵɵelementStart(0, "td");
|
|
65
|
+
i0.ɵɵtext(1);
|
|
66
|
+
i0.ɵɵpipe(2, "currency");
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
} if (rf & 2) {
|
|
69
|
+
const col_r66 = ctx.$implicit;
|
|
70
|
+
i0.ɵɵadvance(1);
|
|
71
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, col_r66.wageAmount), " ");
|
|
72
|
+
} }
|
|
73
|
+
function AddEmployerComponent_div_10_div_7_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
+
i0.ɵɵelementStart(0, "tr");
|
|
75
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_div_10_div_7_ng_template_2_th_1_Template, 3, 1, "th", 17);
|
|
76
|
+
i0.ɵɵelementEnd();
|
|
77
|
+
i0.ɵɵelementStart(2, "tr");
|
|
78
|
+
i0.ɵɵtemplate(3, AddEmployerComponent_div_10_div_7_ng_template_2_td_3_Template, 3, 3, "td", 17);
|
|
79
|
+
i0.ɵɵelementEnd();
|
|
80
|
+
} if (rf & 2) {
|
|
81
|
+
const columns_r62 = ctx.$implicit;
|
|
82
|
+
i0.ɵɵadvance(1);
|
|
83
|
+
i0.ɵɵproperty("ngForOf", columns_r62);
|
|
84
|
+
i0.ɵɵadvance(2);
|
|
85
|
+
i0.ɵɵproperty("ngForOf", columns_r62);
|
|
86
|
+
} }
|
|
87
|
+
function AddEmployerComponent_div_10_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "p-table", 15);
|
|
89
|
+
i0.ɵɵtemplate(2, AddEmployerComponent_div_10_div_7_ng_template_2_Template, 4, 2, "ng-template", 16);
|
|
90
|
+
i0.ɵɵelementEnd()();
|
|
91
|
+
} if (rf & 2) {
|
|
92
|
+
const ctx_r60 = i0.ɵɵnextContext(2);
|
|
93
|
+
i0.ɵɵadvance(1);
|
|
94
|
+
i0.ɵɵproperty("value", ctx_r60.employerProvidedWages)("columns", ctx_r60.employerProvidedWages);
|
|
95
|
+
} }
|
|
96
|
+
function AddEmployerComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
98
|
+
i0.ɵɵtext(1);
|
|
99
|
+
i0.ɵɵtemplate(2, AddEmployerComponent_div_10_div_2_Template, 3, 4, "div", 8);
|
|
100
|
+
i0.ɵɵelement(3, "br");
|
|
101
|
+
i0.ɵɵelementStart(4, "span", 14);
|
|
102
|
+
i0.ɵɵtext(5);
|
|
103
|
+
i0.ɵɵelementEnd();
|
|
104
|
+
i0.ɵɵtemplate(6, AddEmployerComponent_div_10_div_6_Template, 4, 3, "div", 8)(7, AddEmployerComponent_div_10_div_7_Template, 3, 2, "div", 6);
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
} if (rf & 2) {
|
|
107
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
108
|
+
i0.ɵɵadvance(1);
|
|
109
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.customerName, " ");
|
|
110
|
+
i0.ɵɵadvance(1);
|
|
111
|
+
i0.ɵɵproperty("ngIf", ctx_r1.aliasName != null);
|
|
112
|
+
i0.ɵɵadvance(3);
|
|
113
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.mailingAddressDisplay, " ");
|
|
114
|
+
i0.ɵɵadvance(1);
|
|
115
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isCSR);
|
|
116
|
+
i0.ɵɵadvance(1);
|
|
117
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isCSR);
|
|
118
|
+
} }
|
|
119
|
+
function AddEmployerComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 18);
|
|
121
|
+
i0.ɵɵtext(2);
|
|
122
|
+
i0.ɵɵpipe(3, "translate");
|
|
123
|
+
i0.ɵɵelement(4, "br")(5, "br");
|
|
124
|
+
i0.ɵɵtext(6);
|
|
125
|
+
i0.ɵɵpipe(7, "translate");
|
|
126
|
+
i0.ɵɵelementEnd()();
|
|
127
|
+
} if (rf & 2) {
|
|
128
|
+
i0.ɵɵadvance(2);
|
|
129
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.confirm.employment.workflag.no"));
|
|
130
|
+
i0.ɵɵadvance(4);
|
|
131
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 4, "induction.confirm.employment.workflag.no.line2"), "");
|
|
132
|
+
} }
|
|
133
|
+
const _c3 = () => ({ required: "required" });
|
|
134
|
+
function AddEmployerComponent_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
+
const _r68 = i0.ɵɵgetCurrentView();
|
|
136
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 19);
|
|
137
|
+
i0.ɵɵtext(2);
|
|
138
|
+
i0.ɵɵpipe(3, "translate");
|
|
139
|
+
i0.ɵɵelementEnd();
|
|
140
|
+
i0.ɵɵelementStart(4, "div", 20)(5, "p-selectButton", 21);
|
|
141
|
+
i0.ɵɵlistener("onOptionClick", function AddEmployerComponent_div_12_Template_p_selectButton_onOptionClick_5_listener($event) { i0.ɵɵrestoreView(_r68); const ctx_r67 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r67.onToggleChangeEmployerType($event)); });
|
|
142
|
+
i0.ɵɵelementEnd();
|
|
143
|
+
i0.ɵɵelement(6, "app-error", 22);
|
|
144
|
+
i0.ɵɵelementEnd()();
|
|
145
|
+
} if (rf & 2) {
|
|
146
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
147
|
+
const _r0 = i0.ɵɵreference(5);
|
|
148
|
+
i0.ɵɵadvance(2);
|
|
149
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.employer.type"));
|
|
150
|
+
i0.ɵɵadvance(3);
|
|
151
|
+
i0.ɵɵproperty("options", ctx_r3.employerTypeOptions)("formControl", ctx_r3.employerType);
|
|
152
|
+
i0.ɵɵadvance(1);
|
|
153
|
+
i0.ɵɵclassMap("app-grid");
|
|
154
|
+
i0.ɵɵproperty("field", ctx_r3.employerType)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
155
|
+
} }
|
|
156
|
+
function AddEmployerComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
157
|
+
const _r70 = i0.ɵɵgetCurrentView();
|
|
158
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 23);
|
|
159
|
+
i0.ɵɵtext(2);
|
|
160
|
+
i0.ɵɵpipe(3, "translate");
|
|
161
|
+
i0.ɵɵelementEnd();
|
|
162
|
+
i0.ɵɵelementStart(4, "app-search-employer", 24);
|
|
163
|
+
i0.ɵɵlistener("onFound", function AddEmployerComponent_div_13_Template_app_search_employer_onFound_4_listener($event) { i0.ɵɵrestoreView(_r70); const ctx_r69 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r69.setEmployer($event)); })("onEmpty", function AddEmployerComponent_div_13_Template_app_search_employer_onEmpty_4_listener($event) { i0.ɵɵrestoreView(_r70); const ctx_r71 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r71.resetEmployer($event)); });
|
|
164
|
+
i0.ɵɵelementEnd();
|
|
165
|
+
i0.ɵɵelement(5, "app-error", 22);
|
|
166
|
+
i0.ɵɵelementEnd();
|
|
167
|
+
} if (rf & 2) {
|
|
168
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
169
|
+
const _r0 = i0.ɵɵreference(5);
|
|
170
|
+
i0.ɵɵadvance(2);
|
|
171
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.employer.name"));
|
|
172
|
+
i0.ɵɵadvance(2);
|
|
173
|
+
i0.ɵɵproperty("formControl", ctx_r4.employerName);
|
|
174
|
+
i0.ɵɵadvance(1);
|
|
175
|
+
i0.ɵɵclassMap("app-grid");
|
|
176
|
+
i0.ɵɵproperty("field", ctx_r4.employerName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
177
|
+
} }
|
|
178
|
+
function AddEmployerComponent_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
179
|
+
const _r73 = i0.ɵɵgetCurrentView();
|
|
180
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "label", 26);
|
|
181
|
+
i0.ɵɵtext(2);
|
|
182
|
+
i0.ɵɵpipe(3, "translate");
|
|
183
|
+
i0.ɵɵelementEnd();
|
|
184
|
+
i0.ɵɵelementStart(4, "app-search-employer", 27);
|
|
185
|
+
i0.ɵɵlistener("onFound", function AddEmployerComponent_div_14_Template_app_search_employer_onFound_4_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r72.setFedEmployer($event)); })("onEmpty", function AddEmployerComponent_div_14_Template_app_search_employer_onEmpty_4_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r74 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r74.resetFedEmployer($event)); });
|
|
186
|
+
i0.ɵɵelementEnd();
|
|
187
|
+
i0.ɵɵelement(5, "app-error", 22);
|
|
188
|
+
i0.ɵɵelementEnd();
|
|
189
|
+
} if (rf & 2) {
|
|
190
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
191
|
+
const _r0 = i0.ɵɵreference(5);
|
|
192
|
+
i0.ɵɵadvance(2);
|
|
193
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.employer.fed.name"));
|
|
194
|
+
i0.ɵɵadvance(2);
|
|
195
|
+
i0.ɵɵproperty("formControl", ctx_r5.fedEmployerName);
|
|
196
|
+
i0.ɵɵadvance(1);
|
|
197
|
+
i0.ɵɵclassMap("app-grid");
|
|
198
|
+
i0.ɵɵproperty("field", ctx_r5.fedEmployerName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
199
|
+
} }
|
|
200
|
+
function AddEmployerComponent_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
201
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 28);
|
|
202
|
+
i0.ɵɵtext(2);
|
|
203
|
+
i0.ɵɵpipe(3, "translate");
|
|
204
|
+
i0.ɵɵelementEnd();
|
|
205
|
+
i0.ɵɵelement(4, "app-dropdown", 29)(5, "app-error", 22);
|
|
206
|
+
i0.ɵɵelementEnd();
|
|
207
|
+
} if (rf & 2) {
|
|
208
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
209
|
+
const _r0 = i0.ɵɵreference(5);
|
|
210
|
+
i0.ɵɵadvance(2);
|
|
211
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.service.branch"));
|
|
212
|
+
i0.ɵɵadvance(2);
|
|
213
|
+
i0.ɵɵproperty("options", ctx_r6.militaryServiceOptions)("formControl", ctx_r6.serviceBranch)("autoDisplayFirst", false);
|
|
214
|
+
i0.ɵɵadvance(1);
|
|
215
|
+
i0.ɵɵclassMap("app-grid");
|
|
216
|
+
i0.ɵɵproperty("field", ctx_r6.serviceBranch)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
217
|
+
} }
|
|
218
|
+
function AddEmployerComponent_ion_row_16_Template(rf, ctx) { if (rf & 1) {
|
|
219
|
+
const _r76 = i0.ɵɵgetCurrentView();
|
|
220
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 31);
|
|
221
|
+
i0.ɵɵtext(4);
|
|
222
|
+
i0.ɵɵpipe(5, "translate");
|
|
223
|
+
i0.ɵɵelementEnd();
|
|
224
|
+
i0.ɵɵelementStart(6, "p-calendar", 32);
|
|
225
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_16_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r75 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r75.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_16_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r77 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r77.validate($event)); })("onInput", function AddEmployerComponent_ion_row_16_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r78 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r78.dateInput($event)); });
|
|
226
|
+
i0.ɵɵelementEnd();
|
|
227
|
+
i0.ɵɵelement(7, "app-error", 22);
|
|
228
|
+
i0.ɵɵelementEnd()();
|
|
229
|
+
i0.ɵɵelement(8, "ion-col", 33);
|
|
230
|
+
i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 34);
|
|
231
|
+
i0.ɵɵtext(12);
|
|
232
|
+
i0.ɵɵpipe(13, "translate");
|
|
233
|
+
i0.ɵɵelementEnd();
|
|
234
|
+
i0.ɵɵelementStart(14, "p-calendar", 35);
|
|
235
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_16_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r79 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r79.dateInput($event)); });
|
|
236
|
+
i0.ɵɵelementEnd();
|
|
237
|
+
i0.ɵɵelement(15, "app-error", 22);
|
|
238
|
+
i0.ɵɵelementEnd()()();
|
|
239
|
+
} if (rf & 2) {
|
|
240
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
241
|
+
const _r0 = i0.ɵɵreference(5);
|
|
242
|
+
i0.ɵɵadvance(4);
|
|
243
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 23, "induction.add.employment.mil.startdate"));
|
|
244
|
+
i0.ɵɵadvance(2);
|
|
245
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r7.startDateMil)("maxDate", ctx_r7.dateTime)("yearNavigator", true)("showOnFocus", false);
|
|
246
|
+
i0.ɵɵadvance(1);
|
|
247
|
+
i0.ɵɵclassMap("app-grid");
|
|
248
|
+
i0.ɵɵproperty("field", ctx_r7.startDateMil)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c3));
|
|
249
|
+
i0.ɵɵadvance(5);
|
|
250
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "induction.add.employment.mil.enddate"));
|
|
251
|
+
i0.ɵɵadvance(2);
|
|
252
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r7.dateTime)("minDate", ctx_r7.minDate)("yearNavigator", true)("formControl", ctx_r7.endDateMil)("showOnFocus", false);
|
|
253
|
+
i0.ɵɵadvance(1);
|
|
254
|
+
i0.ɵɵclassMap("app-grid");
|
|
255
|
+
i0.ɵɵproperty("field", ctx_r7.endDateMil)("form", _r0)("errDef", i0.ɵɵpureFunction0(28, _c3));
|
|
256
|
+
} }
|
|
257
|
+
function AddEmployerComponent_ion_row_17_Template(rf, ctx) { if (rf & 1) {
|
|
258
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 36);
|
|
259
|
+
i0.ɵɵtext(4);
|
|
260
|
+
i0.ɵɵpipe(5, "translate");
|
|
261
|
+
i0.ɵɵelementEnd();
|
|
262
|
+
i0.ɵɵelement(6, "input", 37)(7, "app-error", 22);
|
|
263
|
+
i0.ɵɵelementEnd()();
|
|
264
|
+
i0.ɵɵelement(8, "ion-col", 33);
|
|
265
|
+
i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 38);
|
|
266
|
+
i0.ɵɵtext(12);
|
|
267
|
+
i0.ɵɵpipe(13, "translate");
|
|
268
|
+
i0.ɵɵelementEnd();
|
|
269
|
+
i0.ɵɵelement(14, "input", 39)(15, "app-error", 22);
|
|
270
|
+
i0.ɵɵelementEnd()()();
|
|
271
|
+
} if (rf & 2) {
|
|
272
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
273
|
+
const _r0 = i0.ɵɵreference(5);
|
|
274
|
+
i0.ɵɵadvance(4);
|
|
275
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, "induction.add.employment.fed.fic.code"));
|
|
276
|
+
i0.ɵɵadvance(2);
|
|
277
|
+
i0.ɵɵproperty("formControl", ctx_r8.ficCode);
|
|
278
|
+
i0.ɵɵadvance(1);
|
|
279
|
+
i0.ɵɵclassMap("app-grid");
|
|
280
|
+
i0.ɵɵproperty("field", ctx_r8.ficCode)("form", _r0)("errDef", i0.ɵɵpureFunction0(18, _c3));
|
|
281
|
+
i0.ɵɵadvance(5);
|
|
282
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 16, "induction.add.employment.fed.fic.destination"));
|
|
283
|
+
i0.ɵɵadvance(2);
|
|
284
|
+
i0.ɵɵproperty("formControl", ctx_r8.ficDestinationName);
|
|
285
|
+
i0.ɵɵadvance(1);
|
|
286
|
+
i0.ɵɵclassMap("app-grid");
|
|
287
|
+
i0.ɵɵproperty("field", ctx_r8.ficDestinationName)("form", _r0)("errDef", i0.ɵɵpureFunction0(19, _c3));
|
|
288
|
+
} }
|
|
289
|
+
function AddEmployerComponent_ion_row_18_Template(rf, ctx) { if (rf & 1) {
|
|
290
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 40);
|
|
291
|
+
i0.ɵɵelement(2, "app-address", 41, 42);
|
|
292
|
+
i0.ɵɵelementEnd()();
|
|
293
|
+
} if (rf & 2) {
|
|
294
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
295
|
+
i0.ɵɵadvance(2);
|
|
296
|
+
i0.ɵɵproperty("formControl", ctx_r9.address)("countyRequired", false)("fromPopup", true);
|
|
297
|
+
} }
|
|
298
|
+
const _c4 = () => ({ addressValidationFlag: "Please provide, a valid address." });
|
|
299
|
+
function AddEmployerComponent_div_19_Template(rf, ctx) { if (rf & 1) {
|
|
300
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
301
|
+
i0.ɵɵelement(1, "app-address", 43, 44)(3, "app-error", 22);
|
|
302
|
+
i0.ɵɵelementEnd();
|
|
303
|
+
} if (rf & 2) {
|
|
304
|
+
const ctx_r10 = i0.ɵɵnextContext();
|
|
305
|
+
const _r0 = i0.ɵɵreference(5);
|
|
306
|
+
i0.ɵɵadvance(1);
|
|
307
|
+
i0.ɵɵproperty("formControl", ctx_r10.address)("fromPopup", true);
|
|
308
|
+
i0.ɵɵadvance(2);
|
|
309
|
+
i0.ɵɵclassMap("app-grid");
|
|
310
|
+
i0.ɵɵproperty("field", ctx_r10.address)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c4));
|
|
311
|
+
} }
|
|
312
|
+
function AddEmployerComponent_ion_row_20_Template(rf, ctx) { if (rf & 1) {
|
|
313
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 45);
|
|
314
|
+
i0.ɵɵtext(4);
|
|
315
|
+
i0.ɵɵpipe(5, "translate");
|
|
316
|
+
i0.ɵɵelementEnd();
|
|
317
|
+
i0.ɵɵelement(6, "input", 46)(7, "app-error", 22);
|
|
318
|
+
i0.ɵɵelementEnd()();
|
|
319
|
+
i0.ɵɵelement(8, "ion-col", 33);
|
|
320
|
+
i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 47);
|
|
321
|
+
i0.ɵɵtext(12);
|
|
322
|
+
i0.ɵɵpipe(13, "translate");
|
|
323
|
+
i0.ɵɵelementEnd();
|
|
324
|
+
i0.ɵɵelement(14, "app-dropdown", 48)(15, "app-error", 22);
|
|
325
|
+
i0.ɵɵelementEnd()()();
|
|
326
|
+
} if (rf & 2) {
|
|
327
|
+
const ctx_r11 = i0.ɵɵnextContext();
|
|
328
|
+
const _r0 = i0.ɵɵreference(5);
|
|
329
|
+
i0.ɵɵadvance(4);
|
|
330
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 16, "induction.add.employment.work.location.city"), " ");
|
|
331
|
+
i0.ɵɵadvance(2);
|
|
332
|
+
i0.ɵɵproperty("formControl", ctx_r11.workCity);
|
|
333
|
+
i0.ɵɵadvance(1);
|
|
334
|
+
i0.ɵɵclassMap("app-grid");
|
|
335
|
+
i0.ɵɵproperty("field", ctx_r11.workCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(20, _c3));
|
|
336
|
+
i0.ɵɵadvance(5);
|
|
337
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 18, "induction.add.employment.work.location.state"));
|
|
338
|
+
i0.ɵɵadvance(2);
|
|
339
|
+
i0.ɵɵproperty("options", ctx_r11.statesOptions)("formControl", ctx_r11.workState)("autoDisplayFirst", false);
|
|
340
|
+
i0.ɵɵadvance(1);
|
|
341
|
+
i0.ɵɵclassMap("app-grid");
|
|
342
|
+
i0.ɵɵproperty("field", ctx_r11.workState)("form", _r0)("errDef", i0.ɵɵpureFunction0(21, _c3));
|
|
343
|
+
} }
|
|
344
|
+
function AddEmployerComponent_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
345
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 49);
|
|
346
|
+
i0.ɵɵtext(2);
|
|
347
|
+
i0.ɵɵpipe(3, "translate");
|
|
348
|
+
i0.ɵɵelementEnd();
|
|
349
|
+
i0.ɵɵelement(4, "app-dropdown", 50)(5, "app-error", 22);
|
|
350
|
+
i0.ɵɵelementEnd();
|
|
351
|
+
} if (rf & 2) {
|
|
352
|
+
const ctx_r12 = i0.ɵɵnextContext();
|
|
353
|
+
const _r0 = i0.ɵɵreference(5);
|
|
354
|
+
i0.ɵɵadvance(2);
|
|
355
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.fed.work.location.country"));
|
|
356
|
+
i0.ɵɵadvance(2);
|
|
357
|
+
i0.ɵɵproperty("options", ctx_r12.workCountryOptions)("formControl", ctx_r12.fedWorkCountry)("autoDisplayFirst", false);
|
|
358
|
+
i0.ɵɵadvance(1);
|
|
359
|
+
i0.ɵɵclassMap("app-grid");
|
|
360
|
+
i0.ɵɵproperty("field", ctx_r12.fedWorkCountry)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
361
|
+
} }
|
|
362
|
+
function AddEmployerComponent_ion_row_22_ion_col_9_Template(rf, ctx) { if (rf & 1) {
|
|
363
|
+
i0.ɵɵelementStart(0, "ion-col", 30)(1, "div", 13)(2, "label", 54);
|
|
364
|
+
i0.ɵɵtext(3);
|
|
365
|
+
i0.ɵɵpipe(4, "translate");
|
|
366
|
+
i0.ɵɵelementEnd();
|
|
367
|
+
i0.ɵɵelement(5, "app-dropdown", 55)(6, "app-error", 22);
|
|
368
|
+
i0.ɵɵelementEnd()();
|
|
369
|
+
} if (rf & 2) {
|
|
370
|
+
const ctx_r82 = i0.ɵɵnextContext(2);
|
|
371
|
+
const _r0 = i0.ɵɵreference(5);
|
|
372
|
+
i0.ɵɵadvance(3);
|
|
373
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.work.location.state"));
|
|
374
|
+
i0.ɵɵadvance(2);
|
|
375
|
+
i0.ɵɵproperty("options", ctx_r82.statesOptions)("formControl", ctx_r82.fedWorkState)("autoDisplayFirst", false);
|
|
376
|
+
i0.ɵɵadvance(1);
|
|
377
|
+
i0.ɵɵclassMap("app-grid");
|
|
378
|
+
i0.ɵɵproperty("field", ctx_r82.fedWorkState)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
379
|
+
} }
|
|
380
|
+
function AddEmployerComponent_ion_row_22_Template(rf, ctx) { if (rf & 1) {
|
|
381
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 51);
|
|
382
|
+
i0.ɵɵtext(4);
|
|
383
|
+
i0.ɵɵpipe(5, "translate");
|
|
384
|
+
i0.ɵɵelementEnd();
|
|
385
|
+
i0.ɵɵelement(6, "input", 52)(7, "app-error", 22);
|
|
386
|
+
i0.ɵɵelementEnd()();
|
|
387
|
+
i0.ɵɵelement(8, "ion-col", 33);
|
|
388
|
+
i0.ɵɵtemplate(9, AddEmployerComponent_ion_row_22_ion_col_9_Template, 7, 12, "ion-col", 53);
|
|
389
|
+
i0.ɵɵelementEnd();
|
|
390
|
+
} if (rf & 2) {
|
|
391
|
+
const ctx_r13 = i0.ɵɵnextContext();
|
|
392
|
+
const _r0 = i0.ɵɵreference(5);
|
|
393
|
+
i0.ɵɵadvance(4);
|
|
394
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 8, "induction.add.employment.work.location.city"));
|
|
395
|
+
i0.ɵɵadvance(2);
|
|
396
|
+
i0.ɵɵproperty("formControl", ctx_r13.fedWorkCity);
|
|
397
|
+
i0.ɵɵadvance(1);
|
|
398
|
+
i0.ɵɵclassMap("app-grid");
|
|
399
|
+
i0.ɵɵproperty("field", ctx_r13.fedWorkCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
400
|
+
i0.ɵɵadvance(2);
|
|
401
|
+
i0.ɵɵproperty("ngIf", ctx_r13.showWorkState === true);
|
|
402
|
+
} }
|
|
403
|
+
function AddEmployerComponent_ion_row_23_Template(rf, ctx) { if (rf & 1) {
|
|
404
|
+
const _r84 = i0.ɵɵgetCurrentView();
|
|
405
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 56);
|
|
406
|
+
i0.ɵɵtext(4);
|
|
407
|
+
i0.ɵɵpipe(5, "translate");
|
|
408
|
+
i0.ɵɵelementEnd();
|
|
409
|
+
i0.ɵɵelementStart(6, "p-calendar", 57);
|
|
410
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_23_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r83 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r83.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_23_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r85 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r85.validate($event)); })("onInput", function AddEmployerComponent_ion_row_23_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r86 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r86.dateInput($event)); });
|
|
411
|
+
i0.ɵɵelementEnd();
|
|
412
|
+
i0.ɵɵelement(7, "app-error", 22);
|
|
413
|
+
i0.ɵɵelementEnd()();
|
|
414
|
+
i0.ɵɵelement(8, "ion-col", 33);
|
|
415
|
+
i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 58);
|
|
416
|
+
i0.ɵɵtext(12);
|
|
417
|
+
i0.ɵɵpipe(13, "translate");
|
|
418
|
+
i0.ɵɵelementEnd();
|
|
419
|
+
i0.ɵɵelementStart(14, "p-calendar", 59);
|
|
420
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_23_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r84); const ctx_r87 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r87.dateInput($event)); });
|
|
421
|
+
i0.ɵɵelementEnd();
|
|
422
|
+
i0.ɵɵelement(15, "app-error", 22);
|
|
423
|
+
i0.ɵɵelementEnd()()();
|
|
424
|
+
} if (rf & 2) {
|
|
425
|
+
const ctx_r14 = i0.ɵɵnextContext();
|
|
426
|
+
const _r0 = i0.ɵɵreference(5);
|
|
427
|
+
i0.ɵɵadvance(4);
|
|
428
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 23, "induction.add.employment.fed.startdate"));
|
|
429
|
+
i0.ɵɵadvance(2);
|
|
430
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r14.dateTime)("formControl", ctx_r14.startDateFed)("yearNavigator", true)("showOnFocus", false);
|
|
431
|
+
i0.ɵɵadvance(1);
|
|
432
|
+
i0.ɵɵclassMap("app-grid");
|
|
433
|
+
i0.ɵɵproperty("field", ctx_r14.startDateFed)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c3));
|
|
434
|
+
i0.ɵɵadvance(5);
|
|
435
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "induction.add.employment.fed.enddate"));
|
|
436
|
+
i0.ɵɵadvance(2);
|
|
437
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r14.dateTime)("minDate", ctx_r14.minDate)("yearNavigator", true)("formControl", ctx_r14.endDateFed)("showOnFocus", false);
|
|
438
|
+
i0.ɵɵadvance(1);
|
|
439
|
+
i0.ɵɵclassMap("app-grid");
|
|
440
|
+
i0.ɵɵproperty("field", ctx_r14.endDateFed)("form", _r0)("errDef", i0.ɵɵpureFunction0(28, _c3));
|
|
441
|
+
} }
|
|
442
|
+
function AddEmployerComponent_div_24_Template(rf, ctx) { if (rf & 1) {
|
|
443
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 60);
|
|
444
|
+
i0.ɵɵtext(2);
|
|
445
|
+
i0.ɵɵpipe(3, "translate");
|
|
446
|
+
i0.ɵɵelementEnd();
|
|
447
|
+
i0.ɵɵelement(4, "input", 61)(5, "app-error", 22);
|
|
448
|
+
i0.ɵɵelementEnd();
|
|
449
|
+
} if (rf & 2) {
|
|
450
|
+
const ctx_r15 = i0.ɵɵnextContext();
|
|
451
|
+
const _r0 = i0.ɵɵreference(5);
|
|
452
|
+
i0.ɵɵadvance(2);
|
|
453
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.fed.jobtitle"));
|
|
454
|
+
i0.ɵɵadvance(2);
|
|
455
|
+
i0.ɵɵproperty("formControl", ctx_r15.fedJobTileOrPosition);
|
|
456
|
+
i0.ɵɵadvance(1);
|
|
457
|
+
i0.ɵɵclassMap("app-grid");
|
|
458
|
+
i0.ɵɵproperty("field", ctx_r15.fedJobTileOrPosition)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
459
|
+
} }
|
|
460
|
+
function AddEmployerComponent_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
461
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 62);
|
|
462
|
+
i0.ɵɵtext(2);
|
|
463
|
+
i0.ɵɵpipe(3, "translate");
|
|
464
|
+
i0.ɵɵelementEnd();
|
|
465
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
466
|
+
i0.ɵɵelement(5, "p-selectButton", 64);
|
|
467
|
+
i0.ɵɵelementEnd();
|
|
468
|
+
i0.ɵɵelement(6, "app-error", 22);
|
|
469
|
+
i0.ɵɵelementEnd();
|
|
470
|
+
} if (rf & 2) {
|
|
471
|
+
const ctx_r16 = i0.ɵɵnextContext();
|
|
472
|
+
const _r0 = i0.ɵɵreference(5);
|
|
473
|
+
i0.ɵɵadvance(2);
|
|
474
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.sfeight"), " ");
|
|
475
|
+
i0.ɵɵadvance(3);
|
|
476
|
+
i0.ɵɵproperty("options", ctx_r16.radioOptions)("formControl", ctx_r16.sfEightflag);
|
|
477
|
+
i0.ɵɵadvance(1);
|
|
478
|
+
i0.ɵɵclassMap("app-grid");
|
|
479
|
+
i0.ɵɵproperty("field", ctx_r16.sfEightflag)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
480
|
+
} }
|
|
481
|
+
function AddEmployerComponent_ion_row_26_Template(rf, ctx) { if (rf & 1) {
|
|
482
|
+
const _r89 = i0.ɵɵgetCurrentView();
|
|
483
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 65);
|
|
484
|
+
i0.ɵɵtext(4);
|
|
485
|
+
i0.ɵɵpipe(5, "translate");
|
|
486
|
+
i0.ɵɵelementEnd();
|
|
487
|
+
i0.ɵɵelementStart(6, "p-calendar", 66);
|
|
488
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_26_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r88 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r88.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_26_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r90 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r90.validate($event)); })("onInput", function AddEmployerComponent_ion_row_26_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r91 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r91.dateInput($event)); });
|
|
489
|
+
i0.ɵɵelementEnd();
|
|
490
|
+
i0.ɵɵelement(7, "app-error", 22);
|
|
491
|
+
i0.ɵɵelementEnd()();
|
|
492
|
+
i0.ɵɵelement(8, "ion-col", 33);
|
|
493
|
+
i0.ɵɵelementStart(9, "ion-col", 30)(10, "div", 13)(11, "label", 67);
|
|
494
|
+
i0.ɵɵtext(12);
|
|
495
|
+
i0.ɵɵpipe(13, "translate");
|
|
496
|
+
i0.ɵɵelementEnd();
|
|
497
|
+
i0.ɵɵelementStart(14, "p-calendar", 68);
|
|
498
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_26_Template_p_calendar_onBlur_14_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r92 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r92.validateWagesDisplay($event)); })("onInput", function AddEmployerComponent_ion_row_26_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r93 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r93.dateInput($event)); })("onSelect", function AddEmployerComponent_ion_row_26_Template_p_calendar_onSelect_14_listener($event) { i0.ɵɵrestoreView(_r89); const ctx_r94 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r94.validateWagesDisplay($event)); });
|
|
499
|
+
i0.ɵɵelementEnd();
|
|
500
|
+
i0.ɵɵelement(15, "app-error", 22);
|
|
501
|
+
i0.ɵɵelementEnd()()();
|
|
502
|
+
} if (rf & 2) {
|
|
503
|
+
const ctx_r17 = i0.ɵɵnextContext();
|
|
504
|
+
const _r0 = i0.ɵɵreference(5);
|
|
505
|
+
i0.ɵɵadvance(4);
|
|
506
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 23, "induction.confirm.employment.startdate"));
|
|
507
|
+
i0.ɵɵadvance(2);
|
|
508
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r17.dateTime)("formControl", ctx_r17.startDate)("yearNavigator", true)("showOnFocus", false);
|
|
509
|
+
i0.ɵɵadvance(1);
|
|
510
|
+
i0.ɵɵclassMap("app-grid");
|
|
511
|
+
i0.ɵɵproperty("field", ctx_r17.startDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(27, _c3));
|
|
512
|
+
i0.ɵɵadvance(5);
|
|
513
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "induction.confirm.employment.enddate"));
|
|
514
|
+
i0.ɵɵadvance(2);
|
|
515
|
+
i0.ɵɵproperty("showIcon", true)("minDate", ctx_r17.minDate)("maxDate", ctx_r17.dateTime)("yearNavigator", true)("formControl", ctx_r17.endDate)("showOnFocus", false);
|
|
516
|
+
i0.ɵɵadvance(1);
|
|
517
|
+
i0.ɵɵclassMap("app-grid");
|
|
518
|
+
i0.ɵɵproperty("field", ctx_r17.endDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(28, _c3));
|
|
519
|
+
} }
|
|
520
|
+
function AddEmployerComponent_ion_row_27_Template(rf, ctx) { if (rf & 1) {
|
|
521
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 69);
|
|
522
|
+
i0.ɵɵtext(4);
|
|
523
|
+
i0.ɵɵpipe(5, "translate");
|
|
524
|
+
i0.ɵɵelementEnd();
|
|
525
|
+
i0.ɵɵelement(6, "input", 70)(7, "app-error", 22);
|
|
526
|
+
i0.ɵɵelementEnd()()();
|
|
527
|
+
} if (rf & 2) {
|
|
528
|
+
const ctx_r18 = i0.ɵɵnextContext();
|
|
529
|
+
const _r0 = i0.ɵɵreference(5);
|
|
530
|
+
i0.ɵɵadvance(4);
|
|
531
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.work.type"));
|
|
532
|
+
i0.ɵɵadvance(2);
|
|
533
|
+
i0.ɵɵproperty("formControl", ctx_r18.workType);
|
|
534
|
+
i0.ɵɵadvance(1);
|
|
535
|
+
i0.ɵɵclassMap("app-grid");
|
|
536
|
+
i0.ɵɵproperty("field", ctx_r18.workType)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
537
|
+
} }
|
|
538
|
+
function AddEmployerComponent_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
539
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 71);
|
|
540
|
+
i0.ɵɵtext(2);
|
|
541
|
+
i0.ɵɵpipe(3, "translate");
|
|
542
|
+
i0.ɵɵelementEnd();
|
|
543
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
544
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
545
|
+
i0.ɵɵelementEnd()();
|
|
546
|
+
} if (rf & 2) {
|
|
547
|
+
const ctx_r19 = i0.ɵɵnextContext();
|
|
548
|
+
const _r0 = i0.ɵɵreference(5);
|
|
549
|
+
i0.ɵɵadvance(2);
|
|
550
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.civilian.work"));
|
|
551
|
+
i0.ɵɵadvance(3);
|
|
552
|
+
i0.ɵɵproperty("options", ctx_r19.radioOptions)("formControl", ctx_r19.performedService);
|
|
553
|
+
i0.ɵɵadvance(1);
|
|
554
|
+
i0.ɵɵclassMap("app-grid");
|
|
555
|
+
i0.ɵɵproperty("field", ctx_r19.performedService)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
556
|
+
} }
|
|
557
|
+
function AddEmployerComponent_div_29_Template(rf, ctx) { if (rf & 1) {
|
|
558
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 72);
|
|
559
|
+
i0.ɵɵtext(2);
|
|
560
|
+
i0.ɵɵpipe(3, "translate");
|
|
561
|
+
i0.ɵɵelementEnd();
|
|
562
|
+
i0.ɵɵelement(4, "input", 73)(5, "app-error", 22);
|
|
563
|
+
i0.ɵɵelementEnd();
|
|
564
|
+
} if (rf & 2) {
|
|
565
|
+
const ctx_r20 = i0.ɵɵnextContext();
|
|
566
|
+
const _r0 = i0.ɵɵreference(5);
|
|
567
|
+
i0.ɵɵadvance(2);
|
|
568
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.jobtitle"));
|
|
569
|
+
i0.ɵɵadvance(2);
|
|
570
|
+
i0.ɵɵproperty("formControl", ctx_r20.jobTileOrPosition);
|
|
571
|
+
i0.ɵɵadvance(1);
|
|
572
|
+
i0.ɵɵclassMap("app-grid");
|
|
573
|
+
i0.ɵɵproperty("field", ctx_r20.jobTileOrPosition)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
574
|
+
} }
|
|
575
|
+
function AddEmployerComponent_ion_row_30_ion_col_1_Template(rf, ctx) { if (rf & 1) {
|
|
576
|
+
i0.ɵɵelementStart(0, "ion-col", 76)(1, "div", 13)(2, "label", 77);
|
|
577
|
+
i0.ɵɵtext(3);
|
|
578
|
+
i0.ɵɵpipe(4, "translate");
|
|
579
|
+
i0.ɵɵelementEnd();
|
|
580
|
+
i0.ɵɵelement(5, "p-inputNumber", 78)(6, "app-error", 22);
|
|
581
|
+
i0.ɵɵelementEnd()();
|
|
582
|
+
} if (rf & 2) {
|
|
583
|
+
const ctx_r95 = i0.ɵɵnextContext(2);
|
|
584
|
+
const _r0 = i0.ɵɵreference(5);
|
|
585
|
+
i0.ɵɵadvance(3);
|
|
586
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.confirm.employment.payrate"));
|
|
587
|
+
i0.ɵɵadvance(2);
|
|
588
|
+
i0.ɵɵproperty("formControl", ctx_r95.payRate)("max", 999999.99);
|
|
589
|
+
i0.ɵɵadvance(1);
|
|
590
|
+
i0.ɵɵclassMap("app-grid");
|
|
591
|
+
i0.ɵɵproperty("field", ctx_r95.payRate)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
592
|
+
} }
|
|
593
|
+
function AddEmployerComponent_ion_row_30_ion_col_2_Template(rf, ctx) { if (rf & 1) {
|
|
594
|
+
i0.ɵɵelementStart(0, "ion-col", 79)(1, "div", 13)(2, "label", 80);
|
|
595
|
+
i0.ɵɵtext(3);
|
|
596
|
+
i0.ɵɵpipe(4, "translate");
|
|
597
|
+
i0.ɵɵelementEnd();
|
|
598
|
+
i0.ɵɵelement(5, "app-dropdown", 81)(6, "app-error", 22);
|
|
599
|
+
i0.ɵɵelementEnd()();
|
|
600
|
+
} if (rf & 2) {
|
|
601
|
+
const ctx_r96 = i0.ɵɵnextContext(2);
|
|
602
|
+
const _r0 = i0.ɵɵreference(5);
|
|
603
|
+
i0.ɵɵadvance(3);
|
|
604
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.confirm.employment.per"));
|
|
605
|
+
i0.ɵɵadvance(2);
|
|
606
|
+
i0.ɵɵproperty("options", ctx_r96.payRateOptions)("formControl", ctx_r96.payRateFrequency)("autoDisplayFirst", false);
|
|
607
|
+
i0.ɵɵadvance(1);
|
|
608
|
+
i0.ɵɵclassMap("app-grid");
|
|
609
|
+
i0.ɵɵproperty("field", ctx_r96.payRateFrequency)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
610
|
+
} }
|
|
611
|
+
function AddEmployerComponent_ion_row_30_Template(rf, ctx) { if (rf & 1) {
|
|
612
|
+
i0.ɵɵelementStart(0, "ion-row");
|
|
613
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_ion_row_30_ion_col_1_Template, 7, 11, "ion-col", 74)(2, AddEmployerComponent_ion_row_30_ion_col_2_Template, 7, 12, "ion-col", 75);
|
|
614
|
+
i0.ɵɵelementEnd();
|
|
615
|
+
} if (rf & 2) {
|
|
616
|
+
const ctx_r21 = i0.ɵɵnextContext();
|
|
617
|
+
i0.ɵɵadvance(1);
|
|
618
|
+
i0.ɵɵproperty("ngIf", ctx_r21.isBasePeriodEmployer && ctx_r21.workFlag.value === "Y");
|
|
619
|
+
i0.ɵɵadvance(1);
|
|
620
|
+
i0.ɵɵproperty("ngIf", ctx_r21.isBasePeriodEmployer && ctx_r21.workFlag.value === "Y");
|
|
621
|
+
} }
|
|
622
|
+
function AddEmployerComponent_div_31_Template(rf, ctx) { if (rf & 1) {
|
|
623
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 82);
|
|
624
|
+
i0.ɵɵtext(2);
|
|
625
|
+
i0.ɵɵpipe(3, "translate");
|
|
626
|
+
i0.ɵɵelementEnd();
|
|
627
|
+
i0.ɵɵelement(4, "p-inputMask", 83)(5, "app-error", 22);
|
|
628
|
+
i0.ɵɵelementEnd();
|
|
629
|
+
} if (rf & 2) {
|
|
630
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
631
|
+
const _r0 = i0.ɵɵreference(5);
|
|
632
|
+
i0.ɵɵadvance(2);
|
|
633
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.employer.phone"));
|
|
634
|
+
i0.ɵɵadvance(2);
|
|
635
|
+
i0.ɵɵproperty("id", ctx_r22.employerTelephoneNumber)("formControl", ctx_r22.employerTelephoneNumber);
|
|
636
|
+
i0.ɵɵadvance(1);
|
|
637
|
+
i0.ɵɵclassMap("app-grid");
|
|
638
|
+
i0.ɵɵproperty("field", ctx_r22.employerTelephoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
639
|
+
} }
|
|
640
|
+
function AddEmployerComponent_div_32_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
641
|
+
i0.ɵɵelementStart(0, "div");
|
|
642
|
+
i0.ɵɵtext(1);
|
|
643
|
+
i0.ɵɵpipe(2, "translate");
|
|
644
|
+
i0.ɵɵelementEnd();
|
|
645
|
+
} if (rf & 2) {
|
|
646
|
+
i0.ɵɵadvance(1);
|
|
647
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.confirm.employment.reason.separation"));
|
|
648
|
+
} }
|
|
649
|
+
function AddEmployerComponent_div_32_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
650
|
+
i0.ɵɵelementStart(0, "div");
|
|
651
|
+
i0.ɵɵtext(1);
|
|
652
|
+
i0.ɵɵpipe(2, "translate");
|
|
653
|
+
i0.ɵɵelementEnd();
|
|
654
|
+
} if (rf & 2) {
|
|
655
|
+
i0.ɵɵadvance(1);
|
|
656
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.add.employment.fed.reason.separation"));
|
|
657
|
+
} }
|
|
658
|
+
function AddEmployerComponent_div_32_Template(rf, ctx) { if (rf & 1) {
|
|
659
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 84);
|
|
660
|
+
i0.ɵɵtemplate(2, AddEmployerComponent_div_32_div_2_Template, 3, 3, "div", 8)(3, AddEmployerComponent_div_32_div_3_Template, 3, 3, "div", 8);
|
|
661
|
+
i0.ɵɵelementEnd();
|
|
662
|
+
i0.ɵɵelement(4, "app-dropdown", 85)(5, "app-error", 22);
|
|
663
|
+
i0.ɵɵelementEnd();
|
|
664
|
+
} if (rf & 2) {
|
|
665
|
+
const ctx_r23 = i0.ɵɵnextContext();
|
|
666
|
+
const _r0 = i0.ɵɵreference(5);
|
|
667
|
+
i0.ɵɵadvance(2);
|
|
668
|
+
i0.ɵɵproperty("ngIf", ctx_r23.employerType.value === "REG");
|
|
669
|
+
i0.ɵɵadvance(1);
|
|
670
|
+
i0.ɵɵproperty("ngIf", ctx_r23.employerType.value === "FED");
|
|
671
|
+
i0.ɵɵadvance(1);
|
|
672
|
+
i0.ɵɵproperty("options", ctx_r23.employmentStatusOptionsAll)("formControl", ctx_r23.reasonSeparation)("autoDisplayFirst", false);
|
|
673
|
+
i0.ɵɵadvance(1);
|
|
674
|
+
i0.ɵɵclassMap("app-grid");
|
|
675
|
+
i0.ɵɵproperty("field", ctx_r23.reasonSeparation)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
676
|
+
} }
|
|
677
|
+
function AddEmployerComponent_div_33_Template(rf, ctx) { if (rf & 1) {
|
|
678
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 86);
|
|
679
|
+
i0.ɵɵtext(2);
|
|
680
|
+
i0.ɵɵpipe(3, "translate");
|
|
681
|
+
i0.ɵɵelementEnd();
|
|
682
|
+
i0.ɵɵelement(4, "app-dropdown", 87)(5, "app-error", 22);
|
|
683
|
+
i0.ɵɵelementEnd();
|
|
684
|
+
} if (rf & 2) {
|
|
685
|
+
const ctx_r24 = i0.ɵɵnextContext();
|
|
686
|
+
const _r0 = i0.ɵɵreference(5);
|
|
687
|
+
i0.ɵɵadvance(2);
|
|
688
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
|
|
689
|
+
i0.ɵɵadvance(2);
|
|
690
|
+
i0.ɵɵproperty("options", ctx_r24.dischargeReasonOptionsAll)("formControl", ctx_r24.dischargeDetail)("autoDisplayFirst", false);
|
|
691
|
+
i0.ɵɵadvance(1);
|
|
692
|
+
i0.ɵɵclassMap("app-grid");
|
|
693
|
+
i0.ɵɵproperty("field", ctx_r24.dischargeDetail)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
694
|
+
} }
|
|
695
|
+
function AddEmployerComponent_div_34_Template(rf, ctx) { if (rf & 1) {
|
|
696
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 88);
|
|
697
|
+
i0.ɵɵtext(2);
|
|
698
|
+
i0.ɵɵpipe(3, "translate");
|
|
699
|
+
i0.ɵɵelementEnd();
|
|
700
|
+
i0.ɵɵelement(4, "app-dropdown", 89)(5, "app-error", 22);
|
|
701
|
+
i0.ɵɵelementEnd();
|
|
702
|
+
} if (rf & 2) {
|
|
703
|
+
const ctx_r25 = i0.ɵɵnextContext();
|
|
704
|
+
const _r0 = i0.ɵɵreference(5);
|
|
705
|
+
i0.ɵɵadvance(2);
|
|
706
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
|
|
707
|
+
i0.ɵɵadvance(2);
|
|
708
|
+
i0.ɵɵproperty("options", ctx_r25.volQuitReasonOptionsAll)("formControl", ctx_r25.volQuitDetails)("autoDisplayFirst", false);
|
|
709
|
+
i0.ɵɵadvance(1);
|
|
710
|
+
i0.ɵɵclassMap("app-grid");
|
|
711
|
+
i0.ɵɵproperty("field", ctx_r25.volQuitDetails)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
712
|
+
} }
|
|
713
|
+
function AddEmployerComponent_div_35_Template(rf, ctx) { if (rf & 1) {
|
|
714
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 90);
|
|
715
|
+
i0.ɵɵtext(2);
|
|
716
|
+
i0.ɵɵpipe(3, "translate");
|
|
717
|
+
i0.ɵɵelement(4, "br");
|
|
718
|
+
i0.ɵɵtext(5);
|
|
719
|
+
i0.ɵɵpipe(6, "translate");
|
|
720
|
+
i0.ɵɵelementEnd();
|
|
721
|
+
i0.ɵɵelementStart(7, "div", 63);
|
|
722
|
+
i0.ɵɵelement(8, "p-selectButton", 64)(9, "app-error", 22);
|
|
723
|
+
i0.ɵɵelementEnd()();
|
|
724
|
+
} if (rf & 2) {
|
|
725
|
+
const ctx_r26 = i0.ɵɵnextContext();
|
|
726
|
+
const _r0 = i0.ɵɵreference(5);
|
|
727
|
+
i0.ɵɵadvance(2);
|
|
728
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.pension"), " ");
|
|
729
|
+
i0.ɵɵadvance(3);
|
|
730
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 11, "induction.add.employment.mil.pension.disclaimer"), " ");
|
|
731
|
+
i0.ɵɵadvance(3);
|
|
732
|
+
i0.ɵɵproperty("options", ctx_r26.radioOptions)("formControl", ctx_r26.milPensionFlag);
|
|
733
|
+
i0.ɵɵadvance(1);
|
|
734
|
+
i0.ɵɵclassMap("app-grid");
|
|
735
|
+
i0.ɵɵproperty("field", ctx_r26.milPensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c3));
|
|
736
|
+
} }
|
|
737
|
+
function AddEmployerComponent_div_36_Template(rf, ctx) { if (rf & 1) {
|
|
738
|
+
const _r100 = i0.ɵɵgetCurrentView();
|
|
739
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 91);
|
|
740
|
+
i0.ɵɵtext(2);
|
|
741
|
+
i0.ɵɵpipe(3, "translate");
|
|
742
|
+
i0.ɵɵelementEnd();
|
|
743
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 92);
|
|
744
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_div_36_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r100); const ctx_r99 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r99.dateInput($event)); });
|
|
745
|
+
i0.ɵɵelementEnd();
|
|
746
|
+
i0.ɵɵelement(6, "app-error", 22);
|
|
747
|
+
i0.ɵɵelementEnd()();
|
|
748
|
+
} if (rf & 2) {
|
|
749
|
+
const ctx_r27 = i0.ɵɵnextContext();
|
|
750
|
+
const _r0 = i0.ɵɵreference(5);
|
|
751
|
+
i0.ɵɵadvance(2);
|
|
752
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.mil.pension.date"));
|
|
753
|
+
i0.ɵɵadvance(3);
|
|
754
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r27.milPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
755
|
+
i0.ɵɵadvance(1);
|
|
756
|
+
i0.ɵɵclassMap("app-grid");
|
|
757
|
+
i0.ɵɵproperty("field", ctx_r27.milPensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
758
|
+
} }
|
|
759
|
+
function AddEmployerComponent_div_37_Template(rf, ctx) { if (rf & 1) {
|
|
760
|
+
const _r102 = i0.ɵɵgetCurrentView();
|
|
761
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 93);
|
|
762
|
+
i0.ɵɵtext(2);
|
|
763
|
+
i0.ɵɵpipe(3, "translate");
|
|
764
|
+
i0.ɵɵelementEnd();
|
|
765
|
+
i0.ɵɵelement(4, "br");
|
|
766
|
+
i0.ɵɵelementStart(5, "div", 94)(6, "p-selectButton", 21);
|
|
767
|
+
i0.ɵɵlistener("onOptionClick", function AddEmployerComponent_div_37_Template_p_selectButton_onOptionClick_6_listener($event) { i0.ɵɵrestoreView(_r102); const ctx_r101 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r101.putMilValidation($event)); });
|
|
768
|
+
i0.ɵɵelementEnd();
|
|
769
|
+
i0.ɵɵelement(7, "app-overlay-info", 95);
|
|
770
|
+
i0.ɵɵelementEnd();
|
|
771
|
+
i0.ɵɵelement(8, "app-error", 22);
|
|
772
|
+
i0.ɵɵelementEnd();
|
|
773
|
+
} if (rf & 2) {
|
|
774
|
+
const ctx_r28 = i0.ɵɵnextContext();
|
|
775
|
+
const _r0 = i0.ɵɵreference(5);
|
|
776
|
+
i0.ɵɵadvance(2);
|
|
777
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.dd214"), " ");
|
|
778
|
+
i0.ɵɵadvance(4);
|
|
779
|
+
i0.ɵɵproperty("options", ctx_r28.radioOptions)("formControl", ctx_r28.dd214Flag);
|
|
780
|
+
i0.ɵɵadvance(1);
|
|
781
|
+
i0.ɵɵproperty("overlayText", ctx_r28.dd214Info);
|
|
782
|
+
i0.ɵɵadvance(1);
|
|
783
|
+
i0.ɵɵclassMap("app-grid");
|
|
784
|
+
i0.ɵɵproperty("field", ctx_r28.dd214Flag)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
785
|
+
} }
|
|
786
|
+
function AddEmployerComponent_ion_row_40_Template(rf, ctx) { if (rf & 1) {
|
|
787
|
+
i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
|
|
788
|
+
i0.ɵɵelement(2, "div", 13);
|
|
789
|
+
i0.ɵɵelementEnd()();
|
|
790
|
+
} }
|
|
791
|
+
function AddEmployerComponent_ion_row_41_Template(rf, ctx) { if (rf & 1) {
|
|
792
|
+
i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
|
|
793
|
+
i0.ɵɵelement(2, "div", 13);
|
|
794
|
+
i0.ɵɵelementEnd()();
|
|
795
|
+
} }
|
|
796
|
+
function AddEmployerComponent_ion_row_42_Template(rf, ctx) { if (rf & 1) {
|
|
797
|
+
i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
|
|
798
|
+
i0.ɵɵelement(2, "div", 13);
|
|
799
|
+
i0.ɵɵelementEnd()();
|
|
800
|
+
} }
|
|
801
|
+
function AddEmployerComponent_ion_row_43_Template(rf, ctx) { if (rf & 1) {
|
|
802
|
+
i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
|
|
803
|
+
i0.ɵɵelement(2, "div", 13);
|
|
804
|
+
i0.ɵɵelementEnd()();
|
|
805
|
+
} }
|
|
806
|
+
function AddEmployerComponent_ion_row_44_Template(rf, ctx) { if (rf & 1) {
|
|
807
|
+
i0.ɵɵelementStart(0, "ion-row", 96)(1, "ion-col");
|
|
808
|
+
i0.ɵɵelement(2, "div", 13);
|
|
809
|
+
i0.ɵɵelementEnd()();
|
|
810
|
+
} }
|
|
811
|
+
function AddEmployerComponent_ion_row_45_Template(rf, ctx) { if (rf & 1) {
|
|
812
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 97);
|
|
813
|
+
i0.ɵɵelement(2, "div", 98);
|
|
814
|
+
i0.ɵɵpipe(3, "translate");
|
|
815
|
+
i0.ɵɵelement(4, "div", 98);
|
|
816
|
+
i0.ɵɵpipe(5, "translate");
|
|
817
|
+
i0.ɵɵelement(6, "div", 98);
|
|
818
|
+
i0.ɵɵpipe(7, "translate");
|
|
819
|
+
i0.ɵɵelement(8, "div", 98);
|
|
820
|
+
i0.ɵɵpipe(9, "translate");
|
|
821
|
+
i0.ɵɵelement(10, "div", 98);
|
|
822
|
+
i0.ɵɵpipe(11, "translate");
|
|
823
|
+
i0.ɵɵelement(12, "div", 99);
|
|
824
|
+
i0.ɵɵpipe(13, "translate");
|
|
825
|
+
i0.ɵɵelementEnd()();
|
|
826
|
+
} if (rf & 2) {
|
|
827
|
+
const ctx_r34 = i0.ɵɵnextContext();
|
|
828
|
+
i0.ɵɵadvance(2);
|
|
829
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 6, ctx_r34.paraOne), i0.ɵɵsanitizeHtml);
|
|
830
|
+
i0.ɵɵadvance(2);
|
|
831
|
+
i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 8, ctx_r34.paraTwo)), i0.ɵɵsanitizeHtml);
|
|
832
|
+
i0.ɵɵadvance(2);
|
|
833
|
+
i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 10, ctx_r34.paraThree)), i0.ɵɵsanitizeHtml);
|
|
834
|
+
i0.ɵɵadvance(2);
|
|
835
|
+
i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 12, ctx_r34.paraFour)), i0.ɵɵsanitizeHtml);
|
|
836
|
+
i0.ɵɵadvance(2);
|
|
837
|
+
i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 14, ctx_r34.paraFive)), i0.ɵɵsanitizeHtml);
|
|
838
|
+
i0.ɵɵadvance(2);
|
|
839
|
+
i0.ɵɵproperty("innerHTML", ctx_r34.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(13, 16, ctx_r34.paraSix)), i0.ɵɵsanitizeHtml);
|
|
840
|
+
} }
|
|
841
|
+
function AddEmployerComponent_ion_row_46_Template(rf, ctx) { if (rf & 1) {
|
|
842
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 97);
|
|
843
|
+
i0.ɵɵelement(2, "div", 98);
|
|
844
|
+
i0.ɵɵpipe(3, "translate");
|
|
845
|
+
i0.ɵɵelement(4, "div", 98);
|
|
846
|
+
i0.ɵɵpipe(5, "translate");
|
|
847
|
+
i0.ɵɵelement(6, "div", 98);
|
|
848
|
+
i0.ɵɵpipe(7, "translate");
|
|
849
|
+
i0.ɵɵelement(8, "div", 99);
|
|
850
|
+
i0.ɵɵpipe(9, "translate");
|
|
851
|
+
i0.ɵɵelement(10, "div", 98);
|
|
852
|
+
i0.ɵɵpipe(11, "translate");
|
|
853
|
+
i0.ɵɵelementEnd()();
|
|
854
|
+
} if (rf & 2) {
|
|
855
|
+
const ctx_r35 = i0.ɵɵnextContext();
|
|
856
|
+
i0.ɵɵadvance(2);
|
|
857
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 5, ctx_r35.noParaOne), i0.ɵɵsanitizeHtml);
|
|
858
|
+
i0.ɵɵadvance(2);
|
|
859
|
+
i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 7, ctx_r35.noParaTwo)), i0.ɵɵsanitizeHtml);
|
|
860
|
+
i0.ɵɵadvance(2);
|
|
861
|
+
i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 9, ctx_r35.noParaThree)), i0.ɵɵsanitizeHtml);
|
|
862
|
+
i0.ɵɵadvance(2);
|
|
863
|
+
i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 11, ctx_r35.noParaFour)), i0.ɵɵsanitizeHtml);
|
|
864
|
+
i0.ɵɵadvance(2);
|
|
865
|
+
i0.ɵɵproperty("innerHTML", ctx_r35.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 13, ctx_r35.noParaFive)), i0.ɵɵsanitizeHtml);
|
|
866
|
+
} }
|
|
867
|
+
function AddEmployerComponent_ion_row_47_Template(rf, ctx) { if (rf & 1) {
|
|
868
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 100)(2, "div", 13)(3, "label", 101);
|
|
869
|
+
i0.ɵɵtext(4, "Total Wages Earned");
|
|
870
|
+
i0.ɵɵelementEnd();
|
|
871
|
+
i0.ɵɵelement(5, "p-inputNumber", 78)(6, "app-error", 22);
|
|
872
|
+
i0.ɵɵelementEnd()()();
|
|
873
|
+
} if (rf & 2) {
|
|
874
|
+
const ctx_r36 = i0.ɵɵnextContext();
|
|
875
|
+
const _r0 = i0.ɵɵreference(5);
|
|
876
|
+
i0.ɵɵadvance(5);
|
|
877
|
+
i0.ɵɵproperty("formControl", ctx_r36.grossWages)("max", 999999.99);
|
|
878
|
+
i0.ɵɵadvance(1);
|
|
879
|
+
i0.ɵɵclassMap("app-grid");
|
|
880
|
+
i0.ɵɵproperty("field", ctx_r36.grossWages)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c3));
|
|
881
|
+
} }
|
|
882
|
+
function AddEmployerComponent_ion_row_48_ion_col_1_Template(rf, ctx) { if (rf & 1) {
|
|
883
|
+
i0.ɵɵelementStart(0, "ion-col", 105)(1, "div", 13)(2, "label", 77);
|
|
884
|
+
i0.ɵɵtext(3);
|
|
885
|
+
i0.ɵɵpipe(4, "translate");
|
|
886
|
+
i0.ɵɵelementEnd();
|
|
887
|
+
i0.ɵɵelement(5, "p-inputNumber", 106)(6, "app-error", 22);
|
|
888
|
+
i0.ɵɵelementEnd()();
|
|
889
|
+
} if (rf & 2) {
|
|
890
|
+
const ctx_r103 = i0.ɵɵnextContext(2);
|
|
891
|
+
const _r0 = i0.ɵɵreference(5);
|
|
892
|
+
i0.ɵɵadvance(3);
|
|
893
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.add.employment.payrate"));
|
|
894
|
+
i0.ɵɵadvance(2);
|
|
895
|
+
i0.ɵɵproperty("formControl", ctx_r103.payRate)("max", 999999.99);
|
|
896
|
+
i0.ɵɵadvance(1);
|
|
897
|
+
i0.ɵɵclassMap("app-grid");
|
|
898
|
+
i0.ɵɵproperty("field", ctx_r103.payRate)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
899
|
+
} }
|
|
900
|
+
function AddEmployerComponent_ion_row_48_ion_col_2_Template(rf, ctx) { if (rf & 1) {
|
|
901
|
+
i0.ɵɵelementStart(0, "ion-col", 107)(1, "div", 13)(2, "label", 80);
|
|
902
|
+
i0.ɵɵtext(3);
|
|
903
|
+
i0.ɵɵpipe(4, "translate");
|
|
904
|
+
i0.ɵɵelementEnd();
|
|
905
|
+
i0.ɵɵelement(5, "app-dropdown", 81)(6, "app-error", 22);
|
|
906
|
+
i0.ɵɵelementEnd()();
|
|
907
|
+
} if (rf & 2) {
|
|
908
|
+
const ctx_r104 = i0.ɵɵnextContext(2);
|
|
909
|
+
const _r0 = i0.ɵɵreference(5);
|
|
910
|
+
i0.ɵɵadvance(3);
|
|
911
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.per"));
|
|
912
|
+
i0.ɵɵadvance(2);
|
|
913
|
+
i0.ɵɵproperty("options", ctx_r104.payRateOptions)("formControl", ctx_r104.payRateFrequency)("autoDisplayFirst", false);
|
|
914
|
+
i0.ɵɵadvance(1);
|
|
915
|
+
i0.ɵɵclassMap("app-grid");
|
|
916
|
+
i0.ɵɵproperty("field", ctx_r104.payRateFrequency)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
917
|
+
} }
|
|
918
|
+
function AddEmployerComponent_ion_row_48_ion_col_3_Template(rf, ctx) { if (rf & 1) {
|
|
919
|
+
i0.ɵɵelementStart(0, "ion-col", 100)(1, "div", 13)(2, "label", 101);
|
|
920
|
+
i0.ɵɵtext(3, "Total Wages Earned");
|
|
921
|
+
i0.ɵɵelementEnd();
|
|
922
|
+
i0.ɵɵelement(4, "p-inputNumber", 78)(5, "app-error", 22);
|
|
923
|
+
i0.ɵɵelementEnd()();
|
|
924
|
+
} if (rf & 2) {
|
|
925
|
+
const ctx_r105 = i0.ɵɵnextContext(2);
|
|
926
|
+
const _r0 = i0.ɵɵreference(5);
|
|
927
|
+
i0.ɵɵadvance(4);
|
|
928
|
+
i0.ɵɵproperty("formControl", ctx_r105.grossWages)("max", 999999.99);
|
|
929
|
+
i0.ɵɵadvance(1);
|
|
930
|
+
i0.ɵɵclassMap("app-grid");
|
|
931
|
+
i0.ɵɵproperty("field", ctx_r105.grossWages)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c3));
|
|
932
|
+
} }
|
|
933
|
+
function AddEmployerComponent_ion_row_48_Template(rf, ctx) { if (rf & 1) {
|
|
934
|
+
i0.ɵɵelementStart(0, "ion-row");
|
|
935
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_ion_row_48_ion_col_1_Template, 7, 11, "ion-col", 102)(2, AddEmployerComponent_ion_row_48_ion_col_2_Template, 7, 12, "ion-col", 103)(3, AddEmployerComponent_ion_row_48_ion_col_3_Template, 6, 8, "ion-col", 104);
|
|
936
|
+
i0.ɵɵelementEnd();
|
|
937
|
+
} if (rf & 2) {
|
|
938
|
+
const ctx_r37 = i0.ɵɵnextContext();
|
|
939
|
+
i0.ɵɵadvance(1);
|
|
940
|
+
i0.ɵɵproperty("ngIf", !ctx_r37.isBasePeriodEmployer);
|
|
941
|
+
i0.ɵɵadvance(1);
|
|
942
|
+
i0.ɵɵproperty("ngIf", !ctx_r37.isBasePeriodEmployer);
|
|
943
|
+
i0.ɵɵadvance(1);
|
|
944
|
+
i0.ɵɵproperty("ngIf", ctx_r37.displayVerificationOfWages.value && !ctx_r37.isBasePeriodEmployer);
|
|
945
|
+
} }
|
|
946
|
+
function AddEmployerComponent_div_49_Template(rf, ctx) { if (rf & 1) {
|
|
947
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 108);
|
|
948
|
+
i0.ɵɵtext(2);
|
|
949
|
+
i0.ɵɵpipe(3, "translate");
|
|
950
|
+
i0.ɵɵelement(4, "br");
|
|
951
|
+
i0.ɵɵtext(5);
|
|
952
|
+
i0.ɵɵpipe(6, "translate");
|
|
953
|
+
i0.ɵɵelementEnd();
|
|
954
|
+
i0.ɵɵelementStart(7, "div", 63);
|
|
955
|
+
i0.ɵɵelement(8, "p-selectButton", 64)(9, "app-error", 22);
|
|
956
|
+
i0.ɵɵelementEnd()();
|
|
957
|
+
} if (rf & 2) {
|
|
958
|
+
const ctx_r38 = i0.ɵɵnextContext();
|
|
959
|
+
const _r0 = i0.ɵɵreference(5);
|
|
960
|
+
i0.ɵɵadvance(2);
|
|
961
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.fed.pension"), " ");
|
|
962
|
+
i0.ɵɵadvance(3);
|
|
963
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 11, "induction.add.employment.fed.pension.disclaimer"), " ");
|
|
964
|
+
i0.ɵɵadvance(3);
|
|
965
|
+
i0.ɵɵproperty("options", ctx_r38.radioOptions)("formControl", ctx_r38.fedPensionFlag);
|
|
966
|
+
i0.ɵɵadvance(1);
|
|
967
|
+
i0.ɵɵclassMap("app-grid");
|
|
968
|
+
i0.ɵɵproperty("field", ctx_r38.fedPensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c3));
|
|
969
|
+
} }
|
|
970
|
+
function AddEmployerComponent_div_50_Template(rf, ctx) { if (rf & 1) {
|
|
971
|
+
const _r107 = i0.ɵɵgetCurrentView();
|
|
972
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 109);
|
|
973
|
+
i0.ɵɵtext(2);
|
|
974
|
+
i0.ɵɵpipe(3, "translate");
|
|
975
|
+
i0.ɵɵelementEnd();
|
|
976
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 110);
|
|
977
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_div_50_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r107); const ctx_r106 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r106.dateInput($event)); });
|
|
978
|
+
i0.ɵɵelementEnd();
|
|
979
|
+
i0.ɵɵelement(6, "app-error", 22);
|
|
980
|
+
i0.ɵɵelementEnd()();
|
|
981
|
+
} if (rf & 2) {
|
|
982
|
+
const ctx_r39 = i0.ɵɵnextContext();
|
|
983
|
+
const _r0 = i0.ɵɵreference(5);
|
|
984
|
+
i0.ɵɵadvance(2);
|
|
985
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension.date"));
|
|
986
|
+
i0.ɵɵadvance(3);
|
|
987
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r39.fedPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
988
|
+
i0.ɵɵadvance(1);
|
|
989
|
+
i0.ɵɵclassMap("app-grid");
|
|
990
|
+
i0.ɵɵproperty("field", ctx_r39.fedPensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
991
|
+
} }
|
|
992
|
+
function AddEmployerComponent_div_51_Template(rf, ctx) { if (rf & 1) {
|
|
993
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 111);
|
|
994
|
+
i0.ɵɵtext(2);
|
|
995
|
+
i0.ɵɵpipe(3, "translate");
|
|
996
|
+
i0.ɵɵelementEnd();
|
|
997
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
998
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
999
|
+
i0.ɵɵelementEnd()();
|
|
1000
|
+
} if (rf & 2) {
|
|
1001
|
+
const ctx_r40 = i0.ɵɵnextContext();
|
|
1002
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1003
|
+
i0.ɵɵadvance(2);
|
|
1004
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.severance"));
|
|
1005
|
+
i0.ɵɵadvance(3);
|
|
1006
|
+
i0.ɵɵproperty("options", ctx_r40.radioOptions)("formControl", ctx_r40.sevPayFlag);
|
|
1007
|
+
i0.ɵɵadvance(1);
|
|
1008
|
+
i0.ɵɵclassMap("app-grid");
|
|
1009
|
+
i0.ɵɵproperty("field", ctx_r40.sevPayFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1010
|
+
} }
|
|
1011
|
+
function AddEmployerComponent_ion_row_52_Template(rf, ctx) { if (rf & 1) {
|
|
1012
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 79)(2, "div", 13)(3, "label", 112);
|
|
1013
|
+
i0.ɵɵtext(4);
|
|
1014
|
+
i0.ɵɵpipe(5, "translate");
|
|
1015
|
+
i0.ɵɵelementEnd();
|
|
1016
|
+
i0.ɵɵelement(6, "p-inputNumber", 78)(7, "app-error", 22);
|
|
1017
|
+
i0.ɵɵelementEnd()();
|
|
1018
|
+
i0.ɵɵelementStart(8, "ion-col", 79)(9, "div", 13)(10, "label", 113);
|
|
1019
|
+
i0.ɵɵtext(11);
|
|
1020
|
+
i0.ɵɵpipe(12, "translate");
|
|
1021
|
+
i0.ɵɵelementEnd();
|
|
1022
|
+
i0.ɵɵelement(13, "p-inputNumber", 114)(14, "app-error", 22);
|
|
1023
|
+
i0.ɵɵelementEnd()();
|
|
1024
|
+
i0.ɵɵelementStart(15, "ion-col")(16, "div", 13)(17, "label", 115);
|
|
1025
|
+
i0.ɵɵtext(18);
|
|
1026
|
+
i0.ɵɵpipe(19, "translate");
|
|
1027
|
+
i0.ɵɵelementEnd();
|
|
1028
|
+
i0.ɵɵelement(20, "p-inputNumber", 78)(21, "app-error", 22);
|
|
1029
|
+
i0.ɵɵelementEnd()()();
|
|
1030
|
+
} if (rf & 2) {
|
|
1031
|
+
const ctx_r41 = i0.ɵɵnextContext();
|
|
1032
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1033
|
+
i0.ɵɵadvance(4);
|
|
1034
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 25, "induction.add.employment.fed.severance.weekly.amt"));
|
|
1035
|
+
i0.ɵɵadvance(2);
|
|
1036
|
+
i0.ɵɵproperty("formControl", ctx_r41.weeklyAmount)("max", 999999.99);
|
|
1037
|
+
i0.ɵɵadvance(1);
|
|
1038
|
+
i0.ɵɵclassMap("app-grid");
|
|
1039
|
+
i0.ɵɵproperty("field", ctx_r41.weeklyAmount)("form", _r0)("errDef", i0.ɵɵpureFunction0(31, _c3));
|
|
1040
|
+
i0.ɵɵadvance(4);
|
|
1041
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 27, "induction.add.employment.fed.severance.weeks"));
|
|
1042
|
+
i0.ɵɵadvance(2);
|
|
1043
|
+
i0.ɵɵproperty("id", ctx_r41.numberOfWeeks)("useGrouping", false)("formControl", ctx_r41.numberOfWeeks);
|
|
1044
|
+
i0.ɵɵadvance(1);
|
|
1045
|
+
i0.ɵɵclassMap("app-grid");
|
|
1046
|
+
i0.ɵɵproperty("field", ctx_r41.numberOfWeeks)("form", _r0)("errDef", i0.ɵɵpureFunction0(32, _c3));
|
|
1047
|
+
i0.ɵɵadvance(4);
|
|
1048
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 29, "induction.add.employment.fed.severance.entitlement"));
|
|
1049
|
+
i0.ɵɵadvance(2);
|
|
1050
|
+
i0.ɵɵproperty("formControl", ctx_r41.sevPayAmount)("max", 999999.99);
|
|
1051
|
+
i0.ɵɵadvance(1);
|
|
1052
|
+
i0.ɵɵclassMap("app-grid");
|
|
1053
|
+
i0.ɵɵproperty("field", ctx_r41.sevPayAmount)("form", _r0)("errDef", i0.ɵɵpureFunction0(33, _c3));
|
|
1054
|
+
} }
|
|
1055
|
+
function AddEmployerComponent_ion_row_53_Template(rf, ctx) { if (rf & 1) {
|
|
1056
|
+
const _r109 = i0.ɵɵgetCurrentView();
|
|
1057
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 79)(2, "div", 13)(3, "label", 116);
|
|
1058
|
+
i0.ɵɵtext(4);
|
|
1059
|
+
i0.ɵɵpipe(5, "translate");
|
|
1060
|
+
i0.ɵɵelementEnd();
|
|
1061
|
+
i0.ɵɵelementStart(6, "p-calendar", 117);
|
|
1062
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_row_53_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r108 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r108.validate($event)); })("onSelect", function AddEmployerComponent_ion_row_53_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r110 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r110.validate($event)); })("onInput", function AddEmployerComponent_ion_row_53_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r111 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r111.dateInput($event)); });
|
|
1063
|
+
i0.ɵɵelementEnd();
|
|
1064
|
+
i0.ɵɵelement(7, "app-error", 22);
|
|
1065
|
+
i0.ɵɵelementEnd()();
|
|
1066
|
+
i0.ɵɵelementStart(8, "ion-col", 79)(9, "div", 13)(10, "label", 118);
|
|
1067
|
+
i0.ɵɵtext(11);
|
|
1068
|
+
i0.ɵɵpipe(12, "translate");
|
|
1069
|
+
i0.ɵɵelementEnd();
|
|
1070
|
+
i0.ɵɵelementStart(13, "p-calendar", 119);
|
|
1071
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_53_Template_p_calendar_onInput_13_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r112 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r112.dateInput($event)); });
|
|
1072
|
+
i0.ɵɵelementEnd();
|
|
1073
|
+
i0.ɵɵelement(14, "app-error", 22);
|
|
1074
|
+
i0.ɵɵelementEnd()();
|
|
1075
|
+
i0.ɵɵelementStart(15, "ion-col")(16, "div", 13)(17, "label", 120);
|
|
1076
|
+
i0.ɵɵtext(18);
|
|
1077
|
+
i0.ɵɵpipe(19, "translate");
|
|
1078
|
+
i0.ɵɵelementEnd();
|
|
1079
|
+
i0.ɵɵelementStart(20, "p-calendar", 121);
|
|
1080
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_row_53_Template_p_calendar_onInput_20_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r113 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r113.dateInput($event)); });
|
|
1081
|
+
i0.ɵɵelementEnd();
|
|
1082
|
+
i0.ɵɵelement(21, "app-error", 22);
|
|
1083
|
+
i0.ɵɵelementEnd()()();
|
|
1084
|
+
} if (rf & 2) {
|
|
1085
|
+
const ctx_r42 = i0.ɵɵnextContext();
|
|
1086
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1087
|
+
i0.ɵɵadvance(4);
|
|
1088
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 31, "induction.add.employment.fed.severance.start.date"));
|
|
1089
|
+
i0.ɵɵadvance(2);
|
|
1090
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.sevPayStartDate)("yearNavigator", true)("showOnFocus", false);
|
|
1091
|
+
i0.ɵɵadvance(1);
|
|
1092
|
+
i0.ɵɵclassMap("app-grid");
|
|
1093
|
+
i0.ɵɵproperty("field", ctx_r42.sevPayStartDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(37, _c3));
|
|
1094
|
+
i0.ɵɵadvance(4);
|
|
1095
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 33, "induction.add.employment.fed.severance.end.date"));
|
|
1096
|
+
i0.ɵɵadvance(2);
|
|
1097
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.sevPayEndDate)("yearNavigator", true)("minDate", ctx_r42.minDate)("showOnFocus", false);
|
|
1098
|
+
i0.ɵɵadvance(1);
|
|
1099
|
+
i0.ɵɵclassMap("app-grid");
|
|
1100
|
+
i0.ɵɵproperty("field", ctx_r42.sevPayEndDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(38, _c3));
|
|
1101
|
+
i0.ɵɵadvance(4);
|
|
1102
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 35, "induction.add.employment.fed.severance.pay.date"));
|
|
1103
|
+
i0.ɵɵadvance(2);
|
|
1104
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.sevPayPaymentStartDate)("yearNavigator", true)("showOnFocus", false);
|
|
1105
|
+
i0.ɵɵadvance(1);
|
|
1106
|
+
i0.ɵɵclassMap("app-grid");
|
|
1107
|
+
i0.ɵɵproperty("field", ctx_r42.sevPayPaymentStartDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(39, _c3));
|
|
1108
|
+
} }
|
|
1109
|
+
function AddEmployerComponent_div_54_Template(rf, ctx) { if (rf & 1) {
|
|
1110
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 122);
|
|
1111
|
+
i0.ɵɵtext(2);
|
|
1112
|
+
i0.ɵɵpipe(3, "translate");
|
|
1113
|
+
i0.ɵɵelementEnd();
|
|
1114
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
1115
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
1116
|
+
i0.ɵɵelementEnd()();
|
|
1117
|
+
} if (rf & 2) {
|
|
1118
|
+
const ctx_r43 = i0.ɵɵnextContext();
|
|
1119
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1120
|
+
i0.ɵɵadvance(2);
|
|
1121
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.pension"));
|
|
1122
|
+
i0.ɵɵadvance(3);
|
|
1123
|
+
i0.ɵɵproperty("options", ctx_r43.radioOptions)("formControl", ctx_r43.pensionFlag);
|
|
1124
|
+
i0.ɵɵadvance(1);
|
|
1125
|
+
i0.ɵɵclassMap("app-grid");
|
|
1126
|
+
i0.ɵɵproperty("field", ctx_r43.pensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1127
|
+
} }
|
|
1128
|
+
function AddEmployerComponent_div_55_Template(rf, ctx) { if (rf & 1) {
|
|
1129
|
+
const _r115 = i0.ɵɵgetCurrentView();
|
|
1130
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 123);
|
|
1131
|
+
i0.ɵɵtext(2);
|
|
1132
|
+
i0.ɵɵpipe(3, "translate");
|
|
1133
|
+
i0.ɵɵelementEnd();
|
|
1134
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 124);
|
|
1135
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_div_55_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r115); const ctx_r114 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r114.dateInput($event)); });
|
|
1136
|
+
i0.ɵɵelementEnd();
|
|
1137
|
+
i0.ɵɵelement(6, "app-error", 22);
|
|
1138
|
+
i0.ɵɵelementEnd()();
|
|
1139
|
+
} if (rf & 2) {
|
|
1140
|
+
const ctx_r44 = i0.ɵɵnextContext();
|
|
1141
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1142
|
+
i0.ɵɵadvance(2);
|
|
1143
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.confirm.employment.pension.date"));
|
|
1144
|
+
i0.ɵɵadvance(3);
|
|
1145
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r44.pensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
1146
|
+
i0.ɵɵadvance(1);
|
|
1147
|
+
i0.ɵɵclassMap("app-grid");
|
|
1148
|
+
i0.ɵɵproperty("field", ctx_r44.pensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
1149
|
+
} }
|
|
1150
|
+
function AddEmployerComponent_div_56_Template(rf, ctx) { if (rf & 1) {
|
|
1151
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 125);
|
|
1152
|
+
i0.ɵɵtext(2);
|
|
1153
|
+
i0.ɵɵpipe(3, "translate");
|
|
1154
|
+
i0.ɵɵelement(4, "br");
|
|
1155
|
+
i0.ɵɵtext(5);
|
|
1156
|
+
i0.ɵɵpipe(6, "translate");
|
|
1157
|
+
i0.ɵɵelementEnd();
|
|
1158
|
+
i0.ɵɵelementStart(7, "div", 63);
|
|
1159
|
+
i0.ɵɵelement(8, "p-selectButton", 64)(9, "app-error", 22);
|
|
1160
|
+
i0.ɵɵelementEnd()();
|
|
1161
|
+
} if (rf & 2) {
|
|
1162
|
+
const ctx_r45 = i0.ɵɵnextContext();
|
|
1163
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1164
|
+
i0.ɵɵadvance(2);
|
|
1165
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.reg.pension"), " ");
|
|
1166
|
+
i0.ɵɵadvance(3);
|
|
1167
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 11, "induction.add.employment.reg.pension.disclaimer"), "");
|
|
1168
|
+
i0.ɵɵadvance(3);
|
|
1169
|
+
i0.ɵɵproperty("options", ctx_r45.radioOptions)("formControl", ctx_r45.regPensionFlag);
|
|
1170
|
+
i0.ɵɵadvance(1);
|
|
1171
|
+
i0.ɵɵclassMap("app-grid");
|
|
1172
|
+
i0.ɵɵproperty("field", ctx_r45.regPensionFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c3));
|
|
1173
|
+
} }
|
|
1174
|
+
function AddEmployerComponent_div_57_Template(rf, ctx) { if (rf & 1) {
|
|
1175
|
+
const _r117 = i0.ɵɵgetCurrentView();
|
|
1176
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 126);
|
|
1177
|
+
i0.ɵɵtext(2);
|
|
1178
|
+
i0.ɵɵpipe(3, "translate");
|
|
1179
|
+
i0.ɵɵelementEnd();
|
|
1180
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 127);
|
|
1181
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_div_57_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r117); const ctx_r116 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r116.dateInput($event)); });
|
|
1182
|
+
i0.ɵɵelementEnd();
|
|
1183
|
+
i0.ɵɵelement(6, "app-error", 22);
|
|
1184
|
+
i0.ɵɵelementEnd()();
|
|
1185
|
+
} if (rf & 2) {
|
|
1186
|
+
const ctx_r46 = i0.ɵɵnextContext();
|
|
1187
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1188
|
+
i0.ɵɵadvance(2);
|
|
1189
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension.date"));
|
|
1190
|
+
i0.ɵɵadvance(3);
|
|
1191
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r46.regPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
1192
|
+
i0.ɵɵadvance(1);
|
|
1193
|
+
i0.ɵɵclassMap("app-grid");
|
|
1194
|
+
i0.ɵɵproperty("field", ctx_r46.regPensionRecvDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
1195
|
+
} }
|
|
1196
|
+
function AddEmployerComponent_div_58_Template(rf, ctx) { if (rf & 1) {
|
|
1197
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 128);
|
|
1198
|
+
i0.ɵɵtext(2);
|
|
1199
|
+
i0.ɵɵpipe(3, "translate");
|
|
1200
|
+
i0.ɵɵelementEnd();
|
|
1201
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
1202
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
1203
|
+
i0.ɵɵelementEnd()();
|
|
1204
|
+
} if (rf & 2) {
|
|
1205
|
+
const ctx_r47 = i0.ɵɵnextContext();
|
|
1206
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1207
|
+
i0.ɵɵadvance(2);
|
|
1208
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.employer.pay.return.to.work"));
|
|
1209
|
+
i0.ɵɵadvance(3);
|
|
1210
|
+
i0.ɵɵproperty("options", ctx_r47.radioOptions)("formControl", ctx_r47.isClmtPaidWhileLow);
|
|
1211
|
+
i0.ɵɵadvance(1);
|
|
1212
|
+
i0.ɵɵclassMap("app-grid");
|
|
1213
|
+
i0.ɵɵproperty("field", ctx_r47.isClmtPaidWhileLow)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1214
|
+
} }
|
|
1215
|
+
function AddEmployerComponent_div_59_Template(rf, ctx) { if (rf & 1) {
|
|
1216
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 129);
|
|
1217
|
+
i0.ɵɵtext(2);
|
|
1218
|
+
i0.ɵɵpipe(3, "translate");
|
|
1219
|
+
i0.ɵɵelementEnd();
|
|
1220
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
1221
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
1222
|
+
i0.ɵɵelementEnd()();
|
|
1223
|
+
} if (rf & 2) {
|
|
1224
|
+
const ctx_r48 = i0.ɵɵnextContext();
|
|
1225
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1226
|
+
i0.ɵɵadvance(2);
|
|
1227
|
+
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.shorttermdisability"), " ", ctx_r48.bpStartDateToDisplay, " ?");
|
|
1228
|
+
i0.ɵɵadvance(3);
|
|
1229
|
+
i0.ɵɵproperty("options", ctx_r48.radioOptions)("formControl", ctx_r48.hasShortTermDisability);
|
|
1230
|
+
i0.ɵɵadvance(1);
|
|
1231
|
+
i0.ɵɵclassMap("app-grid");
|
|
1232
|
+
i0.ɵɵproperty("field", ctx_r48.hasShortTermDisability)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
1233
|
+
} }
|
|
1234
|
+
function AddEmployerComponent_div_60_Template(rf, ctx) { if (rf & 1) {
|
|
1235
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 130);
|
|
1236
|
+
i0.ɵɵtext(2);
|
|
1237
|
+
i0.ɵɵpipe(3, "translate");
|
|
1238
|
+
i0.ɵɵelementEnd();
|
|
1239
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
1240
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
1241
|
+
i0.ɵɵelementEnd()();
|
|
1242
|
+
} if (rf & 2) {
|
|
1243
|
+
const ctx_r49 = i0.ɵɵnextContext();
|
|
1244
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1245
|
+
i0.ɵɵadvance(2);
|
|
1246
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.remuneration.pay"));
|
|
1247
|
+
i0.ɵɵadvance(3);
|
|
1248
|
+
i0.ɵɵproperty("options", ctx_r49.radioOptions)("formControl", ctx_r49.hasRecvRemuneration);
|
|
1249
|
+
i0.ɵɵadvance(1);
|
|
1250
|
+
i0.ɵɵclassMap("app-grid");
|
|
1251
|
+
i0.ɵɵproperty("field", ctx_r49.hasRecvRemuneration)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1252
|
+
} }
|
|
1253
|
+
function AddEmployerComponent_div_61_p_checkbox_4_Template(rf, ctx) { if (rf & 1) {
|
|
1254
|
+
i0.ɵɵelement(0, "p-checkbox", 133);
|
|
1255
|
+
} if (rf & 2) {
|
|
1256
|
+
const choice_r119 = ctx.$implicit;
|
|
1257
|
+
const ctx_r118 = i0.ɵɵnextContext(2);
|
|
1258
|
+
i0.ɵɵproperty("name", "remunerationtypes-group")("value", choice_r119.value)("label", choice_r119.text)("formControl", ctx_r118.remunerationTypes);
|
|
1259
|
+
} }
|
|
1260
|
+
function AddEmployerComponent_div_61_Template(rf, ctx) { if (rf & 1) {
|
|
1261
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 131);
|
|
1262
|
+
i0.ɵɵtext(2);
|
|
1263
|
+
i0.ɵɵpipe(3, "translate");
|
|
1264
|
+
i0.ɵɵelementEnd();
|
|
1265
|
+
i0.ɵɵtemplate(4, AddEmployerComponent_div_61_p_checkbox_4_Template, 1, 4, "p-checkbox", 132);
|
|
1266
|
+
i0.ɵɵelement(5, "app-error", 22);
|
|
1267
|
+
i0.ɵɵelementEnd();
|
|
1268
|
+
} if (rf & 2) {
|
|
1269
|
+
const ctx_r50 = i0.ɵɵnextContext();
|
|
1270
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1271
|
+
i0.ɵɵadvance(2);
|
|
1272
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.remuneration.types"));
|
|
1273
|
+
i0.ɵɵadvance(2);
|
|
1274
|
+
i0.ɵɵproperty("ngForOf", ctx_r50.remunerationTypeOptions);
|
|
1275
|
+
i0.ɵɵadvance(1);
|
|
1276
|
+
i0.ɵɵclassMap("app-grid");
|
|
1277
|
+
i0.ɵɵproperty("field", ctx_r50.remunerationTypes)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
1278
|
+
} }
|
|
1279
|
+
function AddEmployerComponent_div_62_Template(rf, ctx) { if (rf & 1) {
|
|
1280
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 134);
|
|
1281
|
+
i0.ɵɵtext(2);
|
|
1282
|
+
i0.ɵɵpipe(3, "translate");
|
|
1283
|
+
i0.ɵɵelementEnd();
|
|
1284
|
+
i0.ɵɵelementStart(4, "div", 63);
|
|
1285
|
+
i0.ɵɵelement(5, "p-selectButton", 64)(6, "app-error", 22);
|
|
1286
|
+
i0.ɵɵelementEnd()();
|
|
1287
|
+
} if (rf & 2) {
|
|
1288
|
+
const ctx_r51 = i0.ɵɵnextContext();
|
|
1289
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1290
|
+
i0.ɵɵadvance(2);
|
|
1291
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.vacation.break"));
|
|
1292
|
+
i0.ɵɵadvance(3);
|
|
1293
|
+
i0.ɵɵproperty("options", ctx_r51.radioOptions)("formControl", ctx_r51.vacation);
|
|
1294
|
+
i0.ɵɵadvance(1);
|
|
1295
|
+
i0.ɵɵclassMap("app-grid");
|
|
1296
|
+
i0.ɵɵproperty("field", ctx_r51.vacation)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1297
|
+
} }
|
|
1298
|
+
function AddEmployerComponent_div_63_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
1299
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 138);
|
|
1300
|
+
i0.ɵɵtext(2);
|
|
1301
|
+
i0.ɵɵpipe(3, "translate");
|
|
1302
|
+
i0.ɵɵelementEnd();
|
|
1303
|
+
i0.ɵɵelement(4, "p-inputMask", 139)(5, "app-error", 22);
|
|
1304
|
+
i0.ɵɵelementEnd();
|
|
1305
|
+
} if (rf & 2) {
|
|
1306
|
+
const ctx_r120 = i0.ɵɵnextContext(2);
|
|
1307
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1308
|
+
i0.ɵɵadvance(2);
|
|
1309
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.reg.verification.wages.other.ssn"));
|
|
1310
|
+
i0.ɵɵadvance(2);
|
|
1311
|
+
i0.ɵɵproperty("id", ctx_r120.otherSSN)("formControl", ctx_r120.otherSSN);
|
|
1312
|
+
i0.ɵɵadvance(1);
|
|
1313
|
+
i0.ɵɵclassMap("app-grid");
|
|
1314
|
+
i0.ɵɵproperty("field", ctx_r120.otherSSN)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1315
|
+
} }
|
|
1316
|
+
function AddEmployerComponent_div_63_Template(rf, ctx) { if (rf & 1) {
|
|
1317
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 13)(2, "h4");
|
|
1318
|
+
i0.ɵɵtext(3);
|
|
1319
|
+
i0.ɵɵpipe(4, "translate");
|
|
1320
|
+
i0.ɵɵelementEnd()();
|
|
1321
|
+
i0.ɵɵelementStart(5, "div", 13)(6, "label");
|
|
1322
|
+
i0.ɵɵtext(7);
|
|
1323
|
+
i0.ɵɵpipe(8, "translate");
|
|
1324
|
+
i0.ɵɵelementEnd()();
|
|
1325
|
+
i0.ɵɵelementStart(9, "div", 13)(10, "label", 135);
|
|
1326
|
+
i0.ɵɵtext(11);
|
|
1327
|
+
i0.ɵɵpipe(12, "translate");
|
|
1328
|
+
i0.ɵɵelementEnd();
|
|
1329
|
+
i0.ɵɵelement(13, "p-selectButton", 64)(14, "app-error", 22);
|
|
1330
|
+
i0.ɵɵelementEnd();
|
|
1331
|
+
i0.ɵɵelementStart(15, "div", 13)(16, "label", 136);
|
|
1332
|
+
i0.ɵɵtext(17);
|
|
1333
|
+
i0.ɵɵpipe(18, "translate");
|
|
1334
|
+
i0.ɵɵelementEnd();
|
|
1335
|
+
i0.ɵɵelement(19, "p-selectButton", 64)(20, "app-error", 22);
|
|
1336
|
+
i0.ɵɵelementEnd();
|
|
1337
|
+
i0.ɵɵelementStart(21, "div", 13)(22, "label", 137);
|
|
1338
|
+
i0.ɵɵtext(23);
|
|
1339
|
+
i0.ɵɵpipe(24, "translate");
|
|
1340
|
+
i0.ɵɵelementEnd();
|
|
1341
|
+
i0.ɵɵelementStart(25, "div", 63);
|
|
1342
|
+
i0.ɵɵelement(26, "p-selectButton", 64)(27, "app-error", 22);
|
|
1343
|
+
i0.ɵɵelementEnd()();
|
|
1344
|
+
i0.ɵɵtemplate(28, AddEmployerComponent_div_63_div_28_Template, 6, 11, "div", 6);
|
|
1345
|
+
i0.ɵɵelementEnd();
|
|
1346
|
+
} if (rf & 2) {
|
|
1347
|
+
const ctx_r52 = i0.ɵɵnextContext();
|
|
1348
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1349
|
+
i0.ɵɵadvance(3);
|
|
1350
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "induction.add.employment.reg.verification.wages.header"));
|
|
1351
|
+
i0.ɵɵadvance(4);
|
|
1352
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 29, "induction.add.employment.reg.verification.wages.subheader"));
|
|
1353
|
+
i0.ɵɵadvance(4);
|
|
1354
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 31, "induction.add.employment.reg.verification.wages.paymode"));
|
|
1355
|
+
i0.ɵɵadvance(2);
|
|
1356
|
+
i0.ɵɵproperty("options", ctx_r52.payMethodOptions)("formControl", ctx_r52.paymentType);
|
|
1357
|
+
i0.ɵɵadvance(1);
|
|
1358
|
+
i0.ɵɵclassMap("app-grid");
|
|
1359
|
+
i0.ɵɵproperty("field", ctx_r52.paymentType)("form", _r0)("errDef", i0.ɵɵpureFunction0(37, _c3));
|
|
1360
|
+
i0.ɵɵadvance(3);
|
|
1361
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 33, "induction.add.employment.reg.verification.wages.docs"));
|
|
1362
|
+
i0.ɵɵadvance(2);
|
|
1363
|
+
i0.ɵɵproperty("options", ctx_r52.wageProofOptions)("formControl", ctx_r52.docsReceived);
|
|
1364
|
+
i0.ɵɵadvance(1);
|
|
1365
|
+
i0.ɵɵclassMap("app-grid");
|
|
1366
|
+
i0.ɵɵproperty("field", ctx_r52.docsReceived)("form", _r0)("errDef", i0.ɵɵpureFunction0(38, _c3));
|
|
1367
|
+
i0.ɵɵadvance(3);
|
|
1368
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(24, 35, "induction.add.employment.reg.verification.wages.other.ssn.flag"), " ");
|
|
1369
|
+
i0.ɵɵadvance(3);
|
|
1370
|
+
i0.ɵɵproperty("options", ctx_r52.radioOptions)("formControl", ctx_r52.otherSSNFlag);
|
|
1371
|
+
i0.ɵɵadvance(1);
|
|
1372
|
+
i0.ɵɵclassMap("app-grid");
|
|
1373
|
+
i0.ɵɵproperty("field", ctx_r52.otherSSNFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(39, _c3));
|
|
1374
|
+
i0.ɵɵadvance(1);
|
|
1375
|
+
i0.ɵɵproperty("ngIf", ctx_r52.otherSSNFlag.value === "Y");
|
|
1376
|
+
} }
|
|
1377
|
+
function AddEmployerComponent_ion_row_64_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
1378
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label", 141);
|
|
1379
|
+
i0.ɵɵtext(2);
|
|
1380
|
+
i0.ɵɵpipe(3, "translate");
|
|
1381
|
+
i0.ɵɵelementEnd();
|
|
1382
|
+
i0.ɵɵelement(4, "input", 142)(5, "app-error", 22);
|
|
1383
|
+
i0.ɵɵelementEnd();
|
|
1384
|
+
} if (rf & 2) {
|
|
1385
|
+
const ctx_r121 = i0.ɵɵnextContext(2);
|
|
1386
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1387
|
+
i0.ɵɵadvance(2);
|
|
1388
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.reg.verification.wages.other.name"));
|
|
1389
|
+
i0.ɵɵadvance(2);
|
|
1390
|
+
i0.ɵɵproperty("formControl", ctx_r121.otherName);
|
|
1391
|
+
i0.ɵɵadvance(1);
|
|
1392
|
+
i0.ɵɵclassMap("app-grid");
|
|
1393
|
+
i0.ɵɵproperty("field", ctx_r121.otherName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
1394
|
+
} }
|
|
1395
|
+
function AddEmployerComponent_ion_row_64_Template(rf, ctx) { if (rf & 1) {
|
|
1396
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 140);
|
|
1397
|
+
i0.ɵɵtext(4);
|
|
1398
|
+
i0.ɵɵpipe(5, "translate");
|
|
1399
|
+
i0.ɵɵelementEnd();
|
|
1400
|
+
i0.ɵɵelementStart(6, "div", 63);
|
|
1401
|
+
i0.ɵɵelement(7, "p-selectButton", 64)(8, "app-error", 22);
|
|
1402
|
+
i0.ɵɵelementEnd()();
|
|
1403
|
+
i0.ɵɵtemplate(9, AddEmployerComponent_ion_row_64_div_9_Template, 6, 10, "div", 6);
|
|
1404
|
+
i0.ɵɵelementEnd()();
|
|
1405
|
+
} if (rf & 2) {
|
|
1406
|
+
const ctx_r53 = i0.ɵɵnextContext();
|
|
1407
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1408
|
+
i0.ɵɵadvance(4);
|
|
1409
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 9, "induction.add.employment.reg.verification.wages.other.name.flag"));
|
|
1410
|
+
i0.ɵɵadvance(3);
|
|
1411
|
+
i0.ɵɵproperty("options", ctx_r53.radioOptions)("formControl", ctx_r53.otherNameFlag);
|
|
1412
|
+
i0.ɵɵadvance(1);
|
|
1413
|
+
i0.ɵɵclassMap("app-grid");
|
|
1414
|
+
i0.ɵɵproperty("field", ctx_r53.otherNameFlag)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
1415
|
+
i0.ɵɵadvance(1);
|
|
1416
|
+
i0.ɵɵproperty("ngIf", ctx_r53.otherNameFlag.value === "Y");
|
|
1417
|
+
} }
|
|
1418
|
+
function AddEmployerComponent_ion_row_65_Template(rf, ctx) { if (rf & 1) {
|
|
1419
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 30)(2, "div", 13)(3, "label", 143);
|
|
1420
|
+
i0.ɵɵtext(4);
|
|
1421
|
+
i0.ɵɵpipe(5, "translate");
|
|
1422
|
+
i0.ɵɵelementEnd();
|
|
1423
|
+
i0.ɵɵelement(6, "input", 144)(7, "app-error", 22);
|
|
1424
|
+
i0.ɵɵelementEnd()()();
|
|
1425
|
+
} if (rf & 2) {
|
|
1426
|
+
const ctx_r54 = i0.ɵɵnextContext();
|
|
1427
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1428
|
+
i0.ɵɵadvance(4);
|
|
1429
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.verification.nature"));
|
|
1430
|
+
i0.ɵɵadvance(2);
|
|
1431
|
+
i0.ɵɵproperty("formControl", ctx_r54.businessNature);
|
|
1432
|
+
i0.ɵɵadvance(1);
|
|
1433
|
+
i0.ɵɵclassMap("app-grid");
|
|
1434
|
+
i0.ɵɵproperty("field", ctx_r54.businessNature)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
1435
|
+
} }
|
|
1436
|
+
function AddEmployerComponent_div_66_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1437
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label");
|
|
1438
|
+
i0.ɵɵtext(2);
|
|
1439
|
+
i0.ɵɵpipe(3, "translate");
|
|
1440
|
+
i0.ɵɵelementEnd()();
|
|
1441
|
+
} if (rf & 2) {
|
|
1442
|
+
i0.ɵɵadvance(2);
|
|
1443
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.fed.verification.wages"));
|
|
1444
|
+
} }
|
|
1445
|
+
function AddEmployerComponent_div_66_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
1446
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label");
|
|
1447
|
+
i0.ɵɵtext(2);
|
|
1448
|
+
i0.ɵɵpipe(3, "translate");
|
|
1449
|
+
i0.ɵɵelementEnd()();
|
|
1450
|
+
} if (rf & 2) {
|
|
1451
|
+
i0.ɵɵadvance(2);
|
|
1452
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.reg.verification.wages"));
|
|
1453
|
+
} }
|
|
1454
|
+
function AddEmployerComponent_div_66_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
1455
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "label");
|
|
1456
|
+
i0.ɵɵtext(2);
|
|
1457
|
+
i0.ɵɵpipe(3, "translate");
|
|
1458
|
+
i0.ɵɵelementEnd()();
|
|
1459
|
+
} if (rf & 2) {
|
|
1460
|
+
i0.ɵɵadvance(2);
|
|
1461
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.fed.verification.wages.statement"));
|
|
1462
|
+
} }
|
|
1463
|
+
function AddEmployerComponent_div_66_ng_container_14_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
1464
|
+
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
1465
|
+
i0.ɵɵtext(2);
|
|
1466
|
+
i0.ɵɵelementEnd();
|
|
1467
|
+
i0.ɵɵelementStart(3, "td");
|
|
1468
|
+
i0.ɵɵelement(4, "p-inputNumber", 150);
|
|
1469
|
+
i0.ɵɵelementEnd()();
|
|
1470
|
+
} if (rf & 2) {
|
|
1471
|
+
const wageAmountForm_r126 = i0.ɵɵnextContext().$implicit;
|
|
1472
|
+
i0.ɵɵadvance(2);
|
|
1473
|
+
i0.ɵɵtextInterpolate1(" ", wageAmountForm_r126.value.qtrYearDisplayString, " ");
|
|
1474
|
+
i0.ɵɵadvance(2);
|
|
1475
|
+
i0.ɵɵproperty("max", 999999.99);
|
|
1476
|
+
} }
|
|
1477
|
+
function AddEmployerComponent_div_66_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
1478
|
+
i0.ɵɵelementContainerStart(0, 149);
|
|
1479
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_div_66_ng_container_14_tr_1_Template, 5, 2, "tr", 8);
|
|
1480
|
+
i0.ɵɵelementContainerEnd();
|
|
1481
|
+
} if (rf & 2) {
|
|
1482
|
+
const wageAmountForm_r126 = ctx.$implicit;
|
|
1483
|
+
const i_r127 = ctx.index;
|
|
1484
|
+
const ctx_r125 = i0.ɵɵnextContext(2);
|
|
1485
|
+
i0.ɵɵproperty("formGroupName", i_r127);
|
|
1486
|
+
i0.ɵɵadvance(1);
|
|
1487
|
+
i0.ɵɵproperty("ngIf", ctx_r125.employerType.value === "FED" || ctx_r125.employerType.value === "REG" && wageAmountForm_r126.value.displayForAll === true);
|
|
1488
|
+
} }
|
|
1489
|
+
function AddEmployerComponent_div_66_Template(rf, ctx) { if (rf & 1) {
|
|
1490
|
+
i0.ɵɵelementStart(0, "div");
|
|
1491
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_div_66_div_1_Template, 4, 3, "div", 6)(2, AddEmployerComponent_div_66_div_2_Template, 4, 3, "div", 6)(3, AddEmployerComponent_div_66_div_3_Template, 4, 3, "div", 6);
|
|
1492
|
+
i0.ɵɵelementStart(4, "div", 13)(5, "table", 145)(6, "tr")(7, "th", 146);
|
|
1493
|
+
i0.ɵɵtext(8);
|
|
1494
|
+
i0.ɵɵpipe(9, "translate");
|
|
1495
|
+
i0.ɵɵelementEnd();
|
|
1496
|
+
i0.ɵɵelementStart(10, "th");
|
|
1497
|
+
i0.ɵɵtext(11);
|
|
1498
|
+
i0.ɵɵpipe(12, "translate");
|
|
1499
|
+
i0.ɵɵelementEnd()();
|
|
1500
|
+
i0.ɵɵelementContainerStart(13, 147);
|
|
1501
|
+
i0.ɵɵtemplate(14, AddEmployerComponent_div_66_ng_container_14_Template, 2, 2, "ng-container", 148);
|
|
1502
|
+
i0.ɵɵelementContainerEnd();
|
|
1503
|
+
i0.ɵɵelementEnd()()();
|
|
1504
|
+
} if (rf & 2) {
|
|
1505
|
+
const ctx_r55 = i0.ɵɵnextContext();
|
|
1506
|
+
i0.ɵɵadvance(1);
|
|
1507
|
+
i0.ɵɵproperty("ngIf", ctx_r55.employerType.value === "FED");
|
|
1508
|
+
i0.ɵɵadvance(1);
|
|
1509
|
+
i0.ɵɵproperty("ngIf", ctx_r55.employerType.value === "REG");
|
|
1510
|
+
i0.ɵɵadvance(1);
|
|
1511
|
+
i0.ɵɵproperty("ngIf", ctx_r55.employerType.value === "FED");
|
|
1512
|
+
i0.ɵɵadvance(5);
|
|
1513
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 6, "induction.add.employment.reg.verification.wages.col1"));
|
|
1514
|
+
i0.ɵɵadvance(3);
|
|
1515
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 8, "induction.add.employment.reg.verification.wages.col2"));
|
|
1516
|
+
i0.ɵɵadvance(3);
|
|
1517
|
+
i0.ɵɵproperty("ngForOf", ctx_r55.wageAmountArray.controls);
|
|
1518
|
+
} }
|
|
1519
|
+
function AddEmployerComponent_ion_button_72_Template(rf, ctx) { if (rf & 1) {
|
|
1520
|
+
const _r131 = i0.ɵɵgetCurrentView();
|
|
1521
|
+
i0.ɵɵelementStart(0, "ion-button", 151);
|
|
1522
|
+
i0.ɵɵlistener("click", function AddEmployerComponent_ion_button_72_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r131); const ctx_r130 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r130.save()); });
|
|
1523
|
+
i0.ɵɵtext(1);
|
|
1524
|
+
i0.ɵɵpipe(2, "translate");
|
|
1525
|
+
i0.ɵɵelementEnd();
|
|
1526
|
+
} if (rf & 2) {
|
|
1527
|
+
i0.ɵɵadvance(1);
|
|
1528
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.button.save"), " ");
|
|
1529
|
+
} }
|
|
1530
|
+
function AddEmployerComponent_ion_button_73_Template(rf, ctx) { if (rf & 1) {
|
|
1531
|
+
const _r133 = i0.ɵɵgetCurrentView();
|
|
1532
|
+
i0.ɵɵelementStart(0, "ion-button", 151);
|
|
1533
|
+
i0.ɵɵlistener("click", function AddEmployerComponent_ion_button_73_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r132 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r132.add()); });
|
|
1534
|
+
i0.ɵɵtext(1);
|
|
1535
|
+
i0.ɵɵpipe(2, "translate");
|
|
1536
|
+
i0.ɵɵelementEnd();
|
|
1537
|
+
} if (rf & 2) {
|
|
1538
|
+
i0.ɵɵadvance(1);
|
|
1539
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.button.add"), " ");
|
|
1540
|
+
} }
|
|
1541
|
+
const _c5 = () => ({ width: "60vw" });
|
|
1542
|
+
const _c6 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
|
|
1543
|
+
export class AddEmployerComponent {
|
|
1544
|
+
constructor(formBuilder, validationService, util, filterService, logger, sanitizer, claimsService, ls) {
|
|
1545
|
+
this.formBuilder = formBuilder;
|
|
1546
|
+
this.validationService = validationService;
|
|
1547
|
+
this.util = util;
|
|
1548
|
+
this.filterService = filterService;
|
|
1549
|
+
this.logger = logger;
|
|
1550
|
+
this.sanitizer = sanitizer;
|
|
1551
|
+
this.claimsService = claimsService;
|
|
1552
|
+
this.ls = ls;
|
|
1553
|
+
this.employerTypeOptions = ComboOption.EMPLOYER_TYPE;
|
|
1554
|
+
this.countryOptions = ComboOption.COUNTRY;
|
|
1555
|
+
this.countryFedOptions = ComboOption.COUNTRY;
|
|
1556
|
+
this.payRateOptions = ComboOption.PAY_PERIOD;
|
|
1557
|
+
this.stateOptions = [];
|
|
1558
|
+
this.fedStateOptions = [];
|
|
1559
|
+
this.jobTileOrPositionOptions = [];
|
|
1560
|
+
this.fedJobTileOptions = [];
|
|
1561
|
+
this.radioOptions = ComboOption.YES_NO;
|
|
1562
|
+
this.workOptions = ComboOption.WORK_FOR_EMPL;
|
|
1563
|
+
this.yesNoNaOptions = ComboOption.YES_NO_NA;
|
|
1564
|
+
this.payMethodOptions = ComboOption.PAYMENT_METHOD;
|
|
1565
|
+
this.wageProofOptions = ComboOption.WAGE_PROOF;
|
|
1566
|
+
this.dischargeReasonOptions = [];
|
|
1567
|
+
this.volQuitReasonOptions = [];
|
|
1568
|
+
this.statesOptions = ComboOption.US_STATES;
|
|
1569
|
+
this.payPeriod = ComboOption.PAY_PERIOD;
|
|
1570
|
+
this.employmentStatusOptions = [];
|
|
1571
|
+
this.workCountryOptions = ComboOption.WORK_COUNTRY;
|
|
1572
|
+
this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
|
|
1573
|
+
this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES;
|
|
1574
|
+
this.dateTime = new Date();
|
|
1575
|
+
this.groupedReasons = ComboOption.GROUP_REASONS;
|
|
1576
|
+
this.dischargeReasonOptionsAll = [];
|
|
1577
|
+
this.volQuitReasonOptionsAll = [];
|
|
1578
|
+
this.employmentStatusOptionsAll = [];
|
|
1579
|
+
this.sf8Info = "SF-8";
|
|
1580
|
+
this.dd214Info = "DD 214";
|
|
1581
|
+
this.paraOne = "induction.add.employment.mil.dd214.yes.para.one";
|
|
1582
|
+
this.paraTwo = "induction.add.employment.mil.dd214.yes.para.two";
|
|
1583
|
+
this.paraThree = "induction.add.employment.mil.dd214.yes.para.three";
|
|
1584
|
+
this.paraFour = "induction.add.employment.mil.dd214.yes.para.four";
|
|
1585
|
+
this.paraFive = "induction.add.employment.mil.dd214.yes.para.five";
|
|
1586
|
+
this.paraSix = "induction.add.employment.mil.dd214.yes.para.six";
|
|
1587
|
+
this.noParaOne = "induction.add.employment.mil.dd214.no.para.one";
|
|
1588
|
+
this.noParaTwo = "induction.add.employment.mil.dd214.no.para.two";
|
|
1589
|
+
this.noParaThree = "induction.add.employment.mil.dd214.no.para.three";
|
|
1590
|
+
this.noParaFour = "induction.add.employment.mil.dd214.no.para.four";
|
|
1591
|
+
this.noParaFive = "induction.add.employment.mil.dd214.no.para.five";
|
|
1592
|
+
this.modelCancel = new EventEmitter();
|
|
1593
|
+
this.success = new EventEmitter();
|
|
1594
|
+
this.isBasePeriodEmployer = false;
|
|
1595
|
+
this.basePeriodIndex = new EventEmitter();
|
|
1596
|
+
this.isOsaEmployer = "0";
|
|
1597
|
+
this.showWorkState = true;
|
|
1598
|
+
this.onChange = (value) => {
|
|
1599
|
+
};
|
|
1600
|
+
this.onTouch = () => {
|
|
1601
|
+
};
|
|
1602
|
+
}
|
|
1603
|
+
ngOnInit() {
|
|
1604
|
+
this.loadMasterData();
|
|
1605
|
+
this.logger.debug('isBasePeriodEmployer is = ', this.isBasePeriodEmployer);
|
|
1606
|
+
this.logger.debug('isNewClaim = ', this.isNewClaim);
|
|
1607
|
+
this.currentState = this.util.getState();
|
|
1608
|
+
this.isCSR = this.ls.isCsr();
|
|
1609
|
+
this.logger.debug("Current State = ", this.currentState);
|
|
1610
|
+
let esm;
|
|
1611
|
+
let qtrWageList;
|
|
1612
|
+
this.logger.debug("call service =", this.validationService.bpEmpLstFrmService.getValue());
|
|
1613
|
+
if (this.recordIndexToEdit == undefined || this.recordIndexToEdit == null) {
|
|
1614
|
+
esm = new ClaimAppEmployerDetailsModel();
|
|
1615
|
+
qtrWageList = [] = this.validationService.bpEmpLstFrmService.getValue()?.qtrYearWageListGeneric;
|
|
1616
|
+
}
|
|
1617
|
+
else {
|
|
1618
|
+
this.logger.debug('recordIndexToEdit', this.recordIndexToEdit);
|
|
1619
|
+
this.logger.debug('this.validationService.bpEmpLstFrmService.getValue()', this.validationService.bpEmpLstFrmService.getValue());
|
|
1620
|
+
esm = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.recordIndexToEdit];
|
|
1621
|
+
qtrWageList = esm.wageAmountArray;
|
|
1622
|
+
this.customerName = esm.employerData.displayName;
|
|
1623
|
+
if (esm.employerData.tradeName) {
|
|
1624
|
+
this.aliasName = esm.employerData.tradeName;
|
|
1625
|
+
}
|
|
1626
|
+
else {
|
|
1627
|
+
this.aliasName = null;
|
|
1628
|
+
}
|
|
1629
|
+
if (esm.osaBpEmployerFlag) {
|
|
1630
|
+
this.isOsaEmployer = esm.osaBpEmployerFlag;
|
|
1631
|
+
}
|
|
1632
|
+
this.logger.debug("isOsaEmployer ======= ", this.isOsaEmployer);
|
|
1633
|
+
this.mailingAddressDisplay = esm.employerData.mailingAddressDisplay;
|
|
1634
|
+
this.schoolFlag = esm.employerData.schoolFlag;
|
|
1635
|
+
if (this.isCSR === true && esm.employerProvidedWages && esm.employerProvidedWages.wagesListQtrWise) {
|
|
1636
|
+
this.employerProvidedWages = esm.employerProvidedWages.wagesListQtrWise;
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
this.basePeriodStartDate = this.validationService.bpEmpLstFrmService.getValue().basePeriodStartDate;
|
|
1640
|
+
this.basePeriodEndDate = this.validationService.bpEmpLstFrmService.getValue().basePeriodEndDate;
|
|
1641
|
+
this.bpStartDateToDisplay = this.validationService.bpEmpLstFrmService.getValue().bpStartDateToDisplay;
|
|
1642
|
+
this.claimsService.loadMasterData();
|
|
1643
|
+
this.addEmployerForm = this.formBuilder.group({
|
|
1644
|
+
'employerType': [esm.employerType != null ? esm.employerType : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer))],
|
|
1645
|
+
'employerName': [esm.employerName != null ? esm.employerName : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
|
|
1646
|
+
'fedEmployerName': [esm.fedEmployerName != null ? esm.fedEmployerName : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1647
|
+
'employerTelephoneNumber': [esm.employerTelephoneNumber != null ? esm.employerTelephoneNumber : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
|
|
1648
|
+
'endDate': [esm.endDate != null ? esm.endDate : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
|
|
1649
|
+
'startDate': [esm.startDate != null ? esm.startDate : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
|
|
1650
|
+
'jobTileOrPosition': [esm.jobTileOrPosition != null ? esm.jobTileOrPosition : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')],
|
|
1651
|
+
'reasonSeparation': [esm.reasonSeparation != null ? esm.reasonSeparation : null, AppValidators.requiredIfValidator(() => (this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer && (this.employerType.value === 'REG' || this.employerType.value === 'FED'))],
|
|
1652
|
+
'dischargeDetail': [esm.dischargeDetail != null ? esm.dischargeDetail : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.employerType.value != 'MIL' && this.reasonSeparation.value && this.reasonSeparation.value.value === 'DCFI')))],
|
|
1653
|
+
'volQuitDetails': [esm.volQuitDetails != null ? esm.volQuitDetails : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.employerType.value != 'MIL' && this.reasonSeparation.value && this.reasonSeparation.value.value === 'VOLQ')))],
|
|
1654
|
+
'payRate': [esm.payRate != null ? esm.payRate : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')],
|
|
1655
|
+
'payRateFrequency': [esm.payRateFrequency != null ? esm.payRateFrequency : null, AppValidators.requiredIfValidator(() => (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG'))],
|
|
1656
|
+
'pensionFlag': [esm.pensionFlag != null ? esm.pensionFlag : null, AppValidators.requiredIfValidator(() => (this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.employerType.value === 'REG'))],
|
|
1657
|
+
'pensionRecvDate': [esm.pensionRecvDate != null ? esm.pensionRecvDate : null, AppValidators.requiredIfValidator(() => (this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.employerType.value === 'REG' && this.pensionFlag.value === 'Y' && this.currentState != 'ME'))],
|
|
1658
|
+
'regPensionFlag': [esm.regPensionFlag != null ? esm.regPensionFlag : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
|
|
1659
|
+
'regPensionRecvDate': [esm.regPensionRecvDate != null ? esm.regPensionRecvDate : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG' && this.regPensionFlag.value === 'Y'))],
|
|
1660
|
+
'isClmtPaidWhileLow': [esm.isClmtPaidWhileLow != null ? esm.isClmtPaidWhileLow : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')],
|
|
1661
|
+
'hasShortTermDisability': [esm.hasShortTermDisability != null ? esm.hasShortTermDisability : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG' && this.currentState === 'ME')],
|
|
1662
|
+
'hasRecvRemuneration': [esm.hasRecvRemuneration != null ? esm.hasRecvRemuneration : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG' && this.currentState === 'ME')],
|
|
1663
|
+
'remunerationTypes': [esm.remunerationTypes != null ? esm.remunerationTypes : null],
|
|
1664
|
+
'vacation': [esm.vacation != null ? esm.vacation : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.schoolFlag === '1') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG' && this.currentState === 'ME')],
|
|
1665
|
+
'grossWages': [esm.grossWages != null ? esm.grossWages : null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer)],
|
|
1666
|
+
//'paidBy': [esm.paidBy != null ? esm.paidBy : null,AppValidators.requiredIfValidator(() => (this.isClmtPaidWhileLow.value==='Y'))],
|
|
1667
|
+
'paymentType': [esm.paymentType != null ? esm.paymentType : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
|
|
1668
|
+
'docsReceived': [esm.docsReceived != null ? esm.docsReceived : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
|
|
1669
|
+
'otherSSNFlag': [esm.otherSSNFlag != null ? esm.otherSSNFlag : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
|
|
1670
|
+
'otherSSN': [esm.otherSSN != null ? esm.otherSSN : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG' && this.displayVerificationOfWages.value && this.otherSSNFlag.value === 'Y'))],
|
|
1671
|
+
'otherNameFlag': [esm.otherNameFlag != null ? esm.otherNameFlag : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
|
|
1672
|
+
'otherName': [esm.otherName != null ? esm.otherName : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG' && this.displayVerificationOfWages.value && this.otherNameFlag.value === 'Y'))],
|
|
1673
|
+
//'doingBusinessAs': [esm.doingBusinessAs != null ? esm.doingBusinessAs : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='MS'))],
|
|
1674
|
+
'workState': [esm.workState != null ? esm.workState : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
|
|
1675
|
+
'workCity': [esm.workCity != null ? esm.workCity : null, AppValidators.requiredIfValidator(() => (!this.isBasePeriodEmployer && this.employerType.value === 'REG'))],
|
|
1676
|
+
//'numberEmployed': [esm.numberEmployed != null ? esm.numberEmployed : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer))],
|
|
1677
|
+
'workType': [esm.workType != null ? esm.workType : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
|
|
1678
|
+
// 'fein': [esm.fein != null ? esm.fein : null],
|
|
1679
|
+
// 'hiredBy': [esm.hiredBy != null ? esm.hiredBy : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='MS'))],
|
|
1680
|
+
//'businessOwner': [esm.businessOwner != null ? esm.businessOwner : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='MS'))],
|
|
1681
|
+
'businessNature': [esm.businessNature != null ? esm.businessNature : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && this.employerType.value === 'REG' && !this.isBasePeriodEmployer))],
|
|
1682
|
+
'workFlag': [esm.workFlag != null ? esm.workFlag : null, AppValidators.requiredIfValidator(() => this.isBasePeriodEmployer)],
|
|
1683
|
+
//'quitreason': [esm.quitreason != null ? esm.quitreason : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.reasonSeparation.value && this.reasonSeparation.value.value === 'VOLQ')))],
|
|
1684
|
+
'displayVerificationOfWages': [esm.displayVerificationOfWages != null ? esm.displayVerificationOfWages : null],
|
|
1685
|
+
'ficDestinationCode': [esm.ficDestinationCode != null ? esm.ficDestinationCode : null],
|
|
1686
|
+
'ficCode': [esm.ficCode != null ? esm.ficCode : null],
|
|
1687
|
+
'ficDestinationName': [esm.ficDestinationName != null ? esm.ficDestinationName : null],
|
|
1688
|
+
'ficDestinationId': [esm.ficDestinationId != null ? esm.ficDestinationId : null],
|
|
1689
|
+
'sfEightflag': [esm.sfEightflag != null ? esm.sfEightflag : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1690
|
+
'fedWorkCity': [esm.fedWorkCity != null ? esm.fedWorkCity : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1691
|
+
'fedWorkState': [esm.fedWorkState != null ? esm.fedWorkState : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1692
|
+
'fedWorkCountry': [esm.fedWorkCountry != null ? esm.fedWorkCountry : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1693
|
+
'startDateFed': [esm.startDateFed != null ? esm.startDateFed : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1694
|
+
'endDateFed': [esm.endDateFed != null ? esm.endDateFed : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1695
|
+
'fedJobTileOrPosition': [esm.fedJobTileOrPosition != null ? esm.fedJobTileOrPosition : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1696
|
+
//'claimantEmployedWithEmpr': [esm.claimantEmployedWithEmpr != null ? esm.claimantEmployedWithEmpr : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1697
|
+
'performedService': [esm.performedService != null ? esm.performedService : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1698
|
+
'fedPensionFlag': [esm.fedPensionFlag != null ? esm.fedPensionFlag : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED'))],
|
|
1699
|
+
'fedPensionRecvDate': [esm.fedPensionRecvDate != null ? esm.fedPensionRecvDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'))],
|
|
1700
|
+
'sevPayFlag': [esm.sevPayFlag != null ? esm.sevPayFlag : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.currentState === 'ME'))],
|
|
1701
|
+
'weeklyAmount': [esm.sevPayFlag != null ? esm.weeklyAmount : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
|
|
1702
|
+
'numberOfWeeks': [esm.sevPayFlag != null ? esm.numberOfWeeks : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
|
|
1703
|
+
'sevPayAmount': [esm.sevPayFlag != null ? esm.sevPayAmount : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
|
|
1704
|
+
'sevPayStartDate': [esm.sevPayStartDate != null ? esm.sevPayStartDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
|
|
1705
|
+
'sevPayEndDate': [esm.sevPayEndDate != null ? esm.sevPayEndDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
|
|
1706
|
+
'sevPayPaymentStartDate': [esm.sevPayPaymentStartDate != null ? esm.sevPayPaymentStartDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y'))],
|
|
1707
|
+
'regEmployerFound': [esm.regEmployerFound != null ? esm.regEmployerFound : null],
|
|
1708
|
+
'employerId': [esm.employerId != null ? esm.employerId : null],
|
|
1709
|
+
'serviceBranch': [esm.serviceBranch != null ? esm.serviceBranch : null],
|
|
1710
|
+
'startDateMil': [esm.startDateMil != null ? esm.startDateMil : null],
|
|
1711
|
+
'endDateMil': [esm.endDateMil != null ? esm.endDateMil : null],
|
|
1712
|
+
'dd214Flag': [esm.dd214Flag != null ? esm.dd214Flag : null],
|
|
1713
|
+
'lastPayGrade': [esm.lastPayGrade != null ? esm.lastPayGrade : null],
|
|
1714
|
+
'lastduty': [esm.lastduty != null ? esm.lastduty : null],
|
|
1715
|
+
'placeSeparated': [esm.placeSeparated != null ? esm.placeSeparated : null],
|
|
1716
|
+
'noLeaveDays': [esm.noLeaveDays != null ? esm.noLeaveDays : null],
|
|
1717
|
+
'completedFullTermFlag': [esm.completedFullTermFlag != null ? esm.completedFullTermFlag : null],
|
|
1718
|
+
'reserveOrGuardFlag': [esm.reserveOrGuardFlag != null ? esm.reserveOrGuardFlag : null],
|
|
1719
|
+
'milPensionFlag': [esm.milPensionFlag != null ? esm.milPensionFlag : null],
|
|
1720
|
+
'milPensionRecvDate': [esm.milPensionRecvDate != null ? esm.milPensionRecvDate : null, AppValidators.requiredIfValidator(() => (this.employerType.value === 'MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'))],
|
|
1721
|
+
'addressLine1': [esm.addressLine1 != null ? esm.addressLine1 : null],
|
|
1722
|
+
'addressLine2': [esm.addressLine2 != null ? esm.addressLine2 : null],
|
|
1723
|
+
'addressLine3': [esm.addressLine3 != null ? esm.addressLine3 : null],
|
|
1724
|
+
'reserveBranch': [esm.reserveBranch != null ? esm.reserveBranch : null],
|
|
1725
|
+
'startDateReserve': [esm.startDateReserve != null ? esm.startDateReserve : null],
|
|
1726
|
+
'endDateReserve': [esm.endDateReserve != null ? esm.endDateReserve : null],
|
|
1727
|
+
'dd214File': [esm.dd214File != null ? esm.dd214File : null],
|
|
1728
|
+
'address': [esm.address != null ? esm.address : null],
|
|
1729
|
+
wageAmountArray: this.formBuilder.array([]),
|
|
1730
|
+
testEmp: [esm.employerProvidedWages && esm.employerProvidedWages.wagesListQtrWise != null ? esm.employerProvidedWages.wagesListQtrWise : null],
|
|
1731
|
+
'osaBpEmployerFlag': [esm.osaBpEmployerFlag != null ? esm.osaBpEmployerFlag : "0"]
|
|
1732
|
+
});
|
|
1733
|
+
if (this.validationService.bpEmpLstFrmService) {
|
|
1734
|
+
if (qtrWageList) {
|
|
1735
|
+
for (var qtrWage of qtrWageList) {
|
|
1736
|
+
this.wageAmountArray.push(this.wageArray(qtrWage));
|
|
1737
|
+
}
|
|
1738
|
+
}
|
|
1739
|
+
}
|
|
1740
|
+
;
|
|
1741
|
+
this.setRequiredValidation();
|
|
1742
|
+
let empStat = this.employmentStatusOptionsAll.filter(stat => stat.value == esm.reasonSeparation?.value)[0];
|
|
1743
|
+
this.reasonSeparation.setValue(empStat);
|
|
1744
|
+
}
|
|
1745
|
+
loadMasterData() {
|
|
1746
|
+
this.claimsService.getReasonSeparation().subscribe(value => {
|
|
1747
|
+
value.forEach(arr => this.employmentStatusOptionsAll.push(arr));
|
|
1748
|
+
});
|
|
1749
|
+
this.claimsService.getDischargeReasons().subscribe(value => {
|
|
1750
|
+
value.forEach(arr => this.dischargeReasonOptionsAll.push(arr));
|
|
1751
|
+
});
|
|
1752
|
+
this.claimsService.getQuitReasons().subscribe(value => {
|
|
1753
|
+
value.forEach(arr => this.volQuitReasonOptionsAll.push(arr));
|
|
1754
|
+
});
|
|
1755
|
+
if (this.employmentStatusOptions != null)
|
|
1756
|
+
return true;
|
|
1757
|
+
}
|
|
1758
|
+
wageArray(qtrWage) {
|
|
1759
|
+
return this.formBuilder.group({
|
|
1760
|
+
wageAmount: [qtrWage.wageAmount != null ? qtrWage.wageAmount : null, AppValidators.requiredIfValidator(() => (((this.employerType.value === 'FED') || (this.employerType.value === 'REG' && qtrWage.displayForAll && this.workState.value && this.workState.value.value === this.currentState))))],
|
|
1761
|
+
quarter: [qtrWage.quarter != null ? qtrWage.quarter : null],
|
|
1762
|
+
year: [qtrWage.year != null ? qtrWage.year : null],
|
|
1763
|
+
qtrYearDisplayString: [qtrWage.qtrYearDisplayString != null ? qtrWage.qtrYearDisplayString : null],
|
|
1764
|
+
displayOrder: [qtrWage.displayOrder != null ? qtrWage.displayOrder : null],
|
|
1765
|
+
displayForAll: [qtrWage.displayForAll != null ? qtrWage.displayForAll : null],
|
|
1766
|
+
});
|
|
1767
|
+
}
|
|
1768
|
+
get wageAmountArray() {
|
|
1769
|
+
return this.addEmployerForm.controls["wageAmountArray"];
|
|
1770
|
+
}
|
|
1771
|
+
get testEmp() {
|
|
1772
|
+
return this.addEmployerForm.controls["testEmp"];
|
|
1773
|
+
}
|
|
1774
|
+
setRequiredValidation() {
|
|
1775
|
+
this.sevPayFlag.valueChanges.subscribe(val => {
|
|
1776
|
+
if (val === 'Y' && this.employerType.value === 'FED' && this.sevPayFlag.value === 'Y' && this.currentState === 'ME') {
|
|
1777
|
+
this.setValidationOnServFields();
|
|
1778
|
+
}
|
|
1779
|
+
else {
|
|
1780
|
+
this.removeValidationOnServFields();
|
|
1781
|
+
}
|
|
1782
|
+
});
|
|
1783
|
+
this.workState.valueChanges.subscribe(val => {
|
|
1784
|
+
if (val && val.value === this.currentState && this.displayVerificationOfWages.value && !this.isBasePeriodEmployer) {
|
|
1785
|
+
this.setValidationOnVerificationOfWagesFields();
|
|
1786
|
+
}
|
|
1787
|
+
else {
|
|
1788
|
+
this.removeValidationOnVerificationOfWagesFields();
|
|
1789
|
+
}
|
|
1790
|
+
});
|
|
1791
|
+
this.fedWorkCountry.valueChanges.subscribe(val => {
|
|
1792
|
+
if (val && val.value === 'US' || val && val.value === 'CA') {
|
|
1793
|
+
this.showWorkState = true;
|
|
1794
|
+
this.util.setRequiredValidator(this.fedWorkState);
|
|
1795
|
+
}
|
|
1796
|
+
else {
|
|
1797
|
+
this.showWorkState = false;
|
|
1798
|
+
this.util.clearValidation(this.fedWorkState);
|
|
1799
|
+
this.fedWorkState.setValue(null);
|
|
1800
|
+
}
|
|
1801
|
+
if (val && val.value === 'US' && !this.isBasePeriodEmployer) {
|
|
1802
|
+
this.util.setRequiredValidator(this.fedWorkState);
|
|
1803
|
+
}
|
|
1804
|
+
else {
|
|
1805
|
+
this.util.clearValidation(this.fedWorkState);
|
|
1806
|
+
this.fedWorkState.setValue(null);
|
|
1807
|
+
}
|
|
1808
|
+
});
|
|
1809
|
+
this.endDate.valueChanges.subscribe(val => {
|
|
1810
|
+
if (this.workState.value?.value == this.currentState && this.displayVerificationOfWages.value && !this.isBasePeriodEmployer) {
|
|
1811
|
+
this.setValidationOnVerificationOfWagesFields();
|
|
1812
|
+
}
|
|
1813
|
+
else {
|
|
1814
|
+
this.removeValidationOnVerificationOfWagesFields();
|
|
1815
|
+
}
|
|
1816
|
+
});
|
|
1817
|
+
this.reasonSeparation.valueChanges.subscribe(val => {
|
|
1818
|
+
if (val) {
|
|
1819
|
+
if (val.value === 'DCFI') {
|
|
1820
|
+
this.util.setRequiredValidator(this.dischargeDetail);
|
|
1821
|
+
this.util.clearValidation(this.volQuitDetails);
|
|
1822
|
+
this.volQuitDetails.setValue(null);
|
|
1823
|
+
}
|
|
1824
|
+
else if (this.reasonSeparation.value.value === 'VOLQ') {
|
|
1825
|
+
this.util.setRequiredValidator(this.volQuitDetails);
|
|
1826
|
+
this.util.clearValidation(this.dischargeDetail);
|
|
1827
|
+
this.dischargeDetail.setValue(null);
|
|
1828
|
+
}
|
|
1829
|
+
else {
|
|
1830
|
+
this.util.clearValidation(this.dischargeDetail);
|
|
1831
|
+
this.dischargeDetail.setValue(null);
|
|
1832
|
+
this.util.clearValidation(this.volQuitDetails);
|
|
1833
|
+
this.volQuitDetails.setValue(null);
|
|
1834
|
+
}
|
|
1835
|
+
}
|
|
1836
|
+
});
|
|
1837
|
+
this.pensionFlag.valueChanges.subscribe(val => {
|
|
1838
|
+
if (val === 'Y' && this.employerType.value === 'REG' && this.workFlag.value === 'Y' && this.pensionFlag.value === 'Y' && this.currentState != 'ME') {
|
|
1839
|
+
this.util.setRequiredValidator(this.pensionRecvDate);
|
|
1840
|
+
}
|
|
1841
|
+
else {
|
|
1842
|
+
this.pensionRecvDate.setValue(null);
|
|
1843
|
+
this.util.clearValidation(this.pensionRecvDate);
|
|
1844
|
+
}
|
|
1845
|
+
});
|
|
1846
|
+
this.fedPensionFlag.valueChanges.subscribe(val => {
|
|
1847
|
+
if (val === 'Y' && this.employerType.value === 'FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME') {
|
|
1848
|
+
this.util.setRequiredValidator(this.fedPensionRecvDate);
|
|
1849
|
+
}
|
|
1850
|
+
else {
|
|
1851
|
+
this.fedPensionRecvDate.setValue(null);
|
|
1852
|
+
this.util.clearValidation(this.fedPensionRecvDate);
|
|
1853
|
+
}
|
|
1854
|
+
});
|
|
1855
|
+
this.regPensionFlag.valueChanges.subscribe(val => {
|
|
1856
|
+
if (val === 'Y' && this.employerType.value === 'REG' && !this.isBasePeriodEmployer && this.regPensionFlag.value === 'Y' && this.currentState != 'ME') {
|
|
1857
|
+
this.util.setRequiredValidator(this.regPensionRecvDate);
|
|
1858
|
+
}
|
|
1859
|
+
else {
|
|
1860
|
+
this.regPensionRecvDate.setValue(null);
|
|
1861
|
+
this.util.clearValidation(this.regPensionRecvDate);
|
|
1862
|
+
}
|
|
1863
|
+
});
|
|
1864
|
+
this.milPensionFlag.valueChanges.subscribe(val => {
|
|
1865
|
+
if (val === 'Y' && this.employerType.value === 'MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME') {
|
|
1866
|
+
this.util.setRequiredValidator(this.milPensionRecvDate);
|
|
1867
|
+
}
|
|
1868
|
+
else {
|
|
1869
|
+
this.milPensionRecvDate.setValue(null);
|
|
1870
|
+
this.util.clearValidation(this.milPensionRecvDate);
|
|
1871
|
+
}
|
|
1872
|
+
});
|
|
1873
|
+
this.hasRecvRemuneration.valueChanges.subscribe(val => {
|
|
1874
|
+
if (val === 'Y' && this.employerType.value === 'REG' && this.hasRecvRemuneration.value === 'Y' && this.currentState === 'ME' && this.isOsaEmployer === '0') {
|
|
1875
|
+
this.util.setRequiredValidator(this.remunerationTypes);
|
|
1876
|
+
}
|
|
1877
|
+
else {
|
|
1878
|
+
this.remunerationTypes.setValue(null);
|
|
1879
|
+
this.util.clearValidation(this.remunerationTypes);
|
|
1880
|
+
}
|
|
1881
|
+
});
|
|
1882
|
+
this.employerType.valueChanges.subscribe(val => {
|
|
1883
|
+
if (val === 'FED') {
|
|
1884
|
+
this.setValidationOnFederalFields();
|
|
1885
|
+
this.removeValidationOnRegularFields();
|
|
1886
|
+
this.removeValidationOnMilitaryFields();
|
|
1887
|
+
}
|
|
1888
|
+
if (val === 'REG') {
|
|
1889
|
+
this.setValidationOnRegularFields();
|
|
1890
|
+
this.removeValidationOnFederalFields();
|
|
1891
|
+
this.removeValidationOnMilitaryFields();
|
|
1892
|
+
}
|
|
1893
|
+
if (val === 'MIL') {
|
|
1894
|
+
this.setValidationOnMilitaryFields();
|
|
1895
|
+
this.removeValidationOnFederalFields();
|
|
1896
|
+
this.removeValidationOnRegularFields();
|
|
1897
|
+
}
|
|
1898
|
+
});
|
|
1899
|
+
}
|
|
1900
|
+
setValidationOnServFields() {
|
|
1901
|
+
this.util.setRequiredValidator(this.weeklyAmount);
|
|
1902
|
+
this.util.setRequiredValidator(this.numberOfWeeks);
|
|
1903
|
+
this.util.setRequiredValidator(this.sevPayAmount);
|
|
1904
|
+
this.util.setRequiredValidator(this.sevPayStartDate);
|
|
1905
|
+
this.util.setRequiredValidator(this.sevPayEndDate);
|
|
1906
|
+
this.util.setRequiredValidator(this.sevPayPaymentStartDate);
|
|
1907
|
+
}
|
|
1908
|
+
removeValidationOnServFields() {
|
|
1909
|
+
this.util.clearValidation(this.weeklyAmount);
|
|
1910
|
+
this.weeklyAmount.setValue('');
|
|
1911
|
+
this.util.clearValidation(this.numberOfWeeks);
|
|
1912
|
+
this.numberOfWeeks.setValue('');
|
|
1913
|
+
this.util.clearValidation(this.sevPayAmount);
|
|
1914
|
+
this.sevPayAmount.setValue('');
|
|
1915
|
+
this.util.clearValidation(this.sevPayStartDate);
|
|
1916
|
+
this.sevPayStartDate.setValue(null);
|
|
1917
|
+
this.util.clearValidation(this.sevPayEndDate);
|
|
1918
|
+
this.sevPayEndDate.setValue(null);
|
|
1919
|
+
this.util.clearValidation(this.sevPayPaymentStartDate);
|
|
1920
|
+
this.sevPayPaymentStartDate.setValue(null);
|
|
1921
|
+
}
|
|
1922
|
+
setValidationOnVerificationOfWagesFields() {
|
|
1923
|
+
this.util.setRequiredValidator(this.paymentType);
|
|
1924
|
+
this.util.setRequiredValidator(this.docsReceived);
|
|
1925
|
+
// this.util.setRequiredValidator(this.doingBusinessAs);
|
|
1926
|
+
// this.util.setRequiredValidator(this.hiredBy);
|
|
1927
|
+
this.util.setRequiredValidator(this.businessNature);
|
|
1928
|
+
this.util.setRequiredValidator(this.otherNameFlag);
|
|
1929
|
+
this.util.setRequiredValidator(this.otherSSNFlag);
|
|
1930
|
+
}
|
|
1931
|
+
removeValidationOnVerificationOfWagesFields() {
|
|
1932
|
+
this.util.clearValidation(this.paymentType);
|
|
1933
|
+
this.paymentType.setValue(null);
|
|
1934
|
+
this.util.clearValidation(this.docsReceived);
|
|
1935
|
+
this.docsReceived.setValue(null);
|
|
1936
|
+
// this.util.clearValidation(this.doingBusinessAs);
|
|
1937
|
+
// this.doingBusinessAs.setValue(null);
|
|
1938
|
+
// this.util.clearValidation(this.hiredBy);
|
|
1939
|
+
// this.hiredBy.setValue(null);
|
|
1940
|
+
this.util.clearValidation(this.businessNature);
|
|
1941
|
+
this.businessNature.setValue(null);
|
|
1942
|
+
this.util.clearValidation(this.otherNameFlag);
|
|
1943
|
+
this.otherNameFlag.setValue(null);
|
|
1944
|
+
this.util.clearValidation(this.otherSSNFlag);
|
|
1945
|
+
this.otherSSNFlag.setValue(null);
|
|
1946
|
+
}
|
|
1947
|
+
setValidationOnRegularFields() {
|
|
1948
|
+
this.logger.debug('this.displayVerificationOfWages.value', this.displayVerificationOfWages.value, ' this.isBasePeriodEmployer', this.isBasePeriodEmployer);
|
|
1949
|
+
if (((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer)) {
|
|
1950
|
+
this.util.setRequiredValidator(this.reasonSeparation);
|
|
1951
|
+
}
|
|
1952
|
+
if ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType.value === 'REG')) {
|
|
1953
|
+
this.util.setRequiredValidator(this.payRateFrequency);
|
|
1954
|
+
this.util.setRequiredValidator(this.payRate);
|
|
1955
|
+
this.util.setRequiredValidator(this.jobTileOrPosition);
|
|
1956
|
+
this.util.setRequiredValidator(this.isClmtPaidWhileLow);
|
|
1957
|
+
this.util.setRequiredValidator(this.endDate);
|
|
1958
|
+
this.util.setRequiredValidator(this.employerTelephoneNumber);
|
|
1959
|
+
this.util.setRequiredValidator(this.employerName);
|
|
1960
|
+
this.util.setRequiredValidator(this.startDate);
|
|
1961
|
+
if (this.currentState === 'ME') {
|
|
1962
|
+
this.util.setRequiredValidator(this.vacation);
|
|
1963
|
+
this.util.setRequiredValidator(this.hasShortTermDisability);
|
|
1964
|
+
this.util.setRequiredValidator(this.hasRecvRemuneration);
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
if ((this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.employerType.value === 'REG')) {
|
|
1968
|
+
if (this.pensionFlag.value === 'Y') {
|
|
1969
|
+
this.util.setRequiredValidator(this.pensionRecvDate);
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
if (!this.isBasePeriodEmployer && this.employerType.value === 'REG') {
|
|
1973
|
+
this.util.setRequiredValidator(this.workState);
|
|
1974
|
+
this.util.setRequiredValidator(this.workCity);
|
|
1975
|
+
this.util.setRequiredValidator(this.regPensionFlag);
|
|
1976
|
+
if (this.regPensionFlag.value === 'Y') {
|
|
1977
|
+
this.util.setRequiredValidator(this.regPensionRecvDate);
|
|
1978
|
+
}
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
removeValidationOnRegularFields() {
|
|
1982
|
+
this.util.clearValidation(this.pensionFlag);
|
|
1983
|
+
this.pensionFlag.setValue(null);
|
|
1984
|
+
this.util.clearValidation(this.pensionRecvDate);
|
|
1985
|
+
this.pensionRecvDate.setValue(null);
|
|
1986
|
+
this.util.clearValidation(this.payRateFrequency);
|
|
1987
|
+
this.payRateFrequency.setValue(null);
|
|
1988
|
+
this.util.clearValidation(this.payRate);
|
|
1989
|
+
this.payRate.setValue(null);
|
|
1990
|
+
this.util.clearValidation(this.jobTileOrPosition);
|
|
1991
|
+
this.jobTileOrPosition.setValue(null);
|
|
1992
|
+
this.util.clearValidation(this.isClmtPaidWhileLow);
|
|
1993
|
+
this.isClmtPaidWhileLow.setValue(null);
|
|
1994
|
+
this.util.clearValidation(this.endDate);
|
|
1995
|
+
this.endDate.setValue(null);
|
|
1996
|
+
this.util.clearValidation(this.employerTelephoneNumber);
|
|
1997
|
+
this.employerTelephoneNumber.setValue(null);
|
|
1998
|
+
this.util.clearValidation(this.employerName);
|
|
1999
|
+
this.employerName.setValue(null);
|
|
2000
|
+
this.util.clearValidation(this.startDate);
|
|
2001
|
+
this.startDate.setValue(null);
|
|
2002
|
+
this.util.clearValidation(this.workState);
|
|
2003
|
+
this.workState.setValue(null);
|
|
2004
|
+
this.util.clearValidation(this.workCity);
|
|
2005
|
+
this.workCity.setValue(null);
|
|
2006
|
+
this.util.clearValidation(this.regPensionFlag);
|
|
2007
|
+
this.regPensionFlag.setValue(null);
|
|
2008
|
+
this.util.clearValidation(this.regPensionRecvDate);
|
|
2009
|
+
this.regPensionRecvDate.setValue(null);
|
|
2010
|
+
this.util.clearValidation(this.otherName);
|
|
2011
|
+
this.otherName.setValue(null);
|
|
2012
|
+
this.util.clearValidation(this.otherNameFlag);
|
|
2013
|
+
this.otherNameFlag.setValue(null);
|
|
2014
|
+
this.util.clearValidation(this.otherSSN);
|
|
2015
|
+
this.otherSSN.setValue(null);
|
|
2016
|
+
this.util.clearValidation(this.otherSSNFlag);
|
|
2017
|
+
this.otherSSNFlag.setValue(null);
|
|
2018
|
+
if (this.currentState === 'ME') {
|
|
2019
|
+
this.util.clearValidation(this.vacation);
|
|
2020
|
+
this.vacation.setValue(null);
|
|
2021
|
+
this.util.clearValidation(this.hasShortTermDisability);
|
|
2022
|
+
this.hasShortTermDisability.setValue(null);
|
|
2023
|
+
this.util.clearValidation(this.hasRecvRemuneration);
|
|
2024
|
+
this.hasRecvRemuneration.setValue(null);
|
|
2025
|
+
this.util.clearValidation(this.remunerationTypes);
|
|
2026
|
+
this.remunerationTypes.setValue(null);
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
setValidationOnFederalFields() {
|
|
2030
|
+
// this.util.setRequiredValidator(this.claimantEmployedWithEmpr);
|
|
2031
|
+
this.util.setRequiredValidator(this.reasonSeparation);
|
|
2032
|
+
this.util.setRequiredValidator(this.endDateFed);
|
|
2033
|
+
this.util.setRequiredValidator(this.fedEmployerName);
|
|
2034
|
+
this.util.setRequiredValidator(this.fedJobTileOrPosition);
|
|
2035
|
+
this.util.setRequiredValidator(this.fedPensionFlag);
|
|
2036
|
+
if (this.fedPensionFlag.value === 'Y') {
|
|
2037
|
+
this.util.setRequiredValidator(this.fedPensionRecvDate);
|
|
2038
|
+
}
|
|
2039
|
+
this.util.setRequiredValidator(this.fedWorkCity);
|
|
2040
|
+
this.util.setRequiredValidator(this.fedWorkCountry);
|
|
2041
|
+
this.util.setRequiredValidator(this.fedWorkState);
|
|
2042
|
+
this.util.setRequiredValidator(this.performedService);
|
|
2043
|
+
if (this.currentState === 'ME') {
|
|
2044
|
+
this.util.setRequiredValidator(this.sevPayFlag);
|
|
2045
|
+
}
|
|
2046
|
+
this.util.setRequiredValidator(this.sfEightflag);
|
|
2047
|
+
this.util.setRequiredValidator(this.startDateFed);
|
|
2048
|
+
this.util.setValidation(this.fedEmployerName, [Validators.required]);
|
|
2049
|
+
}
|
|
2050
|
+
removeValidationOnFederalFields() {
|
|
2051
|
+
this.util.clearValidation(this.startDateFed);
|
|
2052
|
+
this.startDateFed.setValue(null);
|
|
2053
|
+
this.util.clearValidation(this.sfEightflag);
|
|
2054
|
+
this.sfEightflag.setValue(null);
|
|
2055
|
+
this.util.clearValidation(this.sevPayFlag);
|
|
2056
|
+
this.sevPayFlag.setValue(null);
|
|
2057
|
+
this.util.clearValidation(this.performedService);
|
|
2058
|
+
this.performedService.setValue(null);
|
|
2059
|
+
this.util.clearValidation(this.fedWorkState);
|
|
2060
|
+
this.fedWorkState.setValue(null);
|
|
2061
|
+
this.util.clearValidation(this.fedWorkCountry);
|
|
2062
|
+
this.fedWorkCountry.setValue(null);
|
|
2063
|
+
this.util.clearValidation(this.fedWorkCity);
|
|
2064
|
+
this.fedWorkCity.setValue(null);
|
|
2065
|
+
this.util.clearValidation(this.fedPensionFlag);
|
|
2066
|
+
this.fedPensionFlag.setValue(null);
|
|
2067
|
+
this.util.clearValidation(this.fedPensionRecvDate);
|
|
2068
|
+
this.fedPensionRecvDate.setValue(null);
|
|
2069
|
+
this.util.clearValidation(this.fedJobTileOrPosition);
|
|
2070
|
+
this.fedJobTileOrPosition.setValue(null);
|
|
2071
|
+
this.util.clearValidation(this.fedEmployerName);
|
|
2072
|
+
this.fedEmployerName.setValue(null);
|
|
2073
|
+
this.util.clearValidation(this.endDateFed);
|
|
2074
|
+
this.endDateFed.setValue(null);
|
|
2075
|
+
// this.util.clearValidation(this.claimantEmployedWithEmpr);
|
|
2076
|
+
//this.claimantEmployedWithEmpr.setValue(null)
|
|
2077
|
+
}
|
|
2078
|
+
setValidationOnMilitaryFields() {
|
|
2079
|
+
this.util.setRequiredValidator(this.serviceBranch);
|
|
2080
|
+
this.util.setRequiredValidator(this.startDateMil);
|
|
2081
|
+
this.util.setRequiredValidator(this.endDateMil);
|
|
2082
|
+
this.util.setRequiredValidator(this.dd214Flag);
|
|
2083
|
+
this.util.setRequiredValidator(this.milPensionFlag);
|
|
2084
|
+
if (this.milPensionFlag.value === 'Y') {
|
|
2085
|
+
this.util.setRequiredValidator(this.milPensionRecvDate);
|
|
2086
|
+
}
|
|
2087
|
+
if (this.dd214Flag.value === 'N') {
|
|
2088
|
+
this.util.setRequiredValidator(this.lastPayGrade);
|
|
2089
|
+
this.util.setRequiredValidator(this.lastduty);
|
|
2090
|
+
this.util.setRequiredValidator(this.placeSeparated);
|
|
2091
|
+
this.util.setRequiredValidator(this.noLeaveDays);
|
|
2092
|
+
this.util.setRequiredValidator(this.completedFullTermFlag);
|
|
2093
|
+
this.util.setRequiredValidator(this.reserveOrGuardFlag);
|
|
2094
|
+
}
|
|
2095
|
+
if (this.dd214Flag.value === 'Y') { }
|
|
2096
|
+
if (this.reserveOrGuardFlag.value === 'Y') {
|
|
2097
|
+
this.util.setRequiredValidator(this.reserveBranch);
|
|
2098
|
+
this.util.setRequiredValidator(this.startDateReserve);
|
|
2099
|
+
this.util.setRequiredValidator(this.endDateReserve);
|
|
2100
|
+
}
|
|
2101
|
+
//military does not have reason of separation
|
|
2102
|
+
this.util.clearValidation(this.reasonSeparation);
|
|
2103
|
+
this.reasonSeparation.setValue(null);
|
|
2104
|
+
}
|
|
2105
|
+
removeValidationOnMilitaryFields() {
|
|
2106
|
+
this.util.clearValidation(this.serviceBranch);
|
|
2107
|
+
this.serviceBranch.setValue(null);
|
|
2108
|
+
this.util.clearValidation(this.startDateMil);
|
|
2109
|
+
this.startDateMil.setValue(null);
|
|
2110
|
+
this.util.clearValidation(this.endDateMil);
|
|
2111
|
+
this.endDateMil.setValue(null);
|
|
2112
|
+
this.util.clearValidation(this.dd214Flag);
|
|
2113
|
+
this.dd214Flag.setValue(null);
|
|
2114
|
+
this.util.clearValidation(this.lastPayGrade);
|
|
2115
|
+
this.lastPayGrade.setValue(null);
|
|
2116
|
+
this.util.clearValidation(this.lastduty);
|
|
2117
|
+
this.lastduty.setValue(null);
|
|
2118
|
+
this.util.clearValidation(this.placeSeparated);
|
|
2119
|
+
this.placeSeparated.setValue(null);
|
|
2120
|
+
this.util.clearValidation(this.noLeaveDays);
|
|
2121
|
+
this.noLeaveDays.setValue(null);
|
|
2122
|
+
this.util.clearValidation(this.completedFullTermFlag);
|
|
2123
|
+
this.completedFullTermFlag.setValue(null);
|
|
2124
|
+
this.util.clearValidation(this.reserveOrGuardFlag);
|
|
2125
|
+
this.reserveOrGuardFlag.setValue(null);
|
|
2126
|
+
this.util.clearValidation(this.milPensionFlag);
|
|
2127
|
+
this.milPensionFlag.setValue(null);
|
|
2128
|
+
this.util.clearValidation(this.reserveBranch);
|
|
2129
|
+
this.reserveBranch.setValue(null);
|
|
2130
|
+
this.util.clearValidation(this.startDateReserve);
|
|
2131
|
+
this.startDateReserve.setValue(null);
|
|
2132
|
+
this.util.clearValidation(this.endDateReserve);
|
|
2133
|
+
this.endDateReserve.setValue(null);
|
|
2134
|
+
this.util.clearValidation(this.milPensionRecvDate);
|
|
2135
|
+
this.milPensionRecvDate.setValue(null);
|
|
2136
|
+
}
|
|
2137
|
+
get employerType() {
|
|
2138
|
+
return this.addEmployerForm.controls['employerType'];
|
|
2139
|
+
}
|
|
2140
|
+
get employerName() {
|
|
2141
|
+
return this.addEmployerForm.controls['employerName'];
|
|
2142
|
+
}
|
|
2143
|
+
get employerTelephoneNumber() {
|
|
2144
|
+
return this.addEmployerForm.controls['employerTelephoneNumber'];
|
|
2145
|
+
}
|
|
2146
|
+
get startDate() {
|
|
2147
|
+
return this.addEmployerForm.controls['startDate'];
|
|
2148
|
+
}
|
|
2149
|
+
get endDate() {
|
|
2150
|
+
return this.addEmployerForm.controls['endDate'];
|
|
2151
|
+
}
|
|
2152
|
+
get jobTileOrPosition() {
|
|
2153
|
+
return this.addEmployerForm.controls['jobTileOrPosition'];
|
|
2154
|
+
}
|
|
2155
|
+
get reasonSeparation() {
|
|
2156
|
+
return this.addEmployerForm.controls['reasonSeparation'];
|
|
2157
|
+
}
|
|
2158
|
+
get dischargeDetail() {
|
|
2159
|
+
return this.addEmployerForm.controls['dischargeDetail'];
|
|
2160
|
+
}
|
|
2161
|
+
get volQuitDetails() {
|
|
2162
|
+
return this.addEmployerForm.controls['volQuitDetails'];
|
|
2163
|
+
}
|
|
2164
|
+
get payRate() {
|
|
2165
|
+
return this.addEmployerForm.controls['payRate'];
|
|
2166
|
+
}
|
|
2167
|
+
get grossWages() {
|
|
2168
|
+
return this.addEmployerForm.controls['grossWages'];
|
|
2169
|
+
}
|
|
2170
|
+
get payRateFrequency() {
|
|
2171
|
+
return this.addEmployerForm.controls['payRateFrequency'];
|
|
2172
|
+
}
|
|
2173
|
+
get pensionFlag() {
|
|
2174
|
+
return this.addEmployerForm.controls['pensionFlag'];
|
|
2175
|
+
}
|
|
2176
|
+
get pensionRecvDate() {
|
|
2177
|
+
return this.addEmployerForm.controls['pensionRecvDate'];
|
|
2178
|
+
}
|
|
2179
|
+
get regPensionFlag() {
|
|
2180
|
+
return this.addEmployerForm.controls['regPensionFlag'];
|
|
2181
|
+
}
|
|
2182
|
+
get regPensionRecvDate() {
|
|
2183
|
+
return this.addEmployerForm.controls['regPensionRecvDate'];
|
|
2184
|
+
}
|
|
2185
|
+
get isClmtPaidWhileLow() {
|
|
2186
|
+
return this.addEmployerForm.controls['isClmtPaidWhileLow'];
|
|
2187
|
+
}
|
|
2188
|
+
get hasShortTermDisability() {
|
|
2189
|
+
return this.addEmployerForm.controls['hasShortTermDisability'];
|
|
2190
|
+
}
|
|
2191
|
+
get hasRecvRemuneration() {
|
|
2192
|
+
return this.addEmployerForm.controls['hasRecvRemuneration'];
|
|
2193
|
+
}
|
|
2194
|
+
get remunerationTypes() {
|
|
2195
|
+
return this.addEmployerForm.controls['remunerationTypes'];
|
|
2196
|
+
}
|
|
2197
|
+
get vacation() {
|
|
2198
|
+
return this.addEmployerForm.controls['vacation'];
|
|
2199
|
+
}
|
|
2200
|
+
// get paidBy() {
|
|
2201
|
+
// return this.addEmployerForm.controls['paidBy'];
|
|
2202
|
+
// }
|
|
2203
|
+
get paymentType() {
|
|
2204
|
+
return this.addEmployerForm.controls['paymentType'];
|
|
2205
|
+
}
|
|
2206
|
+
get docsReceived() {
|
|
2207
|
+
return this.addEmployerForm.controls['docsReceived'];
|
|
2208
|
+
}
|
|
2209
|
+
get otherSSNFlag() {
|
|
2210
|
+
return this.addEmployerForm.controls['otherSSNFlag'];
|
|
2211
|
+
}
|
|
2212
|
+
get otherSSN() {
|
|
2213
|
+
return this.addEmployerForm.controls['otherSSN'];
|
|
2214
|
+
}
|
|
2215
|
+
get otherNameFlag() {
|
|
2216
|
+
return this.addEmployerForm.controls['otherNameFlag'];
|
|
2217
|
+
}
|
|
2218
|
+
get otherName() {
|
|
2219
|
+
return this.addEmployerForm.controls['otherName'];
|
|
2220
|
+
}
|
|
2221
|
+
get doingBusinessAs() {
|
|
2222
|
+
return this.addEmployerForm.controls['doingBusinessAs'];
|
|
2223
|
+
}
|
|
2224
|
+
get workFlag() {
|
|
2225
|
+
return this.addEmployerForm.controls['workFlag'];
|
|
2226
|
+
}
|
|
2227
|
+
// get quitreason() {
|
|
2228
|
+
// return this.addEmployerForm.controls['quitreason'];
|
|
2229
|
+
// }
|
|
2230
|
+
get workCity() {
|
|
2231
|
+
return this.addEmployerForm.controls['workCity'];
|
|
2232
|
+
}
|
|
2233
|
+
get workState() {
|
|
2234
|
+
return this.addEmployerForm.controls['workState'];
|
|
2235
|
+
}
|
|
2236
|
+
/*get hiredBy() {
|
|
2237
|
+
return this.addEmployerForm.controls['hiredBy'];
|
|
2238
|
+
}
|
|
2239
|
+
|
|
2240
|
+
get fein() {
|
|
2241
|
+
return this.addEmployerForm.controls['fein'];
|
|
2242
|
+
}*/
|
|
2243
|
+
get workType() {
|
|
2244
|
+
return this.addEmployerForm.controls['workType'];
|
|
2245
|
+
}
|
|
2246
|
+
/*get numberEmployed() {
|
|
2247
|
+
return this.addEmployerForm.controls['numberEmployed'];
|
|
2248
|
+
}*/
|
|
2249
|
+
get businessNature() {
|
|
2250
|
+
return this.addEmployerForm.controls['businessNature'];
|
|
2251
|
+
}
|
|
2252
|
+
get displayVerificationOfWages() {
|
|
2253
|
+
return this.addEmployerForm.controls['displayVerificationOfWages'];
|
|
2254
|
+
}
|
|
2255
|
+
// get wageQuarter1() {
|
|
2256
|
+
// return this.addEmployerForm.controls['wageQuarter1'];
|
|
2257
|
+
// }
|
|
2258
|
+
// get wageQuarter2() {
|
|
2259
|
+
// return this.addEmployerForm.controls['wageQuarter2'];
|
|
2260
|
+
// }
|
|
2261
|
+
// get wageQuarter3() {
|
|
2262
|
+
// return this.addEmployerForm.controls['wageQuarter3'];
|
|
2263
|
+
// }
|
|
2264
|
+
// get wageQuarter4() {
|
|
2265
|
+
// return this.addEmployerForm.controls['wageQuarter4'];
|
|
2266
|
+
// }
|
|
2267
|
+
get ficCode() {
|
|
2268
|
+
return this.addEmployerForm.controls['ficCode'];
|
|
2269
|
+
}
|
|
2270
|
+
get ficDestinationCode() {
|
|
2271
|
+
return this.addEmployerForm.controls['ficDestinationCode'];
|
|
2272
|
+
}
|
|
2273
|
+
get ficDestinationId() {
|
|
2274
|
+
return this.addEmployerForm.controls['ficDestinationId'];
|
|
2275
|
+
}
|
|
2276
|
+
// get formerlyKnownAs() {
|
|
2277
|
+
// return this.addEmployerForm.controls['formerlyKnownAs'];
|
|
2278
|
+
// }
|
|
2279
|
+
get sfEightflag() {
|
|
2280
|
+
return this.addEmployerForm.controls['sfEightflag'];
|
|
2281
|
+
}
|
|
2282
|
+
get fedWorkCity() {
|
|
2283
|
+
return this.addEmployerForm.controls['fedWorkCity'];
|
|
2284
|
+
}
|
|
2285
|
+
get fedWorkState() {
|
|
2286
|
+
return this.addEmployerForm.controls['fedWorkState'];
|
|
2287
|
+
}
|
|
2288
|
+
get fedWorkCountry() {
|
|
2289
|
+
return this.addEmployerForm.controls['fedWorkCountry'];
|
|
2290
|
+
}
|
|
2291
|
+
get startDateFed() {
|
|
2292
|
+
return this.addEmployerForm.controls['startDateFed'];
|
|
2293
|
+
}
|
|
2294
|
+
get endDateFed() {
|
|
2295
|
+
return this.addEmployerForm.controls['endDateFed'];
|
|
2296
|
+
}
|
|
2297
|
+
get fedJobTileOrPosition() {
|
|
2298
|
+
return this.addEmployerForm.controls['fedJobTileOrPosition'];
|
|
2299
|
+
}
|
|
2300
|
+
/* get claimantEmployedWithEmpr() {
|
|
2301
|
+
return this.addEmployerForm.controls['claimantEmployedWithEmpr'];
|
|
2302
|
+
} */
|
|
2303
|
+
get performedService() {
|
|
2304
|
+
return this.addEmployerForm.controls['performedService'];
|
|
2305
|
+
}
|
|
2306
|
+
get fedPensionFlag() {
|
|
2307
|
+
return this.addEmployerForm.controls['fedPensionFlag'];
|
|
2308
|
+
}
|
|
2309
|
+
get fedPensionRecvDate() {
|
|
2310
|
+
return this.addEmployerForm.controls['fedPensionRecvDate'];
|
|
2311
|
+
}
|
|
2312
|
+
get sevPayFlag() {
|
|
2313
|
+
return this.addEmployerForm.controls['sevPayFlag'];
|
|
2314
|
+
}
|
|
2315
|
+
get weeklyAmount() {
|
|
2316
|
+
return this.addEmployerForm.controls['weeklyAmount'];
|
|
2317
|
+
}
|
|
2318
|
+
get numberOfWeeks() {
|
|
2319
|
+
return this.addEmployerForm.controls['numberOfWeeks'];
|
|
2320
|
+
}
|
|
2321
|
+
get sevPayAmount() {
|
|
2322
|
+
return this.addEmployerForm.controls['sevPayAmount'];
|
|
2323
|
+
}
|
|
2324
|
+
get sevPayStartDate() {
|
|
2325
|
+
return this.addEmployerForm.controls['sevPayStartDate'];
|
|
2326
|
+
}
|
|
2327
|
+
get sevPayEndDate() {
|
|
2328
|
+
return this.addEmployerForm.controls['sevPayEndDate'];
|
|
2329
|
+
}
|
|
2330
|
+
get sevPayPaymentStartDate() {
|
|
2331
|
+
return this.addEmployerForm.controls['sevPayPaymentStartDate'];
|
|
2332
|
+
}
|
|
2333
|
+
get regEmployerFound() {
|
|
2334
|
+
return this.addEmployerForm.controls['regEmployerFound'];
|
|
2335
|
+
}
|
|
2336
|
+
get employerId() {
|
|
2337
|
+
return this.addEmployerForm.controls['employerId'];
|
|
2338
|
+
}
|
|
2339
|
+
get fedEmployerName() {
|
|
2340
|
+
return this.addEmployerForm.controls['fedEmployerName'];
|
|
2341
|
+
}
|
|
2342
|
+
get serviceBranch() {
|
|
2343
|
+
return this.addEmployerForm.controls['serviceBranch'];
|
|
2344
|
+
}
|
|
2345
|
+
get startDateMil() {
|
|
2346
|
+
return this.addEmployerForm.controls['startDateMil'];
|
|
2347
|
+
}
|
|
2348
|
+
get endDateMil() {
|
|
2349
|
+
return this.addEmployerForm.controls['endDateMil'];
|
|
2350
|
+
}
|
|
2351
|
+
get dd214Flag() {
|
|
2352
|
+
return this.addEmployerForm.controls['dd214Flag'];
|
|
2353
|
+
}
|
|
2354
|
+
get lastPayGrade() {
|
|
2355
|
+
return this.addEmployerForm.controls['lastPayGrade'];
|
|
2356
|
+
}
|
|
2357
|
+
get lastduty() {
|
|
2358
|
+
return this.addEmployerForm.controls['lastduty'];
|
|
2359
|
+
}
|
|
2360
|
+
get placeSeparated() {
|
|
2361
|
+
return this.addEmployerForm.controls['placeSeparated'];
|
|
2362
|
+
}
|
|
2363
|
+
get noLeaveDays() {
|
|
2364
|
+
return this.addEmployerForm.controls['noLeaveDays'];
|
|
2365
|
+
}
|
|
2366
|
+
get completedFullTermFlag() {
|
|
2367
|
+
return this.addEmployerForm.controls['completedFullTermFlag'];
|
|
2368
|
+
}
|
|
2369
|
+
get reserveOrGuardFlag() {
|
|
2370
|
+
return this.addEmployerForm.controls['reserveOrGuardFlag'];
|
|
2371
|
+
}
|
|
2372
|
+
get milPensionFlag() {
|
|
2373
|
+
return this.addEmployerForm.controls['milPensionFlag'];
|
|
2374
|
+
}
|
|
2375
|
+
get milPensionRecvDate() {
|
|
2376
|
+
return this.addEmployerForm.controls['milPensionRecvDate'];
|
|
2377
|
+
}
|
|
2378
|
+
get addressLine1() {
|
|
2379
|
+
return this.addEmployerForm.controls['addressLine1'];
|
|
2380
|
+
}
|
|
2381
|
+
get addressLine2() {
|
|
2382
|
+
return this.addEmployerForm.controls['addressLine2'];
|
|
2383
|
+
}
|
|
2384
|
+
get addressLine3() {
|
|
2385
|
+
return this.addEmployerForm.controls['addressLine3'];
|
|
2386
|
+
}
|
|
2387
|
+
get ficDestinationName() {
|
|
2388
|
+
return this.addEmployerForm.controls['ficDestinationName'];
|
|
2389
|
+
}
|
|
2390
|
+
get reserveBranch() {
|
|
2391
|
+
return this.addEmployerForm.controls['reserveBranch'];
|
|
2392
|
+
}
|
|
2393
|
+
get startDateReserve() {
|
|
2394
|
+
return this.addEmployerForm.controls['startDateReserve'];
|
|
2395
|
+
}
|
|
2396
|
+
get endDateReserve() {
|
|
2397
|
+
return this.addEmployerForm.controls['endDateReserve'];
|
|
2398
|
+
}
|
|
2399
|
+
get dd214File() {
|
|
2400
|
+
return this.addEmployerForm.controls['dd214File'];
|
|
2401
|
+
}
|
|
2402
|
+
get address() {
|
|
2403
|
+
return this.addEmployerForm.controls['address'];
|
|
2404
|
+
}
|
|
2405
|
+
get osaBpEmployerFlag() {
|
|
2406
|
+
return this.addEmployerForm.controls['osaBpEmployerFlag'];
|
|
2407
|
+
}
|
|
2408
|
+
onToggleChangeEmployerType(obj) {
|
|
2409
|
+
this.employerType.valueChanges.subscribe(val => {
|
|
2410
|
+
this.reasonSeparation.setValue(null);
|
|
2411
|
+
this.address.enable();
|
|
2412
|
+
this.address.setValue(null);
|
|
2413
|
+
this.ficCode.setValue(null);
|
|
2414
|
+
this.ficDestinationCode.setValue(null);
|
|
2415
|
+
this.addressLine1.setValue(null);
|
|
2416
|
+
this.addressLine2.setValue(null);
|
|
2417
|
+
this.addressLine3.setValue(null);
|
|
2418
|
+
});
|
|
2419
|
+
}
|
|
2420
|
+
writeValue(obj) {
|
|
2421
|
+
//this.empName = obj;
|
|
2422
|
+
}
|
|
2423
|
+
registerOnChange(fn) {
|
|
2424
|
+
this.onChange = fn;
|
|
2425
|
+
}
|
|
2426
|
+
registerOnTouched(fn) {
|
|
2427
|
+
this.onTouch = fn;
|
|
2428
|
+
}
|
|
2429
|
+
setDisabledState(isDisabled) {
|
|
2430
|
+
}
|
|
2431
|
+
ngOnChanges(changes) {
|
|
2432
|
+
}
|
|
2433
|
+
onModelCancel(cancel) {
|
|
2434
|
+
this.modelCancel.emit(cancel);
|
|
2435
|
+
}
|
|
2436
|
+
setEmployer(employer) {
|
|
2437
|
+
this.logger.debug('setEmployer called', employer, "type", this.employerType, 'this.addEmployerForm', this.addEmployerForm);
|
|
2438
|
+
this.logger.debug('employer.state', employer.state);
|
|
2439
|
+
this.address.setValue({ country: employer.country, city: employer.city,
|
|
2440
|
+
zip: employer.zip, streetAddress: employer.addressDisplayVal, state: employer.state,
|
|
2441
|
+
optionalAddress: null, county: null, town: null
|
|
2442
|
+
});
|
|
2443
|
+
this.address.disable();
|
|
2444
|
+
this.employerId.setValue(employer.employerId);
|
|
2445
|
+
this.addressLine1.setValue(employer.addressLine1);
|
|
2446
|
+
this.addressLine2.setValue(employer.addressLine2);
|
|
2447
|
+
this.addressLine3.setValue(employer.addressLine3);
|
|
2448
|
+
this.regEmployerFound.setValue(true);
|
|
2449
|
+
}
|
|
2450
|
+
setFedEmployer(employer) {
|
|
2451
|
+
this.logger.debug('setFedEmployer called', employer, "zip ", employer.zip);
|
|
2452
|
+
this.ficCode.setValue(employer.ficCode);
|
|
2453
|
+
this.ficCode.disable();
|
|
2454
|
+
this.ficDestinationName.setValue(employer.ficDestinationName);
|
|
2455
|
+
this.ficDestinationId.setValue(employer.ficDestinationId);
|
|
2456
|
+
this.ficDestinationName.disable();
|
|
2457
|
+
this.ficDestinationCode.setValue(employer.ficDestinationCode);
|
|
2458
|
+
this.address.setValue({ country: employer.country, city: employer.city,
|
|
2459
|
+
zip: employer.zip, streetAddress: employer.addressLine1, state: employer.state,
|
|
2460
|
+
optionalAddress: employer.addressLine2, county: null, town: null
|
|
2461
|
+
});
|
|
2462
|
+
this.address.disable();
|
|
2463
|
+
this.employerId.setValue(employer.employerId);
|
|
2464
|
+
this.addressLine1.setValue(employer.addressLine1);
|
|
2465
|
+
this.addressLine2.setValue(employer.addressLine2);
|
|
2466
|
+
this.addressLine3.setValue(employer.addressLine3);
|
|
2467
|
+
this.regEmployerFound.setValue(false);
|
|
2468
|
+
}
|
|
2469
|
+
resetFedEmployer(employer) {
|
|
2470
|
+
this.address.enable();
|
|
2471
|
+
this.address.setValue({ country: null, city: null,
|
|
2472
|
+
zip: null, streetAddress: null, state: null,
|
|
2473
|
+
optionalAddress: null, county: null, town: null
|
|
2474
|
+
});
|
|
2475
|
+
this.regEmployerFound.setValue(false);
|
|
2476
|
+
}
|
|
2477
|
+
resetEmployer(employer) {
|
|
2478
|
+
this.logger.debug('resetEmployer called', employer);
|
|
2479
|
+
this.address.enable();
|
|
2480
|
+
this.address.setValue({ country: null, city: null,
|
|
2481
|
+
zip: null, streetAddress: null, state: null,
|
|
2482
|
+
optionalAddress: null, county: null, town: null
|
|
2483
|
+
});
|
|
2484
|
+
this.regEmployerFound.setValue(false);
|
|
2485
|
+
}
|
|
2486
|
+
putMilResBranchValidation(event) {
|
|
2487
|
+
if (event.option.value === 'Y') {
|
|
2488
|
+
this.util.setRequiredValidator(this.reserveBranch);
|
|
2489
|
+
this.util.setRequiredValidator(this.startDateReserve);
|
|
2490
|
+
this.util.setRequiredValidator(this.endDateReserve);
|
|
2491
|
+
}
|
|
2492
|
+
else {
|
|
2493
|
+
this.addEmployerForm.controls['reserveBranch'].setValue(null);
|
|
2494
|
+
this.util.clearValidation(this.reserveBranch);
|
|
2495
|
+
this.addEmployerForm.controls['startDateReserve'].setValue(null);
|
|
2496
|
+
this.util.clearValidation(this.startDateReserve);
|
|
2497
|
+
this.addEmployerForm.controls['endDateReserve'].setValue(null);
|
|
2498
|
+
this.util.clearValidation(this.endDateReserve);
|
|
2499
|
+
}
|
|
2500
|
+
}
|
|
2501
|
+
putMilValidation(event) {
|
|
2502
|
+
/*if (event.option.value === 'N') {
|
|
2503
|
+
this.util.setRequiredValidator(this.lastPayGrade);
|
|
2504
|
+
this.util.setRequiredValidator(this.lastduty);
|
|
2505
|
+
this.util.setRequiredValidator(this.placeSeparated);
|
|
2506
|
+
this.util.setRequiredValidator(this.noLeaveDays);
|
|
2507
|
+
this.util.setRequiredValidator(this.completedFullTermFlag);
|
|
2508
|
+
this.util.setRequiredValidator(this.reserveOrGuardFlag);
|
|
2509
|
+
}
|
|
2510
|
+
else{
|
|
2511
|
+
this.addEmployerForm.controls['lastPayGrade'].setValue(null);
|
|
2512
|
+
this.addEmployerForm.controls['lastduty'].setValue(null);
|
|
2513
|
+
this.addEmployerForm.controls['placeSeparated'].setValue(null);
|
|
2514
|
+
this.addEmployerForm.controls['noLeaveDays'].setValue(null);
|
|
2515
|
+
this.addEmployerForm.controls['completedFullTermFlag'].setValue(null);
|
|
2516
|
+
this.addEmployerForm.controls['reserveOrGuardFlag'].setValue(null);
|
|
2517
|
+
this.util.clearValidation(this.lastPayGrade);
|
|
2518
|
+
this.util.clearValidation(this.lastduty);
|
|
2519
|
+
this.util.clearValidation(this.placeSeparated);
|
|
2520
|
+
this.util.clearValidation(this.noLeaveDays);
|
|
2521
|
+
this.util.clearValidation(this.completedFullTermFlag);
|
|
2522
|
+
this.util.clearValidation(this.reserveOrGuardFlag);
|
|
2523
|
+
}*/
|
|
2524
|
+
}
|
|
2525
|
+
onOptionChange(event) {
|
|
2526
|
+
if (event.option.value === 'Y') {
|
|
2527
|
+
this.util.setRequiredValidator(this.employerTelephoneNumber);
|
|
2528
|
+
this.util.setRequiredValidator(this.startDate);
|
|
2529
|
+
this.util.setRequiredValidator(this.endDate);
|
|
2530
|
+
this.util.setRequiredValidator(this.jobTileOrPosition);
|
|
2531
|
+
this.util.setRequiredValidator(this.reasonSeparation);
|
|
2532
|
+
this.util.setRequiredValidator(this.payRate);
|
|
2533
|
+
this.util.setRequiredValidator(this.payRateFrequency);
|
|
2534
|
+
this.util.setRequiredValidator(this.pensionFlag);
|
|
2535
|
+
this.util.setRequiredValidator(this.isClmtPaidWhileLow);
|
|
2536
|
+
}
|
|
2537
|
+
else {
|
|
2538
|
+
this.addEmployerForm.controls['employerTelephoneNumber'].setValue(null);
|
|
2539
|
+
this.addEmployerForm.controls['startDate'].setValue(null);
|
|
2540
|
+
this.addEmployerForm.controls['endDate'].setValue(null);
|
|
2541
|
+
this.addEmployerForm.controls['jobTileOrPosition'].setValue(null);
|
|
2542
|
+
this.addEmployerForm.controls['reasonSeparation'].setValue(null);
|
|
2543
|
+
this.addEmployerForm.controls['payRate'].setValue(null);
|
|
2544
|
+
this.addEmployerForm.controls['payRateFrequency'].setValue(null);
|
|
2545
|
+
this.addEmployerForm.controls['pensionFlag'].setValue(null);
|
|
2546
|
+
this.addEmployerForm.controls['isClmtPaidWhileLow'].setValue(null);
|
|
2547
|
+
this.util.clearValidation(this.employerTelephoneNumber);
|
|
2548
|
+
this.util.clearValidation(this.startDate);
|
|
2549
|
+
this.util.clearValidation(this.endDate);
|
|
2550
|
+
this.util.clearValidation(this.jobTileOrPosition);
|
|
2551
|
+
this.util.clearValidation(this.reasonSeparation);
|
|
2552
|
+
this.util.clearValidation(this.payRate);
|
|
2553
|
+
this.util.clearValidation(this.payRateFrequency);
|
|
2554
|
+
this.util.clearValidation(this.pensionFlag);
|
|
2555
|
+
this.util.clearValidation(this.isClmtPaidWhileLow);
|
|
2556
|
+
}
|
|
2557
|
+
}
|
|
2558
|
+
save() {
|
|
2559
|
+
this.logger.debug('this.save.value', this.addEmployerForm);
|
|
2560
|
+
if (this.workFlag.value === 'N') {
|
|
2561
|
+
if (this.addEmployerForm.valid) {
|
|
2562
|
+
this.success.emit(this.addEmployerForm.value);
|
|
2563
|
+
this.display = false;
|
|
2564
|
+
}
|
|
2565
|
+
}
|
|
2566
|
+
else {
|
|
2567
|
+
this.add();
|
|
2568
|
+
}
|
|
2569
|
+
}
|
|
2570
|
+
add() {
|
|
2571
|
+
const invalid = [];
|
|
2572
|
+
const controls = this.addEmployerForm.controls;
|
|
2573
|
+
for (const name in controls) {
|
|
2574
|
+
if (controls[name].invalid) {
|
|
2575
|
+
invalid.push(name);
|
|
2576
|
+
}
|
|
2577
|
+
}
|
|
2578
|
+
this.logger.debug("invalid[]", invalid);
|
|
2579
|
+
if (!this.isBasePeriodEmployer && this.employerType.value != 'MIL') {
|
|
2580
|
+
this.logger.debug('validate address component');
|
|
2581
|
+
this.validateAddress();
|
|
2582
|
+
}
|
|
2583
|
+
if (this.addEmployerForm.valid) {
|
|
2584
|
+
this.logger.debug('this.add.value', this.addEmployerForm);
|
|
2585
|
+
this.addEmployerForm.controls['ficCode'].enable();
|
|
2586
|
+
this.addEmployerForm.controls['ficDestinationName'].enable();
|
|
2587
|
+
this.address.enable();
|
|
2588
|
+
this.success.emit(this.addEmployerForm.value);
|
|
2589
|
+
this.logger.debug("add form details add()- ", this.addEmployerForm);
|
|
2590
|
+
this.display = false;
|
|
2591
|
+
}
|
|
2592
|
+
}
|
|
2593
|
+
validateAddress() {
|
|
2594
|
+
let addressCompValue;
|
|
2595
|
+
addressCompValue = this.addEmployerForm.controls['address'].value;
|
|
2596
|
+
if (addressCompValue) {
|
|
2597
|
+
if (!addressCompValue.city || !addressCompValue.state ||
|
|
2598
|
+
!addressCompValue['zip'] || !addressCompValue.country ||
|
|
2599
|
+
!addressCompValue['streetAddress']) {
|
|
2600
|
+
this.addEmployerForm.controls['address'].setErrors({ addressValidationFlag: true });
|
|
2601
|
+
}
|
|
2602
|
+
}
|
|
2603
|
+
else {
|
|
2604
|
+
this.addEmployerForm.controls['address'].setErrors({ addressValidationFlag: true });
|
|
2605
|
+
}
|
|
2606
|
+
if (this.address1) {
|
|
2607
|
+
this.address1.submit();
|
|
2608
|
+
}
|
|
2609
|
+
if (this.address2) {
|
|
2610
|
+
this.address2.submit();
|
|
2611
|
+
}
|
|
2612
|
+
}
|
|
2613
|
+
filterCountry(event) {
|
|
2614
|
+
this.logger.debug('event', event);
|
|
2615
|
+
let filtered = [];
|
|
2616
|
+
let query = event.query;
|
|
2617
|
+
this.countryOptions = ComboOption.COUNTRY;
|
|
2618
|
+
//this.state.setValue(null);
|
|
2619
|
+
for (let i = 0; i < this.countryOptions.length; i++) {
|
|
2620
|
+
let country = this.countryOptions[i];
|
|
2621
|
+
if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2622
|
+
filtered.push(country);
|
|
2623
|
+
}
|
|
2624
|
+
}
|
|
2625
|
+
this.countryOptions = filtered;
|
|
2626
|
+
}
|
|
2627
|
+
filterFedCountry(event) {
|
|
2628
|
+
this.logger.debug('event', event);
|
|
2629
|
+
let filtered = [];
|
|
2630
|
+
let query = event.query;
|
|
2631
|
+
this.countryFedOptions = ComboOption.COUNTRY;
|
|
2632
|
+
//this.state.setValue(null);
|
|
2633
|
+
for (let i = 0; i < this.countryFedOptions.length; i++) {
|
|
2634
|
+
let country = this.countryFedOptions[i];
|
|
2635
|
+
if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2636
|
+
filtered.push(country);
|
|
2637
|
+
}
|
|
2638
|
+
}
|
|
2639
|
+
this.countryFedOptions = filtered;
|
|
2640
|
+
}
|
|
2641
|
+
setFedWorkStateValues(event) {
|
|
2642
|
+
if (event.value === 'US') {
|
|
2643
|
+
this.util.setRequiredValidator(this.fedWorkState);
|
|
2644
|
+
}
|
|
2645
|
+
else {
|
|
2646
|
+
this.util.clearValidation(this.fedWorkState);
|
|
2647
|
+
this.fedWorkState.setValue(null);
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
filterWorkCountry(event) {
|
|
2651
|
+
this.logger.debug('event', event);
|
|
2652
|
+
let filtered = [];
|
|
2653
|
+
let query = event.query;
|
|
2654
|
+
this.workCountryOptions = ComboOption.WORK_COUNTRY;
|
|
2655
|
+
//this.state.setValue(null);
|
|
2656
|
+
for (let i = 0; i < this.workCountryOptions.length; i++) {
|
|
2657
|
+
let country = this.workCountryOptions[i];
|
|
2658
|
+
if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2659
|
+
filtered.push(country);
|
|
2660
|
+
}
|
|
2661
|
+
}
|
|
2662
|
+
this.workCountryOptions = filtered;
|
|
2663
|
+
}
|
|
2664
|
+
filterMilitaryServiceOptions(event) {
|
|
2665
|
+
let filtered = [];
|
|
2666
|
+
let query = event.query;
|
|
2667
|
+
this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
|
|
2668
|
+
//this.state.setValue(null);
|
|
2669
|
+
for (let i = 0; i < this.militaryServiceOptions.length; i++) {
|
|
2670
|
+
let options = this.militaryServiceOptions[i];
|
|
2671
|
+
if (options.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2672
|
+
filtered.push(options);
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
this.militaryServiceOptions = filtered;
|
|
2676
|
+
}
|
|
2677
|
+
filterPayRate(event) {
|
|
2678
|
+
let filtered = [];
|
|
2679
|
+
let query = event.query;
|
|
2680
|
+
this.payRateOptions = ComboOption.PAY_PERIOD;
|
|
2681
|
+
for (let i = 0; i < this.payRateOptions.length; i++) {
|
|
2682
|
+
let pay = this.payRateOptions[i];
|
|
2683
|
+
if (pay.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2684
|
+
filtered.push(pay);
|
|
2685
|
+
}
|
|
2686
|
+
}
|
|
2687
|
+
this.payRateOptions = filtered;
|
|
2688
|
+
}
|
|
2689
|
+
filterReasonSeparation(event) {
|
|
2690
|
+
let filtered = [];
|
|
2691
|
+
let query = event.query;
|
|
2692
|
+
for (let i = 0; i < this.employmentStatusOptionsAll.length; i++) {
|
|
2693
|
+
let sepReason = this.employmentStatusOptionsAll[i];
|
|
2694
|
+
if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2695
|
+
filtered.push(sepReason);
|
|
2696
|
+
}
|
|
2697
|
+
}
|
|
2698
|
+
this.employmentStatusOptions = filtered;
|
|
2699
|
+
}
|
|
2700
|
+
filterUsState(event) {
|
|
2701
|
+
let filtered = [];
|
|
2702
|
+
let query = event.query;
|
|
2703
|
+
this.statesOptions = ComboOption.US_STATES;
|
|
2704
|
+
for (let i = 0; i < this.statesOptions.length; i++) {
|
|
2705
|
+
let sepReason = this.statesOptions[i];
|
|
2706
|
+
if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2707
|
+
filtered.push(sepReason);
|
|
2708
|
+
}
|
|
2709
|
+
}
|
|
2710
|
+
this.statesOptions = filtered;
|
|
2711
|
+
}
|
|
2712
|
+
checkForState(selectedStateValue) {
|
|
2713
|
+
this.logger.debug('selectedStateValue', selectedStateValue.value);
|
|
2714
|
+
let bpStartDate = new Date(this.basePeriodStartDate);
|
|
2715
|
+
let bpEndDate = new Date(this.basePeriodEndDate);
|
|
2716
|
+
let starteDateVal = new Date(this.startDate.value);
|
|
2717
|
+
let endDateVal = new Date(this.endDate.value);
|
|
2718
|
+
this.logger.debug('bpStartDate ', bpStartDate, 'starteDateVal ', starteDateVal);
|
|
2719
|
+
this.logger.debug('endDateVal ', endDateVal, 'bpEndDate ', bpEndDate);
|
|
2720
|
+
this.logger.debug('starteDateVal >= bpEndDate ', starteDateVal >= bpEndDate);
|
|
2721
|
+
this.logger.debug('endDateVal<= bpEndDate ', endDateVal <= bpEndDate);
|
|
2722
|
+
if (this.employerType.value === 'REG' && selectedStateValue.value === this.currentState) {
|
|
2723
|
+
this.logger.debug("Inside IF");
|
|
2724
|
+
if (starteDateVal.getTime() < bpEndDate.getTime() && endDateVal.getTime() > bpStartDate.getTime()) {
|
|
2725
|
+
this.displayVerificationOfWages.setValue(true);
|
|
2726
|
+
this.setValidationOnVerificationOfWagesFields();
|
|
2727
|
+
}
|
|
2728
|
+
else {
|
|
2729
|
+
this.displayVerificationOfWages.setValue(false);
|
|
2730
|
+
this.removeValidationOnVerificationOfWagesFields();
|
|
2731
|
+
}
|
|
2732
|
+
}
|
|
2733
|
+
this.logger.debug('displayVerificationOfWages = ', this.displayVerificationOfWages);
|
|
2734
|
+
}
|
|
2735
|
+
/*filterJobTileOrPosition(event) {
|
|
2736
|
+
let filtered: AutocoderModel[] = [];
|
|
2737
|
+
let query = event.query;
|
|
2738
|
+
this.validationService.get(`/claims-service/claim/jobtitle/` + `${query}`).subscribe(
|
|
2739
|
+
res => {
|
|
2740
|
+
this.logger.debug('res', res);
|
|
2741
|
+
this.jobTileOrPositionOptions = res;
|
|
2742
|
+
});
|
|
2743
|
+
}
|
|
2744
|
+
|
|
2745
|
+
filterFedJobTileOrPosition(event) {
|
|
2746
|
+
let filtered: AutocoderModel[] = [];
|
|
2747
|
+
let query = event.query;
|
|
2748
|
+
this.validationService.get(`/claims-service/claim/jobtitle/` + `${query}`).subscribe(
|
|
2749
|
+
res => {
|
|
2750
|
+
this.logger.debug('res', res);
|
|
2751
|
+
this.fedJobTileOptions = res;
|
|
2752
|
+
});
|
|
2753
|
+
}*/
|
|
2754
|
+
filterDischargeReasons(event) {
|
|
2755
|
+
let filtered = [];
|
|
2756
|
+
let query = event.query;
|
|
2757
|
+
for (let i = 0; i < this.dischargeReasonOptionsAll.length; i++) {
|
|
2758
|
+
let sepReason = this.dischargeReasonOptionsAll[i];
|
|
2759
|
+
if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2760
|
+
filtered.push(sepReason);
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2763
|
+
this.dischargeReasonOptions = filtered;
|
|
2764
|
+
}
|
|
2765
|
+
filterVoluntaryReason(event) {
|
|
2766
|
+
let filtered = [];
|
|
2767
|
+
let query = event.query;
|
|
2768
|
+
for (let i = 0; i < this.volQuitReasonOptionsAll.length; i++) {
|
|
2769
|
+
let sepReason = this.volQuitReasonOptionsAll[i];
|
|
2770
|
+
if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
2771
|
+
filtered.push(sepReason);
|
|
2772
|
+
}
|
|
2773
|
+
}
|
|
2774
|
+
this.volQuitReasonOptions = filtered;
|
|
2775
|
+
}
|
|
2776
|
+
validate(event) {
|
|
2777
|
+
if (event.target?.value) {
|
|
2778
|
+
this.minDate = new Date(event.target.value);
|
|
2779
|
+
}
|
|
2780
|
+
else if (event instanceof Date) {
|
|
2781
|
+
this.minDate = event;
|
|
2782
|
+
}
|
|
2783
|
+
this.endDate.setValue(null);
|
|
2784
|
+
this.logger.debug('this.basePeriodStartDate', this.basePeriodStartDate);
|
|
2785
|
+
}
|
|
2786
|
+
validateWagesDisplay(event) {
|
|
2787
|
+
let bpStartDate = new Date(this.basePeriodStartDate);
|
|
2788
|
+
let bpEndDate = new Date(this.basePeriodEndDate);
|
|
2789
|
+
let starteDateVal = new Date(this.startDate.value);
|
|
2790
|
+
let endDateVal = event.target?.value ? new Date(event.target.value) : event;
|
|
2791
|
+
this.logger.debug('bpStartDate ', bpStartDate, 'starteDateVal ', starteDateVal);
|
|
2792
|
+
this.logger.debug('endDateVal ', endDateVal, 'bpEndDate ', bpEndDate);
|
|
2793
|
+
this.logger.debug('starteDateVal before bpEndDate ', starteDateVal < bpEndDate);
|
|
2794
|
+
this.logger.debug('endDateVal after bpStartDate ', endDateVal > bpStartDate);
|
|
2795
|
+
this.logger.debug('this.workState ', this.workState);
|
|
2796
|
+
if (this.employerType.value === 'REG' && this.workState.value
|
|
2797
|
+
&& this.workState.value.value === this.currentState && this.isNewClaim) {
|
|
2798
|
+
if (starteDateVal.getTime() < bpEndDate.getTime() && endDateVal.getTime() > bpStartDate.getTime()) {
|
|
2799
|
+
this.displayVerificationOfWages.setValue(true);
|
|
2800
|
+
if (!this.isBasePeriodEmployer) {
|
|
2801
|
+
this.setValidationOnVerificationOfWagesFields();
|
|
2802
|
+
}
|
|
2803
|
+
else {
|
|
2804
|
+
this.removeValidationOnVerificationOfWagesFields();
|
|
2805
|
+
}
|
|
2806
|
+
}
|
|
2807
|
+
else {
|
|
2808
|
+
this.displayVerificationOfWages.setValue(false);
|
|
2809
|
+
}
|
|
2810
|
+
}
|
|
2811
|
+
else {
|
|
2812
|
+
this.displayVerificationOfWages.setValue(false);
|
|
2813
|
+
}
|
|
2814
|
+
}
|
|
2815
|
+
filterGroupedReason(event) {
|
|
2816
|
+
let query = event.query;
|
|
2817
|
+
this.logger.debug('query', query);
|
|
2818
|
+
let filteredGroups = [];
|
|
2819
|
+
this.groupedReasons = ComboOption.GROUP_REASONS;
|
|
2820
|
+
for (let optgroup of this.groupedReasons) {
|
|
2821
|
+
this.logger.debug('optgroup.items', optgroup.items);
|
|
2822
|
+
let filteredSubOptions = this.filterService.filter(optgroup.items, ["label"], query, "contains");
|
|
2823
|
+
this.logger.debug('filteredSubOptions', filteredSubOptions);
|
|
2824
|
+
if (filteredSubOptions && filteredSubOptions.length) {
|
|
2825
|
+
filteredGroups.push({
|
|
2826
|
+
label: optgroup.label,
|
|
2827
|
+
value: optgroup.value,
|
|
2828
|
+
items: filteredSubOptions
|
|
2829
|
+
});
|
|
2830
|
+
}
|
|
2831
|
+
}
|
|
2832
|
+
this.groupedReasons = filteredGroups;
|
|
2833
|
+
}
|
|
2834
|
+
onClearAction(event) {
|
|
2835
|
+
this.onChange(null);
|
|
2836
|
+
}
|
|
2837
|
+
dateInput(event) {
|
|
2838
|
+
let currentValue = event.srcElement.value;
|
|
2839
|
+
if (currentValue) {
|
|
2840
|
+
if (currentValue.length == 2 && currentValue.charAt(2) != '/') {
|
|
2841
|
+
event.target.value = currentValue + "/";
|
|
2842
|
+
}
|
|
2843
|
+
if (currentValue.length == 5 && currentValue.charAt(5) != '/') {
|
|
2844
|
+
event.target.value = currentValue + "/";
|
|
2845
|
+
}
|
|
2846
|
+
}
|
|
2847
|
+
}
|
|
2848
|
+
static { this.ɵfac = function AddEmployerComponent_Factory(t) { return new (t || AddEmployerComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.FilterService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.DomSanitizer), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.LoginService)); }; }
|
|
2849
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddEmployerComponent, selectors: [["app-add-employer"]], viewQuery: function AddEmployerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
2850
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
2851
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
2852
|
+
i0.ɵɵviewQuery(_c2, 5);
|
|
2853
|
+
} if (rf & 2) {
|
|
2854
|
+
let _t;
|
|
2855
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address1 = _t.first);
|
|
2856
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address2 = _t.first);
|
|
2857
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.addEmployerFormDirective = _t.first);
|
|
2858
|
+
} }, inputs: { recordIndexToEdit: "recordIndexToEdit", isBasePeriodEmployer: "isBasePeriodEmployer", isNewClaim: "isNewClaim" }, outputs: { modelCancel: "modelCancel", success: "success", basePeriodIndex: "basePeriodIndex" }, features: [i0.ɵɵNgOnChangesFeature], decls: 74, vars: 72, consts: [["visible", "true", "modal", "true", "position", "top", "appendTo", "body", 3, "showHeader", "draggable", "resizable", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], ["addEmployerFormDirective", "ngForm"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], ["class", "field", 4, "ngIf"], ["class", "field", "style", "width: inherit !important;", 4, "ngIf"], [4, "ngIf"], ["class", "ion-hide-sm-down", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 2, "width", "80px", 3, "click"], ["shape", "round", "style", "width: 80px;", "type", "submit", 3, "click", 4, "ngIf"], [1, "field"], [2, "font-size", "12px"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns"], ["pTemplate", "header"], [4, "ngFor", "ngForOf"], ["for", "workFlag"], ["for", "employerType"], [2, "inline-size", "inherit"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onOptionClick"], [3, "field", "form", "errDef"], ["for", "employerName"], ["empType", "REG", 3, "formControl", "onFound", "onEmpty"], [1, "field", 2, "width", "inherit !important"], ["for", "fedEmployerName"], ["empType", "FED", 3, "formControl", "onFound", "onEmpty"], ["for", "serviceBranch"], ["optionLabel", "text", "appendTo", "body", "inputId", "serviceBranch", 3, "options", "formControl", "autoDisplayFirst"], [2, "padding", "0px"], ["for", "startDateMil"], ["iconAriaLabel", "startDateMil", "inputId", "startDateMil", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "maxDate", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["size", "1"], ["for", "endDateMil"], ["iconAriaLabel", "endDateMil", "inputId", "endDateMil", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "ficCode"], ["id", "ficCode", "type", "input", "pInputText", "", 3, "formControl"], ["for", "ficDestinationName"], ["id", "ficDestinationName", "type", "input", "pInputText", "", 3, "formControl"], [2, "padding-left", "0px", "padding-right", "0px"], [3, "formControl", "countyRequired", "fromPopup"], ["address1", ""], ["countyRequired", "false", 3, "formControl", "fromPopup"], ["address2", ""], ["for", "workCity"], ["id", "workCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "workState"], ["optionLabel", "text", "appendTo", "body", "inputId", "workState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCountry"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkCountry", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCity"], ["id", "fedWorkCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["style", "padding: 0px;", 4, "ngIf"], ["for", "fedWorkState"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "startDateFed"], ["iconAriaLabel", "startDateFed", "inputId", "startDateFed", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDateFed"], ["iconAriaLabel", "endDateFed", "inputId", "endDateFed", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "fedJobTileOrPosition"], ["id", "fedJobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["for", "sfEightflag"], [2, "inline-size", "min-content"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "startDate"], ["iconAriaLabel", "startDate", "inputId", "startDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDate"], ["iconAriaLabel", "endDate", "inputId", "endDate", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "minDate", "maxDate", "yearNavigator", "formControl", "showOnFocus", "onBlur", "onInput", "onSelect"], ["for", "workType"], ["id", "workType", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], ["for", "performedService"], ["for", "jobTileOrPosition"], ["id", "jobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["style", "padding-right:5px; padding-left: 0px;", 4, "ngIf"], ["style", "padding-right:5px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px"], ["for", "payRate"], ["mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], [2, "padding-right", "5px"], ["for", "payRateFrequency"], ["optionLabel", "text", "appendTo", "body", "inputId", "payRateFrequency", 3, "options", "formControl", "autoDisplayFirst"], ["for", "employerTelephoneNumber"], ["mask", "999-999-9999", "placeholder", "999-999-9999", 3, "id", "formControl"], ["for", "reasonSeparation"], ["optionLabel", "text", "appendTo", "body", "inputId", "reasonSeparation", 3, "options", "formControl", "autoDisplayFirst"], ["for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "inputId", "dischargeDetail", 3, "options", "formControl", "autoDisplayFirst"], ["for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "inputId", "volQuitDetails", 3, "options", "formControl", "autoDisplayFirst"], ["for", "milPensionFlag"], ["for", "milPensionRecvDate"], ["inputId", "milPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "dd214Flag"], [2, "inline-size", "min-content", "display", "inline-flex"], [3, "overlayText"], [1, "ion-hide-sm-down"], [2, "border-style", "solid", "border-width", "1px"], [3, "innerHTML"], [2, "padding-left", "15px", 3, "innerHTML"], [2, "padding-top", "0px"], ["for", "grossWages", 2, "inline-size", "max-content"], ["style", "padding-right:5px; padding-left: 0px; padding-top: 0px;", 4, "ngIf"], ["style", "padding-right:5px;padding-top: 0px;", 4, "ngIf"], ["style", "padding-top: 0px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px", "padding-top", "0px"], ["inputId", "payRate", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], [2, "padding-right", "5px", "padding-top", "0px"], ["for", "fedPensionFlag"], ["for", "fedPensionRecvDate"], ["inputId", "fedPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "sevPayFlag"], ["for", "weeklyAmount"], ["for", "numberOfWeeks"], ["maxlength", "4", 3, "id", "useGrouping", "formControl"], ["for", "sevPayAmount"], ["for", "sevPayStartDate"], ["inputId", "sevPayStartDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "sevPayEndDate"], ["inputId", "sevPayEndDate", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "minDate", "showOnFocus", "onInput"], ["for", "sevPayPaymentStartDate"], ["inputId", "sevPayPaymentStartDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "pensionFlag"], ["for", "pensionRecvDate"], ["inputId", "pensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "regPensionFlag"], ["for", "regPensionRecvDate"], ["inputId", "regPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "isClmtPaidWhileLow"], ["for", "hasShortTermDisability"], ["for", "hasRecvRemuneration"], ["for", "remunerationTypes"], ["styleClass", "app-p-checkbox", 3, "name", "value", "label", "formControl", 4, "ngFor", "ngForOf"], ["styleClass", "app-p-checkbox", 3, "name", "value", "label", "formControl"], ["for", "vacation"], ["for", "paymentType"], ["for", "docsReceived"], ["for", "otherSSNFlag"], ["for", "otherSSN"], ["mask", "999-99-9999", "placeholder", "999-99-9999", 3, "id", "formControl"], ["for", "otherNameFlag"], ["for", "otherName"], ["id", "otherName", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "businessNature"], ["id", "businessNature", "type", "input", "pInputText", "", "maxlength", "250", 3, "formControl"], ["rules", "rows"], [2, "text-align", "center"], ["formArrayName", "wageAmountArray"], [3, "formGroupName", 4, "ngFor", "ngForOf"], [3, "formGroupName"], ["ariaLabel", "wageAmount", "formControlName", "wageAmount", "mode", "currency", "maxlength", "12", "currency", "USD", "locale", "en-US", 3, "max"], ["shape", "round", "type", "submit", 2, "width", "80px", 3, "click"]], template: function AddEmployerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2859
|
+
i0.ɵɵelementStart(0, "p-dialog", 0)(1, "h4", 1);
|
|
2860
|
+
i0.ɵɵtext(2);
|
|
2861
|
+
i0.ɵɵpipe(3, "translate");
|
|
2862
|
+
i0.ɵɵelementEnd();
|
|
2863
|
+
i0.ɵɵelementStart(4, "form", 2, 3)(6, "ion-grid")(7, "ion-row")(8, "ion-col", 4)(9, "div", 5);
|
|
2864
|
+
i0.ɵɵtemplate(10, AddEmployerComponent_div_10_Template, 8, 5, "div", 6)(11, AddEmployerComponent_div_11_Template, 8, 6, "div", 6)(12, AddEmployerComponent_div_12_Template, 7, 11, "div", 6)(13, AddEmployerComponent_div_13_Template, 6, 10, "div", 6)(14, AddEmployerComponent_div_14_Template, 6, 10, "div", 7)(15, AddEmployerComponent_div_15_Template, 6, 12, "div", 6)(16, AddEmployerComponent_ion_row_16_Template, 16, 29, "ion-row", 8)(17, AddEmployerComponent_ion_row_17_Template, 16, 20, "ion-row", 8)(18, AddEmployerComponent_ion_row_18_Template, 4, 3, "ion-row", 8)(19, AddEmployerComponent_div_19_Template, 4, 8, "div", 6)(20, AddEmployerComponent_ion_row_20_Template, 16, 22, "ion-row", 8)(21, AddEmployerComponent_div_21_Template, 6, 12, "div", 6)(22, AddEmployerComponent_ion_row_22_Template, 10, 11, "ion-row", 8)(23, AddEmployerComponent_ion_row_23_Template, 16, 29, "ion-row", 8)(24, AddEmployerComponent_div_24_Template, 6, 10, "div", 6)(25, AddEmployerComponent_div_25_Template, 7, 11, "div", 6)(26, AddEmployerComponent_ion_row_26_Template, 16, 29, "ion-row", 8)(27, AddEmployerComponent_ion_row_27_Template, 8, 10, "ion-row", 8)(28, AddEmployerComponent_div_28_Template, 7, 11, "div", 6)(29, AddEmployerComponent_div_29_Template, 6, 10, "div", 6)(30, AddEmployerComponent_ion_row_30_Template, 3, 2, "ion-row", 8)(31, AddEmployerComponent_div_31_Template, 6, 11, "div", 6)(32, AddEmployerComponent_div_32_Template, 6, 11, "div", 6)(33, AddEmployerComponent_div_33_Template, 6, 12, "div", 6)(34, AddEmployerComponent_div_34_Template, 6, 12, "div", 6)(35, AddEmployerComponent_div_35_Template, 10, 14, "div", 6)(36, AddEmployerComponent_div_36_Template, 7, 13, "div", 6)(37, AddEmployerComponent_div_37_Template, 9, 12, "div", 6);
|
|
2865
|
+
i0.ɵɵelementEnd()();
|
|
2866
|
+
i0.ɵɵelementStart(38, "ion-col", 4)(39, "div", 5);
|
|
2867
|
+
i0.ɵɵtemplate(40, AddEmployerComponent_ion_row_40_Template, 3, 0, "ion-row", 9)(41, AddEmployerComponent_ion_row_41_Template, 3, 0, "ion-row", 9)(42, AddEmployerComponent_ion_row_42_Template, 3, 0, "ion-row", 9)(43, AddEmployerComponent_ion_row_43_Template, 3, 0, "ion-row", 9)(44, AddEmployerComponent_ion_row_44_Template, 3, 0, "ion-row", 9)(45, AddEmployerComponent_ion_row_45_Template, 14, 18, "ion-row", 8)(46, AddEmployerComponent_ion_row_46_Template, 12, 15, "ion-row", 8)(47, AddEmployerComponent_ion_row_47_Template, 7, 8, "ion-row", 8)(48, AddEmployerComponent_ion_row_48_Template, 4, 3, "ion-row", 8)(49, AddEmployerComponent_div_49_Template, 10, 14, "div", 6)(50, AddEmployerComponent_div_50_Template, 7, 13, "div", 6)(51, AddEmployerComponent_div_51_Template, 7, 11, "div", 6)(52, AddEmployerComponent_ion_row_52_Template, 22, 34, "ion-row", 8)(53, AddEmployerComponent_ion_row_53_Template, 22, 40, "ion-row", 8)(54, AddEmployerComponent_div_54_Template, 7, 11, "div", 6)(55, AddEmployerComponent_div_55_Template, 7, 13, "div", 6)(56, AddEmployerComponent_div_56_Template, 10, 14, "div", 6)(57, AddEmployerComponent_div_57_Template, 7, 13, "div", 6)(58, AddEmployerComponent_div_58_Template, 7, 11, "div", 6)(59, AddEmployerComponent_div_59_Template, 7, 12, "div", 6)(60, AddEmployerComponent_div_60_Template, 7, 11, "div", 6)(61, AddEmployerComponent_div_61_Template, 6, 10, "div", 6)(62, AddEmployerComponent_div_62_Template, 7, 11, "div", 6)(63, AddEmployerComponent_div_63_Template, 29, 40, "div", 8)(64, AddEmployerComponent_ion_row_64_Template, 10, 12, "ion-row", 8)(65, AddEmployerComponent_ion_row_65_Template, 8, 10, "ion-row", 8)(66, AddEmployerComponent_div_66_Template, 15, 10, "div", 8);
|
|
2868
|
+
i0.ɵɵelementEnd()()();
|
|
2869
|
+
i0.ɵɵelementStart(67, "ion-row")(68, "ion-col", 10)(69, "ion-button", 11);
|
|
2870
|
+
i0.ɵɵlistener("click", function AddEmployerComponent_Template_ion_button_click_69_listener() { return ctx.onModelCancel(false); });
|
|
2871
|
+
i0.ɵɵtext(70);
|
|
2872
|
+
i0.ɵɵpipe(71, "translate");
|
|
2873
|
+
i0.ɵɵelementEnd();
|
|
2874
|
+
i0.ɵɵtemplate(72, AddEmployerComponent_ion_button_72_Template, 3, 3, "ion-button", 12)(73, AddEmployerComponent_ion_button_73_Template, 3, 3, "ion-button", 12);
|
|
2875
|
+
i0.ɵɵelementEnd()()()()();
|
|
2876
|
+
} if (rf & 2) {
|
|
2877
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(70, _c5));
|
|
2878
|
+
i0.ɵɵproperty("showHeader", false)("draggable", false)("resizable", false)("breakpoints", i0.ɵɵpureFunction0(71, _c6));
|
|
2879
|
+
i0.ɵɵadvance(2);
|
|
2880
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 66, "induction.confirm.employment.heading"), "");
|
|
2881
|
+
i0.ɵɵadvance(2);
|
|
2882
|
+
i0.ɵɵproperty("formGroup", ctx.addEmployerForm);
|
|
2883
|
+
i0.ɵɵadvance(6);
|
|
2884
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
|
|
2885
|
+
i0.ɵɵadvance(1);
|
|
2886
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer && ctx.workFlag.value == "N");
|
|
2887
|
+
i0.ɵɵadvance(1);
|
|
2888
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
|
|
2889
|
+
i0.ɵɵadvance(1);
|
|
2890
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2891
|
+
i0.ɵɵadvance(1);
|
|
2892
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2893
|
+
i0.ɵɵadvance(1);
|
|
2894
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
|
|
2895
|
+
i0.ɵɵadvance(1);
|
|
2896
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
|
|
2897
|
+
i0.ɵɵadvance(1);
|
|
2898
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.hideFicCode);
|
|
2899
|
+
i0.ɵɵadvance(1);
|
|
2900
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2901
|
+
i0.ɵɵadvance(1);
|
|
2902
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2903
|
+
i0.ɵɵadvance(1);
|
|
2904
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2905
|
+
i0.ɵɵadvance(1);
|
|
2906
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2907
|
+
i0.ɵɵadvance(1);
|
|
2908
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2909
|
+
i0.ɵɵadvance(1);
|
|
2910
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2911
|
+
i0.ɵɵadvance(1);
|
|
2912
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2913
|
+
i0.ɵɵadvance(1);
|
|
2914
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2915
|
+
i0.ɵɵadvance(1);
|
|
2916
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
|
|
2917
|
+
i0.ɵɵadvance(1);
|
|
2918
|
+
i0.ɵɵproperty("ngIf", ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2919
|
+
i0.ɵɵadvance(1);
|
|
2920
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2921
|
+
i0.ɵɵadvance(1);
|
|
2922
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
|
|
2923
|
+
i0.ɵɵadvance(1);
|
|
2924
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "REG");
|
|
2925
|
+
i0.ɵɵadvance(1);
|
|
2926
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
|
|
2927
|
+
i0.ɵɵadvance(1);
|
|
2928
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value && ((ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value != "MIL"));
|
|
2929
|
+
i0.ɵɵadvance(1);
|
|
2930
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.reasonSeparation.value && ctx.reasonSeparation.value.value === "DCFI" && ctx.employerType.value != "MIL");
|
|
2931
|
+
i0.ɵɵadvance(1);
|
|
2932
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.reasonSeparation.value && ctx.reasonSeparation.value.value === "VOLQ" && ctx.employerType.value != "MIL");
|
|
2933
|
+
i0.ɵɵadvance(1);
|
|
2934
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
|
|
2935
|
+
i0.ɵɵadvance(1);
|
|
2936
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL" && ctx.milPensionFlag.value === "Y" && ctx.currentState != "ME");
|
|
2937
|
+
i0.ɵɵadvance(1);
|
|
2938
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL");
|
|
2939
|
+
i0.ɵɵadvance(3);
|
|
2940
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
|
|
2941
|
+
i0.ɵɵadvance(1);
|
|
2942
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
|
|
2943
|
+
i0.ɵɵadvance(1);
|
|
2944
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
|
|
2945
|
+
i0.ɵɵadvance(1);
|
|
2946
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
|
|
2947
|
+
i0.ɵɵadvance(1);
|
|
2948
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
|
|
2949
|
+
i0.ɵɵadvance(1);
|
|
2950
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL" && ctx.dd214Flag.value === "Y");
|
|
2951
|
+
i0.ɵɵadvance(1);
|
|
2952
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "MIL" && ctx.dd214Flag.value === "N");
|
|
2953
|
+
i0.ɵɵadvance(1);
|
|
2954
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "REG" && !ctx.isBasePeriodEmployer && ctx.osaBpEmployerFlag.value === "1");
|
|
2955
|
+
i0.ɵɵadvance(1);
|
|
2956
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "REG" && !ctx.isBasePeriodEmployer);
|
|
2957
|
+
i0.ɵɵadvance(1);
|
|
2958
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED");
|
|
2959
|
+
i0.ɵɵadvance(1);
|
|
2960
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.fedPensionFlag.value === "Y" && ctx.currentState != "ME");
|
|
2961
|
+
i0.ɵɵadvance(1);
|
|
2962
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.currentState === "ME");
|
|
2963
|
+
i0.ɵɵadvance(1);
|
|
2964
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.sevPayFlag.value === "Y");
|
|
2965
|
+
i0.ɵɵadvance(1);
|
|
2966
|
+
i0.ɵɵproperty("ngIf", ctx.employerType.value === "FED" && ctx.sevPayFlag.value === "Y");
|
|
2967
|
+
i0.ɵɵadvance(1);
|
|
2968
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" && ctx.employerType.value === "REG");
|
|
2969
|
+
i0.ɵɵadvance(1);
|
|
2970
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" && ctx.pensionFlag.value === "Y" && ctx.employerType.value === "REG" && ctx.currentState != "ME");
|
|
2971
|
+
i0.ɵɵadvance(1);
|
|
2972
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2973
|
+
i0.ɵɵadvance(1);
|
|
2974
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG" && ctx.regPensionFlag.value === "Y" && ctx.currentState != "ME");
|
|
2975
|
+
i0.ɵɵadvance(1);
|
|
2976
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG");
|
|
2977
|
+
i0.ɵɵadvance(1);
|
|
2978
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME");
|
|
2979
|
+
i0.ɵɵadvance(1);
|
|
2980
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME");
|
|
2981
|
+
i0.ɵɵadvance(1);
|
|
2982
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME" && ctx.hasRecvRemuneration.value === "Y" && ctx.osaBpEmployerFlag.value === "0");
|
|
2983
|
+
i0.ɵɵadvance(1);
|
|
2984
|
+
i0.ɵɵproperty("ngIf", (ctx.isBasePeriodEmployer && ctx.workFlag.value === "Y" && ctx.schoolFlag === "1" || !ctx.isBasePeriodEmployer) && ctx.employerType.value === "REG" && ctx.currentState === "ME");
|
|
2985
|
+
i0.ɵɵadvance(1);
|
|
2986
|
+
i0.ɵɵproperty("ngIf", ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2987
|
+
i0.ɵɵadvance(1);
|
|
2988
|
+
i0.ɵɵproperty("ngIf", ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2989
|
+
i0.ɵɵadvance(1);
|
|
2990
|
+
i0.ɵɵproperty("ngIf", ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG");
|
|
2991
|
+
i0.ɵɵadvance(1);
|
|
2992
|
+
i0.ɵɵproperty("ngIf", (ctx.workState.value && ctx.workState.value.value === ctx.currentState && ctx.employerType && ctx.displayVerificationOfWages.value && !ctx.isBasePeriodEmployer && ctx.employerType.value === "REG" || ctx.employerType.value === "FED") && ctx.employerType.value != "MIL");
|
|
2993
|
+
i0.ɵɵadvance(4);
|
|
2994
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(71, 68, "induction.employment.button.cancel"), " ");
|
|
2995
|
+
i0.ɵɵadvance(2);
|
|
2996
|
+
i0.ɵɵproperty("ngIf", ctx.isBasePeriodEmployer);
|
|
2997
|
+
i0.ɵɵadvance(1);
|
|
2998
|
+
i0.ɵɵproperty("ngIf", !ctx.isBasePeriodEmployer);
|
|
2999
|
+
} }, dependencies: [i9.IonButton, i9.IonCol, i9.IonGrid, i9.IonRow, i10.NgForOf, i10.NgIf, i4.PrimeTemplate, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i1.FormControlName, i1.FormGroupName, i1.FormArrayName, i11.Dialog, i12.Table, i13.InputText, i14.InputMask, i15.Calendar, i16.Checkbox, i17.SelectButton, i18.InputNumber, i19.ErrorComponent, i20.OverlayInfoComponent, i21.SearchEmployerComponent, i22.AddressComponent, i23.Dropdown, i10.CurrencyPipe, i24.TranslatePipe], styles: [".p-fluid[_ngcontent-%COMP%] .p-buttonset[_ngcontent-%COMP%]{display:flex}.p-selectbutton[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{width:50px!important}table[_ngcontent-%COMP%], th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{border-collapse:collapse;padding:5px}table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#f1f1f1}table[_ngcontent-%COMP%]{width:100%}"] }); }
|
|
3000
|
+
}
|
|
3001
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddEmployerComponent, [{
|
|
3002
|
+
type: Component,
|
|
3003
|
+
args: [{ selector: 'app-add-employer', template: "<p-dialog visible=\"true\" modal=\"true\" position=\"top\" appendTo=\"body\" [showHeader]=\"false\"\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{width: '60vw'}\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" >\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\"> {{\"induction.confirm.employment.heading\"|translate}}</h4>\n\n\n <form [formGroup]=\"addEmployerForm\" #addEmployerFormDirective=\"ngForm\">\n <ion-grid>\n <ion-row>\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\n <div class=\"p-fluid p-formgrid\">\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer\">\n {{customerName}} \n <div *ngIf=\"aliasName != null\"> \n {{\"induction.confirm.employment.dba\"|translate}} {{aliasName}}</div>\n <br>\n <span style=\"font-size: 12px;\"> {{mailingAddressDisplay}}\n </span>\n <div *ngIf=\"isCSR\">\n <br>\n {{\"induction.confirm.employment.employer.wages\"|translate}}\n </div>\n <div class=\"field\" *ngIf=\"isCSR\">\n <p-table [value]=\"employerProvidedWages\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \n [columns]=\"employerProvidedWages\">\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\">\n <b>{{ col.qtrYearDisplayString }}</b>\n </th>\n </tr>\n <tr>\n <td *ngFor=\"let col of columns\">\n {{col.wageAmount | currency}}\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer && workFlag.value == 'N'\">\n <label for=\"workFlag\">{{\"induction.confirm.employment.workflag.no\"|translate}}<br/> <br/>\n {{\"induction.confirm.employment.workflag.no.line2\"|translate}}</label>\n </div>\n\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer\">\n <label for=\"employerType\">{{\"induction.add.employment.employer.type\"|translate}}</label>\n <div style=\"inline-size: inherit;\">\n <p-selectButton [options]=\"employerTypeOptions\" optionLabel=\"text\" optionValue=\"value\"\n [formControl]=\"employerType\" (onOptionClick)=\"onToggleChangeEmployerType($event)\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='employerType' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\">\n <label for=\"employerName\">{{\"induction.add.employment.employer.name\"|translate}}</label>\n <app-search-employer [formControl]=\"employerName\" empType=\"REG\" (onFound)=\"setEmployer($event)\"\n (onEmpty)=\"resetEmployer($event)\"></app-search-employer>\n <app-error [class]=\"'app-grid'\" [field]='employerName' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\" style=\"width: inherit !important;\" *ngIf=\"employerType.value==='FED'\">\n <label for=\"fedEmployerName\">{{\"induction.add.employment.employer.fed.name\"|translate}}</label>\n <app-search-employer [formControl]=\"fedEmployerName\" empType=\"FED\" (onFound)=\"setFedEmployer($event)\"\n (onEmpty)=\"resetFedEmployer($event)\"></app-search-employer>\n <app-error [class]=\"'app-grid'\" [field]='fedEmployerName' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\n <label for=\"serviceBranch\">{{\"induction.add.employment.mil.service.branch\"|translate}}</label>\n <app-dropdown [options]=\"militaryServiceOptions\" [formControl]=\"serviceBranch\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"serviceBranch\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='serviceBranch' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <ion-row *ngIf=\"employerType.value==='MIL'\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"startDateMil\">{{\"induction.add.employment.mil.startdate\"|translate}}</label>\n <p-calendar iconAriaLabel=\"startDateMil\" [showIcon]=\"true\" inputId=\"startDateMil\" [formControl]=\"startDateMil\"\n [maxDate]=\"dateTime\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\"\n dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='startDateMil' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"endDateMil\">{{\"induction.add.employment.mil.enddate\"|translate}}</label>\n <p-calendar iconAriaLabel=\"endDateMil\" [showIcon]=\"true\" inputId=\"endDateMil\" [maxDate]=\"dateTime\" [minDate]=\"minDate\"\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateMil\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='endDateMil' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row *ngIf=\"employerType.value==='FED' && hideFicCode\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"ficCode\">{{\"induction.add.employment.fed.fic.code\"|translate}}</label>\n <input id=\"ficCode\" type=\"input\" pInputText [formControl]=\"ficCode\" />\n <app-error [class]=\"'app-grid'\" [field]='ficCode' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"ficDestinationName\">{{\"induction.add.employment.fed.fic.destination\"|translate}}</label>\n <input id=\"ficDestinationName\" type=\"input\" pInputText [formControl]=\"ficDestinationName\" />\n <app-error [class]=\"'app-grid'\" [field]='ficDestinationName' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\" >\n <ion-col style=\"padding-left: 0px; padding-right: 0px;\">\n <app-address #address1 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\"> </app-address> \n </ion-col>\n </ion-row>\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <app-address #address2 [formControl]=\"address\" countyRequired=\"false\" [fromPopup]=\"true\"\n > </app-address>\n <app-error [class]=\"'app-grid'\" [field]='address' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n addressValidationFlag: 'Please provide, a valid address.'\n }\"></app-error> \n </div>\n \n\n <ion-row *ngIf=\"(!isBasePeriodEmployer && employerType.value==='REG')\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"workCity\">{{\"induction.add.employment.work.location.city\"|translate}} </label>\n <input id=\"workCity\" type=\"input\" pInputText [formControl]=\"workCity\" maxlength=\"30\"/>\n <app-error [class]=\"'app-grid'\" [field]='workCity' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"workState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\n <app-dropdown [options]=\"statesOptions\" [formControl]=\"workState\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"workState\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='workState' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label for=\"fedWorkCountry\">{{\"induction.add.employment.fed.work.location.country\"|translate}}</label>\n <app-dropdown [options]=\"workCountryOptions\" [formControl]=\"fedWorkCountry\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkCountry\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='fedWorkCountry' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <ion-row *ngIf=\"employerType.value==='FED'\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"fedWorkCity\">{{\"induction.add.employment.work.location.city\"|translate}}</label>\n <input id=\"fedWorkCity\" type=\"input\" pInputText [formControl]=\"fedWorkCity\" maxlength=\"30\"/>\n <app-error [class]=\"'app-grid'\" [field]='fedWorkCity' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\" *ngIf=\"showWorkState === true\">\n <div class=\"field\">\n <label for=\"fedWorkState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\n <app-dropdown [options]=\"statesOptions\" [formControl]=\"fedWorkState\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkState\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='fedWorkState' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n\n\n \n\n \n <ion-row *ngIf=\"employerType.value==='FED'\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"startDateFed\">{{\"induction.add.employment.fed.startdate\"|translate}}</label>\n <p-calendar iconAriaLabel=\"startDateFed\" [showIcon]=\"true\" [maxDate]=\"dateTime\" inputId=\"startDateFed\" \n [formControl]=\"startDateFed\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\" dataType=\"string\"\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='startDateFed' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"endDateFed\">{{\"induction.add.employment.fed.enddate\"|translate}}</label>\n <p-calendar iconAriaLabel=\"endDateFed\" [showIcon]=\"true\" inputId=\"endDateFed\" [maxDate]=\"dateTime\" [minDate]=\"minDate\"\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateFed\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='endDateFed' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label for=\"fedJobTileOrPosition\">{{\"induction.add.employment.fed.jobtitle\"|translate}}</label>\n <input id=\"fedJobTileOrPosition\" type=\"input\" pInputText [formControl]=\"fedJobTileOrPosition\" maxlength=\"100\"/>\n <!-- <p-autoComplete [formControl]=\"fedJobTileOrPosition\" [suggestions]=\"fedJobTileOptions\" \n (completeMethod)=\"filterFedJobTileOrPosition($event)\" field=\"jobTitle\" [dropdown]=\"false\" \n placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\n <ng-template let-value pTemplate=\"item\">\n <div>\n <div>{{value.jobTitle}}</div>\n </div>\n </ng-template>\n </p-autoComplete> -->\n\n <app-error [class]=\"'app-grid'\" [field]='fedJobTileOrPosition' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label for=\"sfEightflag\">{{\"induction.add.employment.fed.sfeight\"|translate}} </label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"sfEightflag\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n </div>\n <app-error [class]=\"'app-grid'\" [field]='sfEightflag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error> \n </div> \n <ion-row\n *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') \n || !isBasePeriodEmployer) && employerType.value==='REG')\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"startDate\">{{\"induction.confirm.employment.startdate\"|translate}}</label>\n <p-calendar iconAriaLabel=\"startDate\" [showIcon]=\"true\" inputId=\"startDate\" [maxDate]=\"dateTime\"\n [formControl]=\"startDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" \n (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='startDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"endDate\">{{\"induction.confirm.employment.enddate\"|translate}}</label>\n <p-calendar iconAriaLabel=\"endDate\" [showIcon]=\"true\" inputId=\"endDate\" [minDate]=\"minDate\" [maxDate]=\"dateTime\"\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDate\" (onBlur)=\"validateWagesDisplay($event)\"\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" (onSelect)=\"validateWagesDisplay($event)\"></p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='endDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row *ngIf=\"(displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG')\">\n <!-- <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"numberEmployed\">{{\"induction.add.employment.reg.employees.no\" | translate}} </label>\n <p-inputNumber [id]=\"numberEmployed\" [useGrouping]=\"false\" [formControl]=\"numberEmployed\"\n maxlength=\"9\"></p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='numberEmployed' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col> -->\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"workType\">{{\"induction.add.employment.reg.work.type\" | translate}}</label>\n <input id=\"workType\" type=\"input\" pInputText [formControl]=\"workType\" maxlength=\"50\"/>\n <app-error [class]=\"'app-grid'\" [field]='workType' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n\n\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label for=\"claimantEmployedWithEmpr\">Were you employed while a spouse of a US military member stationed at\n a foreign military base?</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"yesNoNaOptions\" [formControl]=\"claimantEmployedWithEmpr\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='claimantEmployedWithEmpr' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div> -->\n\n\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label for=\"performedService\">{{\"induction.add.employment.fed.civilian.work\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"performedService\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='performedService' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\"\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer) && employerType.value==='REG'\">\n <label for=\"jobTileOrPosition\">{{\"induction.confirm.employment.jobtitle\"|translate}}</label>\n <input id=\"jobTileOrPosition\" type=\"input\" pInputText [formControl]=\"jobTileOrPosition\" maxlength=\"100\"/>\n <!-- <p-autoComplete [formControl]=\"jobTileOrPosition\" [suggestions]=\"jobTileOrPositionOptions\" \n (completeMethod)=\"filterJobTileOrPosition($event)\" field=\"jobTitle\" (onClear)=\"onClearAction($event)\" \n [dropdown]=\"false\" placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\n <ng-template let-value pTemplate=\"item\">\n <div>\n <div>{{value.jobTitle}}</div>\n </div>\n </ng-template>\n </p-autoComplete> -->\n\n <app-error [class]=\"'app-grid'\" [field]='jobTileOrPosition' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <ion-row *ngIf=\"employerType.value==='REG'\">\n <ion-col style=\"padding-right:5px; padding-left: 0px;\"\n *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y')\">\n <div class=\"field\">\n <label for=\"payRate\">{{\"induction.confirm.employment.payrate\"|translate}}</label>\n <p-inputNumber [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='payRate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col style=\"padding-right:5px;\"\n *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y')\">\n <div class=\"field\">\n <label for=\"payRateFrequency\">{{\"induction.confirm.employment.per\"|translate}}</label>\n <app-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='payRateFrequency' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <div class=\"field\"\n *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer) && employerType.value==='REG')\">\n <label for=\"employerTelephoneNumber\">{{\"induction.confirm.employment.employer.phone\"|translate}}</label>\n\n <p-inputMask mask=\"999-999-9999\" [id]=\"employerTelephoneNumber\" [formControl]=\"employerTelephoneNumber\"\n placeholder=\"999-999-9999\"></p-inputMask>\n\n\n <app-error [class]=\"'app-grid'\" [field]='employerTelephoneNumber' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n \n\n <div class=\"field\" *ngIf=\"employerType.value && (((isBasePeriodEmployer && workFlag.value==='Y') \n || !isBasePeriodEmployer) && employerType.value!='MIL')\">\n <label for=\"reasonSeparation\">\n <div *ngIf=\"employerType.value==='REG' \">{{\"induction.confirm.employment.reason.separation\"|translate}}</div>\n <div *ngIf=\"employerType.value==='FED' \">{{\"induction.add.employment.fed.reason.separation\"|translate}}</div>\n </label>\n \n <app-dropdown [options]=\"employmentStatusOptionsAll\" [formControl]=\"reasonSeparation\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"reasonSeparation\" ></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='reasonSeparation' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n <!-- add for quit and discharge -->\n <div class=\"field\" *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') \n || !isBasePeriodEmployer) && reasonSeparation.value && reasonSeparation.value.value === 'DCFI' \n && employerType.value!='MIL')\">\n <label for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label> \n <app-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"dischargeDetail\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"dischargeDetail\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='dischargeDetail' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\" *ngIf=\"(((isBasePeriodEmployer && workFlag.value==='Y') \n || !isBasePeriodEmployer) && reasonSeparation.value && reasonSeparation.value.value === 'VOLQ' \n && employerType.value!='MIL')\">\n <label for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label> \n <app-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"volQuitDetails\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"volQuitDetails\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='volQuitDetails' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\n <label for=\"milPensionFlag\">{{\"induction.add.employment.mil.pension\"|translate}}\n <br> {{\"induction.add.employment.mil.pension.disclaimer\"|translate}}\n </label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"milPensionFlag\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='milPensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'\">\n <label for=\"milPensionRecvDate\">{{\"induction.add.employment.mil.pension.date\"|translate}}</label>\n <div>\n <p-calendar [showIcon]=\"true\" inputId=\"milPensionRecvDate\" \n [formControl]=\"milPensionRecvDate\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='milPensionRecvDate' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\n <label for=\"dd214Flag\">{{\"induction.add.employment.mil.dd214\"|translate}}\n </label><br>\n <div style=\"inline-size: min-content; display: inline-flex;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"dd214Flag\" optionLabel=\"text\"\n optionValue=\"value\" (onOptionClick)=\"putMilValidation($event)\"></p-selectButton>\n <app-overlay-info [overlayText]=\"dd214Info\" ></app-overlay-info>\n </div>\n <app-error [class]=\"'app-grid'\" [field]='dd214Flag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n </ion-col>\n \n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\n <div class=\"p-fluid p-formgrid\">\n\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\n <ion-col >\n <div class=\"field\"></div>\n </ion-col>\n </ion-row>\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\n <ion-col>\n <div class=\"field\"></div>\n </ion-col>\n </ion-row>\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\n <ion-col>\n <div class=\"field\"></div>\n </ion-col>\n </ion-row>\n\n \n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\n <ion-col>\n <div class=\"field\"></div>\n </ion-col>\n </ion-row>\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\n <ion-col>\n <div class=\"field\"></div>\n </ion-col>\n </ion-row>\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='Y'\">\n <ion-col style=\"border-style: solid;\n border-width: 1px;\">\n <div [innerHTML]=\"paraOne | translate\">\n </div>\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraTwo | translate)\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraThree | translate)\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFour | translate)\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFive | translate)\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraSix| translate)\" style=\"padding-left: 15px;\">\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='N'\">\n <ion-col style=\"border-style: solid;\n border-width: 1px;\">\n <div [innerHTML]=\"noParaOne | translate\">\n </div>\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaTwo | translate)\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaThree | translate)\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFour | translate)\" style=\"padding-left: 15px;\">\n </div>\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFive | translate)\">\n </div>\n </ion-col>\n </ion-row>\n <ion-row *ngIf=\"(employerType.value==='REG' && !isBasePeriodEmployer && osaBpEmployerFlag.value ==='1')\">\n <ion-col style=\"padding-top: 0px;\">\n <div class=\"field\">\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\n </p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='grossWages' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row *ngIf=\"(employerType.value==='REG' && !isBasePeriodEmployer)\">\n <ion-col style=\"padding-right:5px; padding-left: 0px; padding-top: 0px;\"\n *ngIf=\"!isBasePeriodEmployer\">\n <div class=\"field\">\n <label for=\"payRate\">{{\"induction.add.employment.payrate\"|translate}}</label>\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='payRate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col style=\"padding-right:5px;padding-top: 0px;\" \n *ngIf=\"!isBasePeriodEmployer\">\n <div class=\"field\">\n <label for=\"payRateFrequency\">{{\"induction.add.employment.per\"|translate}}</label>\n <app-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='payRateFrequency' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer\" style=\"padding-top: 0px;\">\n <div class=\"field\">\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\n </p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='grossWages' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n\n\n <div class=\"field\" *ngIf=\"employerType.value==='FED' \">\n <label for=\"fedPensionFlag\">{{\"induction.add.employment.fed.pension\"|translate}}\n <br> {{\"induction.add.employment.fed.pension.disclaimer\"|translate}}\n </label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"fedPensionFlag\" optionLabel=\"text\"\n optionValue=\"value\" ></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='fedPensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'\">\n <label for=\"fedPensionRecvDate\">{{\"induction.add.employment.fed.pension.date\"|translate}}</label>\n <div>\n <p-calendar [showIcon]=\"true\" inputId=\"fedPensionRecvDate\" \n [formControl]=\"fedPensionRecvDate\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='fedPensionRecvDate' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.currentState === 'ME' \">\n <label for=\"sevPayFlag\">{{\"induction.add.employment.fed.severance\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"sevPayFlag\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='sevPayFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\n <ion-col style=\"padding-right:5px;\">\n <div class=\"field\">\n <label for=\"weeklyAmount\">{{\"induction.add.employment.fed.severance.weekly.amt\"|translate}}</label>\n <p-inputNumber [formControl]=\"weeklyAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\n </p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='weeklyAmount' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col style=\"padding-right:5px;\">\n <div class=\"field\">\n <label for=\"numberOfWeeks\">{{\"induction.add.employment.fed.severance.weeks\"|translate}}</label>\n <p-inputNumber [id]=\"numberOfWeeks\" [useGrouping]=\"false\" [formControl]=\"numberOfWeeks\" maxlength=\"4\">\n </p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='numberOfWeeks' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col>\n <div class=\"field\">\n <label for=\"sevPayAmount\">{{\"induction.add.employment.fed.severance.entitlement\"|translate}}</label>\n <p-inputNumber [formControl]=\"sevPayAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\n </p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='sevPayAmount' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row> \n\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\n <ion-col style=\"padding-right:5px;\">\n <div class=\"field\">\n <label for=\"sevPayStartDate\">{{\"induction.add.employment.fed.severance.start.date\"|translate}}</label>\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayStartDate\" (onBlur)=\"validate($event)\" (onSelect)=\"validate($event)\"\n [formControl]=\"sevPayStartDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='sevPayStartDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col style=\"padding-right:5px;\">\n <div class=\"field\">\n <label for=\"sevPayEndDate\">{{\"induction.add.employment.fed.severance.end.date\"|translate}}</label>\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayEndDate\" [formControl]=\"sevPayEndDate\"\n [yearNavigator]=\"true\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" \n appendTo=\"body\" [minDate]=\"minDate\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='sevPayEndDate' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n\n <ion-col>\n <div class=\"field\">\n <label for=\"sevPayPaymentStartDate\">{{\"induction.add.employment.fed.severance.pay.date\"|translate}}</label>\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayPaymentStartDate\" \n [formControl]=\"sevPayPaymentStartDate\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='sevPayPaymentStartDate' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n\n <div class=\"field\" *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y' && employerType.value==='REG')\">\n <label for=\"pensionFlag\">{{\"induction.confirm.employment.pension\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"pensionFlag\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='pensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"(isBasePeriodEmployer && workFlag.value==='Y' && pensionFlag.value==='Y' \n && employerType.value==='REG' && this.currentState != 'ME')\">\n <label for=\"pensionRecvDate\">{{\"induction.confirm.employment.pension.date\"|translate}}</label>\n <div>\n <p-calendar [showIcon]=\"true\" inputId=\"pensionRecvDate\" \n [formControl]=\"pensionRecvDate\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='pensionRecvDate' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n \n <div class=\"field\" *ngIf=\"(!isBasePeriodEmployer && employerType.value==='REG')\">\n <label for=\"regPensionFlag\">{{\"induction.add.employment.reg.pension\"|translate}} <br/>\n {{\"induction.add.employment.reg.pension.disclaimer\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"regPensionFlag\" optionLabel=\"text\"\n optionValue=\"value\" ></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='regPensionFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"(!isBasePeriodEmployer && employerType.value==='REG' \n && regPensionFlag.value==='Y' && this.currentState != 'ME')\">\n <label for=\"regPensionRecvDate\">{{\"induction.add.employment.reg.pension.date\"|translate}}</label>\n <div>\n <p-calendar [showIcon]=\"true\" inputId=\"regPensionRecvDate\" \n [formControl]=\"regPensionRecvDate\" [yearNavigator]=\"true\" \n appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" dataType=\"string\"\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\n </p-calendar>\n <app-error [class]=\"'app-grid'\" [field]='regPensionRecvDate' [form]=\"addEmployerFormDirective\"\n [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\"\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG'\">\n <label for=\"isClmtPaidWhileLow\">{{\"induction.confirm.employment.employer.pay.return.to.work\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"isClmtPaidWhileLow\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='isClmtPaidWhileLow' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\"\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState ==='ME'\">\n <label for=\"hasShortTermDisability\">{{\"induction.confirm.employment.shorttermdisability\"|translate}} {{bpStartDateToDisplay}} ?</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"hasShortTermDisability\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='hasShortTermDisability' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\"\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState==='ME'\">\n <label for=\"hasRecvRemuneration\">{{\"induction.confirm.employment.remuneration.pay\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"hasRecvRemuneration\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='hasRecvRemuneration' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div class=\"field\" *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer) && employerType.value==='REG' && currentState==='ME' && hasRecvRemuneration.value==='Y' && osaBpEmployerFlag.value==='0'\">\n <label for=\"remunerationTypes\">{{\"induction.confirm.employment.remuneration.types\"|translate}}</label>\n <p-checkbox [name]=\"'remunerationtypes-group'\" [value]=\"choice.value\" \n [label]=\"choice.text\" *ngFor=\"let choice of remunerationTypeOptions\" [formControl]=\"remunerationTypes\"\n styleClass=\"app-p-checkbox\"></p-checkbox>\n <app-error [class]=\"'app-grid'\" [field]='remunerationTypes' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\"\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y' && schoolFlag ==='1') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState ==='ME'\">\n <label for=\"vacation\">{{\"induction.confirm.employment.vacation.break\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"vacation\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='vacation' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n\n <div *ngIf=\"workState.value && workState.value.value===this.currentState && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\n <div class=\"field\">\n <h4>{{\"induction.add.employment.reg.verification.wages.header\"|translate}}</h4>\n </div>\n <div class=\"field\">\n <label>{{\"induction.add.employment.reg.verification.wages.subheader\"|translate}}</label>\n </div>\n \n <div class=\"field\">\n <label for=\"paymentType\">{{\"induction.add.employment.reg.verification.wages.paymode\"|translate}}</label>\n <p-selectButton [options]=\"payMethodOptions\" [formControl]=\"paymentType\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='paymentType' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <div class=\"field\">\n <label for=\"docsReceived\">{{\"induction.add.employment.reg.verification.wages.docs\"|translate}}</label>\n <p-selectButton [options]=\"wageProofOptions\" [formControl]=\"docsReceived\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='docsReceived' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n \n <div class=\"field\">\n <label for=\"otherSSNFlag\">{{\"induction.add.employment.reg.verification.wages.other.ssn.flag\"|translate}}\n </label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"otherSSNFlag\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='otherSSNFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n <div class=\"field\" *ngIf=\"this.otherSSNFlag.value === 'Y'\">\n <label for=\"otherSSN\">{{\"induction.add.employment.reg.verification.wages.other.ssn\"|translate}}</label>\n <p-inputMask mask=\"999-99-9999\" [id]=\"otherSSN\" [formControl]=\"otherSSN\" placeholder=\"999-99-9999\">\n </p-inputMask>\n <app-error [class]=\"'app-grid'\" [field]='otherSSN' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n\n <!-- <div class=\"field\">\n <label for=\"hiredBy\">Manager's Name & Title</label>\n <input id=\"hiredBy\" type=\"input\" pInputText [formControl]=\"hiredBy\" maxlength=\"40\"/>\n <app-error [class]=\"'app-grid'\" [field]='hiredBy' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error> \n </div> -->\n </div>\n \n <ion-row *ngIf=\"workState.value && workState.value.value=== this.currentState && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"otherNameFlag\">{{\"induction.add.employment.reg.verification.wages.other.name.flag\"|translate}}</label>\n <div style=\"inline-size: min-content;\">\n <p-selectButton [options]=\"radioOptions\" [formControl]=\"otherNameFlag\" optionLabel=\"text\"\n optionValue=\"value\"></p-selectButton>\n <app-error [class]=\"'app-grid'\" [field]='otherNameFlag' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </div>\n <div class=\"field\" *ngIf=\"this.otherNameFlag.value === 'Y'\">\n <label for=\"otherName\">{{\"induction.add.employment.reg.verification.wages.other.name\"|translate}}</label>\n <input id=\"otherName\" type=\"input\" pInputText [formControl]=\"otherName\" maxlength=\"30\"/>\n <app-error [class]=\"'app-grid'\" [field]='otherName' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <!-- <ion-row *ngIf=\"workState.value && workState.value.value==='MS' && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"fein\">FEIN</label>\n <p-inputNumber [id]=\"fein\" [useGrouping]=\"false\" [formControl]=\"fein\" maxlength=\"9\"></p-inputNumber>\n <app-error [class]=\"'app-grid'\" [field]='fein' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col size=\"1\"></ion-col>\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"doingBusinessAs\">Doing Business As/Trade Name</label>\n <input id=\"doingBusinessAs\" type=\"input\" pInputText [formControl]=\"doingBusinessAs\" maxlength=\"100\"/>\n <app-error [class]=\"'app-grid'\" [field]='doingBusinessAs' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row> -->\n\n <ion-row *ngIf=\"workState.value && workState.value.value===this.currentState && displayVerificationOfWages.value \n && !isBasePeriodEmployer && employerType.value==='REG'\">\n <ion-col style=\"padding: 0px;\">\n <div class=\"field\">\n <label for=\"businessNature\">{{\"induction.add.employment.reg.verification.nature\"|translate}}</label>\n <input id=\"businessNature\" type=\"input\" pInputText [formControl]=\"businessNature\" maxlength=\"250\"/>\n <app-error [class]=\"'app-grid'\" [field]='businessNature' [form]=\"addEmployerFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n <div *ngIf=\"((workState.value && workState.value.value===currentState && employerType && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG') \n || (employerType.value==='FED')) && (employerType.value!='MIL')\">\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label>{{\"induction.add.employment.fed.verification.wages\"|translate}}</label>\n </div>\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\n <label>{{\"induction.add.employment.reg.verification.wages\"|translate}}</label>\n </div>\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\n <label>{{\"induction.add.employment.fed.verification.wages.statement\"|translate}}</label>\n </div>\n <div class=\"field\">\n <table rules=rows>\n <tr>\n <th style=\"text-align: center;\">{{\"induction.add.employment.reg.verification.wages.col1\"|translate}}</th>\n <th>{{\"induction.add.employment.reg.verification.wages.col2\"|translate}}</th>\n </tr>\n <ng-container formArrayName=\"wageAmountArray\">\n <ng-container *ngFor=\"let wageAmountForm of wageAmountArray.controls; let i = index\"\n [formGroupName]=\"i\">\n <tr\n *ngIf=\"((employerType.value==='FED') || (employerType.value==='REG' && wageAmountForm.value.displayForAll===true) )\">\n <td>\n {{wageAmountForm.value.qtrYearDisplayString}}\n </td>\n <td>\n <p-inputNumber ariaLabel=\"wageAmount\" formControlName=\"wageAmount\" mode=\"currency\" [max]=\"999999.99\" maxlength=\"12\" currency=\"USD\" locale=\"en-US\">\n </p-inputNumber>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </table>\n </div>\n </div>\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col class=\"ion-text-right\">\n <ion-button shape=\"round\" style=\"width: 80px;\" fill=\"outline\" (click)=\"onModelCancel(false)\" type=\"reset\">{{\"induction.employment.button.cancel\"|translate}} </ion-button>\n <ion-button shape=\"round\" style=\"width: 80px;\" (click)=\"save()\" type=\"submit\" *ngIf=\"isBasePeriodEmployer\"> {{\"induction.employment.button.save\"|translate}} </ion-button>\n <ion-button shape=\"round\" style=\"width: 80px;\" (click)=\"add()\" type=\"submit\" *ngIf=\"!isBasePeriodEmployer\"> {{\"induction.employment.button.add\"|translate}} </ion-button>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n </form>\n</p-dialog>", styles: [".p-fluid .p-buttonset{display:flex}.p-selectbutton .p-button{width:50px!important}table,th,td{border-collapse:collapse;padding:5px}table th{background-color:#f1f1f1}table{width:100%}\n"] }]
|
|
3004
|
+
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.ValidationService }, { type: i3.UtilService }, { type: i4.FilterService }, { type: i5.LoggerService }, { type: i6.DomSanitizer }, { type: i7.ClaimService }, { type: i8.LoginService }], { address1: [{
|
|
3005
|
+
type: ViewChild,
|
|
3006
|
+
args: ['address1']
|
|
3007
|
+
}], address2: [{
|
|
3008
|
+
type: ViewChild,
|
|
3009
|
+
args: ['address2']
|
|
3010
|
+
}], addEmployerFormDirective: [{
|
|
3011
|
+
type: ViewChild,
|
|
3012
|
+
args: ['addEmployerFormDirective', { static: false }]
|
|
3013
|
+
}], modelCancel: [{
|
|
3014
|
+
type: Output
|
|
3015
|
+
}], success: [{
|
|
3016
|
+
type: Output
|
|
3017
|
+
}], recordIndexToEdit: [{
|
|
3018
|
+
type: Input
|
|
3019
|
+
}], isBasePeriodEmployer: [{
|
|
3020
|
+
type: Input
|
|
3021
|
+
}], isNewClaim: [{
|
|
3022
|
+
type: Input
|
|
3023
|
+
}], basePeriodIndex: [{
|
|
3024
|
+
type: Output
|
|
3025
|
+
}] }); })();
|
|
3026
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddEmployerComponent, { className: "AddEmployerComponent" }); })();
|
|
3027
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF3RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFNcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNDbEQsMkJBQStCO0lBQzdCLFlBQThEOztJQUFBLGlCQUFNOzs7SUFBcEUsZUFBOEQ7SUFBOUQsZ0hBQThEOzs7SUFJaEUsMkJBQW1CO0lBQ2pCLHFCQUFJO0lBQ0osWUFDRjs7SUFBQSxpQkFBTTs7SUFESixlQUNGO0lBREUsb0dBQ0Y7OztJQU1VLDBCQUFnQyxRQUFBO0lBQ3pCLFlBQThCO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxDLGVBQThCO0lBQTlCLGtEQUE4Qjs7O0lBSXZDLDBCQUFnQztJQUM3QixZQUNIOztJQUFBLGlCQUFLOzs7SUFERixlQUNIO0lBREcseUVBQ0g7OztJQVJGLDBCQUFJO0lBQ0EsK0ZBRUs7SUFDVCxpQkFB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LENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3pOLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3pOLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqUCxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFL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QztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQ0FBZ0M7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMs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M0IsZ0RBQTJCOzs7aUZEaDhCdEcsb0JBQW9CO2NBTGhDLFNBQVM7MkJBQ0Usa0JBQWtCO3NQQU1MLFFBQVE7a0JBQTlCLFNBQVM7bUJBQUMsVUFBVTtZQUNFLFFBQVE7a0JBQTlCLFNBQVM7bUJBQUMsVUFBVTtZQUdkLHdCQUF3QjtrQkFEOUIsU0FBUzttQkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUE2RHhELFdBQVc7a0JBRFYsTUFBTTtZQUlQLE9BQU87a0JBRE4sTUFBTTtZQUlBLGlCQUFpQjtrQkFEdkIsS0FBSztZQUlDLG9CQUFvQjtrQkFEMUIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFNTixlQUFlO2tCQURkLE1BQU07O2tGQWxGSSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgTmdGb3JtLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmlsdGVyU2VydmljZSwgU2VsZWN0SXRlbUdyb3VwIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwnO1xuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcbmltcG9ydCB7IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xuaW1wb3J0IHsgUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnRNb2RlbCwgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbXMvY2xhaW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hZGQtZW1wbG95ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWVtcGxveWVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkZEVtcGxveWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcblxuICBAVmlld0NoaWxkKCdhZGRyZXNzMScpIGFkZHJlc3MxOiBBZGRyZXNzQ29tcG9uZW50OyBcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczInKSBhZGRyZXNzMjogQWRkcmVzc0NvbXBvbmVudDsgXG5cbiAgQFZpZXdDaGlsZCgnYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBhZGRFbXBsb3llckZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcbiAgcHVibGljIGVtcGxveWVyVHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5FTVBMT1lFUl9UWVBFO1xuICBwdWJsaWMgY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xuICBwdWJsaWMgY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xuICBwdWJsaWMgcGF5UmF0ZU9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlfUEVSSU9EO1xuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcbiAgcHVibGljIGZlZFN0YXRlT3B0aW9uczogYW55ID0gW107XG4gIHB1YmxpYyBqb2JUaWxlT3JQb3NpdGlvbk9wdGlvbnM6IGFueSA9W107XG4gIHB1YmxpYyBmZWRKb2JUaWxlT3B0aW9uczogYW55ID1bXTtcbiAgcHVibGljIHJhZGlvT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OTztcbiAgcHVibGljIHdvcmtPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19GT1JfRU1QTDtcbiAgcHVibGljIHllc05vTmFPcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX05BO1xuICBwdWJsaWMgcGF5TWV0aG9kT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWU1FTlRfTUVUSE9EO1xuICBwdWJsaWMgd2FnZVByb29mT3B0aW9ucyA9IENvbWJvT3B0aW9uLldBR0VfUFJPT0Y7XG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xuICBwdWJsaWMgcGF5UGVyaW9kID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgd29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZO1xuICBwdWJsaWMgbWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0U7XG4gIHB1YmxpYyByZW11bmVyYXRpb25UeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlJFTVVORVJBVElPTl9UWVBFUztcbiAgcHVibGljIGFkZEVtcGxveWVyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGRpc3BsYXk6IGJvb2xlYW47XG4gIHB1YmxpYyBiYXNlUGVyaW9kU3RhcnREYXRlOiBEYXRlO1xuICBwdWJsaWMgYmFzZVBlcmlvZEVuZERhdGU6IERhdGU7XG4gIHB1YmxpYyBicFN0YXJ0RGF0ZVRvRGlzcGxheTogRGF0ZTtcbiAgcHVibGljIG1pbkRhdGU6IERhdGU7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VPbmU/OiBzdHJpbmc7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VUd28/OiBzdHJpbmc7XG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VUaHJlZT86IHN0cmluZztcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZvdXI/OiBzdHJpbmc7XG4gIHB1YmxpYyBjdXJyZW50UXVhcnRlclJhbmdlPzogc3RyaW5nO1xuICBwdWJsaWMgcXVhcnRlclJhbmdlRml2ZT86IHN0cmluZztcbiAgcHVibGljIGRhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgcHVibGljIGdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xuXG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyBlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcblxuICBwdWJsaWMgc2Y4SW5mbz1cIlNGLThcIjtcbiAgcHVibGljIGRkMjE0SW5mbz1cIkREIDIxNFwiO1xuXG4gIHB1YmxpYyBwYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEub25lXCI7XG4gIHB1YmxpYyBwYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS50d29cIjtcbiAgcHVibGljIHBhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEudGhyZWVcIjtcbiAgcHVibGljIHBhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5mb3VyXCI7XG4gIHB1YmxpYyBwYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEuZml2ZVwiO1xuICBwdWJsaWMgcGFyYVNpeD1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEuc2l4XCI7XG5cbiAgcHVibGljIG5vUGFyYU9uZSA9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEub25lXCI7XG4gIHB1YmxpYyBub1BhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEudHdvXCI7XG4gIHB1YmxpYyBub1BhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS50aHJlZVwiO1xuICBwdWJsaWMgbm9QYXJhRm91cj1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5mb3VyXCI7XG4gIHB1YmxpYyBub1BhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZpdmVcIjtcblxuICBwdWJsaWMgZW1wbG95ZXJQcm92aWRlZFdhZ2VzOiBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcblxuICBAT3V0cHV0KClcbiAgbW9kZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWNvcmRJbmRleFRvRWRpdDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0Jhc2VQZXJpb2RFbXBsb3llcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc05ld0NsYWltOiBib29sZWFuO1xuXG4gIHB1YmxpYyBoaWRlRmljQ29kZTogdHJ1ZTtcblxuICBAT3V0cHV0KCkgXG4gIGJhc2VQZXJpb2RJbmRleDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgY3VycmVudFN0YXRlIDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjdXN0b21lck5hbWU6IHN0cmluZztcbiAgcHVibGljIGFsaWFzTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbWFpbGluZ0FkZHJlc3NEaXNwbGF5OiBzdHJpbmc7XG4gIHB1YmxpYyBzY2hvb2xGbGFnOnN0cmluZztcbiAgcHVibGljIGlzT3NhRW1wbG95ZXI6c3RyaW5nID0gXCIwXCI7XG4gIHB1YmxpYyBpc0NTUjpib29sZWFuO1xuICBwdWJsaWMgc2hvd1dvcmtTdGF0ZTogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHZhbHVlOiBTdHJpbmcpID0+IHtcblxuICB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge1xuXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIFxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxwcml2YXRlIGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UscHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIFxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHVibGljIGNsYWltc1NlcnZpY2UgOiBDbGFpbVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNCYXNlUGVyaW9kRW1wbG95ZXIgaXMgPSAnLCB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNOZXdDbGFpbSA9ICcsIHRoaXMuaXNOZXdDbGFpbSk7XG4gICAgdGhpcy5jdXJyZW50U3RhdGUgPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKTtcbiAgICB0aGlzLmlzQ1NSID0gdGhpcy5scy5pc0NzcigpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiQ3VycmVudCBTdGF0ZSA9IFwiLCB0aGlzLmN1cnJlbnRTdGF0ZSk7XG4gICAgbGV0IGVzbTogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbDtcbiAgICBsZXQgcXRyV2FnZUxpc3Q6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiY2FsbCBzZXJ2aWNlID1cIiwgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XG4gICAgaWYgKHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT0gdW5kZWZpbmVkIHx8IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT0gbnVsbCkge1xuICAgICAgZXNtID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcbiAgICAgIHF0cldhZ2VMaXN0PVtdID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8ucXRyWWVhcldhZ2VMaXN0R2VuZXJpYzsgICAgICBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlY29yZEluZGV4VG9FZGl0JywgdGhpcy5yZWNvcmRJbmRleFRvRWRpdClcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpJywgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XG5cbiAgICAgIGVzbSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMucmVjb3JkSW5kZXhUb0VkaXRdO1xuICAgICAgcXRyV2FnZUxpc3Q9ZXNtLndhZ2VBbW91bnRBcnJheTtcbiAgICAgIHRoaXMuY3VzdG9tZXJOYW1lID0gZXNtLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZTtcbiAgICAgIGlmKGVzbS5lbXBsb3llckRhdGEudHJhZGVOYW1lKXtcbiAgICAgICAgdGhpcy5hbGlhc05hbWUgPSBlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmKGVzbS5vc2FCcEVtcGxveWVyRmxhZyl7XG4gICAgICAgIHRoaXMuaXNPc2FFbXBsb3llciA9IGVzbS5vc2FCcEVtcGxveWVyRmxhZztcbiAgICAgIH1cbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiaXNPc2FFbXBsb3llciA9PT09PT09IFwiICwgdGhpcy5pc09zYUVtcGxveWVyKTtcbiAgICAgIHRoaXMubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID0gZXNtLmVtcGxveWVyRGF0YS5tYWlsaW5nQWRkcmVzc0Rpc3BsYXk7XG4gICAgICB0aGlzLnNjaG9vbEZsYWcgPSBlc20uZW1wbG95ZXJEYXRhLnNjaG9vbEZsYWc7XG4gICAgICBpZih0aGlzLmlzQ1NSID09PSB0cnVlICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlKXtcbiAgICAgICAgdGhpcy5lbXBsb3llclByb3ZpZGVkV2FnZXMgPSBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5iYXNlUGVyaW9kU3RhcnREYXRlO1xuICAgIHRoaXMuYmFzZVBlcmlvZEVuZERhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJhc2VQZXJpb2RFbmREYXRlO1xuICAgIHRoaXMuYnBTdGFydERhdGVUb0Rpc3BsYXkgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwU3RhcnREYXRlVG9EaXNwbGF5O1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmxvYWRNYXN0ZXJEYXRhKCk7XG5cbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ2VtcGxveWVyVHlwZSc6IFtlc20uZW1wbG95ZXJUeXBlICE9IG51bGwgPyBlc20uZW1wbG95ZXJUeXBlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdlbXBsb3llck5hbWUnOiBbZXNtLmVtcGxveWVyTmFtZSAhPSBudWxsID8gZXNtLmVtcGxveWVyTmFtZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ2ZlZEVtcGxveWVyTmFtZSc6IFtlc20uZmVkRW1wbG95ZXJOYW1lICE9IG51bGwgPyBlc20uZmVkRW1wbG95ZXJOYW1lIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInOiBbZXNtLmVtcGxveWVyVGVsZXBob25lTnVtYmVyICE9IG51bGwgPyBlc20uZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnZW5kRGF0ZSc6IFtlc20uZW5kRGF0ZSAhPSBudWxsID8gZXNtLmVuZERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnc3RhcnREYXRlJzogW2VzbS5zdGFydERhdGUgIT0gbnVsbCA/IGVzbS5zdGFydERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnam9iVGlsZU9yUG9zaXRpb24nOiBbZXNtLmpvYlRpbGVPclBvc2l0aW9uICE9IG51bGwgPyBlc20uam9iVGlsZU9yUG9zaXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyldLFxuICAgICAgJ3JlYXNvblNlcGFyYXRpb24nOiBbZXNtLnJlYXNvblNlcGFyYXRpb24gIT0gbnVsbCA/IGVzbS5yZWFzb25TZXBhcmF0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZGlzY2hhcmdlRGV0YWlsJzogW2VzbS5kaXNjaGFyZ2VEZXRhaWwgIT0gbnVsbCA/IGVzbS5kaXNjaGFyZ2VEZXRhaWwgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ0RDRkknKSkpXSxcbiAgICAgICd2b2xRdWl0RGV0YWlscyc6IFtlc20udm9sUXVpdERldGFpbHMgIT0gbnVsbCA/IGVzbS52b2xRdWl0RGV0YWlscyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlIT0nTUlMJyAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnVk9MUScpKSldLFxuICAgICAgJ3BheVJhdGUnOiBbZXNtLnBheVJhdGUgIT0gbnVsbCA/IGVzbS5wYXlSYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpXSxcbiAgICAgICdwYXlSYXRlRnJlcXVlbmN5JzogW2VzbS5wYXlSYXRlRnJlcXVlbmN5ICE9IG51bGwgPyBlc20ucGF5UmF0ZUZyZXF1ZW5jeSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgICdwZW5zaW9uRmxhZyc6IFtlc20ucGVuc2lvbkZsYWcgIT0gbnVsbCA/IGVzbS5wZW5zaW9uRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSldLFxuICAgICAgJ3BlbnNpb25SZWN2RGF0ZSc6IFtlc20ucGVuc2lvblJlY3ZEYXRlICE9IG51bGwgPyBlc20ucGVuc2lvblJlY3ZEYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpKV0sXG4gICAgICAncmVnUGVuc2lvbkZsYWcnOiBbZXNtLnJlZ1BlbnNpb25GbGFnICE9IG51bGwgPyBlc20ucmVnUGVuc2lvbkZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgICdyZWdQZW5zaW9uUmVjdkRhdGUnOltlc20ucmVnUGVuc2lvblJlY3ZEYXRlICE9IG51bGwgPyBlc20ucmVnUGVuc2lvblJlY3ZEYXRlOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlID09PSAnWScpKV0sICAgICAgXG4gICAgICAnaXNDbG10UGFpZFdoaWxlTG93JzogW2VzbS5pc0NsbXRQYWlkV2hpbGVMb3cgIT0gbnVsbCA/IGVzbS5pc0NsbXRQYWlkV2hpbGVMb3cgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyldLFxuICAgICAgJ2hhc1Nob3J0VGVybURpc2FiaWxpdHknOiBbZXNtLmhhc1Nob3J0VGVybURpc2FiaWxpdHkgIT0gbnVsbCA/IGVzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcbiAgICAgICdoYXNSZWN2UmVtdW5lcmF0aW9uJzogW2VzbS5oYXNSZWN2UmVtdW5lcmF0aW9uICE9IG51bGwgPyBlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXG4gICAgICAncmVtdW5lcmF0aW9uVHlwZXMnOiBbZXNtLnJlbXVuZXJhdGlvblR5cGVzICE9IG51bGwgPyBlc20ucmVtdW5lcmF0aW9uVHlwZXMgOiBudWxsXSxcbiAgICAgICd2YWNhdGlvbic6IFtlc20udmFjYXRpb24gIT0gbnVsbCA/IGVzbS52YWNhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuc2Nob29sRmxhZyA9PT0nMScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcbiAgICAgIFxuICAgICAgJ2dyb3NzV2FnZXMnOiBbZXNtLmdyb3NzV2FnZXMgIT0gbnVsbCA/IGVzbS5ncm9zc1dhZ2VzIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXG4gICAgICAvLydwYWlkQnknOiBbZXNtLnBhaWRCeSAhPSBudWxsID8gZXNtLnBhaWRCeSA6IG51bGwsQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdy52YWx1ZT09PSdZJykpXSxcbiAgICAgICdwYXltZW50VHlwZSc6IFtlc20ucGF5bWVudFR5cGUgIT0gbnVsbCA/IGVzbS5wYXltZW50VHlwZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXG4gICAgICAnZG9jc1JlY2VpdmVkJzogW2VzbS5kb2NzUmVjZWl2ZWQgIT0gbnVsbCA/IGVzbS5kb2NzUmVjZWl2ZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ290aGVyU1NORmxhZyc6IFtlc20ub3RoZXJTU05GbGFnICE9IG51bGwgPyBlc20ub3RoZXJTU05GbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgICdvdGhlclNTTic6IFtlc20ub3RoZXJTU04gIT0gbnVsbCA/IGVzbS5vdGhlclNTTiA6IG51bGwgLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnb3RoZXJOYW1lRmxhZyc6IFtlc20ub3RoZXJOYW1lRmxhZyAhPSBudWxsID8gZXNtLm90aGVyTmFtZUZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ290aGVyTmFtZSc6IFtlc20ub3RoZXJOYW1lICE9IG51bGwgPyBlc20ub3RoZXJOYW1lIDogbnVsbCAsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAvLydkb2luZ0J1c2luZXNzQXMnOiBbZXNtLmRvaW5nQnVzaW5lc3NBcyAhPSBudWxsID8gZXNtLmRvaW5nQnVzaW5lc3NBcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nTVMnKSldLFxuICAgICAgJ3dvcmtTdGF0ZSc6IFtlc20ud29ya1N0YXRlICE9IG51bGwgPyBlc20ud29ya1N0YXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpKV0sXG4gICAgICAnd29ya0NpdHknOiBbZXNtLndvcmtDaXR5ICE9IG51bGwgPyBlc20ud29ya0NpdHkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJykpXSxcbiAgICAgIC8vJ251bWJlckVtcGxveWVkJzogW2VzbS5udW1iZXJFbXBsb3llZCAhPSBudWxsID8gZXNtLm51bWJlckVtcGxveWVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ3dvcmtUeXBlJzogW2VzbS53b3JrVHlwZSAhPSBudWxsID8gZXNtLndvcmtUeXBlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcbiAgICAgLy8gJ2ZlaW4nOiBbZXNtLmZlaW4gIT0gbnVsbCA/IGVzbS5mZWluIDogbnVsbF0sXG4gICAgIC8vICdoaXJlZEJ5JzogW2VzbS5oaXJlZEJ5ICE9IG51bGwgPyBlc20uaGlyZWRCeSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nTVMnKSldLFxuICAgICAgLy8nYnVzaW5lc3NPd25lcic6IFtlc20uYnVzaW5lc3NPd25lciAhPSBudWxsID8gZXNtLmJ1c2luZXNzT3duZXIgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJykpXSxcbiAgICAgICdidXNpbmVzc05hdHVyZSc6IFtlc20uYnVzaW5lc3NOYXR1cmUgIT0gbnVsbCA/IGVzbS5idXNpbmVzc05hdHVyZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxuICAgICAgJ3dvcmtGbGFnJzogW2VzbS53b3JrRmxhZyAhPSBudWxsID8gZXNtLndvcmtGbGFnIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcbiAgICAgIC8vJ3F1aXRyZWFzb24nOiBbZXNtLnF1aXRyZWFzb24gIT0gbnVsbCA/IGVzbS5xdWl0cmVhc29uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSkgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnKSkpXSxcbiAgICAgICdkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyc6IFtlc20uZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMgIT0gbnVsbCA/IGVzbS5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyA6IG51bGxdLFxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uQ29kZSc6IFtlc20uZmljRGVzdGluYXRpb25Db2RlICE9IG51bGwgPyBlc20uZmljRGVzdGluYXRpb25Db2RlIDogbnVsbF0sXG4gICAgICAnZmljQ29kZSc6IFtlc20uZmljQ29kZSAhPSBudWxsID8gZXNtLmZpY0NvZGUgOiBudWxsXSxcbiAgICAgICdmaWNEZXN0aW5hdGlvbk5hbWUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uTmFtZSAhPSBudWxsID8gZXNtLmZpY0Rlc3RpbmF0aW9uTmFtZSA6IG51bGxdLFxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uSWQnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uSWQgIT0gbnVsbCA/IGVzbS5maWNEZXN0aW5hdGlvbklkIDogbnVsbF0sXG4gICAgICAnc2ZFaWdodGZsYWcnOiBbZXNtLnNmRWlnaHRmbGFnICE9IG51bGwgPyBlc20uc2ZFaWdodGZsYWcgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRXb3JrQ2l0eSc6IFtlc20uZmVkV29ya0NpdHkgIT0gbnVsbCA/IGVzbS5mZWRXb3JrQ2l0eSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZFdvcmtTdGF0ZSc6IFtlc20uZmVkV29ya1N0YXRlICE9IG51bGwgPyBlc20uZmVkV29ya1N0YXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkV29ya0NvdW50cnknOiBbZXNtLmZlZFdvcmtDb3VudHJ5ICE9IG51bGwgPyBlc20uZmVkV29ya0NvdW50cnkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdzdGFydERhdGVGZWQnOiBbZXNtLnN0YXJ0RGF0ZUZlZCAhPSBudWxsID8gZXNtLnN0YXJ0RGF0ZUZlZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2VuZERhdGVGZWQnOiBbZXNtLmVuZERhdGVGZWQgIT0gbnVsbCA/IGVzbS5lbmREYXRlRmVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAnZmVkSm9iVGlsZU9yUG9zaXRpb24nOiBbZXNtLmZlZEpvYlRpbGVPclBvc2l0aW9uICE9IG51bGwgPyBlc20uZmVkSm9iVGlsZU9yUG9zaXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgIC8vJ2NsYWltYW50RW1wbG95ZWRXaXRoRW1wcic6IFtlc20uY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByICE9IG51bGwgPyBlc20uY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcpKV0sXG4gICAgICAncGVyZm9ybWVkU2VydmljZSc6IFtlc20ucGVyZm9ybWVkU2VydmljZSAhPSBudWxsID8gZXNtLnBlcmZvcm1lZFNlcnZpY2UgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJykpXSxcbiAgICAgICdmZWRQZW5zaW9uRmxhZyc6IFtlc20uZmVkUGVuc2lvbkZsYWcgIT0gbnVsbCA/IGVzbS5mZWRQZW5zaW9uRmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnKSldLFxuICAgICAgJ2ZlZFBlbnNpb25SZWN2RGF0ZSc6W2VzbS5mZWRQZW5zaW9uUmVjdkRhdGUgIT0gbnVsbCA/IGVzbS5mZWRQZW5zaW9uUmVjdkRhdGU6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJykpXSxcbiAgICAgICdzZXZQYXlGbGFnJzogW2VzbS5zZXZQYXlGbGFnICE9IG51bGwgPyBlc20uc2V2UGF5RmxhZyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKSldLFxuICAgICAgJ3dlZWtseUFtb3VudCc6IFtlc20uc2V2UGF5RmxhZyAhPSBudWxsID8gZXNtLndlZWtseUFtb3VudCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ251bWJlck9mV2Vla3MnOiBbZXNtLnNldlBheUZsYWcgIT0gbnVsbCA/IGVzbS5udW1iZXJPZldlZWtzIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnc2V2UGF5QW1vdW50JzogW2VzbS5zZXZQYXlGbGFnICE9IG51bGwgPyBlc20uc2V2UGF5QW1vdW50IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAnc2V2UGF5U3RhcnREYXRlJzogW2VzbS5zZXZQYXlTdGFydERhdGUgIT0gbnVsbCA/IGVzbS5zZXZQYXlTdGFydERhdGUgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcbiAgICAgICdzZXZQYXlFbmREYXRlJzogW2VzbS5zZXZQYXlFbmREYXRlICE9IG51bGwgPyBlc20uc2V2UGF5RW5kRGF0ZSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxuICAgICAgJ3NldlBheVBheW1lbnRTdGFydERhdGUnOiBbZXNtLnNldlBheVBheW1lbnRTdGFydERhdGUgIT0gbnVsbCA/IGVzbS5zZXZQYXlQYXltZW50U3RhcnREYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXG4gICAgICAncmVnRW1wbG95ZXJGb3VuZCc6IFtlc20ucmVnRW1wbG95ZXJGb3VuZCAhPSBudWxsID8gZXNtLnJlZ0VtcGxveWVyRm91bmQgOiBudWxsXSxcbiAgICAgICdlbXBsb3llcklkJzogW2VzbS5lbXBsb3llcklkICE9IG51bGwgPyBlc20uZW1wbG95ZXJJZCA6IG51bGxdLFxuICAgICAgJ3NlcnZpY2VCcmFuY2gnOiBbZXNtLnNlcnZpY2VCcmFuY2ggIT0gbnVsbCA/IGVzbS5zZXJ2aWNlQnJhbmNoIDogbnVsbF0sXG4gICAgICAnc3RhcnREYXRlTWlsJzogW2VzbS5zdGFydERhdGVNaWwgIT0gbnVsbCA/IGVzbS5zdGFydERhdGVNaWwgOiBudWxsXSxcbiAgICAgICdlbmREYXRlTWlsJzogW2VzbS5lbmREYXRlTWlsICE9IG51bGwgPyBlc20uZW5kRGF0ZU1pbCA6IG51bGxdLFxuICAgICAgJ2RkMjE0RmxhZyc6IFtlc20uZGQyMTRGbGFnICE9IG51bGwgPyBlc20uZGQyMTRGbGFnIDogbnVsbF0sXG4gICAgICAnbGFzdFBheUdyYWRlJzogW2VzbS5sYXN0UGF5R3JhZGUgIT0gbnVsbCA/IGVzbS5sYXN0UGF5R3JhZGUgOiBudWxsXSxcbiAgICAgICdsYXN0ZHV0eSc6IFtlc20ubGFzdGR1dHkgIT0gbnVsbCA/IGVzbS5sYXN0ZHV0eSA6IG51bGxdLFxuICAgICAgJ3BsYWNlU2VwYXJhdGVkJzogW2VzbS5wbGFjZVNlcGFyYXRlZCAhPSBudWxsID8gZXNtLnBsYWNlU2VwYXJhdGVkIDogbnVsbF0sXG4gICAgICAnbm9MZWF2ZURheXMnOiBbZXNtLm5vTGVhdmVEYXlzICE9IG51bGwgPyBlc20ubm9MZWF2ZURheXMgOiBudWxsXSxcbiAgICAgICdjb21wbGV0ZWRGdWxsVGVybUZsYWcnOiBbZXNtLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyAhPSBudWxsID8gZXNtLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyA6IG51bGxdLFxuICAgICAgJ3Jlc2VydmVPckd1YXJkRmxhZyc6IFtlc20ucmVzZXJ2ZU9yR3VhcmRGbGFnICE9IG51bGwgPyBlc20ucmVzZXJ2ZU9yR3VhcmRGbGFnIDogbnVsbF0sXG4gICAgICAnbWlsUGVuc2lvbkZsYWcnOiBbZXNtLm1pbFBlbnNpb25GbGFnICE9IG51bGwgPyBlc20ubWlsUGVuc2lvbkZsYWcgOiBudWxsXSxcbiAgICAgICdtaWxQZW5zaW9uUmVjdkRhdGUnOltlc20ubWlsUGVuc2lvblJlY3ZEYXRlICE9IG51bGwgPyBlc20ubWlsUGVuc2lvblJlY3ZEYXRlIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScpKV0sXG4gICAgICAnYWRkcmVzc0xpbmUxJzogW2VzbS5hZGRyZXNzTGluZTEgIT0gbnVsbCA/IGVzbS5hZGRyZXNzTGluZTEgOiBudWxsXSxcbiAgICAgICdhZGRyZXNzTGluZTInOiBbZXNtLmFkZHJlc3NMaW5lMiAhPSBudWxsID8gZXNtLmFkZHJlc3NMaW5lMiA6IG51bGxdLFxuICAgICAgJ2FkZHJlc3NMaW5lMyc6IFtlc20uYWRkcmVzc0xpbmUzICE9IG51bGwgPyBlc20uYWRkcmVzc0xpbmUzIDogbnVsbF0sXG4gICAgICAncmVzZXJ2ZUJyYW5jaCc6W2VzbS5yZXNlcnZlQnJhbmNoICE9IG51bGwgPyBlc20ucmVzZXJ2ZUJyYW5jaCA6IG51bGxdLFxuICAgICAgJ3N0YXJ0RGF0ZVJlc2VydmUnOltlc20uc3RhcnREYXRlUmVzZXJ2ZSAhPSBudWxsID8gZXNtLnN0YXJ0RGF0ZVJlc2VydmUgOiBudWxsXSxcbiAgICAgICdlbmREYXRlUmVzZXJ2ZSc6W2VzbS5lbmREYXRlUmVzZXJ2ZSAhPSBudWxsID8gZXNtLmVuZERhdGVSZXNlcnZlIDogbnVsbF0sXG4gICAgICAnZGQyMTRGaWxlJzpbZXNtLmRkMjE0RmlsZSAhPSBudWxsID8gZXNtLmRkMjE0RmlsZSA6IG51bGxdLFxuICAgICAgJ2FkZHJlc3MnOltlc20uYWRkcmVzcyAhPSBudWxsID8gZXNtLmFkZHJlc3MgOiBudWxsXSxcbiAgICAgIHdhZ2VBbW91bnRBcnJheTogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSksXG4gICAgICB0ZXN0RW1wIDogW2VzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlICE9IG51bGwgPyBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2UgOiBudWxsXSxcbiAgICAgICdvc2FCcEVtcGxveWVyRmxhZyc6W2VzbS5vc2FCcEVtcGxveWVyRmxhZyAhPW51bGwgPyBlc20ub3NhQnBFbXBsb3llckZsYWcgOiBcIjBcIl1cbiAgICB9KTtcbiAgICBcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UpIHtcbiAgICAgIGlmIChxdHJXYWdlTGlzdCkge1xuICAgICAgICBmb3IgKHZhciBxdHJXYWdlIG9mIHF0cldhZ2VMaXN0KSB7XG4gICAgICAgICAgdGhpcy53YWdlQW1vdW50QXJyYXkucHVzaCh0aGlzLndhZ2VBcnJheShxdHJXYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zZXRSZXF1aXJlZFZhbGlkYXRpb24oKTsgXG4gICAgXG4gICAgbGV0IGVtcFN0YXQgPSB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmZpbHRlcihzdGF0ID0+IHN0YXQudmFsdWUgPT0gZXNtLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlKVswXTtcbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24uc2V0VmFsdWUoZW1wU3RhdCk7XG4gIH1cblxuICBsb2FkTWFzdGVyRGF0YSgpe1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFJlYXNvblNlcGFyYXRpb24oKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXREaXNjaGFyZ2VSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRRdWl0UmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gIGlmKHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnMhPSBudWxsKVxuICAgICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHdhZ2VBcnJheShxdHJXYWdlOlF0clllYXJFbXBsb3llcldhZ2VNb2RlbCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHdhZ2VBbW91bnQ6IFtxdHJXYWdlLndhZ2VBbW91bnQhPW51bGw/cXRyV2FnZS53YWdlQW1vdW50Om51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSB8fCAodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBxdHJXYWdlLmRpc3BsYXlGb3JBbGwgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSkgKSkpXSxcbiAgICAgIHF1YXJ0ZXI6IFtxdHJXYWdlLnF1YXJ0ZXIhPW51bGw/cXRyV2FnZS5xdWFydGVyOm51bGxdLFxuICAgICAgeWVhcjogW3F0cldhZ2UueWVhciE9bnVsbD9xdHJXYWdlLnllYXI6bnVsbF0sXG4gICAgICBxdHJZZWFyRGlzcGxheVN0cmluZzogW3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmchPW51bGw/cXRyV2FnZS5xdHJZZWFyRGlzcGxheVN0cmluZzpudWxsXSxcbiAgICAgIGRpc3BsYXlPcmRlcjogW3F0cldhZ2UuZGlzcGxheU9yZGVyIT1udWxsP3F0cldhZ2UuZGlzcGxheU9yZGVyOm51bGxdLFxuICAgICAgZGlzcGxheUZvckFsbDogW3F0cldhZ2UuZGlzcGxheUZvckFsbCE9bnVsbD9xdHJXYWdlLmRpc3BsYXlGb3JBbGw6bnVsbF0sXG4gICAgfSlcbiB9XG5cbiAgZ2V0IHdhZ2VBbW91bnRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbXCJ3YWdlQW1vdW50QXJyYXlcIl0gYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCB0ZXN0RW1wKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1widGVzdEVtcFwiXSA7XG4gIH1cbiAgc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMuc2V2UGF5RmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZih2YWw9PT0nWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKXtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCk7XG4gICAgICB9XG4gICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy53b3JrU3RhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsICYmIHZhbC52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpe1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZmVkV29ya0NvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYgKHZhbCAmJiB2YWwudmFsdWUgPT09ICdVUycgfHwgdmFsICYmIHZhbC52YWx1ZSA9PT0gJ0NBJyApIHtcbiAgICAgICAgdGhpcy5zaG93V29ya1N0YXRlID0gdHJ1ZTsgXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgICAgICAgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dXb3JrU3RhdGUgPSBmYWxzZTsgXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICAgIGlmKHZhbCAmJiB2YWwudmFsdWUgPT09ICdVUycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZW5kRGF0ZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlICh2YWwgPT4ge1xuICAgICAgaWYodGhpcy53b3JrU3RhdGUudmFsdWU/LnZhbHVlID09IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsKSB7XG4gICAgICAgIGlmKHZhbC52YWx1ZSA9PT0gJ0RDRkknKXtcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kaXNjaGFyZ2VEZXRhaWwpO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy52b2xRdWl0RGV0YWlscyk7XG4gICAgICAgICAgdGhpcy52b2xRdWl0RGV0YWlscy5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmKHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnKXtcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy52b2xRdWl0RGV0YWlscyk7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRpc2NoYXJnZURldGFpbCk7XG4gICAgICAgICAgdGhpcy5kaXNjaGFyZ2VEZXRhaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRpc2NoYXJnZURldGFpbCk7XG4gICAgICAgICAgdGhpcy5kaXNjaGFyZ2VEZXRhaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnZvbFF1aXREZXRhaWxzKTtcbiAgICAgICAgICB0aGlzLnZvbFF1aXREZXRhaWxzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMucGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScgKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbD09PSdZJyAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRScgKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsPT09J1knICYmIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmhhc1JlY3ZSZW11bmVyYXRpb24udmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyAmJiB0aGlzLmlzT3NhRW1wbG95ZXIgPT09ICcwJyl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlbXVuZXJhdGlvblR5cGVzKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVtdW5lcmF0aW9uVHlwZXMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5lbXBsb3llclR5cGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYgKHZhbCA9PT0gJ0ZFRCcpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uUmVndWxhckZpZWxkcygpXG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWwgPT09ICdSRUcnKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk9uUmVndWxhckZpZWxkcygpO1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PbkZlZGVyYWxGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25NaWxpdGFyeUZpZWxkcygpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsID09PSAnTUlMJykge1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbk9uRmVkZXJhbEZpZWxkcygpO1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKVxuICAgICAgfVxuXG4gICAgfSk7XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCl7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud2Vla2x5QW1vdW50KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5udW1iZXJPZldlZWtzKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlBbW91bnQpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNldlBheVN0YXJ0RGF0ZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5RW5kRGF0ZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25TZXJ2RmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53ZWVrbHlBbW91bnQpO1xuICAgIHRoaXMud2Vla2x5QW1vdW50LnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubnVtYmVyT2ZXZWVrcyk7XG4gICAgdGhpcy5udW1iZXJPZldlZWtzLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5QW1vdW50KTtcbiAgICB0aGlzLnNldlBheUFtb3VudC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheVN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5zZXZQYXlTdGFydERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNldlBheUVuZERhdGUpO1xuICAgIHRoaXMuc2V2UGF5RW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5zZXZQYXlQYXltZW50U3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uVmVyaWZpY2F0aW9uT2ZXYWdlc0ZpZWxkcygpIHtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXltZW50VHlwZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZG9jc1JlY2VpdmVkKTtcbiAgIC8vIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRvaW5nQnVzaW5lc3NBcyk7XG4gICAvLyB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oaXJlZEJ5KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5idXNpbmVzc05hdHVyZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMub3RoZXJOYW1lRmxhZyk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMub3RoZXJTU05GbGFnKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheW1lbnRUeXBlKTtcbiAgICB0aGlzLnBheW1lbnRUeXBlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kb2NzUmVjZWl2ZWQpO1xuICAgIHRoaXMuZG9jc1JlY2VpdmVkLnNldFZhbHVlKG51bGwpO1xuICAgLy8gdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmRvaW5nQnVzaW5lc3NBcyk7XG4gICAvLyB0aGlzLmRvaW5nQnVzaW5lc3NBcy5zZXRWYWx1ZShudWxsKTtcbiAgIC8vIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5oaXJlZEJ5KTtcbiAgIC8vIHRoaXMuaGlyZWRCeS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuYnVzaW5lc3NOYXR1cmUpO1xuICAgIHRoaXMuYnVzaW5lc3NOYXR1cmUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLm90aGVyTmFtZUZsYWcpO1xuICAgIHRoaXMub3RoZXJOYW1lRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJTU05GbGFnKTtcbiAgICB0aGlzLm90aGVyU1NORmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlJywgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSwgJyB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyJywgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcik7XG5cbiAgICBpZigoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVhc29uU2VwYXJhdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSkge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZUZyZXF1ZW5jeSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXlSYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyTmFtZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGUpO1xuICAgICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy52YWNhdGlvbik7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmhhc1Nob3J0VGVybURpc2FiaWxpdHkpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oYXNSZWN2UmVtdW5lcmF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZigodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnKSl7XG4gICAgICBpZih0aGlzLnBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ1JFRycpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndvcmtTdGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrQ2l0eSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdQZW5zaW9uRmxhZyk7XG4gICAgICBpZih0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25PblJlZ3VsYXJGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25GbGFnKTtcbiAgICB0aGlzLnBlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZW5zaW9uUmVjdkRhdGUpO1xuICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGUpO1xuICAgIHRoaXMucGF5UmF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGlsZU9yUG9zaXRpb24pO1xuICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdyk7XG4gICAgdGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGUpO1xuICAgIHRoaXMuZW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIpO1xuICAgIHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyTmFtZSk7XG4gICAgdGhpcy5lbXBsb3llck5hbWUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5zdGFydERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtTdGF0ZSk7XG4gICAgdGhpcy53b3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtDaXR5KTtcbiAgICB0aGlzLndvcmtDaXR5LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZWdQZW5zaW9uRmxhZyk7XG4gICAgdGhpcy5yZWdQZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcblx0ICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJOYW1lKTtcbiAgICB0aGlzLm90aGVyTmFtZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJOYW1lRmxhZyk7XG4gICAgdGhpcy5vdGhlck5hbWVGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdGhlclNTTik7XG4gICAgdGhpcy5vdGhlclNTTi5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMub3RoZXJTU05GbGFnKTtcbiAgICB0aGlzLm90aGVyU1NORmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICBpZih0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyl7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudmFjYXRpb24pO1xuICAgICAgdGhpcy52YWNhdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5KTtcbiAgICAgIHRoaXMuaGFzU2hvcnRUZXJtRGlzYWJpbGl0eS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5oYXNSZWN2UmVtdW5lcmF0aW9uKTtcbiAgICAgIHRoaXMuaGFzUmVjdlJlbXVuZXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZW11bmVyYXRpb25UeXBlcyk7XG4gICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVzLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbGlkYXRpb25PbkZlZGVyYWxGaWVsZHMoKSB7XG4gICAvLyB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGVGZWQpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZEVtcGxveWVyTmFtZSk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkSm9iVGlsZU9yUG9zaXRpb24pO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFBlbnNpb25GbGFnKTtcbiAgICBpZih0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB9XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVkV29ya0NpdHkpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmZlZFdvcmtDb3VudHJ5KTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBlcmZvcm1lZFNlcnZpY2UpO1xuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZXZQYXlGbGFnKTtcbiAgICB9XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2ZFaWdodGZsYWcpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZUZlZCk7XG4gICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5mZWRFbXBsb3llck5hbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uT25GZWRlcmFsRmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGVGZWQpO1xuICAgIHRoaXMuc3RhcnREYXRlRmVkLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZkVpZ2h0ZmxhZyk7XG4gICAgdGhpcy5zZkVpZ2h0ZmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2V2UGF5RmxhZyk7XG4gICAgdGhpcy5zZXZQYXlGbGFnLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wZXJmb3JtZWRTZXJ2aWNlKTtcbiAgICB0aGlzLnBlcmZvcm1lZFNlcnZpY2Uuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFdvcmtTdGF0ZSk7XG4gICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlZFdvcmtDb3VudHJ5KTtcbiAgICB0aGlzLmZlZFdvcmtDb3VudHJ5LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrQ2l0eSk7XG4gICAgdGhpcy5mZWRXb3JrQ2l0eS5zZXRWYWx1ZShudWxsKTtcblxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRQZW5zaW9uRmxhZyk7XG4gICAgdGhpcy5mZWRQZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcblxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRKb2JUaWxlT3JQb3NpdGlvbik7XG4gICAgdGhpcy5mZWRKb2JUaWxlT3JQb3NpdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZmVkRW1wbG95ZXJOYW1lKTtcbiAgICB0aGlzLmZlZEVtcGxveWVyTmFtZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZUZlZCk7XG4gICAgdGhpcy5lbmREYXRlRmVkLnNldFZhbHVlKG51bGwpO1xuICAgLy8gdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wcik7XG4gICAgLy90aGlzLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wci5zZXRWYWx1ZShudWxsKVxuICB9XG5cbiAgc2V0VmFsaWRhdGlvbk9uTWlsaXRhcnlGaWVsZHMoKSB7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc2VydmljZUJyYW5jaCk7XG4gICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXRlTWlsKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlTWlsKTtcbiAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kZDIxNEZsYWcpO1xuICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm1pbFBlbnNpb25GbGFnKTtcbiAgICBpZih0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpe1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGQyMTRGbGFnLnZhbHVlID09PSAnTicpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmxhc3RQYXlHcmFkZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5sYXN0ZHV0eSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wbGFjZVNlcGFyYXRlZCk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jb21wbGV0ZWRGdWxsVGVybUZsYWcpO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGQyMTRGbGFnLnZhbHVlID09PSAnWScpIHt9XG5cbiAgICBpZiAodGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcudmFsdWUgPT09ICdZJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZUJyYW5jaCk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERhdGVSZXNlcnZlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVuZERhdGVSZXNlcnZlKTtcbiAgICB9XG4gICAgLy9taWxpdGFyeSBkb2VzIG5vdCBoYXZlIHJlYXNvbiBvZiBzZXBhcmF0aW9uXG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25Pbk1pbGl0YXJ5RmllbGRzKCkge1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZXJ2aWNlQnJhbmNoKTtcbiAgICB0aGlzLnNlcnZpY2VCcmFuY2guc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZU1pbCk7XG4gICAgdGhpcy5zdGFydERhdGVNaWwuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVNaWwpO1xuICAgIHRoaXMuZW5kRGF0ZU1pbC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGQyMTRGbGFnKTtcbiAgICB0aGlzLmRkMjE0RmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdFBheUdyYWRlKTtcbiAgICB0aGlzLmxhc3RQYXlHcmFkZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdGR1dHkpO1xuICAgIHRoaXMubGFzdGR1dHkuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICB0aGlzLnBsYWNlU2VwYXJhdGVkLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgdGhpcy5ub0xlYXZlRGF5cy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnKTtcbiAgICB0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucmVzZXJ2ZU9yR3VhcmRGbGFnKTtcbiAgICB0aGlzLnJlc2VydmVPckd1YXJkRmxhZy5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubWlsUGVuc2lvbkZsYWcpO1xuICAgIHRoaXMubWlsUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlc2VydmVCcmFuY2gpO1xuICAgIHRoaXMucmVzZXJ2ZUJyYW5jaC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXRlUmVzZXJ2ZSk7XG4gICAgdGhpcy5zdGFydERhdGVSZXNlcnZlLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbmREYXRlUmVzZXJ2ZSk7XG4gICAgdGhpcy5lbmREYXRlUmVzZXJ2ZS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlKTtcbiAgICB0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIGdldCBlbXBsb3llclR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclR5cGUnXTtcbiAgfVxuICBnZXQgZW1wbG95ZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJOYW1lJ107XG4gIH1cblxuICBnZXQgZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddO1xuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddO1xuICB9XG5cbiAgZ2V0IGVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlJ107XG4gIH1cblxuICBnZXQgam9iVGlsZU9yUG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddO1xuICB9XG5cbiAgZ2V0IHJlYXNvblNlcGFyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ107XG4gIH1cblxuICBnZXQgZGlzY2hhcmdlRGV0YWlsKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGlzY2hhcmdlRGV0YWlsJ107XG4gIH1cblxuICBnZXQgdm9sUXVpdERldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd2b2xRdWl0RGV0YWlscyddO1xuICB9XG5cbiAgZ2V0IHBheVJhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ107XG4gIH1cblxuICBnZXQgZ3Jvc3NXYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2dyb3NzV2FnZXMnXTtcbiAgfVxuXG4gIGdldCBwYXlSYXRlRnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddO1xuICB9XG5cbiAgZ2V0IHBlbnNpb25GbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvbkZsYWcnXTtcbiAgfVxuICBcbiAgZ2V0IHBlbnNpb25SZWN2RGF0ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvblJlY3ZEYXRlJ107XG4gIH1cblxuICBnZXQgcmVnUGVuc2lvbkZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdQZW5zaW9uRmxhZyddO1xuICB9XG4gIFxuICBnZXQgcmVnUGVuc2lvblJlY3ZEYXRlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdQZW5zaW9uUmVjdkRhdGUnXTtcbiAgfVxuXG4gIGdldCBpc0NsbXRQYWlkV2hpbGVMb3coKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydpc0NsbXRQYWlkV2hpbGVMb3cnXTtcbiAgfVxuXG4gIGdldCBoYXNTaG9ydFRlcm1EaXNhYmlsaXR5KCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoYXNTaG9ydFRlcm1EaXNhYmlsaXR5J107XG4gIH1cblxuICBnZXQgaGFzUmVjdlJlbXVuZXJhdGlvbigpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzUmVjdlJlbXVuZXJhdGlvbiddO1xuICB9XG5cbiAgZ2V0IHJlbXVuZXJhdGlvblR5cGVzKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZW11bmVyYXRpb25UeXBlcyddO1xuICB9XG5cbiAgZ2V0IHZhY2F0aW9uKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd2YWNhdGlvbiddO1xuICB9XG4gIC8vIGdldCBwYWlkQnkoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYWlkQnknXTtcbiAgLy8gfVxuXG4gIGdldCBwYXltZW50VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheW1lbnRUeXBlJ107XG4gIH1cblxuICBnZXQgZG9jc1JlY2VpdmVkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZG9jc1JlY2VpdmVkJ107XG4gIH1cblxuICBnZXQgb3RoZXJTU05GbGFnKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlclNTTkZsYWcnXTtcbiAgfVxuXG4gIGdldCBvdGhlclNTTigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyU1NOJ107XG4gIH1cblxuICBnZXQgb3RoZXJOYW1lRmxhZygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJOYW1lRmxhZyddO1xuICB9XG5cbiAgZ2V0IG90aGVyTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZSddO1xuICB9XG5cbiAgZ2V0IGRvaW5nQnVzaW5lc3NBcygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvaW5nQnVzaW5lc3NBcyddO1xuICB9XG5cbiAgZ2V0IHdvcmtGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya0ZsYWcnXTtcbiAgfVxuXG4gIC8vIGdldCBxdWl0cmVhc29uKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncXVpdHJlYXNvbiddO1xuICAvLyB9XG5cbiAgZ2V0IHdvcmtDaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya0NpdHknXTtcbiAgfVxuXG4gIGdldCB3b3JrU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrU3RhdGUnXTtcbiAgfVxuXG4gIC8qZ2V0IGhpcmVkQnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoaXJlZEJ5J107XG4gIH1cblxuICBnZXQgZmVpbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlaW4nXTtcbiAgfSovXG5cbiAgZ2V0IHdvcmtUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1R5cGUnXTtcbiAgfVxuXG4gIC8qZ2V0IG51bWJlckVtcGxveWVkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbnVtYmVyRW1wbG95ZWQnXTtcbiAgfSovXG5cbiAgZ2V0IGJ1c2luZXNzTmF0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYnVzaW5lc3NOYXR1cmUnXTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzJ107XG4gIH1cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIxKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIxJ107XG4gIC8vIH1cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIyKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIyJ107XG4gIC8vIH1cblxuXG4gIC8vIGdldCB3YWdlUXVhcnRlcjMoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjMnXTtcbiAgLy8gfVxuXG5cblxuICAvLyBnZXQgd2FnZVF1YXJ0ZXI0KCkge1xuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXI0J107XG4gIC8vIH1cblxuICBnZXQgZmljQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0NvZGUnXTtcbiAgfVxuXG4gIGdldCBmaWNEZXN0aW5hdGlvbkNvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbkNvZGUnXTtcbiAgfVxuXG4gIGdldCBmaWNEZXN0aW5hdGlvbklkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25JZCddO1xuICB9XG4gICAgICBcbiAgXG4gIC8vIGdldCBmb3JtZXJseUtub3duQXMoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmb3JtZXJseUtub3duQXMnXTtcbiAgLy8gfVxuXG4gIGdldCBzZkVpZ2h0ZmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NmRWlnaHRmbGFnJ107XG4gIH1cblxuICBnZXQgZmVkV29ya0NpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrQ2l0eSddO1xuICB9XG5cbiAgZ2V0IGZlZFdvcmtTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtTdGF0ZSddO1xuICB9XG5cblxuICBnZXQgZmVkV29ya0NvdW50cnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrQ291bnRyeSddO1xuICB9XG5cblxuICBnZXQgc3RhcnREYXRlRmVkKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlRmVkJ107XG4gIH1cblxuICBnZXQgZW5kRGF0ZUZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVGZWQnXTtcbiAgfVxuXG4gIGdldCBmZWRKb2JUaWxlT3JQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJ107XG4gIH1cblxuICAvKiBnZXQgY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJ107XG4gIH0gKi9cblxuICBnZXQgcGVyZm9ybWVkU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlcmZvcm1lZFNlcnZpY2UnXTtcbiAgfVxuXG4gIGdldCBmZWRQZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25GbGFnJ107XG4gIH1cblxuICBnZXQgZmVkUGVuc2lvblJlY3ZEYXRlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uUmVjdkRhdGUnXTtcbiAgfVxuXG4gIGdldCBzZXZQYXlGbGFnKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5RmxhZyddO1xuICB9XG5cbiAgZ2V0IHdlZWtseUFtb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dlZWtseUFtb3VudCddO1xuICB9XG5cbiAgZ2V0IG51bWJlck9mV2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJPZldlZWtzJ107XG4gIH1cblxuICBnZXQgc2V2UGF5QW1vdW50KCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5QW1vdW50J107XG4gIH1cblxuXG4gIGdldCBzZXZQYXlTdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlTdGFydERhdGUnXTtcbiAgfVxuXG5cbiAgZ2V0IHNldlBheUVuZERhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlFbmREYXRlJ107XG4gIH1cblxuICBnZXQgc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVBheW1lbnRTdGFydERhdGUnXTtcbiAgfVxuXG4gIGdldCByZWdFbXBsb3llckZvdW5kKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnRW1wbG95ZXJGb3VuZCddO1xuICB9XG5cbiAgZ2V0IGVtcGxveWVySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llcklkJ107XG4gIH1cblxuICBnZXQgZmVkRW1wbG95ZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkRW1wbG95ZXJOYW1lJ107XG4gIH1cbiAgZ2V0IHNlcnZpY2VCcmFuY2goKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlQnJhbmNoJ107XG4gIH1cblxuICBnZXQgc3RhcnREYXRlTWlsKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlTWlsJ107XG4gIH1cblxuICBnZXQgZW5kRGF0ZU1pbCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVNaWwnXTtcbiAgfVxuXG4gIGdldCBkZDIxNEZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZsYWcnXTtcbiAgfVxuXG4gIGdldCBsYXN0UGF5R3JhZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0UGF5R3JhZGUnXTtcbiAgfVxuXG4gIGdldCBsYXN0ZHV0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RkdXR5J107XG4gIH1cblxuICBnZXQgcGxhY2VTZXBhcmF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwbGFjZVNlcGFyYXRlZCddO1xuICB9XG5cbiAgZ2V0IG5vTGVhdmVEYXlzKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbm9MZWF2ZURheXMnXTtcbiAgfVxuXG4gIGdldCBjb21wbGV0ZWRGdWxsVGVybUZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjb21wbGV0ZWRGdWxsVGVybUZsYWcnXTtcbiAgfVxuXG4gIGdldCByZXNlcnZlT3JHdWFyZEZsYWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlT3JHdWFyZEZsYWcnXTtcbiAgfVxuXG4gIGdldCBtaWxQZW5zaW9uRmxhZygpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFBlbnNpb25GbGFnJ107XG4gIH1cblxuICBnZXQgbWlsUGVuc2lvblJlY3ZEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvblJlY3ZEYXRlJ107XG4gIH1cblxuICBnZXQgYWRkcmVzc0xpbmUxKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTEnXTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzTGluZTIoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMiddO1xuICB9XG5cbiAgZ2V0IGFkZHJlc3NMaW5lMygpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUzJ107XG4gIH1cblxuICBnZXQgZmljRGVzdGluYXRpb25OYW1lKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXTtcbiAgfVxuXG4gIGdldCByZXNlcnZlQnJhbmNoKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlQnJhbmNoJ107XG4gIH1cblxuICBnZXQgc3RhcnREYXRlUmVzZXJ2ZSgpe1xuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlUmVzZXJ2ZSddO1xuICB9XG5cbiAgZ2V0IGVuZERhdGVSZXNlcnZlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddO1xuICB9XG4gIFxuICBnZXQgZGQyMTRGaWxlKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZpbGUnXTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzKCl7XG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XG4gIH1cblxuICBnZXQgb3NhQnBFbXBsb3llckZsYWcoKXtcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ29zYUJwRW1wbG95ZXJGbGFnJ107XG4gIH1cblxuICBvblRvZ2dsZUNoYW5nZUVtcGxveWVyVHlwZShvYmo6IGFueSkge1xuICAgIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcbiAgICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuZmljQ29kZS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuZmljRGVzdGluYXRpb25Db2RlLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKG51bGwpO1xuICAgIH0pXG4gIH1cblxuIFxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICAvL3RoaXMuZW1wTmFtZSA9IG9iajtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cbiAgfVxuXG4gIG9uTW9kZWxDYW5jZWwoY2FuY2VsOiBib29sZWFuKSB7XG4gICAgdGhpcy5tb2RlbENhbmNlbC5lbWl0KGNhbmNlbCk7XG4gIH1cblxuICBzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwidHlwZVwiLCB0aGlzLmVtcGxveWVyVHlwZSwgJ3RoaXMuYWRkRW1wbG95ZXJGb3JtJyx0aGlzLmFkZEVtcGxveWVyRm9ybSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VtcGxveWVyLnN0YXRlJywgZW1wbG95ZXIuc3RhdGUpXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5OmVtcGxveWVyLmNvdW50cnksIGNpdHk6ZW1wbG95ZXIuY2l0eVxuICAgICwgemlwOmVtcGxveWVyLnppcCxzdHJlZXRBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NEaXNwbGF5VmFsLHN0YXRlOmVtcGxveWVyLnN0YXRlLFxuICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxuICAgIH0pO1xuICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XG4gICAgdGhpcy5lbXBsb3llcklkLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVySWQpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XG4gICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUyKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTMpO1xuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZSh0cnVlKTtcbiAgfVxuXG4gIHNldEZlZEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldEZlZEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyLCBcInppcCBcIiwgZW1wbG95ZXIuemlwKTtcbiAgICB0aGlzLmZpY0NvZGUuc2V0VmFsdWUoZW1wbG95ZXIuZmljQ29kZSk7XG4gICAgdGhpcy5maWNDb2RlLmRpc2FibGUoKTtcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbk5hbWUpO1xuICAgIHRoaXMuZmljRGVzdGluYXRpb25JZC5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbklkKTtcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbkNvZGUuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25Db2RlKTtcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6ZW1wbG95ZXIuY291bnRyeSwgY2l0eTplbXBsb3llci5jaXR5XG4gICAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTEsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXG4gICAgICBvcHRpb25hbEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0xpbmUyLGNvdW50eTpudWxsLHRvd246bnVsbFxuICAgICAgfSk7XG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcbiAgICB0aGlzLmVtcGxveWVySWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XG4gICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUxKTtcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xuICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMyk7XG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcbiAgfVxuXG4gIHJlc2V0RmVkRW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KXtcbiAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5Om51bGwsIGNpdHk6bnVsbFxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcbiAgICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxuICAgICAgfSk7XG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcbiAgfVxuXG4gIHJlc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXNldEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyKTtcbiAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xuICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6bnVsbCwgY2l0eTpudWxsXG4gICAgICAsIHppcDpudWxsLHN0cmVldEFkZHJlc3M6bnVsbCxzdGF0ZTpudWxsLFxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXG4gICAgICB9KTtcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xuICB9XG5cblxuICBwdXRNaWxSZXNCcmFuY2hWYWxpZGF0aW9uKGV2ZW50KXtcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnWScpIHtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucmVzZXJ2ZUJyYW5jaCk7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZVJlc2VydmUpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlUmVzZXJ2ZSk7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZUJyYW5jaCddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlc2VydmVCcmFuY2gpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERhdGVSZXNlcnZlKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVuZERhdGVSZXNlcnZlKTtcbiAgICB9XG4gIH1cblxuICBwdXRNaWxWYWxpZGF0aW9uKGV2ZW50KXtcbiAgICAvKmlmIChldmVudC5vcHRpb24udmFsdWUgPT09ICdOJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMubGFzdFBheUdyYWRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmxhc3RkdXR5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLm5vTGVhdmVEYXlzKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcpO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RQYXlHcmFkZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RkdXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGxhY2VTZXBhcmF0ZWQnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydub0xlYXZlRGF5cyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2NvbXBsZXRlZEZ1bGxUZXJtRmxhZyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVPckd1YXJkRmxhZyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxhc3RQYXlHcmFkZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGFzdGR1dHkpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBsYWNlU2VwYXJhdGVkKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5ub0xlYXZlRGF5cyk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY29tcGxldGVkRnVsbFRlcm1GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5yZXNlcnZlT3JHdWFyZEZsYWcpO1xuICAgIH0qL1xuICB9XG5cbiAgb25PcHRpb25DaGFuZ2UoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnWScpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbmREYXRlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYlRpbGVPclBvc2l0aW9uKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMucGF5UmF0ZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5wYXlSYXRlRnJlcXVlbmN5KTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBlbnNpb25GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaXNDbG10UGFpZFdoaWxlTG93J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW5kRGF0ZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGlsZU9yUG9zaXRpb24pO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnJlYXNvblNlcGFyYXRpb24pO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBheVJhdGVGcmVxdWVuY3kpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBlbnNpb25GbGFnKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmUoKXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5zYXZlLnZhbHVlJywgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xuICAgIGlmKHRoaXMud29ya0ZsYWcudmFsdWU9PT0nTicpe1xuICAgICAgaWYgKHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICB9XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLmFkZCgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZCgpIHtcblxuICAgIGNvbnN0IGludmFsaWQgPSBbXTtcbiAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHM7XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgaW4gY29udHJvbHMpIHtcbiAgICAgICAgICBpZiAoY29udHJvbHNbbmFtZV0uaW52YWxpZCkge1xuICAgICAgICAgICAgICBpbnZhbGlkLnB1c2gobmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiaW52YWxpZFtdXCIsIGludmFsaWQpIDtcbiAgICAgICAgXG5cdCAgaWYoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ01JTCcpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWxpZGF0ZSBhZGRyZXNzIGNvbXBvbmVudCcpO1xuICAgICBcdHRoaXMudmFsaWRhdGVBZGRyZXNzKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuYWRkLnZhbHVlJywgdGhpcy5hZGRFbXBsb3llckZvcm0pOyBcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNDb2RlJ10uZW5hYmxlKCk7XG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25OYW1lJ10uZW5hYmxlKCk7XG4gICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImFkZCBmb3JtIGRldGFpbHMgYWRkKCktIFwiLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7XG4gICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICB9XG5cbiAgfVxuXG4gIHZhbGlkYXRlQWRkcmVzcygpIHtcbiAgICBsZXQgYWRkcmVzc0NvbXBWYWx1ZTogQWRkcmVzc0NvbXBvbmVudE1vZGVsO1xuICAgIGFkZHJlc3NDb21wVmFsdWUgPSB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddLnZhbHVlO1xuICAgIGlmIChhZGRyZXNzQ29tcFZhbHVlKSB7XG4gICAgICBpZiAoIWFkZHJlc3NDb21wVmFsdWUuY2l0eSB8fCAhYWRkcmVzc0NvbXBWYWx1ZS5zdGF0ZSB8fFxuICAgICAgICAhYWRkcmVzc0NvbXBWYWx1ZVsnemlwJ10gfHwgIWFkZHJlc3NDb21wVmFsdWUuY291bnRyeSB8fFxuICAgICAgICAhYWRkcmVzc0NvbXBWYWx1ZVsnc3RyZWV0QWRkcmVzcyddXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS5zZXRFcnJvcnMoeyBhZGRyZXNzVmFsaWRhdGlvbkZsYWc6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uc2V0RXJyb3JzKHsgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiB0cnVlIH0pO1xuICAgIH1cbiAgICBpZih0aGlzLmFkZHJlc3MxKXtcbiAgICAgIHRoaXMuYWRkcmVzczEuc3VibWl0KCk7XG4gICAgfVxuICAgIGlmKHRoaXMuYWRkcmVzczIpe1xuICAgICAgdGhpcy5hZGRyZXNzMi5zdWJtaXQoKTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJDb3VudHJ5KGV2ZW50KSB7XG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdldmVudCcsIGV2ZW50KVxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLmNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgICAvL3RoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvdW50cnlPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMuY291bnRyeU9wdGlvbnNbaV07XG4gICAgICBpZiAoY291bnRyeS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIGZpbHRlckZlZENvdW50cnkoZXZlbnQpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xuICAgIC8vdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY291bnRyeUZlZE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy5jb3VudHJ5RmVkT3B0aW9uc1tpXTtcbiAgICAgIGlmIChjb3VudHJ5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChjb3VudHJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jb3VudHJ5RmVkT3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgc2V0RmVkV29ya1N0YXRlVmFsdWVzKGV2ZW50KXtcbiAgICBpZihldmVudC52YWx1ZSA9PT0gJ1VTJyl7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5mZWRXb3JrU3RhdGUpO1xuICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZmlsdGVyV29ya0NvdW50cnkoZXZlbnQpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZO1xuICAgIC8vdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMud29ya0NvdW50cnlPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMud29ya0NvdW50cnlPcHRpb25zW2ldO1xuICAgICAgaWYgKGNvdW50cnkudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucyA9IGZpbHRlcmVkO1xuICB9XG5cblxuICBmaWx0ZXJNaWxpdGFyeVNlcnZpY2VPcHRpb25zKGV2ZW50KSB7XG5cbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zID0gQ29tYm9PcHRpb24uTUlMSVRBUllfU0VSVklDRTtcbiAgICAvL3RoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBvcHRpb25zID0gdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zW2ldO1xuICAgICAgaWYgKG9wdGlvbnMudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBmaWx0ZXJlZDtcblxuICB9XG5cbiAgZmlsdGVyUGF5UmF0ZShldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXlSYXRlT3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHBheSA9IHRoaXMucGF5UmF0ZU9wdGlvbnNbaV07XG4gICAgICBpZiAocGF5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChwYXkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBmaWx0ZXJSZWFzb25TZXBhcmF0aW9uKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5OyAgICBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsW2ldO1xuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9ucyA9IGZpbHRlcmVkOyAgXG4gIH1cblxuXG4gIGZpbHRlclVzU3RhdGUoZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdGF0ZXNPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy5zdGF0ZXNPcHRpb25zW2ldO1xuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBjaGVja0ZvclN0YXRlKHNlbGVjdGVkU3RhdGVWYWx1ZSl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NlbGVjdGVkU3RhdGVWYWx1ZScsc2VsZWN0ZWRTdGF0ZVZhbHVlLnZhbHVlKTtcbiAgICBsZXQgYnBTdGFydERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpO1xuICAgIGxldCBicEVuZERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RFbmREYXRlKTtcbiAgICBsZXQgc3RhcnRlRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlLnZhbHVlKTtcbiAgICBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZS52YWx1ZSlcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwU3RhcnREYXRlICcsIGJwU3RhcnREYXRlLCAnc3RhcnRlRGF0ZVZhbCAnLCBzdGFydGVEYXRlVmFsKTtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWwgJywgZW5kRGF0ZVZhbCwgJ2JwRW5kRGF0ZSAnLCBicEVuZERhdGUpO1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc3RhcnRlRGF0ZVZhbCA+PSBicEVuZERhdGUgJywgc3RhcnRlRGF0ZVZhbCA+PSBicEVuZERhdGUpO1xuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbDw9IGJwRW5kRGF0ZSAnLCBlbmREYXRlVmFsPD0gYnBFbmREYXRlKTtcbiAgICBpZiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHNlbGVjdGVkU3RhdGVWYWx1ZS52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlKSB7XG4gICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJJbnNpZGUgSUZcIilcbiAgICAgIGlmIChzdGFydGVEYXRlVmFsLmdldFRpbWUoKSA8IGJwRW5kRGF0ZS5nZXRUaW1lKCkgJiYgZW5kRGF0ZVZhbC5nZXRUaW1lKCk+IGJwU3RhcnREYXRlLmdldFRpbWUoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKHRydWUpO1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUoZmFsc2UpO1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25PblZlcmlmaWNhdGlvbk9mV2FnZXNGaWVsZHMoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzID0gJywgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyk7ICAgXG4gIH1cblxuXG4gIC8qZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IEF1dG9jb2Rlck1vZGVsW10gPSBbXTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtxdWVyeX1gKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XG4gICAgICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb25PcHRpb25zID0gcmVzO1xuICAgICAgfSk7XG4gIH1cblxuICBmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbihldmVudCkge1xuICAgIGxldCBmaWx0ZXJlZDogQXV0b2NvZGVyTW9kZWxbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0KGAvY2xhaW1zLXNlcnZpY2UvY2xhaW0vam9idGl0bGUvYCArIGAke3F1ZXJ5fWApLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcbiAgICAgICAgdGhpcy5mZWRKb2JUaWxlT3B0aW9ucyA9IHJlcztcbiAgICAgIH0pO1xuICB9Ki9cblxuICBmaWx0ZXJEaXNjaGFyZ2VSZWFzb25zKGV2ZW50KSB7XG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsW2ldO1xuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zID0gZmlsdGVyZWQ7XG4gIH1cblxuICBmaWx0ZXJWb2x1bnRhcnlSZWFzb24oZXZlbnQpIHtcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbFtpXTtcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIHZhbGlkYXRlKGV2ZW50KSB7XG4gICAgaWYoZXZlbnQudGFyZ2V0Py52YWx1ZSl7XG4gICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH0gZWxzZSBpZiggZXZlbnQgaW5zdGFuY2VvZiBEYXRlKXtcbiAgICAgIHRoaXMubWluRGF0ZSA9IGV2ZW50O1xuICAgIH1cbiAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZScsIHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSkgIFxuICB9XG5cbiAgdmFsaWRhdGVXYWdlc0Rpc3BsYXkoZXZlbnQpe1xuICAgIGxldCBicFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSk7XG4gICAgbGV0IGJwRW5kRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZEVuZERhdGUpO1xuICAgIGxldCBzdGFydGVEYXRlVmFsOiBEYXRlID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUudmFsdWUpO1xuICAgIGxldCBlbmREYXRlVmFsOiBEYXRlID0gZXZlbnQudGFyZ2V0Py52YWx1ZSA/IG5ldyBEYXRlKGV2ZW50LnRhcmdldC52YWx1ZSkgOiBldmVudDtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYnBTdGFydERhdGUgJywgYnBTdGFydERhdGUsICdzdGFydGVEYXRlVmFsICcsIHN0YXJ0ZURhdGVWYWwpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsICcsIGVuZERhdGVWYWwsICdicEVuZERhdGUgJywgYnBFbmREYXRlKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc3RhcnRlRGF0ZVZhbCBiZWZvcmUgYnBFbmREYXRlICcsIHN0YXJ0ZURhdGVWYWwgPCBicEVuZERhdGUpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsIGFmdGVyIGJwU3RhcnREYXRlICcsIGVuZERhdGVWYWwgPiBicFN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMud29ya1N0YXRlICcsIHRoaXMud29ya1N0YXRlKTtcbiAgICBpZiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdSRUcnICYmIHRoaXMud29ya1N0YXRlLnZhbHVlIFxuICAgICAgICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZSA9PT0gdGhpcy5jdXJyZW50U3RhdGUgJiYgdGhpcy5pc05ld0NsYWltKSB7XG4gICAgICAgIGlmIChzdGFydGVEYXRlVmFsLmdldFRpbWUoKSA8IGJwRW5kRGF0ZS5nZXRUaW1lKCkgJiYgZW5kRGF0ZVZhbC5nZXRUaW1lKCk+IGJwU3RhcnREYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgICAgaWYoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpe1xuICAgICAgICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uT25WZXJpZmljYXRpb25PZldhZ2VzRmllbGRzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlckdyb3VwZWRSZWFzb24oZXZlbnQpIHtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncXVlcnknLHF1ZXJ5KTtcbiAgICBsZXQgZmlsdGVyZWRHcm91cHMgPSBbXTtcbiAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xuXG4gICAgZm9yIChsZXQgb3B0Z3JvdXAgb2YgdGhpcy5ncm91cGVkUmVhc29ucykge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29wdGdyb3VwLml0ZW1zJyxvcHRncm91cC5pdGVtcyk7XG4gICAgICBsZXQgZmlsdGVyZWRTdWJPcHRpb25zID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihcbiAgICAgICAgb3B0Z3JvdXAuaXRlbXMsXG4gICAgICAgIFtcImxhYmVsXCJdLFxuICAgICAgICBxdWVyeSxcbiAgICAgICAgXCJjb250YWluc1wiXG4gICAgICApO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZpbHRlcmVkU3ViT3B0aW9ucycsZmlsdGVyZWRTdWJPcHRpb25zKTtcbiAgICAgIGlmIChmaWx0ZXJlZFN1Yk9wdGlvbnMgJiYgZmlsdGVyZWRTdWJPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBmaWx0ZXJlZEdyb3Vwcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogb3B0Z3JvdXAubGFiZWwsXG4gICAgICAgICAgdmFsdWU6IG9wdGdyb3VwLnZhbHVlLFxuICAgICAgICAgIGl0ZW1zOiBmaWx0ZXJlZFN1Yk9wdGlvbnNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5ncm91cGVkUmVhc29ucyA9IGZpbHRlcmVkR3JvdXBzO1xuICB9XG5cbiAgb25DbGVhckFjdGlvbihldmVudCkge1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH1cblxuICBkYXRlSW5wdXQoZXZlbnQpe1xuICAgIGxldCBjdXJyZW50VmFsdWUgOiBzdHJpbmcgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xuICAgIGlmKGN1cnJlbnRWYWx1ZSl7XG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJyl7XG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcbiAgICAgICAgfVxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpe1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPHAtZGlhbG9nIHZpc2libGU9XCJ0cnVlXCIgbW9kYWw9XCJ0cnVlXCIgcG9zaXRpb249XCJ0b3BcIiBhcHBlbmRUbz1cImJvZHlcIiBbc2hvd0hlYWRlcl09XCJmYWxzZVwiXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCIgICBbc3R5bGVdPVwie3dpZHRoOiAnNjB2dyd9XCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIiA+XG4gIDxoNCBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JleSk7IHBhZGRpbmctbGVmdDogMjBweDtcIj4ge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuaGVhZGluZ1wifHRyYW5zbGF0ZX19PC9oND5cblxuXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiYWRkRW1wbG95ZXJGb3JtXCIgI2FkZEVtcGxveWVyRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxuICAgIDxpb24tZ3JpZD5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cbiAgICAgICAgICAgICAge3tjdXN0b21lck5hbWV9fSBcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFsaWFzTmFtZSAhPSBudWxsXCI+IFxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmRiYVwifHRyYW5zbGF0ZX19IHt7YWxpYXNOYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIj4ge3ttYWlsaW5nQWRkcmVzc0Rpc3BsYXl9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NTUlwiPlxuICAgICAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci53YWdlc1wifHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzQ1NSXCI+XG4gICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJlbXBsb3llclByb3ZpZGVkV2FnZXNcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IGNvbC5xdHJZZWFyRGlzcGxheVN0cmluZyB9fTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAge3tjb2wud2FnZUFtb3VudCB8IGN1cnJlbmN5fX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3AtdGFibGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWUgPT0gJ04nXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LndvcmtmbGFnLm5vXCJ8dHJhbnNsYXRlfX08YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LndvcmtmbGFnLm5vLmxpbmUyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLnR5cGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogaW5oZXJpdDtcIj5cbiAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImVtcGxveWVyVHlwZU9wdGlvbnNcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUeXBlXCIgKG9uT3B0aW9uQ2xpY2spPVwib25Ub2dnbGVDaGFuZ2VFbXBsb3llclR5cGUoJGV2ZW50KVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclR5cGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyTmFtZVwiIGVtcFR5cGU9XCJSRUdcIiAob25Gb3VuZCk9XCJzZXRFbXBsb3llcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llck5hbWUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgIHN0eWxlPVwid2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRFbXBsb3llck5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLmZlZC5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBbZm9ybUNvbnRyb2xdPVwiZmVkRW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIkZFRFwiIChvbkZvdW5kKT1cInNldEZlZEVtcGxveWVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RmVkRW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEVtcGxveWVyTmFtZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXJ2aWNlQnJhbmNoXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc2VydmljZS5icmFuY2hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwibWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXJ2aWNlQnJhbmNoXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwic2VydmljZUJyYW5jaFwiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VydmljZUJyYW5jaCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZU1pbFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJzdGFydERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzdGFydERhdGVNaWxcIiAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF0ZU1pbFwiXG4gICAgICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cImRhdGVUaW1lXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiICAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIiAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVNaWwnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZU1pbFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZU1pbFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVNaWxcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIFxuICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVNaWxcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlTWlsJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBoaWRlRmljQ29kZVwiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNDb2RlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuZmljLmNvZGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljQ29kZVwiIC8+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmljQ29kZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5maWMuZGVzdGluYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZpY0Rlc3RpbmF0aW9uTmFtZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG5cbiAgICAgICAgICAgIDxpb24tcm93ICAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiID5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4O1wiPlxuICAgICAgICAgICAgICAgIDxhcHAtYWRkcmVzcyAjYWRkcmVzczEgW2Zvcm1Db250cm9sXT1cImFkZHJlc3NcIiBbY291bnR5UmVxdWlyZWRdPVwiZmFsc2VcIiBbZnJvbVBvcHVwXT1cInRydWVcIj4gPC9hcHAtYWRkcmVzcz4gXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cbiAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzICNhZGRyZXNzMiBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIGNvdW50eVJlcXVpcmVkPVwiZmFsc2VcIiBbZnJvbVBvcHVwXT1cInRydWVcIlxuICAgICAgICAgICAgICA+IDwvYXBwLWFkZHJlc3M+XG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdhZGRyZXNzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiAnUGxlYXNlIHByb3ZpZGUsIGEgdmFsaWQgYWRkcmVzcy4nXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX0gPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiLz5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrQ2l0eScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwid29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cIndvcmtTdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtTdGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFdvcmtDb3VudHJ5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud29yay5sb2NhdGlvbi5jb3VudHJ5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cIndvcmtDb3VudHJ5T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrQ291bnRyeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrQ291bnRyeVwiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NvdW50cnknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkV29ya0NpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRXb3JrQ2l0eVwiIG1heGxlbmd0aD1cIjMwXCIvPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtDaXR5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiICAqbmdJZj1cInNob3dXb3JrU3RhdGUgPT09IHRydWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImZlZFdvcmtTdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtTdGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG5cblxuXG4gICAgICAgICAgICBcblxuICAgICAgICAgICBcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlRmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBpbnB1dElkPVwic3RhcnREYXRlRmVkXCIgXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVGZWRcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiICAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIiAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVGZWQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZUZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcbiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVGZWRcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlRmVkJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5qb2J0aXRsZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiIG1heGxlbmd0aD1cIjEwMFwiLz5cbiAgICAgICAgICAgICA8IS0tICA8cC1hdXRvQ29tcGxldGUgW2Zvcm1Db250cm9sXT1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCIgW3N1Z2dlc3Rpb25zXT1cImZlZEpvYlRpbGVPcHRpb25zXCIgXG4gICAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlckZlZEpvYlRpbGVPclBvc2l0aW9uKCRldmVudClcIiBmaWVsZD1cImpvYlRpdGxlXCIgW2Ryb3Bkb3duXT1cImZhbHNlXCIgXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydC4uLiB0eXBpbmcgam9iIHRpdGxlXCIgbWluTGVuZ3RoPTMgZm9yY2VTZWxlY3Rpb249XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUuam9iVGl0bGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT4gLS0+XG5cbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEpvYlRpbGVPclBvc2l0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNmRWlnaHRmbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2ZlaWdodFwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZkVpZ2h0ZmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZkVpZ2h0ZmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICBcbiAgICAgICAgICAgIDxpb24tcm93XG4gICAgICAgICAgICAgICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIFxuICAgICAgICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5zdGFydGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlXCIgIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIlxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgXG4gICAgICAgICAgICAgICAgICAgIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXG4gICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlXCIgIChvbkJsdXIpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIChvblNlbGVjdCk9XCJ2YWxpZGF0ZVdhZ2VzRGlzcGxheSgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIihkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxuICAgICAgICAgICAgICA8IS0tIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlckVtcGxveWVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZWVzLm5vXCIgfCB0cmFuc2xhdGV9fSA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cIm51bWJlckVtcGxveWVkXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgW2Zvcm1Db250cm9sXT1cIm51bWJlckVtcGxveWVkXCJcbiAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOVwiPjwvcC1pbnB1dE51bWJlcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJFbXBsb3llZCcgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPiAtLT5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1R5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy53b3JrLnR5cGVcIiB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtUeXBlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya1R5cGVcIiBtYXhsZW5ndGg9XCI1MFwiLz5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrVHlwZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG5cblxuXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiPldlcmUgeW91IGVtcGxveWVkIHdoaWxlIGEgc3BvdXNlIG9mIGEgVVMgbWlsaXRhcnkgbWVtYmVyIHN0YXRpb25lZCBhdFxuICAgICAgICAgICAgICAgIGEgZm9yZWlnbiBtaWxpdGFyeSBiYXNlPzwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInllc05vTmFPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVyZm9ybWVkU2VydmljZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmNpdmlsaWFuLndvcmtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZXJmb3JtZWRTZXJ2aWNlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZXJmb3JtZWRTZXJ2aWNlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIigoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJqb2JUaWxlT3JQb3NpdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmpvYnRpdGxlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJqb2JUaWxlT3JQb3NpdGlvblwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImpvYlRpbGVPclBvc2l0aW9uXCIgbWF4bGVuZ3RoPVwiMTAwXCIvPlxuICAgICAgICAgICAgICA8IS0tIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiam9iVGlsZU9yUG9zaXRpb25PcHRpb25zXCIgXG4gICAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlckpvYlRpbGVPclBvc2l0aW9uKCRldmVudClcIiBmaWVsZD1cImpvYlRpdGxlXCIgKG9uQ2xlYXIpPVwib25DbGVhckFjdGlvbigkZXZlbnQpXCIgXG4gICAgICAgICAgICAgICAgIFtkcm9wZG93bl09XCJmYWxzZVwiIHBsYWNlaG9sZGVyPVwiU3RhcnQuLi4gdHlwaW5nIGpvYiB0aXRsZVwiIG1pbkxlbmd0aD0zIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLmpvYlRpdGxlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+IC0tPlxuXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdqb2JUaWxlT3JQb3NpdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJylcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmICBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJylcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGhvbmVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCI5OTktOTk5LTk5OTlcIiBbaWRdPVwiZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXJcIiBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXJcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiOTk5LTk5OS05OTk5XCI+PC9wLWlucHV0TWFzaz5cblxuXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclRlbGVwaG9uZU51bWJlcicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWUgJiYgKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIFxuICAgICAgICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWFzb25TZXBhcmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyBcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyBcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cInJlYXNvblNlcGFyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicmVhc29uU2VwYXJhdGlvblwiID48L2FwcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlYXNvblNlcGFyYXRpb24nIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gYWRkIGZvciBxdWl0IGFuZCBkaXNjaGFyZ2UgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIigoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSBcbiAgICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgcmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ0RDRkknIFxuICAgICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkaXNjaGFyZ2VEZXRhaWxcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5kaXNjaGFyZ2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+IFxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwiZGlzY2hhcmdlRGV0YWlsXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImRpc2NoYXJnZURldGFpbFwiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlRGV0YWlsJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKCgoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIFxuICAgICAgICAgICAgICB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgcmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnIFxuICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnKVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwidm9sUXVpdERldGFpbHNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5xdWl0XCJ8dHJhbnNsYXRlfX08L2xhYmVsPiBcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ2b2xRdWl0RGV0YWlsc1wiPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndm9sUXVpdERldGFpbHMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm1pbFBlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvblwifHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvbkZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwibWlsUGVuc2lvblJlY3ZEYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJtaWxQZW5zaW9uUmVjdkRhdGVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiICB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGQyMTRGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTRcInx0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L2xhYmVsPjxicj5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTogaW5saW5lLWZsZXg7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkZDIxNEZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIChvbk9wdGlvbkNsaWNrKT1cInB1dE1pbFZhbGlkYXRpb24oJGV2ZW50KVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiZGQyMTRJbmZvXCIgPjwvYXBwLW92ZXJsYXktaW5mbz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGQyMTRGbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxuXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxuICAgICAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgZGQyMTRGbGFnLnZhbHVlPT09J1knXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInBhcmFPbmUgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZmlsZS11cGxvYWRlciBbZm9ybUNvbnRyb2xdPVwiZGQyMTRGaWxlXCIgW3VwbG9hZGVkRmlsZUZvckVkaXRdPVwiZGQyMTRGaWxlLnZhbHVlXCI+PC9hcHAtZmlsZS11cGxvYWRlcj4gLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYUZvdXIgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFTaXh8IHRyYW5zbGF0ZSlcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICA8L2lvbi1yb3c+XG5cbiAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nTidcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwibm9QYXJhT25lIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbF09XCJkZDIxNEZpbGVcIiBbdXBsb2FkZWRGaWxlRm9yRWRpdF09XCJkZDIxNEZpbGUudmFsdWVcIj48L2FwcC1maWxlLXVwbG9hZGVyPiAtLT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYUZvdXIgfCB0cmFuc2xhdGUpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIihlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWUgPT09JzEnKVwiPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiICBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dyb3NzV2FnZXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIihlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7IHBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXRvcDogMHB4O1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5wYXlyYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiIGxvY2FsZT1cImVuLVVTXCI+PC9wLWlucHV0TnVtYmVyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy10b3A6IDBweDtcIiBcbiAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJwYXlSYXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlRnJlcXVlbmN5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L2FwcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPlRvdGFsIFdhZ2VzIEVhcm5lZDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIiBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG5cblxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkUGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICA8YnI+IHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uUmVjdkRhdGVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiICB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnIFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNldlBheUZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheUZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBzZXZQYXlGbGFnLnZhbHVlPT09J1knXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2Vla2x5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLndlZWtseS5hbXRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwid2Vla2x5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3ZWVrbHlBbW91bnQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyT2ZXZWVrc1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpZF09XCJudW1iZXJPZldlZWtzXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgW2Zvcm1Db250cm9sXT1cIm51bWJlck9mV2Vla3NcIiBtYXhsZW5ndGg9XCI0XCI+XG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbnVtYmVyT2ZXZWVrcycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG5cbiAgICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVudGl0bGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cInNldlBheUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIiBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5QW1vdW50JyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgIDwvaW9uLXJvdz4gICAgICBcblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBzZXZQYXlGbGFnLnZhbHVlPT09J1knXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnN0YXJ0LmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlTdGFydERhdGVcIiAgKG9uQmx1cik9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2V2UGF5U3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiICBkYXRhVHlwZT1cInN0cmluZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5U3RhcnREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheUVuZERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW5kLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlFbmREYXRlXCIgIFtmb3JtQ29udHJvbF09XCJzZXZQYXlFbmREYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlFbmREYXRlJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnBheS5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiIFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiICBkYXRhVHlwZT1cInN0cmluZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICA8L2lvbi1yb3c+XG5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycpXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlbnNpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVuc2lvbkZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knICYmIHBlbnNpb25GbGFnLnZhbHVlPT09J1knIFxuICAgICAgICAgICAgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJylcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInBlbnNpb25SZWN2RGF0ZVwiIFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicGVuc2lvblJlY3ZEYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIFxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiAgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgIGRhdGFUeXBlPVwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZW5zaW9uUmVjdkRhdGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVnUGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uXCJ8dHJhbnNsYXRlfX0gPGJyLz5cbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJyZWdQZW5zaW9uRmxhZ1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25GbGFnJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIighaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgXG4gICAgICAgICAgICAmJiByZWdQZW5zaW9uRmxhZy52YWx1ZT09PSdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnKVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVnUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyZWdQZW5zaW9uUmVjdkRhdGVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiICB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAgZGF0YVR5cGU9XCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25SZWN2RGF0ZScgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIigoaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScpIHx8ICFpc0Jhc2VQZXJpb2RFbXBsb3llcikmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaXNDbG10UGFpZFdoaWxlTG93XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGF5LnJldHVybi50by53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiaXNDbG10UGFpZFdoaWxlTG93XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdpc0NsbXRQYWlkV2hpbGVMb3cnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZSA9PT0nTUUnXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXNTaG9ydFRlcm1EaXNhYmlsaXR5XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuc2hvcnR0ZXJtZGlzYWJpbGl0eVwifHRyYW5zbGF0ZX19IHt7YnBTdGFydERhdGVUb0Rpc3BsYXl9fSA/PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1Nob3J0VGVybURpc2FiaWxpdHlcIiBvcHRpb25MYWJlbD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhc1Nob3J0VGVybURpc2FiaWxpdHknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRSdcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhhc1JlY3ZSZW11bmVyYXRpb25cIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZW11bmVyYXRpb24ucGF5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGFzUmVjdlJlbXVuZXJhdGlvbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRScgJiYgaGFzUmVjdlJlbXVuZXJhdGlvbi52YWx1ZT09PSdZJyAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZT09PScwJ1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVtdW5lcmF0aW9uVHlwZXNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZW11bmVyYXRpb24udHlwZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxwLWNoZWNrYm94IFtuYW1lXT1cIidyZW11bmVyYXRpb250eXBlcy1ncm91cCdcIiBbdmFsdWVdPVwiY2hvaWNlLnZhbHVlXCIgXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImNob2ljZS50ZXh0XCIgKm5nRm9yPVwibGV0IGNob2ljZSBvZiByZW11bmVyYXRpb25UeXBlT3B0aW9uc1wiICBbZm9ybUNvbnRyb2xdPVwicmVtdW5lcmF0aW9uVHlwZXNcIlxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJhcHAtcC1jaGVja2JveFwiPjwvcC1jaGVja2JveD5cbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlbXVuZXJhdGlvblR5cGVzJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBzY2hvb2xGbGFnID09PScxJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZSA9PT0nTUUnXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2YWNhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnZhY2F0aW9uLmJyZWFrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwidmFjYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZhY2F0aW9uJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlICYmIGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5bWVudFR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMucGF5bW9kZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwicGF5TWV0aG9kT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXltZW50VHlwZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5bWVudFR5cGUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9jc1JlY2VpdmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmRvY3NcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cIndhZ2VQcm9vZk9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZG9jc1JlY2VpdmVkXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2NzUmVjZWl2ZWQnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyU1NORmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc24uZmxhZ1wifHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlclNTTkZsYWdcIiBvcHRpb25MYWJlbD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlclNTTkZsYWcnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ0aGlzLm90aGVyU1NORmxhZy52YWx1ZSA9PT0gJ1knXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyU1NOXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OS05OTk5XCIgW2lkXT1cIm90aGVyU1NOXCIgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NOXCIgcGxhY2Vob2xkZXI9XCI5OTktOTktOTk5OVwiPlxuICAgICAgICAgICAgICAgIDwvcC1pbnB1dE1hc2s+XG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NOJyBbZm9ybV09XCJhZGRFbXBsb3llckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoaXJlZEJ5XCI+TWFuYWdlcidzIE5hbWUgJiBUaXRsZTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJoaXJlZEJ5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiaGlyZWRCeVwiIG1heGxlbmd0aD1cIjQwXCIvPlxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hpcmVkQnknIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09IHRoaXMuY3VycmVudFN0YXRlICYmIGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxuICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlck5hbWVGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLm5hbWUuZmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVGbGFnXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJOYW1lRmxhZycgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZSA9PT0gJ1knXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIm90aGVyTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZVwiIG1heGxlbmd0aD1cIjMwXCIvPlxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICA8L2lvbi1yb3c+XG5cbiAgICAgICAgICAgIDwhLS0gPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J01TJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVpblwiPkZFSU48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cImZlaW5cIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwiZmVpblwiIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVpbicgW2Zvcm1dPVwiYWRkRW1wbG95ZXJGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkb2luZ0J1c2luZXNzQXNcIj5Eb2luZyBCdXNpbmVzcyBBcy9UcmFkZSBOYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImRvaW5nQnVzaW5lc3NBc1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImRvaW5nQnVzaW5lc3NBc1wiIG1heGxlbmd0aD1cIjEwMFwiLz5cbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2luZ0J1c2luZXNzQXMnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PiAtLT5cblxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgXG4gICAgICAgICAgICAgICAgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImJ1c2luZXNzTmF0dXJlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLm5hdHVyZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImJ1c2luZXNzTmF0dXJlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiYnVzaW5lc3NOYXR1cmVcIiBtYXhsZW5ndGg9XCIyNTBcIi8+XG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYnVzaW5lc3NOYXR1cmUnIFtmb3JtXT1cImFkZEVtcGxveWVyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPC9pb24tcm93PlxuICAgICAgICAgPGRpdiAqbmdJZj1cIigod29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PWN1cnJlbnRTdGF0ZSAmJiBlbXBsb3llclR5cGUgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnKSBcbiAgICAgICAgICAgICAgICAgICAgfHwgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSkgJiYgKGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCcpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnZlcmlmaWNhdGlvbi53YWdlcy5zdGF0ZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8dGFibGUgcnVsZXM9cm93cz5cbiAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5jb2wxXCJ8dHJhbnNsYXRlfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGg+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmNvbDJcInx0cmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtQXJyYXlOYW1lPVwid2FnZUFtb3VudEFycmF5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHdhZ2VBbW91bnRGb3JtIG9mIHdhZ2VBbW91bnRBcnJheS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoKGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd2FnZUFtb3VudEZvcm0udmFsdWUuZGlzcGxheUZvckFsbD09PXRydWUpIClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t3YWdlQW1vdW50Rm9ybS52YWx1ZS5xdHJZZWFyRGlzcGxheVN0cmluZ319XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBhcmlhTGFiZWw9XCJ3YWdlQW1vdW50XCIgZm9ybUNvbnRyb2xOYW1lPVwid2FnZUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJvbk1vZGVsQ2FuY2VsKGZhbHNlKVwiIHR5cGU9XCJyZXNldFwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uY2FuY2VsXCJ8dHJhbnNsYXRlfX0gPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIChjbGljayk9XCJzYXZlKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiPiB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLnNhdmVcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgKGNsaWNrKT1cImFkZCgpXCIgdHlwZT1cInN1Ym1pdFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+IHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uYWRkXCJ8dHJhbnNsYXRlfX0gPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG5cbiAgICA8L2lvbi1ncmlkPlxuICA8L2Zvcm0+XG48L3AtZGlhbG9nPiJdfQ==
|