new-front-common-library 18.1.4 → 18.1.5

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.
@@ -84,16 +84,16 @@ export class HeaderComponent {
84
84
  window.location.href = route;
85
85
  }
86
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: HeaderComponent, selector: "sc-header", outputs: { toogleMenuEvent: "toogleMenuEvent" }, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<!-- Notifications container -->\r\n<notification-bar [lang]=\"lang\"></notification-bar>\r\n\r\n<mat-toolbar class=\"d-flex align-items-center toolbar-header toolbar-padding\">\r\n <!-- Unity Logo -->\r\n <span class=\"d-flex align-items-end\">\r\n <a\r\n [href]=\"env === 'prod' ? 'https://unity.studiocanal.com/dashboard' : (env === 'sbx' ? 'https://unity-sbx.cplus/dashboard' : 'https://unity-' + env + '.studiocanal.com/dashboard')\">\r\n <img class=\"logo-unity\" alt=\"\" ngSrc=\"./assets/img/unity_logo_48x48.png\" width=\"48\" height=\"48\">\r\n </a>\r\n @if (env !== 'prod') {\r\n <span [attr.id]=\"'env-' + env\" class=\"env\">{{ env }}</span>\r\n }\r\n </span>\r\n\r\n <!-- Modules menu -->\r\n <sc-menu [lang]=\"lang\" (navigate)=\"navigate($event.module, $event.route, $event.queryParams)\"\r\n (redirect)=\"redirect($event.route)\" class=\"menu-header\"/>\r\n\r\n <!-- Search -->\r\n <sc-advanced-search [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"global-search\"/>\r\n\r\n <!-- Connected as -->\r\n @if (user && user.secondary) {\r\n <div class=\"connected-as d-flex justify-content-between align-items-center\">\r\n <span style=\"margin-right: 10px\">\r\n {{ 'COMMON.HEADER.CONNECTED_AS' | commonTranslate: lang }} {{ user.login + ' - ' + user.firstName + ' ' + user.name }}\r\n </span>\r\n\r\n @if (user.secondary) {\r\n <button (click)=\"stopIdentityTheft()\" color=\"warn\" mat-raised-button>\r\n {{ 'CORE.STOP' | commonTranslate: lang }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- History -->\r\n <sc-history [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Notifications -->\r\n <sc-personal-notification [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Settings -->\r\n <sc-settings [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\"\r\n class=\"material-icons-outlined header-icon max-width-5\"/>\r\n\r\n</mat-toolbar>\r\n\r\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i3.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.MenuComponent, selector: "sc-menu", inputs: ["lang"], outputs: ["navigate", "redirect"] }, { kind: "component", type: i5.AdvancedSearchComponent, selector: "sc-advanced-search", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i6.HistoryComponent, selector: "sc-history", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i7.PersonalNotificationComponent, selector: "sc-personal-notification", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i8.SettingsComponent, selector: "sc-settings", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i9.NotificationBarComponent, selector: "notification-bar", inputs: ["lang"] }, { kind: "pipe", type: i10.CommonTranslatePipe, name: "commonTranslate" }] }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: HeaderComponent, selector: "sc-header", outputs: { toogleMenuEvent: "toogleMenuEvent" }, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<!-- Notifications container -->\r\n<notification-bar [lang]=\"lang\"></notification-bar>\r\n\r\n<mat-toolbar class=\"d-flex align-items-center toolbar-header toolbar-padding\">\r\n <!-- Unity Logo -->\r\n <span class=\"d-flex align-items-end\">\r\n <a\r\n [href]=\"env === 'prod' ? 'https://unity.studiocanal.com/dashboard' : (env === 'sbx' ? 'https://unity-sbx.cplus/dashboard' : 'https://unity-' + env + '.studiocanal.com/dashboard')\">\r\n <img class=\"logo-unity\" alt=\"\" ngSrc=\"./assets/img/unity_logo_48x48.png\" width=\"48\" height=\"48\">\r\n </a>\r\n @if (env !== 'prod') {\r\n <span [attr.id]=\"'env-' + env\" class=\"env\">{{ env }}</span>\r\n }\r\n </span>\r\n\r\n <!-- Modules menu -->\r\n <sc-menu [lang]=\"lang\" (navigate)=\"navigate($event.module, $event.route, $event.queryParams)\"\r\n (redirect)=\"redirect($event.route)\" class=\"menu-header\"/>\r\n\r\n <!-- Search -->\r\n <sc-advanced-search [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"global-search\"/>\r\n\r\n <!-- Connected as -->\r\n @if (user && user.secondary) {\r\n <div class=\"connected-as d-flex justify-content-between align-items-center\">\r\n <span style=\"margin-right: 10px\">\r\n {{ 'COMMON.HEADER.CONNECTED_AS' | commonTranslate: lang }} {{ user.login + ' - ' + user.firstName + ' ' + user.name }}\r\n </span>\r\n\r\n @if (user.secondary) {\r\n <button (click)=\"stopIdentityTheft()\" color=\"warn\" mat-raised-button>\r\n {{ 'CORE.STOP' | commonTranslate: lang }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- History -->\r\n <sc-history [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Notifications -->\r\n <sc-personal-notification [lang]=\"lang\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Settings -->\r\n <sc-settings [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\"\r\n class=\"material-icons-outlined header-icon max-width-5\"/>\r\n\r\n</mat-toolbar>\r\n\r\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i3.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.MenuComponent, selector: "sc-menu", inputs: ["lang"], outputs: ["navigate", "redirect"] }, { kind: "component", type: i5.AdvancedSearchComponent, selector: "sc-advanced-search", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i6.HistoryComponent, selector: "sc-history", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i7.PersonalNotificationComponent, selector: "sc-personal-notification", inputs: ["lang"] }, { kind: "component", type: i8.SettingsComponent, selector: "sc-settings", inputs: ["lang"], outputs: ["redirect"] }, { kind: "component", type: i9.NotificationBarComponent, selector: "notification-bar", inputs: ["lang"] }, { kind: "pipe", type: i10.CommonTranslatePipe, name: "commonTranslate" }] }); }
88
88
  }
89
89
  __decorate([
90
90
  User()
91
91
  ], HeaderComponent.prototype, "user", void 0);
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
93
93
  type: Component,
