vcomply-workflow-engine 3.5.6 → 3.5.7

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.
Files changed (33) hide show
  1. package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +4 -4
  2. package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +5 -5
  3. package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +1 -1
  4. package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +1 -1
  5. package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +1 -1
  6. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +1 -1
  7. package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +1 -1
  8. package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +1 -1
  9. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +5 -5
  10. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +5 -5
  11. package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +5 -5
  12. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +6 -6
  13. package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +1 -1
  14. package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +2 -2
  15. package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +2 -2
  16. package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +1 -1
  17. package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +1 -1
  18. package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +2 -2
  19. package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +1 -1
  20. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +1 -1
  21. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +1 -1
  22. package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +1 -1
  23. package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +1 -1
  24. package/fesm2022/vcomply-workflow-engine.mjs +65 -65
  25. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  26. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
  27. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts +1 -1
  28. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +3 -3
  29. package/lib/ui-kit/no-data/no-data.component.d.ts +3 -3
  30. package/lib/ui-kit/no-data/no-data.module.d.ts +1 -1
  31. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +3 -3
  32. package/lib/ui-kit/pagination/pagination.module.d.ts +1 -1
  33. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { PaginationComponent } from './pagination/pagination.component';
3
+ import { PaginationComponentUI } from './pagination/pagination.component';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import * as i0 from "@angular/core";
6
6
  export class PaginationModule {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PaginationModule, declarations: [PaginationComponent], imports: [CommonModule,
9
- FormsModule], exports: [PaginationComponent] }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PaginationModule, declarations: [PaginationComponentUI], imports: [CommonModule,
9
+ FormsModule], exports: [PaginationComponentUI] }); }
10
10
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule,
11
11
  FormsModule] }); }
12
12
  }
@@ -14,15 +14,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [
17
- PaginationComponent
17
+ PaginationComponentUI
18
18
  ],
19
19
  imports: [
20
20
  CommonModule,
21
21
  FormsModule
22
22
  ],
23
23
  exports: [
24
- PaginationComponent
24
+ PaginationComponentUI
25
25
  ]
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBZ0I3QyxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFWekIsbUJBQW1CLGFBR25CLFlBQVk7WUFDWixXQUFXLGFBR1gsbUJBQW1CO2dIQUdWLGdCQUFnQixZQVB6QixZQUFZO1lBQ1osV0FBVzs7NEZBTUYsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Nb2R1bGUgeyB9XHJcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBZ0I3QyxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFWekIscUJBQXFCLGFBR3JCLFlBQVk7WUFDWixXQUFXLGFBR1gscUJBQXFCO2dIQUdaLGdCQUFnQixZQVB6QixZQUFZO1lBQ1osV0FBVzs7NEZBTUYsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50VUkgfSBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBhZ2luYXRpb25Db21wb25lbnRVSVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBhZ2luYXRpb25Db21wb25lbnRVSVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Nb2R1bGUgeyB9XHJcbiJdfQ==
@@ -86,7 +86,7 @@ export class GrcCategoryListingComponent {
86
86
  });
87
87
  }
