vcomply-workflow-engine 6.1.71 → 6.1.73

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.
@@ -1,11 +1,13 @@
1
1
  import { Component, Input, Optional } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { PopoverModule } from '../popover/popover.module';
4
+ import { TooltipModule } from '../tooltip/tooltip.module';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../configurations";
6
7
  import * as i2 from "@angular/common";
7
8
  import * as i3 from "../popover/popover.component";
8
9
  import * as i4 from "../popover/popover.directive";
10
+ import * as i5 from "../tooltip/tooltip.directive";
9
11
  export class AvatarV2Component {
10
12
  constructor(config) {
11
13
  this.avatarList = [];
@@ -36,11 +38,11 @@ export class AvatarV2Component {
36
38
  }
37
39
  }
38
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarV2Component, deps: [{ token: i1.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvatarV2Component, isStandalone: true, selector: "lib-avatar-v2", inputs: { avatarList: "avatarList", type: "type" }, ngImport: i0, template: "<div class=\"vx-avatar-group \">\n\n <ng-container *ngFor=\"let eachAvatar of avatarList | slice:0:sliceCount\">\n <div class=\"vx-avatar md\">\n <img *ngIf=\"eachAvatar?.imagePath; else avatar\" [src]=\"imagePath + eachAvatar?.imagePath\"\n [alt]=\"eachAvatar?.shortName\" [appTooltip]=\"eaeachAvatar?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\" />\n <ng-template #avatar>\n <span *ngIf=\"!eachAvatar?.avatar\" [appTooltip]=\"eachAvatar?.name\" [tooltipMandatory]=\"true\"\n class=\"blue\">{{ eachAvatar?.shortName\n }}</span>\n </ng-template>\n </div>\n\n </ng-container>\n <div *ngIf=\"showPopover \" appPopover (click)=\"users.popover()\" placement=\"left\" class=\"vx-avatar md multi-user\">\n <span class=\"user\">\n <i class=\"icons user-icons vx-fs-12\">&#xea35;</i>\n <span class=\"count vx-txt-white vx-d-flex vx-align-center vx-justify-center\">{{ avatarList?.length -\n popoverSliceCount\n }}</span>\n </span>\n </div>\n\n\n</div>\n\n<app-popover #users>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of avatarList | slice: popoverSliceCount\" appTooltip=\"{{ user?.name }}\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <div class=\"avatar-card\">\n <div class=\"avatar\">\n <ng-container *ngIf=\"!user?.avatar\">{{\n user?.shortName\n }}</ng-container>\n <img *ngIf=\"user?.avatar\" [src]=\"user?.avatar\" alt=\"\" width=\"24\" height=\"24\" />\n </div>\n <span class=\"value\">{{ user?.name }}</span>\n </div>\n </li>\n </ul>\n </div>\n</app-popover>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";.multi-user{background:#f9f9fa;border:2px solid #F2F2F5}.multi-user .user{background:transparent;position:relative;cursor:pointer}.multi-user .user .user-icons{color:#565a6f;position:absolute}.multi-user .user .count{background:#1e5dd3;border:2px solid #FFFFFF;border-radius:20px;min-width:1.125rem;height:1rem;position:absolute;top:unset;bottom:-.125rem;right:-10px;width:auto;padding:0 .125rem;font-size:9px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvatarV2Component, isStandalone: true, selector: "lib-avatar-v2", inputs: { avatarList: "avatarList", type: "type" }, ngImport: i0, template: "<div class=\"vx-avatar-group \">\n\n <ng-container *ngFor=\"let eachAvatar of avatarList | slice:0:sliceCount\">\n <div class=\"vx-avatar md\">\n <img *ngIf=\"eachAvatar?.imagePath; else avatar\" [src]=\"imagePath + eachAvatar?.imagePath\"\n [alt]=\"eachAvatar?.shortName\" [appTooltip]=\"eaeachAvatar?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\" />\n <ng-template #avatar>\n <span *ngIf=\"!eachAvatar?.avatar\" [appTooltip]=\"eachAvatar?.name\" [tooltipMandatory]=\"true\"\n class=\"blue\">{{ eachAvatar?.shortName\n }}</span>\n </ng-template>\n </div>\n\n </ng-container>\n <div *ngIf=\"showPopover \" appPopover (click)=\"users.popover()\" placement=\"left\" class=\"vx-avatar md multi-user\">\n <span class=\"user\">\n <i class=\"icons user-icons vx-fs-12\">&#xea35;</i>\n <span class=\"count vx-txt-white vx-d-flex vx-align-center vx-justify-center\">{{ avatarList?.length -\n popoverSliceCount\n }}</span>\n </span>\n </div>\n\n\n</div>\n\n<app-popover #users>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of avatarList | slice: popoverSliceCount\" appTooltip=\"{{ user?.name }}\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <div class=\"avatar-card\">\n <div class=\"avatar\">\n <ng-container *ngIf=\"!user?.avatar\">{{\n user?.shortName\n }}</ng-container>\n <img *ngIf=\"user?.avatar\" [src]=\"user?.avatar\" alt=\"\" width=\"24\" height=\"24\" />\n </div>\n <span class=\"value\">{{ user?.name }}</span>\n </div>\n </li>\n </ul>\n </div>\n</app-popover>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";.multi-user{background:#f9f9fa;border:2px solid #F2F2F5}.multi-user .user{background:transparent;position:relative;cursor:pointer}.multi-user .user .user-icons{color:#565a6f;position:absolute}.multi-user .user .count{background:#1e5dd3;border:2px solid #FFFFFF;border-radius:20px;min-width:1.125rem;height:1rem;position:absolute;top:unset;bottom:-.125rem;right:-10px;width:auto;padding:0 .125rem;font-size:9px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
40
42
  }
41
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarV2Component, decorators: [{
42
44
  type: Component,
43
- args: [{ selector: 'lib-avatar-v2', standalone: true, imports: [CommonModule, PopoverModule], template: "<div class=\"vx-avatar-group \">\n\n <ng-container *ngFor=\"let eachAvatar of avatarList | slice:0:sliceCount\">\n <div class=\"vx-avatar md\">\n <img *ngIf=\"eachAvatar?.imagePath; else avatar\" [src]=\"imagePath + eachAvatar?.imagePath\"\n [alt]=\"eachAvatar?.shortName\" [appTooltip]=\"eaeachAvatar?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\" />\n <ng-template #avatar>\n <span *ngIf=\"!eachAvatar?.avatar\" [appTooltip]=\"eachAvatar?.name\" [tooltipMandatory]=\"true\"\n class=\"blue\">{{ eachAvatar?.shortName\n }}</span>\n </ng-template>\n </div>\n\n </ng-container>\n <div *ngIf=\"showPopover \" appPopover (click)=\"users.popover()\" placement=\"left\" class=\"vx-avatar md multi-user\">\n <span class=\"user\">\n <i class=\"icons user-icons vx-fs-12\">&#xea35;</i>\n <span class=\"count vx-txt-white vx-d-flex vx-align-center vx-justify-center\">{{ avatarList?.length -\n popoverSliceCount\n }}</span>\n </span>\n </div>\n\n\n</div>\n\n<app-popover #users>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of avatarList | slice: popoverSliceCount\" appTooltip=\"{{ user?.name }}\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <div class=\"avatar-card\">\n <div class=\"avatar\">\n <ng-container *ngIf=\"!user?.avatar\">{{\n user?.shortName\n }}</ng-container>\n <img *ngIf=\"user?.avatar\" [src]=\"user?.avatar\" alt=\"\" width=\"24\" height=\"24\" />\n </div>\n <span class=\"value\">{{ user?.name }}</span>\n </div>\n </li>\n </ul>\n </div>\n</app-popover>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";.multi-user{background:#f9f9fa;border:2px solid #F2F2F5}.multi-user .user{background:transparent;position:relative;cursor:pointer}.multi-user .user .user-icons{color:#565a6f;position:absolute}.multi-user .user .count{background:#1e5dd3;border:2px solid #FFFFFF;border-radius:20px;min-width:1.125rem;height:1rem;position:absolute;top:unset;bottom:-.125rem;right:-10px;width:auto;padding:0 .125rem;font-size:9px}\n"] }]
45
+ args: [{ selector: 'lib-avatar-v2', standalone: true, imports: [CommonModule, PopoverModule, TooltipModule], template: "<div class=\"vx-avatar-group \">\n\n <ng-container *ngFor=\"let eachAvatar of avatarList | slice:0:sliceCount\">\n <div class=\"vx-avatar md\">\n <img *ngIf=\"eachAvatar?.imagePath; else avatar\" [src]=\"imagePath + eachAvatar?.imagePath\"\n [alt]=\"eachAvatar?.shortName\" [appTooltip]=\"eaeachAvatar?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\" />\n <ng-template #avatar>\n <span *ngIf=\"!eachAvatar?.avatar\" [appTooltip]=\"eachAvatar?.name\" [tooltipMandatory]=\"true\"\n class=\"blue\">{{ eachAvatar?.shortName\n }}</span>\n </ng-template>\n </div>\n\n </ng-container>\n <div *ngIf=\"showPopover \" appPopover (click)=\"users.popover()\" placement=\"left\" class=\"vx-avatar md multi-user\">\n <span class=\"user\">\n <i class=\"icons user-icons vx-fs-12\">&#xea35;</i>\n <span class=\"count vx-txt-white vx-d-flex vx-align-center vx-justify-center\">{{ avatarList?.length -\n popoverSliceCount\n }}</span>\n </span>\n </div>\n\n\n</div>\n\n<app-popover #users>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of avatarList | slice: popoverSliceCount\" appTooltip=\"{{ user?.name }}\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <div class=\"avatar-card\">\n <div class=\"avatar\">\n <ng-container *ngIf=\"!user?.avatar\">{{\n user?.shortName\n }}</ng-container>\n <img *ngIf=\"user?.avatar\" [src]=\"user?.avatar\" alt=\"\" width=\"24\" height=\"24\" />\n </div>\n <span class=\"value\">{{ user?.name }}</span>\n </div>\n </li>\n </ul>\n </div>\n</app-popover>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";.multi-user{background:#f9f9fa;border:2px solid #F2F2F5}.multi-user .user{background:transparent;position:relative;cursor:pointer}.multi-user .user .user-icons{color:#565a6f;position:absolute}.multi-user .user .count{background:#1e5dd3;border:2px solid #FFFFFF;border-radius:20px;min-width:1.125rem;height:1rem;position:absolute;top:unset;bottom:-.125rem;right:-10px;width:auto;padding:0 .125rem;font-size:9px}\n"] }]
44
46
  }], ctorParameters: function () { return [{ type: i1.Configurations, decorators: [{
45
47
  type: Optional
46
48
  }] }]; }, propDecorators: { avatarList: [{
@@ -48,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
48
50
  }], type: [{
49
51
  type: Input
50
52
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC9hdmF0YXItdjIvYXZhdGFyLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC9hdmF0YXItdjIvYXZhdGFyLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFVMUQsTUFBTSxPQUFPLGlCQUFpQjtJQVE3QixZQUE0QixNQUF1QjtRQVAxQyxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLFNBQUksR0FBcUMsY0FBYyxDQUFDO1FBQ2pFLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcscUJBQXFCLENBQUM7SUFDL0UsQ0FBQztJQUVBLFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7YUFDMUI7U0FDRjtJQUNILENBQUM7K0dBL0JVLGlCQUFpQjttR0FBakIsaUJBQWlCLDZIQ1o5Qiw4L0RBNENjLCtoQkRwQ0YsWUFBWSxvVEFBRSxhQUFhOzs0RkFJMUIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDOzswQkFZdEIsUUFBUTs0Q0FQaEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hdmF0YXItdjInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQb3BvdmVyTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci12Mi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F2YXRhci12Mi5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiBASW5wdXQoKSBhdmF0YXJMaXN0OiBhbnlbXSA9IFtdO1xuIEBJbnB1dCgpIHR5cGU6ICdTSU5HTEVfQVZBVEFSJyB8ICdNVUxUSV9BVkFUQVInID0gJ01VTFRJX0FWQVRBUic7XG4gaW1hZ2VQYXRoOiBzdHJpbmcgPSAnJztcbiBlbnY6IGFueTtcbiBzbGljZUNvdW50OiBudW1iZXIgPSAzO1xuIHBvcG92ZXJTbGljZUNvdW50OiBudW1iZXIgPSAzO1xuIHNob3dQb3BvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gY29uc3RydWN0b3IoICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4pIHtcbiAgdGhpcy5lbnYgPSBjb25maWc/LmVudkNvbmZpZztcbiAgdGhpcy5pbWFnZVBhdGggPSB0aGlzLmVudj8uczNVcmwgKyB0aGlzLmVudj8uczNCdWNrZXQgKyAnL3Byb2ZpbGVfcGljL3RodW1iLyc7XG4gfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5nZXRTbGljZUNvdW50KCk7XG4gIH1cblxuXG4gIGdldFNsaWNlQ291bnQoKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ1NJTkdMRV9BVkFUQVInICYmIHRoaXMuYXZhdGFyTGlzdD8ubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5zbGljZUNvdW50ID0gMDtcbiAgICAgIHRoaXMucG9wb3ZlclNsaWNlQ291bnQgPSAwO1xuICAgICAgdGhpcy5zaG93UG9wb3ZlciA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmKHRoaXMuYXZhdGFyTGlzdD8ubGVuZ3RoID4gMykge1xuICAgICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInZ4LWF2YXRhci1ncm91cCBcIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVhY2hBdmF0YXIgb2YgYXZhdGFyTGlzdCB8IHNsaWNlOjA6c2xpY2VDb3VudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyIG1kXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiZWFjaEF2YXRhcj8uaW1hZ2VQYXRoOyBlbHNlIGF2YXRhclwiIFtzcmNdPVwiaW1hZ2VQYXRoICsgZWFjaEF2YXRhcj8uaW1hZ2VQYXRoXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImVhY2hBdmF0YXI/LnNob3J0TmFtZVwiIFthcHBUb29sdGlwXT1cImVhZWFjaEF2YXRhcj8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWVhY2hBdmF0YXI/LmF2YXRhclwiIFthcHBUb29sdGlwXT1cImVhY2hBdmF0YXI/Lm5hbWVcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibHVlXCI+e3sgZWFjaEF2YXRhcj8uc2hvcnROYW1lXG4gICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcG92ZXIgXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwidXNlcnMucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiIGNsYXNzPVwidngtYXZhdGFyIG1kIG11bHRpLXVzZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHVzZXItaWNvbnMgdngtZnMtMTJcIj4mI3hlYTM1OzwvaT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnQgdngtdHh0LXdoaXRlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj57eyBhdmF0YXJMaXN0Py5sZW5ndGggLVxuICAgICAgICAgICAgICAgIHBvcG92ZXJTbGljZUNvdW50XG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuXG48L2Rpdj5cblxuPGFwcC1wb3BvdmVyICN1c2Vycz5cbiAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdXNlciBvZiBhdmF0YXJMaXN0IHwgc2xpY2U6IHBvcG92ZXJTbGljZUNvdW50XCIgYXBwVG9vbHRpcD1cInt7IHVzZXI/Lm5hbWUgfX1cIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVzZXI/LmF2YXRhclwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uc2hvcnROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJ1c2VyPy5hdmF0YXJcIiBbc3JjXT1cInVzZXI/LmF2YXRhclwiIGFsdD1cIlwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgdXNlcj8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2FwcC1wb3BvdmVyPiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC9hdmF0YXItdjIvYXZhdGFyLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC9hdmF0YXItdjIvYXZhdGFyLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQVMxRCxNQUFNLE9BQU8saUJBQWlCO0lBUTdCLFlBQTRCLE1BQXVCO1FBUDFDLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsU0FBSSxHQUFxQyxjQUFjLENBQUM7UUFDakUsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc1QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sRUFBRSxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQztJQUMvRSxDQUFDO0lBRUEsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR0QsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7YUFBTTtZQUNMLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQzsrR0EvQlUsaUJBQWlCO21HQUFqQixpQkFBaUIsNkhDYjlCLDgvREE0Q2MsK2hCRG5DRixZQUFZLG9UQUFFLGFBQWEsc1JBQUUsYUFBYTs7NEZBSXpDLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUM7OzBCQVlyQyxRQUFROzRDQVBoQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWF2YXRhci12MicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBvcG92ZXJNb2R1bGUsIFRvb2x0aXBNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLXYyLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuIEBJbnB1dCgpIGF2YXRhckxpc3Q6IGFueVtdID0gW107XG4gQElucHV0KCkgdHlwZTogJ1NJTkdMRV9BVkFUQVInIHwgJ01VTFRJX0FWQVRBUicgPSAnTVVMVElfQVZBVEFSJztcbiBpbWFnZVBhdGg6IHN0cmluZyA9ICcnO1xuIGVudjogYW55O1xuIHNsaWNlQ291bnQ6IG51bWJlciA9IDM7XG4gcG9wb3ZlclNsaWNlQ291bnQ6IG51bWJlciA9IDM7XG4gc2hvd1BvcG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiBjb25zdHJ1Y3RvciggICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcbikge1xuICB0aGlzLmVudiA9IGNvbmZpZz8uZW52Q29uZmlnO1xuICB0aGlzLmltYWdlUGF0aCA9IHRoaXMuZW52Py5zM1VybCArIHRoaXMuZW52Py5zM0J1Y2tldCArICcvcHJvZmlsZV9waWMvdGh1bWIvJztcbiB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLmdldFNsaWNlQ291bnQoKTtcbiAgfVxuXG5cbiAgZ2V0U2xpY2VDb3VudCgpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnU0lOR0xFX0FWQVRBUicgJiYgdGhpcy5hdmF0YXJMaXN0Py5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnNsaWNlQ291bnQgPSAwO1xuICAgICAgdGhpcy5wb3BvdmVyU2xpY2VDb3VudCA9IDA7XG4gICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYodGhpcy5hdmF0YXJMaXN0Py5sZW5ndGggPiAzKSB7XG4gICAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93UG9wb3ZlciA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwidngtYXZhdGFyLWdyb3VwIFwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWFjaEF2YXRhciBvZiBhdmF0YXJMaXN0IHwgc2xpY2U6MDpzbGljZUNvdW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXIgbWRcIj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJlYWNoQXZhdGFyPy5pbWFnZVBhdGg7IGVsc2UgYXZhdGFyXCIgW3NyY109XCJpbWFnZVBhdGggKyBlYWNoQXZhdGFyPy5pbWFnZVBhdGhcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwiZWFjaEF2YXRhcj8uc2hvcnROYW1lXCIgW2FwcFRvb2x0aXBdPVwiZWFlYWNoQXZhdGFyPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIiAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhdmF0YXI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZWFjaEF2YXRhcj8uYXZhdGFyXCIgW2FwcFRvb2x0aXBdPVwiZWFjaEF2YXRhcj8ubmFtZVwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsdWVcIj57eyBlYWNoQXZhdGFyPy5zaG9ydE5hbWVcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93UG9wb3ZlciBcIiBhcHBQb3BvdmVyIChjbGljayk9XCJ1c2Vycy5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWQgbXVsdGktdXNlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXJcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdXNlci1pY29ucyB2eC1mcy0xMlwiPiYjeGVhMzU7PC9pPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPnt7IGF2YXRhckxpc3Q/Lmxlbmd0aCAtXG4gICAgICAgICAgICAgICAgcG9wb3ZlclNsaWNlQ291bnRcbiAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG5cbjwvZGl2PlxuXG48YXBwLXBvcG92ZXIgI3VzZXJzPlxuICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB1c2VyIG9mIGF2YXRhckxpc3QgfCBzbGljZTogcG9wb3ZlclNsaWNlQ291bnRcIiBhcHBUb29sdGlwPVwie3sgdXNlcj8ubmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdXNlcj8uYXZhdGFyXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPy5zaG9ydE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInVzZXI/LmF2YXRhclwiIFtzcmNdPVwidXNlcj8uYXZhdGFyXCIgYWx0PVwiXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj57eyB1c2VyPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvYXBwLXBvcG92ZXI+Il19
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
153
153
  type: HostListener,
154
154
  args: ['click']
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi91aS1raXQvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxZQUFZLEdBS2IsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTHRELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRzVCLFdBQU0sR0FBRyxDQUFDLENBQUM7SUFFdUQsQ0FBQztJQUNuRSxRQUFRLEtBQUksQ0FBQztJQUNlLFlBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUMwQixXQUFXO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFMkIsWUFBWTtRQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ3lCLFVBQVU7UUFDbEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNzQixPQUFPO1FBQzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxF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LFNBQVMsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7K0dBaklVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjt5SEFFc0IsWUFBWTtzQkFBaEMsS0FBSzt1QkFBQyxZQUFZO2dCQUNWLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFNc0IsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQUlDLFdBQVc7c0JBQXJDLFlBQVk7dUJBQUMsV0FBVztnQkFLRyxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBR0EsVUFBVTtzQkFBbkMsWUFBWTt1QkFBQyxVQUFVO2dCQUdELE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgUmVuZGVyZXIyLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBUb29sdGlwXScsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2FwcFRvb2x0aXAnKSB0b29sdGlwVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlbWVudCE6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogYW55O1xuICBASW5wdXQoKSB0b29sdGlwTWFuZGF0b3J5ITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXAgPSB0cnVlO1xuICBASW5wdXQoKSBhbmltYXRlITogYm9vbGVhbjtcbiAgdG9vbHRpcCE6IEhUTUxFbGVtZW50O1xuICBvZmZzZXQgPSA4O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cbiAgbmdPbkluaXQoKSB7fVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpIG9uTW91c2VPdmVyKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcpIG9uTW91c2VPdXQoKSB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG4gIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLnNob3dUb29sdGlwIHx8ICF0aGlzLnRvb2x0aXBUaXRsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZSgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMudG9vbHRpcE1hbmRhdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICd3Zi10b29sdGlwLXNob3cnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICBlbGVtZW50LnNjcm9sbFdpZHRoICogZWxlbWVudC5zY3JvbGxIZWlnaHQgPlxuICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoICogZWxlbWVudC5vZmZzZXRIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnd2YtdG9vbHRpcC1zaG93Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICBpZiAoZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLnRvb2x0aXApKSB7XG4gICAgICBpZiAodGhpcy5yZW5kZXJlcikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2x0aXAnKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZSgpIHtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICB0aGlzLnRvb2x0aXAuc2V0QXR0cmlidXRlKCdpZCcsICd0b29sdGlwJyk7XG4gICAgdGhpcy50b29sdGlwLmlubmVySFRNTCA9IHRoaXMudG9vbHRpcFRpdGxlO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3dmLXRvb2x0aXAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYHdmLXRvb2x0aXAtJHt0aGlzLnBsYWNlbWVudH1gKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYCR7dGhpcy50eXBlfWApO1xuICAgIGlmICh0aGlzLmFuaW1hdGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgYW5pbWF0ZS0ke3RoaXMucGxhY2VtZW50fWApO1xuICAgIH1cbiAgfVxuXG4gIHNldFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IGhvc3RQb3MgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdG9vbHRpcFBvcyA9IHRoaXMudG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzY3JvbGxQb3MgPVxuICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IHx8XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8XG4gICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fFxuICAgICAgMDtcbiAgICBjb25zdCB3ID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3QgaCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBsZXQgdG9wO1xuICAgIGxldCBsZWZ0O1xuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wIC0gdG9vbHRpcFBvcy5oZWlnaHQgLSB0aGlzLm9mZnNldDtcbiAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICBpZiAoaG9zdFBvcy50b3AgKyB0b29sdGlwUG9zLmhlaWdodCA+IGgpIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgYHdmLXRvb2x0aXAtYm90dG9tYCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgd2YtdG9vbHRpcC10b3BgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XG4gICAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgdG9wID0gaG9zdFBvcy50b3AgKyAoaG9zdFBvcy5oZWlnaHQgLSB0b29sdGlwUG9zLmhlaWdodCkgLyAyO1xuICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCAtIHRvb2x0aXBQb3Mud2lkdGggLSB0aGlzLm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgIGxlZnQgPSBob3N0UG9zLnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1yaWdodCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XG4gICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0IC0gKHRvb2x0aXBQb3Mud2lkdGggLSAyOCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1sZWZ0Jykge1xuICAgICAgaWYgKGhvc3RQb3MudG9wICsgdG9vbHRpcFBvcy5oZWlnaHQgPiBoIC0gMzApIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsIGB3Zi10b29sdGlwLWJvdHRvbS1sZWZ0YCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgd2YtdG9vbHRpcC10b3AtbGVmdGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy5ib3R0b20gKyB0aGlzLm9mZnNldDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3AgKyBzY3JvbGxQb3N9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gIH1cbn1cbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi91aS1raXQvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxZQUFZLEdBS2IsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTHRELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRzVCLFdBQU0sR0FBRyxDQUFDLENBQUM7SUFFdUQsQ0FBQztJQUNuRSxRQUFRLEtBQUksQ0FBQztJQUNlLFlBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUMwQixXQUFXO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFMkIsWUFBWTtRQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ3lCLFVBQVU7UUFDbEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNzQixPQUFPO1FBQzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxF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LFNBQVMsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7K0dBaklVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjt5SEFFc0IsWUFBWTtzQkFBaEMsS0FBSzt1QkFBQyxZQUFZO2dCQUNWLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFNc0IsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQUlDLFdBQVc7c0JBQXJDLFlBQVk7dUJBQUMsV0FBVztnQkFLRyxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBR0EsVUFBVTtzQkFBbkMsWUFBWTt1QkFBQyxVQUFVO2dCQUdELE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgUmVuZGVyZXIyLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBUb29sdGlwXScsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2FwcFRvb2x0aXAnKSB0b29sdGlwVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlbWVudCE6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogYW55O1xuICBASW5wdXQoKSB0b29sdGlwTWFuZGF0b3J5ITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXAgPSB0cnVlO1xuICBASW5wdXQoKSBhbmltYXRlITogYm9vbGVhbjtcbiAgdG9vbHRpcCE6IEhUTUxFbGVtZW50O1xuICBvZmZzZXQgPSA4O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cbiAgbmdPbkluaXQoKSB7fVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpIG9uTW91c2VPdmVyKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcpIG9uTW91c2VPdXQoKSB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG4gIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLnNob3dUb29sdGlwIHx8ICF0aGlzLnRvb2x0aXBUaXRsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZSgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMudG9vbHRpcE1hbmRhdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICd3Zi10b29sdGlwLXNob3cnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICBlbGVtZW50LnNjcm9sbFdpZHRoICogZWxlbWVudC5zY3JvbGxIZWlnaHQgPlxuICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoICogZWxlbWVudC5vZmZzZXRIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnd2YtdG9vbHRpcC1zaG93Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICBpZiAoZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLnRvb2x0aXApKSB7XG4gICAgICBpZiAodGhpcy5yZW5kZXJlcikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2x0aXAnKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZSgpIHtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICB0aGlzLnRvb2x0aXAuc2V0QXR0cmlidXRlKCdpZCcsICd0b29sdGlwJyk7XG4gICAgdGhpcy50b29sdGlwLmlubmVySFRNTCA9IHRoaXMudG9vbHRpcFRpdGxlO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3dmLXRvb2x0aXAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYHdmLXRvb2x0aXAtJHt0aGlzLnBsYWNlbWVudH1gKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYCR7dGhpcy50eXBlfWApO1xuICAgIGlmICh0aGlzLmFuaW1hdGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgYW5pbWF0ZS0ke3RoaXMucGxhY2VtZW50fWApO1xuICAgIH1cbiAgfVxuXG4gIHNldFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IGhvc3RQb3MgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdG9vbHRpcFBvcyA9IHRoaXMudG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzY3JvbGxQb3MgPVxuICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IHx8XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8XG4gICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fFxuICAgICAgMDtcbiAgICBjb25zdCB3ID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3QgaCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBsZXQgdG9wO1xuICAgIGxldCBsZWZ0O1xuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wIC0gdG9vbHRpcFBvcy5oZWlnaHQgLSB0aGlzLm9mZnNldDtcbiAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICBpZiAoaG9zdFBvcy50b3AgKyB0b29sdGlwUG9zLmhlaWdodCA+IGgpIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgYHdmLXRvb2x0aXAtYm90dG9tYCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgd2YtdG9vbHRpcC10b3BgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XG4gICAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgdG9wID0gaG9zdFBvcy50b3AgKyAoaG9zdFBvcy5oZWlnaHQgLSB0b29sdGlwUG9zLmhlaWdodCkgLyAyO1xuICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCAtIHRvb2x0aXBQb3Mud2lkdGggLSB0aGlzLm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgIGxlZnQgPSBob3N0UG9zLnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1yaWdodCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XG4gICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0IC0gKHRvb2x0aXBQb3Mud2lkdGggLSAyOCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1sZWZ0Jykge1xuICAgICAgaWYgKGhvc3RQb3MudG9wICsgdG9vbHRpcFBvcy5oZWlnaHQgPiBoIC0gMzApIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsIGB3Zi10b29sdGlwLWJvdHRvbS1sZWZ0YCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgd2YtdG9vbHRpcC10b3AtbGVmdGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy5ib3R0b20gKyB0aGlzLm9mZnNldDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3AgKyBzY3JvbGxQb3N9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gIH1cbn1cblxuIl19
@@ -6,6 +6,7 @@ import { PaginationModule } from '../../../../ui-kit/pagination/pagination.modul
6
6
  import { PopoverModule } from '../../../../ui-kit/popover/popover.module';
7
7
  import { TooltipModule } from '../../../../ui-kit/tooltip/tooltip.module';
8
8
  import { WorkflowPipesModule } from '../../workflow-pipes/workflow-pipes.module';
9
+ import { PipesModule } from 'projects/vx-workflow-engine/src/lib/pipes/pipes.module';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "../../../../configurations";
11
12
  import * as i2 from "@angular/common";
@@ -16,6 +17,7 @@ import * as i6 from "../../../../ui-kit/formgroup/cs-checkbox-indeterminate/cs-c
16
17
  import * as i7 from "../../../../ui-kit/tooltip/tooltip.directive";
17
18
  import * as i8 from "../../../../ui-kit/pagination/pagination/pagination.component";
18
19
  import * as i9 from "../../workflow-pipes/user-short-name.pipe";
20
+ import * as i10 from "../../../../pipes/search.pipe";
19
21
  export class GrcResponsibilityListingComponent {
20
22
  set getResponsibilityList(value) {
21
23
  this.dataList = value;
@@ -35,6 +37,7 @@ export class GrcResponsibilityListingComponent {
35
37
  this.MODE = 'CREATE';
36
38
  this.allSelectedResponsibilityIds = [];
37
39
  this.selectedProgramAndResp = [];
40
+ this.searchString = '';
38
41
  this.getUpdatedDataList = new EventEmitter();
39
42
  this.changeSelectedProgramAndResp = new EventEmitter();
40
43
  this.env = config?.envConfig;
@@ -163,7 +166,7 @@ export class GrcResponsibilityListingComponent {
163
166
  return [...Array.from(idSet)].filter((item) => Array.isArray(item) ? item.length > 0 : true);
164
167
  }
165
168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcResponsibilityListingComponent, deps: [{ token: i1.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeProgram: "activeProgram", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", MODE: "MODE", allSelectedResponsibilityIds: "allSelectedResponsibilityIds", getResponsibilityList: ["responsibilityData", "getResponsibilityList"], selectedProgramAndResp: "selectedProgramAndResp" }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedProgramAndResp: "changeSelectedProgramAndResp" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList?.data; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\">&#xea70;</i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponentUI, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i8.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i9.GetUserShortNamePipe, name: "userShortName" }] }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeProgram: "activeProgram", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", MODE: "MODE", allSelectedResponsibilityIds: "allSelectedResponsibilityIds", getResponsibilityList: ["responsibilityData", "getResponsibilityList"], selectedProgramAndResp: "selectedProgramAndResp", searchString: "searchString" }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedProgramAndResp: "changeSelectedProgramAndResp" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\"\n *ngFor=\"let list of dataList?.data | search: searchString : 'name' ; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\">&#xea70;</i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponentUI, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i8.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i9.GetUserShortNamePipe, name: "userShortName" }, { kind: "ngmodule", type: PipesModule }, { kind: "pipe", type: i10.SearchPipe, name: "search" }] }); }
167
170
  }
168
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcResponsibilityListingComponent, decorators: [{
169
172
  type: Component,
@@ -175,6 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
175
178
  FloatingBarModule,
176
179
  PaginationModule,
177
180
  WorkflowPipesModule,
181
+ PipesModule,
178
182
  ], inputs: [
179
183
  'tableCard',
180
184
  'activeProgram',
@@ -186,7 +190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
186
190
  'selectedListData',
187
191
  'selectedListDataIds',
188
192
  'MODE'
189
- ], template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList?.data; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\">&#xea70;</i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
193
+ ], template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\"\n *ngFor=\"let list of dataList?.data | search: searchString : 'name' ; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\">&#xea70;</i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
190
194
  }], ctorParameters: function () { return [{ type: i1.Configurations, decorators: [{
191
195
  type: Optional
192
196
  }] }]; }, propDecorators: { allSelectedResponsibilityIds: [{
@@ -196,9 +200,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
196
200
  args: ['responsibilityData']
197
201
  }], selectedProgramAndResp: [{
198
202
  type: Input
203
+ }], searchString: [{
204
+ type: Input
199
205
  }], getUpdatedDataList: [{
200
206
  type: Output
201
207
  }], changeSelectedProgramAndResp: [{
202
208
  type: Output
203
209
  }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7OztBQTZCakYsTUFBTSxPQUFPLGlDQUFpQztJQWtCNUMsSUFBaUMscUJBQXFCLENBQUMsS0FBVTtRQUMvRCxJQUFJLENBQUMsUUFBUSxH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LENBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdDLENBQUM7SUFDSixDQUFDOytHQW5NVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx5ckJDN0M5QyxrdU5BeUZNLDhwV0RuRUYsWUFBWSwrUEFDWixhQUFhLHNSQUNiLGVBQWUsNldBQ2YsYUFBYSxxTUFDYixpQkFBaUIsOEJBQ2pCLGdCQUFnQixpUEFDaEIsbUJBQW1COzs0RkFpQlYsaUNBQWlDO2tCQTNCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEIsVUFHTzt3QkFDTixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixNQUFNO3FCQUNQOzswQkE4QlksUUFBUTs0Q0FaWiw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBRTJCLHFCQUFxQjtzQkFBckQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSWxCLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxuICBpbnB1dHM6IFtcbiAgICAndGFibGVDYXJkJyxcbiAgICAnYWN0aXZlUHJvZ3JhbScsXG4gICAgJ2hlYWRlclRleHQnLFxuICAgICdjdXJyZW50UGFnZScsXG4gICAgJ3BlclBhZ2VMaW1pdCcsXG4gICAgJ3RvdGFsTGlzdERhdGEnLFxuICAgICd0b3RhbFBhZ2VzJyxcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YScsXG4gICAgJ3NlbGVjdGVkTGlzdERhdGFJZHMnLFxuICAgICdNT0RFJ1xuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9maWxlUGljID0gJyc7XG4gIGVudjogYW55O1xuICBkYXRhTGlzdCE6IGFueTtcbiAgaGVhZGVyVGV4dDogc3RyaW5nID0gJ05hbWUnO1xuICBzZWxlY3RlZExpc3REYXRhOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRMaXN0RGF0YUlkczogYW55ID0gW107XG4gIHBlclBhZ2VMaW1pdDogbnVtYmVyID0gMzA7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICB0b3RhbFBhZ2VzOiBudW1iZXIgPSAxO1xuICB0b3RhbExpc3REYXRhOiBudW1iZXIgPSAwO1xuICAvLyBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnkgPSBbXTtcbiAgYWN0aXZlUHJvZ3JhbTogYW55ID0ge307XG4gIGNhbGxlZEZyb206IHN0cmluZyA9ICcnO1xuICBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xuXG4gIEBJbnB1dCgpIGFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM6IGFueSA9IFtdO1xuXG4gIEBJbnB1dCgncmVzcG9uc2liaWxpdHlEYXRhJykgc2V0IGdldFJlc3BvbnNpYmlsaXR5TGlzdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5kYXRhTGlzdCA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55ID0gW107XG5cbiAgQE91dHB1dCgpIGdldFVwZGF0ZWREYXRhTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBFdmVudEVtaXR0ZXI8YW55PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XG4gICAgdGhpcy5lbnYgPSBjb25maWc/LmVudkNvbmZpZztcbiAgICB0aGlzLnByb2ZpbGVQaWMgPSB0aGlzLmVudi5zM1VybCArIHRoaXMuZW52LnMzQnVja2V0ICsgdGhpcy5lbnYucHJvZmlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBnZXRTZWxlY3RlZERhdGEocmVzcG9uc2liaWxpdHk6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhLnB1c2gocmVzcG9uc2liaWxpdHkpO1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2gocmVzcG9uc2liaWxpdHk/Ll9pZCk7XG4gICAgICB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHMucHVzaChyZXNwb25zaWJpbGl0eT8uX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5wdXNoKHJlc3BvbnNpYmlsaXR5KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5KTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVFdmVudChyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzID0gdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWRMaXN0RGF0YUlkOiBhbnkpID0+IHNlbGVjdGVkTGlzdERhdGFJZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzID0gdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcD8uZmlsdGVyKFxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5yaWQgIT09IHJlc3BvbnNpYmlsaXR5Py5yaWRcbiAgICApO1xuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGF0YUxpc3Q/LmRhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGRhdGE/Ll9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlT3JDcmVhdGVDYXRlZ29yeShcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkLFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtXG4gICAgKTtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzICYmXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID49IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5kYXRhTGlzdD8uZGF0YSkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0VXBkYXRlZERhdGFMaXN0LmVtaXQoe1xuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlT3JDcmVhdGVDYXRlZ29yeShwcm9ncmFtSWQ6IG51bWJlciwgcHJvZ3JhbTogYW55KSB7XG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChwcm9ncmFtSWQpO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICAvLyBDYXRlZ29yeSBleGlzdHMsIHVwZGF0ZSByaXNrIHZhbHVlXG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XS5yZXNwb25zaWJpbGl0eSA9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdLmNhdGVnb3J5ID1cbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGNhdGVnb3J5IGlmIHNlbGVjdGVkTGlzdERhdGEgaXMgZW1wdHlcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnNwbGljZShwcm9ncmFtSW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBDYXRlZ29yeSBkb2Vzbid0IGV4aXN0LCBjcmVhdGUgbmV3IGNhdGVnb3J5IHdpdGggc3ViY2F0ZWdvcnlcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5wdXNoKHtcbiAgICAgICAgcHJvZ3JhbTogcHJvZ3JhbSA/PyB7fSxcbiAgICAgICAgY2F0ZWdvcnk6IHRoaXMuZ2V0U3ViQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdKSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHk6IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWREYXRhQW5kSWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSBbXTtcbiAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gc2VsZWN0ZWREYXRhW3Byb2dyYW1JbmRleF0/LnJlc3BvbnNpYmlsaXR5ID8/IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhPy5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2goZGF0YT8uX2lkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KGNhdGVnb3J5SWQ6IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xuICAgIHByb2dyYW1JbmRleCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5maW5kSW5kZXgoXG4gICAgICAoY2F0OiBhbnkpID0+IGNhdD8ucHJvZ3JhbT8ucHJvZ3JhbUlkID09PSBjYXRlZ29yeUlkXG4gICAgKTtcbiAgICByZXR1cm4gcHJvZ3JhbUluZGV4O1xuICB9XG5cbiAgZGVsZXRlU2VsZWN0ZWRSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5tYXAoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxldCBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5ID0gZGF0YT8ucmVzcG9uc2liaWxpdHk/LmZpbHRlcihcbiAgICAgICAgICAocmVzcDogYW55KSA9PiByZXNwPy5faWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5OiBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5LFxuICAgICAgICAgIGNhdGVnb3J5OiBbXG4gICAgICAgICAgICAuLi4obmV3IFNldChcbiAgICAgICAgICAgICAgZmlsdGVyZWRSZXNwb25zaWJpbGl0eVxuICAgICAgICAgICAgICAgIC5tYXAoKG9iajogYW55KSA9PiBbb2JqPy5zdWJDYXRlZ29yeUlkXSlcbiAgICAgICAgICAgICAgICA/LmZsYXQoKVxuICAgICAgICAgICAgKSB8fCBbXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLmZpbHRlcihcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGE/LnJlc3BvbnNpYmlsaXR5Py5sZW5ndGggPiAwO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwLmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGdldFN1YkNhdGVnb3J5SWRzKHNlbGVjdGVkUmVzcG9uc2liaWxpdHk6IGFueSkge1xuICAgIGxldCBpZFNldDogYW55ID0gbmV3IFNldChcbiAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHk/Lm1hcChcbiAgICAgICAgKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHJlc3BvbnNpYmlsaXR5Py5zdWJDYXRlZ29yeUlkID8/IFtdXG4gICAgICApXG4gICAgKTtcbiAgICBpZiAodGhpcy5NT0RFID09PSAnRURJVCcpIHtcbiAgICAgIGNvbnN0IHByb2dyYW1JbmRleCA9IHRoaXMuZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgICApO1xuICAgICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgcGVydmlvdXNTZWxlY3RlZElkczogYW55ID1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XT8uY2F0ZWdvcnkgPz8gW107XG4gICAgICAgIGlkU2V0ID0gbmV3IFNldChbLi4uaWRTZXQsIC4uLnBlcnZpb3VzU2VsZWN0ZWRJZHNdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFsuLi5BcnJheS5mcm9tKGlkU2V0KV0uZmlsdGVyKChpdGVtKSA9PlxuICAgICAgQXJyYXkuaXNBcnJheShpdGVtKSA/IGl0ZW0ubGVuZ3RoID4gMCA6IHRydWVcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRpbmcgdngtcGwtMiB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImlzQWxsU2VsZWN0ZWQoKSB8fCBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGggPT09IDBcIiBbbmdWYWx1ZV09XCJpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiIWlzQWxsU2VsZWN0ZWQoKSAmJiBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGhcIiBbbmdWYWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbChmYWxzZSlcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWwtMiB2eC1saC00XCI+e3toZWFkZXJUZXh0fX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctaW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1ib2R5XCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJkYXRhTGlzdD8udG90YWxfcGFnZXMgPiAxXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCBsaXN0IG9mIGRhdGFMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCIgW2FwcFRvb2x0aXBdPVwiKHBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpKSArIGkgKyAxXCIgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyhwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMX19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWREYXRhKGxpc3QsJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtY29sdW1uIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXItZ3JvdXAgdngtbXItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiIFthcHBUb29sdGlwXT1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljID09PSAnJ1wiIGNsYXNzPVwiYmx1ZVwiPnt7bGlzdC5lbnRydXN0ZWRCeT8ubmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTaG9ydE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljICE9PSAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwidngtYXZhdGFyIG1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJsaXN0Py5lbnRydXN0ZWRUbz8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8ucHJvZmlsZVBpYyA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3Q/LmVudHJ1c3RlZFRvPy5uYW1lIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclNob3J0TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgIT09ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWQgY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlciAoY2xpY2spPVwibXVsdGlVc2VyLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdyZWVuXCI+K3t7bGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RofX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjbXVsdGlVc2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB1c2VyIG9mIGxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXI/LnByb2ZpbGVfcGljID09PSAnJ1wiIGNsYXNzPVwiYXZhdGFyXCI+e3t1c2VyPy5tZW1iZXJfbmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2hvcnROYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyPy5wcm9maWxlX3BpYyAhPT0gJydcIiBjbGFzcz1cImF2YXRhclwiPjxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyB1c2VyPy5wcm9maWxlX3BpY319XCIgYWx0PVwiXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIiBbYXBwVG9vbHRpcF09XCJ1c2VyLm1lbWJlcl9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3t1c2VyPy5tZW1iZXJfbmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgc3RhciB2eC1mcy0xMCB2eC1tci0xXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+JiN4ZWE3MDs8L2k+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJsaXN0Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7bGlzdD8uY29udHJvbElkfX17e2xpc3Q/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiICpuZ0lmPVwibGlzdD8ud2l0aGluRGF0YT8ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1yLTFcIj5SRVNQT05TSUJJTElUWSBDRU5URVI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwYXJlbnQgb2YgbGlzdD8ud2l0aGluRGF0YTsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwYXJlbnQ/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3BhcmVudD8ubmFtZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cImRhdGFMaXN0Py50b3RhbF9wYWdlcyA+IDFcIiBbc3RhcnRdPVwiZGF0YUxpc3Q/Lml0ZW1zX2Zyb21cIiBbZW5kXT1cImRhdGFMaXN0Py5pdGVtc190b1wiXG4gICAgICAgICAgICBbdG90YWxdPVwiZGF0YUxpc3Q/LnRvdGFsX2l0ZW1zXCIgW3BhZ2VDb3VudF09XCJkYXRhTGlzdD8udG90YWxfcGFnZXNcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L2FwcC1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7Ozs7Ozs7O0FBK0JyRixNQUFNLE9BQU8saUNBQWlDO0lBa0I1QyxJ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RyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0MsQ0FBQztJQUNKLENBQUM7K0dBcE1VLGlDQUFpQzttR0FBakMsaUNBQWlDLHV0QkNoRDlDLG94TkEwRk0sOHBXRG5FRixZQUFZLCtQQUNaLGFBQWEsc1JBQ2IsZUFBZSw2V0FDZixhQUFhLHFNQUNiLGlCQUFpQiw4QkFDakIsZ0JBQWdCLGlQQUNoQixtQkFBbUIsc0dBQ25CLFdBQVc7OzRGQWtCRixpQ0FBaUM7a0JBN0I3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixXQUFXO3FCQUVaLFVBR087d0JBQ04sV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsTUFBTTtxQkFDUDs7MEJBK0JZLFFBQVE7NENBYlosNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUUyQixxQkFBcUI7c0JBQXJELEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlsQixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICdwcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9waXBlcy9waXBlcy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXG4gIGlucHV0czogW1xuICAgICd0YWJsZUNhcmQnLFxuICAgICdhY3RpdmVQcm9ncmFtJyxcbiAgICAnaGVhZGVyVGV4dCcsXG4gICAgJ2N1cnJlbnRQYWdlJyxcbiAgICAncGVyUGFnZUxpbWl0JyxcbiAgICAndG90YWxMaXN0RGF0YScsXG4gICAgJ3RvdGFsUGFnZXMnLFxuICAgICdzZWxlY3RlZExpc3REYXRhJyxcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YUlkcycsXG4gICAgJ01PREUnXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2ZpbGVQaWMgPSAnJztcbiAgZW52OiBhbnk7XG4gIGRhdGFMaXN0ITogYW55O1xuICBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnTmFtZSc7XG4gIHNlbGVjdGVkTGlzdERhdGE6IGFueSA9IFtdO1xuICBzZWxlY3RlZExpc3REYXRhSWRzOiBhbnkgPSBbXTtcbiAgcGVyUGFnZUxpbWl0OiBudW1iZXIgPSAzMDtcbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHRvdGFsUGFnZXM6IG51bWJlciA9IDE7XG4gIHRvdGFsTGlzdERhdGE6IG51bWJlciA9IDA7XG4gIC8vIHNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueSA9IFtdO1xuICBhY3RpdmVQcm9ncmFtOiBhbnkgPSB7fTtcbiAgY2FsbGVkRnJvbTogc3RyaW5nID0gJyc7XG4gIE1PREU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XG5cbiAgQElucHV0KCkgYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkczogYW55ID0gW107XG5cbiAgQElucHV0KCdyZXNwb25zaWJpbGl0eURhdGEnKSBzZXQgZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmRhdGFMaXN0ID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgZ2V0VXBkYXRlZERhdGFMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IEV2ZW50RW1pdHRlcjxhbnk+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcbiAgICB0aGlzLmVudiA9IGNvbmZpZz8uZW52Q29uZmlnO1xuICAgIHRoaXMucHJvZmlsZVBpYyA9IHRoaXMuZW52LnMzVXJsICsgdGhpcy5lbnYuczNCdWNrZXQgKyB0aGlzLmVudi5wcm9maWxlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldFNlbGVjdGVkRGF0YShyZXNwb25zaWJpbGl0eTogYW55LCBldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChyZXNwb25zaWJpbGl0eSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChyZXNwb25zaWJpbGl0eT8uX2lkKTtcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkcy5wdXNoKHJlc3BvbnNpYmlsaXR5Py5faWQpO1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnB1c2gocmVzcG9uc2liaWxpdHkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVsZXRlRXZlbnQocmVzcG9uc2liaWxpdHkpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZExpc3REYXRhSWQ6IGFueSkgPT4gc2VsZWN0ZWRMaXN0RGF0YUlkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHMgPSB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/LnJpZCAhPT0gcmVzcG9uc2liaWxpdHk/LnJpZFxuICAgICk7XG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwLmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5kYXRhTGlzdD8uZGF0YT8uZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMuaW5jbHVkZXMoZGF0YT8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKGRhdGEpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKGRhdGE/Ll9pZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVPckNyZWF0ZUNhdGVnb3J5KFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWQsXG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW1cbiAgICApO1xuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPj0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBmb3IgKGNvbnN0IGdyYyBvZiB0aGlzLmRhdGFMaXN0Py5kYXRhKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XG4gICAgdGhpcy5nZXRVcGRhdGVkRGF0YUxpc3QuZW1pdCh7XG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVPckNyZWF0ZUNhdGVnb3J5KHByb2dyYW1JZDogbnVtYmVyLCBwcm9ncmFtOiBhbnkpIHtcbiAgICBjb25zdCBwcm9ncmFtSW5kZXggPSB0aGlzLmZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KHByb2dyYW1JZCk7XG4gICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgIC8vIENhdGVnb3J5IGV4aXN0cywgdXBkYXRlIHJpc2sgdmFsdWVcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdLnJlc3BvbnNpYmlsaXR5ID1cbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwW3Byb2dyYW1JbmRleF0uY2F0ZWdvcnkgPVxuICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSk7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgY2F0ZWdvcnkgaWYgc2VsZWN0ZWRMaXN0RGF0YSBpcyBlbXB0eVxuICAgICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3Auc3BsaWNlKHByb2dyYW1JbmRleCwgMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkTGlzdERhdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIENhdGVnb3J5IGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBuZXcgY2F0ZWdvcnkgd2l0aCBzdWJjYXRlZ29yeVxuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnB1c2goe1xuICAgICAgICBwcm9ncmFtOiBwcm9ncmFtID8/IHt9LFxuICAgICAgICBjYXRlZ29yeTogdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pLFxuICAgICAgICByZXNwb25zaWJpbGl0eTogdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBnZXRTZWxlY3RlZERhdGFBbmRJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICBjb25zdCBwcm9ncmFtSW5kZXggPSB0aGlzLmZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcyA9IFtdO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBzZWxlY3RlZERhdGFbcHJvZ3JhbUluZGV4XT8ucmVzcG9uc2liaWxpdHkgPz8gW107XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoY2F0ZWdvcnlJZDogbnVtYmVyIHwgbnVtYmVyW10pIHtcbiAgICBsZXQgcHJvZ3JhbUluZGV4ID0gLTE7XG4gICAgcHJvZ3JhbUluZGV4ID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLmZpbmRJbmRleChcbiAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5wcm9ncmFtPy5wcm9ncmFtSWQgPT09IGNhdGVnb3J5SWRcbiAgICApO1xuICAgIHJldHVybiBwcm9ncmFtSW5kZXg7XG4gIH1cblxuICBkZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A/Lm1hcChcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IGZpbHRlcmVkUmVzcG9uc2liaWxpdHkgPSBkYXRhPy5yZXNwb25zaWJpbGl0eT8uZmlsdGVyKFxuICAgICAgICAgIChyZXNwOiBhbnkpID0+IHJlc3A/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHk6IGZpbHRlcmVkUmVzcG9uc2liaWxpdHksXG4gICAgICAgICAgY2F0ZWdvcnk6IFtcbiAgICAgICAgICAgIC4uLihuZXcgU2V0KFxuICAgICAgICAgICAgICBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5XG4gICAgICAgICAgICAgICAgLm1hcCgob2JqOiBhbnkpID0+IFtvYmo/LnN1YkNhdGVnb3J5SWRdKVxuICAgICAgICAgICAgICAgID8uZmxhdCgpXG4gICAgICAgICAgICApIHx8IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZmlsdGVyKFxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YT8ucmVzcG9uc2liaWxpdHk/Lmxlbmd0aCA+IDA7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U3ViQ2F0ZWdvcnlJZHMoc2VsZWN0ZWRSZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgbGV0IGlkU2V0OiBhbnkgPSBuZXcgU2V0KFxuICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eT8ubWFwKFxuICAgICAgICAocmVzcG9uc2liaWxpdHk6IGFueSkgPT4gcmVzcG9uc2liaWxpdHk/LnN1YkNhdGVnb3J5SWQgPz8gW11cbiAgICAgIClcbiAgICApO1xuICAgIGlmICh0aGlzLk1PREUgPT09ICdFRElUJykge1xuICAgICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICAgICk7XG4gICAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBwZXJ2aW91c1NlbGVjdGVkSWRzOiBhbnkgPVxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeSA/PyBbXTtcbiAgICAgICAgaWRTZXQgPSBuZXcgU2V0KFsuLi5pZFNldCwgLi4ucGVydmlvdXNTZWxlY3RlZElkc10pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gWy4uLkFycmF5LmZyb20oaWRTZXQpXS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICBBcnJheS5pc0FycmF5KGl0ZW0pID8gaXRlbS5sZW5ndGggPiAwIDogdHJ1ZVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGluZyB2eC1wbC0yIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiaXNBbGxTZWxlY3RlZCgpIHx8IHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aCA9PT0gMFwiIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgKm5nSWY9XCIhaXNBbGxTZWxlY3RlZCgpICYmIHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aFwiIFtuZ1ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKGZhbHNlKVwiPjwvYXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tbC0yIHZ4LWxoLTRcIj57e2hlYWRlclRleHR9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy1pbm5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWJvZHlcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImRhdGFMaXN0Py50b3RhbF9wYWdlcyA+IDFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtcm93XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGlzdCBvZiBkYXRhTGlzdD8uZGF0YSB8IHNlYXJjaDogc2VhcmNoU3RyaW5nIDogJ25hbWUnIDsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIihwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMVwiIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3socGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDF9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJhbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkRGF0YShsaXN0LCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyLWdyb3VwIHZ4LW1yLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXIgbWRcIiBbYXBwVG9vbHRpcF09XCJsaXN0Py5lbnRydXN0ZWRCeT8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpYyA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3QuZW50cnVzdGVkQnk/Lm5hbWUgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2hvcnROYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpYyAhPT0gJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyBsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpY319XCIgYWx0PVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8uRW50cnVzdGVkVG9NZW1iZXJzPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwibGlzdD8uZW50cnVzdGVkVG8/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgPT09ICcnXCIgY2xhc3M9XCJibHVlXCI+e3tsaXN0Py5lbnRydXN0ZWRUbz8ubmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTaG9ydE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5wcm9maWxlUGljICE9PSAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZFRvPy5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aFwiIGNsYXNzPVwidngtYXZhdGFyIG1kIGNvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXIgKGNsaWNrKT1cIm11bHRpVXNlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJncmVlblwiPit7e2xpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI211bHRpVXNlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdXNlciBvZiBsaXN0Py5lbnRydXN0ZWRUbz8uRW50cnVzdGVkVG9NZW1iZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyPy5wcm9maWxlX3BpYyA9PT0gJydcIiBjbGFzcz1cImF2YXRhclwiPnt7dXNlcj8ubWVtYmVyX25hbWUgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclNob3J0TmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlcj8ucHJvZmlsZV9waWMgIT09ICcnXCIgY2xhc3M9XCJhdmF0YXJcIj48aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3twcm9maWxlUGljICsgdXNlcj8ucHJvZmlsZV9waWN9fVwiIGFsdD1cIlwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgW2FwcFRvb2x0aXBdPVwidXNlci5tZW1iZXJfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7dXNlcj8ubWVtYmVyX25hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8aSBjbGFzcz1cImljb25zIHN0YXIgdngtZnMtMTAgdngtbXItMVwiIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiPiYjeGVhNzA7PC9pPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtZnMtMTMgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwibGlzdD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2xpc3Q/LmNvbnRyb2xJZH19e3tsaXN0Py5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIiAqbmdJZj1cImxpc3Q/LndpdGhpbkRhdGE/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0xXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFyZW50IG9mIGxpc3Q/LndpdGhpbkRhdGE7IGxldCBsYXN0ID0gbGFzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicGFyZW50Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3twYXJlbnQ/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJkYXRhTGlzdD8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cImRhdGFMaXN0Py5pdGVtc19mcm9tXCIgW2VuZF09XCJkYXRhTGlzdD8uaXRlbXNfdG9cIlxuICAgICAgICAgICAgW3RvdGFsXT1cImRhdGFMaXN0Py50b3RhbF9pdGVtc1wiIFtwYWdlQ291bnRdPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCI+PC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==