94
- args: [{ selector: 'sc-header', template: "<!-- Notifications container -->\r\n<notification-bar [lang]=\"lang\"></notification-bar>\r\n\r\n<mat-toolbar class=\"d-flex align-items-center toolbar-header toolbar-padding\">\r\n <!-- Unity Logo -->\r\n <span class=\"d-flex align-items-end\">\r\n <a\r\n [href]=\"env === 'prod' ? 'https://unity.studiocanal.com/dashboard' : (env === 'sbx' ? 'https://unity-sbx.cplus/dashboard' : 'https://unity-' + env + '.studiocanal.com/dashboard')\">\r\n <img class=\"logo-unity\" alt=\"\" ngSrc=\"./assets/img/unity_logo_48x48.png\" width=\"48\" height=\"48\">\r\n </a>\r\n @if (env !== 'prod') {\r\n <span [attr.id]=\"'env-' + env\" class=\"env\">{{ env }}</span>\r\n }\r\n </span>\r\n\r\n <!-- Modules menu -->\r\n <sc-menu [lang]=\"lang\" (navigate)=\"navigate($event.module, $event.route, $event.queryParams)\"\r\n (redirect)=\"redirect($event.route)\" class=\"menu-header\"/>\r\n\r\n <!-- Search -->\r\n <sc-advanced-search [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"global-search\"/>\r\n\r\n <!-- Connected as -->\r\n @if (user && user.secondary) {\r\n <div class=\"connected-as d-flex justify-content-between align-items-center\">\r\n <span style=\"margin-right: 10px\">\r\n {{ 'COMMON.HEADER.CONNECTED_AS' | commonTranslate: lang }} {{ user.login + ' - ' + user.firstName + ' ' + user.name }}\r\n </span>\r\n\r\n @if (user.secondary) {\r\n <button (click)=\"stopIdentityTheft()\" color=\"warn\" mat-raised-button>\r\n {{ 'CORE.STOP' | commonTranslate: lang }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- History -->\r\n <sc-history [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Notifications -->\r\n <sc-personal-notification [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Settings -->\r\n <sc-settings [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\"\r\n class=\"material-icons-outlined header-icon max-width-5\"/>\r\n\r\n</mat-toolbar>\r\n\r\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"] }]
94
+ args: [{ selector: 'sc-header', template: "<!-- Notifications container -->\r\n<notification-bar [lang]=\"lang\"></notification-bar>\r\n\r\n<mat-toolbar class=\"d-flex align-items-center toolbar-header toolbar-padding\">\r\n <!-- Unity Logo -->\r\n <span class=\"d-flex align-items-end\">\r\n <a\r\n [href]=\"env === 'prod' ? 'https://unity.studiocanal.com/dashboard' : (env === 'sbx' ? 'https://unity-sbx.cplus/dashboard' : 'https://unity-' + env + '.studiocanal.com/dashboard')\">\r\n <img class=\"logo-unity\" alt=\"\" ngSrc=\"./assets/img/unity_logo_48x48.png\" width=\"48\" height=\"48\">\r\n </a>\r\n @if (env !== 'prod') {\r\n <span [attr.id]=\"'env-' + env\" class=\"env\">{{ env }}</span>\r\n }\r\n </span>\r\n\r\n <!-- Modules menu -->\r\n <sc-menu [lang]=\"lang\" (navigate)=\"navigate($event.module, $event.route, $event.queryParams)\"\r\n (redirect)=\"redirect($event.route)\" class=\"menu-header\"/>\r\n\r\n <!-- Search -->\r\n <sc-advanced-search [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"global-search\"/>\r\n\r\n <!-- Connected as -->\r\n @if (user && user.secondary) {\r\n <div class=\"connected-as d-flex justify-content-between align-items-center\">\r\n <span style=\"margin-right: 10px\">\r\n {{ 'COMMON.HEADER.CONNECTED_AS' | commonTranslate: lang }} {{ user.login + ' - ' + user.firstName + ' ' + user.name }}\r\n </span>\r\n\r\n @if (user.secondary) {\r\n <button (click)=\"stopIdentityTheft()\" color=\"warn\" mat-raised-button>\r\n {{ 'CORE.STOP' | commonTranslate: lang }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- History -->\r\n <sc-history [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Notifications -->\r\n <sc-personal-notification [lang]=\"lang\" class=\"material-icons header-icon max-width-5\"/>\r\n <span class=\"header-separator\"></span>\r\n <!-- Settings -->\r\n <sc-settings [lang]=\"lang\" (redirect)=\"onNavigateEvent($event)\"\r\n class=\"material-icons-outlined header-icon max-width-5\"/>\r\n\r\n</mat-toolbar>\r\n\r\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"] }]
95
95
  }], propDecorators: { user: [], onWindowScroll: [{
96
96
  type: HostListener,
97
97
  args: ['window:scroll', []]
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVzdDLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT0Usb0JBQWUsR0FBMEIsTUFBTSxFQUFPLENBQUM7UUFHaEQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUtoQixXQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hD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QUFFLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxNQUFNO2lCQUNSLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQztpQkFDOUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7K0dBOUVVLGVBQWU7bUdBQWYsZUFBZSxnS0NyQjVCLHNyRUFpREE7O0FEM0JpQjtJQUFkLElBQUksRUFBRTs2Q0FBNEI7NEZBRHhCLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFLTixJQUFJLE1BNkJaLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPbkluaXQsIG91dHB1dCwgT3V0cHV0RW1pdHRlclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc0ludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLmludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnMvdXNlci5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHsgQXV0aFVzZXJNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZSB9IGZyb20gXCIuLi8uLi9ldmVudC9zdG9yYWdlL2xvY2FsLXN0b3JhZ2UtZXZlbnRzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7IEVsYXN0aWNzZWFyY2hTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2VsYXN0aWNzZWFyY2gvZWxhc3RpY3NlYXJjaC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJhcGlkU2VhcmNoQWxsRG9jdW1lbnRNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvcmFwaWQtc2VhcmNoLWFsbC1kb2N1bWVudC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBMaW5rUm91dGluZ01vZHVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9saW5rLXJvdXRpbmctbW9kdWxlLm1vZGVsXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1oZWFkZXInLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlcm1pc3Npb25zSW50ZXJmYWNlIHtcclxuICBAVXNlcigpIHB1YmxpYyB1c2VyOiBBdXRoVXNlck1vZGVsO1xyXG4gIHRvb2dsZU1lbnVFdmVudDogT3V0cHV0RW1pdHRlclJlZjxhbnk+ID0gb3V0cHV0PGFueT4oKTtcclxuXHJcbiAgcHVibGljIGxhbmc6IHN0cmluZztcclxuICBwdWJsaWMgaXNIaWRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRTY3JvbGw6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGVudjogc3RyaW5nO1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbFNlYXJjaDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICBwdWJsaWMgZG9jdW1lbnRzJDogT2JzZXJ2YWJsZTwoUmFwaWRTZWFyY2hBbGxEb2N1bWVudE1vZGVsKVtdPjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZTogTG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZSA9IGluamVjdChMb2NhbFN0b3JhZ2VFdmVudHNTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zU2VydmljZSA9IGluamVjdChQZXJtaXNzaW9uc1NlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxhc3RpY3NlYXJjaFNlcnZpY2U6IEVsYXN0aWNzZWFyY2hTZXJ2aWNlID0gaW5qZWN0KEVsYXN0aWNzZWFyY2hTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQ29uZmlnID0gaW5qZWN0KFdFQl9DT05GSUcpO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sU2VhcmNoID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCk7XHJcblxyXG4gICAgdGhpcy5pbml0UGVybWlzc2lvbnNTZXJ2aWNlKCk7XHJcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0KCdsYW5nJykgfHwgJ2ZyJztcclxuICAgIHRoaXMuZW52ID0gdGhpcy5jb25maWcuZW52LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZUV2ZW50c1NlcnZpY2UubG9jYWxTdG9yYWdlRXZlbnQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0gdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldCgnbGFuZycpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgW10pXHJcbiAgcHVibGljIG9uV2luZG93U2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbnVtYmVyVmFyOiBudW1iZXIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgaWYgKG51bWJlclZhciA+IHRoaXMuY3VycmVudFNjcm9sbCkge1xyXG4gICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAobnVtYmVyVmFyIDwgdGhpcy5jdXJyZW50U2Nyb2xsKSB7XHJcbiAgICAgIHRoaXMuaXNIaWRlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGwgPSBudW1iZXJWYXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGluaXRQZXJtaXNzaW9uc1NlcnZpY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBzdG9wSWRlbnRpdHlUaGVmdCgpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ2F1dGhUb2tlblNlY29uZGFyeScpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTmF2aWdhdGVFdmVudCgkZXZlbnQ6IExpbmtSb3V0aW5nTW9kdWxlTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2aWdhdGUoJGV2ZW50Lm1vZHVsZSwgJGV2ZW50LnJvdXRlLCAkZXZlbnQucXVlcnlQYXJhbVN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGUobW9kdWxlID0gJycsIHJvdXRlOiBzdHJpbmcsIHF1ZXJ5UGFyYW1TdHJpbmc/OiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAoIXJvdXRlLnN0YXJ0c1dpdGgoJy8nKSkge1xyXG4gICAgICByb3V0ZSA9ICcvJyArIHJvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gdGhpcy5jb25maWcuYXBpX3VybCArIChtb2R1bGUgPyBgLyR7bW9kdWxlfWAgOiAnJykgKyByb3V0ZTtcclxuICAgIGxldCBxdWVyeVBhcmFtczogYW55ID0gbnVsbDtcclxuICAgIGlmIChxdWVyeVBhcmFtU3RyaW5nICE9IG51bGwpIHtcclxuICAgICAgcXVlcnlQYXJhbXMgPSBKU09OLnBhcnNlKHF1ZXJ5UGFyYW1TdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZiA9PT0gdXJsICYmIHF1ZXJ5UGFyYW1zID09IG51bGwpIHtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgfSBlbHNlIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aChgLyR7bW9kdWxlfWApKSB7XHJcbiAgICAgIHRoaXMucm91dGVyXHJcbiAgICAgICAgLm5hdmlnYXRlQnlVcmwoJy8nLCB7c2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlfSlcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCBxdWVyeVBhcmFtcyA/IHtxdWVyeVBhcmFtc30gOiB7fSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVkaXJlY3Qocm91dGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSByb3V0ZTtcclxuICB9XHJcbn1cclxuIiwiPCEtLSBOb3RpZmljYXRpb25zIGNvbnRhaW5lciAtLT5cclxuPG5vdGlmaWNhdGlvbi1iYXIgW2xhbmddPVwibGFuZ1wiPjwvbm90aWZpY2F0aW9uLWJhcj5cclxuXHJcbjxtYXQtdG9vbGJhciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdG9vbGJhci1oZWFkZXIgdG9vbGJhci1wYWRkaW5nXCI+XHJcbiAgPCEtLSBVbml0eSBMb2dvIC0tPlxyXG4gIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgPGFcclxuICAgICAgW2hyZWZdPVwiZW52ID09PSAncHJvZCcgPyAnaHR0cHM6Ly91bml0eS5zdHVkaW9jYW5hbC5jb20vZGFzaGJvYXJkJyA6IChlbnYgPT09ICdzYngnID8gJ2h0dHBzOi8vdW5pdHktc2J4LmNwbHVzL2Rhc2hib2FyZCcgOiAnaHR0cHM6Ly91bml0eS0nICsgZW52ICsgJy5zdHVkaW9jYW5hbC5jb20vZGFzaGJvYXJkJylcIj5cclxuICAgICAgPGltZyBjbGFzcz1cImxvZ28tdW5pdHlcIiBhbHQ9XCJcIiBuZ1NyYz1cIi4vYXNzZXRzL2ltZy91bml0eV9sb2dvXzQ4eDQ4LnBuZ1wiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiPlxyXG4gICAgPC9hPlxyXG4gICAgQGlmIChlbnYgIT09ICdwcm9kJykge1xyXG4gICAgICA8c3BhbiBbYXR0ci5pZF09XCInZW52LScgKyBlbnZcIiBjbGFzcz1cImVudlwiPnt7IGVudiB9fTwvc3Bhbj5cclxuICAgIH1cclxuICA8L3NwYW4+XHJcblxyXG4gIDwhLS0gTW9kdWxlcyBtZW51IC0tPlxyXG4gIDxzYy1tZW51IFtsYW5nXT1cImxhbmdcIiAobmF2aWdhdGUpPVwibmF2aWdhdGUoJGV2ZW50Lm1vZHVsZSwgJGV2ZW50LnJvdXRlLCAkZXZlbnQucXVlcnlQYXJhbXMpXCJcclxuICAgICAgICAgICAocmVkaXJlY3QpPVwicmVkaXJlY3QoJGV2ZW50LnJvdXRlKVwiIGNsYXNzPVwibWVudS1oZWFkZXJcIi8+XHJcblxyXG4gIDwhLS0gU2VhcmNoIC0tPlxyXG4gIDxzYy1hZHZhbmNlZC1zZWFyY2ggW2xhbmddPVwibGFuZ1wiIChyZWRpcmVjdCk9XCJvbk5hdmlnYXRlRXZlbnQoJGV2ZW50KVwiIGNsYXNzPVwiZ2xvYmFsLXNlYXJjaFwiLz5cclxuXHJcbiAgPCEtLSBDb25uZWN0ZWQgYXMgLS0+XHJcbiAgQGlmICh1c2VyICYmIHVzZXIuc2Vjb25kYXJ5KSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29ubmVjdGVkLWFzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHhcIj5cclxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5DT05ORUNURURfQVMnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19ICB7eyB1c2VyLmxvZ2luICsgJyAtICcgKyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICBAaWYgKHVzZXIuc2Vjb25kYXJ5KSB7XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3RvcElkZW50aXR5VGhlZnQoKVwiIGNvbG9yPVwid2FyblwiIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAge3sgJ0NPUkUuU1RPUCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICA8IS0tIEhpc3RvcnkgLS0+XHJcbiAgPHNjLWhpc3RvcnkgW2xhbmddPVwibGFuZ1wiIChyZWRpcmVjdCk9XCJvbk5hdmlnYXRlRXZlbnQoJGV2ZW50KVwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgaGVhZGVyLWljb24gbWF4LXdpZHRoLTVcIi8+XHJcbiAgPHNwYW4gY2xhc3M9XCJoZWFkZXItc2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gIDwhLS0gTm90aWZpY2F0aW9ucyAtLT5cclxuICA8c2MtcGVyc29uYWwtbm90aWZpY2F0aW9uIFtsYW5nXT1cImxhbmdcIiAocmVkaXJlY3QpPVwib25OYXZpZ2F0ZUV2ZW50KCRldmVudClcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGhlYWRlci1pY29uIG1heC13aWR0aC01XCIvPlxyXG4gIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICA8IS0tIFNldHRpbmdzIC0tPlxyXG4gIDxzYy1zZXR0aW5ncyBbbGFuZ109XCJsYW5nXCIgKHJlZGlyZWN0KT1cIm9uTmF2aWdhdGVFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBoZWFkZXItaWNvbiBtYXgtd2lkdGgtNVwiLz5cclxuXHJcbjwvbWF0LXRvb2xiYXI+XHJcblxyXG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVzdDLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT0Usb0JBQWUsR0FBMEIsTUFBTSxFQUFPLENBQUM7UUFHaEQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUtoQixXQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hD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QUFFLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxNQUFNO2lCQUNSLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQztpQkFDOUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7K0dBOUVVLGVBQWU7bUdBQWYsZUFBZSxnS0NyQjVCLCtvRUFpREE7O0FEM0JpQjtJQUFkLElBQUksRUFBRTs2Q0FBNEI7NEZBRHhCLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFLTixJQUFJLE1BNkJaLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPbkluaXQsIG91dHB1dCwgT3V0cHV0RW1pdHRlclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc0ludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLmludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnMvdXNlci5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHsgQXV0aFVzZXJNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZSB9IGZyb20gXCIuLi8uLi9ldmVudC9zdG9yYWdlL2xvY2FsLXN0b3JhZ2UtZXZlbnRzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7IEVsYXN0aWNzZWFyY2hTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2VsYXN0aWNzZWFyY2gvZWxhc3RpY3NlYXJjaC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJhcGlkU2VhcmNoQWxsRG9jdW1lbnRNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvcmFwaWQtc2VhcmNoLWFsbC1kb2N1bWVudC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBMaW5rUm91dGluZ01vZHVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9saW5rLXJvdXRpbmctbW9kdWxlLm1vZGVsXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1oZWFkZXInLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlcm1pc3Npb25zSW50ZXJmYWNlIHtcclxuICBAVXNlcigpIHB1YmxpYyB1c2VyOiBBdXRoVXNlck1vZGVsO1xyXG4gIHRvb2dsZU1lbnVFdmVudDogT3V0cHV0RW1pdHRlclJlZjxhbnk+ID0gb3V0cHV0PGFueT4oKTtcclxuXHJcbiAgcHVibGljIGxhbmc6IHN0cmluZztcclxuICBwdWJsaWMgaXNIaWRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRTY3JvbGw6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGVudjogc3RyaW5nO1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbFNlYXJjaDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICBwdWJsaWMgZG9jdW1lbnRzJDogT2JzZXJ2YWJsZTwoUmFwaWRTZWFyY2hBbGxEb2N1bWVudE1vZGVsKVtdPjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZTogTG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZSA9IGluamVjdChMb2NhbFN0b3JhZ2VFdmVudHNTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zU2VydmljZSA9IGluamVjdChQZXJtaXNzaW9uc1NlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxhc3RpY3NlYXJjaFNlcnZpY2U6IEVsYXN0aWNzZWFyY2hTZXJ2aWNlID0gaW5qZWN0KEVsYXN0aWNzZWFyY2hTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQ29uZmlnID0gaW5qZWN0KFdFQl9DT05GSUcpO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sU2VhcmNoID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCk7XHJcblxyXG4gICAgdGhpcy5pbml0UGVybWlzc2lvbnNTZXJ2aWNlKCk7XHJcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0KCdsYW5nJykgfHwgJ2ZyJztcclxuICAgIHRoaXMuZW52ID0gdGhpcy5jb25maWcuZW52LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZUV2ZW50c1NlcnZpY2UubG9jYWxTdG9yYWdlRXZlbnQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0gdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldCgnbGFuZycpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgW10pXHJcbiAgcHVibGljIG9uV2luZG93U2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbnVtYmVyVmFyOiBudW1iZXIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgaWYgKG51bWJlclZhciA+IHRoaXMuY3VycmVudFNjcm9sbCkge1xyXG4gICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAobnVtYmVyVmFyIDwgdGhpcy5jdXJyZW50U2Nyb2xsKSB7XHJcbiAgICAgIHRoaXMuaXNIaWRlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGwgPSBudW1iZXJWYXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGluaXRQZXJtaXNzaW9uc1NlcnZpY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBzdG9wSWRlbnRpdHlUaGVmdCgpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ2F1dGhUb2tlblNlY29uZGFyeScpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTmF2aWdhdGVFdmVudCgkZXZlbnQ6IExpbmtSb3V0aW5nTW9kdWxlTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2aWdhdGUoJGV2ZW50Lm1vZHVsZSwgJGV2ZW50LnJvdXRlLCAkZXZlbnQucXVlcnlQYXJhbVN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGUobW9kdWxlID0gJycsIHJvdXRlOiBzdHJpbmcsIHF1ZXJ5UGFyYW1TdHJpbmc/OiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAoIXJvdXRlLnN0YXJ0c1dpdGgoJy8nKSkge1xyXG4gICAgICByb3V0ZSA9ICcvJyArIHJvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gdGhpcy5jb25maWcuYXBpX3VybCArIChtb2R1bGUgPyBgLyR7bW9kdWxlfWAgOiAnJykgKyByb3V0ZTtcclxuICAgIGxldCBxdWVyeVBhcmFtczogYW55ID0gbnVsbDtcclxuICAgIGlmIChxdWVyeVBhcmFtU3RyaW5nICE9IG51bGwpIHtcclxuICAgICAgcXVlcnlQYXJhbXMgPSBKU09OLnBhcnNlKHF1ZXJ5UGFyYW1TdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZiA9PT0gdXJsICYmIHF1ZXJ5UGFyYW1zID09IG51bGwpIHtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgfSBlbHNlIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aChgLyR7bW9kdWxlfWApKSB7XHJcbiAgICAgIHRoaXMucm91dGVyXHJcbiAgICAgICAgLm5hdmlnYXRlQnlVcmwoJy8nLCB7c2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlfSlcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCBxdWVyeVBhcmFtcyA/IHtxdWVyeVBhcmFtc30gOiB7fSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVkaXJlY3Qocm91dGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSByb3V0ZTtcclxuICB9XHJcbn1cclxuIiwiPCEtLSBOb3RpZmljYXRpb25zIGNvbnRhaW5lciAtLT5cclxuPG5vdGlmaWNhdGlvbi1iYXIgW2xhbmddPVwibGFuZ1wiPjwvbm90aWZpY2F0aW9uLWJhcj5cclxuXHJcbjxtYXQtdG9vbGJhciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdG9vbGJhci1oZWFkZXIgdG9vbGJhci1wYWRkaW5nXCI+XHJcbiAgPCEtLSBVbml0eSBMb2dvIC0tPlxyXG4gIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgPGFcclxuICAgICAgW2hyZWZdPVwiZW52ID09PSAncHJvZCcgPyAnaHR0cHM6Ly91bml0eS5zdHVkaW9jYW5hbC5jb20vZGFzaGJvYXJkJyA6IChlbnYgPT09ICdzYngnID8gJ2h0dHBzOi8vdW5pdHktc2J4LmNwbHVzL2Rhc2hib2FyZCcgOiAnaHR0cHM6Ly91bml0eS0nICsgZW52ICsgJy5zdHVkaW9jYW5hbC5jb20vZGFzaGJvYXJkJylcIj5cclxuICAgICAgPGltZyBjbGFzcz1cImxvZ28tdW5pdHlcIiBhbHQ9XCJcIiBuZ1NyYz1cIi4vYXNzZXRzL2ltZy91bml0eV9sb2dvXzQ4eDQ4LnBuZ1wiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiPlxyXG4gICAgPC9hPlxyXG4gICAgQGlmIChlbnYgIT09ICdwcm9kJykge1xyXG4gICAgICA8c3BhbiBbYXR0ci5pZF09XCInZW52LScgKyBlbnZcIiBjbGFzcz1cImVudlwiPnt7IGVudiB9fTwvc3Bhbj5cclxuICAgIH1cclxuICA8L3NwYW4+XHJcblxyXG4gIDwhLS0gTW9kdWxlcyBtZW51IC0tPlxyXG4gIDxzYy1tZW51IFtsYW5nXT1cImxhbmdcIiAobmF2aWdhdGUpPVwibmF2aWdhdGUoJGV2ZW50Lm1vZHVsZSwgJGV2ZW50LnJvdXRlLCAkZXZlbnQucXVlcnlQYXJhbXMpXCJcclxuICAgICAgICAgICAocmVkaXJlY3QpPVwicmVkaXJlY3QoJGV2ZW50LnJvdXRlKVwiIGNsYXNzPVwibWVudS1oZWFkZXJcIi8+XHJcblxyXG4gIDwhLS0gU2VhcmNoIC0tPlxyXG4gIDxzYy1hZHZhbmNlZC1zZWFyY2ggW2xhbmddPVwibGFuZ1wiIChyZWRpcmVjdCk9XCJvbk5hdmlnYXRlRXZlbnQoJGV2ZW50KVwiIGNsYXNzPVwiZ2xvYmFsLXNlYXJjaFwiLz5cclxuXHJcbiAgPCEtLSBDb25uZWN0ZWQgYXMgLS0+XHJcbiAgQGlmICh1c2VyICYmIHVzZXIuc2Vjb25kYXJ5KSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29ubmVjdGVkLWFzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHhcIj5cclxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5DT05ORUNURURfQVMnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19ICB7eyB1c2VyLmxvZ2luICsgJyAtICcgKyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICBAaWYgKHVzZXIuc2Vjb25kYXJ5KSB7XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3RvcElkZW50aXR5VGhlZnQoKVwiIGNvbG9yPVwid2FyblwiIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAge3sgJ0NPUkUuU1RPUCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICA8IS0tIEhpc3RvcnkgLS0+XHJcbiAgPHNjLWhpc3RvcnkgW2xhbmddPVwibGFuZ1wiIChyZWRpcmVjdCk9XCJvbk5hdmlnYXRlRXZlbnQoJGV2ZW50KVwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgaGVhZGVyLWljb24gbWF4LXdpZHRoLTVcIi8+XHJcbiAgPHNwYW4gY2xhc3M9XCJoZWFkZXItc2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gIDwhLS0gTm90aWZpY2F0aW9ucyAtLT5cclxuICA8c2MtcGVyc29uYWwtbm90aWZpY2F0aW9uIFtsYW5nXT1cImxhbmdcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGhlYWRlci1pY29uIG1heC13aWR0aC01XCIvPlxyXG4gIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICA8IS0tIFNldHRpbmdzIC0tPlxyXG4gIDxzYy1zZXR0aW5ncyBbbGFuZ109XCJsYW5nXCIgKHJlZGlyZWN0KT1cIm9uTmF2aWdhdGVFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBoZWFkZXItaWNvbiBtYXgtd2lkdGgtNVwiLz5cclxuXHJcbjwvbWF0LXRvb2xiYXI+XHJcblxyXG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
- import { Component, input, output, signal } from '@angular/core';
2
+ import { Component, computed, inject, input, signal } from '@angular/core';
3
3
  import { filter } from "rxjs/operators";
4
4
  import { Subject, takeUntil } from "rxjs";
5
5
  import { Theme } from "../../../decorators/theme.decorator";
6
+ import { WEB_CONFIG } from "../../../config";
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../../services/notification/notification.service";
8
9
  import * as i2 from "@angular/material/tooltip";
@@ -14,10 +15,11 @@ export class PersonalNotificationComponent {
14
15
  constructor(notificationService) {
15
16
  this.notificationService = notificationService;
16
17
  this.lang = input();
17
- this.redirect = output();
18
+ this.config = inject(WEB_CONFIG);
18
19
  this.now = signal(Date.now());
19
20
  this.destroy$ = new Subject();
20
21
  this.personalNotifications = signal([]);
22
+ this.unreadNotifications = computed(() => this.personalNotifications().filter(n => !n.read));
21
23
  this.intervalId = setInterval(() => {
22
24
  this.now.set(Date.now());
23
25
  }, 30_000);
@@ -34,13 +36,23 @@ export class PersonalNotificationComponent {
34
36
  });
35
37
  });
36
38
  }
37
- ackPersonalNotification(event, notification, withRedirect) {
39
+ ackPersonalNotification(event, notification) {
38
40
  event.stopPropagation();
39
41
  event.preventDefault();
40
42
  this.notificationService.ackPersonalNotification(notification.id);
41
43
  this.personalNotifications.update((currentNotif) => currentNotif.filter(n => n.id !== notification.id));
42
- if (notification.route && withRedirect) {
43
- this.redirect.emit({ module: null, route: notification.route });
44
+ }
45
+ markAsReadPersonalNotification(event, notification) {
46
+ event.stopPropagation();
47
+ event.preventDefault();
48
+ this.notificationService.markAsReadPersonalNotification(notification.id);
49
+ this.personalNotifications.update((currentNotif) => currentNotif.map(n => n.id === notification.id ? { ...n, read: true } : n));
50
+ if (notification.route) {
51
+ const route = notification.route.startsWith('/')
52
+ ? notification.route
53
+ : '/' + notification.route;
54
+ const url = this.config.api_url + route;
55
+ window.open(url, '_blank');
44
56
  }
45
57
  }
46
58
  getTimeAgo(date) {
@@ -86,13 +98,13 @@ export class PersonalNotificationComponent {
86
98
  this.destroy$.complete();
87
99
  }
88
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PersonalNotificationComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: PersonalNotificationComponent, selector: "sc-personal-notification", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { redirect: "redirect" }, ngImport: i0, template: "<span\r\n class=\"material-icons header-icon notification-wrapper\"\r\n [matMenuTriggerFor]=\"menuPersonalNotif\"\r\n [matBadge]=\"personalNotifications().length\"\r\n [matBadgeHidden]=\"personalNotifications().length === 0\"\r\n matBadgeColor=\"warn\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"above after\">\r\n notifications\r\n</span>\r\n\r\n<mat-menu #menuPersonalNotif=\"matMenu\" class=\"action-menu\">\r\n <div [ngClass]=\"theme === 'dark' ? 'dark-theme' : 'light-theme'\">\r\n <div class=\"notification-menu-header\">\r\n <span class=\"notification-menu-title\">\r\n {{ 'COMMON.HEADER.NOTIFICATION.TITLE' | commonTranslate : lang() }}\r\n </span>\r\n <span\r\n class=\"notification-clear-all material-icons\"\r\n (click)=\"clearAllNotifications($event)\"\r\n matTooltip=\"{{ 'COMMON.HEADER.NOTIFICATION.CLEAR_ALL' | commonTranslate : lang() }}\"\r\n matTooltipPosition=\"above\">\r\n delete_sweep\r\n </span>\r\n </div>\r\n\r\n <div class=\"notification-menu-divider\"></div>\r\n\r\n <div class=\"notification-list\">\r\n @if (personalNotifications().length === 0) {\r\n <div class=\"empty-notification\">{{ 'COMMON.HEADER.NOTIFICATION.EMPTY' | commonTranslate : lang() }}</div>\r\n } @else {\r\n @for (personalNotif of personalNotifications(); track personalNotif.id) {\r\n <button mat-menu-item (click)=\"ackPersonalNotification($event, personalNotif, true)\">\r\n <div class=\"notification-item\"\r\n [ngClass]=\"{\r\n 'warn': personalNotif.priority === 'WARN',\r\n 'critical': personalNotif.priority === 'CRITICAL'}\">\r\n <div class=\"notification-main\">\r\n <div class=\"notification-text\">\r\n <div class=\"notification-header\">\r\n <div class=\"notification-title\">\r\n {{ personalNotif.title | titlecase }}\r\n </div>\r\n <div class=\"notification-meta\">\r\n <div class=\"notification-date\"\r\n [matTooltip]=\"personalNotif.createdDate | date:'dd/MM/yyyy HH:mm'\">\r\n {{ getTimeAgo(personalNotif.createdDate) }}\r\n </div>\r\n <span\r\n class=\"notification-close-icon material-icons\"\r\n (click)=\"ackPersonalNotification($event, personalNotif, false)\">\r\n close\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"notification-description\">\r\n {{ getNotificationMessage(personalNotif) }}\r\n </div>\r\n </div>\r\n @if (personalNotif.route) {\r\n <span class=\"notification-link-icon material-icons\">\r\n open_in_new\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</mat-menu>\r\n", styles: [".notification-list{max-height:450px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:7px}.notification-item{width:320px;border-left:3px solid transparent;padding-left:8px}.notification-item.warn{border-left:3px solid #FFD000}.notification-item.critical{border-left:3px solid #FF4F4C}.notification-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-text{display:flex;flex-direction:column;flex:1}.notification-description{font-size:12px;font-weight:500;line-height:1.3}.notification-title{font-size:11px;line-height:14px;opacity:.65;letter-spacing:.4px}.notification-date{font-size:11px;opacity:.6;white-space:nowrap}.notification-header{display:flex;justify-content:space-between;align-items:center}.notification-wrapper{display:inline-flex;align-items:center;justify-content:center;width:fit-content;cursor:pointer;position:relative}.notification-link-icon{position:absolute;bottom:0;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:11px;opacity:.6;margin-left:6px;transition:color .2s ease,opacity .2s ease}.notification-item:hover .notification-link-icon{color:#009ef7;opacity:1}.notification-meta{display:flex;align-items:center;gap:6px}.notification-close-icon{font-size:14px;opacity:.5;cursor:pointer}.notification-close-icon:hover{color:#ff4f4c;opacity:1}.notification-item:has(.notification-close-icon:hover) .notification-link-icon{color:#0000008a;opacity:.6}.mat-mdc-menu-item{border-bottom:1px solid rgba(0,0,0,.08);padding:3px 8px!important}.mat-mdc-menu-item:last-child{border-bottom:none}.notification-menu-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px;min-height:24px}::ng-deep .light-theme .notification-menu-title,::ng-deep .light-theme .notification-clear-all,::ng-deep .light-theme .empty-notification{color:#445d7b}::ng-deep .dark-theme .notification-menu-title,::ng-deep .dark-theme .notification-clear-all,::ng-deep .dark-theme .empty-notification{color:#a1b7d4}.empty-notification{font-size:12px;font-weight:500;line-height:1.3;padding:8px;width:320px}.notification-menu-title{font-size:12px;font-weight:600;opacity:.9}.notification-clear-all{font-size:14px;cursor:pointer;opacity:.6;transition:color .2s ease,opacity .2s ease}.notification-clear-all:hover{color:#ff4f4c;opacity:1}.notification-menu-divider{height:1px;background:#00000014}\n"], dependencies: [{ kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i6.CommonTranslatePipe, name: "commonTranslate" }] }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: PersonalNotificationComponent, selector: "sc-personal-notification", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\r\n class=\"material-icons header-icon notification-wrapper\"\r\n [matMenuTriggerFor]=\"menuPersonalNotif\"\r\n [matBadge]=\"unreadNotifications().length\"\r\n [matBadgeHidden]=\"unreadNotifications().length === 0\"\r\n matBadgeColor=\"warn\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"above after\">\r\n notifications\r\n</span>\r\n\r\n<mat-menu #menuPersonalNotif=\"matMenu\" class=\"action-menu\">\r\n <div [ngClass]=\"theme === 'dark' ? 'dark-theme' : 'light-theme'\">\r\n <div class=\"notification-menu-header\">\r\n <span class=\"notification-menu-title\">\r\n {{ 'COMMON.HEADER.NOTIFICATION.TITLE' | commonTranslate : lang() }}\r\n </span>\r\n <span\r\n class=\"notification-clear-all material-icons\"\r\n (click)=\"clearAllNotifications($event)\"\r\n matTooltip=\"{{ 'COMMON.HEADER.NOTIFICATION.CLEAR_ALL' | commonTranslate : lang() }}\"\r\n matTooltipPosition=\"above\">\r\n delete_sweep\r\n </span>\r\n </div>\r\n\r\n <div class=\"notification-menu-divider\"></div>\r\n\r\n <div class=\"notification-list\">\r\n @if (personalNotifications().length === 0) {\r\n <div class=\"empty-notification\">{{ 'COMMON.HEADER.NOTIFICATION.EMPTY' | commonTranslate : lang() }}</div>\r\n } @else {\r\n @for (personalNotif of personalNotifications(); track personalNotif.id) {\r\n <button mat-menu-item (click)=\"markAsReadPersonalNotification($event, personalNotif)\">\r\n <div class=\"notification-item\"\r\n [ngClass]=\"{\r\n 'warn': personalNotif.priority === 'WARN',\r\n 'critical': personalNotif.priority === 'CRITICAL',\r\n 'notification-read': personalNotif.read}\">\r\n <div class=\"notification-main\">\r\n <div class=\"notification-text\">\r\n <div class=\"notification-header\">\r\n <div class=\"notification-title\">\r\n {{ personalNotif.title | titlecase }}\r\n </div>\r\n <div class=\"notification-meta\">\r\n <div class=\"notification-date\"\r\n [matTooltip]=\"personalNotif.createdDate | date:'dd/MM/yyyy HH:mm'\">\r\n {{ getTimeAgo(personalNotif.createdDate) }}\r\n </div>\r\n <span\r\n class=\"notification-close-icon material-icons\"\r\n (click)=\"ackPersonalNotification($event, personalNotif)\">\r\n close\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"notification-description\">\r\n {{ getNotificationMessage(personalNotif) }}\r\n </div>\r\n </div>\r\n @if (personalNotif.route) {\r\n <span class=\"notification-link-icon material-icons\">\r\n open_in_new\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</mat-menu>\r\n", styles: [".notification-list{max-height:450px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:7px}.notification-item{width:320px;border-left:3px solid transparent;padding-left:8px}.notification-item.warn{border-left:3px solid #FFD000}.notification-item.critical{border-left:3px solid #FF4F4C}.notification-read{opacity:.75;background-color:#00000008;box-shadow:inset 0 2px 4px #00000014}.notification-item:hover{opacity:1}.notification-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-text{display:flex;flex-direction:column;flex:1}.notification-description{font-size:12px;font-weight:500;line-height:1.3}.notification-title{font-size:11px;line-height:14px;opacity:.65;letter-spacing:.4px}.notification-date{font-size:11px;opacity:.6;white-space:nowrap}.notification-header{display:flex;justify-content:space-between;align-items:center}.notification-wrapper{display:inline-flex;align-items:center;justify-content:center;width:fit-content;cursor:pointer;position:relative}.notification-link-icon{position:absolute;bottom:0;right:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:11px;opacity:.6;margin-left:6px;transition:color .2s ease,opacity .2s ease}.notification-item:hover .notification-link-icon{color:#009ef7;opacity:1}.notification-meta{display:flex;align-items:center;gap:6px}.notification-close-icon{font-size:14px;opacity:.5;cursor:pointer}.notification-close-icon:hover{color:#ff4f4c;opacity:1}.notification-item:has(.notification-close-icon:hover) .notification-link-icon{color:#0000008a;opacity:.6}.mat-mdc-menu-item{border-bottom:1px solid rgba(0,0,0,.08);padding:3px!important}.mat-mdc-menu-item:last-child{border-bottom:none}.notification-menu-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px;min-height:24px}::ng-deep .light-theme .notification-menu-title,::ng-deep .light-theme .notification-clear-all,::ng-deep .light-theme .empty-notification{color:#445d7b}::ng-deep .dark-theme .notification-menu-title,::ng-deep .dark-theme .notification-clear-all,::ng-deep .dark-theme .empty-notification{color:#a1b7d4}.empty-notification{font-size:12px;font-weight:500;line-height:1.3;padding:8px;width:320px}.notification-menu-title{font-size:12px;font-weight:600;opacity:.9}.notification-clear-all{font-size:14px;cursor:pointer;opacity:.6;transition:color .2s ease,opacity .2s ease}.notification-clear-all:hover{color:#ff4f4c;opacity:1}.notification-menu-divider{height:1px;background:#00000014}\n"], dependencies: [{ kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i6.CommonTranslatePipe, name: "commonTranslate" }] }); }
90
102
  }
