@reusa/ngx-reusa-app-lib 0.0.999 → 0.1.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -46
- package/esm2022/lib/annimations/app-animations.mjs +1 -1
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +1130 -2312
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +1 -1
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +16 -36
- package/esm2022/lib/components/address/address.component.mjs +58 -52
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +25 -29
- package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
- package/esm2022/lib/components/card/card.component.mjs +1 -1
- package/esm2022/lib/components/content/content.component.mjs +1 -1
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +1 -1
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +14 -19
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
- package/esm2022/lib/components/email-update/email-update.component.mjs +32 -14
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +197 -192
- package/esm2022/lib/components/error/error.component.mjs +5 -22
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
- package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +1 -1
- package/esm2022/lib/components/footer/footer.component.mjs +67 -90
- package/esm2022/lib/components/header/header.component.mjs +105 -169
- package/esm2022/lib/components/help/help.component.mjs +1 -1
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +13 -13
- package/esm2022/lib/components/info/info.component.mjs +12 -4
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +1 -1
- package/esm2022/lib/components/job-title/job-title.component.mjs +94 -93
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +82 -93
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +329 -0
- package/esm2022/lib/components/link/link.component.mjs +1 -1
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
- package/esm2022/lib/components/mask/mask.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +35 -44
- package/esm2022/lib/components/mfa/mfa.component.mjs +305 -103
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +16 -7
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +260 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +36 -148
- package/esm2022/lib/components/msg/msg.component.mjs +1 -1
- package/esm2022/lib/components/news/news.component.mjs +1 -1
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +1 -1
- package/esm2022/lib/components/page/page.component.mjs +1 -1
- package/esm2022/lib/components/profile/profile.component.mjs +213 -56
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +33 -106
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +14 -165
- package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +60 -110
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +123 -367
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +9 -9
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1029 -769
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +325 -157
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +17 -9
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +26 -93
- package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
- package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +25 -14
- package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +196 -333
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +24 -47
- package/esm2022/lib/components/security-question/security-question.component.mjs +189 -0
- package/esm2022/lib/components/select/select.component.mjs +1 -1
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
- package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +4 -4
- package/esm2022/lib/components/test/test.component.mjs +1 -1
- package/esm2022/lib/components/user-login/user-login.component.mjs +226 -115
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +155 -287
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +46 -62
- package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
- package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
- package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
- package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
- package/esm2022/lib/guards/auth.guard.mjs +4 -26
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +1 -1
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
- package/esm2022/lib/models/ErrorModel.mjs +1 -1
- package/esm2022/lib/models/FileModel.mjs +1 -1
- package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
- package/esm2022/lib/models/LibConstants.mjs +15 -12
- package/esm2022/lib/models/NotificationModel.mjs +1 -1
- package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
- package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
- package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
- package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
- package/esm2022/lib/models/TrendModel.mjs +1 -1
- package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
- package/esm2022/lib/models/UserModel.mjs +1 -1
- package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
- package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
- package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
- package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
- package/esm2022/lib/models/dependent.model.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +175 -73
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +13 -27
- package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
- package/esm2022/lib/pages/BasePage.mjs +22 -3
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
- package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
- package/esm2022/lib/pages/common/login/login.component.mjs +5 -5
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
- package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
- package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +1 -1
- package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
- package/esm2022/lib/services/base-service.mjs +1 -1
- package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
- package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
- package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -1
- package/esm2022/lib/services/claims/claims.service.mjs +14 -57
- package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
- package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
- package/esm2022/lib/services/help/help.service.mjs +1 -1
- package/esm2022/lib/services/idle/idle.service.mjs +1 -1
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +49 -0
- package/esm2022/lib/services/logger/logger.service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +11 -1
- package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
- package/esm2022/lib/services/notification/notification.service.mjs +1 -1
- package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
- package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
- package/esm2022/lib/services/security-service/security.service.mjs +6 -5
- package/esm2022/lib/services/tour/tour.service.mjs +1 -1
- package/esm2022/lib/services/util/util.service.mjs +5 -5
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +42 -0
- package/esm2022/lib/validations/AppRegex.mjs +1 -1
- package/esm2022/lib/validations/AppValidators.mjs +14 -34
- package/esm2022/public-api.mjs +5 -16
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +7480 -10431
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +48 -77
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +2 -7
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/address/address.component.d.ts +3 -2
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/email-update/email-update.component.d.ts +7 -1
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +3 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +2 -3
- package/lib/components/error/error.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/header/header.component.d.ts +0 -1
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +21 -22
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +2 -5
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +55 -0
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +26 -3
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +4 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
- package/lib/components/mfa2/mfa2.component.d.ts +48 -0
- package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
- package/lib/components/money-expect/money-expect.component.d.ts +4 -15
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
- package/lib/components/profile/profile.component.d.ts +32 -4
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
- package/lib/components/questionnaire/AppValidators.d.ts +0 -1
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
- package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +0 -7
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +32 -14
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +24 -3
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +3 -0
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -6
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +1 -0
- package/lib/components/questionnaire/question.service.d.ts.map +1 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +3 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -6
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/lib/components/search-employer/search-employer.component.d.ts +2 -1
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/security-question/security-question.component.d.ts +37 -0
- package/lib/components/security-question/security-question.component.d.ts.map +1 -0
- package/lib/components/user-login/user-login.component.d.ts +22 -5
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +0 -6
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +0 -1
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
- package/lib/guards/auth.guard.d.ts +1 -3
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/models/EmployerDetailSearchResult.d.ts +1 -3
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
- package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
- package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
- package/lib/models/LexisNexisResponseModel.d.ts +7 -0
- package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
- package/lib/models/LibConstants.d.ts +12 -9
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/models/PartialEmploymentModel.d.ts +6 -0
- package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
- package/lib/models/PaymentComponentModel.d.ts +1 -1
- package/lib/models/PaymentComponentModel.d.ts.map +1 -1
- package/lib/models/SecurityQuestionModel.d.ts +7 -0
- package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -1
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +3 -13
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -2
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +16 -20
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
- package/lib/models/questionnaire/StatusModel.d.ts +0 -1
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.module.d.ts +86 -95
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pages/BasePage.d.ts +6 -3
- package/lib/pages/BasePage.d.ts.map +1 -1
- package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
- package/lib/services/claimant-service/claimant.service.d.ts +5 -0
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
- package/lib/services/claims/claims.service.d.ts +5 -24
- package/lib/services/claims/claims.service.d.ts.map +1 -1
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +23 -0
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +3 -0
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/ovp/ovp.service.d.ts +17 -0
- package/lib/services/ovp/ovp.service.d.ts.map +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
- package/lib/services/questionnaire/validation.service.d.ts +0 -3
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
- package/lib/services/security-service/security.service.d.ts +4 -5
- package/lib/services/security-service/security.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +17 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
- package/lib/validations/AppValidators.d.ts +3 -7
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +4 -15
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -160
- package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -174
- package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -335
- package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -326
- package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -243
- package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
- package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
- package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -179
- package/esm2022/lib/components/idme/idme.component.mjs +0 -80
- package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
- package/esm2022/lib/components/sms/sms.component.mjs +0 -334
- package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
- package/esm2022/lib/models/CountyModel.mjs +0 -3
- package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
- package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
- package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
- package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
- package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
- package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
- package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
- package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
- package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
- package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/WageInfoModel.mjs +0 -4
- package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
- package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
- package/esm2022/lib/services/employer/employer-service.mjs +0 -35
- package/lib/components/add-wage/add-wage.component.d.ts +0 -29
- package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
- package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -28
- package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -59
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
- package/lib/components/employer-info/employer-info.component.d.ts +0 -48
- package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
- package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
- package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
- package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
- package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
- package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -37
- package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
- package/lib/components/idme/idme.component.d.ts +0 -19
- package/lib/components/idme/idme.component.d.ts.map +0 -1
- package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
- package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
- package/lib/components/sms/sms.component.d.ts +0 -63
- package/lib/components/sms/sms.component.d.ts.map +0 -1
- package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
- package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
- package/lib/models/CountyModel.d.ts +0 -8
- package/lib/models/CountyModel.d.ts.map +0 -1
- package/lib/models/DuaRequestModel.d.ts +0 -10
- package/lib/models/DuaRequestModel.d.ts.map +0 -1
- package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
- package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
- package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerPayInfoModel.d.ts +0 -20
- package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
- package/lib/models/FarmUsageComponentModel.d.ts +0 -10
- package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
- package/lib/models/GrossEarningsModel.d.ts +0 -6
- package/lib/models/GrossEarningsModel.d.ts.map +0 -1
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
- package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
- package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
- package/lib/models/RetroWeeksModel.d.ts +0 -10
- package/lib/models/RetroWeeksModel.d.ts.map +0 -1
- package/lib/models/SendOtpRequestModel.d.ts +0 -12
- package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
- package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
- package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
- package/lib/models/WageInfoModel.d.ts +0 -9
- package/lib/models/WageInfoModel.d.ts.map +0 -1
- package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
- package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
- package/lib/services/employer/employer-service.d.ts +0 -16
- package/lib/services/employer/employer-service.d.ts.map +0 -1
|
@@ -99,17 +99,17 @@ export class UtilService {
|
|
|
99
99
|
this.msgService.clear();
|
|
100
100
|
if (errDtl.errorId) {
|
|
101
101
|
//this.msgService.add({severity:'error', summary:'Error', detail: errDtl.msg + `( error id : ${errDtl.errorId})`, life: 7000, id : errDtl.errorId});
|
|
102
|
-
this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life:
|
|
102
|
+
this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life: 7000, id: errDtl.errorId });
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
|
-
this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life:
|
|
105
|
+
this.msgService.add({ severity: 'error', summary: 'Error', detail: errDtl.msg, life: 7000, id: errDtl.errorId });
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
async success(msg) {
|
|
109
109
|
this.msgs = [];
|
|
110
110
|
this.msgs.push({ severity: 'success', summary: 'Success', detail: msg });
|
|
111
111
|
this.msgService.clear();
|
|
112
|
-
this.msgService.add({ severity: 'success', summary: 'Success', detail: msg, life:
|
|
112
|
+
this.msgService.add({ severity: 'success', summary: 'Success', detail: msg, life: 7000 });
|
|
113
113
|
}
|
|
114
114
|
info(msg) {
|
|
115
115
|
this.presentAlert('Info', '', msg);
|
|
@@ -377,7 +377,7 @@ export class UtilService {
|
|
|
377
377
|
context = '/' + context;
|
|
378
378
|
}
|
|
379
379
|
if (nav && context.includes(this.getContextRoot())) {
|
|
380
|
-
nav.
|
|
380
|
+
nav.navigateForward(uri);
|
|
381
381
|
}
|
|
382
382
|
else {
|
|
383
383
|
window.open(location.origin + `${context}/${uri}`, '_self');
|
|
@@ -447,4 +447,4 @@ export class UtilService {
|
|
|
447
447
|
providedIn: 'root'
|
|
448
448
|
}]
|
|
449
449
|
}], () => [{ type: i1.AlertController }, { type: i2.HttpClient }, { type: i1.LoadingController }, { type: i1.ToastController }, { type: i3.MessageService }, { type: i4.NgxSpinnerService }, { type: i5.LoadingBarService }, { type: i6.LoggerService }, { type: i7.Router }, { type: i8.Title }, { type: i7.ActivatedRoute }, { type: i9.TourService }, { type: i1.Platform }], null); })();
|
|
450
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBYyxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQWdDLFVBQVUsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBU3hHLE1BQU0sT0FBTyxXQUFXO0lBV3RCLFlBQW1CLGVBQWdDLEVBQVMsVUFBc0IsRUFBUyxFQUFzQixFQUM5RixlQUFnQyxFQUFTLFVBQTBCLEVBQVUsT0FBMEIsRUFDdkcsTUFBeUIsRUFBVSxNQUFxQixFQUFVLE1BQWMsRUFDL0UsWUFBbUIsRUFBVSxFQUFrQixFQUFVLFdBQXdCLEVBQ2pGLFFBQWtCO1FBSm5CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUM5RixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQ3ZHLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDL0UsaUJBQVksR0FBWixZ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O1lBQ3BFLElBQUksaUJBQWlCLEVBQUU7Z0JBQ3JCLElBQUksaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzNFLElBQUksaUJBQWlCLEVBQUU7b0JBQ3JCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUMzQjthQUNGO1lBQ0QsNEJBQTRCO1NBQzdCO0lBQ0gsQ0FBQzs0RUF6aEJVLFdBQVc7dUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTs7aUZBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGVydENvbnRyb2xsZXIsIExvYWRpbmdDb250cm9sbGVyLCBOYXZDb250cm9sbGVyLCBQbGF0Zm9ybSwgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNZXNzYWdlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBOZ3hTcGlubmVyU2VydmljZSB9IGZyb20gXCJuZ3gtc3Bpbm5lclwiO1xuaW1wb3J0IHsgTG9hZGluZ0JhclNlcnZpY2UgfSBmcm9tICdAbmd4LWxvYWRpbmctYmFyL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvck1vZGVsJztcbmltcG9ydCB7IGdldEJhc2VVcmwsIExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGlvbkVuZCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFRvdXJTZXJ2aWNlIH0gZnJvbSAnLi4vdG91ci90b3VyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGxldCBndGFnOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxTZXJ2aWNlIHtcblxuICBmb2N1c2FibGVzID0gW1wicGlucHV0dGV4dFwiLCBcInAtaW5wdXRtYXNrXCIsIFwiaW5wdXRcIiwgXCJzZWxlY3RcIiwgXCJ0ZXh0YXJlYVwiLCBcInAtY2FsZW5kYXJcIiwgXCJyYWRpb1wiLCBcInAtZHJvcGRvd25cIiwgXCJwLXNlbGVjdEJ1dHRvblwiLCBcInAtYXV0b2NvbXBsZXRlXCIsIFwicC1wYXNzd29yZFwiLFwicC1jaGVja2JveFwiLCBcInAtaW5wdXR0ZXh0YXJlYVwiXTtcblxuICAvKlRvIGRpc3BsYXkgdmFyaW91cyBtZXNzYWdlcyovXG4gIHB1YmxpYyBtc2dzOiBNZXNzYWdlW10gPSBbXTtcblxuICBvcHRpb25zID0ge307XG5cbiAgbG9hZGluZyAgPSBudWxsO1xuICBcbiAgY29uc3RydWN0b3IocHVibGljIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyLCBwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHVibGljIGxjIDogTG9hZGluZ0NvbnRyb2xsZXIsIFxuICAgICAgICAgICAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsIHB1YmxpYyBtc2dTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBzcGlubmVyOiBOZ3hTcGlubmVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIGxvYWRlcjogTG9hZGluZ0JhclNlcnZpY2UsIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlLCBwcml2YXRlIGFyOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSB0b3VyU2VydmljZTogVG91clNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtKSB7IFxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBcIkFjY2VwdFwiOiAnYXBwbGljYXRpb24vanNvbid9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcbiAgfVxuXG4gIGFzeW5jIHRvYXN0KG1zZyA6IHN0cmluZyl7XG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgbWVzc2FnZTogbXNnLFxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxuICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ0RvbmUnLFxuICAgICAgICAgIHJvbGU6ICdjYW5jZWwnLFxuICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgICB0b2FzdC5wcmVzZW50KCk7XG4gIH1cblxuICBhc3luYyBwcmVzZW50VG9hc3QobXNnIDogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgbWVzc2FnZTogbXNnLFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ0RvbmUnLFxuICAgICAgICAgIHJvbGU6ICdjYW5jZWwnLFxuICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgICB0b2FzdC5wcmVzZW50KCk7XG4gIH1cblxuICBiYXNlVXJsKCkgOiBzdHJpbmd7XG4gICAgcmV0dXJuIGdldEJhc2VVcmwoKTtcbiAgfVxuXG4gIGFzeW5jIHByZXNlbnRBbGVydChoZWFkZXIsIHN1Yk1zZywgZXJyRHRsKSB7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiBoZWFkZXIsXG4gICAgICBzdWJIZWFkZXI6IHN1Yk1zZyxcbiAgICAgIG1lc3NhZ2U6IGVyckR0bCxcbiAgICAgIGJ1dHRvbnM6IFsnT0snXVxuICAgIH0pO1xuXG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xuICB9XG5cbiAgZXJyb3IoaGVhZGVyLCBzdWJNc2csIGVyckR0bCl7XG4gICAgdGhpcy5wcmVzZW50QWxlcnQoaGVhZGVyLCBzdWJNc2csIGVyckR0bCk7XG4gIH1cblxuICBzaG93RXJyb3IobXNnIDogc3RyaW5nKXtcbiAgICBsZXQgZXJyRHRsIDogRXJyb3JNb2RlbCA9IG5ldyBFcnJvck1vZGVsKCk7XG4gICAgZXJyRHRsLm1zZyA9IG1zZztcbiAgICB0aGlzLmVycm9yTXNnKGVyckR0bCk7XG4gIH1cblxuICBlcnJvck1zZyhlcnJEdGwgOiBFcnJvck1vZGVsKXtcbiAgICB0aGlzLm1zZ3MucHVzaCh7c2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnkgOiAnRXJyb3InLCBkZXRhaWwgOiBlcnJEdGwubXNnfSk7XG4gICAgdGhpcy5tc2dTZXJ2aWNlLmNsZWFyKCk7XG4gICAgaWYoZXJyRHRsLmVycm9ySWQpe1xuICAgICAgLy90aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonZXJyb3InLCBzdW1tYXJ5OidFcnJvcicsIGRldGFpbDogZXJyRHRsLm1zZyArIGAoIGVycm9yIGlkIDogJHtlcnJEdGwuZXJyb3JJZH0pYCwgbGlmZTogNzAwMCwgaWQgOiBlcnJEdGwuZXJyb3JJZH0pO1xuICAgICAgdGhpcy5tc2dTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6J2Vycm9yJywgc3VtbWFyeTonRXJyb3InLCBkZXRhaWw6IGVyckR0bC5tc2csIGxpZmU6IExpYkNvbnN0YW50cy5lcnJvck1lc3NhZ2VQb3B1cExpZmUsIGlkIDogZXJyRHRsLmVycm9ySWR9KTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidlcnJvcicsIHN1bW1hcnk6J0Vycm9yJywgZGV0YWlsOiBlcnJEdGwubXNnLCBsaWZlOiBMaWJDb25zdGFudHMuZXJyb3JNZXNzYWdlUG9wdXBMaWZlLCBpZCA6IGVyckR0bC5lcnJvcklkfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3VjY2Vzcyhtc2cpe1xuICAgIHRoaXMubXNncyA9IFtdO1xuICAgIHRoaXMubXNncy5wdXNoKHtzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5IDogJ1N1Y2Nlc3MnLCBkZXRhaWwgOiBtc2d9KTtcblxuICAgIHRoaXMubXNnU2VydmljZS5jbGVhcigpO1xuICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidzdWNjZXNzJywgc3VtbWFyeTonU3VjY2VzcycsIGRldGFpbDogbXNnLCBsaWZlOiBMaWJDb25zdGFudHMuc3VjY2Vzc01lc3NhZ2VQb3B1cExpZmV9KTtcbiAgfVxuXG4gIGluZm8obXNnKXtcbiAgICB0aGlzLnByZXNlbnRBbGVydCgnSW5mbycsICcnLCBtc2cpO1xuICB9XG5cbiAgZ2V0PFQ+KGVuZFBvaW50IDogc3RyaW5nLCBvcHRpb25zPzoge1xuICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICB9O1xuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgfSwgc2VydmljZU5hbWU/IDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPntcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPih0aGlzLmdldFVybChlbmRQb2ludCwgc2VydmljZU5hbWUpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XG4gICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICB9O1xuICAgICAgb2JzZXJ2ZT86ICdib2R5JztcbiAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIH07XG4gICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgSlNPTi5zdHJpbmdpZnkoYm9keSksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdEZvcm1EYXRhPFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xuICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgLy8gYWxlcnQodGhpcy5nZXRGdWxsVXJsKHVybCkpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgYm9keSwgb3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGU8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiB7XG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgfSwgc2VydmljZU5hbWU/IDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGU8VD4odGhpcy5nZXRVcmwodXJsLCBzZXJ2aWNlTmFtZSksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgcGF0Y2g8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbn0sIHNlcnZpY2VOYW1lID86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8VD4odGhpcy5nZXRVcmwodXJsLCBzZXJ2aWNlTmFtZSksIGJvZHksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgZXJyb3JIYW5kbGVyKGVycm9yKXtcbiAgICB0aGlzLm1zZ3MgPSBbXTtcbiAgICB0aGlzLmxvZ2dlci5lcnJvcignZXJyb3IgLS0tLT4nLCBlcnJvcik7XG4gICAgdGhpcy5lcnJvck1zZyhlcnJvcik7XG4gIH1cblxuICBnZXRGdWxsVXJsKGVuZFBvaW50IDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy5iYXNlVXJsKCkgKyBlbmRQb2ludDtcbiAgfVxuXG4gIGdldFVybChlbmRQb2ludCA6IHN0cmluZywgc2VydmljZU5hbWUgOiBzdHJpbmcpe1xuICAgIGlmKHNlcnZpY2VOYW1lKXtcbiAgICAgIHRoaXMuYmFzZVVybCgpICsgTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCArIHNlcnZpY2VOYW1lICsgTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCArIGVuZFBvaW50O1xuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIHRoaXMuYmFzZVVybCgpICsgKExpYkNvbnN0YW50cy5jb250ZXh0ID09ICcnIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoICsgTGliQ29uc3RhbnRzLmNvbnRleHQgKyBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoKSArIGVuZFBvaW50O1xuICAgIH1cbiAgfVxuXG5hc3luYyBzaG93TG9hZGVyKCkge1xuICB0aGlzLnNwaW5uZXIuc2hvdygpXG59XG5cbiAgYXN5bmMgaGlkZUxvYWRlcigpe1xuICAgIHRoaXMuc3Bpbm5lci5oaWRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCBmaW5kIGRpZmZlcmVuY2Ugb2YgZGF0ZXMgYnkgc3BlY2lmaWVkIGludGVydmFsXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICAgKiBAdmVyc2lvbiAxLjBcbiAgICogQHBhcmFtIGZyb21EYXRlIGluIG1pbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB0b2RhdGUgaW4gbWlsaXNlY29uZHNcbiAgICogQHBhcmFtIGludGVydmFsIDogdmFsaWQgdmFsdWVzIGFyZSAtLT4gXCJ5ZWFyc1wiLCBcIm1vbnRoc1wiLCBcIndlZWtzXCIsIFwiZGF5c1wiLCBcImhvdXJzXCIsIFwibWludXRlc1wiLCBcInNlY29uZHNcIlxuICAgKiBAcmV0dXJucyBkaWZmZXJlbmNlIG9mIGRhdGUgYXMgcGVyIGludGVydmFsIHNwZWNpZmllZC5cbiAgICoqL1xuICBmaW5kRGlmZmVyZW5jZUluZGF0ZShmcm9tRGF0ZSx0b2RhdGUsaW50ZXJ2YWwpe1xuICAgIGxldCBzZWNvbmQ9MTAwMCwgbWludXRlPXNlY29uZCo2MCwgaG91cj1taW51dGUqNjAsIGRheT1ob3VyKjI0LCB3ZWVrPWRheSo3O1xuICAgIGxldCB0aW1lZGlmZiA9IHRvZGF0ZSAtIGZyb21EYXRlO1xuICAgIFxuICAgIGlmIChpc05hTih0aW1lZGlmZikpIFxuICAgICAgcmV0dXJuIE5hTjtcbiAgICBcbiAgICBzd2l0Y2ggKGludGVydmFsKSB7XG4gICAgICAgIGNhc2UgXCJ5ZWFyc1wiOiByZXR1cm4gdG9kYXRlLmdldEZ1bGxZZWFyKCkgLSBmcm9tRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICBjYXNlIFwibW9udGhzXCI6IHJldHVybiAoXG4gICAgICAgICAgICAoIHRvZGF0ZS5nZXRGdWxsWWVhcigpICogMTIgKyB0b2RhdGUuZ2V0TW9udGgoKSApXG4gICAgICAgICAgICAtXG4gICAgICAgICAgICAoIGZyb21EYXRlLmdldEZ1bGxZZWFyKCkgKiAxMiArIGZyb21EYXRlLmdldE1vbnRoKCkgKVxuICAgICAgICApO1xuICAgICAgICBjYXNlIFwid2Vla3NcIiAgOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIHdlZWspO1xuICAgICAgICBjYXNlIFwiZGF5c1wiICAgOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIGRheSk7IFxuICAgICAgICBjYXNlIFwiaG91cnNcIiAgOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIGhvdXIpOyBcbiAgICAgICAgY2FzZSBcIm1pbnV0ZXNcIjogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBtaW51dGUpO1xuICAgICAgICBjYXNlIFwic2Vjb25kc1wiOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIHNlY29uZCk7XG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZWNyaXB0aW9uIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGRhdGUgaW4gZGRNTXl5eXkgZm9ybWF0LlxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAgICogQHZlcnNpb24gMS4wXG4gICAqIEByZXR1cm5zIHN0cmluZ1xuICAgKiovXG4gIGdldERhdGVJbk1NRERZWVlZRm9ybWF0KGRhdGUgOiBEYXRlKXtcbiAgICBsZXQgZGQgPSBkYXRlLmdldERhdGUoKTtcbiAgICBsZXQgTU0gPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgIGxldCB5eXl5ID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIFxuICAgIGxldCBkYXRlVG9SZXR1cm4gPSAgTU0gKyAnLycgKyBkZCArICcvJyArIHl5eXk7XG4gICAgcmV0dXJuIGRhdGVUb1JldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBEYXRlIG9iamVjdCAoZm9yIHl5eXkvTU0vZGQpXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICAgKiBAdmVyc2lvbiAxLjBcbiAgICogQHBhcmFtIHZhbHVlIDogZGF0ZSBzZXBhcmF0ZWQgd2l0aCAnLSdcbiAgICogQHJldHVybnMgRGF0ZVxuICAgKiovXG4gIGdldEVudGVyZWREYXRlKHZhbHVlKXtcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCItXCIpO1xuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XG4gICAgdmFyIE1NID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMV0pKSAtIDE7XG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVswXSkpO1xuICAgIHJldHVybiBuZXcgRGF0ZSh5eXl5LE1NLGRkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBEYXRlIG9iamVjdCAoZm9yIE1NL2RkL3l5eXkpLlxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAgICogQHZlcnNpb24gMS4wXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGRhdGUgc2VwYXJhdGVkIHdpdGggJy0nXG4gICAqIEByZXR1cm5zIERhdGVcbiAgICoqL1xuICBnZXREYXRlRnJvbVN0cmluZyh2YWx1ZSl7XG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcbiAgICB2YXIgZGQgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsyXSkpO1xuICAgIHZhciBNTSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzFdKSkgLSAxO1xuICAgIHZhciB5eXl5ID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKTtcbiAgICByZXR1cm4gbmV3IERhdGUoeXl5eSxNTSxkZCk7XG4gIH1cblxuICBnZXRFbnRlcmVkRGF0ZUZyb21TdHJpbmcodmFsdWUpe1xuICAgIHZhciBkYXRlQXJyYXkgPSB2YWx1ZS5zcGxpdChcIi9cIik7XG4gICAgdmFyIE1NID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKSAtIDE7XG4gICAgdmFyIGRkID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMV0pKTtcbiAgICB2YXIgeXl5eSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xuICB9XG5cbiAgZ2V0RGF0ZUluTU1ERFlZWVkodmFsdWUpe1xuICAgIHZhciBkYXRlQXJyYXkgPSB2YWx1ZS5zcGxpdChcIi1cIik7XG4gICAgdmFyIGRkID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMl0pKTtcbiAgICB2YXIgTU0gPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpO1xuICAgIHZhciB5eXl5ID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKTtcbiAgICByZXR1cm4gTU0gKyAnLycgKyBkZCArICcvJyArIHl5eXk7XG4gIH1cblxuICBwcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChudW1iZXIpe1xuICAgIG51bWJlciA9IG51bWJlciArIExpYkNvbnN0YW50cy5ibGFua1N0cmluZztcbiAgICBpZihudW1iZXIubGVuZ3RoIDwgMil7XG4gICAgICBudW1iZXIgPSBcIjBcIiArIG51bWJlcjtcbiAgICB9XG4gICAgcmV0dXJuIG51bWJlcjtcbiAgfVxuXG4gIC8qKlxuICAqIEBkZWNyaXB0aW9uIFRoaXMgbWV0aG9kIGNoZWNrIGlmIGVudGVyZWQgbnVtYmVyIGlzIHZhbGlkIG9yIG5vdC5cbiAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAgKiBAdmVyc2lvbiAxLjBcbiAgKiBAcmV0dXJucyB0cnVlIDogbnVtYmVyIGlzIHZhbGlkIDwvYnI+IGZhbHNlIDogbnVtYmVyIGlzIGludmFsaWRcbiAgKi9cbiAgdmFsaWRhdGVOdW1iZXIobnVtYmVyKSB7XG4gICAgdmFyIHJlZyA9IG5ldyBSZWdFeHAoXCJeWzAtOV0qJFwiKTsgXG4gICAgcmV0dXJuIHJlZy50ZXN0KG51bWJlcik7XG4gIH1cblxuICAvKipcbiAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCBjaGVjayBpZiBlbnRlcmVkIG51bWJlciBpcyB2YWxpZCBvciBub3QuXG4gICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICogQHZlcnNpb24gMS4wXG4gICogQHJldHVybnMgdHJ1ZSA6IG51bWJlciBpcyB2YWxpZCA8L2JyPiBmYWxzZSA6IG51bWJlciBpcyBpbnZhbGlkXG4gICovXG4gIHZhbGlkYXRlRW1haWwoZW1haWwpIHtcbiAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cCgnL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC8nKTsgXG4gICAgcmV0dXJuIHJlZy50ZXN0KGVtYWlsKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRpb24oY29udHJvbCA6IEFic3RyYWN0Q29udHJvbCwgbmV3VmFsaWRhdG9yIDogVmFsaWRhdG9yRm4gIHwgVmFsaWRhdG9yRm5bXSB8IG51bGwpe1xuICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgY2xlYXJWYWxpZGF0aW9uKGNvbnRyb2wgOiBBYnN0cmFjdENvbnRyb2wpe1xuICAgIGNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBzZXRSZXF1aXJlZFZhbGlkYXRvcihjb250cm9sIDogQWJzdHJhY3RDb250cm9sKXtcbiAgICB0aGlzLnNldFZhbGlkYXRpb24oY29udHJvbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gIH1cblxuICAvLyBAZHluYW1pY1xuICBzdGF0aWMgcGF0dGVyblZhbGlkYXRvcihyZWdleDogUmVnRXhwLCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyk6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCByZXMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIFxuICAgICAgLy8gdGVzdCB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgYWdhaW5zdCB0aGUgcmVnZXhwIHN1cHBsaWVkXG4gICAgICBjb25zdCB2YWxpZCA9IHJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSk7XG4gIFxuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxuICAgICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IGVycm9yO1xuICAgIH07XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHN0YXRpYyBwYXNzd29yZE1hdGNoVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGNvbnN0IHBhc3N3b3JkOiBzdHJpbmcgPSBjb250cm9sLmdldCgncGFzc3dvcmQnKS52YWx1ZTsgLy8gZ2V0IHBhc3N3b3JkIGZyb20gb3VyIHBhc3N3b3JkIGZvcm0gY29udHJvbFxuICAgIGNvbnN0IGNvbmZpcm1QYXNzd29yZDogc3RyaW5nID0gY29udHJvbC5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpLnZhbHVlOyAvLyBnZXQgcGFzc3dvcmQgZnJvbSBvdXIgY29uZmlybVBhc3N3b3JkIGZvcm0gY29udHJvbFxuICAgIC8vIGNvbXBhcmUgaXMgdGhlIHBhc3N3b3JkIG1hdGhcbiAgICBpZiAocGFzc3dvcmQgIT09IGNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgLy8gaWYgdGhleSBkb24ndCBtYXRjaCwgc2V0IGFuIGVycm9yIGluIG91ciBjb25maXJtUGFzc3dvcmQgZm9ybSBjb250cm9sXG4gICAgICBjb250cm9sLmdldCgnY29uZmlybVBhc3N3b3JkJykuc2V0RXJyb3JzKHsgTm9QYXNzc3dvcmRNYXRjaDogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRTc24oc3NuIDogc3RyaW5nKXtcbiAgICByZXR1cm4gc3NuLnN1YnN0cigwLCAzKSArICctJyArIHNzbi5zdWJzdHIoMywgMikgKyAnLScgKyBzc24uc3Vic3RyKDUsIDQpXG4gIH1cblxuICBtYXNrU3NuKHNzbiA6IHN0cmluZyl7XG4gICAgcmV0dXJuICdYWFgtWFgtJyArIHNzbi5zdWJzdHIoNSwgNClcbiAgfVxuXG4gIG1hc2sodmFsdWUgOiBzdHJpbmcsIGNoYXJUb0hpZGUgOiBudW1iZXIpe1xuICAgIGlmKCF2YWx1ZSl7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmKHZhbHVlLmxlbmd0aCA+IGNoYXJUb0hpZGUpe1xuICAgICAgdmFyIHh4eCA9ICcnO1xuICAgICAgZm9yKHZhciBjb3VudCA9IDEgOyBjb3VudCA8PSBjaGFyVG9IaWRlIDsgY291bnQrKyl7XG4gICAgICAgIHh4eCA9ICdYJyArIHh4eDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB4eHggKyB2YWx1ZS5zdWJzdHIodmFsdWUubGVuZ3RoIC0gY2hhclRvSGlkZSArIDEsIGNoYXJUb0hpZGUpXG4gICAgfWVsc2V7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJNZXNzYWdlcygpe1xuICAgIHRoaXMubXNncyA9IFtdO1xuICB9XG5cbiAgaXNTdGF0ZShzdGF0ZSA6IHN0cmluZykgOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLmdldFN0YXRlTG93ZXJjYXNlKCkgPT0gc3RhdGUudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIGdldFN0YXRlKCl7XG4gICAgcmV0dXJuIExpYkNvbnN0YW50cy5TVEFURTtcbiAgfVxuXG4gIGdldFN0YXRlTG93ZXJjYXNlKCl7XG4gICAgcmV0dXJuIExpYkNvbnN0YW50cy5zdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXR1cE5hdmlnYXRpb25CYXNlZEV2ZW50cygpIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKFxuICAgICAgdmFsID0+IHtcbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIHRoaXMubXNncyA9IFtdO1xuICAgICAgICAgIHRoaXMubXNnU2VydmljZS5jbGVhcigpOyAvL0NsZWFyIEVycm9yL1N1Y2Nlc3MgTWVzc2FnZXNcbiAgICAgICAgICB0aGlzLnRvdXJTZXJ2aWNlLnNldEN1cnJlbnRTdGVwc0NvdW50KDIwKTsgLy9Kb3lyaWRlIFNldHVwXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICBndGFnKCdjb25maWcnLCBMaWJDb25zdGFudHMuZ2FJZCwgeyAncGFnZV9wYXRoJzogdmFsLnVybEFmdGVyUmVkaXJlY3RzIH0pOyAvL1NlbmQgdG8gR29vbGUgQW5hbHl0aWNzXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIEFjdGl2YXRpb25FbmQpIHtcbiAgICAgICAgICB0aGlzLnNldFBhZ2VUaXRsZSh2YWwuc25hcHNob3QpOyAvL1NldCBQYWdlIFRpdGxlXG4gICAgICAgICAgdGhpcy50b3VyU2VydmljZS5zZXRTZXRwc0NvdW50KHZhbC5zbmFwc2hvdC5kYXRhWydwYWdlSWQnXSk7XG4gICAgICAgICAgdGhpcy5oaWRlTG9hZGVyKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBwcml2YXRlIHNldFBhZ2VUaXRsZShzbmFwc2hvdCkge1xuICAgIGxldCB0aXRsZSA9IHNuYXBzaG90LmRhdGFbJ3RpdGxlJ107XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IFwiUGxlYXNlIHNwZWNpZnkgcGFnZSB0aXRsZSBpbiBhcHAtcm91dGluZy5tb2R1bGUudHMgZmlsZSBmb3IgcGFnZSA6OiBcIiArIHRoaXMuYXIuZmlyc3RDaGlsZC5zbmFwc2hvdC51cmw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZWNyaXB0aW9uIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGNvbnRleHQgcm9vdCBvZiB0aGUgYXBwbGljYXRpb25cbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICAqIEB2ZXJzaW9uIDEuMFxuICAgKiBAcGFyYW0gdmFsdWUgOiBjb250ZXh0IHJvb3Qgb2YgYXBwbGljYXRpb24uIGUuZyBpZiBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIG9uICdodHRwOi8vbG9jYWxob3N0OjkwODAvY3AvcGFnZScgdGhlbiB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiAnY3AnXG4gICAqIEByZXR1cm5zIFN0cmluZ1xuICAgKiovXG4gIGdldENvbnRleHRSb290KCkgOiBzdHJpbmd7XG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdWJzdHJpbmcoMCwgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoXCIvXCIsMikpO1xuICB9XG5cbiAgZ2V0Q2xhaW1hbnRBcHBDb250ZXh0Um9vdCgpIDogc3RyaW5ne1xuICAgIHJldHVybiBcIi9jcFwiO1xuICB9XG5cbiAgZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpIDogc3RyaW5ne1xuICAgIHJldHVybiBcIi9zc1wiO1xuICB9XG5cblxuICBvcGVuUGFnZUJ5Q29udGV4dFJvb3QoY29udGV4dDogc3RyaW5nLCB1cmk6IHN0cmluZywgbmF2PzogTmF2Q29udHJvbGxlcil7XG4gICAgaWYoIWNvbnRleHQuc3RhcnRzV2l0aCgnLycpKXtcbiAgICAgIGNvbnRleHQgPSAnLycgKyBjb250ZXh0O1xuICAgIH1cbiAgICBpZihuYXYgJiYgY29udGV4dC5pbmNsdWRlcyh0aGlzLmdldENvbnRleHRSb290KCkpKXtcbiAgICAgIG5hdi5uYXZpZ2F0ZVJvb3QodXJpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4obG9jYXRpb24ub3JpZ2luICsgYCR7Y29udGV4dH0vJHt1cml9YCAsICdfc2VsZicpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGNvbnRleHQ6IHN0cmluZywgdXJpOiBzdHJpbmcsIGRhdGEsIG5hdj86IE5hdkNvbnRyb2xsZXIpe1xuICAgIGlmKCFjb250ZXh0LnN0YXJ0c1dpdGgoJy8nKSl7XG4gICAgICBjb250ZXh0ID0gJy8nICsgY29udGV4dDtcbiAgICB9XG4gICAgbGV0IHNlcGFyYXRvciA9ICcmJztcbiAgICBpZighdXJpLmluY2x1ZGVzKCc/Jykpe1xuICAgICAgc2VwYXJhdG9yID0gXCI/XCI7XG4gICAgfVxuICAgIGlmKG5hdiAmJiBjb250ZXh0LmluY2x1ZGVzKHRoaXMuZ2V0Q29udGV4dFJvb3QoKSkpe1xuICAgICAgbmF2Lm5hdmlnYXRlRm9yd2FyZChgJHt1cml9JHtzZXBhcmF0b3J9ZGF0YT0ke2J0b2EoSlNPTi5zdHJpbmdpZnkoZGF0YSkpfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBgJHtjb250ZXh0fS8ke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9YCwnX3NlbGYnKTtcbiAgICB9XG4gIH1cblxuICBtYXNrRXhjZXB0Rmlyc3RBbmRMYXN0Q2hhcih2YWx1ZSA6IHN0cmluZykge1xuICAgICAgcmV0dXJuIHZhbHVlWzBdICsgXCIqXCIucmVwZWF0KHZhbHVlLmxlbmd0aCAtIDIpICsgdmFsdWUuc2xpY2UoLTEpO1xuICB9XG5cbiAgbWFza0VtYWlsKGVtYWlsIDogc3RyaW5nKXtcbiAgICB2YXIgcGFydHMgPSBlbWFpbC5zcGxpdChcIkBcIik7XG4gICAgaWYocGFydHMubGVuZ3RoID09IDIpe1xuICAgICAgcmV0dXJuIHRoaXMubWFza0V4Y2VwdEZpcnN0QW5kTGFzdENoYXIocGFydHNbMF0pICsgXCJAXCIgKyB0aGlzLm1hc2tFeGNlcHRGaXJzdEFuZExhc3RDaGFyKHBhcnRzWzFdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFza0V4Y2VwdEZpcnN0QW5kTGFzdENoYXIocGFydHNbMF0pO1xuICB9XG5cbiAgaXNQbGF5Zm9ybUNhcGFjaXRvcigpe1xuICAgIHJldHVybiB0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKTtcbiAgfVxuXG4gIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLmlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkID09ICd0cnVlJztcbiAgfVxuXG4gIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5KCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLmlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5ID09ICd0cnVlJztcbiAgfVxuXG4gIGZvY3VzT25TdWJtaXQoZWw6IEVsZW1lbnRSZWYpe1xuICAgIHZhciBlbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgdGhpcy5mb2N1c2FibGVzLm1hcCh4ID0+IGAke3h9Lm5nLWludmFsaWRgKS5qb2luKFwiLFwiKVxuICAgICk7XG5cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIHByaW1lTmdDb21wb25lbnQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIHRoaXMuZm9jdXNhYmxlcy5tYXAoeCA9PiBgJHt4fS5wLWNvbXBvbmVudGApLmpvaW4oXCIsXCIpXG4gICAgICApO1xuICAgICAgaWYgKHByaW1lTmdDb21wb25lbnQpIHtcbiAgICAgICAgcHJpbWVOZ0NvbXBvbmVudC5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICAvL0Jsb2NrIGZvciBSYWRpbyBCdXR0b24gU3RhcnRcbiAgICAgIHZhciBwcmltZU5nQ29tcG9uZW50MSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImRpdi5wLXNlbGVjdGJ1dHRvblwiKTtcbiAgICAgIGlmIChwcmltZU5nQ29tcG9uZW50MSkge1xuICAgICAgICB2YXIgcHJpbWVOZ0NvbXBvbmVudDIgPSBwcmltZU5nQ29tcG9uZW50MS5xdWVyeVNlbGVjdG9yKFwiZGl2LnAtY29tcG9uZW50XCIpO1xuICAgICAgICBpZiAocHJpbWVOZ0NvbXBvbmVudDIpIHtcbiAgICAgICAgICBwcmltZU5nQ29tcG9uZW50Mi5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL0Jsb2NrIGZvciBSYWRpbyBCdXR0b24gRW5kXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
450
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBYyxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQWdDLFVBQVUsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBU3hHLE1BQU0sT0FBTyxXQUFXO0lBV3RCLFlBQW1CLGVBQWdDLEVBQVMsVUFBc0IsRUFBUyxFQUFzQixFQUM5RixlQUFnQyxFQUFTLFVBQTBCLEVBQVUsT0FBMEIsRUFDdkcsTUFBeUIsRUFBVSxNQUFxQixFQUFVLE1BQWMsRUFDL0UsWUFBbUIsRUFBVSxFQUFrQixFQUFVLFdBQXdCLEVBQ2pGLFFBQWtCO1FBSm5CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUM5RixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQ3ZHLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDL0UsaUJBQVksR0FBWixZ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aUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzNFLElBQUksaUJBQWlCLEVBQUU7b0JBQ3JCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUMzQjthQUNGO1lBQ0QsNEJBQTRCO1NBQzdCO0lBQ0gsQ0FBQzs0RUF6aEJVLFdBQVc7dUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTs7aUZBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciwgTG9hZGluZ0NvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWVzc2FnZX0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSBcIm5neC1zcGlubmVyXCI7XHJcbmltcG9ydCB7IExvYWRpbmdCYXJTZXJ2aWNlIH0gZnJvbSAnQG5neC1sb2FkaW5nLWJhci9jb3JlJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvck1vZGVsJztcclxuaW1wb3J0IHsgZ2V0QmFzZVVybCwgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGlvbkVuZCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUb3VyU2VydmljZSB9IGZyb20gJy4uL3RvdXIvdG91ci5zZXJ2aWNlJztcclxuXHJcbmRlY2xhcmUgbGV0IGd0YWc6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxTZXJ2aWNlIHtcclxuXHJcbiAgZm9jdXNhYmxlcyA9IFtcInBpbnB1dHRleHRcIiwgXCJwLWlucHV0bWFza1wiLCBcImlucHV0XCIsIFwic2VsZWN0XCIsIFwidGV4dGFyZWFcIiwgXCJwLWNhbGVuZGFyXCIsIFwicmFkaW9cIiwgXCJwLWRyb3Bkb3duXCIsIFwicC1zZWxlY3RCdXR0b25cIiwgXCJwLWF1dG9jb21wbGV0ZVwiLCBcInAtcGFzc3dvcmRcIixcInAtY2hlY2tib3hcIiwgXCJwLWlucHV0dGV4dGFyZWFcIl07XHJcblxyXG4gIC8qVG8gZGlzcGxheSB2YXJpb3VzIG1lc3NhZ2VzKi9cclxuICBwdWJsaWMgbXNnczogTWVzc2FnZVtdID0gW107XHJcblxyXG4gIG9wdGlvbnMgPSB7fTtcclxuXHJcbiAgbG9hZGluZyAgPSBudWxsO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhbGVydENvbnRyb2xsZXI6IEFsZXJ0Q29udHJvbGxlciwgcHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIHB1YmxpYyBsYyA6IExvYWRpbmdDb250cm9sbGVyLCBcclxuICAgICAgICAgICAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsIHB1YmxpYyBtc2dTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBzcGlubmVyOiBOZ3hTcGlubmVyU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgbG9hZGVyOiBMb2FkaW5nQmFyU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZSwgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgdG91clNlcnZpY2U6IFRvdXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtKSB7IFxyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICBcIkFjY2VwdFwiOiAnYXBwbGljYXRpb24vanNvbid9KTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdG9hc3QobXNnIDogc3RyaW5nKXtcclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogbXNnLFxyXG4gICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxyXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ0RvbmUnLFxyXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICAgIHRvYXN0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRUb2FzdChtc2cgOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogbXNnLFxyXG4gICAgICBjb2xvcjogJ2RhbmdlcicsXHJcbiAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ0RvbmUnLFxyXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICAgIHRvYXN0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIGJhc2VVcmwoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiBnZXRCYXNlVXJsKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBwcmVzZW50QWxlcnQoaGVhZGVyLCBzdWJNc2csIGVyckR0bCkge1xyXG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xyXG4gICAgICBoZWFkZXI6IGhlYWRlcixcclxuICAgICAgc3ViSGVhZGVyOiBzdWJNc2csXHJcbiAgICAgIG1lc3NhZ2U6IGVyckR0bCxcclxuICAgICAgYnV0dG9uczogWydPSyddXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBlcnJvcihoZWFkZXIsIHN1Yk1zZywgZXJyRHRsKXtcclxuICAgIHRoaXMucHJlc2VudEFsZXJ0KGhlYWRlciwgc3ViTXNnLCBlcnJEdGwpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yKG1zZyA6IHN0cmluZyl7XHJcbiAgICBsZXQgZXJyRHRsIDogRXJyb3JNb2RlbCA9IG5ldyBFcnJvck1vZGVsKCk7XHJcbiAgICBlcnJEdGwubXNnID0gbXNnO1xyXG4gICAgdGhpcy5lcnJvck1zZyhlcnJEdGwpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3JNc2coZXJyRHRsIDogRXJyb3JNb2RlbCl7XHJcbiAgICB0aGlzLm1zZ3MucHVzaCh7c2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnkgOiAnRXJyb3InLCBkZXRhaWwgOiBlcnJEdGwubXNnfSk7XHJcbiAgICB0aGlzLm1zZ1NlcnZpY2UuY2xlYXIoKTtcclxuICAgIGlmKGVyckR0bC5lcnJvcklkKXtcclxuICAgICAgLy90aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonZXJyb3InLCBzdW1tYXJ5OidFcnJvcicsIGRldGFpbDogZXJyRHRsLm1zZyArIGAoIGVycm9yIGlkIDogJHtlcnJEdGwuZXJyb3JJZH0pYCwgbGlmZTogNzAwMCwgaWQgOiBlcnJEdGwuZXJyb3JJZH0pO1xyXG4gICAgICB0aGlzLm1zZ1NlcnZpY2UuYWRkKHtzZXZlcml0eTonZXJyb3InLCBzdW1tYXJ5OidFcnJvcicsIGRldGFpbDogZXJyRHRsLm1zZywgbGlmZTogNzAwMCwgaWQgOiBlcnJEdGwuZXJyb3JJZH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidlcnJvcicsIHN1bW1hcnk6J0Vycm9yJywgZGV0YWlsOiBlcnJEdGwubXNnLCBsaWZlOiA3MDAwLCBpZCA6IGVyckR0bC5lcnJvcklkfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdWNjZXNzKG1zZyl7XHJcbiAgICB0aGlzLm1zZ3MgPSBbXTtcclxuICAgIHRoaXMubXNncy5wdXNoKHtzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5IDogJ1N1Y2Nlc3MnLCBkZXRhaWwgOiBtc2d9KTtcclxuXHJcbiAgICB0aGlzLm1zZ1NlcnZpY2UuY2xlYXIoKTtcclxuICAgIHRoaXMubXNnU2VydmljZS5hZGQoe3NldmVyaXR5OidzdWNjZXNzJywgc3VtbWFyeTonU3VjY2VzcycsIGRldGFpbDogbXNnLCBsaWZlOiA3MDAwfSk7XHJcbiAgfVxyXG5cclxuICBpbmZvKG1zZyl7XHJcbiAgICB0aGlzLnByZXNlbnRBbGVydCgnSW5mbycsICcnLCBtc2cpO1xyXG4gIH1cclxuXHJcbiAgZ2V0PFQ+KGVuZFBvaW50IDogc3RyaW5nLCBvcHRpb25zPzoge1xyXG4gICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XHJcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgfTtcclxuICAgICAgb2JzZXJ2ZT86ICdib2R5JztcclxuICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgIH07XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG4gICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xyXG4gIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPih0aGlzLmdldFVybChlbmRQb2ludCwgc2VydmljZU5hbWUpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiB7XHJcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICB9O1xyXG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xyXG4gICAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgfTtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgICByZXNwb25zZVR5cGU/OiAnanNvbic7XHJcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB9LCBzZXJ2aWNlTmFtZT8gOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgSlNPTi5zdHJpbmdpZnkoYm9keSksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcG9zdEZvcm1EYXRhPFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xyXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xyXG4gICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIG9ic2VydmU/OiAnYm9keSc7XHJcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xyXG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICB9O1xyXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICB9LCBzZXJ2aWNlTmFtZT8gOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgLy8gYWxlcnQodGhpcy5nZXRGdWxsVXJsKHVybCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHRoaXMuZ2V0VXJsKHVybCwgc2VydmljZU5hbWUpLCBib2R5LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IHtcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgIH07XHJcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcclxuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgfSwgc2VydmljZU5hbWU/IDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwYXRjaDxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcclxuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgIH07XHJcbiAgICBvYnNlcnZlPzogJ2JvZHknO1xyXG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcclxuICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcclxuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbn0sIHNlcnZpY2VOYW1lID86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxUPih0aGlzLmdldFVybCh1cmwsIHNlcnZpY2VOYW1lKSwgYm9keSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBlcnJvckhhbmRsZXIoZXJyb3Ipe1xyXG4gICAgdGhpcy5tc2dzID0gW107XHJcbiAgICB0aGlzLmxvZ2dlci5lcnJvcignZXJyb3IgLS0tLT4nLCBlcnJvcik7XHJcbiAgICB0aGlzLmVycm9yTXNnKGVycm9yKTtcclxuICB9XHJcblxyXG4gIGdldEZ1bGxVcmwoZW5kUG9pbnQgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybCgpICsgZW5kUG9pbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRVcmwoZW5kUG9pbnQgOiBzdHJpbmcsIHNlcnZpY2VOYW1lIDogc3RyaW5nKXtcclxuICAgIGlmKHNlcnZpY2VOYW1lKXtcclxuICAgICAgdGhpcy5iYXNlVXJsKCkgKyBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoICsgc2VydmljZU5hbWUgKyBMaWJDb25zdGFudHMuZm9yd2FyZFNsYXNoICsgZW5kUG9pbnQ7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHRoaXMuYmFzZVVybCgpICsgKExpYkNvbnN0YW50cy5jb250ZXh0ID09ICcnIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IExpYkNvbnN0YW50cy5mb3J3YXJkU2xhc2ggXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCArIExpYkNvbnN0YW50cy5jb250ZXh0ICsgTGliQ29uc3RhbnRzLmZvcndhcmRTbGFzaCkgKyBlbmRQb2ludDtcclxuICAgIH1cclxuICB9XHJcblxyXG5hc3luYyBzaG93TG9hZGVyKCkge1xyXG4gIHRoaXMuc3Bpbm5lci5zaG93KClcclxufVxyXG5cclxuICBhc3luYyBoaWRlTG9hZGVyKCl7XHJcbiAgICB0aGlzLnNwaW5uZXIuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCBmaW5kIGRpZmZlcmVuY2Ugb2YgZGF0ZXMgYnkgc3BlY2lmaWVkIGludGVydmFsXHJcbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXHJcbiAgICogQHZlcnNpb24gMS4wXHJcbiAgICogQHBhcmFtIGZyb21EYXRlIGluIG1pbGlzZWNvbmRzXHJcbiAgICogQHBhcmFtIHRvZGF0ZSBpbiBtaWxpc2Vjb25kc1xyXG4gICAqIEBwYXJhbSBpbnRlcnZhbCA6IHZhbGlkIHZhbHVlcyBhcmUgLS0+IFwieWVhcnNcIiwgXCJtb250aHNcIiwgXCJ3ZWVrc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJcclxuICAgKiBAcmV0dXJucyBkaWZmZXJlbmNlIG9mIGRhdGUgYXMgcGVyIGludGVydmFsIHNwZWNpZmllZC5cclxuICAgKiovXHJcbiAgZmluZERpZmZlcmVuY2VJbmRhdGUoZnJvbURhdGUsdG9kYXRlLGludGVydmFsKXtcclxuICAgIGxldCBzZWNvbmQ9MTAwMCwgbWludXRlPXNlY29uZCo2MCwgaG91cj1taW51dGUqNjAsIGRheT1ob3VyKjI0LCB3ZWVrPWRheSo3O1xyXG4gICAgbGV0IHRpbWVkaWZmID0gdG9kYXRlIC0gZnJvbURhdGU7XHJcbiAgICBcclxuICAgIGlmIChpc05hTih0aW1lZGlmZikpIFxyXG4gICAgICByZXR1cm4gTmFOO1xyXG4gICAgXHJcbiAgICBzd2l0Y2ggKGludGVydmFsKSB7XHJcbiAgICAgICAgY2FzZSBcInllYXJzXCI6IHJldHVybiB0b2RhdGUuZ2V0RnVsbFllYXIoKSAtIGZyb21EYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgY2FzZSBcIm1vbnRoc1wiOiByZXR1cm4gKFxyXG4gICAgICAgICAgICAoIHRvZGF0ZS5nZXRGdWxsWWVhcigpICogMTIgKyB0b2RhdGUuZ2V0TW9udGgoKSApXHJcbiAgICAgICAgICAgIC1cclxuICAgICAgICAgICAgKCBmcm9tRGF0ZS5nZXRGdWxsWWVhcigpICogMTIgKyBmcm9tRGF0ZS5nZXRNb250aCgpIClcclxuICAgICAgICApO1xyXG4gICAgICAgIGNhc2UgXCJ3ZWVrc1wiICA6IHJldHVybiBNYXRoLnJvdW5kKHRpbWVkaWZmIC8gd2Vlayk7XHJcbiAgICAgICAgY2FzZSBcImRheXNcIiAgIDogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBkYXkpOyBcclxuICAgICAgICBjYXNlIFwiaG91cnNcIiAgOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIGhvdXIpOyBcclxuICAgICAgICBjYXNlIFwibWludXRlc1wiOiByZXR1cm4gTWF0aC5yb3VuZCh0aW1lZGlmZiAvIG1pbnV0ZSk7XHJcbiAgICAgICAgY2FzZSBcInNlY29uZHNcIjogcmV0dXJuIE1hdGgucm91bmQodGltZWRpZmYgLyBzZWNvbmQpO1xyXG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBkYXRlIGluIGRkTU15eXl5IGZvcm1hdC5cclxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAgKiBAdmVyc2lvbiAxLjBcclxuICAgKiBAcmV0dXJucyBzdHJpbmdcclxuICAgKiovXHJcbiAgZ2V0RGF0ZUluTU1ERFlZWVlGb3JtYXQoZGF0ZSA6IERhdGUpe1xyXG4gICAgbGV0IGRkID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICBsZXQgTU0gPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgbGV0IHl5eXkgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBcclxuICAgIGxldCBkYXRlVG9SZXR1cm4gPSAgTU0gKyAnLycgKyBkZCArICcvJyArIHl5eXk7XHJcbiAgICByZXR1cm4gZGF0ZVRvUmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gRGF0ZSBvYmplY3QgKGZvciB5eXl5L01NL2RkKVxyXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICAqIEB2ZXJzaW9uIDEuMFxyXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGRhdGUgc2VwYXJhdGVkIHdpdGggJy0nXHJcbiAgICogQHJldHVybnMgRGF0ZVxyXG4gICAqKi9cclxuICBnZXRFbnRlcmVkRGF0ZSh2YWx1ZSl7XHJcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCItXCIpO1xyXG4gICAgdmFyIGRkID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMl0pKTtcclxuICAgIHZhciBNTSA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzFdKSkgLSAxO1xyXG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVswXSkpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gRGF0ZSBvYmplY3QgKGZvciBNTS9kZC95eXl5KS5cclxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAgKiBAdmVyc2lvbiAxLjBcclxuICAgKiBAcGFyYW0gdmFsdWUgOiBkYXRlIHNlcGFyYXRlZCB3aXRoICctJ1xyXG4gICAqIEByZXR1cm5zIERhdGVcclxuICAgKiovXHJcbiAgZ2V0RGF0ZUZyb21TdHJpbmcodmFsdWUpe1xyXG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcclxuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XHJcbiAgICB2YXIgTU0gPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpIC0gMTtcclxuICAgIHZhciB5eXl5ID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5eXl5LE1NLGRkKTtcclxuICB9XHJcblxyXG4gIGdldEVudGVyZWREYXRlRnJvbVN0cmluZyh2YWx1ZSl7XHJcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCIvXCIpO1xyXG4gICAgdmFyIE1NID0gcGFyc2VJbnQodGhpcy5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKSAtIDE7XHJcbiAgICB2YXIgZGQgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpO1xyXG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsyXSkpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZUluTU1ERFlZWVkodmFsdWUpe1xyXG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcclxuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMucHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQoZGF0ZUFycmF5WzJdKSk7XHJcbiAgICB2YXIgTU0gPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpO1xyXG4gICAgdmFyIHl5eXkgPSBwYXJzZUludCh0aGlzLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVswXSkpO1xyXG4gICAgcmV0dXJuIE1NICsgJy8nICsgZGQgKyAnLycgKyB5eXl5O1xyXG4gIH1cclxuXHJcbiAgcHJlcGVkWmVyb0lmU2luZ2xlRGlnaXQobnVtYmVyKXtcclxuICAgIG51bWJlciA9IG51bWJlciArIExpYkNvbnN0YW50cy5ibGFua1N0cmluZztcclxuICAgIGlmKG51bWJlci5sZW5ndGggPCAyKXtcclxuICAgICAgbnVtYmVyID0gXCIwXCIgKyBudW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBAZGVjcmlwdGlvbiBUaGlzIG1ldGhvZCBjaGVjayBpZiBlbnRlcmVkIG51bWJlciBpcyB2YWxpZCBvciBub3QuXHJcbiAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAqIEB2ZXJzaW9uIDEuMFxyXG4gICogQHJldHVybnMgdHJ1ZSA6IG51bWJlciBpcyB2YWxpZCA8L2JyPiBmYWxzZSA6IG51bWJlciBpcyBpbnZhbGlkXHJcbiAgKi9cclxuICB2YWxpZGF0ZU51bWJlcihudW1iZXIpIHtcclxuICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKFwiXlswLTldKiRcIik7IFxyXG4gICAgcmV0dXJuIHJlZy50ZXN0KG51bWJlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEBkZWNyaXB0aW9uIFRoaXMgbWV0aG9kIGNoZWNrIGlmIGVudGVyZWQgbnVtYmVyIGlzIHZhbGlkIG9yIG5vdC5cclxuICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICogQHZlcnNpb24gMS4wXHJcbiAgKiBAcmV0dXJucyB0cnVlIDogbnVtYmVyIGlzIHZhbGlkIDwvYnI+IGZhbHNlIDogbnVtYmVyIGlzIGludmFsaWRcclxuICAqL1xyXG4gIHZhbGlkYXRlRW1haWwoZW1haWwpIHtcclxuICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcvXigoW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1swLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31dKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLycpOyBcclxuICAgIHJldHVybiByZWcudGVzdChlbWFpbCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWxpZGF0aW9uKGNvbnRyb2wgOiBBYnN0cmFjdENvbnRyb2wsIG5ld1ZhbGlkYXRvciA6IFZhbGlkYXRvckZuICB8IFZhbGlkYXRvckZuW10gfCBudWxsKXtcclxuICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xyXG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBjbGVhclZhbGlkYXRpb24oY29udHJvbCA6IEFic3RyYWN0Q29udHJvbCl7XHJcbiAgICBjb250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRSZXF1aXJlZFZhbGlkYXRvcihjb250cm9sIDogQWJzdHJhY3RDb250cm9sKXtcclxuICAgIHRoaXMuc2V0VmFsaWRhdGlvbihjb250cm9sLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIC8vIEBkeW5hbWljXHJcbiAgc3RhdGljIHBhdHRlcm5WYWxpZGF0b3IocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCByZXMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIC8vIGlmIGNvbnRyb2wgaXMgZW1wdHkgcmV0dXJuIG5vIGVycm9yXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgLy8gdGVzdCB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgYWdhaW5zdCB0aGUgcmVnZXhwIHN1cHBsaWVkXHJcbiAgICAgIGNvbnN0IHZhbGlkID0gcmVnZXgudGVzdChjb250cm9sLnZhbHVlKTtcclxuICBcclxuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYXNzd29yZE1hdGNoVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgY29uc3QgcGFzc3dvcmQ6IHN0cmluZyA9IGNvbnRyb2wuZ2V0KCdwYXNzd29yZCcpLnZhbHVlOyAvLyBnZXQgcGFzc3dvcmQgZnJvbSBvdXIgcGFzc3dvcmQgZm9ybSBjb250cm9sXHJcbiAgICBjb25zdCBjb25maXJtUGFzc3dvcmQ6IHN0cmluZyA9IGNvbnRyb2wuZ2V0KCdjb25maXJtUGFzc3dvcmQnKS52YWx1ZTsgLy8gZ2V0IHBhc3N3b3JkIGZyb20gb3VyIGNvbmZpcm1QYXNzd29yZCBmb3JtIGNvbnRyb2xcclxuICAgIC8vIGNvbXBhcmUgaXMgdGhlIHBhc3N3b3JkIG1hdGhcclxuICAgIGlmIChwYXNzd29yZCAhPT0gY29uZmlybVBhc3N3b3JkKSB7XHJcbiAgICAgIC8vIGlmIHRoZXkgZG9uJ3QgbWF0Y2gsIHNldCBhbiBlcnJvciBpbiBvdXIgY29uZmlybVBhc3N3b3JkIGZvcm0gY29udHJvbFxyXG4gICAgICBjb250cm9sLmdldCgnY29uZmlybVBhc3N3b3JkJykuc2V0RXJyb3JzKHsgTm9QYXNzc3dvcmRNYXRjaDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdFNzbihzc24gOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHNzbi5zdWJzdHIoMCwgMykgKyAnLScgKyBzc24uc3Vic3RyKDMsIDIpICsgJy0nICsgc3NuLnN1YnN0cig1LCA0KVxyXG4gIH1cclxuXHJcbiAgbWFza1Nzbihzc24gOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuICdYWFgtWFgtJyArIHNzbi5zdWJzdHIoNSwgNClcclxuICB9XHJcblxyXG4gIG1hc2sodmFsdWUgOiBzdHJpbmcsIGNoYXJUb0hpZGUgOiBudW1iZXIpe1xyXG4gICAgaWYoIXZhbHVlKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYodmFsdWUubGVuZ3RoID4gY2hhclRvSGlkZSl7XHJcbiAgICAgIHZhciB4eHggPSAnJztcclxuICAgICAgZm9yKHZhciBjb3VudCA9IDEgOyBjb3VudCA8PSBjaGFyVG9IaWRlIDsgY291bnQrKyl7XHJcbiAgICAgICAgeHh4ID0gJ1gnICsgeHh4O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB4eHggKyB2YWx1ZS5zdWJzdHIodmFsdWUubGVuZ3RoIC0gY2hhclRvSGlkZSArIDEsIGNoYXJUb0hpZGUpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJNZXNzYWdlcygpe1xyXG4gICAgdGhpcy5tc2dzID0gW107XHJcbiAgfVxyXG5cclxuICBpc1N0YXRlKHN0YXRlIDogc3RyaW5nKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUxvd2VyY2FzZSgpID09IHN0YXRlLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0ZSgpe1xyXG4gICAgcmV0dXJuIExpYkNvbnN0YW50cy5TVEFURTtcclxuICB9XHJcblxyXG4gIGdldFN0YXRlTG93ZXJjYXNlKCl7XHJcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLnN0YXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwTmF2aWdhdGlvbkJhc2VkRXZlbnRzKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShcclxuICAgICAgdmFsID0+IHtcclxuICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgICB0aGlzLm1zZ3MgPSBbXTtcclxuICAgICAgICAgIHRoaXMubXNnU2VydmljZS5jbGVhcigpOyAvL0NsZWFyIEVycm9yL1N1Y2Nlc3MgTWVzc2FnZXNcclxuICAgICAgICAgIHRoaXMudG91clNlcnZpY2Uuc2V0Q3VycmVudFN0ZXBzQ291bnQoMjApOyAvL0pveXJpZGUgU2V0dXBcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAgIGd0YWcoJ2NvbmZpZycsIExpYkNvbnN0YW50cy5nYUlkLCB7ICdwYWdlX3BhdGgnOiB2YWwudXJsQWZ0ZXJSZWRpcmVjdHMgfSk7IC8vU2VuZCB0byBHb29sZSBBbmFseXRpY3NcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIEFjdGl2YXRpb25FbmQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UGFnZVRpdGxlKHZhbC5zbmFwc2hvdCk7IC8vU2V0IFBhZ2UgVGl0bGVcclxuICAgICAgICAgIHRoaXMudG91clNlcnZpY2Uuc2V0U2V0cHNDb3VudCh2YWwuc25hcHNob3QuZGF0YVsncGFnZUlkJ10pO1xyXG4gICAgICAgICAgdGhpcy5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBhZ2VUaXRsZShzbmFwc2hvdCkge1xyXG4gICAgbGV0IHRpdGxlID0gc25hcHNob3QuZGF0YVsndGl0bGUnXTtcclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBcIlBsZWFzZSBzcGVjaWZ5IHBhZ2UgdGl0bGUgaW4gYXBwLXJvdXRpbmcubW9kdWxlLnRzIGZpbGUgZm9yIHBhZ2UgOjogXCIgKyB0aGlzLmFyLmZpcnN0Q2hpbGQuc25hcHNob3QudXJsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlY3JpcHRpb24gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gY29udGV4dCByb290IG9mIHRoZSBhcHBsaWNhdGlvblxyXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICAqIEB2ZXJzaW9uIDEuMFxyXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGNvbnRleHQgcm9vdCBvZiBhcHBsaWNhdGlvbi4gZS5nIGlmIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgb24gJ2h0dHA6Ly9sb2NhbGhvc3Q6OTA4MC9jcC9wYWdlJyB0aGVuIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuICdjcCdcclxuICAgKiBAcmV0dXJucyBTdHJpbmdcclxuICAgKiovXHJcbiAgZ2V0Q29udGV4dFJvb3QoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKFwiL1wiLDIpKTtcclxuICB9XHJcblxyXG4gIGdldENsYWltYW50QXBwQ29udGV4dFJvb3QoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiBcIi9jcFwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpIDogc3RyaW5ne1xyXG4gICAgcmV0dXJuIFwiL3NzXCI7XHJcbiAgfVxyXG5cclxuXHJcbiAgb3BlblBhZ2VCeUNvbnRleHRSb290KGNvbnRleHQ6IHN0cmluZywgdXJpOiBzdHJpbmcsIG5hdj86IE5hdkNvbnRyb2xsZXIpe1xyXG4gICAgaWYoIWNvbnRleHQuc3RhcnRzV2l0aCgnLycpKXtcclxuICAgICAgY29udGV4dCA9ICcvJyArIGNvbnRleHQ7XHJcbiAgICB9XHJcbiAgICBpZihuYXYgJiYgY29udGV4dC5pbmNsdWRlcyh0aGlzLmdldENvbnRleHRSb290KCkpKXtcclxuICAgICAgbmF2Lm5hdmlnYXRlRm9yd2FyZCh1cmkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd2luZG93Lm9wZW4obG9jYXRpb24ub3JpZ2luICsgYCR7Y29udGV4dH0vJHt1cml9YCAsICdfc2VsZicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoY29udGV4dDogc3RyaW5nLCB1cmk6IHN0cmluZywgZGF0YSwgbmF2PzogTmF2Q29udHJvbGxlcil7XHJcbiAgICBpZighY29udGV4dC5zdGFydHNXaXRoKCcvJykpe1xyXG4gICAgICBjb250ZXh0ID0gJy8nICsgY29udGV4dDtcclxuICAgIH1cclxuICAgIGxldCBzZXBhcmF0b3IgPSAnJic7XHJcbiAgICBpZighdXJpLmluY2x1ZGVzKCc/Jykpe1xyXG4gICAgICBzZXBhcmF0b3IgPSBcIj9cIjtcclxuICAgIH1cclxuICAgIGlmKG5hdiAmJiBjb250ZXh0LmluY2x1ZGVzKHRoaXMuZ2V0Q29udGV4dFJvb3QoKSkpe1xyXG4gICAgICBuYXYubmF2aWdhdGVGb3J3YXJkKGAke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyBgJHtjb250ZXh0fS8ke3VyaX0ke3NlcGFyYXRvcn1kYXRhPSR7YnRvYShKU09OLnN0cmluZ2lmeShkYXRhKSl9YCwnX3NlbGYnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hc2tFeGNlcHRGaXJzdEFuZExhc3RDaGFyKHZhbHVlIDogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZVswXSArIFwiKlwiLnJlcGVhdCh2YWx1ZS5sZW5ndGggLSAyKSArIHZhbHVlLnNsaWNlKC0xKTtcclxuICB9XHJcblxyXG4gIG1hc2tFbWFpbChlbWFpbCA6IHN0cmluZyl7XHJcbiAgICB2YXIgcGFydHMgPSBlbWFpbC5zcGxpdChcIkBcIik7XHJcbiAgICBpZihwYXJ0cy5sZW5ndGggPT0gMil7XHJcbiAgICAgIHJldHVybiB0aGlzLm1hc2tFeGNlcHRGaXJzdEFuZExhc3RDaGFyKHBhcnRzWzBdKSArIFwiQFwiICsgdGhpcy5tYXNrRXhjZXB0Rmlyc3RBbmRMYXN0Q2hhcihwYXJ0c1sxXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5tYXNrRXhjZXB0Rmlyc3RBbmRMYXN0Q2hhcihwYXJ0c1swXSk7XHJcbiAgfVxyXG5cclxuICBpc1BsYXlmb3JtQ2FwYWNpdG9yKCl7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5pcygnY2FwYWNpdG9yJyk7XHJcbiAgfVxyXG5cclxuICBpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZCgpIDogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gTGliQ29uc3RhbnRzLmlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkID09ICd0cnVlJztcclxuICB9XHJcblxyXG4gIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5KCkgOiBib29sZWFuIHtcclxuICAgIHJldHVybiBMaWJDb25zdGFudHMuaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3kgPT0gJ3RydWUnO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPblN1Ym1pdChlbDogRWxlbWVudFJlZil7XHJcbiAgICB2YXIgZWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgdGhpcy5mb2N1c2FibGVzLm1hcCh4ID0+IGAke3h9Lm5nLWludmFsaWRgKS5qb2luKFwiLFwiKVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICB2YXIgcHJpbWVOZ0NvbXBvbmVudCA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgICB0aGlzLmZvY3VzYWJsZXMubWFwKHggPT4gYCR7eH0ucC1jb21wb25lbnRgKS5qb2luKFwiLFwiKVxyXG4gICAgICApO1xyXG4gICAgICBpZiAocHJpbWVOZ0NvbXBvbmVudCkge1xyXG4gICAgICAgIHByaW1lTmdDb21wb25lbnQuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vQmxvY2sgZm9yIFJhZGlvIEJ1dHRvbiBTdGFydFxyXG4gICAgICB2YXIgcHJpbWVOZ0NvbXBvbmVudDEgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJkaXYucC1zZWxlY3RidXR0b25cIik7XHJcbiAgICAgIGlmIChwcmltZU5nQ29tcG9uZW50MSkge1xyXG4gICAgICAgIHZhciBwcmltZU5nQ29tcG9uZW50MiA9IHByaW1lTmdDb21wb25lbnQxLnF1ZXJ5U2VsZWN0b3IoXCJkaXYucC1jb21wb25lbnRcIik7XHJcbiAgICAgICAgaWYgKHByaW1lTmdDb21wb25lbnQyKSB7XHJcbiAgICAgICAgICBwcmltZU5nQ29tcG9uZW50Mi5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvL0Jsb2NrIGZvciBSYWRpbyBCdXR0b24gRW5kXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { LibConstants } from '../../models/LibConstants';
|
|
3
|
+
import { BaseService } from '../base-service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class WeeklyCertServiceV2 extends BaseService {
|
|
7
|
+
setServiceContext() {
|
|
8
|
+
this.serviceContext = LibConstants.weeklycert_service.context;
|
|
9
|
+
}
|
|
10
|
+
setServicePort() {
|
|
11
|
+
this.servicePort = LibConstants.weeklycert_service.port;
|
|
12
|
+
}
|
|
13
|
+
setServiceProtocol() {
|
|
14
|
+
this.protocol = LibConstants.weeklycert_service.protocol;
|
|
15
|
+
}
|
|
16
|
+
setServiceHost() {
|
|
17
|
+
this.host = LibConstants.weeklycert_service.host;
|
|
18
|
+
}
|
|
19
|
+
constructor(http) {
|
|
20
|
+
super(http);
|
|
21
|
+
this.http = http;
|
|
22
|
+
}
|
|
23
|
+
generateEventForReopenAicFlow(ssnInput) {
|
|
24
|
+
console.log("check the Aic Events for creation of this SSN:::" + ssnInput);
|
|
25
|
+
let paramsVal = null;
|
|
26
|
+
console.log("check the Aic Events for creation of this SSN::: 6...." + paramsVal);
|
|
27
|
+
return this.get(`weeklycert/events/${ssnInput}`).toPromise();
|
|
28
|
+
}
|
|
29
|
+
getPartialEmployment() {
|
|
30
|
+
console.log("Calling to get the IF any partial employment");
|
|
31
|
+
return this.get('weeklycert/partial-employment');
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = function WeeklyCertServiceV2_Factory(t) { return new (t || WeeklyCertServiceV2)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
34
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WeeklyCertServiceV2, factory: WeeklyCertServiceV2.ɵfac, providedIn: 'root' }); }
|
|
35
|
+
}
|
|
36
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeeklyCertServiceV2, [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
}]
|
|
41
|
+
}], () => [{ type: i1.HttpClient }], null); })();
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtdjIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUs5QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQUVsRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDaEUsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQW1CLElBQWdCO1FBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURLLFNBQUksR0FBSixJQUFJLENBQVk7SUFFbkMsQ0FBQztJQUVELDZCQUE2QixDQUFDLFFBQWdCO1FBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0RBQWtELEdBQUMsUUFBUSxDQUFDLENBQUM7UUFDekUsSUFBSSxTQUFTLEdBQUUsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0RBQXdELEdBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFNLHFCQUFxQixRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRXJFLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBRSxDQUFDO1FBQzVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBeUIsK0JBQStCLENBQUMsQ0FBQztJQUM1RSxDQUFDO29GQTlCUSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRmxCLE1BQU07O2lGQUVQLG1CQUFtQjtjQUgvQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XHJcbmltcG9ydCB7IFBhcnRpYWxFbXBsb3ltZW50TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGFydGlhbEVtcGxveW1lbnRNb2RlbCc7XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdlZWtseUNlcnRTZXJ2aWNlVjIgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIHNldFNlcnZpY2VDb250ZXh0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlQ29udGV4dCA9IExpYkNvbnN0YW50cy53ZWVrbHljZXJ0X3NlcnZpY2UuY29udGV4dDtcclxuICB9XHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLndlZWtseWNlcnRfc2VydmljZS5wb3J0O1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlUHJvdG9jb2woKSB7XHJcbiAgICB0aGlzLnByb3RvY29sID0gTGliQ29uc3RhbnRzLndlZWtseWNlcnRfc2VydmljZS5wcm90b2NvbDtcclxuICB9XHJcbiAgc2V0U2VydmljZUhvc3QoKSB7XHJcbiAgICB0aGlzLmhvc3QgPSBMaWJDb25zdGFudHMud2Vla2x5Y2VydF9zZXJ2aWNlLmhvc3Q7XHJcbiAgfSAgXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlRXZlbnRGb3JSZW9wZW5BaWNGbG93KHNzbklucHV0OiBzdHJpbmcpOiBQcm9taXNlPGFueT4geyAgICBcclxuICAgIGNvbnNvbGUubG9nKFwiY2hlY2sgdGhlIEFpYyBFdmVudHMgZm9yIGNyZWF0aW9uIG9mIHRoaXMgU1NOOjo6XCIrc3NuSW5wdXQpO1xyXG4gICAgbGV0IHBhcmFtc1ZhbCA9bnVsbDtcclxuICAgIGNvbnNvbGUubG9nKFwiY2hlY2sgdGhlIEFpYyBFdmVudHMgZm9yIGNyZWF0aW9uIG9mIHRoaXMgU1NOOjo6IDYuLi4uXCIrcGFyYW1zVmFsKTtcclxuICAgICAgIHJldHVybiB0aGlzLmdldDxhbnk+KGB3ZWVrbHljZXJ0L2V2ZW50cy8ke3NzbklucHV0fWApLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIGdldFBhcnRpYWxFbXBsb3ltZW50KCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkNhbGxpbmcgdG8gZ2V0IHRoZSBJRiBhbnkgcGFydGlhbCBlbXBsb3ltZW50XCIgKTtcclxuICAgICAgIHJldHVybiB0aGlzLmdldDxQYXJ0aWFsRW1wbG95bWVudE1vZGVsPignd2Vla2x5Y2VydC9wYXJ0aWFsLWVtcGxveW1lbnQnKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4iXX0=
|
|
@@ -46,4 +46,4 @@ export class AppRegex {
|
|
|
46
46
|
*/
|
|
47
47
|
static { this.STATION_NO_REGEX = /^[A-Za-z0-9]{4}$/; }
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwUmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3ZhbGlkYXRpb25zL0FwcFJlZ2V4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxXQUFXO0FBQ1gsTUFBTSxPQUFPLFFBQVE7SUFDakI7O01BRUU7YUFDSyxtQkFBYyxHQUFZLHdCQUF3QixDQUFDO0lBRTFEOztNQUVFO2FBQ0ssZUFBVSxHQUFhLDBCQUEwQixDQUFDO0lBRXpEOztNQUVFO2FBQ0ssMEJBQXFCLEdBQWEsZ0JBQWdCLENBQUM7SUFFMUQ7O01BRUU7YUFDSyx3QkFBbUIsR0FBYSw0QkFBNEIsQ0FBQztJQUVwRTs7TUFFRTthQUNLLHFCQUFnQixHQUFhLFlBQVksQ0FBQztJQUVqRDs7TUFFRTthQUNLLHFCQUFnQixHQUFhLFlBQVksQ0FBQztJQUVqRDs7TUFFRTthQUNLLGlCQUFZLEdBQWEsWUFBWSxDQUFDO0lBRTdDOztNQUVFO2FBQ0sseUJBQW9CLEdBQVksT0FBTyxDQUFDO0lBRS9DOztNQUVFO2FBQ0ssZ0JBQVcsR0FBYSx3SkFBd0osQ0FBQztJQUV4TDs7T0FFRzthQUNJLHFCQUFnQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKlxyXG4gKiBcclxuICogQGRlc2NyaXB0aW9uIENsYXNzIENvbnRhaW5zIGFsbCByZWd1bGFyIGV4cHJlc3Npb25zIHVzZWQgaW4gdGhlIHByb2plY3QuXHJcbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gKi9cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFwcFJlZ2V4e1xyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSB1c2VybmFtZVxyXG4gICAgKi9cclxuICAgIHN0YXRpYyBVU0VSTkFNRV9SRUdFWCA6IFJlZ0V4cCA9IC9eW2EtekEtWl17MX1bXFx3XFxAXFwuXSokLztcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVndWxhciBFeHByZXNzaW9uIHRvIHZhbGlkYXRlIEZpcnN0IE5hbWUsIExhc3QgTmFtZVxyXG4gICAgKi9cclxuICAgIHN0YXRpYyBOQU1FX1JFR0VYIDogUmVnRXhwICA9IC9eW0EtWmEteiVdW0EtWmEtelxccyctXSokLztcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVndWxhciBFeHByZXNzaW9uIHRvIHZhbGlkYXRlIGlmIGF0IGxlYXN0IDEgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIgaXMgcHJlc2VudCBvciBub3QgOiAnXycgJ0AnICcqJyAnJCcgJyEnICcjJyAnLidcclxuICAgICovXHJcbiAgICBzdGF0aWMgQ0xBSU1BTlRfU1lNQk9MX1JFR0VYIDogUmVnRXhwICA9IC8uKltfQCokISMuXSsuKi87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBpZiBhdCBsZWFzdCAyIG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyIGlzIHByZXNlbnQgb3Igbm90IDogJ18nICdAJyAnKicgJyQnICchJyAnIycgJy4nXHJcbiAgICAqL1xyXG4gICAgc3RhdGljIEFHRU5DWV9TWU1CT0xfUkVHRVggOiBSZWdFeHAgID0gLy4qW19AKiQhIy5dKy4qW19AKiQhIy5dKy4qLztcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVndWxhciBFeHByZXNzaW9uIHRvIHZhbGlkYXRlIGlmIHNtYWxsIGNhc2UgbGV0dGVyIGlzIHByZXNlbnQgb3Igbm90XHJcbiAgICAqL1xyXG4gICAgc3RhdGljIExPV0VSX0NBU0VfUkVHRVggOiBSZWdFeHAgID0gLy4qW2Etel0rLiovO1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIEV4cHJlc3Npb24gdG8gdmFsaWRhdGUgaWYgdXBwZXIgY2FzZSBsZXR0ZXIgaXMgcHJlc2VudCBvciBub3RcclxuICAgICovXHJcbiAgICBzdGF0aWMgVVBQRVJfQ0FTRV9SRUdFWCA6IFJlZ0V4cCAgPSAvLipbQS1aXSsuKi87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBpZiBudW1iYmVyIGlzIHByZXNlbnQgb3Igbm90XHJcbiAgICAqL1xyXG4gICAgc3RhdGljIE5VTUJFUl9SRUdFWCA6IFJlZ0V4cCAgPSAvLipbMC05XSsuKi87XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgRXhwcmVzc2lvbiB0byB2YWxpZGF0ZSBpZiBhY2NvdW50bnVtYmVyIGhhcyBvbmx5IG51bWJlcnMgcHJlc2VudCBvciBub3RcclxuICAgICovXHJcbiAgICBzdGF0aWMgQUNDT1VOVF9OVU1CRVJfUkVHRVggOiBSZWdFeHAgPSAvXlxcZCskLztcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVndWxhciBFeHByZXNzaW9uIHRvIHZhbGlkYXRlIGVtYWlsIGZvcm1hdFxyXG4gICAgKi9cclxuICAgIHN0YXRpYyBFTUFJTF9SRUdFWCA6IFJlZ0V4cCAgPSAvXigoW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1swLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31dKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWd1bGFyIEV4cHJlc3Npb24gdG8gc3RhdGlvbiBuby4gZm9ybWF0XHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBTVEFUSU9OX05PX1JFR0VYID0gL15bQS1aYS16MC05XXs0fSQvO1xyXG59Il19
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
1
|
/***
|
|
3
2
|
*
|
|
4
3
|
* @description Class Contains all common form validation used in the project.
|
|
@@ -61,16 +60,22 @@ export class AppValidators {
|
|
|
61
60
|
}
|
|
62
61
|
// @dynamic
|
|
63
62
|
static requiredIfValidator(predicate) {
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
return (formControl) => {
|
|
64
|
+
try {
|
|
65
|
+
if (formControl == null) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
if (formControl.value == null && predicate()) {
|
|
69
|
+
return {
|
|
70
|
+
required: 'required'
|
|
71
|
+
};
|
|
72
|
+
}
|
|
66
73
|
return null;
|
|
67
74
|
}
|
|
68
|
-
|
|
69
|
-
return
|
|
75
|
+
catch (e) {
|
|
76
|
+
return null;
|
|
70
77
|
}
|
|
71
|
-
|
|
72
|
-
});
|
|
73
|
-
return func;
|
|
78
|
+
};
|
|
74
79
|
}
|
|
75
80
|
/**
|
|
76
81
|
*
|
|
@@ -190,30 +195,5 @@ export class AppValidators {
|
|
|
190
195
|
return valid ? null : error;
|
|
191
196
|
};
|
|
192
197
|
}
|
|
193
|
-
static isAfter(first) {
|
|
194
|
-
//return (control: AbstractControl): ValidationErrors | null => {
|
|
195
|
-
return (control) => {
|
|
196
|
-
if (!control.value) {
|
|
197
|
-
// if control is empty return no error
|
|
198
|
-
return null;
|
|
199
|
-
}
|
|
200
|
-
let wsDate = control.value;
|
|
201
|
-
//first = new Date('01-01-1970 00:03:44');
|
|
202
|
-
if (wsDate.getDate() > first.getDate()) {
|
|
203
|
-
console.log("dateAfter : true");
|
|
204
|
-
return { dateAfter: false };
|
|
205
|
-
}
|
|
206
|
-
console.log("dateAfter : false");
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
static test(control) {
|
|
210
|
-
const testConst = control.value;
|
|
211
|
-
if (testConst === "hi") {
|
|
212
|
-
return null;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
return { nomatch: true };
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
198
|
}
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwVmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pIOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUV4QixNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBa0I7UUFDaEQsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxFQUFFO1lBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLFNBQTJCO1FBQ3BFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxPQUFPLFFBQVEsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsV0FBVztJQUNYLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFtQixFQUFFLG1CQUEyQjtRQUN0RSxNQUFNLElBQUksR0FBRyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sZUFB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QUE7Z0JBQy9CLE9BQU8sRUFBQyxTQUFTLEVBQUcsS0FBSyxFQUFDLENBQUM7YUFDNUI7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDbEMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBd0I7UUFFbEMsTUFBTSxTQUFTLEdBQVUsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxFQUFDLE9BQU8sRUFBRyxJQUFJLEVBQUMsQ0FBQTtTQUN4QjtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8qKipcbiAqIFxuICogQGRlc2NyaXB0aW9uIENsYXNzIENvbnRhaW5zIGFsbCBjb21tb24gZm9ybSB2YWxpZGF0aW9uIHVzZWQgaW4gdGhlIHByb2plY3QuXG4gKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcbiAqL1xuZXhwb3J0IGNsYXNzIEFwcFZhbGlkYXRvcnMge1xuXG4gIHN0YXRpYyBjb25maXJtUGFzc3dvcmRWYWxpZGF0b3IoYzogQWJzdHJhY3RDb250cm9sKTogeyBpbnZhbGlkOiBib29sZWFuIH0ge1xuICAgIGlmIChjLmdldCgncGFzc3dvcmQnKS52YWx1ZSAhPSBjLmdldCgnY29uZmlybVBhc3N3b3JkJykudmFsdWUpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWQ6IHRydWUgfTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgcGFzc3dvcmRBbmRDb25maXJtUGFzc3dvcmRNdXN0TWF0Y2goZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgY29uc3QgeyB2YWx1ZTogcGFzc3dvcmQgfSA9IGZvcm1Hcm91cC5nZXQoJ3Bhc3N3b3JkJyk7XG4gICAgY29uc3QgeyB2YWx1ZTogY29uZmlybVBhc3N3b3JkIH0gPSBmb3JtR3JvdXAuZ2V0KCdjb25maXJtUGFzc3dvcmQnKTtcbiAgICByZXR1cm4gcGFzc3dvcmQgPT09IGNvbmZpcm1QYXNzd29yZCA/IG51bGwgOiB7IHBhc3N3b3JkTm90TWF0Y2g6IHRydWUgfTtcbiAgfVxuXG4gIC8vIEBkeW5hbWljXG4gIHN0YXRpYyBjb25maXJtVmFsaWRhdG9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIG1hdGNoaW5nQ29udHJvbE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGZ1bmMgPSAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXTtcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1ttYXRjaGluZ0NvbnRyb2xOYW1lXTtcbiAgICAgIGlmIChtYXRjaGluZ0NvbnRyb2wuZXJyb3JzICYmICFtYXRjaGluZ0NvbnRyb2wuZXJyb3JzLmNvbmZpcm1lZFZhbGlkYXRvcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XG4gICAgICAgIG1hdGNoaW5nQ29udHJvbC5zZXRFcnJvcnMoeyBub3RNYXRjaDogdHJ1ZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1hdGNoaW5nQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jO1xuICB9XG4gIFxuICAvLyBAZHluYW1pY1xuICBzdGF0aWMgc2VsZWN0QXRsZWFzdE9uZSh2YWxpZGF0b3I6IFZhbGlkYXRvckZuKSB7XG4gICAgY29uc3QgZnVuYyA9IChncm91cDogVW50eXBlZEZvcm1Hcm91cCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGNvbnN0IGlzQXRsZWFzdE9uZVBhc3NUaGVWYWxpZGF0aW9uID0gZ3JvdXAgJiYgZ3JvdXAuY29udHJvbHMgJiYgT2JqZWN0LmtleXMoZ3JvdXAuY29udHJvbHMpLnNvbWUoayA9PiAhdmFsaWRhdG9yKGdyb3VwLmNvbnRyb2xzW2tdKSk7XG4gICAgICByZXR1cm4gaXNBdGxlYXN0T25lUGFzc1RoZVZhbGlkYXRpb24gPyBudWxsIDogeyBzZWxlY3RBdGxlYXN0T25lOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiBmdW5jO1xuICB9XG5cbiAgLy8gQGR5bmFtaWNcbiAgc3RhdGljIGF0TGVhc3RPbmVOb25aZXJvVmFsdWVWYWxpZGF0b3IobWluUmVxdWlyZWQ6IG51bWJlciA9IDEsIG5hbWU/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHZhbGlkYXRlKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgICBsZXQgbm9PZk5vblplcm9WYWx1ZXMgPSAwXG4gICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1trZXldXG4gICAgICAgIGxldCB2YWx1ZSA9IG5hbWUgPyAgY29udHJvbC52YWx1ZVtuYW1lXSA6IGNvbnRyb2wudmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSA+IDApIHtcbiAgICAgICAgICBub09mTm9uWmVyb1ZhbHVlcysrXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICBpZiAobm9PZk5vblplcm9WYWx1ZXMgPCBtaW5SZXF1aXJlZCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlcXVpcmVDaGVja2JveFRvQmVDaGVja2VkOiB0cnVlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIC8vIEBkeW5hbWljXG4gIHN0YXRpYyByZXF1aXJlZElmVmFsaWRhdG9yKHByZWRpY2F0ZSkge1xuICAgIGNvbnN0IGZ1bmMgPSAoZm9ybUNvbnRyb2wgPT4ge1xuICAgICAgaWYgKCFmb3JtQ29udHJvbC5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVkaWNhdGUoKSA9PT0gJzEnIHx8IHByZWRpY2F0ZSgpID09PSAndHJ1ZScgfHwgcHJlZGljYXRlKCkpIHtcbiAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMucmVxdWlyZWQoZm9ybUNvbnRyb2wpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSlcbiAgICByZXR1cm4gZnVuYztcbiAgfVxuXG4gIC8qKlxuICAgKiBcbiAgICogQHBhcmFtIHJlZ2V4IFJlZ3VsYXIgRXhwcmVzc2lvbiBhZ2FpbnN0IHdoaWNoIHZhbHVlIG5lZWRzIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcGFyYW0gZXJyb3IgRXJyb3Igd2hpY2ggc2hvdWxkIGJlIHJldHVybmVkIGluIGNhc2UgdmFsaWRhdGlvbiBmYWlsc1xuICAgKiBcbiAgICogQGRlc2NyaXB0aW9uIEZvcm0gdmFsaWRhdG9yIHRvIHZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgYWdhaW5zdCBhIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgKiBcbiAgICogQGF1dGhvciBQcmVyYWsgVGl3YXJpXG4gICAqL1xuICAgc3RhdGljIG1hdGNoKHJlZ2V4OiBSZWdFeHAsIGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IGZ1bmMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIHRlc3QgdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sIGFnYWluc3QgdGhlIHJlZ2V4cCBzdXBwbGllZFxuICAgICAgY29uc3QgdmFsaWQgPSByZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxuICAgICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IGVycm9yO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cblxuICAgIC8qKipcbiAgICAqIFRoaXMgbWV0aG9kIGNoZWNrcyBpZiB0aGUgZW50ZXJlZCByb3V0aW5nIG51bWJlciBpcyB2YWxpZCBvciBub3QgYXMgcGVyIGZvbGxvd2luZyBsb2dpY1xuICAgICogXG4gICAgKiAoMyAqIChkMSArIGQ0ICsgZDcpICsgNyAqIChkMiArIGQ1ICsgZDgpICsgMSAqIChkMyArIGQ2ICsgZDkpICkgbW9kIDEwID0gMFxuICAgICogXG4gICAgKiAgVGhpcyBmb3JtdWxhIGlzIHRha2VuIGZyb20gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUm91dGluZ190cmFuc2l0X251bWJlciNNSUNSX1JvdXRpbmdfbnVtYmVyX2Zvcm1hdFxuICAgICovXG4gIHN0YXRpYyBpc1ZhbGlkUm91dGluZ051bWJlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtzOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGxldCByb3V0aW5nTnVtYmVyID0gY29udHJvbC52YWx1ZTtcbiAgICBsZXQgc3VtID0gMCwgbW9kID0gMDtcbiAgICBsZXQgcm91dGluZ051bWJlckFyciA9IChyb3V0aW5nTnVtYmVyICsgXCJcIikuc3BsaXQoXCJcIik7XG4gICAgbGV0IHN1bTEgPSAzICogKHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbMF0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFyclszXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzZdKSk7XG4gICAgbGV0IHN1bTIgPSA3ICogKHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbMV0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFycls0XSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzddKSk7XG4gICAgbGV0IHN1bTMgPSAxICogKHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbMl0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFycls1XSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzhdKSk7XG5cbiAgICBzdW0gPSBzdW0xICsgc3VtMiArIHN1bTM7XG4gICAgbW9kID0gc3VtICUgMTA7XG5cbiAgICBpZiAoIShtb2QgPT0gMCkpIHtcbiAgICAgIHJldHVybiB7IGlzUm91dGluZ051bWJlck5vdFZhbGlkOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0YXRpYyBpc1ZhbGlkWmlwQ29kZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtzOiBzdHJpbmddOiBib29sZWFuIH17XG4gICAgaWYoY29udHJvbC52YWx1ZSAhPSBudWxsICYmICFBcHBWYWxpZGF0b3JzLmlzTnVtYmVyKGNvbnRyb2wudmFsdWUpKXtcbiAgICAgIHJldHVybiB7aW52YWxpZE51bWJlciA6IHRydWV9O1xuICAgIH1lbHNlIGlmKGNvbnRyb2wudmFsdWUgIT0gbnVsbCAmJiAoY29udHJvbC52YWx1ZS5sZW5ndGggPT0gNSB8fCBjb250cm9sLnZhbHVlLmxlbmd0aCA9PSA5KSl7XG4gICAgICAvL2RvIG5vdGhpbmdcbiAgICB9ZWxzZXtcbiAgICAgIHJldHVybiB7aW52YWxpZExlbmd0aCA6IHRydWV9O1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpc1ZhbGlkQ2FuYWRpYW5aaXBDb2RlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgaWYoIUFwcFZhbGlkYXRvcnMuaXNDYW5hZGFaaXBDb2RlKGNvbnRyb2wudmFsdWUpKXtcbiAgICAgIHJldHVybiB7aW52YWxpZFppcENvZGUgOiB0cnVlfTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaXNDYW5hZGFaaXBDb2RlKHN0cmluZykge1xuICAgIHZhciByZWcgPSAvXltBQkNFR0hKLU5QUlNUVlhZXVxcZFtBQkNFR0hKLU5QUlNUVi1aXVsgLV0/XFxkW0FCQ0VHSEotTlBSU1RWLVpdXFxkJC9pO1xuICAgIHJldHVybiByZWcudGVzdChzdHJpbmcpO1xuICB9XG5cbiAgc3RhdGljIGlzTnVtYmVyKG51bWJlcikge1xuICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKFwiXlswLTldKiRcIik7IFxuICAgIHJldHVybiByZWcudGVzdChudW1iZXIpO1xuICB9XG5cbiAgc3RhdGljIGlzQmV0d2Vlbihmcm9tIDogRGF0ZSwgdG86IERhdGUpIDogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBsZXQgd3NEYXRlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGlmKHdzRGF0ZS5nZXRUaW1lKCkgPCBmcm9tLmdldFRpbWUoKSB8fCB3c0RhdGUuZ2V0VGltZSgpID4gdG8uZ2V0VGltZSgpKXtcbiAgICAgICAgcmV0dXJuIHtkYXRlTm90QmV0d2VlbiA6IHRydWV9O1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZXF1YWwobWF0Y2hpbmdDb250cm9sTmFtZTogc3RyaW5nLCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGxldCBtYXRjaGluZ0NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChtYXRjaGluZ0NvbnRyb2xOYW1lKTtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XG4gICAgICAgIC8vIGlmIGNvbnRyb2wgaXMgZW1wdHkgcmV0dXJuIG5vIGVycm9yXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWxpZCA9IChjb250cm9sLnZhbHVlID09PSBtYXRjaGluZ0NvbnRyb2wudmFsdWUpO1xuXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcbiAgICogQHBhcmFtIG1hdGNoaW5nQ29udHJvbE5hbWUgRm9ybSBjb250cm9sIG5hbWUgYWdhaW5zdCB3aGljaCBjdXJyZW50IGZvcm0gY29udHJvbCB2YWx1ZSBzaG91bGQgYmUgbWF0Y2hlZFxuICAgKiBAcGFyYW0gZXJyb3IgRXJyb3Igd2hpY2ggc2hvdWxkIGJlIHJldHVybmVkIGluIGNhc2UgdmFsaWRhdGlvbiBmYWlsc1xuICAgKiBcbiAgICogQGRlc2NyaXB0aW9uIEZvcm0gdmFsaWRhdG9yIHRvIHZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgYWdhaW5zdCBhIG90aGVyIGNvbnRyb2wgdmFsdWVcbiAgICogXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICAgKi9cbiAgc3RhdGljIG5vdEVxdWFsKG1hdGNoaW5nQ29udHJvbE5hbWU6IHN0cmluZywgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBsZXQgbWF0Y2hpbmdDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQobWF0Y2hpbmdDb250cm9sTmFtZSk7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgIW1hdGNoaW5nQ29udHJvbC52YWx1ZSkge1xuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsaWQgPSAoY29udHJvbC52YWx1ZSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKTtcblxuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxuICAgICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IGVycm9yO1xuICAgIH07XG4gIH1cblxuICBzdGF0aWMgaXNBZnRlcihmaXJzdCA6IERhdGUpICB7XG4gICAgXG4gICAgLy9yZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6ICBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9PT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIC8vIGlmIGNvbnRyb2wgaXMgZW1wdHkgcmV0dXJuIG5vIGVycm9yXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgbGV0IHdzRGF0ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAvL2ZpcnN0ID0gbmV3IERhdGUoJzAxLTAxLTE5NzAgMDA6MDM6NDQnKTtcbiAgICAgIGlmKHdzRGF0ZS5nZXREYXRlKCkgPiBmaXJzdC5nZXREYXRlKCkpe1xuICAgICAgICBjb25zb2xlLmxvZyhcImRhdGVBZnRlciA6IHRydWVcIilcbiAgICAgICAgcmV0dXJuIHtkYXRlQWZ0ZXIgOiBmYWxzZX07XG4gICAgICB9XG4gICAgICBjb25zb2xlLmxvZyhcImRhdGVBZnRlciA6IGZhbHNlXCIpXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyB0ZXN0KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH18IG51bGwgIHtcblxuICAgIGNvbnN0IHRlc3RDb25zdDpzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICh0ZXN0Q29uc3QgPT09IFwiaGlcIikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7bm9tYXRjaCA6IHRydWV9XG4gICAgfVxuICB9XG4gIFxufSJdfQ==
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwVmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFFeEIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQWtCO1FBQ2hELElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxTQUEyQjtRQUNwRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEUsT0FBTyxRQUFRLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELFdBQVc7SUFDWCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBbUIsRUFBRSxtQkFBMkI7UUFDdEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUEyQixFQUFFLEVBQUU7WUFDM0MsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7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QUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUEyQixFQUFFLEtBQXVCO1FBQ2xFLE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1lBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsSUFBSSxlQUFlLEdBQW9CLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFO2dCQUM1QyxzQ0FBc0M7Z0JBQ3RDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhELHdGQUF3RjtZQUN4RixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuLyoqKlxyXG4gKiBcclxuICogQGRlc2NyaXB0aW9uIENsYXNzIENvbnRhaW5zIGFsbCBjb21tb24gZm9ybSB2YWxpZGF0aW9uIHVzZWQgaW4gdGhlIHByb2plY3QuXHJcbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFwcFZhbGlkYXRvcnMge1xyXG5cclxuICBzdGF0aWMgY29uZmlybVBhc3N3b3JkVmFsaWRhdG9yKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgaW52YWxpZDogYm9vbGVhbiB9IHtcclxuICAgIGlmIChjLmdldCgncGFzc3dvcmQnKS52YWx1ZSAhPSBjLmdldCgnY29uZmlybVBhc3N3b3JkJykudmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHsgaW52YWxpZDogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhc3N3b3JkQW5kQ29uZmlybVBhc3N3b3JkTXVzdE1hdGNoKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCkge1xyXG4gICAgY29uc3QgeyB2YWx1ZTogcGFzc3dvcmQgfSA9IGZvcm1Hcm91cC5nZXQoJ3Bhc3N3b3JkJyk7XHJcbiAgICBjb25zdCB7IHZhbHVlOiBjb25maXJtUGFzc3dvcmQgfSA9IGZvcm1Hcm91cC5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpO1xyXG4gICAgcmV0dXJuIHBhc3N3b3JkID09PSBjb25maXJtUGFzc3dvcmQgPyBudWxsIDogeyBwYXNzd29yZE5vdE1hdGNoOiB0cnVlIH07XHJcbiAgfVxyXG5cclxuICAvLyBAZHluYW1pY1xyXG4gIHN0YXRpYyBjb25maXJtVmFsaWRhdG9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIG1hdGNoaW5nQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZnVuYyA9IChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXApID0+IHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV07XHJcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1ttYXRjaGluZ0NvbnRyb2xOYW1lXTtcclxuICAgICAgaWYgKG1hdGNoaW5nQ29udHJvbC5lcnJvcnMgJiYgIW1hdGNoaW5nQ29udHJvbC5lcnJvcnMuY29uZmlybWVkVmFsaWRhdG9yKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cm9sLnZhbHVlICE9PSBtYXRjaGluZ0NvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICBtYXRjaGluZ0NvbnRyb2wuc2V0RXJyb3JzKHsgbm90TWF0Y2g6IHRydWUgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbWF0Y2hpbmdDb250cm9sLnNldEVycm9ycyhudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZ1bmM7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIEBkeW5hbWljXHJcbiAgc3RhdGljIHNlbGVjdEF0bGVhc3RPbmUodmFsaWRhdG9yOiBWYWxpZGF0b3JGbikge1xyXG4gICAgY29uc3QgZnVuYyA9IChncm91cDogVW50eXBlZEZvcm1Hcm91cCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgY29uc3QgaXNBdGxlYXN0T25lUGFzc1RoZVZhbGlkYXRpb24gPSBncm91cCAmJiBncm91cC5jb250cm9scyAmJiBPYmplY3Qua2V5cyhncm91cC5jb250cm9scykuc29tZShrID0+ICF2YWxpZGF0b3IoZ3JvdXAuY29udHJvbHNba10pKTtcclxuICAgICAgcmV0dXJuIGlzQXRsZWFzdE9uZVBhc3NUaGVWYWxpZGF0aW9uID8gbnVsbCA6IHsgc2VsZWN0QXRsZWFzdE9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZ1bmM7XHJcbiAgfVxyXG5cclxuICAvLyBAZHluYW1pY1xyXG4gIHN0YXRpYyBhdExlYXN0T25lTm9uWmVyb1ZhbHVlVmFsaWRhdG9yKG1pblJlcXVpcmVkOiBudW1iZXIgPSAxLCBuYW1lPzogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHZhbGlkYXRlKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XHJcbiAgICAgIGxldCBub09mTm9uWmVyb1ZhbHVlcyA9IDBcclxuICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1trZXldXHJcbiAgICAgICAgbGV0IHZhbHVlID0gbmFtZSA/ICBjb250cm9sLnZhbHVlW25hbWVdIDogY29udHJvbC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUgPiAwKSB7XHJcbiAgICAgICAgICBub09mTm9uWmVyb1ZhbHVlcysrXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICBpZiAobm9PZk5vblplcm9WYWx1ZXMgPCBtaW5SZXF1aXJlZCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogdHJ1ZSxcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICB9XHJcbiAgLy8gQGR5bmFtaWNcclxuICBzdGF0aWMgcmVxdWlyZWRJZlZhbGlkYXRvcihwcmVkaWNhdGUpIHtcclxuICAgIHJldHVybiAoZm9ybUNvbnRyb2wpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBpZiAoZm9ybUNvbnRyb2w9PW51bGwpIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZm9ybUNvbnRyb2wudmFsdWUgPT0gbnVsbCAgJiYgcHJlZGljYXRlKCkpIHtcclxuICAgICAgICAgIHJldHVybnsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaChlKXtcclxuICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHJlZ2V4IFJlZ3VsYXIgRXhwcmVzc2lvbiBhZ2FpbnN0IHdoaWNoIHZhbHVlIG5lZWRzIHRvIGJlIHZhbGlkYXRlZFxyXG4gICAqIEBwYXJhbSBlcnJvciBFcnJvciB3aGljaCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSB2YWxpZGF0aW9uIGZhaWxzXHJcbiAgICogXHJcbiAgICogQGRlc2NyaXB0aW9uIEZvcm0gdmFsaWRhdG9yIHRvIHZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgYWdhaW5zdCBhIHJlZ3VsYXIgZXhwcmVzc2lvblxyXG4gICAqIFxyXG4gICAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxyXG4gICAqL1xyXG4gICBzdGF0aWMgbWF0Y2gocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCBmdW5jID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB0ZXN0IHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbCBhZ2FpbnN0IHRoZSByZWdleHAgc3VwcGxpZWRcclxuICAgICAgY29uc3QgdmFsaWQgPSByZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXHJcbiAgICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiBlcnJvcjtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZnVuYztcclxuICB9XHJcblxyXG4gICAgLyoqKlxyXG4gICAgKiBUaGlzIG1ldGhvZCBjaGVja3MgaWYgdGhlIGVudGVyZWQgcm91dGluZyBudW1iZXIgaXMgdmFsaWQgb3Igbm90IGFzIHBlciBmb2xsb3dpbmcgbG9naWNcclxuICAgICogXHJcbiAgICAqICgzICogKGQxICsgZDQgKyBkNykgKyA3ICogKGQyICsgZDUgKyBkOCkgKyAxICogKGQzICsgZDYgKyBkOSkgKSBtb2QgMTAgPSAwXHJcbiAgICAqIFxyXG4gICAgKiAgVGhpcyBmb3JtdWxhIGlzIHRha2VuIGZyb20gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUm91dGluZ190cmFuc2l0X251bWJlciNNSUNSX1JvdXRpbmdfbnVtYmVyX2Zvcm1hdFxyXG4gICAgKi9cclxuICBzdGF0aWMgaXNWYWxpZFJvdXRpbmdOdW1iZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBbczogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuICAgIGxldCByb3V0aW5nTnVtYmVyID0gY29udHJvbC52YWx1ZTtcclxuICAgIGxldCBzdW0gPSAwLCBtb2QgPSAwO1xyXG4gICAgbGV0IHJvdXRpbmdOdW1iZXJBcnIgPSAocm91dGluZ051bWJlciArIFwiXCIpLnNwbGl0KFwiXCIpO1xyXG4gICAgbGV0IHN1bTEgPSAzICogKHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbMF0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFyclszXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzZdKSk7XHJcbiAgICBsZXQgc3VtMiA9IDcgKiAocGFyc2VJbnQocm91dGluZ051bWJlckFyclsxXSkgKyBwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzRdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbN10pKTtcclxuICAgIGxldCBzdW0zID0gMSAqIChwYXJzZUludChyb3V0aW5nTnVtYmVyQXJyWzJdKSArIHBhcnNlSW50KHJvdXRpbmdOdW1iZXJBcnJbNV0pICsgcGFyc2VJbnQocm91dGluZ051bWJlckFycls4XSkpO1xyXG5cclxuICAgIHN1bSA9IHN1bTEgKyBzdW0yICsgc3VtMztcclxuICAgIG1vZCA9IHN1bSAlIDEwO1xyXG5cclxuICAgIGlmICghKG1vZCA9PSAwKSkge1xyXG4gICAgICByZXR1cm4geyBpc1JvdXRpbmdOdW1iZXJOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzVmFsaWRaaXBDb2RlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW3M6IHN0cmluZ106IGJvb2xlYW4gfXtcclxuICAgIGlmKGNvbnRyb2wudmFsdWUgIT0gbnVsbCAmJiAhQXBwVmFsaWRhdG9ycy5pc051bWJlcihjb250cm9sLnZhbHVlKSl7XHJcbiAgICAgIHJldHVybiB7aW52YWxpZE51bWJlciA6IHRydWV9O1xyXG4gICAgfWVsc2UgaWYoY29udHJvbC52YWx1ZSAhPSBudWxsICYmIChjb250cm9sLnZhbHVlLmxlbmd0aCA9PSA1IHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoID09IDkpKXtcclxuICAgICAgLy9kbyBub3RoaW5nXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHtpbnZhbGlkTGVuZ3RoIDogdHJ1ZX07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNWYWxpZENhbmFkaWFuWmlwQ29kZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtzOiBzdHJpbmddOiBib29sZWFuIH0ge1xyXG4gICAgaWYoIUFwcFZhbGlkYXRvcnMuaXNDYW5hZGFaaXBDb2RlKGNvbnRyb2wudmFsdWUpKXtcclxuICAgICAgcmV0dXJuIHtpbnZhbGlkWmlwQ29kZSA6IHRydWV9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzQ2FuYWRhWmlwQ29kZShzdHJpbmcpIHtcclxuICAgIHZhciByZWcgPSAvXltBQkNFR0hKLU5QUlNUVlhZXVxcZFtBQkNFR0hKLU5QUlNUVi1aXVsgLV0/XFxkW0FCQ0VHSEotTlBSU1RWLVpdXFxkJC9pO1xyXG4gICAgcmV0dXJuIHJlZy50ZXN0KHN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNOdW1iZXIobnVtYmVyKSB7XHJcbiAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cChcIl5bMC05XSokXCIpOyBcclxuICAgIHJldHVybiByZWcudGVzdChudW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzQmV0d2Vlbihmcm9tIDogRGF0ZSwgdG86IERhdGUpIDogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgd3NEYXRlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgaWYod3NEYXRlLmdldFRpbWUoKSA8IGZyb20uZ2V0VGltZSgpIHx8IHdzRGF0ZS5nZXRUaW1lKCkgPiB0by5nZXRUaW1lKCkpe1xyXG4gICAgICAgIHJldHVybiB7ZGF0ZU5vdEJldHdlZW4gOiB0cnVlfTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBlcXVhbChtYXRjaGluZ0NvbnRyb2xOYW1lOiBzdHJpbmcsIGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBtYXRjaGluZ0NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChtYXRjaGluZ0NvbnRyb2xOYW1lKTtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFtYXRjaGluZ0NvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAvLyBpZiBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCB2YWxpZCA9IChjb250cm9sLnZhbHVlID09PSBtYXRjaGluZ0NvbnRyb2wudmFsdWUpO1xyXG5cclxuICAgICAgLy8gaWYgdHJ1ZSwgcmV0dXJuIG5vIGVycm9yIChubyBlcnJvciksIGVsc2UgcmV0dXJuIGVycm9yIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlclxyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG1hdGNoaW5nQ29udHJvbE5hbWUgRm9ybSBjb250cm9sIG5hbWUgYWdhaW5zdCB3aGljaCBjdXJyZW50IGZvcm0gY29udHJvbCB2YWx1ZSBzaG91bGQgYmUgbWF0Y2hlZFxyXG4gICAqIEBwYXJhbSBlcnJvciBFcnJvciB3aGljaCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSB2YWxpZGF0aW9uIGZhaWxzXHJcbiAgICogXHJcbiAgICogQGRlc2NyaXB0aW9uIEZvcm0gdmFsaWRhdG9yIHRvIHZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgYWdhaW5zdCBhIG90aGVyIGNvbnRyb2wgdmFsdWVcclxuICAgKiBcclxuICAgKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICAgKi9cclxuICBzdGF0aWMgbm90RXF1YWwobWF0Y2hpbmdDb250cm9sTmFtZTogc3RyaW5nLCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbWF0Y2hpbmdDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBjb250cm9sLnBhcmVudC5nZXQobWF0Y2hpbmdDb250cm9sTmFtZSk7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdmFsaWQgPSAoY29udHJvbC52YWx1ZSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKTtcclxuXHJcbiAgICAgIC8vIGlmIHRydWUsIHJldHVybiBubyBlcnJvciAobm8gZXJyb3IpLCBlbHNlIHJldHVybiBlcnJvciBwYXNzZWQgaW4gdGhlIHNlY29uZCBwYXJhbWV0ZXJcclxuICAgICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IGVycm9yO1xyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -23,8 +23,10 @@ export * from './lib/services/help/help.service';
|
|
|
23
23
|
export * from './lib/services/maintenance/maintenance.service';
|
|
24
24
|
export * from './lib/services/cmp-service/cmp.service';
|
|
25
25
|
export * from './lib/services/claimant-context/claimant-context.service';
|
|
26
|
-
export * from './lib/services/claims/claims.service';
|
|
27
26
|
//Export Components
|
|
27
|
+
export * from './lib/components/mfa2/mfa2.component';
|
|
28
|
+
export * from './lib/components/security-question/security-question.component';
|
|
29
|
+
export * from './lib/components/lexis-nexis/lexis-nexis.component';
|
|
28
30
|
export * from './lib/components/ssn/ssn.component';
|
|
29
31
|
export * from './lib/components/test/test.component';
|
|
30
32
|
export * from './lib/components/footer/footer.component';
|
|
@@ -76,18 +78,6 @@ export * from './lib/components/contact-us/contact-us.component';
|
|
|
76
78
|
export * from './lib/components/read-more/read-more.component';
|
|
77
79
|
export * from './lib/components/file-download/file-download.component';
|
|
78
80
|
export * from './lib/components/add-payment/add-payment.component';
|
|
79
|
-
export * from './lib/components/employer-pay/employer-pay.component';
|
|
80
|
-
export * from './lib/components/employer-pay-grid/employer-pay-grid.component';
|
|
81
|
-
export * from './lib/components/farm-usage/farm-usage.component';
|
|
82
|
-
export * from './lib/components/sms/sms.component';
|
|
83
|
-
export * from './lib/components/add-wage/add-wage.component';
|
|
84
|
-
export * from './lib/components/wage-grid/wage-grid.component';
|
|
85
|
-
export * from './lib/components/gross-earnings/gross-earnings.component';
|
|
86
|
-
export * from './lib/components/scrollable-text/scrollable-text.component';
|
|
87
|
-
export * from './lib/components/job-title/job-title.component';
|
|
88
|
-
export * from './lib/components/profile-redirect/profile-redirect.component';
|
|
89
|
-
export * from './lib/components/employer-info/employer-info.component';
|
|
90
|
-
export * from './lib/components/idme/idme.component';
|
|
91
81
|
//Export Pages
|
|
92
82
|
export * from './lib/pages/common/accessibility-policy/accessibility-policy.page';
|
|
93
83
|
export * from './lib/pages/common/privacy-disclaimer/privacy-disclaimer.page';
|
|
@@ -106,8 +96,7 @@ export * from './lib/pages/popovers/my-notifications/my-notifications.page';
|
|
|
106
96
|
export * from './lib/pages/common/change-password/change-password.page';
|
|
107
97
|
export * from './lib/components/link/link.component';
|
|
108
98
|
export * from './lib/components/sign-ssn/sign-ssn.component';
|
|
109
|
-
export * from './lib/components/
|
|
110
|
-
export * from './lib/components/dua-request-popup/dua-request-popup.component';
|
|
99
|
+
export * from './lib/components/job-title/job-title.component';
|
|
111
100
|
//Export Directives, Interceptors, Pipes, Guards etc
|
|
112
101
|
export * from './lib/directives/caps-lock.directive';
|
|
113
102
|
export * from './lib/directives/auto-focus/auto-focus.directive';
|
|
@@ -146,4 +135,4 @@ export * from './lib/enums/EmailStatusEnum';
|
|
|
146
135
|
//Export Constant
|
|
147
136
|
export * from './lib/models/LibConstants';
|
|
148
137
|
export * from './lib/services/chatbot/script.const';
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsaUJBQWlCO0FBQ2pCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsbUJBQW1CO0FBQ25CLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFlLGtEQUFrRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3REFBd0QsQ0FBQTtBQUN0RSxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWM7QUFDZCxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGdFQUFnRSxDQUFDO0FBRS9FLG9EQUFvRDtBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsZUFBZTtBQUNmLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjO0FBQ2QsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxpQkFBaUI7QUFDakIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1yZXVzYS1hcHAtbGliXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXJldXNhLWFwcC1saWIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcmV1c2EtYXBwLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXJldXNhLWFwcC1saWIubW9kdWxlJztcblxuLy9FeHBvcnQgU2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Jhc2Utc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RvdXIvdG91ci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NsYWltYW50L2NsYWltYW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkbGUvaWRsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kbXMtc2VydmljZS9kbXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jYXB0Y2hhL2NhcHRjaGEuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9tYWludGVuYW5jZS9tYWludGVuYW5jZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NtcC1zZXJ2aWNlL2NtcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NsYWltYW50LWNvbnRleHQvY2xhaW1hbnQtY29udGV4dC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XG5cbi8vRXhwb3J0IENvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3NuL3Nzbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZXN0L3Rlc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tYXNrL21hc2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXNnL21zZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2lkbGUtZGV0ZWN0b3IvaWRsZS1kZXRlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaXNjbG9zdXJlL2Rpc2Nsb3N1cmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtZG93bmxvYWQvY29ycmVzcG9uZGVuY2UtZG93bmxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXJyb3IvZXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaGVscC9oZWxwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zhdi1tZW51L2Zhdi1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uZXdzL25ld3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2FwdGNoYS9jYXB0Y2hhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXItbG9naW4vdXNlci1sb2dpbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZmEvbWZhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkZXIvZmlsZS11cGxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2R5bmFtaWMtZm9ybS1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2R5bmFtaWMtZm9ybS1xdWVzdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vdmVybGF5LWluZm8vb3ZlcmxheS1pbmZvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL211bHRpLXF1ZXN0aW9ubmFpcmUvbXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYW5rLWRldGFpbHMvYmFuay1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RlcGVuZGVudC1ncmlkL2RlcGVuZGVudC1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2pvYi1zZWFyY2gtcmVzdWx0LXBhZ2Uvam9iLXNlYXJjaC1yZXN1bHQtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tYWludGVuYW5jZS1kZXRlY3Rvci9tYWludGVuYW5jZS1kZXRlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZmEtcG9wdXAvbWZhLXBvcHVwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2VtYWlsLXVwZGF0ZS9lbWFpbC11cGRhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkLWVtcGxveWVyL2FkZC1lbXBsb3llci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWFyY2gtZW1wbG95ZXIvc2VhcmNoLWVtcGxveWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbmV5LWV4cGVjdC9tb25leS1leHBlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGVnYWwtZGlzY2xhaW1hci9sZWdhbC1kaXNjbGFpbWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2VtcGxveWVyLWdyaWQvZW1wbG95ZXItZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci1ncmlkL3dlZWtseS1jZXJ0LWVtcGxveWVyLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkLXBhcnRpY2lwYW50L2FkZC1wYXJ0aWNpcGFudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQtY2FyZC9kYXNoYm9hcmQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICAnLi9saWIvY29tcG9uZW50cy9jb250YWN0LXVzL2NvbnRhY3QtdXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVhZC1tb3JlL3JlYWQtbW9yZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkLXBheW1lbnQvYWRkLXBheW1lbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZW1wbG95ZXItcGF5L2VtcGxveWVyLXBheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9lbXBsb3llci1wYXktZ3JpZC9lbXBsb3llci1wYXktZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mYXJtLXVzYWdlL2Zhcm0tdXNhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc21zL3Ntcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZGQtd2FnZS9hZGQtd2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93YWdlLWdyaWQvd2FnZS1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyb3NzLWVhcm5pbmdzL2dyb3NzLWVhcm5pbmdzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Njcm9sbGFibGUtdGV4dC9zY3JvbGxhYmxlLXRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvam9iLXRpdGxlL2pvYi10aXRsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9maWxlLXJlZGlyZWN0L3Byb2ZpbGUtcmVkaXJlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZW1wbG95ZXItaW5mby9lbXBsb3llci1pbmZvLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaWRtZS9pZG1lLmNvbXBvbmVudCdcbi8vRXhwb3J0IFBhZ2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9jb21tb24vYWNjZXNzaWJpbGl0eS1wb2xpY3kvYWNjZXNzaWJpbGl0eS1wb2xpY3kucGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9jb21tb24vcHJpdmFjeS1kaXNjbGFpbWVyL3ByaXZhY3ktZGlzY2xhaW1lci5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvbW1vbi9zZWN1cml0eS1wb2xpY3kvc2VjdXJpdHktcG9saWN5LnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29tbW9uL25vdC1mb3VuZC9ub3QtZm91bmQucGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9jb21tb24vdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvbW1vbi9sYW5kaW5nMi9sYW5kaW5nMi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29tbW9uL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9wb3BvdmVycy91c2VyLXNlYXJjaC91c2VyLXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2Zvcm0tYnVpbGRlci9mb3JtLWJ1aWxkZXIucGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvY29tbW9uLXN1Y2Nlc3MvY29tbW9uLXN1Y2Nlc3MucGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvYWNjb3VudC1zdWNjZXNzL2FjY291bnQtc3VjY2Vzcy5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3BvcG92ZXJzL215LXByb2ZpbGUvbXktcHJvZmlsZS5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3BvcG92ZXJzL215LW5vdGlmaWNhdGlvbnMvbXktbm90aWZpY2F0aW9ucy5wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saW5rL2xpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2lnbi1zc24vc2lnbi1zc24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXNzb2NpYXRlLXNzbi9hc3NvY2lhdGUtc3NuLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R1YS1yZXF1ZXN0LXBvcHVwL2R1YS1yZXF1ZXN0LXBvcHVwLmNvbXBvbmVudCc7XG5cbi8vRXhwb3J0IERpcmVjdGl2ZXMsIEludGVyY2VwdG9ycywgUGlwZXMsIEd1YXJkcyBldGNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2Fwcy1sb2NrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2F1dG8tZm9jdXMvYXV0by1mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yZXF1aXJlZC1yb2xlcy9yZXF1aXJlZC1yb2xlcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5uaW1hdGlvbnMvYXBwLWFuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzL25vLWxvZ2luL25vLWxvZ2luLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9lcnJvci1pbnRlcmNlcHRvci9odHRwLWVycm9yLWludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9oZWFkZXItaW50ZXJjZXB0b3IvaHR0cC1oZWFkZXIuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZmlsdGVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbWFzay9tYXNrLmVtYWlsLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcHJvcGVyLWNhc2UvcHJvcGVyLWNhc2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvaW5wdXQtZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3RyYW5zbGF0ZS9keW5hbWljLXRyYW5zbGF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3RydXN0LWh0bWwvdHJ1c3QtaHRtbC5waXBlJztcblxuLy9FeHBvcnQgTW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvRXJyb3JNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvVXNlck1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL0Jhc2VQYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9UcmVuZE1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9xdWVzdGlvbm5haXJlL0xlZ2FsRGlzY2FpbWFyTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9FbGVtZW50c01vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbi1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVxdWVzdE1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbXAvQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5TW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NtcC9Db250YWN0VXNNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL2NvbnRhY3RVc0lucXVlcnlNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NtcC9FbWFpbFRlbXBsYXRlTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NtcC9DYXNlQ29yZU1vZGVsJztcblxuLy9FeHBvcnQgRW51bXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zL0VtYWlsU3RhdHVzRW51bSc7XG5cbi8vRXhwb3J0IENvbnN0YW50XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXRib3Qvc2NyaXB0LmNvbnN0JztcbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsaUJBQWlCO0FBQ2pCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBEQUEwRCxDQUFDO0FBRXpFLG1CQUFtQjtBQUNuQixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNB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QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWM7QUFDZCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGlCQUFpQjtBQUNqQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1yZXVzYS1hcHAtbGliXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXJldXNhLWFwcC1saWIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1yZXVzYS1hcHAtbGliLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1yZXVzYS1hcHAtbGliLm1vZHVsZSc7XHJcblxyXG4vL0V4cG9ydCBTZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9iYXNlLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b3VyL3RvdXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NsYWltYW50L2NsYWltYW50LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lkbGUvaWRsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZG1zLXNlcnZpY2UvZG1zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2hlbHAvaGVscC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWFpbnRlbmFuY2UvbWFpbnRlbmFuY2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NtcC1zZXJ2aWNlL2NtcC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2xhaW1hbnQtY29udGV4dC9jbGFpbWFudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuLy9FeHBvcnQgQ29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21mYTIvbWZhMi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlY3VyaXR5LXF1ZXN0aW9uL3NlY3VyaXR5LXF1ZXN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGV4aXMtbmV4aXMvbGV4aXMtbmV4aXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zc24vc3NuLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVzdC90ZXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21hc2svbWFzay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXNnL21zZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2lkbGUtZGV0ZWN0b3IvaWRsZS1kZXRlY3Rvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rpc2Nsb3N1cmUvZGlzY2xvc3VyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXJyb3IvZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9oZWxwL2hlbHAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mYXYtbWVudS9mYXYtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2luZm8vaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25ld3MvbmV3cy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NhcHRjaGEvY2FwdGNoYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXItbG9naW4vdXNlci1sb2dpbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21mYS9tZmEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2R5bmFtaWMtZm9ybS1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvZHluYW1pYy1mb3JtLXF1ZXN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9keW5hbWljLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vdmVybGF5LWluZm8vb3ZlcmxheS1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS5wYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL211bHRpLXF1ZXN0aW9ubmFpcmUvbXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JhbmstZGV0YWlscy9iYW5rLWRldGFpbHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXBlbmRlbnQtZ3JpZC9kZXBlbmRlbnQtZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2pvYi1zZWFyY2gtcmVzdWx0LXBhZ2Uvam9iLXNlYXJjaC1yZXN1bHQtcGFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21haW50ZW5hbmNlLWRldGVjdG9yL21haW50ZW5hbmNlLWRldGVjdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWZhLXBvcHVwL21mYS1wb3B1cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2VtYWlsLXVwZGF0ZS9lbWFpbC11cGRhdGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoLWVtcGxveWVyL3NlYXJjaC1lbXBsb3llci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbmV5LWV4cGVjdC9tb25leS1leHBlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sZWdhbC1kaXNjbGFpbWFyL2xlZ2FsLWRpc2NsYWltYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9lbXBsb3llci1ncmlkL2VtcGxveWVyLWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3dlZWtseS1jZXJ0LWVtcGxveWVyLWdyaWQvd2Vla2x5LWNlcnQtZW1wbG95ZXItZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkZC1wYXJ0aWNpcGFudC9hZGQtcGFydGljaXBhbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQtY2FyZC9kYXNoYm9hcmQtY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3Vlcy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICAnLi9saWIvY29tcG9uZW50cy9jb250YWN0LXVzL2NvbnRhY3QtdXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWFkLW1vcmUvcmVhZC1tb3JlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZS1kb3dubG9hZC9maWxlLWRvd25sb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkLXBheW1lbnQvYWRkLXBheW1lbnQuY29tcG9uZW50JztcclxuLy9FeHBvcnQgUGFnZXNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29tbW9uL2FjY2Vzc2liaWxpdHktcG9saWN5L2FjY2Vzc2liaWxpdHktcG9saWN5LnBhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9jb21tb24vcHJpdmFjeS1kaXNjbGFpbWVyL3ByaXZhY3ktZGlzY2xhaW1lci5wYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29tbW9uL3NlY3VyaXR5LXBvbGljeS9zZWN1cml0eS1wb2xpY3kucGFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvbW1vbi9ub3QtZm91bmQvbm90LWZvdW5kLnBhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9jb21tb24vdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5wYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29tbW9uL2xhbmRpbmcyL2xhbmRpbmcyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvbW1vbi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9wb3BvdmVycy91c2VyLXNlYXJjaC91c2VyLXNlYXJjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvcmVuZGVyLXF1ZXN0aW9ubmFpcmUvcmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLnBhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvY29tbW9uLXN1Y2Nlc3MvY29tbW9uLXN1Y2Nlc3MucGFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9hY2NvdW50LXN1Y2Nlc3MvYWNjb3VudC1zdWNjZXNzLnBhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9wb3BvdmVycy9teS1wcm9maWxlL215LXByb2ZpbGUucGFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3BvcG92ZXJzL215LW5vdGlmaWNhdGlvbnMvbXktbm90aWZpY2F0aW9ucy5wYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29tbW9uL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQucGFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGluay9saW5rLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2lnbi1zc24vc2lnbi1zc24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9qb2ItdGl0bGUvam9iLXRpdGxlLmNvbXBvbmVudCc7XHJcblxyXG4vL0V4cG9ydCBEaXJlY3RpdmVzLCBJbnRlcmNlcHRvcnMsIFBpcGVzLCBHdWFyZHMgZXRjXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2Fwcy1sb2NrLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy9hdXRvLWZvY3VzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmVxdWlyZWQtcm9sZXMvcmVxdWlyZWQtcm9sZXMuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5uaW1hdGlvbnMvYXBwLWFuaW1hdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMvYXV0aC5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9uby1sb2dpbi9uby1sb2dpbi5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9lcnJvci1pbnRlcmNlcHRvci9odHRwLWVycm9yLWludGVyY2VwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2hlYWRlci1pbnRlcmNlcHRvci9odHRwLWhlYWRlci5pbnRlcmNlcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ZpbHRlci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbWFzay9tYXNrLmVtYWlsLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9wcm9wZXItY2FzZS9wcm9wZXItY2FzZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2lucHV0LWZvY3VzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3RyYW5zbGF0ZS9keW5hbWljLXRyYW5zbGF0ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvdHJ1c3QtaHRtbC90cnVzdC1odG1sLnBpcGUnO1xyXG5cclxuLy9FeHBvcnQgTW9kZWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9FcnJvck1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL1VzZXJNb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL0Jhc2VQYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL1RyZW5kTW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9MZWdhbERpc2NhaW1hck1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbi1iYXNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5TW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5TW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0NvbnRhY3RVc01vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NtcC9jb250YWN0VXNJbnF1ZXJ5TW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY21wL0VtYWlsVGVtcGxhdGVNb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbXAvQ2FzZUNvcmVNb2RlbCc7XHJcblxyXG4vL0V4cG9ydCBFbnVtc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcy9FbWFpbFN0YXR1c0VudW0nO1xyXG5cclxuLy9FeHBvcnQgQ29uc3RhbnRcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXRib3Qvc2NyaXB0LmNvbnN0JztcclxuIl19
|