88
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcCategoryListingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcCategoryListingComponent, isStandalone: true, selector: "app-grc-category-listing", inputs: { tableCard: "tableCard", headerText: "headerText", currentPage: "currentPage", selectedTabIndex: "selectedTabIndex", selectedCatAndRisk: "selectedCatAndRisk", selectedCategoryIds: "selectedCategoryIds", categoryList: ["categories", "categoryList"], getProgramData: ["programData", "getProgramData"] }, outputs: { activeSelectedCategory: "activeSelectedCategory", onCategoryPageChange: "onCategoryPageChange" }, ngImport: i0, template: "<div class=\"grc-category-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"true\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"false\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-category-listing-inner\">\r\n <div class=\"category-table-body\" [class.with-pagination]=\"totalPage > 1\">\r\n <div class=\"category-table-row cursor-pointer\" *ngFor=\"let category of categories; let i = index\" [class.active]=\"selectedCategoryIds?.includes(category?.category_id)\" [class.select]=\"activeCategoryId === category?.category_id\" (click)=\"onCategoryClick(category, 'view')\">\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i + (categoryFrom || (perPageLimit * (currentPage - 1) + 1))\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(categoryFrom || (perPageLimit * (currentPage - 1) + 1)) + i}}</div>\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"selectedCategoryIds?.includes(category?.category_id)\" (ngValueChange)=\"getSelectedCategory(category,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"category-table-column vx-pr-1 vx-d-flex vx-align-center category-name\">\r\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"category[nameDisplayKey]\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category[nameDisplayKey]}}</div>\r\n </div>\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\r\n <i *ngIf=\"selectedCategoryIds?.includes(category?.category_id) || selectedCategoryIds?.includes(category?._id)\" class=\"icons grc-tick vx-fs-14\">&#xe93d;</i>\r\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\">&#xe970;</i></button>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPage > 1\" [start]=\"categoryFrom || (perPageLimit * (currentPage - 1) + 1)\" [end]=\"categoryEnd || (perPageLimit * currentPage)\" [total]=\"totalCategory\" [pageCount]=\"totalPage\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-category-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-category-listing .top-heading app-cs-checkbox,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-category-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-category-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-category-listing-inner .category-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover{background:#fbfbfb}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover .category-table-column.serial app-cs-checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.active .category-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.cursor-pointer{cursor:pointer}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select{background:#161b2f}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.serial .sr-no{background:#ffffff30;color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.category-name .value{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.action button.arrow-btn{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select.active .category-table-column.serial .sr-no{background:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column{min-height:2.5rem;position:relative;width:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-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 .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name{width:calc(100% - 3.5rem);min-width:calc(100% - 3.5rem)}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action{width:1.5rem;max-width:1.5rem;justify-content:center;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action button.arrow-btn{background:transparent;border-radius:0;border:none;width:100%;height:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action .grc-tick{color:#34aa44;position:absolute;top:13px;left:-16px}::ng-deep .grc-category-listing-inner .category-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i2.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i3.CsCheckboxIndeterminateComponentUI, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i5.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcCategoryListingComponent, isStandalone: true, selector: "app-grc-category-listing", inputs: { tableCard: "tableCard", headerText: "headerText", currentPage: "currentPage", selectedTabIndex: "selectedTabIndex", selectedCatAndRisk: "selectedCatAndRisk", selectedCategoryIds: "selectedCategoryIds", categoryList: ["categories", "categoryList"], getProgramData: ["programData", "getProgramData"] }, outputs: { activeSelectedCategory: "activeSelectedCategory", onCategoryPageChange: "onCategoryPageChange" }, ngImport: i0, template: "<div class=\"grc-category-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"true\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"false\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-category-listing-inner\">\r\n <div class=\"category-table-body\" [class.with-pagination]=\"totalPage > 1\">\r\n <div class=\"category-table-row cursor-pointer\" *ngFor=\"let category of categories; let i = index\" [class.active]=\"selectedCategoryIds?.includes(category?.category_id)\" [class.select]=\"activeCategoryId === category?.category_id\" (click)=\"onCategoryClick(category, 'view')\">\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i + (categoryFrom || (perPageLimit * (currentPage - 1) + 1))\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(categoryFrom || (perPageLimit * (currentPage - 1) + 1)) + i}}</div>\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"selectedCategoryIds?.includes(category?.category_id)\" (ngValueChange)=\"getSelectedCategory(category,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"category-table-column vx-pr-1 vx-d-flex vx-align-center category-name\">\r\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"category[nameDisplayKey]\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category[nameDisplayKey]}}</div>\r\n </div>\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\r\n <i *ngIf=\"selectedCategoryIds?.includes(category?.category_id) || selectedCategoryIds?.includes(category?._id)\" class=\"icons grc-tick vx-fs-14\">&#xe93d;</i>\r\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\">&#xe970;</i></button>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPage > 1\" [start]=\"categoryFrom || (perPageLimit * (currentPage - 1) + 1)\" [end]=\"categoryEnd || (perPageLimit * currentPage)\" [total]=\"totalCategory\" [pageCount]=\"totalPage\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-category-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-category-listing .top-heading app-cs-checkbox,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-category-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-category-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-category-listing-inner .category-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover{background:#fbfbfb}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover .category-table-column.serial app-cs-checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.active .category-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.cursor-pointer{cursor:pointer}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select{background:#161b2f}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.serial .sr-no{background:#ffffff30;color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.category-name .value{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.action button.arrow-btn{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select.active .category-table-column.serial .sr-no{background:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column{min-height:2.5rem;position:relative;width:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-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 .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name{width:calc(100% - 3.5rem);min-width:calc(100% - 3.5rem)}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action{width:1.5rem;max-width:1.5rem;justify-content:center;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action button.arrow-btn{background:transparent;border-radius:0;border:none;width:100%;height:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action .grc-tick{color:#34aa44;position:absolute;top:13px;left:-16px}::ng-deep .grc-category-listing-inner .category-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i2.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i3.CsCheckboxIndeterminateComponentUI, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i5.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] }); }
90
90
  }