91
103
  __decorate([
92
104
  Theme()
93
105
  ], PersonalNotificationComponent.prototype, "theme", void 0);
94
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PersonalNotificationComponent, decorators: [{
95
107
  type: Component,
96
- args: [{ selector: 'sc-personal-notification', template: "<span\r\n class=\"material-icons header-icon notification-wrapper\"\r\n [matMenuTriggerFor]=\"menuPersonalNotif\"\r\n [matBadge]=\"personalNotifications().length\"\r\n [matBadgeHidden]=\"personalNotifications().length === 0\"\r\n matBadgeColor=\"warn\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"above after\">\r\n notifications\r\n</span>\r\n\r\n<mat-menu #menuPersonalNotif=\"matMenu\" class=\"action-menu\">\r\n <div [ngClass]=\"theme === 'dark' ? 'dark-theme' : 'light-theme'\">\r\n <div class=\"notification-menu-header\">\r\n <span class=\"notification-menu-title\">\r\n {{ 'COMMON.HEADER.NOTIFICATION.TITLE' | commonTranslate : lang() }}\r\n </span>\r\n <span\r\n class=\"notification-clear-all material-icons\"\r\n (click)=\"clearAllNotifications($event)\"\r\n matTooltip=\"{{ 'COMMON.HEADER.NOTIFICATION.CLEAR_ALL' | commonTranslate : lang() }}\"\r\n matTooltipPosition=\"above\">\r\n delete_sweep\r\n </span>\r\n </div>\r\n\r\n <div class=\"notification-menu-divider\"></div>\r\n\r\n <div class=\"notification-list\">\r\n @if (personalNotifications().length === 0) {\r\n <div class=\"empty-notification\">{{ 'COMMON.HEADER.NOTIFICATION.EMPTY' | commonTranslate : lang() }}</div>\r\n } @else {\r\n @for (personalNotif of personalNotifications(); track personalNotif.id) {\r\n <button mat-menu-item (click)=\"ackPersonalNotification($event, personalNotif, true)\">\r\n <div class=\"notification-item\"\r\n [ngClass]=\"{\r\n 'warn': personalNotif.priority === 'WARN',\r\n 'critical': personalNotif.priority === 'CRITICAL'}\">\r\n <div class=\"notification-main\">\r\n <div class=\"notification-text\">\r\n <div class=\"notification-header\">\r\n <div class=\"notification-title\">\r\n {{ personalNotif.title | titlecase }}\r\n </div>\r\n <div class=\"notification-meta\">\r\n <div class=\"notification-date\"\r\n [matTooltip]=\"personalNotif.createdDate | date:'dd/MM/yyyy HH:mm'\">\r\n {{ getTimeAgo(personalNotif.createdDate) }}\r\n </div>\r\n <span\r\n class=\"notification-close-icon material-icons\"\r\n (click)=\"ackPersonalNotification($event, personalNotif, false)\">\r\n close\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"notification-description\">\r\n {{ getNotificationMessage(personalNotif) }}\r\n </div>\r\n </div>\r\n @if (personalNotif.route) {\r\n <span class=\"notification-link-icon material-icons\">\r\n open_in_new\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</mat-menu>\r\n", styles: [".notification-list{max-height:450px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:7px}.notification-item{width:320px;border-left:3px solid transparent;padding-left:8px}.notification-item.warn{border-left:3px solid #FFD000}.notification-item.critical{border-left:3px solid #FF4F4C}.notification-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-text{display:flex;flex-direction:column;flex:1}.notification-description{font-size:12px;font-weight:500;line-height:1.3}.notification-title{font-size:11px;line-height:14px;opacity:.65;letter-spacing:.4px}.notification-date{font-size:11px;opacity:.6;white-space:nowrap}.notification-header{display:flex;justify-content:space-between;align-items:center}.notification-wrapper{display:inline-flex;align-items:center;justify-content:center;width:fit-content;cursor:pointer;position:relative}.notification-link-icon{position:absolute;bottom:0;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:11px;opacity:.6;margin-left:6px;transition:color .2s ease,opacity .2s ease}.notification-item:hover .notification-link-icon{color:#009ef7;opacity:1}.notification-meta{display:flex;align-items:center;gap:6px}.notification-close-icon{font-size:14px;opacity:.5;cursor:pointer}.notification-close-icon:hover{color:#ff4f4c;opacity:1}.notification-item:has(.notification-close-icon:hover) .notification-link-icon{color:#0000008a;opacity:.6}.mat-mdc-menu-item{border-bottom:1px solid rgba(0,0,0,.08);padding:3px 8px!important}.mat-mdc-menu-item:last-child{border-bottom:none}.notification-menu-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px;min-height:24px}::ng-deep .light-theme .notification-menu-title,::ng-deep .light-theme .notification-clear-all,::ng-deep .light-theme .empty-notification{color:#445d7b}::ng-deep .dark-theme .notification-menu-title,::ng-deep .dark-theme .notification-clear-all,::ng-deep .dark-theme .empty-notification{color:#a1b7d4}.empty-notification{font-size:12px;font-weight:500;line-height:1.3;padding:8px;width:320px}.notification-menu-title{font-size:12px;font-weight:600;opacity:.9}.notification-clear-all{font-size:14px;cursor:pointer;opacity:.6;transition:color .2s ease,opacity .2s ease}.notification-clear-all:hover{color:#ff4f4c;opacity:1}.notification-menu-divider{height:1px;background:#00000014}\n"] }]
108
+ args: [{ selector: 'sc-personal-notification', template: "<span\r\n class=\"material-icons header-icon notification-wrapper\"\r\n [matMenuTriggerFor]=\"menuPersonalNotif\"\r\n [matBadge]=\"unreadNotifications().length\"\r\n [matBadgeHidden]=\"unreadNotifications().length === 0\"\r\n matBadgeColor=\"warn\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"above after\">\r\n notifications\r\n</span>\r\n\r\n<mat-menu #menuPersonalNotif=\"matMenu\" class=\"action-menu\">\r\n <div [ngClass]=\"theme === 'dark' ? 'dark-theme' : 'light-theme'\">\r\n <div class=\"notification-menu-header\">\r\n <span class=\"notification-menu-title\">\r\n {{ 'COMMON.HEADER.NOTIFICATION.TITLE' | commonTranslate : lang() }}\r\n </span>\r\n <span\r\n class=\"notification-clear-all material-icons\"\r\n (click)=\"clearAllNotifications($event)\"\r\n matTooltip=\"{{ 'COMMON.HEADER.NOTIFICATION.CLEAR_ALL' | commonTranslate : lang() }}\"\r\n matTooltipPosition=\"above\">\r\n delete_sweep\r\n </span>\r\n </div>\r\n\r\n <div class=\"notification-menu-divider\"></div>\r\n\r\n <div class=\"notification-list\">\r\n @if (personalNotifications().length === 0) {\r\n <div class=\"empty-notification\">{{ 'COMMON.HEADER.NOTIFICATION.EMPTY' | commonTranslate : lang() }}</div>\r\n } @else {\r\n @for (personalNotif of personalNotifications(); track personalNotif.id) {\r\n <button mat-menu-item (click)=\"markAsReadPersonalNotification($event, personalNotif)\">\r\n <div class=\"notification-item\"\r\n [ngClass]=\"{\r\n 'warn': personalNotif.priority === 'WARN',\r\n 'critical': personalNotif.priority === 'CRITICAL',\r\n 'notification-read': personalNotif.read}\">\r\n <div class=\"notification-main\">\r\n <div class=\"notification-text\">\r\n <div class=\"notification-header\">\r\n <div class=\"notification-title\">\r\n {{ personalNotif.title | titlecase }}\r\n </div>\r\n <div class=\"notification-meta\">\r\n <div class=\"notification-date\"\r\n [matTooltip]=\"personalNotif.createdDate | date:'dd/MM/yyyy HH:mm'\">\r\n {{ getTimeAgo(personalNotif.createdDate) }}\r\n </div>\r\n <span\r\n class=\"notification-close-icon material-icons\"\r\n (click)=\"ackPersonalNotification($event, personalNotif)\">\r\n close\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"notification-description\">\r\n {{ getNotificationMessage(personalNotif) }}\r\n </div>\r\n </div>\r\n @if (personalNotif.route) {\r\n <span class=\"notification-link-icon material-icons\">\r\n open_in_new\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</mat-menu>\r\n", styles: [".notification-list{max-height:450px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:7px}.notification-item{width:320px;border-left:3px solid transparent;padding-left:8px}.notification-item.warn{border-left:3px solid #FFD000}.notification-item.critical{border-left:3px solid #FF4F4C}.notification-read{opacity:.75;background-color:#00000008;box-shadow:inset 0 2px 4px #00000014}.notification-item:hover{opacity:1}.notification-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-text{display:flex;flex-direction:column;flex:1}.notification-description{font-size:12px;font-weight:500;line-height:1.3}.notification-title{font-size:11px;line-height:14px;opacity:.65;letter-spacing:.4px}.notification-date{font-size:11px;opacity:.6;white-space:nowrap}.notification-header{display:flex;justify-content:space-between;align-items:center}.notification-wrapper{display:inline-flex;align-items:center;justify-content:center;width:fit-content;cursor:pointer;position:relative}.notification-link-icon{position:absolute;bottom:0;right:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:11px;opacity:.6;margin-left:6px;transition:color .2s ease,opacity .2s ease}.notification-item:hover .notification-link-icon{color:#009ef7;opacity:1}.notification-meta{display:flex;align-items:center;gap:6px}.notification-close-icon{font-size:14px;opacity:.5;cursor:pointer}.notification-close-icon:hover{color:#ff4f4c;opacity:1}.notification-item:has(.notification-close-icon:hover) .notification-link-icon{color:#0000008a;opacity:.6}.mat-mdc-menu-item{border-bottom:1px solid rgba(0,0,0,.08);padding:3px!important}.mat-mdc-menu-item:last-child{border-bottom:none}.notification-menu-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px;min-height:24px}::ng-deep .light-theme .notification-menu-title,::ng-deep .light-theme .notification-clear-all,::ng-deep .light-theme .empty-notification{color:#445d7b}::ng-deep .dark-theme .notification-menu-title,::ng-deep .dark-theme .notification-clear-all,::ng-deep .dark-theme .empty-notification{color:#a1b7d4}.empty-notification{font-size:12px;font-weight:500;line-height:1.3;padding:8px;width:320px}.notification-menu-title{font-size:12px;font-weight:600;opacity:.9}.notification-clear-all{font-size:14px;cursor:pointer;opacity:.6;transition:color .2s ease,opacity .2s ease}.notification-clear-all:hover{color:#ff4f4c;opacity:1}.notification-menu-divider{height:1px;background:#00000014}\n"] }]
97
109
  }], ctorParameters: () => [{ type: i1.NotificationService }], propDecorators: { theme: [] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9wZXJzb25hbC1ub3RpZmljYXRpb24vcGVyc29uYWwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9wZXJzb25hbC1ub3RpZmljYXRpb24vcGVyc29uYWwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxNQUFNLEVBRU4sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkxQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyw2QkFBNkI7SUFleEMsWUFDbUIsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFkM0QsU0FBSSxHQUF3QixLQUFLLEVBQVUsQ0FBQztRQUM1QyxhQUFRLEdBQTZDLE1BQU0sRUFBMEIsQ0FBQztRQUkvRSxRQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRWYsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJekMsMEJBQXFCLEdBQUcsTUFBTSxDQUE4QixFQUFFLENBQUMsQ0FBQztRQUtyRSxJ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QVMsSUFBSSxZQUFZLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUMxRjtnQkFDRSxPQUFPLFlBQVksQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUM1RixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0E5R1UsNkJBQTZCO21HQUE3Qiw2QkFBNkIsb09DckIxQyxrbUdBeUVBOztBRHpDa0I7SUFBZixLQUFLLEVBQUU7NERBQXNCOzRGQVhuQiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsMEJBQTBCO3dGQWVwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXRTaWduYWwsXHJcbiAgT25EZXN0cm95LFxyXG4gIG91dHB1dCxcclxuICBPdXRwdXRFbWl0dGVyUmVmLFxyXG4gIHNpZ25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTGlua1JvdXRpbmdNb2R1bGVNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvbGluay1yb3V0aW5nLW1vZHVsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUaGVtZX0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvcnMvdGhlbWUuZGVjb3JhdG9yXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLXBlcnNvbmFsLW5vdGlmaWNhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcnNvbmFsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3BlcnNvbmFsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsTm90aWZpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgIE9uRGVzdHJveXtcclxuXHJcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcclxuICByZWRpcmVjdDogT3V0cHV0RW1pdHRlclJlZjxMaW5rUm91dGluZ01vZHVsZU1vZGVsPiA9IG91dHB1dDxMaW5rUm91dGluZ01vZHVsZU1vZGVsPigpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XHJcblxyXG4gIHB1YmxpYyBub3cgPSBzaWduYWwoRGF0ZS5ub3coKSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBAVGhlbWUoKSBwdWJsaWMgdGhlbWU6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHBlcnNvbmFsTm90aWZpY2F0aW9ucyA9IHNpZ25hbDxQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsW10+KFtdKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgdGhpcy5ub3cuc2V0KERhdGUubm93KCkpO1xyXG4gICAgfSwgMzBfMDAwKTtcclxuXHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucGVyc29uYWxOb3RpZmljYXRpb25zJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKG5vdGlmaWNhdGlvbik6IG5vdGlmaWNhdGlvbiBpcyBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsID0+ICEhbm90aWZpY2F0aW9uKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChub3RpZmljYXRpb24pID0+IHtcclxuICAgICAgICB0aGlzLnBlcnNvbmFsTm90aWZpY2F0aW9ucy51cGRhdGUoKGN1cnJlbnROb3RpZikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYWxyZWFkeUV4aXN0cyA9IGN1cnJlbnROb3RpZi5zb21lKG4gPT4gbi5pZCA9PT0gbm90aWZpY2F0aW9uLmlkKTtcclxuICAgICAgICAgIGlmIChhbHJlYWR5RXhpc3RzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50Tm90aWY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCB1cGRhdGVkID0gW25vdGlmaWNhdGlvbiwgLi4uY3VycmVudE5vdGlmXTtcclxuXHJcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZC5zb3J0KFxyXG4gICAgICAgICAgICAoYSwgYikgPT4gbmV3IERhdGUoYi5jcmVhdGVkRGF0ZSkuZ2V0VGltZSgpIC0gbmV3IERhdGUoYS5jcmVhdGVkRGF0ZSkuZ2V0VGltZSgpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY2tQZXJzb25hbE5vdGlmaWNhdGlvbihldmVudDogTW91c2VFdmVudCwgbm90aWZpY2F0aW9uOiBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsLCB3aXRoUmVkaXJlY3Q6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hY2tQZXJzb25hbE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24uaWQpO1xyXG5cclxuICAgIHRoaXMucGVyc29uYWxOb3RpZmljYXRpb25zLnVwZGF0ZSgoY3VycmVudE5vdGlmKSA9PlxyXG4gICAgICBjdXJyZW50Tm90aWYuZmlsdGVyKG4gPT4gbi5pZCAhPT0gbm90aWZpY2F0aW9uLmlkKVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAobm90aWZpY2F0aW9uLnJvdXRlICYmIHdpdGhSZWRpcmVjdCkge1xyXG4gICAgICB0aGlzLnJlZGlyZWN0LmVtaXQoe21vZHVsZTogbnVsbCwgcm91dGU6IG5vdGlmaWNhdGlvbi5yb3V0ZX0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpbWVBZ28oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkaWZmID0gdGhpcy5ub3coKSAtIG5ldyBEYXRlKGRhdGUpLmdldFRpbWUoKTtcclxuXHJcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihkaWZmIC8gMTAwMCk7XHJcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xyXG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKG1pbnV0ZXMgLyA2MCk7XHJcbiAgICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcihob3VycyAvIDI0KTtcclxuXHJcbiAgICBpZiAoc2Vjb25kcyA8IDYwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxhbmcoKSA9PT0gJ2ZyJyA/ICfDoCBs4oCZaW5zdGFudCcgOiAnbm93JztcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWludXRlcyA8IDYwKSB7XHJcbiAgICAgIHJldHVybiBgJHttaW51dGVzfW1pbmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGhvdXJzIDwgMjQpIHtcclxuICAgICAgcmV0dXJuIGAke2hvdXJzfWhgO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmxhbmcoKSA9PT0gJ2ZyJyA/IGAke2RheXN9amAgOiBgJHtkYXlzfWRgO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyQWxsTm90aWZpY2F0aW9ucyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgY29uc3Qgbm90aWZpY2F0aW9ucyA9IHRoaXMucGVyc29uYWxOb3RpZmljYXRpb25zKCk7XHJcblxyXG4gICAgbm90aWZpY2F0aW9ucy5mb3JFYWNoKG4gPT5cclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFja1BlcnNvbmFsTm90aWZpY2F0aW9uKG4uaWQpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMucGVyc29uYWxOb3RpZmljYXRpb25zLnNldChbXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Tm90aWZpY2F0aW9uTWVzc2FnZShub3RpZmljYXRpb246IFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLmxhbmcoKSkge1xyXG4gICAgICBjYXNlICdmcic6XHJcbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi5tZXNzYWdlRnIgfHwgbm90aWZpY2F0aW9uLm1lc3NhZ2VFbiB8fCBub3RpZmljYXRpb24ubWVzc2FnZURlIHx8ICcnO1xyXG4gICAgICBjYXNlICdkZSc6XHJcbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi5tZXNzYWdlRGUgfHwgbm90aWZpY2F0aW9uLm1lc3NhZ2VFbiB8fCBub3RpZmljYXRpb24ubWVzc2FnZUZyIHx8ICcnO1xyXG4gICAgICBjYXNlICdlbic6XHJcbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi5tZXNzYWdlRW4gfHwgbm90aWZpY2F0aW9uLm1lc3NhZ2VGciB8fCBub3RpZmljYXRpb24ubWVzc2FnZURlIHx8ICcnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBub3RpZmljYXRpb24ubWVzc2FnZUZyIHx8IG5vdGlmaWNhdGlvbi5tZXNzYWdlRW4gfHwgbm90aWZpY2F0aW9uLm1lc3NhZ2VEZSB8fCAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xyXG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPHNwYW5cclxuICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGhlYWRlci1pY29uIG5vdGlmaWNhdGlvbi13cmFwcGVyXCJcclxuICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVBlcnNvbmFsTm90aWZcIlxyXG4gIFttYXRCYWRnZV09XCJwZXJzb25hbE5vdGlmaWNhdGlvbnMoKS5sZW5ndGhcIlxyXG4gIFttYXRCYWRnZUhpZGRlbl09XCJwZXJzb25hbE5vdGlmaWNhdGlvbnMoKS5sZW5ndGggPT09IDBcIlxyXG4gIG1hdEJhZGdlQ29sb3I9XCJ3YXJuXCJcclxuICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgbWF0QmFkZ2VQb3NpdGlvbj1cImFib3ZlIGFmdGVyXCI+XHJcbiAgbm90aWZpY2F0aW9uc1xyXG48L3NwYW4+XHJcblxyXG48bWF0LW1lbnUgI21lbnVQZXJzb25hbE5vdGlmPVwibWF0TWVudVwiIGNsYXNzPVwiYWN0aW9uLW1lbnVcIj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInRoZW1lID09PSAnZGFyaycgPyAnZGFyay10aGVtZScgOiAnbGlnaHQtdGhlbWUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLW1lbnUtaGVhZGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1tZW51LXRpdGxlXCI+XHJcbiAgICAgIHt7ICdDT01NT04uSEVBREVSLk5PVElGSUNBVElPTi5USVRMRScgfCBjb21tb25UcmFuc2xhdGUgOiBsYW5nKCkgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1jbGVhci1hbGwgbWF0ZXJpYWwtaWNvbnNcIlxyXG4gICAgICAgIChjbGljayk9XCJjbGVhckFsbE5vdGlmaWNhdGlvbnMoJGV2ZW50KVwiXHJcbiAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdDT01NT04uSEVBREVSLk5PVElGSUNBVElPTi5DTEVBUl9BTEwnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZygpIH19XCJcclxuICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICBkZWxldGVfc3dlZXBcclxuICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tbWVudS1kaXZpZGVyXCI+PC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1saXN0XCI+XHJcbiAgICAgIEBpZiAocGVyc29uYWxOb3RpZmljYXRpb25zKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LW5vdGlmaWNhdGlvblwiPnt7ICdDT01NT04uSEVBREVSLk5PVElGSUNBVElPTi5FTVBUWScgfCBjb21tb25UcmFuc2xhdGUgOiBsYW5nKCkgfX08L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGZvciAocGVyc29uYWxOb3RpZiBvZiBwZXJzb25hbE5vdGlmaWNhdGlvbnMoKTsgdHJhY2sgcGVyc29uYWxOb3RpZi5pZCkge1xyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJhY2tQZXJzb25hbE5vdGlmaWNhdGlvbigkZXZlbnQsIHBlcnNvbmFsTm90aWYsIHRydWUpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24taXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAnd2Fybic6IHBlcnNvbmFsTm90aWYucHJpb3JpdHkgPT09ICdXQVJOJyxcclxuICAgICAgICAgICAgICAgJ2NyaXRpY2FsJzogcGVyc29uYWxOb3RpZi5wcmlvcml0eSA9PT0gJ0NSSVRJQ0FMJ31cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLW1haW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IHBlcnNvbmFsTm90aWYudGl0bGUgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLW1ldGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInBlcnNvbmFsTm90aWYuY3JlYXRlZERhdGUgfCBkYXRlOidkZC9NTS95eXl5IEhIOm1tJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRUaW1lQWdvKHBlcnNvbmFsTm90aWYuY3JlYXRlZERhdGUpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWNsb3NlLWljb24gbWF0ZXJpYWwtaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWNrUGVyc29uYWxOb3RpZmljYXRpb24oJGV2ZW50LCBwZXJzb25hbE5vdGlmLCBmYWxzZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICBjbG9zZVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Tm90aWZpY2F0aW9uTWVzc2FnZShwZXJzb25hbE5vdGlmKSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgQGlmIChwZXJzb25hbE5vdGlmLnJvdXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uLWxpbmstaWNvbiBtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICAgICAgICAgICAgb3Blbl9pbl9uZXdcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9wZXJzb25hbC1ub3RpZmljYXRpb24vcGVyc29uYWwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9wZXJzb25hbC1ub3RpZmljYXRpb24vcGVyc29uYWwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQzNCLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RCxPQUFPLEVBQVMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBT25ELE1BQU0sT0FBTyw2QkFBNkI7SUFvQnhDLFlBQ21CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBbkIzRCxTQUFJLEdBQXdCLEtBQUssRUFBVSxDQUFDO1FBRTNCLFdBQU0sR0FBVyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFJOUMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVmLGFBQVEsR0FBRyxJQUFJLE9B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SSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQW5JVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixpTUNuQjFDLG1wR0EwRUE7O0FEM0NrQjtJQUFmLEtBQUssRUFBRTs0REFBc0I7NEZBWm5CLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSwwQkFBMEI7d0ZBZ0JwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXRTaWduYWwsXHJcbiAgT25EZXN0cm95LFxyXG4gIHNpZ25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvcGVyc29uYWwtbm90aWZpY2F0aW9uLm1vZGVsXCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvcnMvdGhlbWUuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7Q29uZmlnLCBXRUJfQ09ORklHfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlnXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLXBlcnNvbmFsLW5vdGlmaWNhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcnNvbmFsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3BlcnNvbmFsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsTm90aWZpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgIE9uRGVzdHJveXtcclxuXHJcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZyA9IGluamVjdChXRUJfQ09ORklHKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xyXG5cclxuICBwdWJsaWMgbm93ID0gc2lnbmFsKERhdGUubm93KCkpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQFRoZW1lKCkgcHVibGljIHRoZW1lOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBwZXJzb25hbE5vdGlmaWNhdGlvbnMgPSBzaWduYWw8UGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbFtdPihbXSk7XHJcblxyXG4gIHB1YmxpYyB1bnJlYWROb3RpZmljYXRpb25zID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIHRoaXMucGVyc29uYWxOb3RpZmljYXRpb25zKCkuZmlsdGVyKG4gPT4gIW4ucmVhZClcclxuICApO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICB0aGlzLm5vdy5zZXQoRGF0ZS5ub3coKSk7XHJcbiAgICB9LCAzMF8wMDApO1xyXG5cclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5wZXJzb25hbE5vdGlmaWNhdGlvbnMkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigobm90aWZpY2F0aW9uKTogbm90aWZpY2F0aW9uIGlzIFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWwgPT4gISFub3RpZmljYXRpb24pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbikgPT4ge1xyXG4gICAgICAgIHRoaXMucGVyc29uYWxOb3RpZmljYXRpb25zLnVwZGF0ZSgoY3VycmVudE5vdGlmKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBhbHJlYWR5RXhpc3RzID0gY3VycmVudE5vdGlmLnNvbWUobiA9PiBuLmlkID09PSBub3RpZmljYXRpb24uaWQpO1xyXG4gICAgICAgICAgaWYgKGFscmVhZHlFeGlzdHMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnROb3RpZjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IHVwZGF0ZWQgPSBbbm90aWZpY2F0aW9uLCAuLi5jdXJyZW50Tm90aWZdO1xyXG5cclxuICAgICAgICAgIHJldHVybiB1cGRhdGVkLnNvcnQoXHJcbiAgICAgICAgICAgIChhLCBiKSA9PiBuZXcgRGF0ZShiLmNyZWF0ZWREYXRlKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShhLmNyZWF0ZWREYXRlKS5nZXRUaW1lKClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFja1BlcnNvbmFsTm90aWZpY2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50LCBub3RpZmljYXRpb246IFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hY2tQZXJzb25hbE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24uaWQpO1xyXG5cclxuICAgIHRoaXMucGVyc29uYWxOb3RpZmljYXRpb25zLnVwZGF0ZSgoY3VycmVudE5vdGlmKSA9PlxyXG4gICAgICBjdXJyZW50Tm90aWYuZmlsdGVyKG4gPT4gbi5pZCAhPT0gbm90aWZpY2F0aW9uLmlkKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG1hcmtBc1JlYWRQZXJzb25hbE5vdGlmaWNhdGlvbihldmVudDogTW91c2VFdmVudCwgbm90aWZpY2F0aW9uOiBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm1hcmtBc1JlYWRQZXJzb25hbE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24uaWQpXHJcbiAgICB0aGlzLnBlcnNvbmFsTm90aWZpY2F0aW9ucy51cGRhdGUoKGN1cnJlbnROb3RpZikgPT5cclxuICAgICAgY3VycmVudE5vdGlmLm1hcChuID0+IG4uaWQgPT09IG5vdGlmaWNhdGlvbi5pZCA/IHsgLi4ubiwgcmVhZDogdHJ1ZSB9IDogbilcclxuICAgICk7XHJcblxyXG4gICAgaWYgKG5vdGlmaWNhdGlvbi5yb3V0ZSkge1xyXG4gICAgICBjb25zdCByb3V0ZSA9IG5vdGlmaWNhdGlvbi5yb3V0ZS5zdGFydHNXaXRoKCcvJylcclxuICAgICAgICA/IG5vdGlmaWNhdGlvbi5yb3V0ZVxyXG4gICAgICAgIDogJy8nICsgbm90aWZpY2F0aW9uLnJvdXRlO1xyXG5cclxuICAgICAgY29uc3QgdXJsID0gdGhpcy5jb25maWcuYXBpX3VybCArIHJvdXRlO1xyXG5cclxuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VGltZUFnbyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRpZmYgPSB0aGlzLm5vdygpIC0gbmV3IERhdGUoZGF0ZSkuZ2V0VGltZSgpO1xyXG5cclxuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmYgLyAxMDAwKTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKTtcclxuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xyXG5cclxuICAgIGlmIChzZWNvbmRzIDwgNjApIHtcclxuICAgICAgcmV0dXJuIHRoaXMubGFuZygpID09PSAnZnInID8gJ8OgIGzigJlpbnN0YW50JyA6ICdub3cnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtaW51dGVzIDwgNjApIHtcclxuICAgICAgcmV0dXJuIGAke21pbnV0ZXN9bWluYDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaG91cnMgPCAyNCkge1xyXG4gICAgICByZXR1cm4gYCR7aG91cnN9aGA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubGFuZygpID09PSAnZnInID8gYCR7ZGF5c31qYCA6IGAke2RheXN9ZGA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJBbGxOb3RpZmljYXRpb25zKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBjb25zdCBub3RpZmljYXRpb25zID0gdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvbnMoKTtcclxuXHJcbiAgICBub3RpZmljYXRpb25zLmZvckVhY2gobiA9PlxyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWNrUGVyc29uYWxOb3RpZmljYXRpb24obi5pZClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvbnMuc2V0KFtdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXROb3RpZmljYXRpb25NZXNzYWdlKG5vdGlmaWNhdGlvbjogUGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbCk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHRoaXMubGFuZygpKSB7XHJcbiAgICAgIGNhc2UgJ2ZyJzpcclxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uLm1lc3NhZ2VGciB8fCBub3RpZmljYXRpb24ubWVzc2FnZUVuIHx8IG5vdGlmaWNhdGlvbi5tZXNzYWdlRGUgfHwgJyc7XHJcbiAgICAgIGNhc2UgJ2RlJzpcclxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uLm1lc3NhZ2VEZSB8fCBub3RpZmljYXRpb24ubWVzc2FnZUVuIHx8IG5vdGlmaWNhdGlvbi5tZXNzYWdlRnIgfHwgJyc7XHJcbiAgICAgIGNhc2UgJ2VuJzpcclxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uLm1lc3NhZ2VFbiB8fCBub3RpZmljYXRpb24ubWVzc2FnZUZyIHx8IG5vdGlmaWNhdGlvbi5tZXNzYWdlRGUgfHwgJyc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi5tZXNzYWdlRnIgfHwgbm90aWZpY2F0aW9uLm1lc3NhZ2VFbiB8fCBub3RpZmljYXRpb24ubWVzc2FnZURlIHx8ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8c3BhblxyXG4gIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgaGVhZGVyLWljb24gbm90aWZpY2F0aW9uLXdyYXBwZXJcIlxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51UGVyc29uYWxOb3RpZlwiXHJcbiAgW21hdEJhZGdlXT1cInVucmVhZE5vdGlmaWNhdGlvbnMoKS5sZW5ndGhcIlxyXG4gIFttYXRCYWRnZUhpZGRlbl09XCJ1bnJlYWROb3RpZmljYXRpb25zKCkubGVuZ3RoID09PSAwXCJcclxuICBtYXRCYWRnZUNvbG9yPVwid2FyblwiXHJcbiAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxyXG4gIG1hdEJhZGdlUG9zaXRpb249XCJhYm92ZSBhZnRlclwiPlxyXG4gIG5vdGlmaWNhdGlvbnNcclxuPC9zcGFuPlxyXG5cclxuPG1hdC1tZW51ICNtZW51UGVyc29uYWxOb3RpZj1cIm1hdE1lbnVcIiBjbGFzcz1cImFjdGlvbi1tZW51XCI+XHJcbiAgPGRpdiBbbmdDbGFzc109XCJ0aGVtZSA9PT0gJ2RhcmsnID8gJ2RhcmstdGhlbWUnIDogJ2xpZ2h0LXRoZW1lJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1tZW51LWhlYWRlclwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJub3RpZmljYXRpb24tbWVudS10aXRsZVwiPlxyXG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5OT1RJRklDQVRJT04uVElUTEUnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZygpIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tY2xlYXItYWxsIG1hdGVyaWFsLWljb25zXCJcclxuICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGxOb3RpZmljYXRpb25zKCRldmVudClcIlxyXG4gICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnQ09NTU9OLkhFQURFUi5OT1RJRklDQVRJT04uQ0xFQVJfQUxMJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcoKSB9fVwiXHJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgZGVsZXRlX3N3ZWVwXHJcbiAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLW1lbnUtZGl2aWRlclwiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tbGlzdFwiPlxyXG4gICAgICBAaWYgKHBlcnNvbmFsTm90aWZpY2F0aW9ucygpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1ub3RpZmljYXRpb25cIj57eyAnQ09NTU9OLkhFQURFUi5OT1RJRklDQVRJT04uRU1QVFknIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZygpIH19PC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBmb3IgKHBlcnNvbmFsTm90aWYgb2YgcGVyc29uYWxOb3RpZmljYXRpb25zKCk7IHRyYWNrIHBlcnNvbmFsTm90aWYuaWQpIHtcclxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibWFya0FzUmVhZFBlcnNvbmFsTm90aWZpY2F0aW9uKCRldmVudCwgcGVyc29uYWxOb3RpZilcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pdGVtXCJcclxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICd3YXJuJzogcGVyc29uYWxOb3RpZi5wcmlvcml0eSA9PT0gJ1dBUk4nLFxyXG4gICAgICAgICAgICAgICAnY3JpdGljYWwnOiBwZXJzb25hbE5vdGlmLnByaW9yaXR5ID09PSAnQ1JJVElDQUwnLFxyXG4gICAgICAgICAgICAgICAnbm90aWZpY2F0aW9uLXJlYWQnOiBwZXJzb25hbE5vdGlmLnJlYWR9XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1tYWluXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBwZXJzb25hbE5vdGlmLnRpdGxlIHwgdGl0bGVjYXNlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1tZXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwZXJzb25hbE5vdGlmLmNyZWF0ZWREYXRlIHwgZGF0ZTonZGQvTU0veXl5eSBISDptbSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0VGltZUFnbyhwZXJzb25hbE5vdGlmLmNyZWF0ZWREYXRlKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1jbG9zZS1pY29uIG1hdGVyaWFsLWljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFja1BlcnNvbmFsTm90aWZpY2F0aW9uKCRldmVudCwgcGVyc29uYWxOb3RpZilcIj5cclxuICAgICAgICAgICAgICAgICAgICBjbG9zZVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Tm90aWZpY2F0aW9uTWVzc2FnZShwZXJzb25hbE5vdGlmKSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgQGlmIChwZXJzb25hbE5vdGlmLnJvdXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uLWxpbmstaWNvbiBtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICAgICAgICAgICAgb3Blbl9pbl9uZXdcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuIl19
@@ -1,3 +1,3 @@
1
1
  export class PersonalNotificationModel {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtbm90aWZpY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9tb2RlbHMvcGVyc29uYWwtbm90aWZpY2F0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx5QkFBeUI7Q0FVckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvblByaW9yaXR5RW51bSB9IGZyb20gXCIuLi9lbnVtcy9wZXJzb25hbC1ub3RpZmljYXRpb24tcHJpb3JpdHkuZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWwge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdXNlcklkOiBudW1iZXI7XHJcbiAgbWVzc2FnZUZyOiBzdHJpbmc7XHJcbiAgbWVzc2FnZUVuOiBzdHJpbmc7XHJcbiAgbWVzc2FnZURlOiBzdHJpbmc7XHJcbiAgcHJpb3JpdHk6IFBlcnNvbmFsTm90aWZpY2F0aW9uUHJpb3JpdHlFbnVtO1xyXG4gIHJvdXRlOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBjcmVhdGVkRGF0ZTogRGF0ZTtcclxufVxyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtbm90aWZpY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9tb2RlbHMvcGVyc29uYWwtbm90aWZpY2F0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx5QkFBeUI7Q0FXckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvblByaW9yaXR5RW51bSB9IGZyb20gXCIuLi9lbnVtcy9wZXJzb25hbC1ub3RpZmljYXRpb24tcHJpb3JpdHkuZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWwge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdXNlcklkOiBudW1iZXI7XHJcbiAgbWVzc2FnZUZyOiBzdHJpbmc7XHJcbiAgbWVzc2FnZUVuOiBzdHJpbmc7XHJcbiAgbWVzc2FnZURlOiBzdHJpbmc7XHJcbiAgcHJpb3JpdHk6IFBlcnNvbmFsTm90aWZpY2F0aW9uUHJpb3JpdHlFbnVtO1xyXG4gIHJvdXRlOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByZWFkOiBib29sZWFuO1xyXG4gIGNyZWF0ZWREYXRlOiBEYXRlO1xyXG59XHJcbiJdfQ==
@@ -24,6 +24,10 @@ export class NotificationApiService {
24
24
  return this.http.delete(this.apiUrl + `notifications/personal/${personalNotificationId}`)
25
25
  .pipe(catchError(CommonApiService.handleError));
26
26
  }
27
+ markAsReadPersonalNotification(personalNotificationId) {
28
+ return this.http.put(this.apiUrl + `notifications/personal/${personalNotificationId}/read`, {})
29
+ .pipe(catchError(CommonApiService.handleError));
30
+ }
27
31
  postPersonalNotificationCampaign(campaign) {
28
32
  return this.http.post(this.apiUrl + `notifications/personal`, campaign)
29
33
  .pipe(catchError(CommonApiService.handleError));
@@ -43,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
43
47
  type: Inject,
44
48
  args: [WEB_CONFIG]
45
49
  }] }, { type: i1.HttpClient }], propDecorators: { user: [] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9hcGkvbm90aWZpY2F0aW9uLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQVF2RCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFlBQWlELE1BQWMsRUFDbEMsSUFBZ0I7UUFESSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2xDLFNBQUksR0FBSixJQUFJLENBQVk7UUFIdEMsV0FBTSxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDO0lBSXBFLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQzthQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE4QixJQUFJLENBQUMsTUFBTSxHQUFHLCtCQUErQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQzNHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsc0JBQThCO1FBQzNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU8sSUFBSSxDQUFDLE1BQU0sR0FBRywwQkFBMEIsc0JBQXNCLEVBQUUsQ0FBQzthQUM1RixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGdDQUFnQyxDQUFDLFFBQTJDO1FBQ2pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyx3QkFBd0IsRUFBRSxRQUFRLENBQUM7YUFDMUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBM0JVLHNCQUFzQixrQkFLYixVQUFVO21IQUxuQixzQkFBc0IsY0FGckIsTUFBTTs7QUFHSDtJQUFkLElBQUksRUFBRTtvREFBd0I7NEZBRHBCLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1jLE1BQU07MkJBQUMsVUFBVTtrRUFKZixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZywgV0VCX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21tb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24tYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnMvdXNlci5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUGVyc29uYWxOb3RpZmljYXRpb25DYW1wYWlnbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24tY2FtcGFpZ24ubW9kZWxcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkFwaVNlcnZpY2Uge1xyXG4gIEBVc2VyKCkgcHVibGljIHVzZXI6IFVzZXJNb2RlbDtcclxuXHJcbiAgcHVibGljIGFwaVVybDogc3RyaW5nID0gdGhpcy5jb25maWcuYXBpX3VybCArICcvYXV0aG9yaXphdGlvbi1hcGkvJztcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChXRUJfQ09ORklHKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQ29uZmlnLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpdmVOb3RpZmljYXRpb25zKCk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Tm90aWZpY2F0aW9uTW9kZWxbXT4odGhpcy5hcGlVcmwgKyBgbm90aWZpY2F0aW9ucy9saXZlYClcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihDb21tb25BcGlTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGVyc29uYWxOb3RpZmljYXRpb25zKCk6IE9ic2VydmFibGU8UGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsW10+KHRoaXMuYXBpVXJsICsgYG5vdGlmaWNhdGlvbnMvcGVyc29uYWwvdXNlci8ke3RoaXMudXNlci5pZH1gKVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKENvbW1vbkFwaVNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY2tQZXJzb25hbE5vdGlmaWNhdGlvbihwZXJzb25hbE5vdGlmaWNhdGlvbklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KHRoaXMuYXBpVXJsICsgYG5vdGlmaWNhdGlvbnMvcGVyc29uYWwvJHtwZXJzb25hbE5vdGlmaWNhdGlvbklkfWApXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoQ29tbW9uQXBpU2VydmljZS5oYW5kbGVFcnJvcikpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBvc3RQZXJzb25hbE5vdGlmaWNhdGlvbkNhbXBhaWduKGNhbXBhaWduOiBQZXJzb25hbE5vdGlmaWNhdGlvbkNhbXBhaWduTW9kZWwpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDx2b2lkPih0aGlzLmFwaVVybCArIGBub3RpZmljYXRpb25zL3BlcnNvbmFsYCwgY2FtcGFpZ24pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoQ29tbW9uQXBpU2VydmljZS5oYW5kbGVFcnJvcikpO1xyXG4gIH1cclxufVxyXG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9hcGkvbm90aWZpY2F0aW9uLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQVF2RCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFlBQWlELE1BQWMsRUFDbEMsSUFBZ0I7UUFESSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2xDLFNBQUksR0FBSixJQUFJLENBQVk7UUFIdEMsV0FBTSxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDO0lBSXBFLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQzthQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE4QixJQUFJLENBQUMsTUFBTSxHQUFHLCtCQUErQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQzNHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsc0JBQThCO1FBQzNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU8sSUFBSSxDQUFDLE1BQU0sR0FBRywwQkFBMEIsc0JBQXNCLEVBQUUsQ0FBQzthQUM1RixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLDhCQUE4QixDQUFDLHNCQUE4QjtRQUNsRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLHNCQUFzQixPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ2xHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sZ0NBQWdDLENBQUMsUUFBMkM7UUFDakYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLHdCQUF3QixFQUFFLFFBQVEsQ0FBQzthQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0FoQ1Usc0JBQXNCLGtCQUtiLFVBQVU7bUhBTG5CLHNCQUFzQixjQUZyQixNQUFNOztBQUdIO0lBQWQsSUFBSSxFQUFFO29EQUF3Qjs0RkFEcEIsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsTUFBTTsyQkFBQyxVQUFVO2tFQUpmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlnLCBXRUJfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbkFwaVNlcnZpY2UgfSBmcm9tICcuL2NvbW1vbi1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9ycy91c2VyLmRlY29yYXRvclwiO1xyXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3BlcnNvbmFsLW5vdGlmaWNhdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvbkNhbXBhaWduTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3BlcnNvbmFsLW5vdGlmaWNhdGlvbi1jYW1wYWlnbi5tb2RlbFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQXBpU2VydmljZSB7XHJcbiAgQFVzZXIoKSBwdWJsaWMgdXNlcjogVXNlck1vZGVsO1xyXG5cclxuICBwdWJsaWMgYXBpVXJsOiBzdHJpbmcgPSB0aGlzLmNvbmZpZy5hcGlfdXJsICsgJy9hdXRob3JpemF0aW9uLWFwaS8nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFdFQl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBDb25maWcsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGl2ZU5vdGlmaWNhdGlvbnMoKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Nb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOb3RpZmljYXRpb25Nb2RlbFtdPih0aGlzLmFwaVVybCArIGBub3RpZmljYXRpb25zL2xpdmVgKVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKENvbW1vbkFwaVNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQZXJzb25hbE5vdGlmaWNhdGlvbnMoKTogT2JzZXJ2YWJsZTxQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFBlcnNvbmFsTm90aWZpY2F0aW9uTW9kZWxbXT4odGhpcy5hcGlVcmwgKyBgbm90aWZpY2F0aW9ucy9wZXJzb25hbC91c2VyLyR7dGhpcy51c2VyLmlkfWApXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoQ29tbW9uQXBpU2VydmljZS5oYW5kbGVFcnJvcikpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFja1BlcnNvbmFsTm90aWZpY2F0aW9uKHBlcnNvbmFsTm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dm9pZD4odGhpcy5hcGlVcmwgKyBgbm90aWZpY2F0aW9ucy9wZXJzb25hbC8ke3BlcnNvbmFsTm90aWZpY2F0aW9uSWR9YClcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihDb21tb25BcGlTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFya0FzUmVhZFBlcnNvbmFsTm90aWZpY2F0aW9uKHBlcnNvbmFsTm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8dm9pZD4odGhpcy5hcGlVcmwgKyBgbm90aWZpY2F0aW9ucy9wZXJzb25hbC8ke3BlcnNvbmFsTm90aWZpY2F0aW9uSWR9L3JlYWRgLCB7fSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihDb21tb25BcGlTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9zdFBlcnNvbmFsTm90aWZpY2F0aW9uQ2FtcGFpZ24oY2FtcGFpZ246IFBlcnNvbmFsTm90aWZpY2F0aW9uQ2FtcGFpZ25Nb2RlbCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KHRoaXMuYXBpVXJsICsgYG5vdGlmaWNhdGlvbnMvcGVyc29uYWxgLCBjYW1wYWlnbilcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihDb21tb25BcGlTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -111,6 +111,13 @@ export class NotificationService {
111
111
  }
112
112
  });
