@uiapplibct/ngx-reusa-app-lib 0.0.14 → 0.0.15

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.
@@ -819,7 +819,7 @@ export class HeaderComponent extends BasePage {
819
819
  } if (rf & 2) {
820
820
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 14, ctx.util.loader.value$) != 0);
821
821
  i0.ɵɵadvance(4);
822
- i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn());
822
+ i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn() && !ctx.ls.isEmployer());
823
823
  i0.ɵɵadvance(1);
824
824
  i0.ɵɵproperty("ngClass", ctx.displayLogo ? "header_button_white" : "header_button hide-xs hide-md");
825
825
  i0.ɵɵadvance(1);
@@ -846,7 +846,7 @@ export class HeaderComponent extends BasePage {
846
846
  }
847
847
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
848
848
  type: Component,
849
- args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xl hide-lg' : ''\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\" (click)=\"openAuditDashboard()\">\r\n <img alt=\"logo\" pTooltip=\"{{'ReEmployMS Logo' | translate}}\" tooltipPosition=\"bottom\"\r\n src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [ngClass]=\"displayLogo ? 'header_logo' : 'header_logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"Home\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\" *ngIf=\"this.context!='audit' || ls.isEmployer()\">Home</ion-button>\r\n\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : 'Weekly'}}</ion-button>\r\n \r\n \r\n <ion-button pTooltip=\"History\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && interimHomePage == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">History</ion-button>\r\n <ion-button id=\"btnAuditEmployerDashboard\" pTooltip=\"EmployerDashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('employer-dashboard') ? 'header-button' : ''\" *ngIf=\"ls.isEmployer()\" (click)=\"openEmployerDashboard()\">Audit Dashboard</ion-button>\r\n <ion-button id=\"btnAuditMyQ\" pTooltip=\"MyQ\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('myq') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorMyQ()\">MyQ</ion-button>\r\n <ion-button id=\"btnAuditDashboard\" pTooltip=\"Dashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('dashboard') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor()|| ls.isTaxAuditDirector())\" (click)=\"openAuditDashboard()\">Dashboard</ion-button>\r\n <ion-button id=\"btnAuditWorkList\" pTooltip=\"WorkList\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-work-list') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditAuditor()\" (click)=\"openAuditorWorkList()\">Work List</ion-button>\r\n <ion-button id=\"btnAuditInquiry\" pTooltip=\"Inquiry\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('inquiry') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorInquiry()\">Inquiry</ion-button>\r\n <ion-button id=\"btnAuditUploadDocuments\" pTooltip=\"Upload Documents\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('upload-documents') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isEmployer()\" (click)=\"openUploadDocuments()\" [disabled]=\"!isEmployerLoaded\">Upload Documents</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditAuditor())\" (click)=\"openQuestionnaire()\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isEmployer())\" (click)=\"openQuestionnaire()\" [disabled]=\"!isQuestionnaireDataLoaded\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditReferrals\" pTooltip=\"Referrals\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('referrals') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorReferrals()\">Referrals</ion-button>\r\n <ion-button id=\"btnAuditAssign\" pTooltip=\"Assign\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('assign') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorAssign()\">Assign</ion-button>\r\n <ion-button id=\"btnAuditTeam\" pTooltip=\"Team\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('team') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorTeam()\">Team</ion-button>\r\n <ion-button id=\"btnAuditConfig\" pTooltip=\"Config\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('config') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorConfig()\">Config</ion-button>\r\n <ion-button id=\"btnAuditAnalytics\" pTooltip=\"Analytics\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('analytics') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorAnalytics()\">Analytics</ion-button>\r\n\r\n\r\n </ion-buttons>\r\n\r\n \r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr() && this.context !='audit' && contextRoot ==='ss'\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row class=\".ion-wrap\" >\r\n <ion-col size-auto>\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"Account\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <ion-title style=\"font-size: 20px; padding: 0px;\" class=\"hide-xs\">{{ls.getFullName() | properCase}}</ion-title>\r\n <ion-icon slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <i class='pi pi-file font-bold' style=\"font-size: 1.3rem; font-weight: 500 !important;\"></i>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n <!-- <ion-button (click)=\"presentJobSearchResultPopup()\" pTooltip=\"Show job search result\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && util.isState('MS')\">\r\n <ion-icon name=\"briefcase\" fill=\"outline\"></ion-icon>\r\n </ion-button> -->\r\n \r\n \r\n <ion-button (click)=\"presentMyNotificationPopover($event)\" pTooltip=\"Notification\" tooltipPosition=\"bottom\"\r\n *ngIf=\"!ns.showNotificationLoader && !util.isState('ME')\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\">\r\n <ion-icon name=\"notifications-outline\"></ion-icon>\r\n <ion-badge color=\"dark\" *ngIf=\"ns.notificationCount.getValue() > 0\">\r\n <ion-label>{{ns.notificationCount.getValue()}}</ion-label>\r\n </ion-badge>\r\n </ion-button>\r\n <ion-spinner name=\"crescent\" *ngIf=\"ns.showNotificationLoader\"></ion-spinner>\r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"Help\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"Logout\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"showLanguageOption === 'true' && (!ls.getUser() && legacyMenu == 'false')\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button (click)=\"menu.toggle($event)\" pTooltip=\"Language\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast>\r\n <ng-template let-message pTemplate=\"message\">\r\n <i *ngIf=\"message.severity === 'error'\" class=\"pi pi-times-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'success'\" class=\"pi pi-check-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'warn'\" class=\"pi pi-exclamation-circle\"style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'info'\" class=\"pi pi-info-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n\r\n <div [innerHTML]=\"'<strong style=\\'font-size: 22px;font-weight: bold;\\'>' + message.summary + '</strong><br><br>' + \r\n '<span style=\\'font-size: 18px;\\'>' + message.detail + '</span>'\">\r\n </div>\r\n </ng-template>\r\n </p-toast>\r\n\r\n<ng-container *ngIf=\"showProfilePopup\">\r\n <app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>\r\n</ng-container>\r\n\r\n<app-job-search-result-page *ngIf=\"showjobSearchResultPopup\" (onCancel)=\"showjobSearchResultPopup = !showjobSearchResultPopup\"></app-job-search-result-page>\r\n\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.header_button_white,.header_button{background:#fff;height:56px;margin:0;padding:8px}.toolbar-content{text-align:center}ion-toolbar{--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(--ion-color-yellow) !important;text-transform:none!important;font-size:20px}.header-button{--color: var(--ion-color-yellow) !important;text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}:host ::ng-deep .p-toast .p-toast-icon{font-size:48px!important}:host ::ng-deep .p-toast-icon-close{position:absolute!important;top:0;right:0;margin:5px}:host ::ng-deep .p-toast-summary{font-weight:700;display:block;margin-bottom:5px}:host ::ng-deep .p-toast-message,:host ::ng-deep .p-toast-detail{display:block;font-size:14px}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
849
+ args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn() && !ls.isEmployer()\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xl hide-lg' : ''\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\" (click)=\"openAuditDashboard()\">\r\n <img alt=\"logo\" pTooltip=\"{{'ReEmployMS Logo' | translate}}\" tooltipPosition=\"bottom\"\r\n src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [ngClass]=\"displayLogo ? 'header_logo' : 'header_logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"Home\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\" *ngIf=\"this.context!='audit' || ls.isEmployer()\">Home</ion-button>\r\n\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : 'Weekly'}}</ion-button>\r\n \r\n \r\n <ion-button pTooltip=\"History\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && interimHomePage == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">History</ion-button>\r\n <ion-button id=\"btnAuditEmployerDashboard\" pTooltip=\"EmployerDashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('employer-dashboard') ? 'header-button' : ''\" *ngIf=\"ls.isEmployer()\" (click)=\"openEmployerDashboard()\">Audit Dashboard</ion-button>\r\n <ion-button id=\"btnAuditMyQ\" pTooltip=\"MyQ\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('myq') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorMyQ()\">MyQ</ion-button>\r\n <ion-button id=\"btnAuditDashboard\" pTooltip=\"Dashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('dashboard') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor()|| ls.isTaxAuditDirector())\" (click)=\"openAuditDashboard()\">Dashboard</ion-button>\r\n <ion-button id=\"btnAuditWorkList\" pTooltip=\"WorkList\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-work-list') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditAuditor()\" (click)=\"openAuditorWorkList()\">Work List</ion-button>\r\n <ion-button id=\"btnAuditInquiry\" pTooltip=\"Inquiry\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('inquiry') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorInquiry()\">Inquiry</ion-button>\r\n <ion-button id=\"btnAuditUploadDocuments\" pTooltip=\"Upload Documents\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('upload-documents') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isEmployer()\" (click)=\"openUploadDocuments()\" [disabled]=\"!isEmployerLoaded\">Upload Documents</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditAuditor())\" (click)=\"openQuestionnaire()\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isEmployer())\" (click)=\"openQuestionnaire()\" [disabled]=\"!isQuestionnaireDataLoaded\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditReferrals\" pTooltip=\"Referrals\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('referrals') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorReferrals()\">Referrals</ion-button>\r\n <ion-button id=\"btnAuditAssign\" pTooltip=\"Assign\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('assign') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorAssign()\">Assign</ion-button>\r\n <ion-button id=\"btnAuditTeam\" pTooltip=\"Team\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('team') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorTeam()\">Team</ion-button>\r\n <ion-button id=\"btnAuditConfig\" pTooltip=\"Config\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('config') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorConfig()\">Config</ion-button>\r\n <ion-button id=\"btnAuditAnalytics\" pTooltip=\"Analytics\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('analytics') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorAnalytics()\">Analytics</ion-button>\r\n\r\n\r\n </ion-buttons>\r\n\r\n \r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr() && this.context !='audit' && contextRoot ==='ss'\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row class=\".ion-wrap\" >\r\n <ion-col size-auto>\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"Account\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <ion-title style=\"font-size: 20px; padding: 0px;\" class=\"hide-xs\">{{ls.getFullName() | properCase}}</ion-title>\r\n <ion-icon slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <i class='pi pi-file font-bold' style=\"font-size: 1.3rem; font-weight: 500 !important;\"></i>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n <!-- <ion-button (click)=\"presentJobSearchResultPopup()\" pTooltip=\"Show job search result\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && util.isState('MS')\">\r\n <ion-icon name=\"briefcase\" fill=\"outline\"></ion-icon>\r\n </ion-button> -->\r\n \r\n \r\n <ion-button (click)=\"presentMyNotificationPopover($event)\" pTooltip=\"Notification\" tooltipPosition=\"bottom\"\r\n *ngIf=\"!ns.showNotificationLoader && !util.isState('ME')\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\">\r\n <ion-icon name=\"notifications-outline\"></ion-icon>\r\n <ion-badge color=\"dark\" *ngIf=\"ns.notificationCount.getValue() > 0\">\r\n <ion-label>{{ns.notificationCount.getValue()}}</ion-label>\r\n </ion-badge>\r\n </ion-button>\r\n <ion-spinner name=\"crescent\" *ngIf=\"ns.showNotificationLoader\"></ion-spinner>\r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"Help\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"Logout\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"showLanguageOption === 'true' && (!ls.getUser() && legacyMenu == 'false')\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button (click)=\"menu.toggle($event)\" pTooltip=\"Language\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast>\r\n <ng-template let-message pTemplate=\"message\">\r\n <i *ngIf=\"message.severity === 'error'\" class=\"pi pi-times-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'success'\" class=\"pi pi-check-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'warn'\" class=\"pi pi-exclamation-circle\"style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'info'\" class=\"pi pi-info-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n\r\n <div [innerHTML]=\"'<strong style=\\'font-size: 22px;font-weight: bold;\\'>' + message.summary + '</strong><br><br>' + \r\n '<span style=\\'font-size: 18px;\\'>' + message.detail + '</span>'\">\r\n </div>\r\n </ng-template>\r\n </p-toast>\r\n\r\n<ng-container *ngIf=\"showProfilePopup\">\r\n <app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>\r\n</ng-container>\r\n\r\n<app-job-search-result-page *ngIf=\"showjobSearchResultPopup\" (onCancel)=\"showjobSearchResultPopup = !showjobSearchResultPopup\"></app-job-search-result-page>\r\n\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.header_button_white,.header_button{background:#fff;height:56px;margin:0;padding:8px}.toolbar-content{text-align:center}ion-toolbar{--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(--ion-color-yellow) !important;text-transform:none!important;font-size:20px}.header-button{--color: var(--ion-color-yellow) !important;text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}:host ::ng-deep .p-toast .p-toast-icon{font-size:48px!important}:host ::ng-deep .p-toast-icon-close{position:absolute!important;top:0;right:0;margin:5px}:host ::ng-deep .p-toast-summary{font-weight:700;display:block;margin-bottom:5px}:host ::ng-deep .p-toast-message,:host ::ng-deep .p-toast-detail{display:block;font-size:14px}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
850
850
  }], () => [{ type: i1.LoginService }, { type: i2.UtilService }, { type: i3.Router }, { type: i4.PopoverController }, { type: i5.ClaimantService }, { type: i4.NavController }, { type: i4.ModalController }, { type: i6.NotificationService }, { type: i7.HelpService }, { type: i8.TranslateService }, { type: i9.AuditService }], { title: [{
851
851
  type: Input,
852
852
  args: ['title']
@@ -870,4 +870,4 @@ export class HeaderComponent extends BasePage {
870
870
  args: ['context']
871
871
  }] }); })();