91
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcCategoryListingComponent, decorators: [{
92
92
  type: Component,
@@ -166,7 +166,7 @@ export class GrcObjectListComponent {
166
166
  });
167
167
  }
168
168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcObjectListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", cardLoader: "cardLoader", onEditGRCId: "onEditGRCId", mode: "mode", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div\r\n class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <app-table-card-loader *ngIf=\"cardLoader\"></app-table-card-loader>\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\" *ngIf=\"!cardLoader\">\r\n <app-table-card\r\n class=\"vx-w-100\"\r\n [tableCard]=\"tableCard\"\r\n [singleSelectedText]=\"'GRC Object Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'GRC Objects Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\"\r\n ></app-table-card>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n #searchGRC\r\n (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\"\r\n />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination\r\n *ngIf=\"grcObject?.total_pages > 1\"\r\n [start]=\"grcObject?.items_from\"\r\n [end]=\"grcObject?.items_to\"\r\n [total]=\"grcObject?.total_items\"\r\n [pageCount]=\"grcObject?.total_pages\"\r\n [currentPage]=\"currentPage\"\r\n (selectedPage)=\"changePage($event)\"\r\n ></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\r\n {{ selectAllButton }}\r\n </div></app-cs-checkbox\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"workflow-grc-object-list-body-table\"\r\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\r\n >\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n RESPONSIBILITY CENTER\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let grc of grcObject?.data; let i = index\"\r\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\" [class.disabled]=\"mode === 'EDIT' && onEditGRCId === grc?._id\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"grcObject?.items_from + i\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ grcObject?.items_from + i }}\r\n </div>\r\n <app-cs-checkbox\r\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\r\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\r\n ></app-cs-checkbox>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.rcDetails[0]?.rc_name }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"within-part vx-d-flex vx-align-center\"\r\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\r\n >\r\n <div\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\r\n >\r\n Within\r\n </div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"grc?.rcDetails?.length > 1\"\r\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"rcCount.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ grc?.rcDetails?.length - 1 }}\r\n </button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"rcDetails?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rcDetails?.rc_name }}</span\r\n >\r\n <div\r\n class=\"within\"\r\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\r\n >\r\n <div class=\"block\">WITHIN</div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data\r\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\r\n [noDataImage]=\"CDN_LINK?.noData\"\r\n [noDataText]=\"'No data to display'\"\r\n ></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\r\n (closeList)=\"close()\"\r\n (closeEvent)=\"save()\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'GRC Object selected'\"\r\n [pluralText]=\"'GRC Objects selected'\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n ></app-floating-bar>\r\n </div>\r\n</div>\r\n", 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/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.disabled{pointer-events:none;background:#fbfbfb}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .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 .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.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 button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.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;min-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{background:#fff;width:100%;height: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{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:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.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 .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", cardLoader: "cardLoader", onEditGRCId: "onEditGRCId", mode: "mode", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div\r\n class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <app-table-card-loader *ngIf=\"cardLoader\"></app-table-card-loader>\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\" *ngIf=\"!cardLoader\">\r\n <app-table-card\r\n class=\"vx-w-100\"\r\n [tableCard]=\"tableCard\"\r\n [singleSelectedText]=\"'GRC Object Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'GRC Objects Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\"\r\n ></app-table-card>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n #searchGRC\r\n (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\"\r\n />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination\r\n *ngIf=\"grcObject?.total_pages > 1\"\r\n [start]=\"grcObject?.items_from\"\r\n [end]=\"grcObject?.items_to\"\r\n [total]=\"grcObject?.total_items\"\r\n [pageCount]=\"grcObject?.total_pages\"\r\n [currentPage]=\"currentPage\"\r\n (selectedPage)=\"changePage($event)\"\r\n ></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\r\n {{ selectAllButton }}\r\n </div></app-cs-checkbox\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"workflow-grc-object-list-body-table\"\r\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\r\n >\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n RESPONSIBILITY CENTER\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let grc of grcObject?.data; let i = index\"\r\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\" [class.disabled]=\"mode === 'EDIT' && onEditGRCId === grc?._id\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"grcObject?.items_from + i\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ grcObject?.items_from + i }}\r\n </div>\r\n <app-cs-checkbox\r\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\r\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\r\n ></app-cs-checkbox>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.rcDetails[0]?.rc_name }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"within-part vx-d-flex vx-align-center\"\r\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\r\n >\r\n <div\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\r\n >\r\n Within\r\n </div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"grc?.rcDetails?.length > 1\"\r\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"rcCount.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ grc?.rcDetails?.length - 1 }}\r\n </button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"rcDetails?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rcDetails?.rc_name }}</span\r\n >\r\n <div\r\n class=\"within\"\r\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\r\n >\r\n <div class=\"block\">WITHIN</div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data\r\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\r\n [noDataImage]=\"CDN_LINK?.noData\"\r\n [noDataText]=\"'No data to display'\"\r\n ></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\r\n (closeList)=\"close()\"\r\n (closeEvent)=\"save()\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'GRC Object selected'\"\r\n [pluralText]=\"'GRC Objects selected'\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n ></app-floating-bar>\r\n </div>\r\n</div>\r\n", 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/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.disabled{pointer-events:none;background:#fbfbfb}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .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 .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.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 button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.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;min-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{background:#fff;width:100%;height: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{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:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.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 .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] }); }
170
170
  }
