vcomply-workflow-engine 6.1.73 → 6.1.75

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.
@@ -147,9 +147,15 @@ export class FrequencyResponsibilityListComponent {
147
147
  return ids.map((id) => rcMap.get(id)).filter(Boolean);
148
148
  }
149
149
  mapResponsibilityItem(item, userMap, rcMap) {
150
- const assigneeDetails = (item.assigneeDetails || [])
151
- .filter((ad) => ad.status && ad.status.toLowerCase() === 'active')
152
- .map((ad) => ({
150
+ let assigneeDetails = (item.assigneeDetails || [])
151
+ .filter((ad) => ad.status && ad.status.toLowerCase() === 'active');
152
+ if (assigneeDetails?.length === 0 && item?.assigneeType === 'any' && [null, 'any'].includes(item?.rcType)) {
153
+ assigneeDetails = [{
154
+ ...item.assigneeDetails,
155
+ status: 'active',
156
+ }];
157
+ }
158
+ assigneeDetails = assigneeDetails.map((ad) => ({
153
159
  ...ad,
154
160
  assigneeInfo: this.mapAssigneeUsers(ad, item.assignees?.activeUserId || [], userMap),
155
161
  responsibilityCenterInfo: this.mapResponsibilityCenters(ad, item.responsibilityCenters || [], rcMap),
@@ -207,7 +213,6 @@ export class FrequencyResponsibilityListComponent {
207
213
  }
208
214
  onCompletionChange(event) {
209
215
  this.selectedResponsibilityValues = event;
210
- console.log(this.selectedResponsibilityValues, 'selectedResponsibilityValues');
211
216
  }
212
217
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyResponsibilityListComponent, deps: [{ token: i1.FrequencyService }, { token: i2.CommonService }], target: i0.ɵɵFactoryTarget.Component }); }
213
218
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyResponsibilityListComponent, selector: "app-frequency-responsibility-list", inputs: { selectedResponsibilityDetails: "selectedResponsibilityDetails" }, outputs: { backButton: "backButton", selectedResponsibility: "selectedResponsibility" }, ngImport: i0, template: "<div class=\"frequency-responsibility-list\" [class.animate]=\"animation\">\n <div class=\"frequency-responsibility-list-head vx-p-3 vx-d-flex vx-align-center vx-justify-between\">\n <div class=\"vx-d-flex vx-align-center\">\n <i class=\"icons arrow vx-fs-16 vx-label-txt vx-mr-1\" (click)=\"back()\">&#xe91d;</i>\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Responsibility</div>\n </div>\n </div>\n <div class=\"frequency-responsibility-list-body\">\n <!-- <app-loader-inline *ngIf=\"othersCount === 0\"></app-loader-inline> -->\n\n <div class=\"frequency-responsibility-list-search vx-mb-2\">\n <i class=\"icons vx-fs-12\">&#xe90b;</i>\n <input type=\"text\" [(ngModel)]=\"responsibilitySearchText\" (keyup.enter)=\"search()\"\n placeholder=\"Search Responsibilities\" />\n </div>\n <ng-container *ngIf=\"responsibilitiesData?.pagination as pagination\">\n <app-pagination *ngIf=\"pagination?.total_pages > 1\" [start]=\"pagination?.responsibilities_from\"\n [end]=\"pagination?.responsibilities_to\" [total]=\"pagination?.total_responsibilities\"\n [pageCount]=\"pagination?.total_pages\" [currentPage]=\"responsibilityCurrentPage\"\n (selectedPage)=\"responsibilityPageChange($event)\">\n </app-pagination>\n </ng-container>\n\n <app-loader-inline *ngIf=\"responsibilityLoader\"></app-loader-inline>\n <div class=\"frequency-responsibility-list-mid vx-mb-4\" [class.with-pagination]=\"\n !responsibilityLoader && responsibilitiesData?.total_pages > 1\n \">\n <app-no-data *ngIf=\"\n responsibilitiesData?.responsibilities?.length === 0 &&\n !responsibilityLoader\n \" [noDataImage]=\"ASSETS.search_data\" [noDataText]=\"'No Data to Display'\"></app-no-data>\n <ng-container *ngIf=\"\n responsibilitiesData?.responsibilities?.length > 0 &&\n !responsibilityLoader\n \">\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\">\n RESPONSIBILITIES\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\n RESPONSIBILITY CENTER\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <!-- when click on radio then active class should be true -->\n <ng-container *ngFor=\"\n let responsibility of responsibilitiesData?.responsibilities;\n let i = index\n \">\n <ng-container *ngIf=\"(responsibilitiesData?.page * responsibilitiesData?.limit -\n responsibilitiesData?.limit +\n i +\n 1) as srNo\">\n <div class=\"table-row\" [class.resp]=\"responsibility?.assigneeDetails?.length === 1\" [class.active]=\"\n selectedResponsibilityValues?.responsibility?.id === responsibility?.id && responsibility?.assigneeDetails?.length === 1\n \" [class.with-sub-responsibility]=\"openedResponsibility.includes(responsibility?.id)\">\n <ng-container *ngIf=\"responsibility?.assigneeDetails as assigneeDetails\">\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"\n srNo \n \" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n {{srNo}}\n </div>\n <app-cs-radio *ngIf=\"assigneeDetails?.length === 1\" [name]=\"'onCompletion'\" [checked]=\"\n selectedResponsibilityValues?.responsibility?.id === responsibility?.id\n \"\n (checkedEvent)=\"onCompletionChange({eachAssignee: assigneeDetails[0], responsibility})\"></app-cs-radio>\n </div>\n\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility with-rc\">\n\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5 vx-d-flex vx-align-center\">\n <div class=\"avatar-list vx-d-flex vx-align-center\">\n <lib-avatar-v2 [avatarList]=\"responsibility?.allAssignee\"\n [type]=\"'SINGLE_AVATAR'\"></lib-avatar-v2>\n </div>\n\n <span class=\"value-text vx-ml-1 resp-name\" [appTooltip]=\"responsibility?.title\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{\n responsibility?.controlId }} {{\n responsibility?.title\n }}</span>\n </div>\n </div>\n\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\n <ng-container *ngIf=\"responsibility?.allRc as rc\">\n <div class=\"program-inner vx-d-block\">\n <div class=\"program-value vx-fs-11 vx-label-txt vx-pr-5\" [appTooltip]=\"\n rc?.length\n ? rc[0]?.name\n : '--'\n \" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n {{\n rc?.length\n ? rc[0]?.name\n : \"--\"\n }}\n </div>\n <ng-container *ngIf=\"\n rc?.length \n \">\n </ng-container>\n </div>\n <button *ngIf=\"rc?.length > 1\" appPopover (click)=\"rcPopup.popover()\" placement=\"right\"\n class=\"program-count vx-fs-11 vx-fw-500 vx-txt-white vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\">\n +{{ rc?.length - 1 }}\n </button>\n <app-popover #rcPopup>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"\n let data of rc?.slice(\n 1,\n rc?.length\n )\n \">\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span class=\"value\" [appTooltip]=\"data?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\">{{ data?.name }}</span>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </ng-container>\n </div>\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\"\n (click)=\"onToggleResponsibility(responsibility)\">\n <ng-container *ngIf=\"assigneeDetails?.length > 1; else closeIcon\">\n <i *ngIf=\"\n openedResponsibility.includes(responsibility.id);\n else closeIcon\n \" class=\"icons vx-fs-10\">&#xe9e7;</i>\n <ng-template #closeIcon>\n <i class=\"icons vx-fs-10\"> &#xe9e8;</i>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <lib-sub-responsibility *ngIf=\"openedResponsibility.includes(responsibility.id)\"\n [responsibility]=\"responsibility\" [srNo]=\"srNo\" [selectedResponsibility]=\"selectedResponsibilityValues\"\n (onCompletionChange)=\"onCompletionChange($event)\"></lib-sub-responsibility>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <app-floating-bar [selectedData]=\"[selectedResponsibilityValues?.responsibility]\" [displayElementKey]=\"'title'\"\n (closeList)=\"back()\" (closeEvent)=\"save($event)\" (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"!selectedResponsibilityValues?.responsibility?.id\"></app-floating-bar>\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/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.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/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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/table-card/table-card.css\";::ng-deep .frequency-responsibility-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:32.5rem;bottom:0;left:0}::ng-deep .frequency-responsibility-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .frequency-responsibility-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-responsibility-list-head .arrow{cursor:pointer}::ng-deep .frequency-responsibility-list-body{background:#fff;height:calc(100% - 2.75rem);padding:1.5rem .75rem 1.5rem 2rem}::ng-deep .frequency-responsibility-list-body app-pagination .wk-pagination-sec-ds{border-radius:0;padding:0 0 .5rem}::ng-deep .frequency-responsibility-list-body app-floating-bar .floating-bar{padding:0;position:relative;left:-1rem;width:calc(100% + 2rem)}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar{padding-left:0!important;padding-right:0!important}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar .userGroup-floating-bar-container .left .chip span{max-width:240px}::ng-deep .frequency-responsibility-list-search{position:relative}::ng-deep .frequency-responsibility-list-search input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763F;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .frequency-responsibility-list-search input::placeholder{color:#747576;opacity:1}::ng-deep .frequency-responsibility-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .frequency-responsibility-list-mid{height:calc(100% - 8rem);overflow:auto}::ng-deep .frequency-responsibility-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .frequency-responsibility-list-mid.with-pagination{height:calc(100% - 10rem)}::ng-deep .frequency-responsibility-list-mid .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .frequency-responsibility-list-mid .table-header .table-column{color:#161b2f!important;line-height:.75rem!important;min-height:1.875rem!important}::ng-deep .frequency-responsibility-list-mid .table-body{position:relative}::ng-deep .frequency-responsibility-list-mid .table-body .table-row{background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;margin-bottom:.25rem}::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp:hover .table-column.serial .sr-no,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp.active .table-column.serial .sr-no{opacity:0}::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp:hover .table-column.serial app-cs-radio,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp.active .table-column.serial app-cs-radio{opacity:1}::ng-deep .frequency-responsibility-list-mid .table-body .table-row lib-sub-responsibility{position:relative;top:2.5rem;left:0;width:100%;z-index:1;background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;padding:.5rem}::ng-deep .frequency-responsibility-list-mid .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .frequency-responsibility-list-mid .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-radio{position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-radio .radio-item{position:absolute}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility{width:calc(100% - 19rem);min-width:calc(100% - 19rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .avatar-list{width:2.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .avatar-list app-avatar~app-avatar{margin-left:-.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .resp-name{text-overflow:ellipsis;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center{width:14rem;min-width:14rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.action{width:3rem;min-width:3rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.action.active{cursor:pointer}::ng-deep .frequency-responsibility-list-mid .table-row.with-sub-responsibility{background:#f9f9fa;margin-bottom:0}@keyframes animate-right{0%{transform:translate(5px);opacity:0}to{transform:translate(0);opacity:1}}.wf-action-list{width:220px}.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}.wf-action-list ul.action-item{display:block}.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}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.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}.wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "directive", type: i6.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i7.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i10.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i11.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: i12.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "isResponsibility", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i13.SubResponsibilityComponent, selector: "lib-sub-responsibility", inputs: ["responsibility", "srNo", "selectedResponsibility"], outputs: ["onCompletionChange"] }, { kind: "component", type: i14.AvatarV2Component, selector: "lib-avatar-v2", inputs: ["avatarList", "type"] }] }); }
@@ -222,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
222
227
  }], selectedResponsibility: [{
223
228
  type: Output
224
229
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTN0QsTUFBTSxPQUFPLG9DQUFvQztJQTRDL0MsWUFDVSxnQkFBa0MsRUFDbEMsYUFBNEI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTdDN0Isa0NBQTZCLEdBQVEsRUFBRSxDQUFDO1FBRXZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLHlCQUFvQixHQUFRLEVBQUUsQ0FBQztRQUMvQix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsNkJBQXdC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dXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgc2xpY2UgfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlsczogYW55ID0ge307XG5cbiAgQE91dHB1dCgpIGJhY2tCdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgcmVzcG9uc2liaWxpdGllc0RhdGE6IGFueSA9IHt9O1xuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ6IGFueSA9IFtdO1xuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzOiBhbnk7XG4gIFxuICByZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xuICByZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBpc1ZhbGlkT2JqID0gZmFsc2U7XG5cbiAgcmVzcG9uc2liaWxpdHlQYXlsb2FkID0ge1xuICAgIHR5cGU6ICdhY3RpdmUnLFxuICAgIHBhZ2luYXRpb25UeXBlOiAnbGFyZ2UnLFxuICAgIGE6ICcnLFxuICAgIHNlYXJjaFRlcm06ICcnLFxuICAgIGZpbHRlckRhdGE6IHtcbiAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgcmlza0lkczogW10sXG4gICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcbiAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgY29tcGxpYW5jZVR5cGU6IFsxXSxcbiAgICB9LFxuICAgIHBhZ2VObzogMSxcbiAgICBzb3J0T2JqOiB7XG4gICAgICBzb3J0Qnk6ICcnLFxuICAgICAgdHlwZTogJycsXG4gICAgfSxcbiAgICBwYWdlTmFtZTogJ292ZXJ2aWV3JyxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlMaXN0OiBhbnk7XG4gIGNsb3NlOiBhbnk7XG4gIG9wZW5lZFJlc3BvbnNpYmlsaXR5OiBhbnlbXSA9IFtdO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICAgIHRoaXMucG9wdWxhdGVSZXNwb25zaWJpbGl0eSgpO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLmJhY2tCdXR0b24uZW1pdCgnYmFja1RvT25Db21wbGV0aW9uJyk7XG4gIH1cblxuXG4gIGdldFJlc3BvbnNpYmlsaXR5TGlzdCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YSA9IHJlcz8uZGF0YTtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IHRoaXMuY29tbW9uU2VydmljZS5zZXRQYWdpbmF0aW9uKHJlcz8uZGF0YSk7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGFbJ3BhZ2luYXRpb24nXSA9IHBhZ2luYXRpb247XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGFbJ3Jlc3BvbnNpYmlsaXRpZXMnXSA9IHRoaXMubWFwUmVzcG9uc2liaWxpdHlEYXRhKCB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhKVxuXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgaGFzUmVzcG9uc2liaWxpdHkgPSB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzPy5maW5kKChyZXNwb25zaWJpbGl0eTogYW55KSA9PiByZXNwb25zaWJpbGl0eS5pZCA9PT0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eT8uaWQpO1xuICAgICAgICBpZihoYXNSZXNwb25zaWJpbGl0eSkge1xuICAgICAgICAgIHRoaXMub25Ub2dnbGVSZXNwb25zaWJpbGl0eShoYXNSZXNwb25zaWJpbGl0eSk7XG4gICAgICAgIH1cbiAgICAgIH0sIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgY29uc29sZS5sb2coeyBlcnJvciB9LCBcIkVycm9yIGluIGdldHRpbmcgcmVzcG9uc2liaWxpdHkgbGlzdFwiKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVzcG9uc2liaWxpdHlQYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IHBhZ2VOdW1iZXI7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRlcm0gPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICB9XG5cblxuICBkZWxldGVJdGVtKGl0ZW06IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHt9O1xuICAgIHRoaXMuaXNWYWxpZE9iaiA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkID0gW107XG4gIH1cbiAgc2F2ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5iYWNrQnV0dG9uLmVtaXQoJ2JhY2tUb09uQ29tcGxldGlvbicpO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eS5lbWl0KHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk7XG4gIH1cblxuXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXJtID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gXG4gIFxuICBvblRvZ2dsZVJlc3BvbnNpYmlsaXR5KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICBpZih0aGlzLm9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5LmlkKSkge1xuICAgICAgdGhpcy5vcGVuZWRSZXNwb25zaWJpbGl0eSA9IHRoaXMub3BlbmVkUmVzcG9uc2liaWxpdHkuZmlsdGVyKChpZDogYW55KSA9PiBpZCAhPT0gcmVzcG9uc2liaWxpdHkuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZFJlc3BvbnNpYmlsaXR5LnB1c2gocmVzcG9uc2liaWxpdHkuaWQpO1xuICAgIH1cbiAgfVxuXG5cbiAgICAvLyBNYWluIG1ldGhvZCBleHBvc2VkIG91dHNpZGVcbiAgICBwdWJsaWMgbWFwUmVzcG9uc2liaWxpdHlEYXRhKHJlc3BvbnNpYmlsaXR5OiBhbnkpOiBhbnlbXSB7XG4gICAgICBpZiAoIXJlc3BvbnNpYmlsaXR5KSByZXR1cm4gW107XG4gIFxuICAgICAgY29uc3QgdXNlcnMgPSB0aGlzLm1hcFNob3J0TmFtZXMocmVzcG9uc2liaWxpdHkudXNlcnMsIHRoaXMubWFwU2hvcnROYW1lKTtcbiAgICAgIGNvbnN0IHVzZXJNYXAgPSB0aGlzLmJ1aWxkTWFwKHVzZXJzKTtcbiAgICAgIGNvbnN0IHJjTWFwID0gdGhpcy5idWlsZE1hcChyZXNwb25zaWJpbGl0eS5yZXNwb25zaWJpbGl0eUNlbnRlcnMpO1xuICBcbiAgICAgIHJldHVybiAocmVzcG9uc2liaWxpdHkucmVzcG9uc2liaWxpdGllcyB8fCBbXSkubWFwKChpdGVtOiBhbnkpID0+XG4gICAgICAgIHRoaXMubWFwUmVzcG9uc2liaWxpdHlJdGVtKGl0ZW0sIHVzZXJNYXAsIHJjTWFwKVxuICAgICAgKTtcbiAgICB9XG4gIFxuICAgIC8vIEhlbHBlciBtZXRob2RzIGJlbG93OlxuICBcbiAgICBwcml2YXRlIG1hcFNob3J0TmFtZXModXNlcnM6IGFueVtdLCBtYXBTaG9ydE5hbWU6IChuYW1lOiBzdHJpbmcpID0+IHN0cmluZyk6IGFueVtdIHtcbiAgICAgIHJldHVybiAodXNlcnMgfHwgW10pLm1hcCh1c2VyID0+ICh7XG4gICAgICAgIC4uLnVzZXIsXG4gICAgICAgIHNob3J0TmFtZTogbWFwU2hvcnROYW1lKHVzZXIubmFtZSksXG4gICAgICB9KSk7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIGJ1aWxkTWFwKGFycjogYW55W10pOiBNYXA8c3RyaW5nLCBhbnk+IHtcbiAgICAgIHJldHVybiBuZXcgTWFwKChhcnIgfHwgW10pLm1hcChpdGVtID0+IFtpdGVtLmlkLCBpdGVtXSkpO1xuICAgIH1cbiAgXG4gICAgcHJpdmF0ZSBtYXBBc3NpZ25lZVVzZXJzKGFzc2lnbmVlOiBhbnksIGFjdGl2ZVVzZXJJZHM6IHN0cmluZ1tdLCB1c2VyTWFwOiBNYXA8c3RyaW5nLCBhbnk+KTogYW55W10ge1xuICAgICAgaWYgKCFhc3NpZ25lZS5hc3NpZ25lZSkge1xuICAgICAgICByZXR1cm4gKGFjdGl2ZVVzZXJJZHMgfHwgW10pLm1hcChpZCA9PiB1c2VyTWFwLmdldChpZCkpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlkcyA9IEFycmF5LmlzQXJyYXkoYXNzaWduZWUuYXNzaWduZWUpID8gYXNzaWduZWUuYXNzaWduZWUgOiBbYXNzaWduZWUuYXNzaWduZWVdO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBhbnkpID0+IHVzZXJNYXAuZ2V0KChpZCkpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIG1hcFJlc3BvbnNpYmlsaXR5Q2VudGVycyhhc3NpZ25lZTogYW55LCBpdGVtUkNJZHM6IHN0cmluZ1tdLCByY01hcDogTWFwPHN0cmluZywgYW55Pik6IGFueVtdIHtcbiAgICAgIGlmICghYXNzaWduZWUucmVzcG9uc2liaWxpdHlDZW50ZXIpIHtcbiAgICAgICAgcmV0dXJuIChpdGVtUkNJZHMgfHwgW10pLm1hcChpZCA9PiByY01hcC5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICB9XG4gICAgICBjb25zdCBpZHMgPSBBcnJheS5pc0FycmF5KGFzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyKSA/IGFzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyIDogW2Fzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyXTtcbiAgICAgIHJldHVybiBpZHMubWFwKChpZDogYW55KSA9PiByY01hcC5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIG1hcFJlc3BvbnNpYmlsaXR5SXRlbShpdGVtOiBhbnksIHVzZXJNYXA6IE1hcDxzdHJpbmcsIGFueT4sIHJjTWFwOiBNYXA8c3RyaW5nLCBhbnk+KTogYW55IHtcbiAgICAgIGNvbnN0IGFzc2lnbmVlRGV0YWlscyA9IChpdGVtLmFzc2lnbmVlRGV0YWlscyB8fCBbXSlcbiAgICAgICAgLmZpbHRlcigoYWQ6IGFueSkgPT4gYWQuc3RhdHVzICYmIGFkLnN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnYWN0aXZlJylcbiAgICAgICAgLm1hcCgoYWQ6IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5hZCxcbiAgICAgICAgICBhc3NpZ25lZUluZm86IHRoaXMubWFwQXNzaWduZWVVc2VycyhhZCwgaXRlbS5hc3NpZ25lZXM/LmFjdGl2ZVVzZXJJZCB8fCBbXSwgdXNlck1hcCksXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXJJbmZvOiB0aGlzLm1hcFJlc3BvbnNpYmlsaXR5Q2VudGVycyhhZCwgaXRlbS5yZXNwb25zaWJpbGl0eUNlbnRlcnMgfHwgW10sIHJjTWFwKSxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBhbGxBc3NpZ25lZSA9IHRoaXMucmVtb3ZlRHVwbGljYXRlQXNzaWduZWUoYXNzaWduZWVEZXRhaWxzKS5tYXAoKGFkOiBhbnkpID0+IGFkLmFzc2lnbmVlSW5mb1swXSk7XG4gICAgICAgIGNvbnN0IGFsbFJjID0gdGhpcy5tYXBSY3MoaXRlbS5yZXNwb25zaWJpbGl0eUNlbnRlcnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICBjb250cm9sSWQ6IGl0ZW0/LmNvbnRyb2xJZCA/ICdbQ0lELScgKyBpdGVtPy5jb250cm9sSWQgKyAnXSAnIDogJycsXG4gICAgICAgIGFzc2lnbmVlRGV0YWlscyxcbiAgICAgICAgIGFsbEFzc2lnbmVlLFxuICAgICAgICAgYWxsUmNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmVtb3ZlRHVwbGljYXRlQXNzaWduZWUoYXNzaWduZWVEZXRhaWxzOiBhbnkpIHtcbiAgICAgIGNvbnN0IHVuaXF1ZU1hcCA9IG5ldyBNYXAoKTtcbiAgICAgIGFzc2lnbmVlRGV0YWlscy5mb3JFYWNoKChvYmo6IGFueSkgPT4ge1xuICAgICAgICB1bmlxdWVNYXAuc2V0KG9iai5hc3NpZ25lZSwgb2JqKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdW5pcXVlQXJyYXkgPSBBcnJheS5mcm9tKHVuaXF1ZU1hcC52YWx1ZXMoKSk7XG4gICAgICAgICAgcmV0dXJuIHVuaXF1ZUFycmF5O1xuICAgICAgICB9XG5cbiAgICAgIG1hcFJjcyhyY3M6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzPy5maWx0ZXIoKHJjOiBhbnkpID0+IHJjcz8uaW5jbHVkZXMocmM/LmlkKSk7XG4gICAgICB9XG4gIFxuICBtYXBTaG9ydE5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZUFycmF5ID0gbmFtZT8uc3BsaXQoJyAnKTtcbiAgICBpZihuYW1lQXJyYXk/Lmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBuYW1lQXJyYXlbMF0/LmNoYXJBdCgwKSArIG5hbWVBcnJheVtuYW1lQXJyYXk/Lmxlbmd0aCAtIDFdPy5jaGFyQXQoMCk7XG4gICAgfVxuICAgIHJldHVybiBuYW1lQXJyYXlbMF0/LmNoYXJBdCgwKSArIG5hbWVBcnJheVswXT8uY2hhckF0KDEpPy50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgcG9wdWxhdGVSZXNwb25zaWJpbGl0eSgpIHtcbiAgICBpZighdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8uYXNzaWduZWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gIHtcbiAgICAgIGVhY2hBc3NpZ25lZToge1xuICAgICAgICBhc3NpZ25lZTogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscy5hc3NpZ25lZSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMucmVzcG9uc2liaWxpdHlDZW50ZXIsXG4gICAgICB9LFxuICAgICAgcmVzcG9uc2liaWxpdHk6IHtcbiAgICAgICAgdGl0bGU6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMudGl0bGUsXG4gICAgICAgIGlkOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmlkLFxuICAgICAgICBhbGxSQzogW10sXG4gICAgICAgIGFsbEFzc2lnbmVlOiBbXSxcbiAgICAgICAgYXNzaWduZWVEZXRhaWxzOiBbe1xuICAgICAgICAgIGFzc2lnbmVlOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmFzc2lnbmVlLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLnJlc3BvbnNpYmlsaXR5Q2VudGVyLFxuICAgICAgICB9XSxcbiAgICAgICAgZWFjaEFzc2lnbmVlOiB7fSxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNvbXBsZXRpb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IGV2ZW50XG4gICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLCAnc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcycpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LWhlYWQgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgYXJyb3cgdngtZnMtMTYgdngtbGFiZWwtdHh0IHZ4LW1yLTFcIiAoY2xpY2spPVwiYmFjaygpXCI+JiN4ZTkxZDs8L2k+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtYm9keVwiPlxuICAgIDwhLS0gPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwib3RoZXJzQ291bnQgPT09IDBcIj48L2FwcC1sb2FkZXItaW5saW5lPiAtLT5cblxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1zZWFyY2ggdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMlwiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJyZXNwb25zaWJpbGl0eVNlYXJjaFRleHRcIiAoa2V5dXAuZW50ZXIpPVwic2VhcmNoKClcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSZXNwb25zaWJpbGl0aWVzXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnBhZ2luYXRpb24gYXMgcGFnaW5hdGlvblwiPlxuICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwicGFnaW5hdGlvbj8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cInBhZ2luYXRpb24/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbVwiXG4gICAgICAgIFtlbmRdPVwicGFnaW5hdGlvbj8ucmVzcG9uc2liaWxpdGllc190b1wiIFt0b3RhbF09XCJwYWdpbmF0aW9uPy50b3RhbF9yZXNwb25zaWJpbGl0aWVzXCJcbiAgICAgICAgW3BhZ2VDb3VudF09XCJwYWdpbmF0aW9uPy50b3RhbF9wYWdlc1wiIFtjdXJyZW50UGFnZV09XCJyZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlXCJcbiAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJyZXNwb25zaWJpbGl0eVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtbWlkIHZ4LW1iLTRcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVxuICAgICAgXCI+XG4gICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcz8ubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgIXJlc3BvbnNpYmlsaXR5TG9hZGVyXG4gICAgICAgIFwiIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gRGF0YSB0byBEaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAgICAgcmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXM/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXJcbiAgICAgICAgXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgI1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUSUVTXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUWSBDRU5URVJcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYWN0aW9uXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgPCEtLSB3aGVuIGNsaWNrIG9uIHJhZGlvIHRoZW4gYWN0aXZlIGNsYXNzIHNob3VsZCBiZSB0cnVlIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCByZXNwb25zaWJpbGl0eSBvZiByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcztcbiAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5wYWdlICogcmVzcG9uc2liaWxpdGllc0RhdGE/LmxpbWl0IC1cbiAgICAgICAgICAgIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5saW1pdCArXG4gICAgICAgICAgICBpICtcbiAgICAgICAgICAgIDEpIGFzIHNyTm9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiIFtjbGFzcy5yZXNwXT1cInJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA9PT0gMVwiIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHk/LmlkID09PSByZXNwb25zaWJpbGl0eT8uaWQgJiYgcmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlscz8ubGVuZ3RoID09PSAxXG4gICAgICAgICAgICAgIFwiIFtjbGFzcy53aXRoLXN1Yi1yZXNwb25zaWJpbGl0eV09XCJvcGVuZWRSZXNwb25zaWJpbGl0eS5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eT8uaWQpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZURldGFpbHMgYXMgYXNzaWduZWVEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICBzck5vICBcbiAgICAgICAgICAgICAgICAgICAgXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7c3JOb319XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvICpuZ0lmPVwiYXNzaWduZWVEZXRhaWxzPy5sZW5ndGggPT09IDFcIiBbbmFtZV09XCInb25Db21wbGV0aW9uJ1wiIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/LnJlc3BvbnNpYmlsaXR5Py5pZCA9PT0gcmVzcG9uc2liaWxpdHk/LmlkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJvbkNvbXBsZXRpb25DaGFuZ2Uoe2VhY2hBc3NpZ25lZTogYXNzaWduZWVEZXRhaWxzWzBdLCByZXNwb25zaWJpbGl0eX0pXCI+PC9hcHAtY3MtcmFkaW8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eSB3aXRoLXJjXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dCB2eC1wci01ICB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1saXN0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYXZhdGFyLXYyIFthdmF0YXJMaXN0XT1cInJlc3BvbnNpYmlsaXR5Py5hbGxBc3NpZ25lZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidTSU5HTEVfQVZBVEFSJ1wiPjwvbGliLWF2YXRhci12Mj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUtdGV4dCB2eC1tbC0xIHJlc3AtbmFtZVwiIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXR5Py50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNvbnRyb2xJZCB9fSB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5hbGxSYyBhcyByY1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXZhbHVlIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dCB2eC1wci01XCIgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByYz8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gcmNbMF0/Lm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nXG4gICAgICAgICAgICAgICAgICAgICAgXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyByY1swXT8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiLS1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByYz8ubGVuZ3RoIFxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInJjPy5sZW5ndGggPiAxXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwicmNQb3B1cC5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tY291bnQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAre3sgcmM/Lmxlbmd0aCAtIDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3JjUG9wdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgb2YgcmM/LnNsaWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cImRhdGE/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3sgZGF0YT8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlUmVzcG9uc2liaWxpdHkocmVzcG9uc2liaWxpdHkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA+IDE7IGVsc2UgY2xvc2VJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgY2xvc2VJY29uXG4gICAgICAgICAgICAgICAgICAgICAgXCIgY2xhc3M9XCJpY29ucyB2eC1mcy0xMFwiPiYjeGU5ZTc7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VJY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMFwiPiAmI3hlOWU4OzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGxpYi1zdWItcmVzcG9uc2liaWxpdHkgKm5nSWY9XCJvcGVuZWRSZXNwb25zaWJpbGl0eS5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eS5pZClcIlxuICAgICAgICAgICAgICAgIFtyZXNwb25zaWJpbGl0eV09XCJyZXNwb25zaWJpbGl0eVwiIFtzck5vXT1cInNyTm9cIiBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eV09XCJzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXCJcbiAgICAgICAgICAgICAgICAob25Db21wbGV0aW9uQ2hhbmdlKT1cIm9uQ29tcGxldGlvbkNoYW5nZSgkZXZlbnQpXCI+PC9saWItc3ViLXJlc3BvbnNpYmlsaXR5PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXIgW3NlbGVjdGVkRGF0YV09XCJbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHldXCIgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIid0aXRsZSdcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJiYWNrKClcIiAoY2xvc2VFdmVudCk9XCJzYXZlKCRldmVudClcIiAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIiFzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eT8uaWRcIj48L2FwcC1mbG9hdGluZy1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+Il19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTN0QsTUFBTSxPQUFPLG9DQUFvQztJQTRDL0MsWUFDVSxnQkFBa0MsRUFDbEMsYUFBNEI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTdDN0Isa0NBQTZCLEdBQVEsRUFBRSxDQUFDO1FBRXZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLHlCQUFvQixHQUFRLEVBQUUsQ0FBQztRQUMvQix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsNkJBQXdC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OzRGRDNKTyxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0UsbUNBQW1DO21JQUtwQyw2QkFBNkI7c0JBQXJDLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcbmltcG9ydCB7IHNsaWNlIH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5UmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHM6IGFueSA9IHt9O1xuXG4gIEBPdXRwdXQoKSBiYWNrQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIHJlc3BvbnNpYmlsaXRpZXNEYXRhOiBhbnkgPSB7fTtcbiAgcmVzcG9uc2liaWxpdHlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlczogYW55O1xuICBcbiAgcmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgcmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgaXNWYWxpZE9iaiA9IGZhbHNlO1xuXG4gIHJlc3BvbnNpYmlsaXR5UGF5bG9hZCA9IHtcbiAgICB0eXBlOiAnYWN0aXZlJyxcbiAgICBwYWdpbmF0aW9uVHlwZTogJ2xhcmdlJyxcbiAgICBhOiAnJyxcbiAgICBzZWFyY2hUZXJtOiAnJyxcbiAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICBhcHBMaXN0OiBbXSxcbiAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogW10sXG4gICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgIGNvbXBsaWFuY2VUeXBlOiBbMV0sXG4gICAgfSxcbiAgICBwYWdlTm86IDEsXG4gICAgc29ydE9iajoge1xuICAgICAgc29ydEJ5OiAnJyxcbiAgICAgIHR5cGU6ICcnLFxuICAgIH0sXG4gICAgcGFnZU5hbWU6ICdvdmVydmlldycsXG4gIH07XG4gIHJlc3BvbnNpYmlsaXR5TGlzdDogYW55O1xuICBjbG9zZTogYW55O1xuICBvcGVuZWRSZXNwb25zaWJpbGl0eTogYW55W10gPSBbXTtcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSxcbiAgICBwcml2YXRlIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgICB0aGlzLnBvcHVsYXRlUmVzcG9uc2liaWxpdHkoKTtcbiAgfVxuXG4gIGJhY2soKSB7XG4gICAgdGhpcy5iYWNrQnV0dG9uLmVtaXQoJ2JhY2tUb09uQ29tcGxldGlvbicpO1xuICB9XG5cblxuICBnZXRSZXNwb25zaWJpbGl0eUxpc3QoKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5mcmVxdWVuY3lTZXJ2aWNlXG4gICAgICA/LmdldFJlc3BvbnNpYmlsaXR5TGlzdCh0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGEgPSByZXM/LmRhdGE7XG4gICAgICAgIGNvbnN0IHBhZ2luYXRpb24gPSB0aGlzLmNvbW1vblNlcnZpY2Uuc2V0UGFnaW5hdGlvbihyZXM/LmRhdGEpO1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhWydwYWdpbmF0aW9uJ10gPSBwYWdpbmF0aW9uO1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhWydyZXNwb25zaWJpbGl0aWVzJ10gPSB0aGlzLm1hcFJlc3BvbnNpYmlsaXR5RGF0YSggdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YSlcblxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGhhc1Jlc3BvbnNpYmlsaXR5ID0gdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcz8uZmluZCgocmVzcG9uc2liaWxpdHk6IGFueSkgPT4gcmVzcG9uc2liaWxpdHkuaWQgPT09IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHk/LmlkKTtcbiAgICAgICAgaWYoaGFzUmVzcG9uc2liaWxpdHkpIHtcbiAgICAgICAgICB0aGlzLm9uVG9nZ2xlUmVzcG9uc2liaWxpdHkoaGFzUmVzcG9uc2liaWxpdHkpO1xuICAgICAgICB9XG4gICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIGNvbnNvbGUubG9nKHsgZXJyb3IgfSwgXCJFcnJvciBpbiBnZXR0aW5nIHJlc3BvbnNpYmlsaXR5IGxpc3RcIik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBwYWdlTnVtYmVyO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXJtID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG5cbiAgZGVsZXRlSXRlbShpdGVtOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSB7fTtcbiAgICB0aGlzLmlzVmFsaWRPYmogPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCA9IFtdO1xuICB9XG4gIHNhdmUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYmFja0J1dHRvbi5lbWl0KCdiYWNrVG9PbkNvbXBsZXRpb24nKTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHkuZW1pdCh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpO1xuICB9XG5cblxuICBzZWFyY2goKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGVybSA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuIFxuICBcbiAgb25Ub2dnbGVSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgaWYodGhpcy5vcGVuZWRSZXNwb25zaWJpbGl0eS5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eS5pZCkpIHtcbiAgICAgIHRoaXMub3BlbmVkUmVzcG9uc2liaWxpdHkgPSB0aGlzLm9wZW5lZFJlc3BvbnNpYmlsaXR5LmZpbHRlcigoaWQ6IGFueSkgPT4gaWQgIT09IHJlc3BvbnNpYmlsaXR5LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuZWRSZXNwb25zaWJpbGl0eS5wdXNoKHJlc3BvbnNpYmlsaXR5LmlkKTtcbiAgICB9XG4gIH1cblxuXG4gICAgLy8gTWFpbiBtZXRob2QgZXhwb3NlZCBvdXRzaWRlXG4gICAgcHVibGljIG1hcFJlc3BvbnNpYmlsaXR5RGF0YShyZXNwb25zaWJpbGl0eTogYW55KTogYW55W10ge1xuICAgICAgaWYgKCFyZXNwb25zaWJpbGl0eSkgcmV0dXJuIFtdO1xuICBcbiAgICAgIGNvbnN0IHVzZXJzID0gdGhpcy5tYXBTaG9ydE5hbWVzKHJlc3BvbnNpYmlsaXR5LnVzZXJzLCB0aGlzLm1hcFNob3J0TmFtZSk7XG4gICAgICBjb25zdCB1c2VyTWFwID0gdGhpcy5idWlsZE1hcCh1c2Vycyk7XG4gICAgICBjb25zdCByY01hcCA9IHRoaXMuYnVpbGRNYXAocmVzcG9uc2liaWxpdHkucmVzcG9uc2liaWxpdHlDZW50ZXJzKTtcbiAgXG4gICAgICByZXR1cm4gKHJlc3BvbnNpYmlsaXR5LnJlc3BvbnNpYmlsaXRpZXMgfHwgW10pLm1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgICB0aGlzLm1hcFJlc3BvbnNpYmlsaXR5SXRlbShpdGVtLCB1c2VyTWFwLCByY01hcClcbiAgICAgICk7XG4gICAgfVxuICBcbiAgICAvLyBIZWxwZXIgbWV0aG9kcyBiZWxvdzpcbiAgXG4gICAgcHJpdmF0ZSBtYXBTaG9ydE5hbWVzKHVzZXJzOiBhbnlbXSwgbWFwU2hvcnROYW1lOiAobmFtZTogc3RyaW5nKSA9PiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgICByZXR1cm4gKHVzZXJzIHx8IFtdKS5tYXAodXNlciA9PiAoe1xuICAgICAgICAuLi51c2VyLFxuICAgICAgICBzaG9ydE5hbWU6IG1hcFNob3J0TmFtZSh1c2VyLm5hbWUpLFxuICAgICAgfSkpO1xuICAgIH1cbiAgXG4gICAgcHJpdmF0ZSBidWlsZE1hcChhcnI6IGFueVtdKTogTWFwPHN0cmluZywgYW55PiB7XG4gICAgICByZXR1cm4gbmV3IE1hcCgoYXJyIHx8IFtdKS5tYXAoaXRlbSA9PiBbaXRlbS5pZCwgaXRlbV0pKTtcbiAgICB9XG4gIFxuICAgIHByaXZhdGUgbWFwQXNzaWduZWVVc2Vycyhhc3NpZ25lZTogYW55LCBhY3RpdmVVc2VySWRzOiBzdHJpbmdbXSwgdXNlck1hcDogTWFwPHN0cmluZywgYW55Pik6IGFueVtdIHtcbiAgICAgIGlmICghYXNzaWduZWUuYXNzaWduZWUpIHtcbiAgICAgICAgcmV0dXJuIChhY3RpdmVVc2VySWRzIHx8IFtdKS5tYXAoaWQgPT4gdXNlck1hcC5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICB9XG4gICAgICBjb25zdCBpZHMgPSBBcnJheS5pc0FycmF5KGFzc2lnbmVlLmFzc2lnbmVlKSA/IGFzc2lnbmVlLmFzc2lnbmVlIDogW2Fzc2lnbmVlLmFzc2lnbmVlXTtcbiAgICAgIHJldHVybiBpZHMubWFwKChpZDogYW55KSA9PiB1c2VyTWFwLmdldCgoaWQpKSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgXG4gICAgcHJpdmF0ZSBtYXBSZXNwb25zaWJpbGl0eUNlbnRlcnMoYXNzaWduZWU6IGFueSwgaXRlbVJDSWRzOiBzdHJpbmdbXSwgcmNNYXA6IE1hcDxzdHJpbmcsIGFueT4pOiBhbnlbXSB7XG4gICAgICBpZiAoIWFzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyKSB7XG4gICAgICAgIHJldHVybiAoaXRlbVJDSWRzIHx8IFtdKS5tYXAoaWQgPT4gcmNNYXAuZ2V0KGlkKSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgfVxuICAgICAgY29uc3QgaWRzID0gQXJyYXkuaXNBcnJheShhc3NpZ25lZS5yZXNwb25zaWJpbGl0eUNlbnRlcikgPyBhc3NpZ25lZS5yZXNwb25zaWJpbGl0eUNlbnRlciA6IFthc3NpZ25lZS5yZXNwb25zaWJpbGl0eUNlbnRlcl07XG4gICAgICByZXR1cm4gaWRzLm1hcCgoaWQ6IGFueSkgPT4gcmNNYXAuZ2V0KGlkKSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgXG4gICAgcHJpdmF0ZSBtYXBSZXNwb25zaWJpbGl0eUl0ZW0oaXRlbTogYW55LCB1c2VyTWFwOiBNYXA8c3RyaW5nLCBhbnk+LCByY01hcDogTWFwPHN0cmluZywgYW55Pik6IGFueSB7XG5cbiAgICAgIGxldCAgYXNzaWduZWVEZXRhaWxzID0gKGl0ZW0uYXNzaWduZWVEZXRhaWxzIHx8IFtdKVxuICAgICAgICAuZmlsdGVyKChhZDogYW55KSA9PiBhZC5zdGF0dXMgJiYgYWQuc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdhY3RpdmUnKVxuICAgICAgICBpZihhc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA9PT0gMCAmJiBpdGVtPy5hc3NpZ25lZVR5cGUgPT09ICdhbnknICYmIFtudWxsLCAnYW55J10uaW5jbHVkZXMoaXRlbT8ucmNUeXBlKSkge1xuICAgICAgICAgIGFzc2lnbmVlRGV0YWlscyA9IFt7XG4gICAgICAgICAgICAuLi5pdGVtLmFzc2lnbmVlRGV0YWlscyxcbiAgICAgICAgICAgIHN0YXR1czogJ2FjdGl2ZScsXG4gICAgICAgICAgfV1cbiAgICAgICAgfVxuICAgICAgICBhc3NpZ25lZURldGFpbHMgPSAgYXNzaWduZWVEZXRhaWxzLm1hcCgoYWQ6IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5hZCxcbiAgICAgICAgICBhc3NpZ25lZUluZm86IHRoaXMubWFwQXNzaWduZWVVc2VycyhhZCwgaXRlbS5hc3NpZ25lZXM/LmFjdGl2ZVVzZXJJZCB8fCBbXSwgdXNlck1hcCksXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXJJbmZvOiB0aGlzLm1hcFJlc3BvbnNpYmlsaXR5Q2VudGVycyhhZCwgaXRlbS5yZXNwb25zaWJpbGl0eUNlbnRlcnMgfHwgW10sIHJjTWFwKSxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBhbGxBc3NpZ25lZSA9IHRoaXMucmVtb3ZlRHVwbGljYXRlQXNzaWduZWUoYXNzaWduZWVEZXRhaWxzKS5tYXAoKGFkOiBhbnkpID0+IGFkLmFzc2lnbmVlSW5mb1swXSk7XG4gICAgICAgIGNvbnN0IGFsbFJjID0gdGhpcy5tYXBSY3MoaXRlbS5yZXNwb25zaWJpbGl0eUNlbnRlcnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICBjb250cm9sSWQ6IGl0ZW0/LmNvbnRyb2xJZCA/ICdbQ0lELScgKyBpdGVtPy5jb250cm9sSWQgKyAnXSAnIDogJycsXG4gICAgICAgIGFzc2lnbmVlRGV0YWlscyxcbiAgICAgICAgIGFsbEFzc2lnbmVlLFxuICAgICAgICAgYWxsUmNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmVtb3ZlRHVwbGljYXRlQXNzaWduZWUoYXNzaWduZWVEZXRhaWxzOiBhbnkpIHtcbiAgICAgIGNvbnN0IHVuaXF1ZU1hcCA9IG5ldyBNYXAoKTtcbiAgICAgIGFzc2lnbmVlRGV0YWlscy5mb3JFYWNoKChvYmo6IGFueSkgPT4ge1xuICAgICAgICB1bmlxdWVNYXAuc2V0KG9iai5hc3NpZ25lZSwgb2JqKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdW5pcXVlQXJyYXkgPSBBcnJheS5mcm9tKHVuaXF1ZU1hcC52YWx1ZXMoKSk7XG4gICAgICAgICAgcmV0dXJuIHVuaXF1ZUFycmF5O1xuICAgICAgICB9XG5cbiAgICAgIG1hcFJjcyhyY3M6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzPy5maWx0ZXIoKHJjOiBhbnkpID0+IHJjcz8uaW5jbHVkZXMocmM/LmlkKSk7XG4gICAgICB9XG4gIFxuICBtYXBTaG9ydE5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZUFycmF5ID0gbmFtZT8uc3BsaXQoJyAnKTtcbiAgICBpZihuYW1lQXJyYXk/Lmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBuYW1lQXJyYXlbMF0/LmNoYXJBdCgwKSArIG5hbWVBcnJheVtuYW1lQXJyYXk/Lmxlbmd0aCAtIDFdPy5jaGFyQXQoMCk7XG4gICAgfVxuICAgIHJldHVybiBuYW1lQXJyYXlbMF0/LmNoYXJBdCgwKSArIG5hbWVBcnJheVswXT8uY2hhckF0KDEpPy50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgcG9wdWxhdGVSZXNwb25zaWJpbGl0eSgpIHtcbiAgICBpZighdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8uYXNzaWduZWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gIHtcbiAgICAgIGVhY2hBc3NpZ25lZToge1xuICAgICAgICBhc3NpZ25lZTogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscy5hc3NpZ25lZSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMucmVzcG9uc2liaWxpdHlDZW50ZXIsXG4gICAgICB9LFxuICAgICAgcmVzcG9uc2liaWxpdHk6IHtcbiAgICAgICAgdGl0bGU6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMudGl0bGUsXG4gICAgICAgIGlkOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmlkLFxuICAgICAgICBhbGxSQzogW10sXG4gICAgICAgIGFsbEFzc2lnbmVlOiBbXSxcbiAgICAgICAgYXNzaWduZWVEZXRhaWxzOiBbe1xuICAgICAgICAgIGFzc2lnbmVlOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmFzc2lnbmVlLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLnJlc3BvbnNpYmlsaXR5Q2VudGVyLFxuICAgICAgICB9XSxcbiAgICAgICAgZWFjaEFzc2lnbmVlOiB7fSxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNvbXBsZXRpb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IGV2ZW50XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtaGVhZCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyBhcnJvdyB2eC1mcy0xNiB2eC1sYWJlbC10eHQgdngtbXItMVwiIChjbGljayk9XCJiYWNrKClcIj4mI3hlOTFkOzwvaT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgUmVzcG9uc2liaWxpdHk8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1ib2R5XCI+XG4gICAgPCEtLSA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJvdGhlcnNDb3VudCA9PT0gMFwiPjwvYXBwLWxvYWRlci1pbmxpbmU+IC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LXNlYXJjaCB2eC1tYi0yXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dFwiIChrZXl1cC5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXRpZXNcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucGFnaW5hdGlvbiBhcyBwYWdpbmF0aW9uXCI+XG4gICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJwYWdpbmF0aW9uPy50b3RhbF9wYWdlcyA+IDFcIiBbc3RhcnRdPVwicGFnaW5hdGlvbj8ucmVzcG9uc2liaWxpdGllc19mcm9tXCJcbiAgICAgICAgW2VuZF09XCJwYWdpbmF0aW9uPy5yZXNwb25zaWJpbGl0aWVzX3RvXCIgW3RvdGFsXT1cInBhZ2luYXRpb24/LnRvdGFsX3Jlc3BvbnNpYmlsaXRpZXNcIlxuICAgICAgICBbcGFnZUNvdW50XT1cInBhZ2luYXRpb24/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2VcIlxuICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cInJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8L2FwcC1wYWdpbmF0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1taWQgdngtbWItNFwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiXG4gICAgICAgICFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiByZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcGFnZXMgPiAxXG4gICAgICBcIj5cbiAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIlxuICAgICAgICAgIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzPy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXJcbiAgICAgICAgXCIgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5zZWFyY2hfZGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBEYXRhIHRvIERpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcz8ubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICFyZXNwb25zaWJpbGl0eUxvYWRlclxuICAgICAgICBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAjXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5XCI+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRJRVNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCI+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICA8IS0tIHdoZW4gY2xpY2sgb24gcmFkaW8gdGhlbiBhY3RpdmUgY2xhc3Mgc2hvdWxkIGJlIHRydWUgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IHJlc3BvbnNpYmlsaXR5IG9mIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzO1xuICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmVzcG9uc2liaWxpdGllc0RhdGE/LnBhZ2UgKiByZXNwb25zaWJpbGl0aWVzRGF0YT8ubGltaXQgLVxuICAgICAgICAgICAgcmVzcG9uc2liaWxpdGllc0RhdGE/LmxpbWl0ICtcbiAgICAgICAgICAgIGkgK1xuICAgICAgICAgICAgMSkgYXMgc3JOb1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW2NsYXNzLnJlc3BdPVwicmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlscz8ubGVuZ3RoID09PSAxXCIgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eT8uaWQgPT09IHJlc3BvbnNpYmlsaXR5Py5pZCAmJiByZXNwb25zaWJpbGl0eT8uYXNzaWduZWVEZXRhaWxzPy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgXCIgW2NsYXNzLndpdGgtc3ViLXJlc3BvbnNpYmlsaXR5XT1cIm9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5pZClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlscyBhcyBhc3NpZ25lZURldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHNyTm8gIFxuICAgICAgICAgICAgICAgICAgICBcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3tzck5vfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW8gKm5nSWY9XCJhc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA9PT0gMVwiIFtuYW1lXT1cIidvbkNvbXBsZXRpb24nXCIgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHk/LmlkID09PSByZXNwb25zaWJpbGl0eT8uaWRcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uQ29tcGxldGlvbkNoYW5nZSh7ZWFjaEFzc2lnbmVlOiBhc3NpZ25lZURldGFpbHNbMF0sIHJlc3BvbnNpYmlsaXR5fSlcIj48L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5IHdpdGgtcmNcIj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0IHZ4LXByLTUgIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWxpc3QgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1hdmF0YXItdjIgW2F2YXRhckxpc3RdPVwicmVzcG9uc2liaWxpdHk/LmFsbEFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ1NJTkdMRV9BVkFUQVInXCI+PC9saWItYXZhdGFyLXYyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZS10ZXh0IHZ4LW1sLTEgcmVzcC1uYW1lXCIgW2FwcFRvb2x0aXBdPVwicmVzcG9uc2liaWxpdHk/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY29udHJvbElkIH19IHt7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHk/LmFsbFJjIGFzIHJjXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0taW5uZXIgdngtZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0tdmFsdWUgdngtZnMtMTEgdngtbGFiZWwtdHh0IHZ4LXByLTVcIiBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyByY1swXT8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICctLSdcbiAgICAgICAgICAgICAgICAgICAgICBcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHJjWzBdPy5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogXCItLVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGggXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwicmM/Lmxlbmd0aCA+IDFcIiBhcHBQb3BvdmVyIChjbGljayk9XCJyY1BvcHVwLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS1jb3VudCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICt7eyByYz8ubGVuZ3RoIC0gMSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcmNQb3B1cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSBvZiByYz8uc2xpY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgW2FwcFRvb2x0aXBdPVwiZGF0YT8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyBkYXRhPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2lnbmVlRGV0YWlscz8ubGVuZ3RoID4gMTsgZWxzZSBjbG9zZUljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkUmVzcG9uc2liaWxpdHkuaW5jbHVkZXMocmVzcG9uc2liaWxpdHkuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBjbG9zZUljb25cbiAgICAgICAgICAgICAgICAgICAgICBcIiBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+JiN4ZTllNzs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjbG9zZUljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+ICYjeGU5ZTg7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bGliLXN1Yi1yZXNwb25zaWJpbGl0eSAqbmdJZj1cIm9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5LmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jlc3BvbnNpYmlsaXR5XT1cInJlc3BvbnNpYmlsaXR5XCIgW3NyTm9dPVwic3JOb1wiIFtzZWxlY3RlZFJlc3BvbnNpYmlsaXR5XT1cInNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcIlxuICAgICAgICAgICAgICAgIChvbkNvbXBsZXRpb25DaGFuZ2UpPVwib25Db21wbGV0aW9uQ2hhbmdlKCRldmVudClcIj48L2xpYi1zdWItcmVzcG9uc2liaWxpdHk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2VsZWN0ZWREYXRhXT1cIltzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eV1cIiBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ3RpdGxlJ1wiXG4gICAgICAoY2xvc2VMaXN0KT1cImJhY2soKVwiIChjbG9zZUV2ZW50KT1cInNhdmUoJGV2ZW50KVwiIChkZWxldGVFdmVudCk9XCJkZWxldGVJdGVtKCRldmVudClcIlxuICAgICAgW2lzRGlzYWJsZWRdPVwiIXNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/LnJlc3BvbnNpYmlsaXR5Py5pZFwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -29467,9 +29467,15 @@ class FrequencyResponsibilityListComponent {
29467
29467
  return ids.map((id) => rcMap.get(id)).filter(Boolean);
29468
29468
  }
29469
29469
  mapResponsibilityItem(item, userMap, rcMap) {
29470
- const assigneeDetails = (item.assigneeDetails || [])
29471
- .filter((ad) => ad.status && ad.status.toLowerCase() === 'active')
29472
- .map((ad) => ({
29470
+ let assigneeDetails = (item.assigneeDetails || [])
29471
+ .filter((ad) => ad.status && ad.status.toLowerCase() === 'active');
29472
+ if (assigneeDetails?.length === 0 && item?.assigneeType === 'any' && [null, 'any'].includes(item?.rcType)) {
29473
+ assigneeDetails = [{
29474
+ ...item.assigneeDetails,
29475
+ status: 'active',
29476
+ }];
29477
+ }
29478
+ assigneeDetails = assigneeDetails.map((ad) => ({
29473
29479
  ...ad,
29474
29480
  assigneeInfo: this.mapAssigneeUsers(ad, item.assignees?.activeUserId || [], userMap),
29475
29481
  responsibilityCenterInfo: this.mapResponsibilityCenters(ad, item.responsibilityCenters || [], rcMap),
@@ -29527,7 +29533,6 @@ class FrequencyResponsibilityListComponent {
29527
29533
  }
29528
29534
  onCompletionChange(event) {
29529
29535
  this.selectedResponsibilityValues = event;
29530
- console.log(this.selectedResponsibilityValues, 'selectedResponsibilityValues');
29531
29536
  }
29532
29537
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyResponsibilityListComponent, deps: [{ token: FrequencyService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Component }); }
29533
29538
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyResponsibilityListComponent, selector: "app-frequency-responsibility-list", inputs: { selectedResponsibilityDetails: "selectedResponsibilityDetails" }, outputs: { backButton: "backButton", selectedResponsibility: "selectedResponsibility" }, ngImport: i0, template: "<div class=\"frequency-responsibility-list\" [class.animate]=\"animation\">\n <div class=\"frequency-responsibility-list-head vx-p-3 vx-d-flex vx-align-center vx-justify-between\">\n <div class=\"vx-d-flex vx-align-center\">\n <i class=\"icons arrow vx-fs-16 vx-label-txt vx-mr-1\" (click)=\"back()\">&#xe91d;</i>\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Responsibility</div>\n </div>\n </div>\n <div class=\"frequency-responsibility-list-body\">\n <!-- <app-loader-inline *ngIf=\"othersCount === 0\"></app-loader-inline> -->\n\n <div class=\"frequency-responsibility-list-search vx-mb-2\">\n <i class=\"icons vx-fs-12\">&#xe90b;</i>\n <input type=\"text\" [(ngModel)]=\"responsibilitySearchText\" (keyup.enter)=\"search()\"\n placeholder=\"Search Responsibilities\" />\n </div>\n <ng-container *ngIf=\"responsibilitiesData?.pagination as pagination\">\n <app-pagination *ngIf=\"pagination?.total_pages > 1\" [start]=\"pagination?.responsibilities_from\"\n [end]=\"pagination?.responsibilities_to\" [total]=\"pagination?.total_responsibilities\"\n [pageCount]=\"pagination?.total_pages\" [currentPage]=\"responsibilityCurrentPage\"\n (selectedPage)=\"responsibilityPageChange($event)\">\n </app-pagination>\n </ng-container>\n\n <app-loader-inline *ngIf=\"responsibilityLoader\"></app-loader-inline>\n <div class=\"frequency-responsibility-list-mid vx-mb-4\" [class.with-pagination]=\"\n !responsibilityLoader && responsibilitiesData?.total_pages > 1\n \">\n <app-no-data *ngIf=\"\n responsibilitiesData?.responsibilities?.length === 0 &&\n !responsibilityLoader\n \" [noDataImage]=\"ASSETS.search_data\" [noDataText]=\"'No Data to Display'\"></app-no-data>\n <ng-container *ngIf=\"\n responsibilitiesData?.responsibilities?.length > 0 &&\n !responsibilityLoader\n \">\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\">\n RESPONSIBILITIES\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\n RESPONSIBILITY CENTER\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <!-- when click on radio then active class should be true -->\n <ng-container *ngFor=\"\n let responsibility of responsibilitiesData?.responsibilities;\n let i = index\n \">\n <ng-container *ngIf=\"(responsibilitiesData?.page * responsibilitiesData?.limit -\n responsibilitiesData?.limit +\n i +\n 1) as srNo\">\n <div class=\"table-row\" [class.resp]=\"responsibility?.assigneeDetails?.length === 1\" [class.active]=\"\n selectedResponsibilityValues?.responsibility?.id === responsibility?.id && responsibility?.assigneeDetails?.length === 1\n \" [class.with-sub-responsibility]=\"openedResponsibility.includes(responsibility?.id)\">\n <ng-container *ngIf=\"responsibility?.assigneeDetails as assigneeDetails\">\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"\n srNo \n \" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n {{srNo}}\n </div>\n <app-cs-radio *ngIf=\"assigneeDetails?.length === 1\" [name]=\"'onCompletion'\" [checked]=\"\n selectedResponsibilityValues?.responsibility?.id === responsibility?.id\n \"\n (checkedEvent)=\"onCompletionChange({eachAssignee: assigneeDetails[0], responsibility})\"></app-cs-radio>\n </div>\n\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility with-rc\">\n\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5 vx-d-flex vx-align-center\">\n <div class=\"avatar-list vx-d-flex vx-align-center\">\n <lib-avatar-v2 [avatarList]=\"responsibility?.allAssignee\"\n [type]=\"'SINGLE_AVATAR'\"></lib-avatar-v2>\n </div>\n\n <span class=\"value-text vx-ml-1 resp-name\" [appTooltip]=\"responsibility?.title\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{\n responsibility?.controlId }} {{\n responsibility?.title\n }}</span>\n </div>\n </div>\n\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\n <ng-container *ngIf=\"responsibility?.allRc as rc\">\n <div class=\"program-inner vx-d-block\">\n <div class=\"program-value vx-fs-11 vx-label-txt vx-pr-5\" [appTooltip]=\"\n rc?.length\n ? rc[0]?.name\n : '--'\n \" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n {{\n rc?.length\n ? rc[0]?.name\n : \"--\"\n }}\n </div>\n <ng-container *ngIf=\"\n rc?.length \n \">\n </ng-container>\n </div>\n <button *ngIf=\"rc?.length > 1\" appPopover (click)=\"rcPopup.popover()\" placement=\"right\"\n class=\"program-count vx-fs-11 vx-fw-500 vx-txt-white vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\">\n +{{ rc?.length - 1 }}\n </button>\n <app-popover #rcPopup>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"\n let data of rc?.slice(\n 1,\n rc?.length\n )\n \">\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span class=\"value\" [appTooltip]=\"data?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\">{{ data?.name }}</span>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </ng-container>\n </div>\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\"\n (click)=\"onToggleResponsibility(responsibility)\">\n <ng-container *ngIf=\"assigneeDetails?.length > 1; else closeIcon\">\n <i *ngIf=\"\n openedResponsibility.includes(responsibility.id);\n else closeIcon\n \" class=\"icons vx-fs-10\">&#xe9e7;</i>\n <ng-template #closeIcon>\n <i class=\"icons vx-fs-10\"> &#xe9e8;</i>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <lib-sub-responsibility *ngIf=\"openedResponsibility.includes(responsibility.id)\"\n [responsibility]=\"responsibility\" [srNo]=\"srNo\" [selectedResponsibility]=\"selectedResponsibilityValues\"\n (onCompletionChange)=\"onCompletionChange($event)\"></lib-sub-responsibility>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <app-floating-bar [selectedData]=\"[selectedResponsibilityValues?.responsibility]\" [displayElementKey]=\"'title'\"\n (closeList)=\"back()\" (closeEvent)=\"save($event)\" (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"!selectedResponsibilityValues?.responsibility?.id\"></app-floating-bar>\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/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.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/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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/table-card/table-card.css\";::ng-deep .frequency-responsibility-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:32.5rem;bottom:0;left:0}::ng-deep .frequency-responsibility-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .frequency-responsibility-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-responsibility-list-head .arrow{cursor:pointer}::ng-deep .frequency-responsibility-list-body{background:#fff;height:calc(100% - 2.75rem);padding:1.5rem .75rem 1.5rem 2rem}::ng-deep .frequency-responsibility-list-body app-pagination .wk-pagination-sec-ds{border-radius:0;padding:0 0 .5rem}::ng-deep .frequency-responsibility-list-body app-floating-bar .floating-bar{padding:0;position:relative;left:-1rem;width:calc(100% + 2rem)}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar{padding-left:0!important;padding-right:0!important}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar .userGroup-floating-bar-container .left .chip span{max-width:240px}::ng-deep .frequency-responsibility-list-search{position:relative}::ng-deep .frequency-responsibility-list-search input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763F;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .frequency-responsibility-list-search input::placeholder{color:#747576;opacity:1}::ng-deep .frequency-responsibility-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .frequency-responsibility-list-mid{height:calc(100% - 8rem);overflow:auto}::ng-deep .frequency-responsibility-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .frequency-responsibility-list-mid.with-pagination{height:calc(100% - 10rem)}::ng-deep .frequency-responsibility-list-mid .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .frequency-responsibility-list-mid .table-header .table-column{color:#161b2f!important;line-height:.75rem!important;min-height:1.875rem!important}::ng-deep .frequency-responsibility-list-mid .table-body{position:relative}::ng-deep .frequency-responsibility-list-mid .table-body .table-row{background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;margin-bottom:.25rem}::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp:hover .table-column.serial .sr-no,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp.active .table-column.serial .sr-no{opacity:0}::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp:hover .table-column.serial app-cs-radio,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.resp.active .table-column.serial app-cs-radio{opacity:1}::ng-deep .frequency-responsibility-list-mid .table-body .table-row lib-sub-responsibility{position:relative;top:2.5rem;left:0;width:100%;z-index:1;background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;padding:.5rem}::ng-deep .frequency-responsibility-list-mid .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .frequency-responsibility-list-mid .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-radio{position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-radio .radio-item{position:absolute}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility{width:calc(100% - 19rem);min-width:calc(100% - 19rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .avatar-list{width:2.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .avatar-list app-avatar~app-avatar{margin-left:-.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .resp-name{text-overflow:ellipsis;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center{width:14rem;min-width:14rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.action{width:3rem;min-width:3rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.action.active{cursor:pointer}::ng-deep .frequency-responsibility-list-mid .table-row.with-sub-responsibility{background:#f9f9fa;margin-bottom:0}@keyframes animate-right{0%{transform:translate(5px);opacity:0}to{transform:translate(0);opacity:1}}.wf-action-list{width:220px}.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}.wf-action-list ul.action-item{display:block}.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}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.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}.wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "directive", type: ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "isResponsibility", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: SubResponsibilityComponent, selector: "lib-sub-responsibility", inputs: ["responsibility", "srNo", "selectedResponsibility"], outputs: ["onCompletionChange"] }, { kind: "component", type: AvatarV2Component, selector: "lib-avatar-v2", inputs: ["avatarList", "type"] }] }); }