872
872
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HeaderComponent, { className: "HeaderComponent", filePath: "lib\\components\\header\\header.component.ts", lineNumber: 26 }); })();
873
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBUWhGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNkaEQsdUNBQ21COzs7O0lBRGtCLHVFQUFvQzs7O0lBSWpFLHNDQUM0SDs7O0lBQWhHLHlHQUE2RTs7OztJQVF6RyxzQ0FBeU07SUFBN0wsd0xBQVMsZUFBQSxrQkFBVSxDQUFBLElBQUM7SUFBeUssb0JBQUk7SUFBQSxpQkFBYTs7O0lBQWhKLG1HQUE2RTs7OztJQUV2SixzQ0FBOFI7SUFBakQsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQXlCLFlBQThDO0lBQUEsaUJBQWE7OztJQUF4VCxtRkFBa0Q7SUFBMEIsb0dBQThFO0lBQW1HLGVBQThDO0lBQTlDLHdFQUE4Qzs7OztJQUM1VSxzQ0FBNFI7SUFBekIsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQUMsWUFB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aUQ7WUFBQyx5RkFBdUU7WUFHbkcsZUFBcUI7WUFBckIsMENBQXFCO1lBMkJWLGVBQW9GO1lBQXBGLGtIQUFvRjtZQW1CakcsZUFBcUI7WUFBckIsMENBQXFCO1lBZ0NmLGVBQXNDO1lBQXRDLCtEQUFzQztZQU01QyxlQUErRTtZQUEvRSw0R0FBK0U7WUFRN0QsZUFBbUI7WUFBbkIsd0NBQW1CO1lBd0JuRCxlQUFzQjtZQUF0QiwyQ0FBc0I7WUFJUixlQUE4QjtZQUE5QixtREFBOEI7OztpRkQzRzlDLGVBQWU7Y0FMM0IsU0FBUzsyQkFDRSxZQUFZOzBVQWNOLEtBQUs7a0JBQXBCLEtBQUs7bUJBQUMsT0FBTztZQUVHLE1BQU07a0JBQXRCLEtBQUs7bUJBQUMsUUFBUTtZQUVTLGFBQWE7a0JBQXBDLEtBQUs7bUJBQUMsZUFBZTtZQUVBLFdBQVc7a0JBQWhDLEtBQUs7bUJBQUMsYUFBYTtZQUVFLFdBQVc7a0JBQWhDLEtBQUs7bUJBQUMsYUFBYTtZQUVELFFBQVE7a0JBQTFCLEtBQUs7bUJBQUMsVUFBVTtZQUVDLE9BQU87a0JBQXhCLEtBQUs7bUJBQUMsU0FBUzs7a0ZBdEJMLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXIsIFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XG5pbXBvcnQgeyBDbGFpbWFudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYWltYW50L0NsYWltYW50TW9kZWwnO1xuaW1wb3J0IHsgTXlOb3RpZmljYXRpb25zUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL3BvcG92ZXJzL215LW5vdGlmaWNhdGlvbnMvbXktbm90aWZpY2F0aW9ucy5wYWdlJztcbmltcG9ydCB7IE15UHJvZmlsZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9wb3BvdmVycy9teS1wcm9maWxlL215LXByb2ZpbGUucGFnZSc7XG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC9jbGFpbWFudC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEhlbHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZVNlbGVjdEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgU2VhcmNoUXVlc3Rpb25uYWlyZURhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlRm9ybSc7XG5pbXBvcnQgeyBBdWRpdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdWRpdC9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1ZGl0RG9jdW1lbnRFbXBsb3llclVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BdWRpdERvY3VtZW50RW1wbG95ZXJVc2VyTW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0ICB7XG5cbiAgaXRlbXM6IE1lbnVJdGVtW107XG5cbiAgc2VhcmNoVGV4dDtcblxuICByZXN1bHRzOiBDbGFpbWFudE1vZGVsW107XG5cbiAgY29udGV4dFJvb3Q6c3RyaW5nO1xuXG4gIEBJbnB1dCgndGl0bGUnKSB0aXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgncGFnZUlkJykgcGFnZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KCdzZWNvbmRUb29sYmFyJykgc2Vjb25kVG9vbGJhcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZGlzcGxheUxvZ28nKSBkaXNwbGF5TG9nbzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnc2hvd0hpc3RvcnknKSBzaG93SGlzdG9yeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnYmFja1BhZ2UnKSBiYWNrUGFnZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgnY29udGV4dCcpIGNvbnRleHQ6IHN0cmluZztcblxuICBwdWJsaWMgc2hvd05vdGlmaWNhdGlvbkxvYWRlciA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsZWdhY3lNZW51ID0gTGliQ29uc3RhbnRzLmxlZ2FjeU1lbnU7XG5cbiAgcHVibGljIGludGVyaW1Ib21lUGFnZSA9IExpYkNvbnN0YW50cy5pbnRlcmltSG9tZVBhZ2U7XG5cbiAgcHVibGljIHNob3dQcm9maWxlUG9wdXAgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cCA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd0xhbmd1YWdlT3B0aW9uID0gTGliQ29uc3RhbnRzLmVuYWJsZUxhbmd1YWdlQ2hhbmdlO1xuXG4gIGlzRW1wbG95ZXJMb2FkZWQgPSBmYWxzZTtcbiAgaXNRdWVzdGlvbm5haXJlRGF0YUxvYWRlZCA9IGZhbHNlO1xuXG5cbiAgc2VhcmNoUXVlc3Rpb25uYWlyZURhdGE6U2VhcmNoUXVlc3Rpb25uYWlyZURhdGFbXTtcbiAgc2VsZWN0ZWRRdWVzdGlvbm5haXJlRGF0YTogU2VhcmNoUXVlc3Rpb25uYWlyZURhdGFbXTtcbiAgYXVkaXREb2N1bWVudEVtcGxveWVyVXNlck1vZGVsOiBBdWRpdERvY3VtZW50RW1wbG95ZXJVc2VyTW9kZWw7XG5cblxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBscyA6IExvZ2luU2VydmljZSwgcHVibGljIHV0aWwgOiBVdGlsU2VydmljZSwgcHVibGljIHIgOiBSb3V0ZXIsIHB1YmxpYyBwb3B1cDogUG9wb3ZlckNvbnRyb2xsZXIsIFxuICAgICAgICAgICAgICBwdWJsaWMgY3MgOiBDbGFpbWFudFNlcnZpY2UsIHByaXZhdGUgbmF2IDogTmF2Q29udHJvbGxlciwgcHVibGljIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxuICAgICAgICAgICAgICBwdWJsaWMgbnMgOiBOb3RpZmljYXRpb25TZXJ2aWNlLCBwdWJsaWMgaHM6IEhlbHBTZXJ2aWNlLCBwdWJsaWMgdHJhbnNsYXRlU2VydmljZSA6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgcXM6IEF1ZGl0U2VydmljZSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgICAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy90aGlzLmxvYWROb3RpZmljYXRpb25Db3VudCgpO1xuICAgIHRoaXMuc2V0TWVudUl0ZW1zKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikpO1xuICAgIGlmKHRoaXMubHMuaXNFbXBsb3llcigpKVxuICAgIHtcbiAgICAgICAgICB0aGlzLmxvYWRFbXBsb3llckRldGFpbHMoKVxuICAgIH1cbiAgICB0aGlzLmNvbnRleHRSb290ID0gdGhpcy5nZXRDb250ZXh0Um9vdCgpO1xuICB9XG4gIFxuICAvKkpvYiBTZWFyY2ggUmVzdWx0IEljb24gUG9wdXBcbiAgIHByZXNlbnRKb2JTZWFyY2hSZXN1bHRQb3B1cCgpIHtcbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSl7XG4gICAgICB0aGlzLnNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gICovXG4gIGdldENvbnRleHRSb290KCl7XG4gICAgbGV0IHBhcnRzID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNwbGl0KCcvJyk7XG4gICAgbGV0IGNvbnRleHRSb290ID0gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzFdIDogJyc7XG4gICAgcmV0dXJuIGNvbnRleHRSb290O1xuICB9XG4gIHNldE1lbnVJdGVtcyhsYW5ndWFnZSA6IHN0cmluZyl7XG4gICAgdGhpcy5pdGVtcyA9IFt7XG4gICAgICBsYWJlbCA6ICdDaG9vc2UgbGFuZ3VhZ2UnLFxuICAgICAgaXRlbXM6IFt7XG4gICAgICAgIGxhYmVsOiAnRW5nbGlzaCcsXG4gICAgICAgIGljb24gOiB0aGlzLmdldEljb24obGFuZ3VhZ2UsJ2VuJyksXG4gICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UoJ2VuJywgJ0VuZ2xpc2gnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdFc3Bh77+9b2wnLFxuICAgICAgICBpY29uIDogdGhpcy5nZXRJY29uKGxhbmd1YWdlLCdlcycpLFxuICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldExhbmd1YWdlKCdlcycsICdlc3Bh77+9b2wnKTtcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9XTtcbiAgfVxuXG4gIGdldEljb24oc2VsZWN0ZWRMYW5nIDogc3RyaW5nLCBsYW5ndWFnZSA6IHN0cmluZyl7XG4gICAgaWYobGFuZ3VhZ2UgPT0gc2VsZWN0ZWRMYW5nKXtcbiAgICAgIHJldHVybiBcInBpIHBpLWZ3IHBpLWNoZWNrXCI7XG4gICAgfWVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2UgOiBzdHJpbmcsIG5hbWUgOiBzdHJpbmcpe1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZ3VhZ2UpO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmd1YWdlKTtcbiAgICB0aGlzLnV0aWwudG9hc3QoJ0xhbmd1YWdlIHByZWZlcmVuY2UgY2hhbmdlZCB0byAnICsgbmFtZSk7XG4gICAgdGhpcy5zZXRNZW51SXRlbXMobGFuZ3VhZ2UpO1xuICB9XG5cbiAgYXN5bmMgcHJlc2VudE15UHJvZmlsZVBvcG92ZXIoZXZlbnQpIHtcblxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpICYmICAodGhpcy5sZWdhY3lNZW51ID09ICdmYWxzZScgfHwgdGhpcy51dGlsLmlzU3RhdGUoJ01FJykgfHwgKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpICYmIExpYkNvbnN0YW50cy5pbnRlcmltSG9tZVBhZ2UgPT0gJ3RydWUnKSkpe1xuICAgICAgdGhpcy5zaG93UHJvZmlsZVBvcHVwID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBNeVByb2ZpbGVQYWdlLFxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBjc3NDbGFzczogJ2hlYWRlci1wb3BvdmVyJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgcHJlc2VudE15Tm90aWZpY2F0aW9uUG9wb3ZlcihldmVudCkge1xuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcHVwLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IE15Tm90aWZpY2F0aW9uc1BhZ2UsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGNzc0NsYXNzOiAnaGVhZGVyLXBvcG92ZXInXG4gICAgfSk7XG5cbiAgICBwb3BvdmVyLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5ucy51cGRhdGVSZWFkRmxhZygpO1xuICAgIH0pXG5cbiAgICByZXR1cm4gYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XG4gIH1cblxuICBsb2dvdXQoKXtcbiAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJy9sYW5kaW5nJyk7XG4gICAgdGhpcy5scy5sb2dvdXQoKTtcbiAgfVxuXG4gIG9wZW5XZWVrbGllcygpe1xuICAgIGlmKHRoaXMubGVnYWN5TWVudSA9PSAndHJ1ZScgJiYgdGhpcy5pc01TKCkgJiYgdGhpcy5pbnRlcmltSG9tZVBhZ2UgPT0gJ2ZhbHNlJyl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdjcCcsICd2Mi93ZWVrbGllcycpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2NwJywgJ3YzL3dlZWtsaWVzJylcbiAgICB9XG4gIH1cblxuICBvcGVuQXVkaXREYXNoYm9hcmQoKXtcbiAgICBpZih0aGlzLmNvbnRleHQ9PSdhdWRpdCcpe1xuICAgICAgaWYodGhpcy5scy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IHRoaXMubHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpe1xuICAgICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9kYXNoYm9hcmQnKTtcbiAgICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkpe1xuICAgICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9teXEnKTtcbiAgICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzRW1wbG95ZXIoKSl7XG4gICAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnLycpOyAvL0FkZCB0aGUgYWN0dWFsIHVybCBmb3IgZW1wbG95ZXIgYXVkaXQgZGFzaGJvYXJkXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb3BlbkF1ZGl0b3JXb3JrTGlzdCgpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2F1ZGl0b3Itd29yay1saXN0Jyk7XG4gIH1cblxuICAgb3BlblF1ZXN0aW9ubmFpcmUoKXtcbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYXVkaXRvci1xdWVzdGlvbm5haXJlJyk7XG4gICAgfSBlbHNlIGlmKHRoaXMubHMuaXNFbXBsb3llcigpKXtcbiAgICAgIGlmKHRoaXMuc2VhcmNoUXVlc3Rpb25uYWlyZURhdGEgJiYgdGhpcy5zZWFyY2hRdWVzdGlvbm5haXJlRGF0YS5sZW5ndGggPiAwKVxuICAgICAge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUXVlc3Rpb25uYWlyZURhdGEgPSB0aGlzLnNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhO1xuICAgICAgICB0aGlzLnFzLnNldFF1ZXN0aW9ubmFpcmVEYXRhKHRoaXMuc2VsZWN0ZWRRdWVzdGlvbm5haXJlRGF0YSk7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsICcvYXVkaXRvci1xdWVzdGlvbm5haXJlLWZvcm0nLCB7XG4gICAgICAgIHN0YXRlOiB7IGF1ZGl0OiB0aGlzLnNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhIH1cbiAgICAgIH0pOy8vQWRkIHRoZSBhY3R1YWwgdXJsIGZvciBlbXBsb3llciBxdWVzdGlvbm5haXJlXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICB0aGlzLnV0aWwuc2hvd0Vycm9yKFwiTm8gYWN0aXZlIGF1ZGl0LiBUaGlzIGlzIG5vdCByZXF1aXJlZCBhdCB0aGlzIHBvaW50LlwiKVxuICAgICAgfVxuICAgICAgXG4gICAgfVxuICB9XG4gIG9wZW5VcGxvYWREb2N1bWVudHMoKXtcblxuICAgIGlmKHRoaXMuYXVkaXREb2N1bWVudEVtcGxveWVyVXNlck1vZGVsICYmIHRoaXMuYXVkaXREb2N1bWVudEVtcGxveWVyVXNlck1vZGVsLmF1ZGl0SWQgIT0gbnVsbClcbiAgICB7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsICcvZW1wbG95ZXItZG9jdW1lbnRzJywge1xuICAgICAgICBzdGF0ZTogeyBhdWRpdDogdGhpcy5hdWRpdERvY3VtZW50RW1wbG95ZXJVc2VyTW9kZWwgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICB0aGlzLnV0aWwuc2hvd0Vycm9yKFwiTm8gYWN0aXZlIGF1ZGl0LiBUaGlzIGlzIG5vdCByZXF1aXJlZCBhdCB0aGlzIHBvaW50LlwiKVxuICAgIH1cbiAgfVxuXG4gIG9wZW5FbXBsb3llckRhc2hib2FyZCgpXG4gIHtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsICcvZW1wbG95ZXItZGFzaGJvYXJkJywge1xuICAgICAgfSk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvck15USgpe1xuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9teXEnKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvcklucXVpcnkoKXtcbiAgICAgaWYodGhpcy5jb250ZXh0PT0nYXVkaXQnKXtcbiAgICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpfHx0aGlzLmxzLmhhc1JvbGUoJ3RheGF1ZGl0YWdlbmN5c3RhZmYnKSl7XG4gICAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2lucXVpcnknKTtcbiAgICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkpe1xuICAgICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hdWRpdG9yLWlucXVpcnknKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy90aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9pbnF1aXJ5Jyk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvclJlZmVycmFscygpe1xuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL3JlZmVycmFscycpO1xuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgdGhpcy5scy5pc1RwYSgpIHx8IHRoaXMubHMuaGFzUm9sZSgndGF4YXVkaXRhZ2VuY3lzdGFmZicpKXsvL0FnZW5jeSBFbXBsb3llZSBEZWZhdWx0IC0gY2hlY2sgcm9sZSB3aXRoIGNpanVcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL25ldy1yZWZlcnJhbCcpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yQ29uZmlnKCl7XG4gICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvY29uZmlnJyk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvckFuYWx5dGljcygpe1xuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2FuYWx5dGljcycpO1xuICAgIH1cbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgJiYgISh0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSkpeyBcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2F1ZGl0b3ItYW5hbHl0aWNzJyk7XG4gICAgfVxuICB9XG5cbiAgb3BlblN1cGVydmlzb3JBc3NpZ24oKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hc3NpZ24nKTtcbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yVGVhbSgpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL3RlYW0nKTtcbiAgfVxuXG5cbiAgbG9hZEVtcGxveWVyRGV0YWlscygpXG4gIHtcbiAgICB0aGlzLmlzRW1wbG95ZXJMb2FkZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzUXVlc3Rpb25uYWlyZURhdGFMb2FkZWQgPSBmYWxzZTtcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKClcblxuICAgIHRoaXMucXMuc2VhcmNoUXVlc3Rpb25uYWlyZShudWxsLCBudWxsLCBudWxsLHVzZXJNb2RlbC51c2VybmFtZSlcbiAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhID0gcmVzO1xuICAgICAgfVxuICAgICAgdGhpcy5pc1F1ZXN0aW9ubmFpcmVEYXRhTG9hZGVkID0gdHJ1ZVxuICAgIH0sIChlcnIpID0+IHtcblxuICAgIH0pO1xuXG4gICAgdGhpcy5xcy5maW5kRW1wbG95ZXJEYXRhV2l0aFVzZXJJRCh1c2VyTW9kZWwudXNlcm5hbWUpXG4gICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKVxuICAgICAge1xuICAgICAgICB0aGlzLmF1ZGl0RG9jdW1lbnRFbXBsb3llclVzZXJNb2RlbCA9IHJlcztcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNFbXBsb3llckxvYWRlZCA9IHRydWU7IFxuICAgIH0sIChlcnIpID0+IHtcbiAgICAgXG4gICAgfSlcblxuICB9XG4gIG9wZW5Ib21lKCl7XG4gICAgLy90aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoXCIvd2VsY29tZVwiKTtcbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSl7XG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRoaXMudXRpbC5nZXRDbGFpbWFudEFwcENvbnRleHRSb290KCksIFwid2VsY29tZVwiLCB0aGlzLm5hdik7IFxuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzQ3NyKCkpe1xuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpLFwid2VsY29tZVwiLCB0aGlzLm5hdik7IFxuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzRW1wbG95ZXIoKSl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy8nKTsvL0FkZCB0aGUgYWN0dWFsIHVybCBmb3IgZW1wbG95ZXIgcXVlc3Rpb25uYWlyZVxuICAgICAgLy90aGlzLmxvYWRFbXBsb3llckRldGFpbHMoKTtcbiAgICB9IFxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KFwiL3dlbGNvbWVcIik7XG4gICAgfVxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gIH1cblxuICBzZWFyY2goZXZlbnQpIHtcbiAgICBsZXQgZG9TZWFyY2ggPSBmYWxzZTtcbiAgICBsZXQgY2xhaW1hbnRTZWFyY2ggPSBuZXcgQ2xhaW1hbnRNb2RlbCgpO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5ICsgJyc7XG4gICAgaWYocXVlcnkuaW5jbHVkZXMoXCIgXCIpKXtcbiAgICAgIGxldCBmTmFtZSA9IHF1ZXJ5LnNwbGl0KFwiIFwiKVswXTtcbiAgICAgIGxldCBsTmFtZSA9IHF1ZXJ5LnNwbGl0KFwiIFwiKVsxXTtcbiAgICAgIGNsYWltYW50U2VhcmNoLmZpcnN0TmFtZSA9IGZOYW1lO1xuICAgICAgY2xhaW1hbnRTZWFyY2gubGFzdE5hbWUgPSBsTmFtZTtcbiAgICAgIGRvU2VhcmNoID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZihxdWVyeS5sZW5ndGggPT0gOSAmJiB0aGlzLmlzTnVtYmVyKHF1ZXJ5KSAmJiAhZG9TZWFyY2gpe1xuICAgICAgY2xhaW1hbnRTZWFyY2guc3NuID0gcXVlcnk7XG4gICAgICBkb1NlYXJjaCA9IHRydWU7XG4gICAgfWVsc2UgaWYoIXRoaXMuaXNOdW1iZXIocXVlcnkpICYmICFkb1NlYXJjaCl7XG4gICAgICBjbGFpbWFudFNlYXJjaC51c2VySWQgPSBxdWVyeTtcbiAgICAgIGRvU2VhcmNoID0gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgaWYoZG9TZWFyY2gpe1xuICAgICAgdGhpcy5jcy5zZWFyY2goY2xhaW1hbnRTZWFyY2gpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLnJlc3VsdHMgPSBkYXRhO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc051bWJlcihudW0pe1xuICAgIHJldHVybiAhaXNOYU4obnVtKTtcbiAgfVxuXG4gIG9uU2VsZWN0QWN0aW9uKGV2ZW50IDogQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQpe1xuICAgIHRoaXMucmVzdWx0cyA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gbnVsbDtcbiAgICB0aGlzLmNzLmdldENsYWltYW50KCkubmV4dChldmVudC52YWx1ZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRoaXMudXRpbC5nZXRTZWN1cml0eUFwcENvbnRleHRSb290KCksXCJyZXNldC1wYXNzd29yZFwiLCB0aGlzLm5hdik7XG4gICAgICAvL3RoaXMubmF2Lm5hdmlnYXRlRm9yd2FyZCgnL3Jlc2V0LXBhc3N3b3JkJyk7XG4gICAgfSwgNTAwKVxuICAgIFxuICB9XG5cbiAgb3BlbkJlbmVmaXRzQXBwKCl7XG4gICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpXG4gICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKTtcbiAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xuICB9XG5cbiAgb3BlblBhZ2UoY29udGV4dFJvb3QsIHVyaSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyl7XG4gICAgbGV0IGN1cnJlbnRDb250ZXh0Um9vdCA9IHRoaXMudXRpbC5nZXRDb250ZXh0Um9vdCgpO1xuICAgIGxldCB0YXJnZXQgPSBgLyR7Y29udGV4dFJvb3R9YDtcblxuICAgIGlmKGN1cnJlbnRDb250ZXh0Um9vdCA9PSB0YXJnZXQpe1xuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KGAvJHt1cml9YCwgZXh0cmFzKTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QodGFyZ2V0LCB1cmkpO1xuICAgIH1cbiAgfVxuXG4gIGdldENsYXNzKG5hbWUpe1xuICAgIGxldCBjdXJyZW50Um91dGUgPSB0aGlzLnIudXJsLnJlcGxhY2UoJy8nLCAnJyk7XG4gICAgY29uc29sZS5sb2coY3VycmVudFJvdXRlLCBuYW1lLCBjdXJyZW50Um91dGUgPT0gbmFtZSk7XG4gICAgcmV0dXJuIGN1cnJlbnRSb3V0ZSA9PSBuYW1lID8gJ2hlYWRlci1idXR0b24nIDogJyc7XG4gIH1cblxuICBvcGVuQ29udGV4dEhlbHAoKXtcblxuICB9XG5cbiAgYXN5bmMgY2hhbmdlTGFuZ3VhZ2UoZXZlbnQpIHtcbiAgICBcbiAgfVxufVxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImRldGVybWluYXRlXCIgW3ZhbHVlXT1cInV0aWwubG9hZGVyLnZhbHVlJCB8IGFzeW5jXCIgKm5nSWY9XCIodXRpbC5sb2FkZXIudmFsdWUkIHwgYXN5bmMpICE9IDBcIj5cclxuPC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48aW9uLXRvb2xiYXI+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTVweDtcIj5cclxuICAgICAgICA8aW9uLW1lbnUtYnV0dG9uIGF1dG9IaWRlPVwiZmFsc2VcIiBwVG9vbHRpcD1cIk1lbnVcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKVwiIFtuZ0NsYXNzXT1cImxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgPyAnaGlkZS14bCBoaWRlLWxnJyA6ICcnXCI+PC9pb24tbWVudS1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIFtuZ0NsYXNzXT1cImRpc3BsYXlMb2dvID8gJ2hlYWRlcl9idXR0b25fd2hpdGUnIDogJ2hlYWRlcl9idXR0b24gaGlkZS14cyBoaWRlLW1kJ1wiIChjbGljayk9XCJvcGVuQXVkaXREYXNoYm9hcmQoKVwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwibG9nb1wiIHBUb29sdGlwPVwie3snUmVFbXBsb3lNUyBMb2dvJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgc3JjPVwiYXNzZXRzL2ljb24vUmVFbXBsb3l7e3V0aWwuZ2V0U3RhdGUoKX19LnN2Z1wiIFtuZ0NsYXNzXT1cImRpc3BsYXlMb2dvID8gJ2hlYWRlcl9sb2dvJyA6ICdoZWFkZXJfbG9nbyBoaWRlLXhzIGhpZGUtbWQnXCIvPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKVwiPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuSG9tZSgpXCIgcFRvb2x0aXA9XCJIb21lXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2VsY29tZScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dCE9J2F1ZGl0JyB8fCBscy5pc0VtcGxveWVyKClcIj5Ib21lPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkZpbGVXZWVrbGllc1wiIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCIgY2xhc3M9XCJoaWRlLXhzIGhpZGUtbWRcIj57e2xlZ2FjeU1lbnUgPT0gJ3RydWUnID8gJ1dlZWtseScgOiAnV2Vla2x5J319PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuRmlsZVdlZWtsaWVzXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIud2Vla2x5LnRvb2x0aXAnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWVrbGllcycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICd0cnVlJyAmJiAhdXRpbC5pc1N0YXRlKCdNRScpXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHknIDogJ1dlZWtseSd9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkZpbGVXZWVrbGllc1wiIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAndHJ1ZScgJiYgdXRpbC5pc1N0YXRlKCdNRScpXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHkgQ2xhaW0nIDogJ1dlZWtseSd9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICBcclxuICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIHBUb29sdGlwPVwiSGlzdG9yeVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykgPT0gJ2hpc3RvcnknID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgaW50ZXJpbUhvbWVQYWdlID09ICdmYWxzZSdcIiAoY2xpY2spPVwib3BlblBhZ2UoJ2NwJywgJ2hpc3RvcnknKVwiIGNsYXNzPVwiaGlkZS14cyBoaWRlLW1kXCI+SGlzdG9yeTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdEVtcGxveWVyRGFzaGJvYXJkXCIgcFRvb2x0aXA9XCJFbXBsb3llckRhc2hib2FyZFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2VtcGxveWVyLWRhc2hib2FyZCcpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzRW1wbG95ZXIoKVwiIChjbGljayk9XCJvcGVuRW1wbG95ZXJEYXNoYm9hcmQoKVwiPkF1ZGl0IERhc2hib2FyZDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0TXlRXCIgcFRvb2x0aXA9XCJNeVFcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdteXEnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSlcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JNeVEoKVwiPk15UTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0RGFzaGJvYXJkXCIgcFRvb2x0aXA9XCJEYXNoYm9hcmRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdkYXNoYm9hcmQnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCl8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSlcIiAoY2xpY2spPVwib3BlbkF1ZGl0RGFzaGJvYXJkKClcIj5EYXNoYm9hcmQ8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFdvcmtMaXN0XCIgcFRvb2x0aXA9XCJXb3JrTGlzdFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2F1ZGl0b3Itd29yay1saXN0JykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIGxzLmlzVGF4QXVkaXRBdWRpdG9yKClcIiAoY2xpY2spPVwib3BlbkF1ZGl0b3JXb3JrTGlzdCgpXCI+V29yayBMaXN0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRJbnF1aXJ5XCIgcFRvb2x0aXA9XCJJbnF1aXJ5XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnaW5xdWlyeScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCBscy5pc1RheEF1ZGl0QXVkaXRvcigpIHx8IGxzLmlzVGF4QXVkaXREaXJlY3RvcigpKSB8fCAgbHMuaGFzUm9sZSgndGF4YXVkaXRhZ2VuY3lzdGFmZicpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29ySW5xdWlyeSgpXCI+SW5xdWlyeTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0VXBsb2FkRG9jdW1lbnRzXCIgcFRvb2x0aXA9XCJVcGxvYWQgRG9jdW1lbnRzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygndXBsb2FkLWRvY3VtZW50cycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc0VtcGxveWVyKClcIiAoY2xpY2spPVwib3BlblVwbG9hZERvY3VtZW50cygpXCIgW2Rpc2FibGVkXT1cIiFpc0VtcGxveWVyTG9hZGVkXCI+VXBsb2FkIERvY3VtZW50czwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0UXVlc3Rpb25uYWlyZVwiIHBUb29sdGlwPVwiUXVlc3Rpb25uYWlyZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2F1ZGl0b3ItcXVlc3Rpb25uYWlyZScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSlcIiAoY2xpY2spPVwib3BlblF1ZXN0aW9ubmFpcmUoKVwiPlF1ZXN0aW9ubmFpcmU8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFF1ZXN0aW9ubmFpcmVcIiBwVG9vbHRpcD1cIlF1ZXN0aW9ubmFpcmVcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhdWRpdG9yLXF1ZXN0aW9ubmFpcmUnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzRW1wbG95ZXIoKSlcIiAoY2xpY2spPVwib3BlblF1ZXN0aW9ubmFpcmUoKVwiIFtkaXNhYmxlZF09XCIhaXNRdWVzdGlvbm5haXJlRGF0YUxvYWRlZFwiPlF1ZXN0aW9ubmFpcmU8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFJlZmVycmFsc1wiIHBUb29sdGlwPVwiUmVmZXJyYWxzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygncmVmZXJyYWxzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpIHx8ICBscy5oYXNSb2xlKCd0YXhhdWRpdGFnZW5jeXN0YWZmJylcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JSZWZlcnJhbHMoKVwiPlJlZmVycmFsczwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0QXNzaWduXCIgcFRvb2x0aXA9XCJBc3NpZ25cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhc3NpZ24nKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgbHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKVwiIChjbGljayk9XCJvcGVuU3VwZXJ2aXNvckFzc2lnbigpXCI+QXNzaWduPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRUZWFtXCIgcFRvb2x0aXA9XCJUZWFtXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygndGVhbScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yVGVhbSgpXCI+VGVhbTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0Q29uZmlnXCIgcFRvb2x0aXA9XCJDb25maWdcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdjb25maWcnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQ29uZmlnKClcIj5Db25maWc8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdEFuYWx5dGljc1wiIHBUb29sdGlwPVwiQW5hbHl0aWNzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnYW5hbHl0aWNzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQW5hbHl0aWNzKClcIj5BbmFseXRpY3M8L2lvbi1idXR0b24+XHJcblxyXG5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbGJhci1jb250ZW50IGhpZGUteHNcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKSAmJiBscy5pc0NzcigpICYmIHRoaXMuY29udGV4dCAhPSdhdWRpdCcgJiYgY29udGV4dFJvb3QgPT09J3NzJ1wiPlxyXG4gICAgICAgIDxwLWF1dG9Db21wbGV0ZSBhcHBlbmRUbz1cImJvZHlcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBbc3VnZ2VzdGlvbnNdPVwicmVzdWx0c1wiXHJcbiAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIENsYWltYW50c1wiIChvblNlbGVjdCk9XCJvblNlbGVjdEFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgZW1wdHlNZXNzYWdlPVwiTm8gUmVzdWx0cyBGb3VuZC5cIiBzaXplPVwiMjVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC11c2VyIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93IGNsYXNzPVwiLmlvbi13cmFwXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemUtYXV0bz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0Pnt7dXNlci5maXJzdE5hbWUgfCBwcm9wZXJDYXNlfX0ge3t1c2VyLmxhc3ROYW1lIHwgcHJvcGVyQ2FzZX19PC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1c2VyLnVzZXJJZH19PC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1dGlsLm1hc2tTc24odXNlci5zc24pfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCIgPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50TXlQcm9maWxlUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJBY2NvdW50XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwibGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGxzLmlzQ2xhaW1hbnQoKSAmJiBzaG93UHJvZmlsZVBvcHVwID8gJ2hpZGUteHMgaGlkZS1tZCBoZWFkZXItYnV0dG9uJyA6IChsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJylcIj5cclxuICAgICAgICAgICAgPGlvbi10aXRsZSBzdHlsZT1cImZvbnQtc2l6ZTogMjBweDsgcGFkZGluZzogMHB4O1wiIGNsYXNzPVwiaGlkZS14c1wiPnt7bHMuZ2V0RnVsbE5hbWUoKSB8IHByb3BlckNhc2V9fTwvaW9uLXRpdGxlPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJwZXJzb24tY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib3BlblBhZ2UoJ2NwJywgJ2RvY3VtZW50cycpXCIgcFRvb2x0aXA9XCJOb3RpY2VzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgKm5nSWY9XCIhbHMuaXNDc3IoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgIXV0aWwuaXNTdGF0ZSgnTUUnKVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykgPT0gJ2RvY3VtZW50cycgPyAnaGVhZGVyLWJ1dHRvbiBoaWRlLXhzIGhpZGUtbWQnIDogJ2hpZGUteHMgaGlkZS1tZCdcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9J3BpIHBpLWZpbGUgZm9udC1ib2xkJyBzdHlsZT1cImZvbnQtc2l6ZTogMS4zcmVtOyAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1wiPjwvaT5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdkb2N1bWVudHMnKVwiIHBUb29sdGlwPVwiTm90aWNlc1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwiIWxzLmlzQ3NyKCkgJiYgbGVnYWN5TWVudSA9PSAndHJ1ZSdcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb2N1bWVudC10ZXh0LW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJlc2VudEpvYlNlYXJjaFJlc3VsdFBvcHVwKClcIiBwVG9vbHRpcD1cIlNob3cgam9iIHNlYXJjaCByZXN1bHRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiB1dGlsLmlzU3RhdGUoJ01TJylcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJicmllZmNhc2VcIiBmaWxsPVwib3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPiAtLT5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJlc2VudE15Tm90aWZpY2F0aW9uUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJOb3RpZmljYXRpb25cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFucy5zaG93Tm90aWZpY2F0aW9uTG9hZGVyICYmICF1dGlsLmlzU3RhdGUoJ01FJylcIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cIm5vdGlmaWNhdGlvbnMtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJkYXJrXCIgKm5nSWY9XCJucy5ub3RpZmljYXRpb25Db3VudC5nZXRWYWx1ZSgpID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD57e25zLm5vdGlmaWNhdGlvbkNvdW50LmdldFZhbHVlKCl9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICA8L2lvbi1iYWRnZT5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiICpuZ0lmPVwibnMuc2hvd05vdGlmaWNhdGlvbkxvYWRlclwiPjwvaW9uLXNwaW5uZXI+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJ0aGlzLmhzLnNob3coKVwiIHBUb29sdGlwPVwiSGVscFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiAoaHMuc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKSB8IGFzeW5jKVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzZWNvbmRhcnlcIiAqbmdJZj1cIiFscy5pc0xvZ2dlZEluKCkgJiYgbHMuZ2V0VXNlcigpXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImxvZ291dCgpXCIgcFRvb2x0aXA9XCJMb2dvdXRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2ctb3V0LXNoYXJwXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCJzaG93TGFuZ3VhZ2VPcHRpb24gPT09ICd0cnVlJyAmJiAoIWxzLmdldFVzZXIoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScpXCI+XHJcbiAgICAgICAgPHAtbWVudSAjbWVudSBbcG9wdXBdPVwidHJ1ZVwiIFttb2RlbF09XCJpdGVtc1wiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCIgcFRvb2x0aXA9XCJMYW5ndWFnZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsYW5ndWFnZVwiIHNsb3Q9XCJlbmRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbjwvaW9uLXRvb2xiYXI+XHJcbjxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCIgaWQ9XCJzZWNvbmRUb29sYmFyXCIgKm5nSWY9XCJzZWNvbmRUb29sYmFyXCI+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XHJcbiAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbiBwVG9vbHRpcD1cIkJhY2tcIiBhbHQ9XCJCYWNrXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW2RlZmF1bHRIcmVmXT1cImJhY2tQYWdlID8gYmFja1BhZ2UgOiAnL3dlbGNvbWUnXCI+PC9pb24tYmFjay1idXR0b24+XHJcbiAgICAgICAgPGlvbi10aXRsZSBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInRpdGxlXCIgc3R5bGU9XCJmb250LXNpemU6IDE4cHhcIj57e3RpdGxlfX08L2lvbi10aXRsZT5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxyXG4gICAgICAgIDxpb24tdGl0bGUgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IHh4LXNtYWxsOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDhweDtcIiAqbmdJZj1cInBhZ2VJZFwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VJZH19PC9pb24tdGl0bGU+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG48L2lvbi10b29sYmFyPlxyXG48cC10b2FzdD5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVzc2FnZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnZXJyb3InXCIgY2xhc3M9XCJwaSBwaS10aW1lcy1jaXJjbGVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTRweDsgZm9udC1zaXplOiAzOHB4IFwiPjwvaT5cclxuICAgICAgICA8aSAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdzdWNjZXNzJ1wiIGNsYXNzPVwicGkgcGktY2hlY2stY2lyY2xlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnd2FybidcIiBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwic3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnaW5mbydcIiBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcblxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCInPHN0cm9uZyBzdHlsZT1cXCdmb250LXNpemU6IDIycHg7Zm9udC13ZWlnaHQ6IGJvbGQ7XFwnPicgKyBtZXNzYWdlLnN1bW1hcnkgKyAnPC9zdHJvbmc+PGJyPjxicj4nICsgXHJcbiAgICAgICAgICAgICc8c3BhbiBzdHlsZT1cXCdmb250LXNpemU6IDE4cHg7XFwnPicgKyBtZXNzYWdlLmRldGFpbCArICc8L3NwYW4+J1wiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC10b2FzdD5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UHJvZmlsZVBvcHVwXCI+XHJcbiAgICA8YXBwLXByb2ZpbGUgKm5nSWY9XCJzaG93UHJvZmlsZVBvcHVwXCIgKG9uQ2FuY2VsKT1cInNob3dQcm9maWxlUG9wdXAgPSAhc2hvd1Byb2ZpbGVQb3B1cFwiPjwvYXBwLXByb2ZpbGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGFwcC1qb2Itc2VhcmNoLXJlc3VsdC1wYWdlICpuZ0lmPVwic2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwXCIgKG9uQ2FuY2VsKT1cInNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cCA9ICFzaG93am9iU2VhcmNoUmVzdWx0UG9wdXBcIj48L2FwcC1qb2Itc2VhcmNoLXJlc3VsdC1wYWdlPlxyXG5cclxuXHJcblxyXG4iXX0=
873
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBUWhGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNkaEQsdUNBQ21COzs7O0lBRGtCLHVFQUFvQzs7O0lBSWpFLHNDQUNnSjs7O0lBQWhHLHlHQUE2RTs7OztJQVE3SCxzQ0FBeU07SUFBN0wsd0xBQVMsZUFBQSxrQkFBVSxDQUFBLElBQUM7SUFBeUssb0JBQUk7SUFBQSxpQkFBYTs7O0lBQWhKLG1HQUE2RTs7OztJQUV2SixzQ0FBOFI7SUFBakQsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQXlCLFlBQThDO0lBQUEsaUJBQWE7OztJQUF4VCxtRkFBa0Q7SUFBMEIsb0dBQThFO0lBQW1HLGVBQThDO0lBQTlDLHdFQUE4Qzs7OztJQUM1VSxzQ0FBNFI7SUFBekIsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQUMsWUFB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QWlEO1lBQUMseUZBQXVFO1lBR25HLGVBQXFCO1lBQXJCLDBDQUFxQjtZQTJCVixlQUFvRjtZQUFwRixrSEFBb0Y7WUFtQmpHLGVBQXFCO1lBQXJCLDBDQUFxQjtZQWdDZixlQUFzQztZQUF0QywrREFBc0M7WUFNNUMsZUFBK0U7WUFBL0UsNEdBQStFO1lBUTdELGVBQW1CO1lBQW5CLHdDQUFtQjtZQXdCbkQsZUFBc0I7WUFBdEIsMkNBQXNCO1lBSVIsZUFBOEI7WUFBOUIsbURBQThCOzs7aUZEM0c5QyxlQUFlO2NBTDNCLFNBQVM7MkJBQ0UsWUFBWTswVUFjTixLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFRyxNQUFNO2tCQUF0QixLQUFLO21CQUFDLFFBQVE7WUFFUyxhQUFhO2tCQUFwQyxLQUFLO21CQUFDLGVBQWU7WUFFQSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7WUFFRSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7WUFFRCxRQUFRO2tCQUExQixLQUFLO21CQUFDLFVBQVU7WUFFQyxPQUFPO2tCQUF4QixLQUFLO21CQUFDLFNBQVM7O2tGQXRCTCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBOYXZDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgQ2xhaW1hbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFpbWFudC9DbGFpbWFudE1vZGVsJztcbmltcG9ydCB7IE15Tm90aWZpY2F0aW9uc1BhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9wb3BvdmVycy9teS1ub3RpZmljYXRpb25zL215LW5vdGlmaWNhdGlvbnMucGFnZSc7XG5pbXBvcnQgeyBNeVByb2ZpbGVQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktcHJvZmlsZS9teS1wcm9maWxlLnBhZ2UnO1xuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQvY2xhaW1hbnQuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBIZWxwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hlbHAvaGVscC5zZXJ2aWNlJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVTZWxlY3RFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZUZvcm0nO1xuaW1wb3J0IHsgQXVkaXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXVkaXQvYXVkaXQuc2VydmljZSc7XG5pbXBvcnQgeyBBdWRpdERvY3VtZW50RW1wbG95ZXJVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvQXVkaXREb2N1bWVudEVtcGxveWVyVXNlck1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCAge1xuXG4gIGl0ZW1zOiBNZW51SXRlbVtdO1xuXG4gIHNlYXJjaFRleHQ7XG5cbiAgcmVzdWx0czogQ2xhaW1hbnRNb2RlbFtdO1xuXG4gIGNvbnRleHRSb290OnN0cmluZztcblxuICBASW5wdXQoJ3RpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ3BhZ2VJZCcpIHBhZ2VJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgnc2Vjb25kVG9vbGJhcicpIHNlY29uZFRvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2Rpc3BsYXlMb2dvJykgZGlzcGxheUxvZ286IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ3Nob3dIaXN0b3J5Jykgc2hvd0hpc3Rvcnk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2JhY2tQYWdlJykgYmFja1BhZ2U6IHN0cmluZztcblxuICBASW5wdXQoJ2NvbnRleHQnKSBjb250ZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIHNob3dOb3RpZmljYXRpb25Mb2FkZXIgPSBmYWxzZTtcblxuICBwdWJsaWMgbGVnYWN5TWVudSA9IExpYkNvbnN0YW50cy5sZWdhY3lNZW51O1xuXG4gIHB1YmxpYyBpbnRlcmltSG9tZVBhZ2UgPSBMaWJDb25zdGFudHMuaW50ZXJpbUhvbWVQYWdlO1xuXG4gIHB1YmxpYyBzaG93UHJvZmlsZVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93am9iU2VhcmNoUmVzdWx0UG9wdXAgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dMYW5ndWFnZU9wdGlvbiA9IExpYkNvbnN0YW50cy5lbmFibGVMYW5ndWFnZUNoYW5nZTtcblxuICBpc0VtcGxveWVyTG9hZGVkID0gZmFsc2U7XG4gIGlzUXVlc3Rpb25uYWlyZURhdGFMb2FkZWQgPSBmYWxzZTtcblxuXG4gIHNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhOlNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhW107XG4gIHNlbGVjdGVkUXVlc3Rpb25uYWlyZURhdGE6IFNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhW107XG4gIGF1ZGl0RG9jdW1lbnRFbXBsb3llclVzZXJNb2RlbDogQXVkaXREb2N1bWVudEVtcGxveWVyVXNlck1vZGVsO1xuXG5cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbHMgOiBMb2dpblNlcnZpY2UsIHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHB1YmxpYyByIDogUm91dGVyLCBwdWJsaWMgcG9wdXA6IFBvcG92ZXJDb250cm9sbGVyLCBcbiAgICAgICAgICAgICAgcHVibGljIGNzIDogQ2xhaW1hbnRTZXJ2aWNlLCBwcml2YXRlIG5hdiA6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICAgICAgICAgICAgcHVibGljIG5zIDogTm90aWZpY2F0aW9uU2VydmljZSwgcHVibGljIGhzOiBIZWxwU2VydmljZSwgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHFzOiBBdWRpdFNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBzdXBlcigpO1xuICAgICAgICAgICAgICAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vdGhpcy5sb2FkTm90aWZpY2F0aW9uQ291bnQoKTtcbiAgICB0aGlzLnNldE1lbnVJdGVtcyhsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTtcbiAgICBpZih0aGlzLmxzLmlzRW1wbG95ZXIoKSlcbiAgICB7XG4gICAgICAgICAgdGhpcy5sb2FkRW1wbG95ZXJEZXRhaWxzKClcbiAgICB9XG4gICAgdGhpcy5jb250ZXh0Um9vdCA9IHRoaXMuZ2V0Q29udGV4dFJvb3QoKTtcbiAgfVxuICBcbiAgLypKb2IgU2VhcmNoIFJlc3VsdCBJY29uIFBvcHVwXG4gICBwcmVzZW50Sm9iU2VhcmNoUmVzdWx0UG9wdXAoKSB7XG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkpe1xuICAgICAgdGhpcy5zaG93am9iU2VhcmNoUmVzdWx0UG9wdXAgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICAqL1xuICBnZXRDb250ZXh0Um9vdCgpe1xuICAgIGxldCBwYXJ0cyA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zcGxpdCgnLycpO1xuICAgIGxldCBjb250ZXh0Um9vdCA9IHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0c1sxXSA6ICcnO1xuICAgIHJldHVybiBjb250ZXh0Um9vdDtcbiAgfVxuICBzZXRNZW51SXRlbXMobGFuZ3VhZ2UgOiBzdHJpbmcpe1xuICAgIHRoaXMuaXRlbXMgPSBbe1xuICAgICAgbGFiZWwgOiAnQ2hvb3NlIGxhbmd1YWdlJyxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICBsYWJlbDogJ0VuZ2xpc2gnLFxuICAgICAgICBpY29uIDogdGhpcy5nZXRJY29uKGxhbmd1YWdlLCdlbicpLFxuICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldExhbmd1YWdlKCdlbicsICdFbmdsaXNoJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnRXNwYe+/vW9sJyxcbiAgICAgICAgaWNvbiA6IHRoaXMuZ2V0SWNvbihsYW5ndWFnZSwnZXMnKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMYW5ndWFnZSgnZXMnLCAnZXNwYe+/vW9sJyk7XG4gICAgICAgIH1cbiAgICAgIH1dXG4gICAgfV07XG4gIH1cblxuICBnZXRJY29uKHNlbGVjdGVkTGFuZyA6IHN0cmluZywgbGFuZ3VhZ2UgOiBzdHJpbmcpe1xuICAgIGlmKGxhbmd1YWdlID09IHNlbGVjdGVkTGFuZyl7XG4gICAgICByZXR1cm4gXCJwaSBwaS1mdyBwaS1jaGVja1wiO1xuICAgIH1lbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlIDogc3RyaW5nLCBuYW1lIDogc3RyaW5nKXtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmd1YWdlKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZ3VhZ2UnLCBsYW5ndWFnZSk7XG4gICAgdGhpcy51dGlsLnRvYXN0KCdMYW5ndWFnZSBwcmVmZXJlbmNlIGNoYW5nZWQgdG8gJyArIG5hbWUpO1xuICAgIHRoaXMuc2V0TWVudUl0ZW1zKGxhbmd1YWdlKTtcbiAgfVxuXG4gIGFzeW5jIHByZXNlbnRNeVByb2ZpbGVQb3BvdmVyKGV2ZW50KSB7XG5cbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSAmJiAgKHRoaXMubGVnYWN5TWVudSA9PSAnZmFsc2UnIHx8IHRoaXMudXRpbC5pc1N0YXRlKCdNRScpIHx8ICh0aGlzLnV0aWwuaXNTdGF0ZSgnTVMnKSAmJiBMaWJDb25zdGFudHMuaW50ZXJpbUhvbWVQYWdlID09ICd0cnVlJykpKXtcbiAgICAgIHRoaXMuc2hvd1Byb2ZpbGVQb3B1cCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9wb3ZlciA9IGF3YWl0IHRoaXMucG9wdXAuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogTXlQcm9maWxlUGFnZSxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiB0cnVlLFxuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgY3NzQ2xhc3M6ICdoZWFkZXItcG9wb3ZlcidcbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCBwb3BvdmVyLnByZXNlbnQoKTtcbiAgfVxuXG4gIGFzeW5jIHByZXNlbnRNeU5vdGlmaWNhdGlvblBvcG92ZXIoZXZlbnQpIHtcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBNeU5vdGlmaWNhdGlvbnNQYWdlLFxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBjc3NDbGFzczogJ2hlYWRlci1wb3BvdmVyJ1xuICAgIH0pO1xuXG4gICAgcG9wb3Zlci5vbkRpZERpc21pc3MoKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMubnMudXBkYXRlUmVhZEZsYWcoKTtcbiAgICB9KVxuXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgbG9nb3V0KCl7XG4gICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCcvbGFuZGluZycpO1xuICAgIHRoaXMubHMubG9nb3V0KCk7XG4gIH1cblxuICBvcGVuV2Vla2xpZXMoKXtcbiAgICBpZih0aGlzLmxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmIHRoaXMuaXNNUygpICYmIHRoaXMuaW50ZXJpbUhvbWVQYWdlID09ICdmYWxzZScpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnY3AnLCAndjIvd2Vla2xpZXMnKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdjcCcsICd2My93ZWVrbGllcycpXG4gICAgfVxuICB9XG5cbiAgb3BlbkF1ZGl0RGFzaGJvYXJkKCl7XG4gICAgaWYodGhpcy5jb250ZXh0PT0nYXVkaXQnKXtcbiAgICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvZGFzaGJvYXJkJyk7XG4gICAgICB9IGVsc2UgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpKXtcbiAgICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvbXlxJyk7XG4gICAgICB9IGVsc2UgaWYodGhpcy5scy5pc0VtcGxveWVyKCkpe1xuICAgICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy8nKTsgLy9BZGQgdGhlIGFjdHVhbCB1cmwgZm9yIGVtcGxveWVyIGF1ZGl0IGRhc2hib2FyZFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9wZW5BdWRpdG9yV29ya0xpc3QoKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hdWRpdG9yLXdvcmstbGlzdCcpO1xuICB9XG5cbiAgIG9wZW5RdWVzdGlvbm5haXJlKCl7XG4gICAgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2F1ZGl0b3ItcXVlc3Rpb25uYWlyZScpO1xuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzRW1wbG95ZXIoKSl7XG4gICAgICBpZih0aGlzLnNlYXJjaFF1ZXN0aW9ubmFpcmVEYXRhICYmIHRoaXMuc2VhcmNoUXVlc3Rpb25uYWlyZURhdGEubGVuZ3RoID4gMClcbiAgICAgIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFF1ZXN0aW9ubmFpcmVEYXRhID0gdGhpcy5zZWFyY2hRdWVzdGlvbm5haXJlRGF0YTtcbiAgICAgICAgdGhpcy5xcy5zZXRRdWVzdGlvbm5haXJlRGF0YSh0aGlzLnNlbGVjdGVkUXVlc3Rpb25uYWlyZURhdGEpO1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCAnL2F1ZGl0b3ItcXVlc3Rpb25uYWlyZS1mb3JtJywge1xuICAgICAgICBzdGF0ZTogeyBhdWRpdDogdGhpcy5zZWFyY2hRdWVzdGlvbm5haXJlRGF0YSB9XG4gICAgICB9KTsvL0FkZCB0aGUgYWN0dWFsIHVybCBmb3IgZW1wbG95ZXIgcXVlc3Rpb25uYWlyZVxuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgdGhpcy51dGlsLnNob3dFcnJvcihcIk5vIGFjdGl2ZSBhdWRpdC4gVGhpcyBpcyBub3QgcmVxdWlyZWQgYXQgdGhpcyBwb2ludC5cIilcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgfVxuICBvcGVuVXBsb2FkRG9jdW1lbnRzKCl7XG5cbiAgICBpZih0aGlzLmF1ZGl0RG9jdW1lbnRFbXBsb3llclVzZXJNb2RlbCAmJiB0aGlzLmF1ZGl0RG9jdW1lbnRFbXBsb3llclVzZXJNb2RlbC5hdWRpdElkICE9IG51bGwpXG4gICAge1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCAnL2VtcGxveWVyLWRvY3VtZW50cycsIHtcbiAgICAgICAgc3RhdGU6IHsgYXVkaXQ6IHRoaXMuYXVkaXREb2N1bWVudEVtcGxveWVyVXNlck1vZGVsIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy51dGlsLnNob3dFcnJvcihcIk5vIGFjdGl2ZSBhdWRpdC4gVGhpcyBpcyBub3QgcmVxdWlyZWQgYXQgdGhpcyBwb2ludC5cIilcbiAgICB9XG4gIH1cblxuICBvcGVuRW1wbG95ZXJEYXNoYm9hcmQoKVxuICB7XG4gICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCAnL2VtcGxveWVyLWRhc2hib2FyZCcsIHtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3BlblN1cGVydmlzb3JNeVEoKXtcbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpIHx8IHRoaXMubHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvbXlxJyk7XG4gICAgfVxuICB9XG5cbiAgb3BlblN1cGVydmlzb3JJbnF1aXJ5KCl7XG4gICAgIGlmKHRoaXMuY29udGV4dD09J2F1ZGl0Jyl7XG4gICAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKXx8dGhpcy5scy5oYXNSb2xlKCd0YXhhdWRpdGFnZW5jeXN0YWZmJykpe1xuICAgICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9pbnF1aXJ5Jyk7XG4gICAgICB9IGVsc2UgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpKXtcbiAgICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYXVkaXRvci1pbnF1aXJ5Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvaW5xdWlyeScpO1xuICB9XG5cbiAgb3BlblN1cGVydmlzb3JSZWZlcnJhbHMoKXtcbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9yZWZlcnJhbHMnKTtcbiAgICB9IGVsc2UgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpIHx8IHRoaXMubHMuaXNUcGEoKSB8fCB0aGlzLmxzLmhhc1JvbGUoJ3RheGF1ZGl0YWdlbmN5c3RhZmYnKSl7Ly9BZ2VuY3kgRW1wbG95ZWUgRGVmYXVsdCAtIGNoZWNrIHJvbGUgd2l0aCBjaWp1XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9uZXctcmVmZXJyYWwnKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvckNvbmZpZygpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2NvbmZpZycpO1xuICB9XG5cbiAgb3BlblN1cGVydmlzb3JBbmFseXRpY3MoKXtcbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hbmFseXRpY3MnKTtcbiAgICB9XG4gICAgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpICYmICEodGhpcy5scy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IHRoaXMubHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpKXsgXG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hdWRpdG9yLWFuYWx5dGljcycpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yQXNzaWduKCl7XG4gICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYXNzaWduJyk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvclRlYW0oKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy90ZWFtJyk7XG4gIH1cblxuXG4gIGxvYWRFbXBsb3llckRldGFpbHMoKVxuICB7XG4gICAgdGhpcy5pc0VtcGxveWVyTG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc1F1ZXN0aW9ubmFpcmVEYXRhTG9hZGVkID0gZmFsc2U7XG4gICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpXG5cbiAgICB0aGlzLnFzLnNlYXJjaFF1ZXN0aW9ubmFpcmUobnVsbCwgbnVsbCwgbnVsbCx1c2VyTW9kZWwudXNlcm5hbWUpXG4gICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWFyY2hRdWVzdGlvbm5haXJlRGF0YSA9IHJlcztcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNRdWVzdGlvbm5haXJlRGF0YUxvYWRlZCA9IHRydWVcbiAgICB9LCAoZXJyKSA9PiB7XG5cbiAgICB9KTtcblxuICAgIHRoaXMucXMuZmluZEVtcGxveWVyRGF0YVdpdGhVc2VySUQodXNlck1vZGVsLnVzZXJuYW1lKVxuICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcylcbiAgICAgIHtcbiAgICAgICAgdGhpcy5hdWRpdERvY3VtZW50RW1wbG95ZXJVc2VyTW9kZWwgPSByZXM7XG4gICAgICB9XG4gICAgICB0aGlzLmlzRW1wbG95ZXJMb2FkZWQgPSB0cnVlOyBcbiAgICB9LCAoZXJyKSA9PiB7XG4gICAgIFxuICAgIH0pXG5cbiAgfVxuICBvcGVuSG9tZSgpe1xuICAgIC8vdGhpcy5uYXYubmF2aWdhdGVSb290KFwiL3dlbGNvbWVcIik7XG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkpe1xuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0Q2xhaW1hbnRBcHBDb250ZXh0Um9vdCgpLCBcIndlbGNvbWVcIiwgdGhpcy5uYXYpOyBcbiAgICB9IGVsc2UgaWYodGhpcy5scy5pc0NzcigpKXtcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QodGhpcy51dGlsLmdldFNlY3VyaXR5QXBwQ29udGV4dFJvb3QoKSxcIndlbGNvbWVcIiwgdGhpcy5uYXYpOyBcbiAgICB9IGVsc2UgaWYodGhpcy5scy5pc0VtcGxveWVyKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvJyk7Ly9BZGQgdGhlIGFjdHVhbCB1cmwgZm9yIGVtcGxveWVyIHF1ZXN0aW9ubmFpcmVcbiAgICAgIC8vdGhpcy5sb2FkRW1wbG95ZXJEZXRhaWxzKCk7XG4gICAgfSBcbiAgICBlbHNlIHtcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChcIi93ZWxjb21lXCIpO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICB9XG5cbiAgc2VhcmNoKGV2ZW50KSB7XG4gICAgbGV0IGRvU2VhcmNoID0gZmFsc2U7XG4gICAgbGV0IGNsYWltYW50U2VhcmNoID0gbmV3IENsYWltYW50TW9kZWwoKTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeSArICcnO1xuICAgIGlmKHF1ZXJ5LmluY2x1ZGVzKFwiIFwiKSl7XG4gICAgICBsZXQgZk5hbWUgPSBxdWVyeS5zcGxpdChcIiBcIilbMF07XG4gICAgICBsZXQgbE5hbWUgPSBxdWVyeS5zcGxpdChcIiBcIilbMV07XG4gICAgICBjbGFpbWFudFNlYXJjaC5maXJzdE5hbWUgPSBmTmFtZTtcbiAgICAgIGNsYWltYW50U2VhcmNoLmxhc3ROYW1lID0gbE5hbWU7XG4gICAgICBkb1NlYXJjaCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYocXVlcnkubGVuZ3RoID09IDkgJiYgdGhpcy5pc051bWJlcihxdWVyeSkgJiYgIWRvU2VhcmNoKXtcbiAgICAgIGNsYWltYW50U2VhcmNoLnNzbiA9IHF1ZXJ5O1xuICAgICAgZG9TZWFyY2ggPSB0cnVlO1xuICAgIH1lbHNlIGlmKCF0aGlzLmlzTnVtYmVyKHF1ZXJ5KSAmJiAhZG9TZWFyY2gpe1xuICAgICAgY2xhaW1hbnRTZWFyY2gudXNlcklkID0gcXVlcnk7XG4gICAgICBkb1NlYXJjaCA9IHRydWU7XG4gICAgfVxuICAgIFxuICAgIGlmKGRvU2VhcmNoKXtcbiAgICAgIHRoaXMuY3Muc2VhcmNoKGNsYWltYW50U2VhcmNoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRzID0gZGF0YTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNOdW1iZXIobnVtKXtcbiAgICByZXR1cm4gIWlzTmFOKG51bSk7XG4gIH1cblxuICBvblNlbGVjdEFjdGlvbihldmVudCA6IEF1dG9Db21wbGV0ZVNlbGVjdEV2ZW50KXtcbiAgICB0aGlzLnJlc3VsdHMgPSBudWxsO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGw7XG4gICAgdGhpcy5jcy5nZXRDbGFpbWFudCgpLm5leHQoZXZlbnQudmFsdWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpLFwicmVzZXQtcGFzc3dvcmRcIiwgdGhpcy5uYXYpO1xuICAgICAgLy90aGlzLm5hdi5uYXZpZ2F0ZUZvcndhcmQoJy9yZXNldC1wYXNzd29yZCcpO1xuICAgIH0sIDUwMClcbiAgICBcbiAgfVxuXG4gIG9wZW5CZW5lZml0c0FwcCgpe1xuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKVxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XG4gICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcbiAgfVxuXG4gIG9wZW5QYWdlKGNvbnRleHRSb290LCB1cmksIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpe1xuICAgIGxldCBjdXJyZW50Q29udGV4dFJvb3QgPSB0aGlzLnV0aWwuZ2V0Q29udGV4dFJvb3QoKTtcbiAgICBsZXQgdGFyZ2V0ID0gYC8ke2NvbnRleHRSb290fWA7XG5cbiAgICBpZihjdXJyZW50Q29udGV4dFJvb3QgPT0gdGFyZ2V0KXtcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChgLyR7dXJpfWAsIGV4dHJhcyk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRhcmdldCwgdXJpKTtcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzcyhuYW1lKXtcbiAgICBsZXQgY3VycmVudFJvdXRlID0gdGhpcy5yLnVybC5yZXBsYWNlKCcvJywgJycpO1xuICAgIGNvbnNvbGUubG9nKGN1cnJlbnRSb3V0ZSwgbmFtZSwgY3VycmVudFJvdXRlID09IG5hbWUpO1xuICAgIHJldHVybiBjdXJyZW50Um91dGUgPT0gbmFtZSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnO1xuICB9XG5cbiAgb3BlbkNvbnRleHRIZWxwKCl7XG5cbiAgfVxuXG4gIGFzeW5jIGNoYW5nZUxhbmd1YWdlKGV2ZW50KSB7XG4gICAgXG4gIH1cbn1cbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJ1dGlsLmxvYWRlci52YWx1ZSQgfCBhc3luY1wiICpuZ0lmPVwiKHV0aWwubG9hZGVyLnZhbHVlJCB8IGFzeW5jKSAhPSAwXCI+XHJcbjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGlvbi10b29sYmFyPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC01cHg7XCI+XHJcbiAgICAgICAgPGlvbi1tZW51LWJ1dHRvbiBhdXRvSGlkZT1cImZhbHNlXCIgcFRvb2x0aXA9XCJNZW51XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJscy5pc0xvZ2dlZEluKCkgJiYgIWxzLmlzRW1wbG95ZXIoKVwiIFtuZ0NsYXNzXT1cImxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgPyAnaGlkZS14bCBoaWRlLWxnJyA6ICcnXCI+PC9pb24tbWVudS1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIFtuZ0NsYXNzXT1cImRpc3BsYXlMb2dvID8gJ2hlYWRlcl9idXR0b25fd2hpdGUnIDogJ2hlYWRlcl9idXR0b24gaGlkZS14cyBoaWRlLW1kJ1wiIChjbGljayk9XCJvcGVuQXVkaXREYXNoYm9hcmQoKVwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwibG9nb1wiIHBUb29sdGlwPVwie3snUmVFbXBsb3lNUyBMb2dvJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgc3JjPVwiYXNzZXRzL2ljb24vUmVFbXBsb3l7e3V0aWwuZ2V0U3RhdGUoKX19LnN2Z1wiIFtuZ0NsYXNzXT1cImRpc3BsYXlMb2dvID8gJ2hlYWRlcl9sb2dvJyA6ICdoZWFkZXJfbG9nbyBoaWRlLXhzIGhpZGUtbWQnXCIvPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKVwiPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuSG9tZSgpXCIgcFRvb2x0aXA9XCJIb21lXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2VsY29tZScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dCE9J2F1ZGl0JyB8fCBscy5pc0VtcGxveWVyKClcIj5Ib21lPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkZpbGVXZWVrbGllc1wiIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCIgY2xhc3M9XCJoaWRlLXhzIGhpZGUtbWRcIj57e2xlZ2FjeU1lbnUgPT0gJ3RydWUnID8gJ1dlZWtseScgOiAnV2Vla2x5J319PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuRmlsZVdlZWtsaWVzXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIud2Vla2x5LnRvb2x0aXAnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWVrbGllcycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICd0cnVlJyAmJiAhdXRpbC5pc1N0YXRlKCdNRScpXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHknIDogJ1dlZWtseSd9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkZpbGVXZWVrbGllc1wiIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAndHJ1ZScgJiYgdXRpbC5pc1N0YXRlKCdNRScpXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHkgQ2xhaW0nIDogJ1dlZWtseSd9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICBcclxuICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIHBUb29sdGlwPVwiSGlzdG9yeVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykgPT0gJ2hpc3RvcnknID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgaW50ZXJpbUhvbWVQYWdlID09ICdmYWxzZSdcIiAoY2xpY2spPVwib3BlblBhZ2UoJ2NwJywgJ2hpc3RvcnknKVwiIGNsYXNzPVwiaGlkZS14cyBoaWRlLW1kXCI+SGlzdG9yeTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdEVtcGxveWVyRGFzaGJvYXJkXCIgcFRvb2x0aXA9XCJFbXBsb3llckRhc2hib2FyZFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2VtcGxveWVyLWRhc2hib2FyZCcpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzRW1wbG95ZXIoKVwiIChjbGljayk9XCJvcGVuRW1wbG95ZXJEYXNoYm9hcmQoKVwiPkF1ZGl0IERhc2hib2FyZDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0TXlRXCIgcFRvb2x0aXA9XCJNeVFcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdteXEnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSlcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JNeVEoKVwiPk15UTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0RGFzaGJvYXJkXCIgcFRvb2x0aXA9XCJEYXNoYm9hcmRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdkYXNoYm9hcmQnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCl8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSlcIiAoY2xpY2spPVwib3BlbkF1ZGl0RGFzaGJvYXJkKClcIj5EYXNoYm9hcmQ8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFdvcmtMaXN0XCIgcFRvb2x0aXA9XCJXb3JrTGlzdFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2F1ZGl0b3Itd29yay1saXN0JykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIGxzLmlzVGF4QXVkaXRBdWRpdG9yKClcIiAoY2xpY2spPVwib3BlbkF1ZGl0b3JXb3JrTGlzdCgpXCI+V29yayBMaXN0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRJbnF1aXJ5XCIgcFRvb2x0aXA9XCJJbnF1aXJ5XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnaW5xdWlyeScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCBscy5pc1RheEF1ZGl0QXVkaXRvcigpIHx8IGxzLmlzVGF4QXVkaXREaXJlY3RvcigpKSB8fCAgbHMuaGFzUm9sZSgndGF4YXVkaXRhZ2VuY3lzdGFmZicpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29ySW5xdWlyeSgpXCI+SW5xdWlyeTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0VXBsb2FkRG9jdW1lbnRzXCIgcFRvb2x0aXA9XCJVcGxvYWQgRG9jdW1lbnRzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygndXBsb2FkLWRvY3VtZW50cycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc0VtcGxveWVyKClcIiAoY2xpY2spPVwib3BlblVwbG9hZERvY3VtZW50cygpXCIgW2Rpc2FibGVkXT1cIiFpc0VtcGxveWVyTG9hZGVkXCI+VXBsb2FkIERvY3VtZW50czwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0UXVlc3Rpb25uYWlyZVwiIHBUb29sdGlwPVwiUXVlc3Rpb25uYWlyZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2F1ZGl0b3ItcXVlc3Rpb25uYWlyZScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSlcIiAoY2xpY2spPVwib3BlblF1ZXN0aW9ubmFpcmUoKVwiPlF1ZXN0aW9ubmFpcmU8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFF1ZXN0aW9ubmFpcmVcIiBwVG9vbHRpcD1cIlF1ZXN0aW9ubmFpcmVcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhdWRpdG9yLXF1ZXN0aW9ubmFpcmUnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzRW1wbG95ZXIoKSlcIiAoY2xpY2spPVwib3BlblF1ZXN0aW9ubmFpcmUoKVwiIFtkaXNhYmxlZF09XCIhaXNRdWVzdGlvbm5haXJlRGF0YUxvYWRlZFwiPlF1ZXN0aW9ubmFpcmU8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFJlZmVycmFsc1wiIHBUb29sdGlwPVwiUmVmZXJyYWxzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygncmVmZXJyYWxzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpIHx8ICBscy5oYXNSb2xlKCd0YXhhdWRpdGFnZW5jeXN0YWZmJylcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JSZWZlcnJhbHMoKVwiPlJlZmVycmFsczwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0QXNzaWduXCIgcFRvb2x0aXA9XCJBc3NpZ25cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhc3NpZ24nKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgbHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKVwiIChjbGljayk9XCJvcGVuU3VwZXJ2aXNvckFzc2lnbigpXCI+QXNzaWduPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRUZWFtXCIgcFRvb2x0aXA9XCJUZWFtXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygndGVhbScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yVGVhbSgpXCI+VGVhbTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0Q29uZmlnXCIgcFRvb2x0aXA9XCJDb25maWdcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdjb25maWcnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQ29uZmlnKClcIj5Db25maWc8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdEFuYWx5dGljc1wiIHBUb29sdGlwPVwiQW5hbHl0aWNzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnYW5hbHl0aWNzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQW5hbHl0aWNzKClcIj5BbmFseXRpY3M8L2lvbi1idXR0b24+XHJcblxyXG5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbGJhci1jb250ZW50IGhpZGUteHNcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKSAmJiBscy5pc0NzcigpICYmIHRoaXMuY29udGV4dCAhPSdhdWRpdCcgJiYgY29udGV4dFJvb3QgPT09J3NzJ1wiPlxyXG4gICAgICAgIDxwLWF1dG9Db21wbGV0ZSBhcHBlbmRUbz1cImJvZHlcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBbc3VnZ2VzdGlvbnNdPVwicmVzdWx0c1wiXHJcbiAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIENsYWltYW50c1wiIChvblNlbGVjdCk9XCJvblNlbGVjdEFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgZW1wdHlNZXNzYWdlPVwiTm8gUmVzdWx0cyBGb3VuZC5cIiBzaXplPVwiMjVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC11c2VyIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93IGNsYXNzPVwiLmlvbi13cmFwXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemUtYXV0bz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0Pnt7dXNlci5maXJzdE5hbWUgfCBwcm9wZXJDYXNlfX0ge3t1c2VyLmxhc3ROYW1lIHwgcHJvcGVyQ2FzZX19PC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1c2VyLnVzZXJJZH19PC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1dGlsLm1hc2tTc24odXNlci5zc24pfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCIgPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50TXlQcm9maWxlUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJBY2NvdW50XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwibGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGxzLmlzQ2xhaW1hbnQoKSAmJiBzaG93UHJvZmlsZVBvcHVwID8gJ2hpZGUteHMgaGlkZS1tZCBoZWFkZXItYnV0dG9uJyA6IChsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJylcIj5cclxuICAgICAgICAgICAgPGlvbi10aXRsZSBzdHlsZT1cImZvbnQtc2l6ZTogMjBweDsgcGFkZGluZzogMHB4O1wiIGNsYXNzPVwiaGlkZS14c1wiPnt7bHMuZ2V0RnVsbE5hbWUoKSB8IHByb3BlckNhc2V9fTwvaW9uLXRpdGxlPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJwZXJzb24tY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib3BlblBhZ2UoJ2NwJywgJ2RvY3VtZW50cycpXCIgcFRvb2x0aXA9XCJOb3RpY2VzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgKm5nSWY9XCIhbHMuaXNDc3IoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgIXV0aWwuaXNTdGF0ZSgnTUUnKVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykgPT0gJ2RvY3VtZW50cycgPyAnaGVhZGVyLWJ1dHRvbiBoaWRlLXhzIGhpZGUtbWQnIDogJ2hpZGUteHMgaGlkZS1tZCdcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9J3BpIHBpLWZpbGUgZm9udC1ib2xkJyBzdHlsZT1cImZvbnQtc2l6ZTogMS4zcmVtOyAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1wiPjwvaT5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdkb2N1bWVudHMnKVwiIHBUb29sdGlwPVwiTm90aWNlc1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwiIWxzLmlzQ3NyKCkgJiYgbGVnYWN5TWVudSA9PSAndHJ1ZSdcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb2N1bWVudC10ZXh0LW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJlc2VudEpvYlNlYXJjaFJlc3VsdFBvcHVwKClcIiBwVG9vbHRpcD1cIlNob3cgam9iIHNlYXJjaCByZXN1bHRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiB1dGlsLmlzU3RhdGUoJ01TJylcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJicmllZmNhc2VcIiBmaWxsPVwib3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPiAtLT5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJlc2VudE15Tm90aWZpY2F0aW9uUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJOb3RpZmljYXRpb25cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFucy5zaG93Tm90aWZpY2F0aW9uTG9hZGVyICYmICF1dGlsLmlzU3RhdGUoJ01FJylcIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cIm5vdGlmaWNhdGlvbnMtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJkYXJrXCIgKm5nSWY9XCJucy5ub3RpZmljYXRpb25Db3VudC5nZXRWYWx1ZSgpID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD57e25zLm5vdGlmaWNhdGlvbkNvdW50LmdldFZhbHVlKCl9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICA8L2lvbi1iYWRnZT5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiICpuZ0lmPVwibnMuc2hvd05vdGlmaWNhdGlvbkxvYWRlclwiPjwvaW9uLXNwaW5uZXI+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJ0aGlzLmhzLnNob3coKVwiIHBUb29sdGlwPVwiSGVscFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiAoaHMuc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKSB8IGFzeW5jKVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzZWNvbmRhcnlcIiAqbmdJZj1cIiFscy5pc0xvZ2dlZEluKCkgJiYgbHMuZ2V0VXNlcigpXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImxvZ291dCgpXCIgcFRvb2x0aXA9XCJMb2dvdXRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2ctb3V0LXNoYXJwXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCJzaG93TGFuZ3VhZ2VPcHRpb24gPT09ICd0cnVlJyAmJiAoIWxzLmdldFVzZXIoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScpXCI+XHJcbiAgICAgICAgPHAtbWVudSAjbWVudSBbcG9wdXBdPVwidHJ1ZVwiIFttb2RlbF09XCJpdGVtc1wiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCIgcFRvb2x0aXA9XCJMYW5ndWFnZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsYW5ndWFnZVwiIHNsb3Q9XCJlbmRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbjwvaW9uLXRvb2xiYXI+XHJcbjxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCIgaWQ9XCJzZWNvbmRUb29sYmFyXCIgKm5nSWY9XCJzZWNvbmRUb29sYmFyXCI+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XHJcbiAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbiBwVG9vbHRpcD1cIkJhY2tcIiBhbHQ9XCJCYWNrXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW2RlZmF1bHRIcmVmXT1cImJhY2tQYWdlID8gYmFja1BhZ2UgOiAnL3dlbGNvbWUnXCI+PC9pb24tYmFjay1idXR0b24+XHJcbiAgICAgICAgPGlvbi10aXRsZSBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInRpdGxlXCIgc3R5bGU9XCJmb250LXNpemU6IDE4cHhcIj57e3RpdGxlfX08L2lvbi10aXRsZT5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxyXG4gICAgICAgIDxpb24tdGl0bGUgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IHh4LXNtYWxsOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDhweDtcIiAqbmdJZj1cInBhZ2VJZFwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VJZH19PC9pb24tdGl0bGU+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG48L2lvbi10b29sYmFyPlxyXG48cC10b2FzdD5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVzc2FnZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnZXJyb3InXCIgY2xhc3M9XCJwaSBwaS10aW1lcy1jaXJjbGVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTRweDsgZm9udC1zaXplOiAzOHB4IFwiPjwvaT5cclxuICAgICAgICA8aSAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdzdWNjZXNzJ1wiIGNsYXNzPVwicGkgcGktY2hlY2stY2lyY2xlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnd2FybidcIiBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwic3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnaW5mbydcIiBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcblxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCInPHN0cm9uZyBzdHlsZT1cXCdmb250LXNpemU6IDIycHg7Zm9udC13ZWlnaHQ6IGJvbGQ7XFwnPicgKyBtZXNzYWdlLnN1bW1hcnkgKyAnPC9zdHJvbmc+PGJyPjxicj4nICsgXHJcbiAgICAgICAgICAgICc8c3BhbiBzdHlsZT1cXCdmb250LXNpemU6IDE4cHg7XFwnPicgKyBtZXNzYWdlLmRldGFpbCArICc8L3NwYW4+J1wiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC10b2FzdD5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UHJvZmlsZVBvcHVwXCI+XHJcbiAgICA8YXBwLXByb2ZpbGUgKm5nSWY9XCJzaG93UHJvZmlsZVBvcHVwXCIgKG9uQ2FuY2VsKT1cInNob3dQcm9maWxlUG9wdXAgPSAhc2hvd1Byb2ZpbGVQb3B1cFwiPjwvYXBwLXByb2ZpbGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGFwcC1qb2Itc2VhcmNoLXJlc3VsdC1wYWdlICpuZ0lmPVwic2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwXCIgKG9uQ2FuY2VsKT1cInNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cCA9ICFzaG93am9iU2VhcmNoUmVzdWx0UG9wdXBcIj48L2FwcC1qb2Itc2VhcmNoLXJlc3VsdC1wYWdlPlxyXG5cclxuXHJcblxyXG4iXX0=
@@ -50,4 +50,4 @@ export class BaseService {
50
50
  return this.httpClient.put(this.getUrl(url), body, options != null ? options : this.options);
51
51
  }