171
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcObjectListComponent, decorators: [{
172
172
  type: Component,
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
195
195
  type: Input,
196
196
  args: ['selectedGRC']
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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QStPQSwwOFpEN05JLFlBQVksb1RBQ1osYUFBYSxzUEFDYixlQUFlLHdMQUNmLGFBQWEscU1BQ2IsaUJBQWlCLHlqQkFDakIsZ0JBQWdCLGdQQUNoQixrQkFBa0IsMktBQ2xCLFlBQVksZ1RBQ1osZ0JBQWdCLGlIQUNoQix3QkFBd0I7OzRGQWdCZixzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3FCQUN6QixVQUdPO3dCQUNOLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsTUFBTTtxQkFDUCxXQUNRLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQzswRUFtQnRDLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBMaXN0TG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9saXN0LWxvYWRlci9saXN0LWxvYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBPVEhFUl9HUkNfQ0FSRCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ncmNPYmplY3QuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3RhYmxlLWNhcmQtbG9hZGVyL3RhYmxlLWNhcmQtbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gICAgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAnZ3JjT2JqZWN0JyxcclxuICAgICdjdXJyZW50UGFnZScsXHJcbiAgICAnbG9hZGVyJyxcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ3NlbGVjdGVkVGFiJyxcclxuICAgICdjYXJkTG9hZGVyJyxcclxuICAgICdvbkVkaXRHUkNJZCcsXHJcbiAgICAnbW9kZScsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ3NhdmVPdGhlckdSQycsICdjbG9zZU90aGVyR1JDJywgJ2dldE90aGVyR1JDT2JqZWN0cyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JjT2JqZWN0TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYW5pbWF0aW9uITogYm9vbGVhbjtcclxuICBDRE5fTElOSyA9IExJTktTO1xyXG4gIHRhYmxlQ2FyZCA9IE9USEVSX0dSQ19DQVJEO1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhcmRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XHJcbiAgb25FZGl0R1JDSWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWJDb3VudChzZWxlY3RlZEdSQyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR1JDSWRzID0gdGhpcy5nZXRJZHModGhpcy5zZWxlY3RlZEdSQywgJ19pZCcpO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZEdSQyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2VsZWN0ZWRHUkMpKTtcclxuICB9XHJcblxyXG4gIHNhdmVPdGhlckdSQzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2xvc2VPdGhlckdSQzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZ2V0T3RoZXJHUkNPYmplY3RzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIGdldElkcyhzZWxlY3RlZExpc3Q6IEFycmF5PGFueT4sIGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgaWRzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBpZiAoc2VsZWN0ZWRMaXN0Py5sZW5ndGgpIHtcclxuICAgICAgc2VsZWN0ZWRMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlkcy5wdXNoKGVsZW1lbnRba2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkcyA/PyBbXTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkR1JDKGdyYzogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCBncmM/LnR5cGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVFdmVudChncmMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZ3JjOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSB0aGlzLnNlbGVjdGVkR1JDPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSBncmM/Ll9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLnNlbGVjdGVkR1JDSWRzPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZEdSQ0lkOiBhbnkpID0+IHNlbGVjdGVkR1JDSWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KGZhbHNlLCBncmM/LnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3Q/LmRhdGE/LmZvckVhY2goKGdyYzogYW55KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEdSQ0lkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkMucHVzaChncmMpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCBncmM/LnR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGFiU2VsZWN0ZWRDb3VudChldmVudDogYm9vbGVhbiwgdHlwZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudCsrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudFxyXG4gICAgICAgID8gdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudC0tXHJcbiAgICAgICAgOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLmxlbmd0aCA+PSB0aGlzLmdyY09iamVjdD8uZGF0YT8ubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIGZvciAoY29uc3QgZ3JjIG9mIHRoaXMuZ3JjT2JqZWN0Py5kYXRhKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnU2VsZWN0IEFsbCc7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsQnV0dG9uID0gJ0Rlc2VsZWN0IEFsbCc7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnU2VsZWN0IEFsbCc7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZU90aGVyR1JDLmVtaXQodGhpcy5zZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VPdGhlckdSQy5lbWl0KHRoaXMucHJlU2VsZWN0ZWRHUkMpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiBldmVudD8udHlwZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTZWxlY3RlZFRhYkNvdW50KCkge1xyXG4gICAgdGhpcy50YWJsZUNhcmQuZm9yRWFjaCgodGFiOiBhbnkpID0+IHtcclxuICAgICAgdGFiLnNlbGVjdGVkQ291bnQgPSAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYkNvdW50KGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5yZXNldFNlbGVjdGVkVGFiQ291bnQoKTtcclxuICAgIGRhdGEuZm9yRWFjaCgodGFiOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIHRhYj8udHlwZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBHUkMgT2JqZWN0KHMpPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5XCI+XHJcbiAgICA8YXBwLXRhYmxlLWNhcmQtbG9hZGVyICpuZ0lmPVwiY2FyZExvYWRlclwiPjwvYXBwLXRhYmxlLWNhcmQtbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWNhcmQtYXJlYSB2eC1kLWZsZXggdngtbWItMlwiICAqbmdJZj1cIiFjYXJkTG9hZGVyXCI+XHJcbiAgICAgIDxhcHAtdGFibGUtY2FyZFxyXG4gICAgICAgIGNsYXNzPVwidngtdy0xMDBcIlxyXG4gICAgICAgIFt0YWJsZUNhcmRdPVwidGFibGVDYXJkXCJcclxuICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0IFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcclxuICAgICAgICBbbXVsdGlwbGVTZWxlY3RlZFRleHRdPVwiJ0dSQyBPYmplY3RzIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIlxyXG4gICAgICA+PC9hcHAtdGFibGUtY2FyZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2tcIj5cclxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgI3NlYXJjaEdSQ1xyXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEdSQyBvYmplY3RzXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keS1pbm5lciB2eC1tYi00XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyICYmIGdyY09iamVjdD8uZGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uXHJcbiAgICAgICAgICAqbmdJZj1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCJcclxuICAgICAgICAgIFtzdGFydF09XCJncmNPYmplY3Q/Lml0ZW1zX2Zyb21cIlxyXG4gICAgICAgICAgW2VuZF09XCJncmNPYmplY3Q/Lml0ZW1zX3RvXCJcclxuICAgICAgICAgIFt0b3RhbF09XCJncmNPYmplY3Q/LnRvdGFsX2l0ZW1zXCJcclxuICAgICAgICAgIFtwYWdlQ291bnRdPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlc1wiXHJcbiAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxyXG4gICAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIlxyXG4gICAgICAgID48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsIHZ4LW10LTEgdngtbWItMSB2eC1wbC0yXCI+XHJcbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjxkaXYgY2xhc3M9XCJ2eC1mcy0xMiB2eC1mdy02MDAgdngtbGFiZWwtdHh0XCI+XHJcbiAgICAgICAgICAgICAge3sgc2VsZWN0QWxsQnV0dG9uIH19XHJcbiAgICAgICAgICAgIDwvZGl2PjwvYXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktdGFibGVcIlxyXG4gICAgICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzID4gMVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgI1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBOQU1FXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVFkgQ0VOVEVSXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3dcIlxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncmMgb2YgZ3JjT2JqZWN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIiBbY2xhc3MuZGlzYWJsZWRdPVwibW9kZSA9PT0gJ0VESVQnICYmIG9uRWRpdEdSQ0lkID09PSBncmM/Ll9pZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyY09iamVjdD8uaXRlbXNfZnJvbSArIGlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZEdSQyhncmMsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYW1lIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBncmM/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJjLWlubmVyIHZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgV2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYz8ucmNEZXRhaWxzWzBdPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmM/LnJjRGV0YWlscz8ubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmMtY291bnQtYnRuIHZ4LWZzLTExIHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJjQ291bnQucG9wb3ZlcigpXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAre3sgZ3JjPy5yY0RldGFpbHM/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZSA6IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY0RldGFpbHM/LnJjX25hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHJjRGV0YWlscz8ucmNfbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY0RldGFpbHM/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgIDxhcHAtbm8tZGF0YVxyXG4gICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIlxyXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcclxuICAgICAgPjwvYXBwLW5vLWRhdGE+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkR1JDPy5sZW5ndGggPyBzZWxlY3RlZEdSQyA6IFtdXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiXHJcbiAgICAgIFtzaW5ndWxhclRleHRdPVwiJ0dSQyBPYmplY3Qgc2VsZWN0ZWQnXCJcclxuICAgICAgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiXHJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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QStPQSwwOFpEN05JLFlBQVksb1RBQ1osYUFBYSxzUEFDYixlQUFlLHdMQUNmLGFBQWEscU1BQ2IsaUJBQWlCLHlqQkFDakIsZ0JBQWdCLGtQQUNoQixrQkFBa0IsMktBQ2xCLFlBQVksa1RBQ1osZ0JBQWdCLGlIQUNoQix3QkFBd0I7OzRGQWdCZixzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3FCQUN6QixVQUdPO3dCQUNOLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsTUFBTTtxQkFDUCxXQUNRLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQzswRUFtQnRDLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBMaXN0TG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9saXN0LWxvYWRlci9saXN0LWxvYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBPVEhFUl9HUkNfQ0FSRCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ncmNPYmplY3QuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3RhYmxlLWNhcmQtbG9hZGVyL3RhYmxlLWNhcmQtbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gICAgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAnZ3JjT2JqZWN0JyxcclxuICAgICdjdXJyZW50UGFnZScsXHJcbiAgICAnbG9hZGVyJyxcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ3NlbGVjdGVkVGFiJyxcclxuICAgICdjYXJkTG9hZGVyJyxcclxuICAgICdvbkVkaXRHUkNJZCcsXHJcbiAgICAnbW9kZScsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ3NhdmVPdGhlckdSQycsICdjbG9zZU90aGVyR1JDJywgJ2dldE90aGVyR1JDT2JqZWN0cyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JjT2JqZWN0TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYW5pbWF0aW9uITogYm9vbGVhbjtcclxuICBDRE5fTElOSyA9IExJTktTO1xyXG4gIHRhYmxlQ2FyZCA9IE9USEVSX0dSQ19DQVJEO1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhcmRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XHJcbiAgb25FZGl0R1JDSWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWJDb3VudChzZWxlY3RlZEdSQyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR1JDSWRzID0gdGhpcy5nZXRJZHModGhpcy5zZWxlY3RlZEdSQywgJ19pZCcpO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZEdSQyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2VsZWN0ZWRHUkMpKTtcclxuICB9XHJcblxyXG4gIHNhdmVPdGhlckdSQzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2xvc2VPdGhlckdSQzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZ2V0T3RoZXJHUkNPYmplY3RzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIGdldElkcyhzZWxlY3RlZExpc3Q6IEFycmF5PGFueT4sIGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgaWRzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBpZiAoc2VsZWN0ZWRMaXN0Py5sZW5ndGgpIHtcclxuICAgICAgc2VsZWN0ZWRMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlkcy5wdXNoKGVsZW1lbnRba2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkcyA/PyBbXTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkR1JDKGdyYzogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCBncmM/LnR5cGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVFdmVudChncmMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZ3JjOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSB0aGlzLnNlbGVjdGVkR1JDPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSBncmM/Ll9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLnNlbGVjdGVkR1JDSWRzPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZEdSQ0lkOiBhbnkpID0+IHNlbGVjdGVkR1JDSWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KGZhbHNlLCBncmM/LnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3Q/LmRhdGE/LmZvckVhY2goKGdyYzogYW55KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEdSQ0lkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkMucHVzaChncmMpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCBncmM/LnR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGFiU2VsZWN0ZWRDb3VudChldmVudDogYm9vbGVhbiwgdHlwZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudCsrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudFxyXG4gICAgICAgID8gdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudC0tXHJcbiAgICAgICAgOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLmxlbmd0aCA+PSB0aGlzLmdyY09iamVjdD8uZGF0YT8ubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIGZvciAoY29uc3QgZ3JjIG9mIHRoaXMuZ3JjT2JqZWN0Py5kYXRhKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnU2VsZWN0IEFsbCc7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsQnV0dG9uID0gJ0Rlc2VsZWN0IEFsbCc7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnU2VsZWN0IEFsbCc7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZU90aGVyR1JDLmVtaXQodGhpcy5zZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VPdGhlckdSQy5lbWl0KHRoaXMucHJlU2VsZWN0ZWRHUkMpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiBldmVudD8udHlwZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTZWxlY3RlZFRhYkNvdW50KCkge1xyXG4gICAgdGhpcy50YWJsZUNhcmQuZm9yRWFjaCgodGFiOiBhbnkpID0+IHtcclxuICAgICAgdGFiLnNlbGVjdGVkQ291bnQgPSAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYkNvdW50KGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5yZXNldFNlbGVjdGVkVGFiQ291bnQoKTtcclxuICAgIGRhdGEuZm9yRWFjaCgodGFiOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIHRhYj8udHlwZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBHUkMgT2JqZWN0KHMpPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5XCI+XHJcbiAgICA8YXBwLXRhYmxlLWNhcmQtbG9hZGVyICpuZ0lmPVwiY2FyZExvYWRlclwiPjwvYXBwLXRhYmxlLWNhcmQtbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWNhcmQtYXJlYSB2eC1kLWZsZXggdngtbWItMlwiICAqbmdJZj1cIiFjYXJkTG9hZGVyXCI+XHJcbiAgICAgIDxhcHAtdGFibGUtY2FyZFxyXG4gICAgICAgIGNsYXNzPVwidngtdy0xMDBcIlxyXG4gICAgICAgIFt0YWJsZUNhcmRdPVwidGFibGVDYXJkXCJcclxuICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0IFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcclxuICAgICAgICBbbXVsdGlwbGVTZWxlY3RlZFRleHRdPVwiJ0dSQyBPYmplY3RzIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIlxyXG4gICAgICA+PC9hcHAtdGFibGUtY2FyZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2tcIj5cclxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgI3NlYXJjaEdSQ1xyXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEdSQyBvYmplY3RzXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keS1pbm5lciB2eC1tYi00XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyICYmIGdyY09iamVjdD8uZGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uXHJcbiAgICAgICAgICAqbmdJZj1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCJcclxuICAgICAgICAgIFtzdGFydF09XCJncmNPYmplY3Q/Lml0ZW1zX2Zyb21cIlxyXG4gICAgICAgICAgW2VuZF09XCJncmNPYmplY3Q/Lml0ZW1zX3RvXCJcclxuICAgICAgICAgIFt0b3RhbF09XCJncmNPYmplY3Q/LnRvdGFsX2l0ZW1zXCJcclxuICAgICAgICAgIFtwYWdlQ291bnRdPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlc1wiXHJcbiAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxyXG4gICAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIlxyXG4gICAgICAgID48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsIHZ4LW10LTEgdngtbWItMSB2eC1wbC0yXCI+XHJcbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjxkaXYgY2xhc3M9XCJ2eC1mcy0xMiB2eC1mdy02MDAgdngtbGFiZWwtdHh0XCI+XHJcbiAgICAgICAgICAgICAge3sgc2VsZWN0QWxsQnV0dG9uIH19XHJcbiAgICAgICAgICAgIDwvZGl2PjwvYXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktdGFibGVcIlxyXG4gICAgICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzID4gMVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgI1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBOQU1FXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVFkgQ0VOVEVSXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3dcIlxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncmMgb2YgZ3JjT2JqZWN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIiBbY2xhc3MuZGlzYWJsZWRdPVwibW9kZSA9PT0gJ0VESVQnICYmIG9uRWRpdEdSQ0lkID09PSBncmM/Ll9pZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyY09iamVjdD8uaXRlbXNfZnJvbSArIGlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZEdSQyhncmMsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYW1lIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBncmM/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJjLWlubmVyIHZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgV2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYz8ucmNEZXRhaWxzWzBdPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmM/LnJjRGV0YWlscz8ubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmMtY291bnQtYnRuIHZ4LWZzLTExIHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJjQ291bnQucG9wb3ZlcigpXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAre3sgZ3JjPy5yY0RldGFpbHM/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZSA6IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY0RldGFpbHM/LnJjX25hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHJjRGV0YWlscz8ucmNfbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY0RldGFpbHM/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgIDxhcHAtbm8tZGF0YVxyXG4gICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIlxyXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcclxuICAgICAgPjwvYXBwLW5vLWRhdGE+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkR1JDPy5sZW5ndGggPyBzZWxlY3RlZEdSQyA6IFtdXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiXHJcbiAgICAgIFtzaW5ndWxhclRleHRdPVwiJ0dSQyBPYmplY3Qgc2VsZWN0ZWQnXCJcclxuICAgICAgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiXHJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=