@reusa/ngx-reusa-app-lib 0.0.1374 → 0.0.1375
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +2392 -1322
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
- package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
- package/esm2022/lib/components/address/address.component.mjs +287 -152
- package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
- package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
- package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
- package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
- package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
- package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
- package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
- package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +422 -574
- package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
- package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
- package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
- package/esm2022/lib/components/error/error.component.mjs +22 -5
- package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
- package/esm2022/lib/components/footer/footer.component.mjs +112 -101
- package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
- package/esm2022/lib/components/header/header.component.mjs +440 -174
- package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
- package/esm2022/lib/components/idme/idme.component.mjs +84 -0
- package/esm2022/lib/components/info/info.component.mjs +4 -12
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
- package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
- package/esm2022/lib/components/link/link.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +68 -100
- package/esm2022/lib/components/mfa/mfa.component.mjs +158 -288
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
- package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
- package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
- package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
- package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
- package/esm2022/lib/components/profile/profile.component.mjs +749 -353
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
- package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
- package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +877 -1153
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +208 -699
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +128 -41
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
- package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
- package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
- package/esm2022/lib/components/select/select.component.mjs +5 -10
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
- package/esm2022/lib/components/sms/sms.component.mjs +336 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
- package/esm2022/lib/components/user-login/user-login.component.mjs +139 -360
- package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
- package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
- package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
- package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +655 -387
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
- package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
- package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
- package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
- package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
- package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
- package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
- package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
- package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
- package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
- package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
- package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
- package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
- package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
- package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
- package/esm2022/lib/guards/auth.guard.mjs +50 -2
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
- package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
- package/esm2022/lib/models/CountyModel.mjs +3 -0
- package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
- package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
- package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
- package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
- package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
- package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
- package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
- package/esm2022/lib/models/HelpConstants.mjs +5 -0
- package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
- package/esm2022/lib/models/LibConstants.mjs +45 -6
- package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
- package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
- package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
- package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
- package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
- package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
- package/esm2022/lib/models/UserModel.mjs +1 -1
- package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
- package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
- package/esm2022/lib/models/WageInfoModel.mjs +4 -0
- package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
- package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
- package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
- package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
- package/esm2022/lib/models/combo-model.mjs +343 -0
- package/esm2022/lib/models/dashboard-model.mjs +1 -1
- package/esm2022/lib/models/dependent.model.mjs +1 -1
- package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
- package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
- package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
- package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
- package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
- package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
- package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
- package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
- package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
- package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
- package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
- package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
- package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
- package/esm2022/lib/pages/BasePage.mjs +4 -23
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
- package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
- package/esm2022/lib/pages/common/login/login.component.mjs +7 -13
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
- package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
- package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
- package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
- package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
- package/esm2022/lib/services/base-service.mjs +4 -1
- package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
- package/esm2022/lib/services/claims/claims.service.mjs +105 -14
- package/esm2022/lib/services/employer/employer-service.mjs +35 -0
- package/esm2022/lib/services/event-service/event-service.mjs +44 -0
- package/esm2022/lib/services/help/help.service.mjs +1 -1
- package/esm2022/lib/services/logger/logger.service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +29 -14
- package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
- package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
- package/esm2022/lib/services/security-service/security.service.mjs +23 -6
- package/esm2022/lib/services/util/util.service.mjs +61 -5
- package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
- package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
- package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
- package/esm2022/lib/validations/AppRegex.mjs +1 -3
- package/esm2022/lib/validations/AppValidators.mjs +78 -62
- package/esm2022/public-api.mjs +47 -5
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41277 -23401
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +137 -53
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-participant/add-participant.component.d.ts +11 -5
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +9 -3
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/add-wage/add-wage.component.d.ts +30 -0
- package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
- package/lib/components/address/address.component.d.ts +42 -15
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/address-popup/address-popup.component.d.ts +16 -0
- package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
- package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
- package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
- package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
- package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
- package/lib/components/bank-details/bank-details.component.d.ts +1 -23
- package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
- package/lib/components/claim-info/claim-info.component.d.ts +49 -0
- package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
- package/lib/components/contact-us/contact-us.component.d.ts +1 -4
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
- package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
- package/lib/components/email-update/email-update.component.d.ts +1 -12
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +25 -15
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/employer-info/employer-info.component.d.ts +50 -0
- package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
- package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
- package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
- package/lib/components/error/error.component.d.ts +3 -2
- package/lib/components/error/error.component.d.ts.map +1 -1
- package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
- package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
- package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
- package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
- package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
- package/lib/components/header/header.component.d.ts +17 -5
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/history-page/history-page.component.d.ts +80 -0
- package/lib/components/history-page/history-page.component.d.ts.map +1 -0
- package/lib/components/idme/idme.component.d.ts +19 -0
- package/lib/components/idme/idme.component.d.ts.map +1 -0
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +22 -23
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/menu/menu.component.d.ts +3 -12
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +7 -19
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
- package/lib/components/money-expect/money-expect.component.d.ts +15 -4
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
- package/lib/components/profile/profile.component.d.ts +82 -49
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
- package/lib/components/questionnaire/AppValidators.d.ts +1 -0
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
- 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 +7 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -35
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
- 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 +7 -1
- 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 +0 -1
- package/lib/components/questionnaire/question.service.d.ts.map +1 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
- 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 +11 -3
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
- package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
- package/lib/components/search-employer/search-employer.component.d.ts +5 -4
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/sms/sms.component.d.ts +63 -0
- package/lib/components/sms/sms.component.d.ts.map +1 -0
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
- package/lib/components/user-login/user-login.component.d.ts +5 -38
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
- package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
- package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
- package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
- 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 +9 -3
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
- package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
- package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
- package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
- package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
- package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
- package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
- package/lib/models/ActiveClaimModel.d.ts +8 -0
- package/lib/models/ActiveClaimModel.d.ts.map +1 -0
- package/lib/models/CountyModel.d.ts +8 -0
- package/lib/models/CountyModel.d.ts.map +1 -0
- package/lib/models/DuaAppDataModel.d.ts +5 -0
- package/lib/models/DuaAppDataModel.d.ts.map +1 -0
- package/lib/models/DuaRequestModel.d.ts +10 -0
- package/lib/models/DuaRequestModel.d.ts.map +1 -0
- package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
- package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
- package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
- package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
- package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
- package/lib/models/EmployerPayInfoModel.d.ts +20 -0
- package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
- package/lib/models/FarmUsageComponentModel.d.ts +10 -0
- package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
- package/lib/models/GrossEarningsModel.d.ts +6 -0
- package/lib/models/GrossEarningsModel.d.ts.map +1 -0
- package/lib/models/HelpConstants.d.ts +5 -0
- package/lib/models/HelpConstants.d.ts.map +1 -0
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
- package/lib/models/LibConstants.d.ts +40 -1
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/models/OtpAuthModel.d.ts +0 -1
- package/lib/models/OtpAuthModel.d.ts.map +1 -1
- package/lib/models/PaymentComponentModel.d.ts +1 -1
- package/lib/models/PaymentComponentModel.d.ts.map +1 -1
- package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
- package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
- package/lib/models/RetroWeeksModel.d.ts +11 -0
- package/lib/models/RetroWeeksModel.d.ts.map +1 -0
- package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
- package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
- package/lib/models/SendOtpRequestModel.d.ts +12 -0
- package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
- package/lib/models/UserModel.d.ts +0 -1
- package/lib/models/UserModel.d.ts.map +1 -1
- package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
- package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
- package/lib/models/WageCalculatorModel.d.ts +15 -0
- package/lib/models/WageCalculatorModel.d.ts.map +1 -0
- package/lib/models/WageInfoModel.d.ts +9 -0
- package/lib/models/WageInfoModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
- package/lib/models/combo-model.d.ts +42 -0
- package/lib/models/combo-model.d.ts.map +1 -0
- package/lib/models/dashboard-model.d.ts +22 -0
- package/lib/models/dashboard-model.d.ts.map +1 -1
- package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
- package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
- package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
- package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
- package/lib/models/fileupload/FileObject.d.ts +8 -0
- package/lib/models/fileupload/FileObject.d.ts.map +1 -0
- package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
- package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
- package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
- package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +14 -82
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +0 -1
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
- package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
- package/lib/models/questionnaire/StatusModel.d.ts +1 -0
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
- package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
- package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
- package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
- package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pages/BasePage.d.ts +3 -6
- package/lib/pages/BasePage.d.ts.map +1 -1
- package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
- package/lib/pages/common/login/login.component.d.ts.map +1 -1
- package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
- package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
- package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
- package/lib/services/appeal/appeal.service.d.ts +16 -0
- package/lib/services/appeal/appeal.service.d.ts.map +1 -0
- package/lib/services/base-service.d.ts +12 -0
- package/lib/services/base-service.d.ts.map +1 -1
- package/lib/services/birt-service/birt.service.d.ts +17 -0
- package/lib/services/birt-service/birt.service.d.ts.map +1 -0
- package/lib/services/claimant-service/claimant.service.d.ts +5 -6
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
- package/lib/services/claims/claims.service.d.ts +39 -5
- package/lib/services/claims/claims.service.d.ts.map +1 -1
- package/lib/services/employer/employer-service.d.ts +16 -0
- package/lib/services/employer/employer-service.d.ts.map +1 -0
- package/lib/services/event-service/event-service.d.ts +20 -0
- package/lib/services/event-service/event-service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +5 -3
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
- package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
- package/lib/services/questionnaire/validation.service.d.ts +3 -0
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
- package/lib/services/security-service/security.service.d.ts +12 -4
- package/lib/services/security-service/security.service.d.ts.map +1 -1
- package/lib/services/util/util.service.d.ts +6 -0
- package/lib/services/util/util.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/review.service.d.ts +23 -0
- package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
- package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
- package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
- package/lib/validations/AppRegex.d.ts +0 -2
- package/lib/validations/AppRegex.d.ts.map +1 -1
- package/lib/validations/AppValidators.d.ts +20 -24
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +46 -4
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
- package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
- package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
- package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
- package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
- package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
- package/lib/components/mfa2/mfa2.component.d.ts +0 -48
- package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
- package/lib/components/security-question/security-question.component.d.ts +0 -37
- package/lib/components/security-question/security-question.component.d.ts.map +0 -1
- package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
- package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
- package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
- package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
- package/lib/models/LexisNexisResponseModel.d.ts +0 -7
- package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
- package/lib/models/PartialEmploymentModel.d.ts +0 -6
- package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
- package/lib/models/SecurityQuestionModel.d.ts +0 -7
- package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
- package/lib/services/ovp/ovp.service.d.ts +0 -17
- package/lib/services/ovp/ovp.service.d.ts.map +0 -1
|
@@ -18,107 +18,99 @@ import * as i10 from "../../../components/content/content.component";
|
|
|
18
18
|
import * as i11 from "../../../components/header/header.component";
|
|
19
19
|
import * as i12 from "../../../components/card/card.component";
|
|
20
20
|
import * as i13 from "../../../directives/auto-focus/auto-focus.directive";
|
|
21
|
-
function
|
|
22
|
-
i0.ɵɵelementStart(0, "li",
|
|
23
|
-
i0.ɵɵtext(1, "
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵtext(3, "!@#$*%");
|
|
26
|
-
i0.ɵɵelementEnd()();
|
|
21
|
+
function ChangePasswordPage_div_10_li_7_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
23
|
+
i0.ɵɵtext(1, "Minimum 8 characters.");
|
|
24
|
+
i0.ɵɵelementEnd();
|
|
27
25
|
} if (rf & 2) {
|
|
28
26
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
29
|
-
i0.ɵɵproperty("ngClass", !ctx_r3.password.hasError("
|
|
27
|
+
i0.ɵɵproperty("ngClass", !ctx_r3.password.hasError("minlength") && ctx_r3.password.dirty ? "success" : "error");
|
|
30
28
|
} }
|
|
31
|
-
function
|
|
32
|
-
i0.ɵɵelementStart(0, "li",
|
|
33
|
-
i0.ɵɵtext(1, "
|
|
34
|
-
i0.ɵɵ
|
|
35
|
-
i0.ɵɵtext(3, "!@#$*%");
|
|
36
|
-
i0.ɵɵelementEnd()();
|
|
29
|
+
function ChangePasswordPage_div_10_li_8_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
31
|
+
i0.ɵɵtext(1, "Maximum 15 characters.");
|
|
32
|
+
i0.ɵɵelementEnd();
|
|
37
33
|
} if (rf & 2) {
|
|
38
34
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
39
|
-
i0.ɵɵproperty("ngClass", !ctx_r4.password.hasError("
|
|
35
|
+
i0.ɵɵproperty("ngClass", !ctx_r4.password.hasError("maxlength") && ctx_r4.password.dirty ? "success" : "error");
|
|
40
36
|
} }
|
|
41
|
-
function
|
|
42
|
-
i0.ɵɵelementStart(0, "li",
|
|
43
|
-
i0.ɵɵtext(1, "Minimum 14 characters");
|
|
37
|
+
function ChangePasswordPage_div_10_li_9_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
39
|
+
i0.ɵɵtext(1, "Minimum 14 characters.");
|
|
44
40
|
i0.ɵɵelementEnd();
|
|
45
41
|
} if (rf & 2) {
|
|
46
42
|
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
47
43
|
i0.ɵɵproperty("ngClass", !ctx_r5.password.hasError("minlength") && ctx_r5.password.dirty ? "success" : "error");
|
|
48
44
|
} }
|
|
49
|
-
function
|
|
50
|
-
i0.ɵɵelementStart(0, "li",
|
|
51
|
-
i0.ɵɵtext(1, "Maximum
|
|
45
|
+
function ChangePasswordPage_div_10_li_10_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
47
|
+
i0.ɵɵtext(1, "Maximum 21 characters.");
|
|
52
48
|
i0.ɵɵelementEnd();
|
|
53
49
|
} if (rf & 2) {
|
|
54
50
|
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
55
51
|
i0.ɵɵproperty("ngClass", !ctx_r6.password.hasError("maxlength") && ctx_r6.password.dirty ? "success" : "error");
|
|
56
52
|
} }
|
|
57
53
|
function ChangePasswordPage_div_10_li_17_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
-
i0.ɵɵelementStart(0, "li",
|
|
59
|
-
i0.ɵɵtext(1, "
|
|
60
|
-
i0.ɵɵ
|
|
54
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
55
|
+
i0.ɵɵtext(1, "At least 2 special characters from following ");
|
|
56
|
+
i0.ɵɵelementStart(2, "strong");
|
|
57
|
+
i0.ɵɵtext(3, "_ @ * $ ! # .");
|
|
58
|
+
i0.ɵɵelementEnd()();
|
|
61
59
|
} if (rf & 2) {
|
|
62
60
|
const ctx_r7 = i0.ɵɵnextContext(2);
|
|
63
|
-
i0.ɵɵproperty("ngClass", !ctx_r7.password.hasError("
|
|
61
|
+
i0.ɵɵproperty("ngClass", !ctx_r7.password.hasError("hasCsrSpecialCharacters") && ctx_r7.password.dirty ? "success" : "error");
|
|
64
62
|
} }
|
|
65
63
|
function ChangePasswordPage_div_10_li_18_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
-
i0.ɵɵelementStart(0, "li",
|
|
67
|
-
i0.ɵɵtext(1, "
|
|
68
|
-
i0.ɵɵ
|
|
64
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
65
|
+
i0.ɵɵtext(1, "At least 1 special characters from following ");
|
|
66
|
+
i0.ɵɵelementStart(2, "strong");
|
|
67
|
+
i0.ɵɵtext(3, "_ @ * $ ! # .");
|
|
68
|
+
i0.ɵɵelementEnd()();
|
|
69
69
|
} if (rf & 2) {
|
|
70
70
|
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
71
|
-
i0.ɵɵproperty("ngClass", !ctx_r8.password.hasError("
|
|
71
|
+
i0.ɵɵproperty("ngClass", !ctx_r8.password.hasError("hasClaimantSpecialCharacters") && ctx_r8.password.dirty ? "success" : "error");
|
|
72
72
|
} }
|
|
73
73
|
function ChangePasswordPage_div_10_li_19_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
-
i0.ɵɵelementStart(0, "li",
|
|
75
|
-
i0.ɵɵtext(1, "Your password cannot contain your name and/or your user id.");
|
|
76
|
-
i0.ɵɵelementEnd();
|
|
77
|
-
} if (rf & 2) {
|
|
78
|
-
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
79
|
-
i0.ɵɵproperty("ngClass", !ctx_r9.password.hasError("maxlength") && ctx_r9.password.dirty ? "success" : "error");
|
|
80
|
-
} }
|
|
81
|
-
function ChangePasswordPage_div_10_li_20_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
-
i0.ɵɵelementStart(0, "li", 9);
|
|
74
|
+
i0.ɵɵelementStart(0, "li", 10);
|
|
83
75
|
i0.ɵɵtext(1, "At least 2 special characters from following ");
|
|
84
76
|
i0.ɵɵelementStart(2, "strong");
|
|
85
77
|
i0.ɵɵtext(3, "_ @ * $ ! # .");
|
|
86
78
|
i0.ɵɵelementEnd()();
|
|
87
79
|
} if (rf & 2) {
|
|
88
|
-
const
|
|
89
|
-
i0.ɵɵproperty("ngClass", !
|
|
80
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
81
|
+
i0.ɵɵproperty("ngClass", !ctx_r9.password.hasError("hasClaimantSpecialCharacters") && ctx_r9.password.dirty ? "success" : "error");
|
|
90
82
|
} }
|
|
91
|
-
function
|
|
83
|
+
function ChangePasswordPage_div_10_mat_error_25_Template(rf, ctx) { if (rf & 1) {
|
|
92
84
|
i0.ɵɵelementStart(0, "mat-error");
|
|
93
85
|
i0.ɵɵtext(1, " Current Password is required. ");
|
|
94
86
|
i0.ɵɵelementEnd();
|
|
95
87
|
} }
|
|
96
|
-
function
|
|
88
|
+
function ChangePasswordPage_div_10_mat_error_26_Template(rf, ctx) { if (rf & 1) {
|
|
97
89
|
i0.ɵɵelementStart(0, "mat-error");
|
|
98
90
|
i0.ɵɵtext(1, " Current Password should not be same as New Password. ");
|
|
99
91
|
i0.ɵɵelementEnd();
|
|
100
92
|
} }
|
|
101
|
-
function
|
|
93
|
+
function ChangePasswordPage_div_10_mat_error_33_Template(rf, ctx) { if (rf & 1) {
|
|
102
94
|
i0.ɵɵelementStart(0, "mat-error");
|
|
103
95
|
i0.ɵɵtext(1, " New Password is required. ");
|
|
104
96
|
i0.ɵɵelementEnd();
|
|
105
97
|
} }
|
|
106
|
-
function
|
|
98
|
+
function ChangePasswordPage_div_10_mat_error_34_Template(rf, ctx) { if (rf & 1) {
|
|
107
99
|
i0.ɵɵelementStart(0, "mat-error");
|
|
108
100
|
i0.ɵɵtext(1, " New Password and Confirm Password did not match. ");
|
|
109
101
|
i0.ɵɵelementEnd();
|
|
110
102
|
} }
|
|
111
|
-
function
|
|
103
|
+
function ChangePasswordPage_div_10_mat_error_35_Template(rf, ctx) { if (rf & 1) {
|
|
112
104
|
i0.ɵɵelementStart(0, "mat-error");
|
|
113
105
|
i0.ɵɵtext(1, " Current Password should not be same as New Password. ");
|
|
114
106
|
i0.ɵɵelementEnd();
|
|
115
107
|
} }
|
|
116
|
-
function
|
|
108
|
+
function ChangePasswordPage_div_10_mat_error_42_Template(rf, ctx) { if (rf & 1) {
|
|
117
109
|
i0.ɵɵelementStart(0, "mat-error");
|
|
118
110
|
i0.ɵɵtext(1, " Confirm Password is required. ");
|
|
119
111
|
i0.ɵɵelementEnd();
|
|
120
112
|
} }
|
|
121
|
-
function
|
|
113
|
+
function ChangePasswordPage_div_10_mat_error_43_Template(rf, ctx) { if (rf & 1) {
|
|
122
114
|
i0.ɵɵelementStart(0, "mat-error");
|
|
123
115
|
i0.ɵɵtext(1, " Confirm Password should have minimum ");
|
|
124
116
|
i0.ɵɵelementStart(2, "strong");
|
|
@@ -127,120 +119,120 @@ function ChangePasswordPage_div_10_mat_error_44_Template(rf, ctx) { if (rf & 1)
|
|
|
127
119
|
i0.ɵɵtext(4, ". ");
|
|
128
120
|
i0.ɵɵelementEnd();
|
|
129
121
|
} }
|
|
130
|
-
function
|
|
122
|
+
function ChangePasswordPage_div_10_mat_error_44_Template(rf, ctx) { if (rf & 1) {
|
|
131
123
|
i0.ɵɵelementStart(0, "mat-error");
|
|
132
124
|
i0.ɵɵtext(1, " Confirm Password should not have more than ");
|
|
133
125
|
i0.ɵɵelementStart(2, "strong");
|
|
134
|
-
i0.ɵɵtext(3, "
|
|
126
|
+
i0.ɵɵtext(3, "21 characters");
|
|
135
127
|
i0.ɵɵelementEnd();
|
|
136
128
|
i0.ɵɵtext(4, ". ");
|
|
137
129
|
i0.ɵɵelementEnd();
|
|
138
130
|
} }
|
|
139
|
-
function
|
|
131
|
+
function ChangePasswordPage_div_10_mat_error_45_Template(rf, ctx) { if (rf & 1) {
|
|
140
132
|
i0.ɵɵelementStart(0, "mat-error");
|
|
141
133
|
i0.ɵɵtext(1, " Confirm Password should have minimum ");
|
|
142
134
|
i0.ɵɵelementStart(2, "strong");
|
|
143
|
-
i0.ɵɵtext(3, "
|
|
135
|
+
i0.ɵɵtext(3, "8 characters");
|
|
144
136
|
i0.ɵɵelementEnd();
|
|
145
137
|
i0.ɵɵtext(4, ". ");
|
|
146
138
|
i0.ɵɵelementEnd();
|
|
147
139
|
} }
|
|
148
|
-
function
|
|
140
|
+
function ChangePasswordPage_div_10_mat_error_46_Template(rf, ctx) { if (rf & 1) {
|
|
149
141
|
i0.ɵɵelementStart(0, "mat-error");
|
|
150
142
|
i0.ɵɵtext(1, " Confirm Password should not have more than ");
|
|
151
143
|
i0.ɵɵelementStart(2, "strong");
|
|
152
|
-
i0.ɵɵtext(3, "
|
|
144
|
+
i0.ɵɵtext(3, "15 characters");
|
|
153
145
|
i0.ɵɵelementEnd();
|
|
154
146
|
i0.ɵɵtext(4, ". ");
|
|
155
147
|
i0.ɵɵelementEnd();
|
|
156
148
|
} }
|
|
157
|
-
function
|
|
149
|
+
function ChangePasswordPage_div_10_mat_error_47_Template(rf, ctx) { if (rf & 1) {
|
|
158
150
|
i0.ɵɵelementStart(0, "mat-error");
|
|
159
151
|
i0.ɵɵtext(1, " New Password and Confirm Password did not match. ");
|
|
160
152
|
i0.ɵɵelementEnd();
|
|
161
153
|
} }
|
|
162
|
-
function
|
|
154
|
+
function ChangePasswordPage_div_10_mat_error_48_Template(rf, ctx) { if (rf & 1) {
|
|
163
155
|
i0.ɵɵelementStart(0, "mat-error");
|
|
164
156
|
i0.ɵɵtext(1, " Current Password should not be same as Confirm Password. ");
|
|
165
157
|
i0.ɵɵelementEnd();
|
|
166
158
|
} }
|
|
167
|
-
function
|
|
159
|
+
function ChangePasswordPage_div_10_label_49_Template(rf, ctx) { if (rf & 1) {
|
|
168
160
|
i0.ɵɵelementStart(0, "label", 21)(1, "strong");
|
|
169
161
|
i0.ɵɵtext(2, "Caps Lock is On");
|
|
170
162
|
i0.ɵɵelementEnd()();
|
|
171
163
|
} }
|
|
172
164
|
function ChangePasswordPage_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
173
|
-
const
|
|
165
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
174
166
|
i0.ɵɵelementStart(0, "div")(1, "div");
|
|
175
167
|
i0.ɵɵtext(2, " In order to ");
|
|
176
168
|
i0.ɵɵelementStart(3, "strong");
|
|
177
169
|
i0.ɵɵtext(4, "protect your account");
|
|
178
170
|
i0.ɵɵelementEnd();
|
|
179
|
-
i0.ɵɵtext(5, ", your password
|
|
180
|
-
i0.ɵɵelementStart(6, "ul", 8)
|
|
181
|
-
i0.ɵɵ
|
|
171
|
+
i0.ɵɵtext(5, ", make sure your password has: ");
|
|
172
|
+
i0.ɵɵelementStart(6, "ul", 8);
|
|
173
|
+
i0.ɵɵtemplate(7, ChangePasswordPage_div_10_li_7_Template, 2, 1, "li", 9)(8, ChangePasswordPage_div_10_li_8_Template, 2, 1, "li", 9)(9, ChangePasswordPage_div_10_li_9_Template, 2, 1, "li", 9)(10, ChangePasswordPage_div_10_li_10_Template, 2, 1, "li", 9);
|
|
174
|
+
i0.ɵɵelementStart(11, "li", 10);
|
|
175
|
+
i0.ɵɵtext(12, "At least 1 number");
|
|
182
176
|
i0.ɵɵelementEnd();
|
|
183
|
-
i0.ɵɵelementStart(
|
|
184
|
-
i0.ɵɵtext(
|
|
177
|
+
i0.ɵɵelementStart(13, "li", 10);
|
|
178
|
+
i0.ɵɵtext(14, "At least 1 uppercase letter");
|
|
185
179
|
i0.ɵɵelementEnd();
|
|
186
|
-
i0.ɵɵelementStart(
|
|
187
|
-
i0.ɵɵtext(
|
|
180
|
+
i0.ɵɵelementStart(15, "li", 10);
|
|
181
|
+
i0.ɵɵtext(16, "At least 1 lowercase letter");
|
|
188
182
|
i0.ɵɵelementEnd();
|
|
189
|
-
i0.ɵɵtemplate(
|
|
183
|
+
i0.ɵɵtemplate(17, ChangePasswordPage_div_10_li_17_Template, 4, 1, "li", 9)(18, ChangePasswordPage_div_10_li_18_Template, 4, 1, "li", 9)(19, ChangePasswordPage_div_10_li_19_Template, 4, 1, "li", 9);
|
|
190
184
|
i0.ɵɵelementEnd()();
|
|
191
|
-
i0.ɵɵelementStart(
|
|
192
|
-
i0.ɵɵelement(
|
|
193
|
-
i0.ɵɵelementStart(
|
|
194
|
-
i0.ɵɵtext(
|
|
185
|
+
i0.ɵɵelementStart(20, "div", 11)(21, "span", 12);
|
|
186
|
+
i0.ɵɵelement(22, "p-password", 13);
|
|
187
|
+
i0.ɵɵelementStart(23, "label", 14);
|
|
188
|
+
i0.ɵɵtext(24, "Current Password");
|
|
195
189
|
i0.ɵɵelementEnd()();
|
|
196
|
-
i0.ɵɵtemplate(
|
|
190
|
+
i0.ɵɵtemplate(25, ChangePasswordPage_div_10_mat_error_25_Template, 2, 0, "mat-error", 6)(26, ChangePasswordPage_div_10_mat_error_26_Template, 2, 0, "mat-error", 6);
|
|
197
191
|
i0.ɵɵelementEnd();
|
|
198
|
-
i0.ɵɵelement(
|
|
199
|
-
i0.ɵɵelementStart(
|
|
200
|
-
i0.ɵɵelement(
|
|
201
|
-
i0.ɵɵelementStart(
|
|
202
|
-
i0.ɵɵtext(
|
|
192
|
+
i0.ɵɵelement(27, "br");
|
|
193
|
+
i0.ɵɵelementStart(28, "div", 11)(29, "span", 12);
|
|
194
|
+
i0.ɵɵelement(30, "p-password", 15);
|
|
195
|
+
i0.ɵɵelementStart(31, "label", 14);
|
|
196
|
+
i0.ɵɵtext(32, "New Password");
|
|
203
197
|
i0.ɵɵelementEnd()();
|
|
204
|
-
i0.ɵɵtemplate(
|
|
198
|
+
i0.ɵɵtemplate(33, ChangePasswordPage_div_10_mat_error_33_Template, 2, 0, "mat-error", 6)(34, ChangePasswordPage_div_10_mat_error_34_Template, 2, 0, "mat-error", 6)(35, ChangePasswordPage_div_10_mat_error_35_Template, 2, 0, "mat-error", 6);
|
|
205
199
|
i0.ɵɵelementEnd();
|
|
206
|
-
i0.ɵɵelement(
|
|
207
|
-
i0.ɵɵelementStart(
|
|
208
|
-
i0.ɵɵelement(
|
|
209
|
-
i0.ɵɵelementStart(
|
|
210
|
-
i0.ɵɵtext(
|
|
200
|
+
i0.ɵɵelement(36, "br");
|
|
201
|
+
i0.ɵɵelementStart(37, "div", 11)(38, "span", 12);
|
|
202
|
+
i0.ɵɵelement(39, "p-password", 16);
|
|
203
|
+
i0.ɵɵelementStart(40, "label", 14);
|
|
204
|
+
i0.ɵɵtext(41, "Confirm Password");
|
|
211
205
|
i0.ɵɵelementEnd()();
|
|
212
|
-
i0.ɵɵtemplate(
|
|
206
|
+
i0.ɵɵtemplate(42, ChangePasswordPage_div_10_mat_error_42_Template, 2, 0, "mat-error", 6)(43, ChangePasswordPage_div_10_mat_error_43_Template, 5, 0, "mat-error", 6)(44, ChangePasswordPage_div_10_mat_error_44_Template, 5, 0, "mat-error", 6)(45, ChangePasswordPage_div_10_mat_error_45_Template, 5, 0, "mat-error", 6)(46, ChangePasswordPage_div_10_mat_error_46_Template, 5, 0, "mat-error", 6)(47, ChangePasswordPage_div_10_mat_error_47_Template, 2, 0, "mat-error", 6)(48, ChangePasswordPage_div_10_mat_error_48_Template, 2, 0, "mat-error", 6);
|
|
213
207
|
i0.ɵɵelementEnd();
|
|
214
|
-
i0.ɵɵtemplate(
|
|
215
|
-
i0.ɵɵelementStart(
|
|
216
|
-
i0.ɵɵlistener("click", function
|
|
217
|
-
i0.ɵɵelement(
|
|
218
|
-
i0.ɵɵtext(
|
|
208
|
+
i0.ɵɵtemplate(49, ChangePasswordPage_div_10_label_49_Template, 3, 0, "label", 17);
|
|
209
|
+
i0.ɵɵelementStart(50, "div", 18)(51, "ion-button", 19);
|
|
210
|
+
i0.ɵɵlistener("click", function ChangePasswordPage_div_10_Template_ion_button_click_51_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.save()); });
|
|
211
|
+
i0.ɵɵelement(52, "ion-icon", 20);
|
|
212
|
+
i0.ɵɵtext(53, " Change Password ");
|
|
219
213
|
i0.ɵɵelementEnd()()();
|
|
220
214
|
} if (rf & 2) {
|
|
221
215
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
222
216
|
i0.ɵɵadvance(7);
|
|
217
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.useNewPasswordPolicy);
|
|
218
|
+
i0.ɵɵadvance(1);
|
|
219
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.useNewPasswordPolicy);
|
|
220
|
+
i0.ɵɵadvance(1);
|
|
221
|
+
i0.ɵɵproperty("ngIf", ctx_r1.useNewPasswordPolicy);
|
|
222
|
+
i0.ɵɵadvance(1);
|
|
223
|
+
i0.ɵɵproperty("ngIf", ctx_r1.useNewPasswordPolicy);
|
|
224
|
+
i0.ɵɵadvance(1);
|
|
225
|
+
i0.ɵɵproperty("ngClass", !ctx_r1.password.hasError("hasNumber") && ctx_r1.password.dirty ? "success" : "error");
|
|
226
|
+
i0.ɵɵadvance(2);
|
|
223
227
|
i0.ɵɵproperty("ngClass", !ctx_r1.password.hasError("hasCapitalCase") && ctx_r1.password.dirty ? "success" : "error");
|
|
224
228
|
i0.ɵɵadvance(2);
|
|
225
229
|
i0.ɵɵproperty("ngClass", !ctx_r1.password.hasError("hasSmallCase") && ctx_r1.password.dirty ? "success" : "error");
|
|
226
230
|
i0.ɵɵadvance(2);
|
|
227
|
-
i0.ɵɵproperty("
|
|
228
|
-
i0.ɵɵadvance(
|
|
231
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.loginService.isClaimant());
|
|
232
|
+
i0.ɵɵadvance(1);
|
|
229
233
|
i0.ɵɵproperty("ngIf", ctx_r1.loginService.isClaimant() && !ctx_r1.isSameSymbolPolicyForClaimantAndAgency);
|
|
230
234
|
i0.ɵɵadvance(1);
|
|
231
235
|
i0.ɵɵproperty("ngIf", ctx_r1.loginService.isClaimant() && ctx_r1.isSameSymbolPolicyForClaimantAndAgency);
|
|
232
|
-
i0.ɵɵadvance(1);
|
|
233
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.isNewPasswordPolicyEnabled);
|
|
234
|
-
i0.ɵɵadvance(1);
|
|
235
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.isNewPasswordPolicyEnabled);
|
|
236
|
-
i0.ɵɵadvance(1);
|
|
237
|
-
i0.ɵɵproperty("ngIf", ctx_r1.isNewPasswordPolicyEnabled);
|
|
238
|
-
i0.ɵɵadvance(1);
|
|
239
|
-
i0.ɵɵproperty("ngIf", ctx_r1.isNewPasswordPolicyEnabled);
|
|
240
|
-
i0.ɵɵadvance(1);
|
|
241
|
-
i0.ɵɵproperty("ngIf", ctx_r1.isNewPasswordPolicyEnabled);
|
|
242
|
-
i0.ɵɵadvance(1);
|
|
243
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.loginService.isClaimant());
|
|
244
236
|
i0.ɵɵadvance(3);
|
|
245
237
|
i0.ɵɵproperty("formControl", ctx_r1.oldPassword)("toggleMask", true)("feedback", false);
|
|
246
238
|
i0.ɵɵadvance(3);
|
|
@@ -260,13 +252,13 @@ function ChangePasswordPage_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
260
252
|
i0.ɵɵadvance(3);
|
|
261
253
|
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("required"));
|
|
262
254
|
i0.ɵɵadvance(1);
|
|
263
|
-
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("minlength") && ctx_r1.
|
|
255
|
+
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("minlength") && ctx_r1.useNewPasswordPolicy);
|
|
264
256
|
i0.ɵɵadvance(1);
|
|
265
|
-
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("maxlength") && ctx_r1.
|
|
257
|
+
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("maxlength") && ctx_r1.useNewPasswordPolicy);
|
|
266
258
|
i0.ɵɵadvance(1);
|
|
267
|
-
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("minlength") && !ctx_r1.
|
|
259
|
+
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("minlength") && !ctx_r1.useNewPasswordPolicy);
|
|
268
260
|
i0.ɵɵadvance(1);
|
|
269
|
-
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("maxlength") && !ctx_r1.
|
|
261
|
+
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("maxlength") && !ctx_r1.useNewPasswordPolicy);
|
|
270
262
|
i0.ɵɵadvance(1);
|
|
271
263
|
i0.ɵɵproperty("ngIf", ctx_r1.confirmPassword.hasError("notMatch"));
|
|
272
264
|
i0.ɵɵadvance(1);
|
|
@@ -279,23 +271,23 @@ function ChangePasswordPage_div_11_strong_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
279
271
|
i0.ɵɵtext(1);
|
|
280
272
|
i0.ɵɵelementEnd();
|
|
281
273
|
} if (rf & 2) {
|
|
282
|
-
const
|
|
274
|
+
const ctx_r25 = i0.ɵɵnextContext(2);
|
|
283
275
|
i0.ɵɵadvance(1);
|
|
284
|
-
i0.ɵɵtextInterpolate(
|
|
276
|
+
i0.ɵɵtextInterpolate(ctx_r25.user.daysTillPasswordExpire);
|
|
285
277
|
} }
|
|
286
278
|
function ChangePasswordPage_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
287
|
-
const
|
|
279
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
288
280
|
i0.ɵɵelementStart(0, "div", 22);
|
|
289
281
|
i0.ɵɵtext(1, " Your password will expire in ");
|
|
290
282
|
i0.ɵɵtemplate(2, ChangePasswordPage_div_11_strong_2_Template, 2, 1, "strong", 6);
|
|
291
283
|
i0.ɵɵtext(3, " day(s). Consider changing it now. ");
|
|
292
284
|
i0.ɵɵelementStart(4, "div", 18)(5, "ion-button", 19);
|
|
293
|
-
i0.ɵɵlistener("click", function ChangePasswordPage_div_11_Template_ion_button_click_5_listener() { i0.ɵɵrestoreView(
|
|
285
|
+
i0.ɵɵlistener("click", function ChangePasswordPage_div_11_Template_ion_button_click_5_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r26.showChangePassword = "false"); });
|
|
294
286
|
i0.ɵɵelement(6, "ion-icon", 23);
|
|
295
287
|
i0.ɵɵtext(7, " Change Now ");
|
|
296
288
|
i0.ɵɵelementEnd();
|
|
297
289
|
i0.ɵɵelementStart(8, "ion-button", 19);
|
|
298
|
-
i0.ɵɵlistener("click", function ChangePasswordPage_div_11_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(
|
|
290
|
+
i0.ɵɵlistener("click", function ChangePasswordPage_div_11_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r27); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.redirect()); });
|
|
299
291
|
i0.ɵɵelement(9, "ion-icon", 24);
|
|
300
292
|
i0.ɵɵtext(10, " Dashboard ");
|
|
301
293
|
i0.ɵɵelementEnd()()();
|
|
@@ -337,6 +329,9 @@ export class ChangePasswordPage extends BasePage {
|
|
|
337
329
|
this.hideConfirmPassword = true;
|
|
338
330
|
this.hideOldPassword = true;
|
|
339
331
|
this.showChangePassword = 'false';
|
|
332
|
+
this.isCSR = false;
|
|
333
|
+
this.isClaimant = false;
|
|
334
|
+
this.useNewPasswordPolicy = false;
|
|
340
335
|
}
|
|
341
336
|
ngOnInit() {
|
|
342
337
|
this.initializeChangePwdForm();
|
|
@@ -360,26 +355,49 @@ export class ChangePasswordPage extends BasePage {
|
|
|
360
355
|
this.setPasswordValidators();
|
|
361
356
|
}
|
|
362
357
|
setPasswordValidators() {
|
|
363
|
-
let validators1 = [];
|
|
364
|
-
let validators2 = [];
|
|
358
|
+
let validators1 = [Validators.required];
|
|
359
|
+
let validators2 = [Validators.required];
|
|
365
360
|
let validators3 = [Validators.required, AppValidators.notEqual('password', { match: true })];
|
|
366
361
|
this.commonValidators.forEach(v => validators1.push(v));
|
|
367
362
|
this.commonValidators.forEach(v => validators2.push(v));
|
|
368
|
-
if (this.isNewPasswordPolicyEnabled) {
|
|
369
|
-
this.newPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
370
|
-
this.newPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
371
|
-
}
|
|
372
|
-
else {
|
|
373
|
-
this.oldPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
374
|
-
this.oldPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
375
|
-
}
|
|
376
363
|
if (this.loginService.isCsr()) {
|
|
377
364
|
this.csrPasswordValidators.forEach(v => validators1.push(v));
|
|
378
365
|
this.csrConfirmPasswordValidators.forEach(v => validators2.push(v));
|
|
366
|
+
if (this.isNewPasswordPolicyEnabled) {
|
|
367
|
+
this.useNewPasswordPolicy = true;
|
|
368
|
+
this.newPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
369
|
+
this.newPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
this.oldPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
373
|
+
this.oldPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
else if (this.loginService.isClaimant()) {
|
|
377
|
+
this.claimantPasswordValidators.forEach(v => validators1.push(v));
|
|
378
|
+
this.claimantConfirmPasswordValidators.forEach(v => validators2.push(v));
|
|
379
|
+
if (this.isNewPasswordPolicyEnabledForClaimant) {
|
|
380
|
+
this.useNewPasswordPolicy = true;
|
|
381
|
+
this.newPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
382
|
+
this.newPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
this.oldPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
386
|
+
this.oldPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
387
|
+
}
|
|
379
388
|
}
|
|
380
389
|
else {
|
|
381
390
|
this.claimantPasswordValidators.forEach(v => validators1.push(v));
|
|
382
391
|
this.claimantConfirmPasswordValidators.forEach(v => validators2.push(v));
|
|
392
|
+
if (this.isNewPasswordPolicyEnabledForEmployer) {
|
|
393
|
+
this.useNewPasswordPolicy = true;
|
|
394
|
+
this.newPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
395
|
+
this.newPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
this.oldPasswordPolicyValidators.forEach(v => validators1.push(v));
|
|
399
|
+
this.oldPasswordPolicyValidators.forEach(v => validators2.push(v));
|
|
400
|
+
}
|
|
383
401
|
}
|
|
384
402
|
this.util.setValidation(this.oldPassword, validators3);
|
|
385
403
|
this.util.setValidation(this.password, validators1);
|
|
@@ -400,7 +418,7 @@ export class ChangePasswordPage extends BasePage {
|
|
|
400
418
|
}
|
|
401
419
|
this.util.showLoader()
|
|
402
420
|
.then(() => {
|
|
403
|
-
this.loginService.updatePassword(this.oldPassword.value, this.password.value, this.confirmPassword.value)
|
|
421
|
+
this.loginService.updatePassword(this.oldPassword.value.trim(), this.password.value.trim(), this.confirmPassword.value.trim())
|
|
404
422
|
.subscribe(res => {
|
|
405
423
|
this.loginService.logout();
|
|
406
424
|
this.nav
|
|
@@ -446,13 +464,13 @@ export class ChangePasswordPage extends BasePage {
|
|
|
446
464
|
}
|
|
447
465
|
}
|
|
448
466
|
static { this.ɵfac = function ChangePasswordPage_Factory(t) { return new (t || ChangePasswordPage)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i5.ActivatedRoute), i0.ɵɵdirectiveInject(i4.Platform)); }; }
|
|
449
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChangePasswordPage, selectors: [["app-change-password"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 3, consts: [["title", "Change Password", "pageId", "CNGPWD-001"], [3, "formGroup"], ["changePwdFormDirective", "ngForm"], ["color", "primary", 1, "ion-justify-content-center"], ["size-md", "6", "size-lg", "4", "size-xs", "12", "size-sm", "12", "size-xl", "4", 1, "ion-align-self-center"], ["title", "Change Password", 3, "capsLock"], [4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], [1, "p-pl-2", "p-ml-2", "p-mt-0", 2, "line-height", "1.5", "margin-left", "1rem !important", "list-style-type", "square"], [3, "ngClass"
|
|
467
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChangePasswordPage, selectors: [["app-change-password"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 3, consts: [["title", "Change Password", "pageId", "CNGPWD-001"], [3, "formGroup"], ["changePwdFormDirective", "ngForm"], ["color", "primary", 1, "ion-justify-content-center"], ["size-md", "6", "size-lg", "4", "size-xs", "12", "size-sm", "12", "size-xl", "4", 1, "ion-align-self-center"], ["title", "Change Password", 3, "capsLock"], [4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], [1, "p-pl-2", "p-ml-2", "p-mt-0", 2, "line-height", "1.5", "margin-left", "1rem !important", "list-style-type", "square"], [3, "ngClass", 4, "ngIf"], [3, "ngClass"], [2, "display", "grid"], [1, "p-float-label"], ["inputId", "oldPassword", "appAutofocus", "", 3, "formControl", "toggleMask", "feedback"], ["for", "float-input"], ["inputId", "password", "appendTo", "body", 3, "formControl", "toggleMask"], ["inputId", "confirmPassword", "appendTo", "body", 3, "formControl", "toggleMask"], ["style", "color:var(--ion-color-danger);", 4, "ngIf"], [1, "ion-text-center", "ion-padding-top"], ["shape", "round", "color", "success", "type", "submit", 3, "click"], ["name", "save-outline", "slot", "start"], [2, "color", "var(--ion-color-danger)"], [1, "ion-text-center"], ["name", "shuffle-outline", "slot", "start"], ["name", "analytics-outline", "slot", "start"]], template: function ChangePasswordPage_Template(rf, ctx) { if (rf & 1) {
|
|
450
468
|
i0.ɵɵelementStart(0, "ion-header");
|
|
451
469
|
i0.ɵɵelement(1, "app-header", 0);
|
|
452
470
|
i0.ɵɵelementEnd();
|
|
453
471
|
i0.ɵɵelementStart(2, "ion-content")(3, "app-content")(4, "form", 1, 2)(6, "ion-grid")(7, "ion-row", 3)(8, "ion-col", 4)(9, "app-card", 5);
|
|
454
472
|
i0.ɵɵlistener("capsLock", function ChangePasswordPage_Template_app_card_capsLock_9_listener($event) { return ctx.capsOn = $event; });
|
|
455
|
-
i0.ɵɵtemplate(10, ChangePasswordPage_div_10_Template,
|
|
473
|
+
i0.ɵɵtemplate(10, ChangePasswordPage_div_10_Template, 54, 30, "div", 6)(11, ChangePasswordPage_div_11_Template, 11, 1, "div", 7);
|
|
456
474
|
i0.ɵɵelementEnd()()()()()()();
|
|
457
475
|
} if (rf & 2) {
|
|
458
476
|
i0.ɵɵadvance(4);
|
|
@@ -465,7 +483,7 @@ export class ChangePasswordPage extends BasePage {
|
|
|
465
483
|
}
|
|
466
484
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChangePasswordPage, [{
|
|
467
485
|
type: Component,
|
|
468
|
-
args: [{ selector: 'app-change-password', template: "<ion-header>\r\n <app-header title=\"Change Password\" pageId=\"CNGPWD-001\">\r\n </app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-content>\r\n <form [formGroup]=\"changePwdForm\" #changePwdFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row color=\"primary\" class=\"ion-justify-content-center\">\r\n <ion-col class=\"ion-align-self-center\" size-md=\"6\" size-lg=\"4\" size-xs=\"12\" size-sm=\"12\" size-xl=\"4\">\r\n \r\n <app-card title=\"Change Password\" (capsLock)=\"capsOn=$event\">\r\n <div *ngIf=\"showChangePassword == 'false'\">\r\n <div>\r\n In order to <strong>protect your account</strong>, your password
|
|
486
|
+
args: [{ selector: 'app-change-password', template: "<ion-header>\r\n <app-header title=\"Change Password\" pageId=\"CNGPWD-001\">\r\n </app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-content>\r\n <form [formGroup]=\"changePwdForm\" #changePwdFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row color=\"primary\" class=\"ion-justify-content-center\">\r\n <ion-col class=\"ion-align-self-center\" size-md=\"6\" size-lg=\"4\" size-xs=\"12\" size-sm=\"12\" size-xl=\"4\">\r\n \r\n <app-card title=\"Change Password\" (capsLock)=\"capsOn=$event\">\r\n <div *ngIf=\"showChangePassword == 'false'\">\r\n <div>\r\n In order to <strong>protect your account</strong>, make sure your password has:\r\n <ul class=\"p-pl-2 p-ml-2 p-mt-0\" style=\"line-height: 1.5; margin-left: 1rem !important; list-style-type: square;\">\r\n <li [ngClass]=\"!password.hasError('minlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"!useNewPasswordPolicy\">Minimum 8 characters.</li>\r\n <li [ngClass]=\"!password.hasError('maxlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"!useNewPasswordPolicy\">Maximum 15 characters.</li>\r\n <li [ngClass]=\"!password.hasError('minlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"useNewPasswordPolicy\">Minimum 14 characters.</li>\r\n <li [ngClass]=\"!password.hasError('maxlength') && password.dirty ? 'success' : 'error'\" *ngIf=\"useNewPasswordPolicy\">Maximum 21 characters.</li>\r\n <li [ngClass]=\"!password.hasError('hasNumber') && password.dirty ? 'success' : 'error'\">At least 1 number</li>\r\n <li [ngClass]=\"!password.hasError('hasCapitalCase') && password.dirty ? 'success' : 'error'\">At least 1 uppercase letter</li>\r\n <li [ngClass]=\"!password.hasError('hasSmallCase') && password.dirty ? 'success' : 'error'\">At least 1 lowercase letter</li>\r\n <li [ngClass]=\"!password.hasError('hasCsrSpecialCharacters') && password.dirty ? 'success' : 'error'\" *ngIf=\"!loginService.isClaimant()\">At least 2 special characters from following <strong>_ @ * $ ! # .</strong></li>\r\n <li [ngClass]=\"!password.hasError('hasClaimantSpecialCharacters') && password.dirty ? 'success' : 'error'\" *ngIf=\"loginService.isClaimant() && !isSameSymbolPolicyForClaimantAndAgency\">At least 1 special characters from following <strong>_ @ * $ ! # .</strong></li>\r\n <li [ngClass]=\"!password.hasError('hasClaimantSpecialCharacters') && password.dirty ? 'success' : 'error'\" *ngIf=\"loginService.isClaimant() && isSameSymbolPolicyForClaimantAndAgency\">At least 2 special characters from following <strong>_ @ * $ ! # .</strong></li>\r\n </ul>\r\n </div>\r\n <div style=\"display: grid;\">\r\n <span class=\"p-float-label\">\r\n <p-password [formControl]=\"oldPassword\" inputId=\"oldPassword\" [toggleMask]='true' [feedback]='false' appAutofocus></p-password> \r\n <label for=\"float-input\">Current Password</label>\r\n </span>\r\n <mat-error *ngIf=\"oldPassword.hasError('required')\">\r\n Current Password is required.\r\n </mat-error>\r\n <mat-error *ngIf=\"oldPassword.hasError('match')\">\r\n Current Password should not be same as New Password.\r\n </mat-error>\r\n </div>\r\n <br/>\r\n <div style=\"display: grid;\">\r\n <span class=\"p-float-label\">\r\n <p-password [formControl]=\"password\" inputId=\"password\" [toggleMask]='true' appendTo=\"body\">\r\n </p-password> \r\n <label for=\"float-input\">New Password</label>\r\n </span>\r\n <mat-error *ngIf=\"password.hasError('required')\">\r\n New Password is required.\r\n </mat-error>\r\n <mat-error *ngIf=\"password.hasError('notMatch')\">\r\n New Password and Confirm Password did not match.\r\n </mat-error>\r\n <mat-error *ngIf=\"password.hasError('match')\">\r\n Current Password should not be same as New Password.\r\n </mat-error>\r\n </div>\r\n \r\n <br/>\r\n <div style=\"display: grid;\">\r\n <span class=\"p-float-label\">\r\n <p-password [formControl]=\"confirmPassword\" inputId=\"confirmPassword\" [toggleMask]='true' appendTo=\"body\">\r\n </p-password> \r\n <label for=\"float-input\">Confirm Password</label>\r\n </span>\r\n <mat-error *ngIf=\"confirmPassword.hasError('required')\">\r\n Confirm Password is required.\r\n </mat-error>\r\n <mat-error *ngIf=\"confirmPassword.hasError('minlength') && useNewPasswordPolicy\">\r\n Confirm Password should have minimum <strong>14 characters</strong>.\r\n </mat-error>\r\n <mat-error *ngIf=\"confirmPassword.hasError('maxlength') && useNewPasswordPolicy\">\r\n Confirm Password should not have more than <strong>21 characters</strong>.\r\n </mat-error>\r\n <mat-error *ngIf=\"confirmPassword.hasError('minlength') && !useNewPasswordPolicy\">\r\n Confirm Password should have minimum <strong>8 characters</strong>.\r\n </mat-error>\r\n <mat-error *ngIf=\"confirmPassword.hasError('maxlength') && !useNewPasswordPolicy\">\r\n Confirm Password should not have more than <strong>15 characters</strong>.\r\n </mat-error>\r\n <mat-error *ngIf=\"confirmPassword.hasError('notMatch')\">\r\n New Password and Confirm Password did not match.\r\n </mat-error>\r\n <mat-error *ngIf=\"confirmPassword.hasError('match')\">\r\n Current Password should not be same as Confirm Password.\r\n </mat-error>\r\n </div>\r\n \r\n <label *ngIf=\"capsOn\" style=\"color:var(--ion-color-danger);\"><strong>Caps Lock is On</strong></label>\r\n \r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-button shape=\"round\" (click)=\"save()\" color=\"success\" type=\"submit\">\r\n <ion-icon name=\"save-outline\" slot=\"start\" ></ion-icon>\r\n Change Password\r\n </ion-button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showChangePassword == 'true'\" class=\"ion-text-center\">\r\n Your password will expire in <strong *ngIf=\"user\">{{user.daysTillPasswordExpire}}</strong> day(s). Consider changing it now.\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-button shape=\"round\" (click)=\"showChangePassword = 'false'\" color=\"success\" type=\"submit\">\r\n <ion-icon name=\"shuffle-outline\" slot=\"start\" ></ion-icon>\r\n Change Now\r\n </ion-button>\r\n <ion-button shape=\"round\" (click)=\"redirect()\" color=\"success\" type=\"submit\">\r\n <ion-icon name=\"analytics-outline\" slot=\"start\" ></ion-icon>\r\n Dashboard\r\n </ion-button>\r\n </div>\r\n </div>\r\n </app-card>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n </app-content>\r\n</ion-content>", styles: [":host ::ng-deep .p-inputwrapper,:host ::ng-deep .p-inputtext{width:100%}.error{color:var(--ion-color-danger)}.success{color:var(--ion-color-green)}\n"] }]
|
|
469
487
|
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.LoginService }, { type: i3.UtilService }, { type: i4.NavController }, { type: i5.ActivatedRoute }, { type: i4.Platform }], null); })();
|
|
470
488
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChangePasswordPage, { className: "ChangePasswordPage", filePath: "lib\\pages\\common\\change-password\\change-password.page.ts", lineNumber: 18 }); })();
|
|
471
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBd0MsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0lDVXhDLDZCQUF5TDtJQUFBLDJDQUEyQjtJQUFBLDhCQUFRO0lBQUEsc0JBQVU7SUFBQSxpQkFBUyxFQUFBOzs7SUFBM08sa0lBQXVHOzs7SUFDM0csNkJBQXdMO0lBQUEsMkNBQTJCO0lBQUEsOEJBQVE7SUFBQSxzQkFBVTtJQUFBLGlCQUFTLEVBQUE7OztJQUExTyxrSUFBdUc7OztJQUMzRyw2QkFBNEg7SUFBQSxxQ0FBcUI7SUFBQSxpQkFBSzs7O0lBQWxKLCtHQUFtRjs7O0lBQ3ZGLDZCQUE0SDtJQUFBLHNDQUFzQjtJQUFBLGlCQUFLOzs7SUFBbkosK0dBQW1GOzs7SUFDdkYsNkJBQTJIO0lBQUEsc0NBQXNCO0lBQUEsaUJBQUs7OztJQUFs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QyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFDO1lBQ3BFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsY0FBYyx3Q0FBd0MsU0FBUyxDQUFDLFlBQVksTUFBTSxTQUFTLENBQUMsYUFBYSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDMUo7YUFBTTtZQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyx3Q0FBd0MsU0FBUyxDQUFDLFlBQVksTUFBTSxTQUFTLENBQUMsYUFBYSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdko7SUFDSCxDQUFDO21GQWhLVSxrQkFBa0I7b0VBQWxCLGtCQUFrQjtZQ2pCL0Isa0NBQVk7WUFDVixnQ0FDYTtZQUNmLGlCQUFhO1lBRWIsbUNBQWEsa0JBQUEsaUJBQUEsZUFBQSxpQkFBQSxpQkFBQSxrQkFBQTtZQU9pQyxvSUFBMEI7WUFDMUQsdUVBc0ZNLHlEQUFBO1lBY1IsaUJBQVcsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUE7O1lBMUdiLGVBQTJCO1lBQTNCLDZDQUEyQjtZQU1qQixlQUFtQztZQUFuQyx3REFBbUM7WUF1Rm5DLGVBQWtDO1lBQWxDLHVEQUFrQzs7O2lGRG5GekMsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UscUJBQXFCOztrRkFJcEIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyLCBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcbmltcG9ydCB7IEFwcFJlZ2V4IH0gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdGlvbnMvQXBwUmVnZXgnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9CYXNlUGFnZSc7XG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvVXNlck1vZGVsJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhbmdlLXBhc3N3b3JkLnBhZ2Uuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZFBhZ2UgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNhcHNPbiA9IGZhbHNlO1xuXG4gIGNvbW1vblZhbGlkYXRvcnMgOiBWYWxpZGF0b3JGbltdID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKEFwcFJlZ2V4LlVQUEVSX0NBU0VfUkVHRVgsIHtoYXNDYXBpdGFsQ2FzZSA6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaChBcHBSZWdleC5MT1dFUl9DQVNFX1JFR0VYLCB7aGFzU21hbGxDYXNlIDogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKEFwcFJlZ2V4Lk5VTUJFUl9SRUdFWCwge2hhc051bWJlciA6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcblxuICBjc3JQYXNzd29yZFZhbGlkYXRvcnMgOiBWYWxpZGF0b3JGbltdID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2goQXBwUmVnZXguQUdFTkNZX1NZTUJPTF9SRUdFWCwge2hhc0NzclNwZWNpYWxDaGFyYWN0ZXJzIDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XG5cbiAgY3NyQ29uZmlybVBhc3N3b3JkVmFsaWRhdG9ycyA6IFZhbGlkYXRvckZuW10gPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2goQXBwUmVnZXguQUdFTkNZX1NZTUJPTF9SRUdFWCwge2hhc0NzclNwZWNpYWxDaGFyYWN0ZXJzIDogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLmVxdWFsKCdwYXNzd29yZCcsIHtub3RNYXRjaCA6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgY2xhaW1hbnRQYXNzd29yZFZhbGlkYXRvcnMgOiBWYWxpZGF0b3JGbltdID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKHRoaXMuaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3k/QXBwUmVnZXguQUdFTkNZX1NZTUJPTF9SRUdFWDpBcHBSZWdleC5DTEFJTUFOVF9TWU1CT0xfUkVHRVgsIHtoYXNDbGFpbWFudFNwZWNpYWxDaGFyYWN0ZXJzIDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xuXG4gIGNsYWltYW50Q29uZmlybVBhc3N3b3JkVmFsaWRhdG9ycyA6IFZhbGlkYXRvckZuW10gPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaCh0aGlzLmlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5P0FwcFJlZ2V4LkFHRU5DWV9TWU1CT0xfUkVHRVg6QXBwUmVnZXguQ0xBSU1BTlRfU1lNQk9MX1JFR0VYLCB7aGFzQ2xhaW1hbnRTcGVjaWFsQ2hhcmFjdGVycyA6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLmVxdWFsKCdwYXNzd29yZCcsIHtub3RNYXRjaCA6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xuXG4gIHB1YmxpYyBjaGFuZ2VQd2RGb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcblxuICBwdWJsaWMgaGlkZVBhc3N3b3JkID0gdHJ1ZTtcblxuICBwdWJsaWMgaGlkZUNvbmZpcm1QYXNzd29yZCA9IHRydWU7XG5cbiAgcHVibGljIGhpZGVPbGRQYXNzd29yZCA9IHRydWU7XG5cbiAgcHVibGljIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgcHVibGljIHNob3dDaGFuZ2VQYXNzd29yZCA9ICdmYWxzZSc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZiIDogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgbG9naW5TZXJ2aWNlIDogTG9naW5TZXJ2aWNlLCBcbiAgICAgICAgICAgICAgcHVibGljIHV0aWwgOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgICAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplQ2hhbmdlUHdkRm9ybSgpO1xuICAgIHRoaXMudXNlciA9IHRoaXMubG9naW5TZXJ2aWNlLmdldFVzZXIoKTtcbiAgICB0aGlzLnNob3dDaGFuZ2VQYXNzd29yZCA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2NoYW5nZVB3ZCcpID8gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnY2hhbmdlUHdkJykgOiAnZmFsc2UnO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNoYW5nZVB3ZEZvcm0oKXtcbiAgICB0aGlzLmNoYW5nZVB3ZEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICdvbGRQYXNzd29yZCcgOiBbbnVsbCAsIFtdXSxcbiAgICAgICdwYXNzd29yZCc6IFtudWxsLCBbXV0sXG4gICAgICAnY29uZmlybVBhc3N3b3JkJzogW251bGwsIFtdXVxuICAgIH0pO1xuXG4gICAgdGhpcy5wYXNzd29yZC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgaWYodGhpcy5jb25maXJtUGFzc3dvcmQudmFsdWUpe1xuICAgICAgICB0aGlzLmNvbmZpcm1QYXNzd29yZC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgICBpZih0aGlzLm9sZFBhc3N3b3JkLnZhbHVlKXtcbiAgICAgICAgdGhpcy5vbGRQYXNzd29yZC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgdGhpcy5zZXRQYXNzd29yZFZhbGlkYXRvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGFzc3dvcmRWYWxpZGF0b3JzKCkge1xuICAgIGxldCB2YWxpZGF0b3JzMTogVmFsaWRhdG9yRm5bXSA9IFtdO1xuICAgIGxldCB2YWxpZGF0b3JzMjogVmFsaWRhdG9yRm5bXSA9IFtdO1xuICAgIGxldCB2YWxpZGF0b3JzMzogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLm5vdEVxdWFsKCdwYXNzd29yZCcsIHttYXRjaCA6IHRydWV9KV07XG5cbiAgICB0aGlzLmNvbW1vblZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMxLnB1c2godikpO1xuICAgIHRoaXMuY29tbW9uVmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczIucHVzaCh2KSk7XG5cbiAgICBpZih0aGlzLmlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkKXtcbiAgICAgIHRoaXMubmV3UGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgIHRoaXMubmV3UGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbGRQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMxLnB1c2godikpO1xuICAgICAgdGhpcy5vbGRQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxvZ2luU2VydmljZS5pc0NzcigpKSB7XG4gICAgICB0aGlzLmNzclBhc3N3b3JkVmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgICB0aGlzLmNzckNvbmZpcm1QYXNzd29yZFZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsYWltYW50UGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgIHRoaXMuY2xhaW1hbnRDb25maXJtUGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICB9XG4gICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5vbGRQYXNzd29yZCwgdmFsaWRhdG9yczMpO1xuICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMucGFzc3dvcmQsIHZhbGlkYXRvcnMxKTtcbiAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLmNvbmZpcm1QYXNzd29yZCwgdmFsaWRhdG9yczIpO1xuICB9XG5cbiAgZ2V0IG9sZFBhc3N3b3JkKCl7XG4gICAgcmV0dXJuIHRoaXMuY2hhbmdlUHdkRm9ybS5nZXQoJ29sZFBhc3N3b3JkJyk7XG4gIH1cblxuICBnZXQgcGFzc3dvcmQoKXtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VQd2RGb3JtLmdldCgncGFzc3dvcmQnKTtcbiAgfVxuXG4gIGdldCBjb25maXJtUGFzc3dvcmQoKXtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VQd2RGb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJyk7XG4gIH1cblxuICBzYXZlKCl7XG4gICAgaWYodGhpcy5jaGFuZ2VQd2RGb3JtLmludmFsaWQpe1xuICAgICAgcmV0dXJuIDtcbiAgICB9XG4gICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKVxuICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnVwZGF0ZVBhc3N3b3JkKHRoaXMub2xkUGFzc3dvcmQudmFsdWUsIHRoaXMucGFzc3dvcmQudmFsdWUsIHRoaXMuY29uZmlybVBhc3N3b3JkLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5sb2dvdXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmF2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm5hdmlnYXRlUm9vdCgnbG9naW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcygnUGFzc3dvcmQgQ2hhbmdlZCBTdWNjZXNzZnVsbHkuIFBsZWFzZSBsb2dpbiBhZ2Fpbi4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICB9KVxuICB9XG5cbiAgcmVkaXJlY3QoKXtcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VXNlcigpO1xuICAgIGlmKHRoaXMubG9naW5TZXJ2aWNlLmlzQ2xhaW1hbnQoKSl7XG4gICAgICBjb25zdCBpc0NhcGFjaXRvciA9IHRoaXMucGxhdGZvcm0uaXMoJ2NhcGFjaXRvcicpO1xuICAgICAgaWYoaXNDYXBhY2l0b3Ipe1xuICAgICAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoXCJ3ZWxjb21lXCIpO1xuICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgfSBlbHNle1xuICAgICAgICBpZihMaWJDb25zdGFudHMubGVnYWN5TWVudSA9PSAndHJ1ZScpe1xuICAgICAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChcIndlbGNvbWVcIik7XG4gICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYoKExpYkNvbnN0YW50cy5zc29Db29raWVOYW1lICsgXCJcIikuaW5jbHVkZXMoJ1VBVCcpIHx8IChMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSArIFwiXCIpLmluY2x1ZGVzKCdQUk9EJykgKXtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5tc3dvcmtzVXJsfWAsICdfc2VsZicpO1xuICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYodGhpcy5sb2dpblNlcnZpY2UuaXNFbXBsb3llcigpIHx8IHRoaXMubG9naW5TZXJ2aWNlLmlzVHBhKCkpe1xuICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLnRheFVybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5YCwgJ19zZWxmJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8aW9uLWhlYWRlcj5cclxuICA8YXBwLWhlYWRlciB0aXRsZT1cIkNoYW5nZSBQYXNzd29yZFwiIHBhZ2VJZD1cIkNOR1BXRC0wMDFcIj5cclxuICA8L2FwcC1oZWFkZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxpb24tY29udGVudD5cclxuICA8YXBwLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNoYW5nZVB3ZEZvcm1cIiAjY2hhbmdlUHdkRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgPGlvbi1yb3cgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tYWxpZ24tc2VsZi1jZW50ZXJcIiBzaXplLW1kPVwiNlwiIHNpemUtbGc9XCI0XCIgc2l6ZS14cz1cIjEyXCIgc2l6ZS1zbT1cIjEyXCIgc2l6ZS14bD1cIjRcIj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxhcHAtY2FyZCB0aXRsZT1cIkNoYW5nZSBQYXNzd29yZFwiIChjYXBzTG9jayk9XCJjYXBzT249JGV2ZW50XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDaGFuZ2VQYXNzd29yZCA9PSAnZmFsc2UnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICBJbiBvcmRlciB0byA8c3Ryb25nPnByb3RlY3QgeW91ciBhY2NvdW50PC9zdHJvbmc+LCB5b3VyIHBhc3N3b3JkIG11c3QgaW5jbHVkZSBhdCBsZWFzdDpcclxuICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwicC1wbC0yIHAtbWwtMiBwLW10LTBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ2hhc0NhcGl0YWxDYXNlJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPjEgdXBwZXJjYXNlIGxldHRlcjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzU21hbGxDYXNlJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPjEgbG93ZXJjYXNlIGxldHRlcjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzTnVtYmVyJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPjEgbnVtYmVyPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdoYXNDbGFpbWFudFNwZWNpYWxDaGFyYWN0ZXJzJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwibG9naW5TZXJ2aWNlLmlzQ2xhaW1hbnQoKSAmJiAhaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3lcIj4yIG9mIHRoZSBmb2xsb3dpbmcgc3ltYm9scyA8c3Ryb25nPiEmIzY0OyMkKiU8L3N0cm9uZz48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ2hhc0NsYWltYW50U3BlY2lhbENoYXJhY3RlcnMnKSAmJiBwYXNzd29yZC5kaXJ0eSAgPyAnc3VjY2VzcycgOiAnZXJyb3InXCIgKm5nSWY9XCJsb2dpblNlcnZpY2UuaXNDbGFpbWFudCgpICYmIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5XCI+MiBvZiB0aGUgZm9sbG93aW5nIHN5bWJvbHMgPHN0cm9uZz4hJiM2NDsjJColPC9zdHJvbmc+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBwYXNzd29yZC5kaXJ0eSA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cIiFpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiPk1pbmltdW0gMTQgY2hhcmFjdGVyczwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignbWF4bGVuZ3RoJykgJiYgcGFzc3dvcmQuZGlydHkgPyAnc3VjY2VzcycgOiAnZXJyb3InXCIgKm5nSWY9XCIhaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRcIj5NYXhpbXVtIDI1IGNoYXJhY3RlcnMuPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBwYXNzd29yZC5kaXJ0eSA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cImlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkXCI+TWluaW11bSAxNCBjaGFyYWN0ZXJzLjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignbWF4bGVuZ3RoJykgJiYgcGFzc3dvcmQuZGlydHkgPyAnc3VjY2VzcycgOiAnZXJyb3InXCIgKm5nSWY9XCJpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiPk1heGltdW0gMjUgY2hhcmFjdGVycy48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmIHBhc3N3b3JkLmRpcnR5ID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwiaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRcIj5Zb3VyIHBhc3N3b3JkIGNhbm5vdCBjb250YWluIHlvdXIgbmFtZSBhbmQvb3IgeW91ciB1c2VyIGlkLjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzQ3NyU3BlY2lhbENoYXJhY3RlcnMnKSAmJiBwYXNzd29yZC5kaXJ0eSAgPyAnc3VjY2VzcycgOiAnZXJyb3InXCIgKm5nSWY9XCIhbG9naW5TZXJ2aWNlLmlzQ2xhaW1hbnQoKVwiPkF0IGxlYXN0IDIgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gZm9sbG93aW5nIDxzdHJvbmc+XyAmIzY0OyAqICQgISAjIC48L3N0cm9uZz48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGdyaWQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIFtmb3JtQ29udHJvbF09XCJvbGRQYXNzd29yZFwiIGlucHV0SWQ9XCJvbGRQYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgW2ZlZWRiYWNrXT0nZmFsc2UnIGFwcEF1dG9mb2N1cz48L3AtcGFzc3dvcmQ+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmbG9hdC1pbnB1dFwiPkN1cnJlbnQgUGFzc3dvcmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJvbGRQYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgUGFzc3dvcmQgaXMgcmVxdWlyZWQuXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwib2xkUGFzc3dvcmQuaGFzRXJyb3IoJ21hdGNoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICBDdXJyZW50IFBhc3N3b3JkIHNob3VsZCBub3QgYmUgc2FtZSBhcyBOZXcgUGFzc3dvcmQuXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGdyaWQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIFtmb3JtQ29udHJvbF09XCJwYXNzd29yZFwiIGlucHV0SWQ9XCJwYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgYXBwZW5kVG89XCJib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wLXBhc3N3b3JkPiBcclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmxvYXQtaW5wdXRcIj5OZXcgUGFzc3dvcmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5ldyBQYXNzd29yZCBpcyByZXF1aXJlZC5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcignbm90TWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5ldyBQYXNzd29yZCBhbmQgQ29uZmlybSBQYXNzd29yZCBkaWQgbm90IG1hdGNoLlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInBhc3N3b3JkLmhhc0Vycm9yKCdtYXRjaCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBQYXNzd29yZCBzaG91bGQgbm90IGJlIHNhbWUgYXMgTmV3IFBhc3N3b3JkLlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBncmlkO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZmxvYXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwiY29uZmlybVBhc3N3b3JkXCIgaW5wdXRJZD1cImNvbmZpcm1QYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgYXBwZW5kVG89XCJib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wLXBhc3N3b3JkPiBcclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmxvYXQtaW5wdXRcIj5Db25maXJtIFBhc3N3b3JkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybSBQYXNzd29yZCBpcyByZXF1aXJlZC5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybSBQYXNzd29yZCBzaG91bGQgaGF2ZSBtaW5pbXVtIDxzdHJvbmc+MTQgY2hhcmFjdGVyczwvc3Ryb25nPi5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybSBQYXNzd29yZCBzaG91bGQgbm90IGhhdmUgbW9yZSB0aGFuIDxzdHJvbmc+MjUgY2hhcmFjdGVyczwvc3Ryb25nPi5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmICFpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm0gUGFzc3dvcmQgc2hvdWxkIGhhdmUgbWluaW11bSA8c3Ryb25nPjE0IGNoYXJhY3RlcnM8L3N0cm9uZz4uXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSAmJiAhaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICBDb25maXJtIFBhc3N3b3JkIHNob3VsZCBub3QgaGF2ZSBtb3JlIHRoYW4gPHN0cm9uZz4yNSBjaGFyYWN0ZXJzPC9zdHJvbmc+LlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNvbmZpcm1QYXNzd29yZC5oYXNFcnJvcignbm90TWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5ldyBQYXNzd29yZCBhbmQgQ29uZmlybSBQYXNzd29yZCBkaWQgbm90IG1hdGNoLlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNvbmZpcm1QYXNzd29yZC5oYXNFcnJvcignbWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgUGFzc3dvcmQgc2hvdWxkIG5vdCBiZSBzYW1lIGFzIENvbmZpcm0gUGFzc3dvcmQuXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cImNhcHNPblwiIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWRhbmdlcik7XCI+PHN0cm9uZz5DYXBzIExvY2sgaXMgT248L3N0cm9uZz48L2xhYmVsPlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJzYXZlKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzYXZlLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiA+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgUGFzc3dvcmRcclxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDaGFuZ2VQYXNzd29yZCA9PSAndHJ1ZSdcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgWW91ciBwYXNzd29yZCB3aWxsIGV4cGlyZSBpbiA8c3Ryb25nICpuZ0lmPVwidXNlclwiPnt7dXNlci5kYXlzVGlsbFBhc3N3b3JkRXhwaXJlfX08L3N0cm9uZz4gZGF5KHMpLiBDb25zaWRlciBjaGFuZ2luZyBpdCBub3cuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInNob3dDaGFuZ2VQYXNzd29yZCA9ICdmYWxzZSdcIiBjb2xvcj1cInN1Y2Nlc3NcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzaHVmZmxlLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiA+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgTm93XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJyZWRpcmVjdCgpXCIgY29sb3I9XCJzdWNjZXNzXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYW5hbHl0aWNzLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiA+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICBEYXNoYm9hcmRcclxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvYXBwLWNhcmQ+XHJcbiAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICA8L2lvbi1ncmlkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+Il19
|
|
489
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3BhZ2VzL2NvbW1vbi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBd0MsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0lDT3hDLDhCQUFzSDtJQUFBLHFDQUFxQjtJQUFBLGlCQUFLOzs7SUFBNUksK0dBQW1GOzs7SUFDdkYsOEJBQXNIO0lBQUEsc0NBQXNCO0lBQUEsaUJBQUs7OztJQUE3SSwrR0FBbUY7OztJQUN2Riw4QkFBcUg7SUFBQSxzQ0FBc0I7SUFBQSxpQkFBSzs7O0lBQTVJLCtHQUFtRjs7O0lBQ3ZGLDhCQUFxSDtJQUFBLHNDQUFzQjtJQUFBLGlCQUFLOzs7SUFBNUksK0dBQW1GOzs7SUFJdkYsOEJBQTBJO0lBQUEsNkRBQTZDO0lBQUEsOEJBQVE7SUFBQSw2QkFBaUI7SUFBQSxpQkFBUyxFQUFBOzs7SUFBck4sNkhBQWtHOzs7SUFDdEcsOEJBQXlMO0lB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QTtZQWNSLGlCQUFXLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBOztZQXhHYixlQUEyQjtZQUEzQiw2Q0FBMkI7WUFNakIsZUFBbUM7WUFBbkMsd0RBQW1DO1lBcUZuQyxlQUFrQztZQUFsQyx1REFBa0M7OztpRkRqRnpDLGtCQUFrQjtjQUw5QixTQUFTOzJCQUNFLHFCQUFxQjs7a0ZBSXBCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciwgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBcHBSZWdleCB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRpb25zL0FwcFJlZ2V4JztcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vQmFzZVBhZ2UnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLnBhZ2UuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYW5nZS1wYXNzd29yZC5wYWdlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRQYWdlIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjYXBzT24gPSBmYWxzZTtcblxuICBjb21tb25WYWxpZGF0b3JzIDogVmFsaWRhdG9yRm5bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaChBcHBSZWdleC5VUFBFUl9DQVNFX1JFR0VYLCB7aGFzQ2FwaXRhbENhc2UgOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2goQXBwUmVnZXguTE9XRVJfQ0FTRV9SRUdFWCwge2hhc1NtYWxsQ2FzZSA6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaChBcHBSZWdleC5OVU1CRVJfUkVHRVgsIHtoYXNOdW1iZXIgOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XG5cbiAgY3NyUGFzc3dvcmRWYWxpZGF0b3JzIDogVmFsaWRhdG9yRm5bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKEFwcFJlZ2V4LkFHRU5DWV9TWU1CT0xfUkVHRVgsIHtoYXNDc3JTcGVjaWFsQ2hhcmFjdGVycyA6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xuXG4gIGNzckNvbmZpcm1QYXNzd29yZFZhbGlkYXRvcnMgOiBWYWxpZGF0b3JGbltdID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBWYWxpZGF0b3JzLm1hdGNoKEFwcFJlZ2V4LkFHRU5DWV9TWU1CT0xfUkVHRVgsIHtoYXNDc3JTcGVjaWFsQ2hhcmFjdGVycyA6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5lcXVhbCgncGFzc3dvcmQnLCB7bm90TWF0Y2ggOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIGNsYWltYW50UGFzc3dvcmRWYWxpZGF0b3JzIDogVmFsaWRhdG9yRm5bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5tYXRjaCh0aGlzLmlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5P0FwcFJlZ2V4LkFHRU5DWV9TWU1CT0xfUkVHRVg6QXBwUmVnZXguQ0xBSU1BTlRfU1lNQk9MX1JFR0VYLCB7aGFzQ2xhaW1hbnRTcGVjaWFsQ2hhcmFjdGVycyA6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcblxuICBjbGFpbWFudENvbmZpcm1QYXNzd29yZFZhbGlkYXRvcnMgOiBWYWxpZGF0b3JGbltdID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcFZhbGlkYXRvcnMubWF0Y2godGhpcy5pc1NhbWVTeW1ib2xQb2xpY3lGb3JDbGFpbWFudEFuZEFnZW5jeT9BcHBSZWdleC5BR0VOQ1lfU1lNQk9MX1JFR0VYOkFwcFJlZ2V4LkNMQUlNQU5UX1NZTUJPTF9SRUdFWCwge2hhc0NsYWltYW50U3BlY2lhbENoYXJhY3RlcnMgOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwVmFsaWRhdG9ycy5lcXVhbCgncGFzc3dvcmQnLCB7bm90TWF0Y2ggOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcblxuICBwdWJsaWMgY2hhbmdlUHdkRm9ybSA6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgcHVibGljIGhpZGVQYXNzd29yZCA9IHRydWU7XG5cbiAgcHVibGljIGhpZGVDb25maXJtUGFzc3dvcmQgPSB0cnVlO1xuXG4gIHB1YmxpYyBoaWRlT2xkUGFzc3dvcmQgPSB0cnVlO1xuXG4gIHB1YmxpYyB1c2VyIDogVXNlck1vZGVsO1xuXG4gIHB1YmxpYyBzaG93Q2hhbmdlUGFzc3dvcmQgPSAnZmFsc2UnO1xuXG4gIHB1YmxpYyBpc0NTUiA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzQ2xhaW1hbnQgOmJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgdXNlTmV3UGFzc3dvcmRQb2xpY3kgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZiIDogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgbG9naW5TZXJ2aWNlIDogTG9naW5TZXJ2aWNlLCBcbiAgICAgICAgICAgICAgcHVibGljIHV0aWwgOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgICAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplQ2hhbmdlUHdkRm9ybSgpO1xuICAgIHRoaXMudXNlciA9IHRoaXMubG9naW5TZXJ2aWNlLmdldFVzZXIoKTtcbiAgICB0aGlzLnNob3dDaGFuZ2VQYXNzd29yZCA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2NoYW5nZVB3ZCcpID8gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnY2hhbmdlUHdkJykgOiAnZmFsc2UnO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNoYW5nZVB3ZEZvcm0oKXtcbiAgICB0aGlzLmNoYW5nZVB3ZEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICdvbGRQYXNzd29yZCcgOiBbbnVsbCAsIFtdXSxcbiAgICAgICdwYXNzd29yZCc6IFtudWxsLCBbXV0sXG4gICAgICAnY29uZmlybVBhc3N3b3JkJzogW251bGwsIFtdXVxuICAgIH0pO1xuXG4gICAgdGhpcy5wYXNzd29yZC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgaWYodGhpcy5jb25maXJtUGFzc3dvcmQudmFsdWUpe1xuICAgICAgICB0aGlzLmNvbmZpcm1QYXNzd29yZC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgICBpZih0aGlzLm9sZFBhc3N3b3JkLnZhbHVlKXtcbiAgICAgICAgdGhpcy5vbGRQYXNzd29yZC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgdGhpcy5zZXRQYXNzd29yZFZhbGlkYXRvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGFzc3dvcmRWYWxpZGF0b3JzKCkge1xuICAgIGxldCB2YWxpZGF0b3JzMTogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICBsZXQgdmFsaWRhdG9yczI6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgbGV0IHZhbGlkYXRvcnMzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMubm90RXF1YWwoJ3Bhc3N3b3JkJywge21hdGNoIDogdHJ1ZX0pXTtcblxuICAgIHRoaXMuY29tbW9uVmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgdGhpcy5jb21tb25WYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcblxuICAgIGlmICh0aGlzLmxvZ2luU2VydmljZS5pc0NzcigpKSB7XG4gICAgICB0aGlzLmNzclBhc3N3b3JkVmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgICB0aGlzLmNzckNvbmZpcm1QYXNzd29yZFZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgICAgaWYodGhpcy5pc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZCl7XG4gICAgICAgIHRoaXMudXNlTmV3UGFzc3dvcmRQb2xpY3kgPSB0cnVlO1xuICAgICAgICB0aGlzLm5ld1Bhc3N3b3JkUG9saWN5VmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgICAgIHRoaXMubmV3UGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub2xkUGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgICAgdGhpcy5vbGRQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2dpblNlcnZpY2UuaXNDbGFpbWFudCgpKSB7XG4gICAgICB0aGlzLmNsYWltYW50UGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgIHRoaXMuY2xhaW1hbnRDb25maXJtUGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICAgIGlmKHRoaXMuaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRGb3JDbGFpbWFudCl7XG4gICAgICAgIHRoaXMudXNlTmV3UGFzc3dvcmRQb2xpY3kgPSB0cnVlO1xuICAgICAgICB0aGlzLm5ld1Bhc3N3b3JkUG9saWN5VmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgICAgIHRoaXMubmV3UGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub2xkUGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgICAgdGhpcy5vbGRQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsYWltYW50UGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgIHRoaXMuY2xhaW1hbnRDb25maXJtUGFzc3dvcmRWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICAgIGlmKHRoaXMuaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRGb3JFbXBsb3llcil7XG4gICAgICAgIHRoaXMudXNlTmV3UGFzc3dvcmRQb2xpY3kgPSB0cnVlO1xuICAgICAgICB0aGlzLm5ld1Bhc3N3b3JkUG9saWN5VmFsaWRhdG9ycy5mb3JFYWNoKHYgPT4gdmFsaWRhdG9yczEucHVzaCh2KSk7XG4gICAgICAgIHRoaXMubmV3UGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMi5wdXNoKHYpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub2xkUGFzc3dvcmRQb2xpY3lWYWxpZGF0b3JzLmZvckVhY2godiA9PiB2YWxpZGF0b3JzMS5wdXNoKHYpKTtcbiAgICAgICAgdGhpcy5vbGRQYXNzd29yZFBvbGljeVZhbGlkYXRvcnMuZm9yRWFjaCh2ID0+IHZhbGlkYXRvcnMyLnB1c2godikpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLm9sZFBhc3N3b3JkLCB2YWxpZGF0b3JzMyk7XG4gICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5wYXNzd29yZCwgdmFsaWRhdG9yczEpO1xuICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuY29uZmlybVBhc3N3b3JkLCB2YWxpZGF0b3JzMik7XG4gIH1cblxuICBnZXQgb2xkUGFzc3dvcmQoKXtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VQd2RGb3JtLmdldCgnb2xkUGFzc3dvcmQnKTtcbiAgfVxuXG4gIGdldCBwYXNzd29yZCgpe1xuICAgIHJldHVybiB0aGlzLmNoYW5nZVB3ZEZvcm0uZ2V0KCdwYXNzd29yZCcpO1xuICB9XG5cbiAgZ2V0IGNvbmZpcm1QYXNzd29yZCgpe1xuICAgIHJldHVybiB0aGlzLmNoYW5nZVB3ZEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKTtcbiAgfVxuXG4gIHNhdmUoKXtcbiAgICBpZih0aGlzLmNoYW5nZVB3ZEZvcm0uaW52YWxpZCl7XG4gICAgICByZXR1cm4gO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpXG4gICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UudXBkYXRlUGFzc3dvcmQodGhpcy5vbGRQYXNzd29yZC52YWx1ZS50cmltKCksIHRoaXMucGFzc3dvcmQudmFsdWUudHJpbSgpLCB0aGlzLmNvbmZpcm1QYXNzd29yZC52YWx1ZS50cmltKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubmF2aWdhdGVSb290KCdsb2dpbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdQYXNzd29yZCBDaGFuZ2VkIFN1Y2Nlc3NmdWxseS4gUGxlYXNlIGxvZ2luIGFnYWluLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgIH0pXG4gIH1cblxuICByZWRpcmVjdCgpe1xuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxvZ2luU2VydmljZS5nZXRVc2VyKCk7XG4gICAgaWYodGhpcy5sb2dpblNlcnZpY2UuaXNDbGFpbWFudCgpKXtcbiAgICAgIGNvbnN0IGlzQ2FwYWNpdG9yID0gdGhpcy5wbGF0Zm9ybS5pcygnY2FwYWNpdG9yJyk7XG4gICAgICBpZihpc0NhcGFjaXRvcil7XG4gICAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChcIndlbGNvbWVcIik7XG4gICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICB9IGVsc2V7XG4gICAgICAgIGlmKExpYkNvbnN0YW50cy5sZWdhY3lNZW51ID09ICd0cnVlJyl7XG4gICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KFwid2VsY29tZVwiKTtcbiAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZigoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUgKyBcIlwiKS5pbmNsdWRlcygnVUFUJykgfHwgKExpYkNvbnN0YW50cy5zc29Db29raWVOYW1lICsgXCJcIikuaW5jbHVkZXMoJ1BST0QnKSApe1xuICAgICAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLm1zd29ya3NVcmx9YCwgJ19zZWxmJyk7XG4gICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZih0aGlzLmxvZ2luU2VydmljZS5pc0VtcGxveWVyKCkgfHwgdGhpcy5sb2dpblNlcnZpY2UuaXNUcGEoKSl7XG4gICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMudGF4VXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5YCwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxpb24taGVhZGVyPlxyXG4gIDxhcHAtaGVhZGVyIHRpdGxlPVwiQ2hhbmdlIFBhc3N3b3JkXCIgcGFnZUlkPVwiQ05HUFdELTAwMVwiPlxyXG4gIDwvYXBwLWhlYWRlcj5cclxuPC9pb24taGVhZGVyPlxyXG5cclxuPGlvbi1jb250ZW50PlxyXG4gIDxhcHAtY29udGVudD5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY2hhbmdlUHdkRm9ybVwiICNjaGFuZ2VQd2RGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICA8aW9uLXJvdyBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1hbGlnbi1zZWxmLWNlbnRlclwiIHNpemUtbWQ9XCI2XCIgc2l6ZS1sZz1cIjRcIiBzaXplLXhzPVwiMTJcIiBzaXplLXNtPVwiMTJcIiBzaXplLXhsPVwiNFwiPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGFwcC1jYXJkIHRpdGxlPVwiQ2hhbmdlIFBhc3N3b3JkXCIgKGNhcHNMb2NrKT1cImNhcHNPbj0kZXZlbnRcIj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0NoYW5nZVBhc3N3b3JkID09ICdmYWxzZSdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIEluIG9yZGVyIHRvIDxzdHJvbmc+cHJvdGVjdCB5b3VyIGFjY291bnQ8L3N0cm9uZz4sIG1ha2Ugc3VyZSB5b3VyIHBhc3N3b3JkIGhhczpcclxuICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwicC1wbC0yIHAtbWwtMiBwLW10LTBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIHBhc3N3b3JkLmRpcnR5ID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwiIXVzZU5ld1Bhc3N3b3JkUG9saWN5XCI+TWluaW11bSA4IGNoYXJhY3RlcnMuPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSAmJiBwYXNzd29yZC5kaXJ0eSA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cIiF1c2VOZXdQYXNzd29yZFBvbGljeVwiPk1heGltdW0gMTUgY2hhcmFjdGVycy48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIHBhc3N3b3JkLmRpcnR5ID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwidXNlTmV3UGFzc3dvcmRQb2xpY3lcIj5NaW5pbXVtIDE0IGNoYXJhY3RlcnMuPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSAmJiBwYXNzd29yZC5kaXJ0eSA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIiAqbmdJZj1cInVzZU5ld1Bhc3N3b3JkUG9saWN5XCI+TWF4aW11bSAyMSBjaGFyYWN0ZXJzLjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIiFwYXNzd29yZC5oYXNFcnJvcignaGFzTnVtYmVyJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPkF0IGxlYXN0IDEgbnVtYmVyPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdoYXNDYXBpdGFsQ2FzZScpICYmIHBhc3N3b3JkLmRpcnR5ICA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIj5BdCBsZWFzdCAxIHVwcGVyY2FzZSBsZXR0ZXI8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ2hhc1NtYWxsQ2FzZScpICYmIHBhc3N3b3JkLmRpcnR5ICA/ICdzdWNjZXNzJyA6ICdlcnJvcidcIj5BdCBsZWFzdCAxIGxvd2VyY2FzZSBsZXR0ZXI8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCIhcGFzc3dvcmQuaGFzRXJyb3IoJ2hhc0NzclNwZWNpYWxDaGFyYWN0ZXJzJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwiIWxvZ2luU2VydmljZS5pc0NsYWltYW50KClcIj5BdCBsZWFzdCAyIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIGZvbGxvd2luZyA8c3Ryb25nPl8gJiM2NDsgKiAkICEgIyAuPC9zdHJvbmc+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdoYXNDbGFpbWFudFNwZWNpYWxDaGFyYWN0ZXJzJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwibG9naW5TZXJ2aWNlLmlzQ2xhaW1hbnQoKSAmJiAhaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3lcIj5BdCBsZWFzdCAxIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIGZvbGxvd2luZyA8c3Ryb25nPl8gJiM2NDsgKiAkICEgIyAuPC9zdHJvbmc+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiIXBhc3N3b3JkLmhhc0Vycm9yKCdoYXNDbGFpbWFudFNwZWNpYWxDaGFyYWN0ZXJzJykgJiYgcGFzc3dvcmQuZGlydHkgID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiICpuZ0lmPVwibG9naW5TZXJ2aWNlLmlzQ2xhaW1hbnQoKSAmJiBpc1NhbWVTeW1ib2xQb2xpY3lGb3JDbGFpbWFudEFuZEFnZW5jeVwiPkF0IGxlYXN0IDIgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gZm9sbG93aW5nIDxzdHJvbmc+XyAmIzY0OyAqICQgISAjIC48L3N0cm9uZz48L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGdyaWQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIFtmb3JtQ29udHJvbF09XCJvbGRQYXNzd29yZFwiIGlucHV0SWQ9XCJvbGRQYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgW2ZlZWRiYWNrXT0nZmFsc2UnIGFwcEF1dG9mb2N1cz48L3AtcGFzc3dvcmQ+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmbG9hdC1pbnB1dFwiPkN1cnJlbnQgUGFzc3dvcmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJvbGRQYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgUGFzc3dvcmQgaXMgcmVxdWlyZWQuXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwib2xkUGFzc3dvcmQuaGFzRXJyb3IoJ21hdGNoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICBDdXJyZW50IFBhc3N3b3JkIHNob3VsZCBub3QgYmUgc2FtZSBhcyBOZXcgUGFzc3dvcmQuXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGdyaWQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIFtmb3JtQ29udHJvbF09XCJwYXNzd29yZFwiIGlucHV0SWQ9XCJwYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgYXBwZW5kVG89XCJib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wLXBhc3N3b3JkPiBcclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmxvYXQtaW5wdXRcIj5OZXcgUGFzc3dvcmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5ldyBQYXNzd29yZCBpcyByZXF1aXJlZC5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcignbm90TWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5ldyBQYXNzd29yZCBhbmQgQ29uZmlybSBQYXNzd29yZCBkaWQgbm90IG1hdGNoLlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInBhc3N3b3JkLmhhc0Vycm9yKCdtYXRjaCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBQYXNzd29yZCBzaG91bGQgbm90IGJlIHNhbWUgYXMgTmV3IFBhc3N3b3JkLlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBncmlkO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZmxvYXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwiY29uZmlybVBhc3N3b3JkXCIgaW5wdXRJZD1cImNvbmZpcm1QYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgYXBwZW5kVG89XCJib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wLXBhc3N3b3JkPiBcclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmxvYXQtaW5wdXRcIj5Db25maXJtIFBhc3N3b3JkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybSBQYXNzd29yZCBpcyByZXF1aXJlZC5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmIHVzZU5ld1Bhc3N3b3JkUG9saWN5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybSBQYXNzd29yZCBzaG91bGQgaGF2ZSBtaW5pbXVtIDxzdHJvbmc+MTQgY2hhcmFjdGVyczwvc3Ryb25nPi5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmIHVzZU5ld1Bhc3N3b3JkUG9saWN5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybSBQYXNzd29yZCBzaG91bGQgbm90IGhhdmUgbW9yZSB0aGFuIDxzdHJvbmc+MjEgY2hhcmFjdGVyczwvc3Ryb25nPi5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICYmICF1c2VOZXdQYXNzd29yZFBvbGljeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm0gUGFzc3dvcmQgc2hvdWxkIGhhdmUgbWluaW11bSA8c3Ryb25nPjggY2hhcmFjdGVyczwvc3Ryb25nPi5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ21heGxlbmd0aCcpICYmICF1c2VOZXdQYXNzd29yZFBvbGljeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm0gUGFzc3dvcmQgc2hvdWxkIG5vdCBoYXZlIG1vcmUgdGhhbiA8c3Ryb25nPjE1IGNoYXJhY3RlcnM8L3N0cm9uZz4uXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdub3RNYXRjaCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgTmV3IFBhc3N3b3JkIGFuZCBDb25maXJtIFBhc3N3b3JkIGRpZCBub3QgbWF0Y2guXHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdtYXRjaCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBQYXNzd29yZCBzaG91bGQgbm90IGJlIHNhbWUgYXMgQ29uZmlybSBQYXNzd29yZC5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiY2Fwc09uXCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcIj48c3Ryb25nPkNhcHMgTG9jayBpcyBPbjwvc3Ryb25nPjwvbGFiZWw+XHJcbiAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInNhdmUoKVwiIGNvbG9yPVwic3VjY2Vzc1wiIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNhdmUtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiID48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIENoYW5nZSBQYXNzd29yZFxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0NoYW5nZVBhc3N3b3JkID09ICd0cnVlJ1wiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICBZb3VyIHBhc3N3b3JkIHdpbGwgZXhwaXJlIGluIDxzdHJvbmcgKm5nSWY9XCJ1c2VyXCI+e3t1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmV9fTwvc3Ryb25nPiBkYXkocykuIENvbnNpZGVyIGNoYW5naW5nIGl0IG5vdy5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic2hvd0NoYW5nZVBhc3N3b3JkID0gJ2ZhbHNlJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNodWZmbGUtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiID48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIENoYW5nZSBOb3dcclxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInJlZGlyZWN0KClcIiBjb2xvcj1cInN1Y2Nlc3NcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhbmFseXRpY3Mtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiID48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIERhc2hib2FyZFxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9hcHAtY2FyZD5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9hcHAtY29udGVudD5cclxuPC9pb24tY29udGVudD4iXX0=
|