113
113
  }
114
+ markAsReadPersonalNotification(personalNotificationId) {
115
+ this.notificationApiService.markAsReadPersonalNotification(personalNotificationId).subscribe({
116
+ error: (error) => {
117
+ console.error(`Error while mark as read personal notification ${personalNotificationId}`, error);
118
+ }
119
+ });
120
+ }
114
121
  sendPersonalNotification(userIds, title, messageFr, messageEn, messageDe, priority, route) {
115
122
  const body = {
116
123
  userIds,
@@ -155,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
155
162
  type: Inject,
156
163
  args: [WEB_CONFIG]
157
164
  }] }, { type: i1.NotificationApiService }, { type: i2.LocalStorageService }, { type: i3.AuthService }], propDecorators: { user: [] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVNsRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxvQkFBb0IsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyw4QkFBOEIsQ0FBQztBQUsxRSxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQWlELE1BQWMsRUFDbEMsc0JBQThDLEVBQzlDLFlBQWlDLEVBQ3pDLFdBQXdCO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVpyQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekIsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQW9CLElB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LENBQUM7U0FDNUcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHdCQUF3QixDQUFDLE9BQWlCLEVBQUUsS0FBYSxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxTQUFpQixFQUFFLFFBQTBDLEVBQUUsS0FBYTtRQUNsTCxNQUFNLElBQUksR0FBc0M7WUFDOUMsT0FBTztZQUNQLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFFBQVE7WUFDUixLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLEVBQUU7b0JBQ3pELElBQUk7b0JBQ0osS0FBSztpQkFDTixDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUM5QixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOytHQWpKVSxtQkFBbUIsa0JBWVYsVUFBVTttSEFabkIsbUJBQW1CLGNBRmxCLE1BQU07O0FBR0g7SUFBZCxJQUFJLEVBQUU7aURBQXdCOzRGQURwQixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFhYyxNQUFNOzJCQUFDLFVBQVU7MElBWGYsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGllbnQsIE1lc3NhZ2UgfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgU29ja0pTIGZyb20gJ3NvY2tqcy1jbGllbnQnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy91c2VyLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IENvbmZpZywgV0VCX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZGVsLCBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL25vdGlmaWNhdGlvbi1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUGVyc29uYWxOb3RpZmljYXRpb25DYW1wYWlnbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24tY2FtcGFpZ24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUGVyc29uYWxOb3RpZmljYXRpb25Qcmlvcml0eUVudW0gfSBmcm9tIFwiLi4vLi4vZW51bXMvcGVyc29uYWwtbm90aWZpY2F0aW9uLXByaW9yaXR5LmVudW1cIjtcclxuXHJcbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fV0VCU09DS0VUX1VSTCA9ICcvYXV0aG9yaXphdGlvbi1hcGkvd3MnO1xyXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1RPUElDID0gJy90b3BpYy9ub3RpZmljYXRpb24nO1xyXG5leHBvcnQgY29uc3QgQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSA9ICdhY2tlZE5vdGlmaWNhdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBFUlNPTkFMX05PVElGSUNBVElPTl9UT1BJQyA9ICcvdG9waWMvcGVyc29uYWwtbm90aWZpY2F0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcclxuICBAVXNlcigpIHB1YmxpYyB1c2VyOiBVc2VyTW9kZWw7XHJcblxyXG4gIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vdGlmaWNhdGlvbk1vZGVsPihudWxsKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHBlcnNvbmFsTm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbD4obnVsbCk7XHJcblxyXG4gIC8vIE9ic2VydmFibGUgZm9yIGNvbXBvbmVudHMgdG8gc3Vic2NyaWJlIHRvIG1lc3NhZ2VzXHJcbiAgcHVibGljIG5vdGlmaWNhdGlvbnMkID0gdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHB1YmxpYyBwZXJzb25hbE5vdGlmaWNhdGlvbnMkID0gdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZyxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFwaVNlcnZpY2U6IE5vdGlmaWNhdGlvbkFwaVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgICBhdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQkLnN1YnNjcmliZShpc0F1dGhlbnRpY2F0ZWQgPT4ge1xyXG4gICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgICAgdGhpcy5mZXRjaExpdmVOb3RpZmljYXRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5mZXRjaFBlcnNvbmFsTm90aWZpY2F0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ob3RpZmljYXRpb25zKHRoaXMuY29uZmlnLmFwaV91cmwgKyBOT1RJRklDQVRJT05fV0VCU09DS0VUX1VSTCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XHJcbiAgICBjb25zdCBhY2tlZE5vdGlmaWNhdGlvbnM6IG51bWJlcltdID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVkpID8/IFtdO1xyXG4gICAgYWNrZWROb3RpZmljYXRpb25zLnB1c2gobm90aWZpY2F0aW9uLmlkKTtcclxuICAgIHRoaXMubG9jYWxTdG9yYWdlLnBvc3QoQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSwgYWNrZWROb3RpZmljYXRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hMaXZlTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uQXBpU2VydmljZS5nZXRMaXZlTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZShub3RpZmljYXRpb25zID0+IHtcclxuICAgICAgY29uc3QgbGl2ZU5vdGlmaWNhdGlvbklkcyA9IG5vdGlmaWNhdGlvbnMubWFwKG5vdGlmaWNhdGlvbiA9PiBub3RpZmljYXRpb24uaWQpO1xyXG5cclxuICAgICAgLy8gQ2xlYXIgdXAgYW55IGFja2VkIG5vdGlmaWNhdGlvbnMgdGhhdCBoYXZlIGV4cGlyZWQgKG5vIGxvbmdlciBsaXZlKVxyXG4gICAgICBsZXQgYWNrZWROb3RpZmljYXRpb25zOiBudW1iZXJbXSA9IHRoaXMubG9jYWxTdG9yYWdlLmdldChBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZKSA/PyBbXTtcclxuICAgICAgYWNrZWROb3RpZmljYXRpb25zID0gYWNrZWROb3RpZmljYXRpb25zLmZpbHRlcihhY2tlZE5vdGlmaWNhdGlvbklkID0+IGxpdmVOb3RpZmljYXRpb25JZHMuaW5kZXhPZihhY2tlZE5vdGlmaWNhdGlvbklkKSA+PSAwKVxyXG4gICAgICB0aGlzLmxvY2FsU3RvcmFnZS5wb3N0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVksIGFja2VkTm90aWZpY2F0aW9ucyk7XHJcblxyXG4gICAgICAvLyBIYW5kbGUgbmV3IG5vdGlmaWNhdGlvbnNcclxuICAgICAgbm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9uID0+IG5vdGlmaWNhdGlvbi5wdWJsaXNoZWQpXHJcbiAgICAgICAgLmZpbHRlcihub3RpZmljYXRpb24gPT4gYWNrZWROb3RpZmljYXRpb25zLmluZGV4T2Yobm90aWZpY2F0aW9uLmlkKSA9PT0gLTEpXHJcbiAgICAgICAgLmZvckVhY2gobm90aWZpY2F0aW9uID0+IHRoaXMuaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvTm90aWZpY2F0aW9ucyh3c0FwaVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RhcnQgbGlzdGVuaW5nIGZvciBuZXcgbm90aWZpY2F0aW9uc1xyXG4gICAgY29uc3Qgc29ja2V0ID0gbmV3IFNvY2tKUyh3c0FwaVVybCk7IC8vIEluaXRpYWxpemUgdGhlIFNvY2tKUyBXZWJTb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyXHJcblxyXG4gICAgLy8gQ29uZmlndXJlIHRoZSBTVE9NUCBjbGllbnQgd2l0aCBjb25uZWN0aW9uIGRldGFpbHNcclxuICAgIHRoaXMuc3RvbXBDbGllbnQgPSBuZXcgQ2xpZW50KHtcclxuICAgICAgd2ViU29ja2V0RmFjdG9yeTogKCkgPT4gc29ja2V0LCAvLyBVc2UgU29ja0pTIGFzIHRoZSBXZWJTb2NrZXQgZmFjdG9yeVxyXG4gICAgICByZWNvbm5lY3REZWxheTogNTAwMCwgLy8gUmVjb25uZWN0IGRlbGF5IGlmIGNvbm5lY3Rpb24gaXMgbG9zdFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBpbml0aWFsaXplIHN0b21wIGNsaWVudCcpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT24gc3VjY2Vzc2Z1bCBjb25uZWN0aW9uXHJcbiAgICB0aGlzLnN0b21wQ2xpZW50Lm9uQ29ubmVjdCA9ICgpID0+IHtcclxuICAgICAgLy8gUmVnaXN0ZXIgbm90aWZpY2F0aW9uIGNhbGxiYWNrXHJcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuc3Vic2NyaWJlKE5PVElGSUNBVElPTl9UT1BJQywgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcclxuICAgICAgICBjb25zdCBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsID0gSlNPTi5wYXJzZShtZXNzYWdlLmJvZHkpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbik7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9tcENsaWVudD8uc3Vic2NyaWJlKFBFUlNPTkFMX05PVElGSUNBVElPTl9UT1BJQywgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcclxuICAgICAgICBjb25zdCBwZXJzb25hbE5vdGlmaWNhdGlvbjogUGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbCA9IEpTT04ucGFyc2UobWVzc2FnZS5ib2R5KTtcclxuICAgICAgICBpZihwZXJzb25hbE5vdGlmaWNhdGlvbi51c2VySWQgPT09IHRoaXMudXNlci5pZCkge1xyXG4gICAgICAgICAgdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvblN1YmplY3QubmV4dChwZXJzb25hbE5vdGlmaWNhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zdG9tcENsaWVudC5vblN0b21wRXJyb3IgPSAoZnJhbWUpID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcignQnJva2VyIHJlcG9ydGVkIGVycm9yOiAnICsgZnJhbWUuaGVhZGVyc1snbWVzc2FnZSddKTtcclxuICAgICAgY29uc29sZS5lcnJvcignQWRkaXRpb25hbCBkZXRhaWxzOiAnICsgZnJhbWUuYm9keSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdBY3RpdmF0aW5nIHN0b21wIGNsaWVudCcpO1xyXG4gICAgdGhpcy5zdG9tcENsaWVudC5hY3RpdmF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0U2VjdGlvbklkcyA9IG5vdGlmaWNhdGlvbi50YXJnZXRTZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiBzZWN0aW9uLmlkKTtcclxuICAgIGNvbnN0IHVzZXJTZWN0aW9uSWRzID0gdGhpcy51c2VyLnBlcm1pc3Npb25zLm1hcChwZXJtaXNzaW9uID0+IHBlcm1pc3Npb24uc2VjdGlvbklkKTtcclxuXHJcbiAgICBpZiAodGFyZ2V0U2VjdGlvbklkcy5zb21lKCh0YXJnZXRTZWN0aW9uSWQpID0+IHVzZXJTZWN0aW9uSWRzLmluY2x1ZGVzKHRhcmdldFNlY3Rpb25JZCkpKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KG5vdGlmaWNhdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoUGVyc29uYWxOb3RpZmljYXRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25BcGlTZXJ2aWNlLmdldFBlcnNvbmFsTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZShwZXJzb25hbE5vdGlmaWNhdGlvbnMgPT4ge1xyXG4gICAgICBwZXJzb25hbE5vdGlmaWNhdGlvbnMuZm9yRWFjaChwZXJzb25hbE5vdGlmaWNhdGlvbiA9PiB7XHJcbiAgICAgICAgdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvblN1YmplY3QubmV4dChwZXJzb25hbE5vdGlmaWNhdGlvbik7XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFja1BlcnNvbmFsTm90aWZpY2F0aW9uKHBlcnNvbmFsTm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25BcGlTZXJ2aWNlLmFja1BlcnNvbmFsTm90aWZpY2F0aW9uKHBlcnNvbmFsTm90aWZpY2F0aW9uSWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciB3aGlsZSBhY2tub3dsZWRnaW5nIHBlcnNvbmFsIG5vdGlmaWNhdGlvbiAke3BlcnNvbmFsTm90aWZpY2F0aW9uSWR9YCwgZXJyb3IpOyAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRQZXJzb25hbE5vdGlmaWNhdGlvbih1c2VySWRzOiBudW1iZXJbXSwgdGl0bGU6IHN0cmluZywgbWVzc2FnZUZyOiBzdHJpbmcsIG1lc3NhZ2VFbjogc3RyaW5nLCBtZXNzYWdlRGU6IHN0cmluZywgcHJpb3JpdHk6IFBlcnNvbmFsTm90aWZpY2F0aW9uUHJpb3JpdHlFbnVtLCByb3V0ZTogc3RyaW5nKTogdm9pZHtcclxuICAgIGNvbnN0IGJvZHk6IFBlcnNvbmFsTm90aWZpY2F0aW9uQ2FtcGFpZ25Nb2RlbCA9IHtcclxuICAgICAgdXNlcklkcyxcclxuICAgICAgbWVzc2FnZUZyLFxyXG4gICAgICBtZXNzYWdlRW4sXHJcbiAgICAgIG1lc3NhZ2VEZSxcclxuICAgICAgcHJpb3JpdHksXHJcbiAgICAgIHJvdXRlLFxyXG4gICAgICB0aXRsZVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbkFwaVNlcnZpY2UucG9zdFBlcnNvbmFsTm90aWZpY2F0aW9uQ2FtcGFpZ24oYm9keSkuc3Vic2NyaWJlKHtcclxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdoaWxlIHBvc3RpbmcgcGVyc29uYWwgbm90aWZpY2F0aW9uJywge1xyXG4gICAgICAgICAgYm9keSxcclxuICAgICAgICAgIGVycm9yXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaXNjb25uZWN0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSByZXR1cm47XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnN0b21wQ2xpZW50LmRlYWN0aXZhdGUoKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVNsRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxvQkFBb0IsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyw4QkFBOEIsQ0FBQztBQUsxRSxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQWlELE1BQWMsRUFDbEMsc0JBQThDLEVBQzlDLFlBQWlDLEVBQ3pDLFdBQXdCO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVpyQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekIsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQW9CLElB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R0g7SUFBZCxJQUFJLEVBQUU7aURBQXdCOzRGQURwQixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFhYyxNQUFNOzJCQUFDLFVBQVU7MElBWGYsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGllbnQsIE1lc3NhZ2UgfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgU29ja0pTIGZyb20gJ3NvY2tqcy1jbGllbnQnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy91c2VyLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IENvbmZpZywgV0VCX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZGVsLCBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL25vdGlmaWNhdGlvbi1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQZXJzb25hbE5vdGlmaWNhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUGVyc29uYWxOb3RpZmljYXRpb25DYW1wYWlnbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9wZXJzb25hbC1ub3RpZmljYXRpb24tY2FtcGFpZ24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUGVyc29uYWxOb3RpZmljYXRpb25Qcmlvcml0eUVudW0gfSBmcm9tIFwiLi4vLi4vZW51bXMvcGVyc29uYWwtbm90aWZpY2F0aW9uLXByaW9yaXR5LmVudW1cIjtcclxuXHJcbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fV0VCU09DS0VUX1VSTCA9ICcvYXV0aG9yaXphdGlvbi1hcGkvd3MnO1xyXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1RPUElDID0gJy90b3BpYy9ub3RpZmljYXRpb24nO1xyXG5leHBvcnQgY29uc3QgQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSA9ICdhY2tlZE5vdGlmaWNhdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBFUlNPTkFMX05PVElGSUNBVElPTl9UT1BJQyA9ICcvdG9waWMvcGVyc29uYWwtbm90aWZpY2F0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcclxuICBAVXNlcigpIHB1YmxpYyB1c2VyOiBVc2VyTW9kZWw7XHJcblxyXG4gIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vdGlmaWNhdGlvbk1vZGVsPihudWxsKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHBlcnNvbmFsTm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbD4obnVsbCk7XHJcblxyXG4gIC8vIE9ic2VydmFibGUgZm9yIGNvbXBvbmVudHMgdG8gc3Vic2NyaWJlIHRvIG1lc3NhZ2VzXHJcbiAgcHVibGljIG5vdGlmaWNhdGlvbnMkID0gdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHB1YmxpYyBwZXJzb25hbE5vdGlmaWNhdGlvbnMkID0gdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZyxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFwaVNlcnZpY2U6IE5vdGlmaWNhdGlvbkFwaVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgICBhdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQkLnN1YnNjcmliZShpc0F1dGhlbnRpY2F0ZWQgPT4ge1xyXG4gICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgICAgdGhpcy5mZXRjaExpdmVOb3RpZmljYXRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5mZXRjaFBlcnNvbmFsTm90aWZpY2F0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ob3RpZmljYXRpb25zKHRoaXMuY29uZmlnLmFwaV91cmwgKyBOT1RJRklDQVRJT05fV0VCU09DS0VUX1VSTCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XHJcbiAgICBjb25zdCBhY2tlZE5vdGlmaWNhdGlvbnM6IG51bWJlcltdID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVkpID8/IFtdO1xyXG4gICAgYWNrZWROb3RpZmljYXRpb25zLnB1c2gobm90aWZpY2F0aW9uLmlkKTtcclxuICAgIHRoaXMubG9jYWxTdG9yYWdlLnBvc3QoQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSwgYWNrZWROb3RpZmljYXRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hMaXZlTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uQXBpU2VydmljZS5nZXRMaXZlTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZShub3RpZmljYXRpb25zID0+IHtcclxuICAgICAgY29uc3QgbGl2ZU5vdGlmaWNhdGlvbklkcyA9IG5vdGlmaWNhdGlvbnMubWFwKG5vdGlmaWNhdGlvbiA9PiBub3RpZmljYXRpb24uaWQpO1xyXG5cclxuICAgICAgLy8gQ2xlYXIgdXAgYW55IGFja2VkIG5vdGlmaWNhdGlvbnMgdGhhdCBoYXZlIGV4cGlyZWQgKG5vIGxvbmdlciBsaXZlKVxyXG4gICAgICBsZXQgYWNrZWROb3RpZmljYXRpb25zOiBudW1iZXJbXSA9IHRoaXMubG9jYWxTdG9yYWdlLmdldChBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZKSA/PyBbXTtcclxuICAgICAgYWNrZWROb3RpZmljYXRpb25zID0gYWNrZWROb3RpZmljYXRpb25zLmZpbHRlcihhY2tlZE5vdGlmaWNhdGlvbklkID0+IGxpdmVOb3RpZmljYXRpb25JZHMuaW5kZXhPZihhY2tlZE5vdGlmaWNhdGlvbklkKSA+PSAwKVxyXG4gICAgICB0aGlzLmxvY2FsU3RvcmFnZS5wb3N0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVksIGFja2VkTm90aWZpY2F0aW9ucyk7XHJcblxyXG4gICAgICAvLyBIYW5kbGUgbmV3IG5vdGlmaWNhdGlvbnNcclxuICAgICAgbm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9uID0+IG5vdGlmaWNhdGlvbi5wdWJsaXNoZWQpXHJcbiAgICAgICAgLmZpbHRlcihub3RpZmljYXRpb24gPT4gYWNrZWROb3RpZmljYXRpb25zLmluZGV4T2Yobm90aWZpY2F0aW9uLmlkKSA9PT0gLTEpXHJcbiAgICAgICAgLmZvckVhY2gobm90aWZpY2F0aW9uID0+IHRoaXMuaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvTm90aWZpY2F0aW9ucyh3c0FwaVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RhcnQgbGlzdGVuaW5nIGZvciBuZXcgbm90aWZpY2F0aW9uc1xyXG4gICAgY29uc3Qgc29ja2V0ID0gbmV3IFNvY2tKUyh3c0FwaVVybCk7IC8vIEluaXRpYWxpemUgdGhlIFNvY2tKUyBXZWJTb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyXHJcblxyXG4gICAgLy8gQ29uZmlndXJlIHRoZSBTVE9NUCBjbGllbnQgd2l0aCBjb25uZWN0aW9uIGRldGFpbHNcclxuICAgIHRoaXMuc3RvbXBDbGllbnQgPSBuZXcgQ2xpZW50KHtcclxuICAgICAgd2ViU29ja2V0RmFjdG9yeTogKCkgPT4gc29ja2V0LCAvLyBVc2UgU29ja0pTIGFzIHRoZSBXZWJTb2NrZXQgZmFjdG9yeVxyXG4gICAgICByZWNvbm5lY3REZWxheTogNTAwMCwgLy8gUmVjb25uZWN0IGRlbGF5IGlmIGNvbm5lY3Rpb24gaXMgbG9zdFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBpbml0aWFsaXplIHN0b21wIGNsaWVudCcpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT24gc3VjY2Vzc2Z1bCBjb25uZWN0aW9uXHJcbiAgICB0aGlzLnN0b21wQ2xpZW50Lm9uQ29ubmVjdCA9ICgpID0+IHtcclxuICAgICAgLy8gUmVnaXN0ZXIgbm90aWZpY2F0aW9uIGNhbGxiYWNrXHJcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuc3Vic2NyaWJlKE5PVElGSUNBVElPTl9UT1BJQywgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcclxuICAgICAgICBjb25zdCBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsID0gSlNPTi5wYXJzZShtZXNzYWdlLmJvZHkpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbik7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9tcENsaWVudD8uc3Vic2NyaWJlKFBFUlNPTkFMX05PVElGSUNBVElPTl9UT1BJQywgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcclxuICAgICAgICBjb25zdCBwZXJzb25hbE5vdGlmaWNhdGlvbjogUGVyc29uYWxOb3RpZmljYXRpb25Nb2RlbCA9IEpTT04ucGFyc2UobWVzc2FnZS5ib2R5KTtcclxuICAgICAgICBpZihwZXJzb25hbE5vdGlmaWNhdGlvbi51c2VySWQgPT09IHRoaXMudXNlci5pZCkge1xyXG4gICAgICAgICAgdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvblN1YmplY3QubmV4dChwZXJzb25hbE5vdGlmaWNhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zdG9tcENsaWVudC5vblN0b21wRXJyb3IgPSAoZnJhbWUpID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcignQnJva2VyIHJlcG9ydGVkIGVycm9yOiAnICsgZnJhbWUuaGVhZGVyc1snbWVzc2FnZSddKTtcclxuICAgICAgY29uc29sZS5lcnJvcignQWRkaXRpb25hbCBkZXRhaWxzOiAnICsgZnJhbWUuYm9keSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdBY3RpdmF0aW5nIHN0b21wIGNsaWVudCcpO1xyXG4gICAgdGhpcy5zdG9tcENsaWVudC5hY3RpdmF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0U2VjdGlvbklkcyA9IG5vdGlmaWNhdGlvbi50YXJnZXRTZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiBzZWN0aW9uLmlkKTtcclxuICAgIGNvbnN0IHVzZXJTZWN0aW9uSWRzID0gdGhpcy51c2VyLnBlcm1pc3Npb25zLm1hcChwZXJtaXNzaW9uID0+IHBlcm1pc3Npb24uc2VjdGlvbklkKTtcclxuXHJcbiAgICBpZiAodGFyZ2V0U2VjdGlvbklkcy5zb21lKCh0YXJnZXRTZWN0aW9uSWQpID0+IHVzZXJTZWN0aW9uSWRzLmluY2x1ZGVzKHRhcmdldFNlY3Rpb25JZCkpKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KG5vdGlmaWNhdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoUGVyc29uYWxOb3RpZmljYXRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25BcGlTZXJ2aWNlLmdldFBlcnNvbmFsTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZShwZXJzb25hbE5vdGlmaWNhdGlvbnMgPT4ge1xyXG4gICAgICBwZXJzb25hbE5vdGlmaWNhdGlvbnMuZm9yRWFjaChwZXJzb25hbE5vdGlmaWNhdGlvbiA9PiB7XHJcbiAgICAgICAgdGhpcy5wZXJzb25hbE5vdGlmaWNhdGlvblN1YmplY3QubmV4dChwZXJzb25hbE5vdGlmaWNhdGlvbik7XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFja1BlcnNvbmFsTm90aWZpY2F0aW9uKHBlcnNvbmFsTm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25BcGlTZXJ2aWNlLmFja1BlcnNvbmFsTm90aWZpY2F0aW9uKHBlcnNvbmFsTm90aWZpY2F0aW9uSWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciB3aGlsZSBhY2tub3dsZWRnaW5nIHBlcnNvbmFsIG5vdGlmaWNhdGlvbiAke3BlcnNvbmFsTm90aWZpY2F0aW9uSWR9YCwgZXJyb3IpOyAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1hcmtBc1JlYWRQZXJzb25hbE5vdGlmaWNhdGlvbihwZXJzb25hbE5vdGlmaWNhdGlvbklkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uQXBpU2VydmljZS5tYXJrQXNSZWFkUGVyc29uYWxOb3RpZmljYXRpb24ocGVyc29uYWxOb3RpZmljYXRpb25JZCkuc3Vic2NyaWJlKHtcclxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHdoaWxlIG1hcmsgYXMgcmVhZCBwZXJzb25hbCBub3RpZmljYXRpb24gJHtwZXJzb25hbE5vdGlmaWNhdGlvbklkfWAsIGVycm9yKTsgICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc2VuZFBlcnNvbmFsTm90aWZpY2F0aW9uKHVzZXJJZHM6IG51bWJlcltdLCB0aXRsZTogc3RyaW5nLCBtZXNzYWdlRnI6IHN0cmluZywgbWVzc2FnZUVuOiBzdHJpbmcsIG1lc3NhZ2VEZTogc3RyaW5nLCBwcmlvcml0eTogUGVyc29uYWxOb3RpZmljYXRpb25Qcmlvcml0eUVudW0sIHJvdXRlOiBzdHJpbmcpOiB2b2lke1xyXG4gICAgY29uc3QgYm9keTogUGVyc29uYWxOb3RpZmljYXRpb25DYW1wYWlnbk1vZGVsID0ge1xyXG4gICAgICB1c2VySWRzLFxyXG4gICAgICBtZXNzYWdlRnIsXHJcbiAgICAgIG1lc3NhZ2VFbixcclxuICAgICAgbWVzc2FnZURlLFxyXG4gICAgICBwcmlvcml0eSxcclxuICAgICAgcm91dGUsXHJcbiAgICAgIHRpdGxlXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubm90aWZpY2F0aW9uQXBpU2VydmljZS5wb3N0UGVyc29uYWxOb3RpZmljYXRpb25DYW1wYWlnbihib2R5KS5zdWJzY3JpYmUoe1xyXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igd2hpbGUgcG9zdGluZyBwZXJzb25hbCBub3RpZmljYXRpb24nLCB7XHJcbiAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgZXJyb3JcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpc2Nvbm5lY3QoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc3RvbXBDbGllbnQpIHJldHVybjtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuZGVhY3RpdmF0ZSgpO1xyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgdGhpcy5zdG9tcENsaWVudCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==