52
52
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRSxNQUFNLE9BQWdCLFdBQVc7SUFpQjdCLFlBQW9CLFVBQXVCO1FBQXZCLGVBQVUsR0FBVixVQUFVLENBQWE7UUFQbkMsWUFBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2FBQy9CLENBQUM7U0FDTCxDQUFBO1FBR0csSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQVVELE1BQU0sQ0FBQyxRQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztJQUNuSCxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxPQVduQjtRQUNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQVdwQjtRQUNHLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLElBQWdCLEVBQUUsT0FXcEMsRUFBRSxXQUFxQjtRQUN4QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsWUFBWSxDQUFJLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BVzlDO1FBQ0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxDQUFJLEdBQVcsRUFBRSxPQVd0QjtRQUNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsS0FBSyxDQUFJLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BV3ZDO1FBQ0csT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BV3ZDO1FBQ0csT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRyxDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZXJ2aWNlIHtcblxuICAgIHB1YmxpYyBzZXJ2aWNlQ29udGV4dDogc3RyaW5nO1xuXG4gICAgcHVibGljIHNlcnZpY2VQb3J0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcHJvdG9jb2w6IHN0cmluZztcblxuICAgIHB1YmxpYyBob3N0OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIG9wdGlvbnMgPSB7XG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgXCJBY2NlcHRcIjogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50IDogSHR0cENsaWVudCl7XG4gICAgICAgIHRoaXMuc2V0U2VydmljZUNvbnRleHQoKTtcbiAgICAgICAgdGhpcy5zZXRTZXJ2aWNlSG9zdCgpO1xuICAgICAgICB0aGlzLnNldFNlcnZpY2VQb3J0KCk7XG4gICAgICAgIHRoaXMuc2V0U2VydmljZVByb3RvY29sKCk7XG4gICAgfVxuXG4gICAgZ2V0U2VydmljZUNvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VDb250ZXh0O1xuICAgIH1cblxuICAgIGdldFNlcnZpY2VQb3J0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlUG9ydDtcbiAgICB9XG5cbiAgICBnZXRTZXJ2aWNlUHJvdG9jb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvY29sO1xuICAgIH1cblxuICAgIGdldFNlcnZpY2VIb3N0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0O1xuICAgIH1cblxuICAgIGFic3RyYWN0IHNldFNlcnZpY2VDb250ZXh0KCk7XG5cbiAgICBhYnN0cmFjdCBzZXRTZXJ2aWNlUG9ydCgpO1xuXG4gICAgYWJzdHJhY3Qgc2V0U2VydmljZVByb3RvY29sKCk7XG5cbiAgICBhYnN0cmFjdCBzZXRTZXJ2aWNlSG9zdCgpO1xuXG4gICAgZ2V0VXJsKGVuZFBvaW50IDogc3RyaW5nKXtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG9jb2wgKyAnOi8vJyArIHRoaXMuaG9zdCArIFwiOlwiICsgdGhpcy5zZXJ2aWNlUG9ydCArIFwiL1wiICsgdGhpcy5zZXJ2aWNlQ29udGV4dCArIFwiL1wiICsgZW5kUG9pbnQ7XG4gICAgfVxuXG4gICAgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xuICAgICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICAgICAgb2JzZXJ2ZT86ICdib2R5JztcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICAgIH1cblxuICAgIGdldEJsb2IodXJsOiBzdHJpbmcsIG9wdGlvbnM/OntcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICAgIHJlc3BvbnNlVHlwZT86ICdibG9iJztcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB9KTogT2JzZXJ2YWJsZTxCbG9iPntcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5nZXRVcmwodXJsKSwgey4uLm9wdGlvbnMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InfSk7XG4gICAgfVxuXG4gICAgcG9zdDxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICAgIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIEpTT04uc3RyaW5naWZ5KGJvZHkpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgICB9XG4gIFxuICAgIHBvc3RGb3JtRGF0YTxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIH07XG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xuICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gICAgfSk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIGJvZHksIG9wdGlvbnMpO1xuICAgIH1cbiAgXG4gICAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xuICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICB9O1xuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxUPih0aGlzLmdldFVybCh1cmwpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgICB9XG5cbiAgICBwYXRjaDxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8VD4odGhpcy5nZXRVcmwodXJsKSwgYm9keSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIHB1dDxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIGJvZHksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICAgICAgfSAgXG59Il19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRSxNQUFNLE9BQWdCLFdBQVc7SUFpQjdCLFlBQW9CLFVBQXVCO1FBQXZCLGVBQVUsR0FBVixVQUFVLENBQWE7UUFQbkMsWUFBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2FBQy9CLENBQUM7U0FDTCxDQUFBO1FBR0csSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQVVELE1BQU0sQ0FBQyxRQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztJQUNuSCxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxPQVduQjtRQUNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQVdwQjtRQUNHLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLElBQWdCLEVBQUUsT0FXcEMsRUFBRSxXQUFxQjtRQUN4QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsWUFBWSxDQUFJLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BVzlDO1FBQ0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxDQUFJLEdBQVcsRUFBRSxPQVl0QjtRQUNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsS0FBSyxDQUFJLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BV3ZDO1FBQ0csT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BV3ZDO1FBQ0csT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRyxDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZXJ2aWNlIHtcblxuICAgIHB1YmxpYyBzZXJ2aWNlQ29udGV4dDogc3RyaW5nO1xuXG4gICAgcHVibGljIHNlcnZpY2VQb3J0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcHJvdG9jb2w6IHN0cmluZztcblxuICAgIHB1YmxpYyBob3N0OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIG9wdGlvbnMgPSB7XG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgXCJBY2NlcHRcIjogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50IDogSHR0cENsaWVudCl7XG4gICAgICAgIHRoaXMuc2V0U2VydmljZUNvbnRleHQoKTtcbiAgICAgICAgdGhpcy5zZXRTZXJ2aWNlSG9zdCgpO1xuICAgICAgICB0aGlzLnNldFNlcnZpY2VQb3J0KCk7XG4gICAgICAgIHRoaXMuc2V0U2VydmljZVByb3RvY29sKCk7XG4gICAgfVxuXG4gICAgZ2V0U2VydmljZUNvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VDb250ZXh0O1xuICAgIH1cblxuICAgIGdldFNlcnZpY2VQb3J0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlUG9ydDtcbiAgICB9XG5cbiAgICBnZXRTZXJ2aWNlUHJvdG9jb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvY29sO1xuICAgIH1cblxuICAgIGdldFNlcnZpY2VIb3N0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0O1xuICAgIH1cblxuICAgIGFic3RyYWN0IHNldFNlcnZpY2VDb250ZXh0KCk7XG5cbiAgICBhYnN0cmFjdCBzZXRTZXJ2aWNlUG9ydCgpO1xuXG4gICAgYWJzdHJhY3Qgc2V0U2VydmljZVByb3RvY29sKCk7XG5cbiAgICBhYnN0cmFjdCBzZXRTZXJ2aWNlSG9zdCgpO1xuXG4gICAgZ2V0VXJsKGVuZFBvaW50IDogc3RyaW5nKXtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG9jb2wgKyAnOi8vJyArIHRoaXMuaG9zdCArIFwiOlwiICsgdGhpcy5zZXJ2aWNlUG9ydCArIFwiL1wiICsgdGhpcy5zZXJ2aWNlQ29udGV4dCArIFwiL1wiICsgZW5kUG9pbnQ7XG4gICAgfVxuXG4gICAgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xuICAgICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICAgICAgb2JzZXJ2ZT86ICdib2R5JztcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICAgIH1cblxuICAgIGdldEJsb2IodXJsOiBzdHJpbmcsIG9wdGlvbnM/OntcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICAgIHJlc3BvbnNlVHlwZT86ICdibG9iJztcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB9KTogT2JzZXJ2YWJsZTxCbG9iPntcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5nZXRVcmwodXJsKSwgey4uLm9wdGlvbnMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InfSk7XG4gICAgfVxuXG4gICAgcG9zdDxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgICAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICAgIH0sIHNlcnZpY2VOYW1lPyA6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIEpTT04uc3RyaW5naWZ5KGJvZHkpLCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgICB9XG4gIFxuICAgIHBvc3RGb3JtRGF0YTxUPih1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IHtcbiAgICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIH07XG4gICAgICBvYnNlcnZlPzogJ2JvZHknO1xuICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gICAgfSk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHRoaXMuZ2V0VXJsKHVybCksIGJvZHksIG9wdGlvbnMpO1xuICAgIH1cbiAgXG4gICAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzoge1xuICAgICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgICAgIG9ic2VydmU/OiAnYm9keSc7XG4gICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICB9O1xuICAgICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICAgIGJvZHk/OiBhbnkgfCBudWxsO1xuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFQ+KHRoaXMuZ2V0VXJsKHVybCksIG9wdGlvbnMgIT0gbnVsbCA/IG9wdGlvbnMgOiB0aGlzLm9wdGlvbnMpO1xuICAgIH1cblxuICAgIHBhdGNoPFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xuICAgICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICAgICAgb2JzZXJ2ZT86ICdib2R5JztcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxUPih0aGlzLmdldFVybCh1cmwpLCBib2R5LCBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogdGhpcy5vcHRpb25zKTtcbiAgICAgIH1cblxuICAgICAgcHV0PFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnkgfCBudWxsLCBvcHRpb25zPzoge1xuICAgICAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICAgICAgb2JzZXJ2ZT86ICdib2R5JztcbiAgICAgICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICAgICAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8VD4odGhpcy5nZXRVcmwodXJsKSwgYm9keSwgb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IHRoaXMub3B0aW9ucyk7XG4gICAgICB9ICBcbn0iXX0=
@@ -6258,7 +6258,7 @@ class HeaderComponent extends BasePage {
6258
6258
  } if (rf & 2) {
6259
6259
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 14, ctx.util.loader.value$) != 0);
6260
6260
  i0.ɵɵadvance(4);
6261
- i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn());
6261
+ i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn() && !ctx.ls.isEmployer());
6262
6262
  i0.ɵɵadvance(1);
6263
6263
  i0.ɵɵproperty("ngClass", ctx.displayLogo ? "header_button_white" : "header_button hide-xs hide-md");
6264
6264
  i0.ɵɵadvance(1);
@@ -6285,7 +6285,7 @@ class HeaderComponent extends BasePage {
6285
6285
  }
6286
6286
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
6287
6287
  type: Component,
6288
- args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xl hide-lg' : ''\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\" (click)=\"openAuditDashboard()\">\r\n <img alt=\"logo\" pTooltip=\"{{'ReEmployMS Logo' | translate}}\" tooltipPosition=\"bottom\"\r\n src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [ngClass]=\"displayLogo ? 'header_logo' : 'header_logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"Home\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\" *ngIf=\"this.context!='audit' || ls.isEmployer()\">Home</ion-button>\r\n\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : 'Weekly'}}</ion-button>\r\n \r\n \r\n <ion-button pTooltip=\"History\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && interimHomePage == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">History</ion-button>\r\n <ion-button id=\"btnAuditEmployerDashboard\" pTooltip=\"EmployerDashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('employer-dashboard') ? 'header-button' : ''\" *ngIf=\"ls.isEmployer()\" (click)=\"openEmployerDashboard()\">Audit Dashboard</ion-button>\r\n <ion-button id=\"btnAuditMyQ\" pTooltip=\"MyQ\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('myq') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorMyQ()\">MyQ</ion-button>\r\n <ion-button id=\"btnAuditDashboard\" pTooltip=\"Dashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('dashboard') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor()|| ls.isTaxAuditDirector())\" (click)=\"openAuditDashboard()\">Dashboard</ion-button>\r\n <ion-button id=\"btnAuditWorkList\" pTooltip=\"WorkList\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-work-list') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditAuditor()\" (click)=\"openAuditorWorkList()\">Work List</ion-button>\r\n <ion-button id=\"btnAuditInquiry\" pTooltip=\"Inquiry\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('inquiry') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorInquiry()\">Inquiry</ion-button>\r\n <ion-button id=\"btnAuditUploadDocuments\" pTooltip=\"Upload Documents\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('upload-documents') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isEmployer()\" (click)=\"openUploadDocuments()\" [disabled]=\"!isEmployerLoaded\">Upload Documents</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditAuditor())\" (click)=\"openQuestionnaire()\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isEmployer())\" (click)=\"openQuestionnaire()\" [disabled]=\"!isQuestionnaireDataLoaded\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditReferrals\" pTooltip=\"Referrals\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('referrals') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorReferrals()\">Referrals</ion-button>\r\n <ion-button id=\"btnAuditAssign\" pTooltip=\"Assign\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('assign') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorAssign()\">Assign</ion-button>\r\n <ion-button id=\"btnAuditTeam\" pTooltip=\"Team\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('team') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorTeam()\">Team</ion-button>\r\n <ion-button id=\"btnAuditConfig\" pTooltip=\"Config\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('config') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorConfig()\">Config</ion-button>\r\n <ion-button id=\"btnAuditAnalytics\" pTooltip=\"Analytics\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('analytics') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorAnalytics()\">Analytics</ion-button>\r\n\r\n\r\n </ion-buttons>\r\n\r\n \r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr() && this.context !='audit' && contextRoot ==='ss'\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row class=\".ion-wrap\" >\r\n <ion-col size-auto>\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"Account\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <ion-title style=\"font-size: 20px; padding: 0px;\" class=\"hide-xs\">{{ls.getFullName() | properCase}}</ion-title>\r\n <ion-icon slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <i class='pi pi-file font-bold' style=\"font-size: 1.3rem; font-weight: 500 !important;\"></i>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n <!-- <ion-button (click)=\"presentJobSearchResultPopup()\" pTooltip=\"Show job search result\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && util.isState('MS')\">\r\n <ion-icon name=\"briefcase\" fill=\"outline\"></ion-icon>\r\n </ion-button> -->\r\n \r\n \r\n <ion-button (click)=\"presentMyNotificationPopover($event)\" pTooltip=\"Notification\" tooltipPosition=\"bottom\"\r\n *ngIf=\"!ns.showNotificationLoader && !util.isState('ME')\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\">\r\n <ion-icon name=\"notifications-outline\"></ion-icon>\r\n <ion-badge color=\"dark\" *ngIf=\"ns.notificationCount.getValue() > 0\">\r\n <ion-label>{{ns.notificationCount.getValue()}}</ion-label>\r\n </ion-badge>\r\n </ion-button>\r\n <ion-spinner name=\"crescent\" *ngIf=\"ns.showNotificationLoader\"></ion-spinner>\r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"Help\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"Logout\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"showLanguageOption === 'true' && (!ls.getUser() && legacyMenu == 'false')\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button (click)=\"menu.toggle($event)\" pTooltip=\"Language\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast>\r\n <ng-template let-message pTemplate=\"message\">\r\n <i *ngIf=\"message.severity === 'error'\" class=\"pi pi-times-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'success'\" class=\"pi pi-check-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'warn'\" class=\"pi pi-exclamation-circle\"style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'info'\" class=\"pi pi-info-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n\r\n <div [innerHTML]=\"'<strong style=\\'font-size: 22px;font-weight: bold;\\'>' + message.summary + '</strong><br><br>' + \r\n '<span style=\\'font-size: 18px;\\'>' + message.detail + '</span>'\">\r\n </div>\r\n </ng-template>\r\n </p-toast>\r\n\r\n<ng-container *ngIf=\"showProfilePopup\">\r\n <app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>\r\n</ng-container>\r\n\r\n<app-job-search-result-page *ngIf=\"showjobSearchResultPopup\" (onCancel)=\"showjobSearchResultPopup = !showjobSearchResultPopup\"></app-job-search-result-page>\r\n\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.header_button_white,.header_button{background:#fff;height:56px;margin:0;padding:8px}.toolbar-content{text-align:center}ion-toolbar{--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(--ion-color-yellow) !important;text-transform:none!important;font-size:20px}.header-button{--color: var(--ion-color-yellow) !important;text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}:host ::ng-deep .p-toast .p-toast-icon{font-size:48px!important}:host ::ng-deep .p-toast-icon-close{position:absolute!important;top:0;right:0;margin:5px}:host ::ng-deep .p-toast-summary{font-weight:700;display:block;margin-bottom:5px}:host ::ng-deep .p-toast-message,:host ::ng-deep .p-toast-detail{display:block;font-size:14px}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
6288
+ args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn() && !ls.isEmployer()\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xl hide-lg' : ''\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\" (click)=\"openAuditDashboard()\">\r\n <img alt=\"logo\" pTooltip=\"{{'ReEmployMS Logo' | translate}}\" tooltipPosition=\"bottom\"\r\n src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [ngClass]=\"displayLogo ? 'header_logo' : 'header_logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"Home\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\" *ngIf=\"this.context!='audit' || ls.isEmployer()\">Home</ion-button>\r\n\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : 'Weekly'}}</ion-button>\r\n \r\n \r\n <ion-button pTooltip=\"History\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && interimHomePage == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">History</ion-button>\r\n <ion-button id=\"btnAuditEmployerDashboard\" pTooltip=\"EmployerDashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('employer-dashboard') ? 'header-button' : ''\" *ngIf=\"ls.isEmployer()\" (click)=\"openEmployerDashboard()\">Audit Dashboard</ion-button>\r\n <ion-button id=\"btnAuditMyQ\" pTooltip=\"MyQ\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('myq') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorMyQ()\">MyQ</ion-button>\r\n <ion-button id=\"btnAuditDashboard\" pTooltip=\"Dashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('dashboard') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor()|| ls.isTaxAuditDirector())\" (click)=\"openAuditDashboard()\">Dashboard</ion-button>\r\n <ion-button id=\"btnAuditWorkList\" pTooltip=\"WorkList\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-work-list') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditAuditor()\" (click)=\"openAuditorWorkList()\">Work List</ion-button>\r\n <ion-button id=\"btnAuditInquiry\" pTooltip=\"Inquiry\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('inquiry') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorInquiry()\">Inquiry</ion-button>\r\n <ion-button id=\"btnAuditUploadDocuments\" pTooltip=\"Upload Documents\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('upload-documents') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isEmployer()\" (click)=\"openUploadDocuments()\" [disabled]=\"!isEmployerLoaded\">Upload Documents</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditAuditor())\" (click)=\"openQuestionnaire()\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isEmployer())\" (click)=\"openQuestionnaire()\" [disabled]=\"!isQuestionnaireDataLoaded\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditReferrals\" pTooltip=\"Referrals\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('referrals') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorReferrals()\">Referrals</ion-button>\r\n <ion-button id=\"btnAuditAssign\" pTooltip=\"Assign\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('assign') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorAssign()\">Assign</ion-button>\r\n <ion-button id=\"btnAuditTeam\" pTooltip=\"Team\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('team') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorTeam()\">Team</ion-button>\r\n <ion-button id=\"btnAuditConfig\" pTooltip=\"Config\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('config') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorConfig()\">Config</ion-button>\r\n <ion-button id=\"btnAuditAnalytics\" pTooltip=\"Analytics\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('analytics') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorAnalytics()\">Analytics</ion-button>\r\n\r\n\r\n </ion-buttons>\r\n\r\n \r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr() && this.context !='audit' && contextRoot ==='ss'\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row class=\".ion-wrap\" >\r\n <ion-col size-auto>\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"Account\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <ion-title style=\"font-size: 20px; padding: 0px;\" class=\"hide-xs\">{{ls.getFullName() | properCase}}</ion-title>\r\n <ion-icon slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <i class='pi pi-file font-bold' style=\"font-size: 1.3rem; font-weight: 500 !important;\"></i>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n <!-- <ion-button (click)=\"presentJobSearchResultPopup()\" pTooltip=\"Show job search result\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && util.isState('MS')\">\r\n <ion-icon name=\"briefcase\" fill=\"outline\"></ion-icon>\r\n </ion-button> -->\r\n \r\n \r\n <ion-button (click)=\"presentMyNotificationPopover($event)\" pTooltip=\"Notification\" tooltipPosition=\"bottom\"\r\n *ngIf=\"!ns.showNotificationLoader && !util.isState('ME')\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\">\r\n <ion-icon name=\"notifications-outline\"></ion-icon>\r\n <ion-badge color=\"dark\" *ngIf=\"ns.notificationCount.getValue() > 0\">\r\n <ion-label>{{ns.notificationCount.getValue()}}</ion-label>\r\n </ion-badge>\r\n </ion-button>\r\n <ion-spinner name=\"crescent\" *ngIf=\"ns.showNotificationLoader\"></ion-spinner>\r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"Help\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"Logout\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"showLanguageOption === 'true' && (!ls.getUser() && legacyMenu == 'false')\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button (click)=\"menu.toggle($event)\" pTooltip=\"Language\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast>\r\n <ng-template let-message pTemplate=\"message\">\r\n <i *ngIf=\"message.severity === 'error'\" class=\"pi pi-times-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'success'\" class=\"pi pi-check-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'warn'\" class=\"pi pi-exclamation-circle\"style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'info'\" class=\"pi pi-info-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n\r\n <div [innerHTML]=\"'<strong style=\\'font-size: 22px;font-weight: bold;\\'>' + message.summary + '</strong><br><br>' + \r\n '<span style=\\'font-size: 18px;\\'>' + message.detail + '</span>'\">\r\n </div>\r\n </ng-template>\r\n </p-toast>\r\n\r\n<ng-container *ngIf=\"showProfilePopup\">\r\n <app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>\r\n</ng-container>\r\n\r\n<app-job-search-result-page *ngIf=\"showjobSearchResultPopup\" (onCancel)=\"showjobSearchResultPopup = !showjobSearchResultPopup\"></app-job-search-result-page>\r\n\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.header_button_white,.header_button{background:#fff;height:56px;margin:0;padding:8px}.toolbar-content{text-align:center}ion-toolbar{--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(--ion-color-yellow) !important;text-transform:none!important;font-size:20px}.header-button{--color: var(--ion-color-yellow) !important;text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}:host ::ng-deep .p-toast .p-toast-icon{font-size:48px!important}:host ::ng-deep .p-toast-icon-close{position:absolute!important;top:0;right:0;margin:5px}:host ::ng-deep .p-toast-summary{font-weight:700;display:block;margin-bottom:5px}:host ::ng-deep .p-toast-message,:host ::ng-deep .p-toast-detail{display:block;font-size:14px}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
6289
6289
  }], () => [{ type: LoginService }, { type: UtilService }, { type: i3.Router }, { type: i1$3.PopoverController }, { type: ClaimantService$1 }, { type: i1$3.NavController }, { type: i1$3.ModalController }, { type: NotificationService }, { type: HelpService }, { type: i7.TranslateService }, { type: AuditService }], { title: [{
6290
6290
  type: Input,
6291
6291
  args: ['title']