vc-create-dashboard 2.2.9 → 2.3.0
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.
- package/bundles/create-dashboard.umd.js +2 -20
- package/bundles/create-dashboard.umd.js.map +1 -1
- package/create-dashboard.metadata.json +1 -1
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.js +2 -2
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngfactory.js +15 -13
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.js +2 -20
- package/fesm2015/create-dashboard.js +2 -20
- package/fesm2015/create-dashboard.js.map +1 -1
- package/package.json +1 -1
|
@@ -509,7 +509,7 @@ export class ConfigureWidgetsComponent {
|
|
|
509
509
|
ConfigureWidgetsComponent.decorators = [
|
|
510
510
|
{ type: Component, args: [{
|
|
511
511
|
selector: 'app-configure-widgets',
|
|
512
|
-
template: "<div class=\"configure-widgets\" *ngIf=\"showWidgets\">\r\n <div class=\"configure-widgets-head\">\r\n <h3 class=\"configure-widgets-title\">Configure Widgets</h3>\r\n <button class=\"configure-widgets-back\" (click)=\"closeConfigureDashboard()\">\r\n <i class=\"icons\"></i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li [class.active]=\"module === 'COMPLIANCE'\" *ngIf=\"showCompliance\" (click)=\"module='COMPLIANCE'\">\r\n <button>Compliance<span>{{complianceWidgetsDisplayCount}}</span></button></li>\r\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\"><button\r\n (click)=\"module='RISK'\">Risks<span>{{riskWidgetsDisplayCount}}</span></button></li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search\">\r\n <i class=\"icons vx-fs-3\"></i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\">\r\n </div>\r\n <div class=\"configure-widgets-list\" *ngIf=\"(widgetsList[module] | search:search).length !== 0\">\r\n <ng-container *ngFor=\"let widget of widgetsList[module] | search:search\">\r\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\r\n <label class=\"block\">\r\n <input type=\"checkbox\" [checked]=\"widget.value\"\r\n (change)=\"selectWidget($event.target.checked,module,widget.id)\">\r\n <div class=\"check-icon\">\r\n <svg class=\"check\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"check-circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"check-circle\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4 class=\"configure-widgets-item-title\" [innerHTML]=\"widget?.title\"></h4>\r\n <p class=\"configure-widgets-item-description\" [innerHTML]=\"widget?.description\"></p>\r\n <button class=\"configure-widgets-item-button add\"\r\n (click)=\"selectWidget(true,module,widget.id) \">+ ADD</button>\r\n <button class=\"configure-widgets-item-button remove\"\r\n (click)=\"selectWidget(false,module,widget.id) \">- Remove</button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img [src]=\"widget?.widgetImage\" alt=\"\">\r\n </div>\r\n <div class=\"floating-option vx-d-flex\" *ngIf=\"widget?.subWidgets?.length>0\">\r\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\r\n <app-cs-checkbox *ngIf=\"subWidget.visibility\"\r\n (ngValueChange)=\"selectWidget($event, module,widget.id,subWidget.id)\"\r\n [ngValue]=\"subWidget.value\">{{subWidget.title}}\r\n </app-cs-checkbox>\r\n </ng-container>\r\n \r\n </div>\r\n\r\n </div>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- No Data Image -->\r\n\r\n </div>\r\n <app-no-data *ngIf=\"(widgetsList[module] | search:search).length === 0 \"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/configure-widget/assets/images/configure-widget.svg'\"\r\n [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </div>\r\n\r\n <floating-bar (submitEvent)=\"onNextClick()\" (cancelEvent)=\"closeConfigureDashboard()\"\r\n [selectedData]=\"selectedWidgets\" (deleteEvent)=\"removeWidget($event)\"></floating-bar>\r\n</div>",
|
|
512
|
+
template: "<div class=\"configure-widgets\" *ngIf=\"showWidgets\">\r\n <div class=\"configure-widgets-head\">\r\n <h3 class=\"configure-widgets-title\">Configure Widgets</h3>\r\n <button class=\"configure-widgets-back\" (click)=\"closeConfigureDashboard()\">\r\n <i class=\"icons\"></i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li [class.active]=\"module === 'COMPLIANCE'\" *ngIf=\"showCompliance\" (click)=\"module='COMPLIANCE'\">\r\n <button>Compliance<span>{{complianceWidgetsDisplayCount}}</span></button></li>\r\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\"><button\r\n (click)=\"module='RISK'\">Risks<span>{{riskWidgetsDisplayCount}}</span></button></li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search\">\r\n <i class=\"icons vx-fs-3\"></i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\">\r\n </div>\r\n <div class=\"configure-widgets-list\" *ngIf=\"(widgetsList[module] | search:search).length !== 0\">\r\n <ng-container *ngFor=\"let widget of widgetsList[module] | search:search\">\r\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\r\n <label class=\"block\">\r\n <input type=\"checkbox\" [checked]=\"widget.value\"\r\n (change)=\"selectWidget($event.target.checked,module,widget.id)\">\r\n <div class=\"check-icon\">\r\n <svg class=\"check\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"check-circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"check-circle\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4 class=\"configure-widgets-item-title\" [innerHTML]=\"widget?.title\"></h4>\r\n <p class=\"configure-widgets-item-description\" [innerHTML]=\"widget?.description\"></p>\r\n <button *ngIf=\"!widget.value\" class=\"configure-widgets-item-button add\"\r\n (click)=\"selectWidget(true,module,widget.id) \">+ ADD</button>\r\n <button *ngIf=\"widget.value\" class=\"configure-widgets-item-button remove\"\r\n (click)=\"selectWidget(false,module,widget.id) \">- Remove</button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img [src]=\"widget?.widgetImage\" alt=\"\">\r\n </div>\r\n <div class=\"floating-option vx-d-flex\" *ngIf=\"widget?.subWidgets?.length>0\">\r\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\r\n <app-cs-checkbox *ngIf=\"subWidget.visibility\"\r\n (ngValueChange)=\"selectWidget($event, module,widget.id,subWidget.id)\"\r\n [ngValue]=\"subWidget.value\">{{subWidget.title}}\r\n </app-cs-checkbox>\r\n </ng-container>\r\n \r\n </div>\r\n\r\n </div>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- No Data Image -->\r\n\r\n </div>\r\n <app-no-data *ngIf=\"(widgetsList[module] | search:search).length === 0 \"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/configure-widget/assets/images/configure-widget.svg'\"\r\n [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </div>\r\n\r\n <floating-bar (submitEvent)=\"onNextClick()\" (cancelEvent)=\"closeConfigureDashboard()\"\r\n [selectedData]=\"selectedWidgets\" (deleteEvent)=\"removeWidget($event)\"></floating-bar>\r\n</div>",
|
|
513
513
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");::ng-deep .configure-widgets{display:block;width:calc(100vw - 48px);height:100vh;margin-left:48px;background:#fff}::ng-deep .configure-widgets-head{height:44px;background:#fbfbfb;padding:12px;display:flex;justify-content:space-between;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-title{line-height:20px;font-weight:500;font-size:14px;color:#161b2f;margin:0}::ng-deep .configure-widgets-back{border:none;outline:none;color:#161b2f;font-size:14px;font-weight:500;line-height:20px;display:inline-flex;background:#0000;margin:0;padding:0}::ng-deep .configure-widgets-back i{margin-right:6px;font-size:20px}::ng-deep .configure-widgets-body{padding:4px 36px;position:relative}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 222px)!important}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 12px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:block;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:#0000;padding:8px 0;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:40px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{display:flex;flex-wrap:wrap;margin:0 -24px;height:calc(100vh - 238px);overflow:auto}::ng-deep .configure-widgets-item{width:50%;padding:0 24px;margin-bottom:40px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:#0000;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}"]
|
|
514
514
|
},] }
|
|
515
515
|
];
|
|
@@ -527,4 +527,4 @@ ConfigureWidgetsComponent.propDecorators = {
|
|
|
527
527
|
showCompliance: [{ type: Input }],
|
|
528
528
|
mode: [{ type: Input }]
|
|
529
529
|
};
|
|
530
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBTzlFLE1BQU0sT0FBTyx5QkFBeUI7SUF5QnBDLFlBQ1UsTUFBaUIsRUFDbEIsdUJBQWdELEVBQy9DLFFBQXlCO1FBRnpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDbEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUMvQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQTFCekIsd0JBQW1CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEUsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixpQkFBWSxHQUE2QyxFQUFFLENBQUM7UUFDNUQsb0JBQWUsR0FBMkIsRUFBRSxDQUFDO1FBRTdDLFdBQU0sR0FBMEIsWUFBWSxDQUFDO1FBQ3BDLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQkFBYyxHQUFHLEtBQUss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QUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzdDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN6QyxVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdkMsR0FBRyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUU7b0JBQ3pDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzs7WUE5Z0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyx5M0lBQWlEOzthQUVsRDs7O1lBUlEsU0FBUztZQUpULHVCQUF1QjtZQU12QixlQUFlOzs7a0NBU3JCLE1BQU07b0NBQ04sTUFBTTtrQ0FPTixLQUFLOytCQUNMLEtBQUs7dUJBQ0wsS0FBSzs2QkFDTCxLQUFLO21CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmVXaWRnZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyZS13aWRnZXRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHdpZGdldERhdGFNb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2lkZ2V0LWRhdGEtbW9kZWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy1yZWYnO1xyXG5pbXBvcnQgeyB3aWRnZXRDb25maWcgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpZ3VyZS13aWRnZXRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyZVdpZGdldHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBPdXRwdXQoKSB3aWRnZXRzRGF0YU1vZGlmaWVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VDb25maWd1cmVXaWRnZXRzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjaGVja2JveFN0YXR1cyE6IGFueTtcclxuICBzZWFyY2g6IHN0cmluZyA9ICcnO1xyXG4gIGNoZWNrZWRBcnJheTogQXJyYXk8eyBpbmRleDogbnVtYmVyLCBzdGF0dXM6IG51bWJlciB9PiA9IFtdO1xyXG4gIHNlbGVjdGVkV2lkZ2V0czogQXJyYXk8d2lkZ2V0RGF0YU1vZGVsPiA9IFtdO1xyXG5cclxuICBtb2R1bGU6IFwiQ09NUExJQU5DRVwiIHwgXCJSSVNLXCIgPSAnQ09NUExJQU5DRSc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRXaWRnZXRzRGF0YTogYW55ID0gW107XHJcbiAgQElucHV0KCkgZGlzcGxheWVkV2lkZ2V0czogYW55ID0gW107XHJcbiAgQElucHV0KCkgc2hvd1Jpc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Q29tcGxpYW5jZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJ1xyXG4gIG5vRGF0YVRleHQgPSAnWW91IGhhdmUgbm90IGNvbmZpZ3VyZWQgYW55IHdpZGdldHMuIENsaWNrIG9uIHRoZSA8c3Ryb25nPkNvbmZpZ3VyZSBXaWRnZXRzPC9zdHJvbmc+IGJ1dHRvbiB0byBiZWdpbi4nO1xyXG5cclxuICBzZWxlY3RlZFdpZGdldElkczogYW55ID0gW107XHJcbiAgc3ViUmVzcG9uc2liaWxpdGllc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2VcclxuICBzdWJLZXlSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIHNob3dXaWRnZXRzID0gdHJ1ZTtcclxuICBjb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDk7XHJcbiAgcmlza1dpZGdldHNEaXNwbGF5Q291bnQgPSAxMjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1JlZixcclxuICAgIHB1YmxpYyBjb25maWd1cmVXaWRnZXRzU2VydmljZTogQ29uZmlndXJlV2lkZ2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMuc2V0V2lkZ2V0c1Zpc2liaWxpdHlUb0ZhbHNlKClcclxuICAgICAgdGhpcy5yaXNrV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDA7XHJcbiAgICAgIHRoaXMuY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSAwO1xyXG4gICAgICBjb25zdCBmaW5hbERhdGEgPSBbLi4ubmV3IFNldCh0aGlzLmRpc3BsYXllZFdpZGdldHMpXTtcclxuICAgICAgZmluYWxEYXRhLmZvckVhY2goKGVsZW1lbnQ6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZS5pZCA9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XHJcbiAgICAgICAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhOiBhbnkgPSBbXVxyXG4gICAgICAgICAgICAgIGVsZW1lbnQuc3ViX3dpZGdldHMuZmlsdGVyKChzdWJ3aWRnZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBmaWx0ZXJEYXRhLnB1c2goc3Vid2lkZ2V0LndpZGdldF9jb2RlKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnksIHN1YkluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJEYXRhLmluY2x1ZGVzKHN1YkVsZW1lbnQuaWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCsrXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChlbGUuaWQgPT0gZWxlbWVudC53aWRnZXRfY29kZSkge1xyXG4gICAgICAgICAgICBlbGUudmlzaWJpbGl0eSA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmIChlbGUuc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YTogYW55ID0gW11cclxuICAgICAgICAgICAgICBlbGVtZW50LnN1Yl93aWRnZXRzLmZpbHRlcigoc3Vid2lkZ2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgZmlsdGVyRGF0YS5wdXNoKHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyRGF0YS5pbmNsdWRlcyhzdWJFbGVtZW50LmlkKSkge1xyXG4gICAgICAgICAgICAgICAgICBlbGUuc3ViV2lkZ2V0c1tzdWJJbmRleF0udmlzaWJpbGl0eSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBlbGUuc3ViV2lkZ2V0c1tzdWJJbmRleF0udmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnJpc2tXaWRnZXRzRGlzcGxheUNvdW50KytcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRhdGEgPSBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkV2lkZ2V0c0RhdGEpXTtcclxuICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudDogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChlbGUuaWQgPT0gZWxlbWVudC53aWRnZXRfY29kZSAmJiBlbGVtZW50LnN0YXRlID09ICdBQ1RJVkUnKSB7XHJcbiAgICAgICAgICBlbGUudmFsdWUgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YTogYW55ID0gW11cclxuICAgICAgICAgICAgZWxlbWVudC5zdWJfd2lkZ2V0cy5maWx0ZXIoKHN1YndpZGdldDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHN1YndpZGdldC5zdGF0ZSA9PSAnQUNUSVZFJykge1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyRGF0YS5wdXNoKHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGZpbHRlckRhdGEuaW5jbHVkZXMoc3ViRWxlbWVudC5pZCkpIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMucHVzaChlbGUpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMud2lkZ2V0c0xpc3QuUklTSy5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChlbGUuaWQgPT0gZWxlbWVudC53aWRnZXRfY29kZSAmJiBlbGVtZW50LnN0YXRlID09ICdBQ1RJVkUnKSB7XHJcbiAgICAgICAgICBlbGUudmFsdWUgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YTogYW55ID0gW11cclxuICAgICAgICAgICAgZWxlbWVudC5zdWJfd2lkZ2V0cy5maWx0ZXIoKHN1YndpZGdldDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHN1YndpZGdldC5zdGF0ZSA9PSAnQUNUSVZFJykge1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyRGF0YS5wdXNoKHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGZpbHRlckRhdGEuaW5jbHVkZXMoc3ViRWxlbWVudC5pZCkpIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMucHVzaChlbGUpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1vZHVsZSA9ICh0aGlzLnNob3dDb21wbGlhbmNlKSA/ICdDT01QTElBTkNFJyA6ICdSSVNLJztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgd2lkZ2V0c0xpc3QgPSB7XHJcbiAgICBDT01QTElBTkNFOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ092ZXJ2aWV3JyxcclxuICAgICAgICBpZDogJ292ZXJ2aWV3JyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ092ZXJ2aWV3IHNob3dzIHRoZSBwZXJmb3JtYW5jZSBvZiByZXNwb25zaWJpbGl0aWVzIGFuZCBSZXNwb25zaWJpbGl0eSBDYXRlZ29yaWVzLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9vdmVydmlldy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2FsZW5kYXInLFxyXG4gICAgICAgIGlkOiAnY29tcGxpYW5jZV9jYWxlbmRhcl9mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBSZXNwb25zaWJpbGl0eSBDYWxlbmRhciBzaG93cyB0aGUgZHVlIGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMgaW4gYSBjYWxlbmRhciBmb3JtYXQuIFRoZSByZXNwb25zaWJpbGl0aWVzIGFyZSBjb2xvciBjb2RlZCB0byByZWZsZWN0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc3BvbnNpYmlsaXR5LWNhbGVuZGVyLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXIgT3ZlcnZpZXcnLFxyXG4gICAgICAgIGlkOiAncmVzcG9uc2liaWxpdHlfY2VudGVyX292ZXJ2aWV3X2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldyBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBhbmQgUmVzcG9uc2liaWxpdHkgQ2VudGVycy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdHktY2VudGVyLW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgICBpZDogJ215X3Jlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIHJldmlld2luZyBhbmQgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL215LXJlc3BvbnNpYmlsaXRpZXMucG5nJyxcclxuICAgICAgICB0YWJPcHRpb246IHRydWUsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgICAgIGlkOiAnbXlfcmVzcG9uc2liaWxpdHlfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBSZXZpZXdpbmcnLFxyXG4gICAgICAgICAgICBpZDogJ3Jldmlld2VyX3Jlc3BvbnNpYmlsaXR5X2ZsYWcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gT3ZlcnNlZWluZycsXHJcbiAgICAgICAgICAgIGlkOiAnY2NfcmVzcG9uc2liaWxpdHlfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnS2V5IFJlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgIGlkOiAna2V5X3Jlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIGtleSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhhdCB5b3UgYXJlIHJldmlld2luZywgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcgYW5kIHRoYXQgeW91IGhhdmUgYXNzaWduZWQgdG8gYW5vdGhlciBwZXJzb24uJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2tleS1yZXNwb25zaWJpbGl0aWVzLnBuZycsXHJcbiAgICAgICAgdGFiT3B0aW9uOiB0cnVlLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ092ZXJ2aWV3JyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllc19vdmVydmlld19mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ015IFJlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgICAgICBpZDogJ2tleV9teV9yZXNwb25zaWJpbGl0aWVzX2ZsYWcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9yZXZpZXdpbmdfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBPdmVyc2VlaW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9vdmVyc2VlaW5nX2ZsYWcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1RyZW5kIEFuYWx5c2lzJyxcclxuICAgICAgICBpZDogJ3RyZW5kX2FuYWx5c2lzX2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFRyZW5kIEFuYWx5c2lzIGlzIGEgZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwZXJmb3JtYW5jZSBvZiByZXNwb25zaWJpbGl0aWVzIG92ZXIgYSBwZXJpb2QuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3RyZW5kLWFuYWx5c2lzLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdXb3Jrcm9vbSBVcGRhdGVzJyxcclxuICAgICAgICBpZDogJ3dvcmtyb29tX2FsZXJ0X2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFJlc3BvbnNpYmlsaXR5IFdvcmtyb29tIHNob3dzIHVwZGF0ZXMgZnJvbSB0aGUgUmVzcG9uc2liaWxpdHkgV29ya3Jvb21zLiBBIFJlc3BvbnNpYmlsaXR5IFdvcmtyb29tIGV4aXN0cyBmb3IgYWxsIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3dvcmtyb29tLXVwZGF0ZXMucG5nJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1JlY2VudCBBY3Rpdml0aWVzJyxcclxuICAgICAgICBpZDogJ3JlY2VudF9hY3Rpdml0eV9mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgYSBjaHJvbm9sb2dpY2FsIHZpZXcgb2YgdGhlIHJlY2VudCB1cGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3JlY2VudC1hY3Rpdml0aWVzLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdFeGNlcHRpb24gU3VtbWFyeScsXHJcbiAgICAgICAgaWQ6ICdleGNlcHRpb25fc3VtbWFyeV9mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ0V4Y2VwdGlvbnMgU3VtbWFyeSBzaG93IHRoZSBudW1iZXIgb2YgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBlaXRoZXIgbm90IGFjY2VwdGVkLCBub3QgY29tcGxldGVkIG9yIGRlbGV0ZWQuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2V4Y2VwdGlvbi1zdW1tYXJ5LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9XHJcbiAgICBdLFxyXG4gICAgUklTSzogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSaXNrIE92ZXJ2aWV3JyxcclxuICAgICAgICBpZDogJ3Jpc2tfb3ZlcnZpZXcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIG51bWJlciBhbmQgcGVyY2VudGFnZSBvZiByaXNrcyB3aXRoaW4gZWFjaCByaXNrIHJlc3BvbnNlIHN0cmF0ZWd5LicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrLW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSaXNrIE1ldHJpY3MnLFxyXG4gICAgICAgIGlkOiAncmlza19tZXRyaWNzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0IHNob3dzIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggcmlzayBhcHBldGl0ZSwgdGhlIG51bWJlciBvZiByaXNrcyB0aGF0IGV4Y2VlZCB0aGUgcmlzayBhcHBldGl0ZSwgdGhlIG51bWJlciBvZiByaXNrcyB0aGF0IGV4Y2VlZCB0aGUgcmlzayB0b2xlcmFuY2UsIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggcmlzayByYXRpbmcsIGFuZCB0aGUgbnVtYmVyIG9mIHJpc2tzIHRoYXQgZG8gbm90IGhhdmUgYW55IGxpbmtlZCBjb250cm9scy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvYXBwZXRpdGUtdG9sZXJhbmNlLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayBBcHBldGl0ZSAmIFRvbGVyYW5jZScsXHJcbiAgICAgICAgICAgIGlkOiAncmlza19hcHBldGl0ZV90b2xlcmFuY2UnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayBSYXRpbmdzJyxcclxuICAgICAgICAgICAgaWQ6ICdyaXNrX3JhdGluZ3MnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlza3MgV2l0aG91dCBDb250cm9scycsXHJcbiAgICAgICAgICAgIGlkOiAncmlza3Nfd2l0aG91dF9jb250cm9scycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdFeGNlZWRzIFJpc2sgVG9sZXJhbmNlJyxcclxuICAgICAgICAgICAgaWQ6ICdleGNlZWRzX3Jpc2tfdG9sZXJhbmNlJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgJyxcclxuICAgICAgICBpZDogJ2luaGVyZW50X3Jpc2tfcmF0aW5nX2J5X3Jlc3BvbnNpYmlsaXR5X2NlbnRlcnMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIG51bWJlciBvZiByaXNrcyB3aXRoaW4gZWFjaCBpbmhlcmVudCByaXNrIHJhdGluZywgZ3JvdXBlZCBhY2NvcmRpbmcgdG8gdGhlwqBSZXNwb25zaWJpbGl0eSBDZW50ZXLCoGV4cG9zZWQgdG8gdGhlIHJpc2suJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LVJDLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNpZHVhbCBSaXNrIFJhdGluZyBieSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzICcsXHJcbiAgICAgICAgaWQ6ICdyZXNpZHVhbF9yaXNrX3JhdGluZ19ieV9yZXNwb25zaWJpbGl0eV9jZW50ZXJzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0IHNob3dzIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggcmVzaWR1YWwgcmlzayByYXRpbmcsIGdyb3VwZWQgYWNjb3JkaW5nIHRvIHRoZcKgUmVzcG9uc2liaWxpdHkgQ2VudGVywqBleHBvc2VkIHRvIHRoZSByaXNrLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNpZHVhbC1SQy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmlzayBDYXRlZ29yeSBPdmVydmlldycsXHJcbiAgICAgICAgaWQ6ICdyaXNrX2NhdGVnb3J5X292ZXJ2aWV3JyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0cyBzaG93cyB0aGXCoG51bWJlciBvZiByaXNrcyB3aXRoaW4gZWFjaCBzdGF0dXMsIGdyb3VwZWQgYWNjb3JkaW5nIHRvIHRoZSBSaXNrIENhdGVnb3J5IHRoZSByaXNrIGlzIGFzc2lnbmVkIHRvLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrLWNhdGVnb3J5LW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSaXNrIEhlYXRtYXAnLFxyXG4gICAgICAgIGlkOiAncmlza19oZWF0bWFwJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZcKgUmlzayBIZWF0bWFwIGRpc3BsYXlzIHRoZSByaXNrIG1hdHJpeCBmb3IgYW55IHR3byByaXNrIGZhY3RvcnMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2staGVhdG1hcC5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnSW5oZXJlbnQgUmlzayBSYXRpbmcgYnkgQ2F0ZWdvcmllcycsXHJcbiAgICAgICAgaWQ6ICdpbmhlcmVudF9yaXNrX3JhdGluZ19ieV9jYXRlZ29yaWVzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0IHNob3dzIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggaW5oZXJlbnQgcmlzayByYXRpbmcsIGdyb3VwZWQgYWNjb3JkaW5nIHRvIHRoZSBSaXNrIENhdGVnb3J5wqB0aGF0wqB0aGUgcmlzayBpcyBhc3NpZ25lZCB0by4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvaW5oZXJlbnQtY2F0ZWdvcmllcy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1Jlc2lkdWFsIFJpc2sgUmF0aW5nIGJ5IENhdGVnb3JpZXMnLFxyXG4gICAgICAgIGlkOiAncmVzaWR1YWxfcmlza19yYXRpbmdfYnlfY2F0ZWdvcmllcycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHdpZGdldCBzaG93cyB0aGUgbnVtYmVyIG9mIHJpc2tzIHdpdGhpbiBlYWNoIHJlc2lkdWFsIHJpc2sgcmF0aW5nLCBncm91cGVkIGFjY29yZGluZyB0byB0aGUgUmlzayBDYXRlZ29yecKgdGhhdMKgdGhlIHJpc2sgaXMgYXNzaWduZWQgdG8uJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ1JJU0snLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIFRyZW5kIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMnLFxyXG4gICAgICAgIGlkOiAnaW5oZXJlbnRfcmlza19yYXRpbmdfdHJlbmRfYnlfcmVzcG9uc2liaWxpdHlfY2VudGVycycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHdpZGdldCBpcyBhIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIG9mIHJpc2tzIHdpdGhpbiBlYWNoIGluaGVyZW50IHJpc2sgcmF0aW5nLCBncm91cGVkIGFjY29yZGluZyB0byB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyIGV4cG9zZWQgdG8gdGhlIHJpc2suJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LXRyZW5kLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNpZHVhbCBSaXNrIFJhdGluZyBUcmVuZCBieSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzJyxcclxuICAgICAgICBpZDogJ3Jlc2lkdWFsX3Jpc2tfcmF0aW5nX3RyZW5kX2J5X3Jlc3BvbnNpYmlsaXR5X2NlbnRlcnMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgaXMgYSBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlciBvZiByaXNrcyB3aXRoaW4gZWFjaCByZXNpZHVhbCByaXNrIHJhdGluZywgZ3JvdXBlZCBhY2NvcmRpbmcgdG8gdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBleHBvc2VkIHRvIHRoZSByaXNrLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNpZHVhbC10cmVuZC5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmlzayBSYXRpbmcgVHJlbmQgYnkgQ2F0ZWdvcmllcycsXHJcbiAgICAgICAgaWQ6ICdyaXNrX3JhdGluZ190cmVuZF9ieV9jYXRlZ29yaWVzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0cyBpcyBhIHRyZW5kIGNoYXJ0IHRoYXQgc2hvd3MgdGhlIGluaGVyZW50IGFuZCByZXNpZHVhbCByaXNrIHJhdGluZyB0cmVuZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBSaXNrIENhdGVnb3JpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2stdHJlbmQucG5nJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ1JJU0snLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1RvcCA1IFJpc2sgUmF0aW5ncycsXHJcbiAgICAgICAgaWQ6ICd0b3BfNV9yZXNpZHVhbF9yaXNrX3JhdGluZ3MnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXRzIHNob3dzIHRocyB0b3AgZml2ZSByaXNrcyB3aXRoIHRoZSBoaWdoZXN0IHJpc2sgcmF0aW5nLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy81LXJpc2stcmF0aW5ncy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0V2lkZ2V0KGV2ZW50OiBhbnksIG1vZHVsZTogJ0NPTVBMSUFOQ0UnIHwgJ1JJU0snLCB3aWRnZXRJZDogc3RyaW5nLCBzdWJXaWRnZXRJZD86IHN0cmluZykge1xyXG4gICAgY29uc3Qgd2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV0uZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldElkKTtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFdpZGdldHMubGVuZ3RoID49IDEwKSB7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdZb3UgY2Fubm90IGFkZCBtb3JlIHRoYW4gMTAgd2lkZ2V0cy4nKTtcclxuICAgICAgICB0aGlzLnNob3dXaWRnZXRzID0gZmFsc2U7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dXaWRnZXRzID0gdHJ1ZTtcclxuICAgICAgICB9LCAxMCk7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICghc3ViV2lkZ2V0SWQpIHtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5mb3JFYWNoKGVsZSA9PiBlbGUudmFsdWUgPSB0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgc3ViV2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHN1YldpZGdldElkKTtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0c1tzdWJXaWRnZXRJbmRleF0udmFsdWUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKCFzdWJXaWRnZXRJZCkge1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goKGVsZTogYW55KSA9PiBlbGUudmFsdWUgPSBmYWxzZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHN1YldpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSBzdWJXaWRnZXRJZCk7XHJcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHNbc3ViV2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgY29uc3QgaXNBbGxXaWRnZXRzUmVtb3ZlZCA9IHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5ldmVyeSgoZWxlOiBhbnkpID0+IGVsZS52YWx1ZSA9PSBmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoaXNBbGxXaWRnZXRzUmVtb3ZlZCkge1xyXG4gICAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0udmFsdWUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFdpZGdldHMoKTtcclxuXHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkV2lkZ2V0cygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzID0gW11cclxuICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMucHVzaChlbGUpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZS52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlV2lkZ2V0KHdpZGdldDogd2lkZ2V0Q29uZmlnKSB7XHJcbiAgICBjb25zdCB3aWRnZXRJbmRleCA9IHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV0uZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldC5pZCk7XHJcbiAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goKGVsZTogYW55KSA9PiBlbGUudmFsdWUgPSBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkV2lkZ2V0cygpXHJcbiAgfVxyXG5cclxuICBvbk5leHRDbGljaygpIHtcclxuICAgIHRoaXMud2lkZ2V0c0RhdGFNb2RpZmllZC5lbWl0KHRoaXMuc2VsZWN0ZWRXaWRnZXRzKTtcclxuICB9XHJcblxyXG4gIGNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdpZGdldHMgPSBbXTtcclxuICAgIHRoaXMuZGlhbG9nLmNsb3NlKCk7XHJcbiAgICB0aGlzLmNsb3NlQ29uZmlndXJlV2lkZ2V0cy5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHNldFdpZGdldHNWaXNpYmlsaXR5VG9GYWxzZSgpe1xyXG4gICAgdGhpcy53aWRnZXRzTGlzdC5DT01QTElBTkNFLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgZWxlLnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgICAgICBpZiAoZWxlLnN1YldpZGdldHMubGVuZ3RoID4gMCkgeyAgICAgICAgXHJcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHsgICAgICAgIFxyXG4gICAgICAgICAgICBzdWJFbGVtZW50LnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICBlbGUudmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChlbGUuc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgc3ViRWxlbWVudC52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
530
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBTzlFLE1BQU0sT0FBTyx5QkFBeUI7SUF5QnBDLFlBQ1UsTUFBaUIsRUFDbEIsdUJBQWdELEVBQy9DLFFBQXlCO1FBRnpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDbEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUMvQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQTFCekIsd0JBQW1CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEUsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixpQkFBWSxHQUE2QyxFQUFFLENBQUM7UUFDNUQsb0JBQWUsR0FBMkIsRUFBRSxDQUFDO1FBRTdDLFdBQU0sR0FBMEIsWUFBWSxDQUFDO1FBQ3BDLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQkFBYyxHQUFHLEtBQUss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QUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzdDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN6QyxVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdkMsR0FBRyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUU7b0JBQ3pDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzs7WUE5Z0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyx3NklBQWlEOzthQUVsRDs7O1lBUlEsU0FBUztZQUpULHVCQUF1QjtZQU12QixlQUFlOzs7a0NBU3JCLE1BQU07b0NBQ04sTUFBTTtrQ0FPTixLQUFLOytCQUNMLEtBQUs7dUJBQ0wsS0FBSzs2QkFDTCxLQUFLO21CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmVXaWRnZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyZS13aWRnZXRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHdpZGdldERhdGFNb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2lkZ2V0LWRhdGEtbW9kZWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy1yZWYnO1xyXG5pbXBvcnQgeyB3aWRnZXRDb25maWcgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpZ3VyZS13aWRnZXRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyZVdpZGdldHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBPdXRwdXQoKSB3aWRnZXRzRGF0YU1vZGlmaWVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VDb25maWd1cmVXaWRnZXRzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjaGVja2JveFN0YXR1cyE6IGFueTtcclxuICBzZWFyY2g6IHN0cmluZyA9ICcnO1xyXG4gIGNoZWNrZWRBcnJheTogQXJyYXk8eyBpbmRleDogbnVtYmVyLCBzdGF0dXM6IG51bWJlciB9PiA9IFtdO1xyXG4gIHNlbGVjdGVkV2lkZ2V0czogQXJyYXk8d2lkZ2V0RGF0YU1vZGVsPiA9IFtdO1xyXG5cclxuICBtb2R1bGU6IFwiQ09NUExJQU5DRVwiIHwgXCJSSVNLXCIgPSAnQ09NUExJQU5DRSc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRXaWRnZXRzRGF0YTogYW55ID0gW107XHJcbiAgQElucHV0KCkgZGlzcGxheWVkV2lkZ2V0czogYW55ID0gW107XHJcbiAgQElucHV0KCkgc2hvd1Jpc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Q29tcGxpYW5jZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJ1xyXG4gIG5vRGF0YVRleHQgPSAnWW91IGhhdmUgbm90IGNvbmZpZ3VyZWQgYW55IHdpZGdldHMuIENsaWNrIG9uIHRoZSA8c3Ryb25nPkNvbmZpZ3VyZSBXaWRnZXRzPC9zdHJvbmc+IGJ1dHRvbiB0byBiZWdpbi4nO1xyXG5cclxuICBzZWxlY3RlZFdpZGdldElkczogYW55ID0gW107XHJcbiAgc3ViUmVzcG9uc2liaWxpdGllc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2VcclxuICBzdWJLZXlSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIHNob3dXaWRnZXRzID0gdHJ1ZTtcclxuICBjb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDk7XHJcbiAgcmlza1dpZGdldHNEaXNwbGF5Q291bnQgPSAxMjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1JlZixcclxuICAgIHB1YmxpYyBjb25maWd1cmVXaWRnZXRzU2VydmljZTogQ29uZmlndXJlV2lkZ2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMuc2V0V2lkZ2V0c1Zpc2liaWxpdHlUb0ZhbHNlKClcclxuICAgICAgdGhpcy5yaXNrV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDA7XHJcbiAgICAgIHRoaXMuY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSAwO1xyXG4gICAgICBjb25zdCBmaW5hbERhdGEgPSBbLi4ubmV3IFNldCh0aGlzLmRpc3BsYXllZFdpZGdldHMpXTtcclxuICAgICAgZmluYWxEYXRhLmZvckVhY2goKGVsZW1lbnQ6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZS5pZCA9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XHJcbiAgICAgICAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhOiBhbnkgPSBbXVxyXG4gICAgICAgICAgICAgIGVsZW1lbnQuc3ViX3dpZGdldHMuZmlsdGVyKChzdWJ3aWRnZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBmaWx0ZXJEYXRhLnB1c2goc3Vid2lkZ2V0LndpZGdldF9jb2RlKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnksIHN1YkluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJEYXRhLmluY2x1ZGVzKHN1YkVsZW1lbnQuaWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCsrXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChlbGUuaWQgPT0gZWxlbWVudC53aWRnZXRfY29kZSkge1xyXG4gICAgICAgICAgICBlbGUudmlzaWJpbGl0eSA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmIChlbGUuc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YTogYW55ID0gW11cclxuICAgICAgICAgICAgICBlbGVtZW50LnN1Yl93aWRnZXRzLmZpbHRlcigoc3Vid2lkZ2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgZmlsdGVyRGF0YS5wdXNoKHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyRGF0YS5pbmNsdWRlcyhzdWJFbGVtZW50LmlkKSkge1xyXG4gICAgICAgICAgICAgICAgICBlbGUuc3ViV2lkZ2V0c1tzdWJJbmRleF0udmlzaWJpbGl0eSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBlbGUuc3ViV2lkZ2V0c1tzdWJJbmRleF0udmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnJpc2tXaWRnZXRzRGlzcGxheUNvdW50KytcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRhdGEgPSBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkV2lkZ2V0c0RhdGEpXTtcclxuICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudDogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChlbGUuaWQgPT0gZWxlbWVudC53aWRnZXRfY29kZSAmJiBlbGVtZW50LnN0YXRlID09ICdBQ1RJVkUnKSB7XHJcbiAgICAgICAgICBlbGUudmFsdWUgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YTogYW55ID0gW11cclxuICAgICAgICAgICAgZWxlbWVudC5zdWJfd2lkZ2V0cy5maWx0ZXIoKHN1YndpZGdldDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHN1YndpZGdldC5zdGF0ZSA9PSAnQUNUSVZFJykge1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyRGF0YS5wdXNoKHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGZpbHRlckRhdGEuaW5jbHVkZXMoc3ViRWxlbWVudC5pZCkpIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMucHVzaChlbGUpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMud2lkZ2V0c0xpc3QuUklTSy5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChlbGUuaWQgPT0gZWxlbWVudC53aWRnZXRfY29kZSAmJiBlbGVtZW50LnN0YXRlID09ICdBQ1RJVkUnKSB7XHJcbiAgICAgICAgICBlbGUudmFsdWUgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YTogYW55ID0gW11cclxuICAgICAgICAgICAgZWxlbWVudC5zdWJfd2lkZ2V0cy5maWx0ZXIoKHN1YndpZGdldDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHN1YndpZGdldC5zdGF0ZSA9PSAnQUNUSVZFJykge1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyRGF0YS5wdXNoKHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGZpbHRlckRhdGEuaW5jbHVkZXMoc3ViRWxlbWVudC5pZCkpIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMucHVzaChlbGUpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1vZHVsZSA9ICh0aGlzLnNob3dDb21wbGlhbmNlKSA/ICdDT01QTElBTkNFJyA6ICdSSVNLJztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgd2lkZ2V0c0xpc3QgPSB7XHJcbiAgICBDT01QTElBTkNFOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ092ZXJ2aWV3JyxcclxuICAgICAgICBpZDogJ292ZXJ2aWV3JyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ092ZXJ2aWV3IHNob3dzIHRoZSBwZXJmb3JtYW5jZSBvZiByZXNwb25zaWJpbGl0aWVzIGFuZCBSZXNwb25zaWJpbGl0eSBDYXRlZ29yaWVzLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9vdmVydmlldy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2FsZW5kYXInLFxyXG4gICAgICAgIGlkOiAnY29tcGxpYW5jZV9jYWxlbmRhcl9mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBSZXNwb25zaWJpbGl0eSBDYWxlbmRhciBzaG93cyB0aGUgZHVlIGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMgaW4gYSBjYWxlbmRhciBmb3JtYXQuIFRoZSByZXNwb25zaWJpbGl0aWVzIGFyZSBjb2xvciBjb2RlZCB0byByZWZsZWN0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc3BvbnNpYmlsaXR5LWNhbGVuZGVyLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXIgT3ZlcnZpZXcnLFxyXG4gICAgICAgIGlkOiAncmVzcG9uc2liaWxpdHlfY2VudGVyX292ZXJ2aWV3X2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldyBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBhbmQgUmVzcG9uc2liaWxpdHkgQ2VudGVycy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdHktY2VudGVyLW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgICBpZDogJ215X3Jlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIHJldmlld2luZyBhbmQgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL215LXJlc3BvbnNpYmlsaXRpZXMucG5nJyxcclxuICAgICAgICB0YWJPcHRpb246IHRydWUsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgICAgIGlkOiAnbXlfcmVzcG9uc2liaWxpdHlfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBSZXZpZXdpbmcnLFxyXG4gICAgICAgICAgICBpZDogJ3Jldmlld2VyX3Jlc3BvbnNpYmlsaXR5X2ZsYWcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gT3ZlcnNlZWluZycsXHJcbiAgICAgICAgICAgIGlkOiAnY2NfcmVzcG9uc2liaWxpdHlfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnS2V5IFJlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgIGlkOiAna2V5X3Jlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIGtleSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhhdCB5b3UgYXJlIHJldmlld2luZywgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcgYW5kIHRoYXQgeW91IGhhdmUgYXNzaWduZWQgdG8gYW5vdGhlciBwZXJzb24uJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2tleS1yZXNwb25zaWJpbGl0aWVzLnBuZycsXHJcbiAgICAgICAgdGFiT3B0aW9uOiB0cnVlLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ092ZXJ2aWV3JyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllc19vdmVydmlld19mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ015IFJlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgICAgICAgICBpZDogJ2tleV9teV9yZXNwb25zaWJpbGl0aWVzX2ZsYWcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9yZXZpZXdpbmdfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBPdmVyc2VlaW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9vdmVyc2VlaW5nX2ZsYWcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1RyZW5kIEFuYWx5c2lzJyxcclxuICAgICAgICBpZDogJ3RyZW5kX2FuYWx5c2lzX2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFRyZW5kIEFuYWx5c2lzIGlzIGEgZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwZXJmb3JtYW5jZSBvZiByZXNwb25zaWJpbGl0aWVzIG92ZXIgYSBwZXJpb2QuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3RyZW5kLWFuYWx5c2lzLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdXb3Jrcm9vbSBVcGRhdGVzJyxcclxuICAgICAgICBpZDogJ3dvcmtyb29tX2FsZXJ0X2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFJlc3BvbnNpYmlsaXR5IFdvcmtyb29tIHNob3dzIHVwZGF0ZXMgZnJvbSB0aGUgUmVzcG9uc2liaWxpdHkgV29ya3Jvb21zLiBBIFJlc3BvbnNpYmlsaXR5IFdvcmtyb29tIGV4aXN0cyBmb3IgYWxsIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3dvcmtyb29tLXVwZGF0ZXMucG5nJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1JlY2VudCBBY3Rpdml0aWVzJyxcclxuICAgICAgICBpZDogJ3JlY2VudF9hY3Rpdml0eV9mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgYSBjaHJvbm9sb2dpY2FsIHZpZXcgb2YgdGhlIHJlY2VudCB1cGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3JlY2VudC1hY3Rpdml0aWVzLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdFeGNlcHRpb24gU3VtbWFyeScsXHJcbiAgICAgICAgaWQ6ICdleGNlcHRpb25fc3VtbWFyeV9mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ0V4Y2VwdGlvbnMgU3VtbWFyeSBzaG93IHRoZSBudW1iZXIgb2YgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBlaXRoZXIgbm90IGFjY2VwdGVkLCBub3QgY29tcGxldGVkIG9yIGRlbGV0ZWQuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2V4Y2VwdGlvbi1zdW1tYXJ5LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9XHJcbiAgICBdLFxyXG4gICAgUklTSzogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSaXNrIE92ZXJ2aWV3JyxcclxuICAgICAgICBpZDogJ3Jpc2tfb3ZlcnZpZXcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIG51bWJlciBhbmQgcGVyY2VudGFnZSBvZiByaXNrcyB3aXRoaW4gZWFjaCByaXNrIHJlc3BvbnNlIHN0cmF0ZWd5LicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrLW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSaXNrIE1ldHJpY3MnLFxyXG4gICAgICAgIGlkOiAncmlza19tZXRyaWNzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0IHNob3dzIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggcmlzayBhcHBldGl0ZSwgdGhlIG51bWJlciBvZiByaXNrcyB0aGF0IGV4Y2VlZCB0aGUgcmlzayBhcHBldGl0ZSwgdGhlIG51bWJlciBvZiByaXNrcyB0aGF0IGV4Y2VlZCB0aGUgcmlzayB0b2xlcmFuY2UsIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggcmlzayByYXRpbmcsIGFuZCB0aGUgbnVtYmVyIG9mIHJpc2tzIHRoYXQgZG8gbm90IGhhdmUgYW55IGxpbmtlZCBjb250cm9scy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvYXBwZXRpdGUtdG9sZXJhbmNlLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayBBcHBldGl0ZSAmIFRvbGVyYW5jZScsXHJcbiAgICAgICAgICAgIGlkOiAncmlza19hcHBldGl0ZV90b2xlcmFuY2UnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayBSYXRpbmdzJyxcclxuICAgICAgICAgICAgaWQ6ICdyaXNrX3JhdGluZ3MnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlza3MgV2l0aG91dCBDb250cm9scycsXHJcbiAgICAgICAgICAgIGlkOiAncmlza3Nfd2l0aG91dF9jb250cm9scycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdFeGNlZWRzIFJpc2sgVG9sZXJhbmNlJyxcclxuICAgICAgICAgICAgaWQ6ICdleGNlZWRzX3Jpc2tfdG9sZXJhbmNlJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgJyxcclxuICAgICAgICBpZDogJ2luaGVyZW50X3Jpc2tfcmF0aW5nX2J5X3Jlc3BvbnNpYmlsaXR5X2NlbnRlcnMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIG51bWJlciBvZiByaXNrcyB3aXRoaW4gZWFjaCBpbmhlcmVudCByaXNrIHJhdGluZywgZ3JvdXBlZCBhY2NvcmRpbmcgdG8gdGhlwqBSZXNwb25zaWJpbGl0eSBDZW50ZXLCoGV4cG9zZWQgdG8gdGhlIHJpc2suJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LVJDLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNpZHVhbCBSaXNrIFJhdGluZyBieSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzICcsXHJcbiAgICAgICAgaWQ6ICdyZXNpZHVhbF9yaXNrX3JhdGluZ19ieV9yZXNwb25zaWJpbGl0eV9jZW50ZXJzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0IHNob3dzIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggcmVzaWR1YWwgcmlzayByYXRpbmcsIGdyb3VwZWQgYWNjb3JkaW5nIHRvIHRoZcKgUmVzcG9uc2liaWxpdHkgQ2VudGVywqBleHBvc2VkIHRvIHRoZSByaXNrLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNpZHVhbC1SQy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmlzayBDYXRlZ29yeSBPdmVydmlldycsXHJcbiAgICAgICAgaWQ6ICdyaXNrX2NhdGVnb3J5X292ZXJ2aWV3JyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0cyBzaG93cyB0aGXCoG51bWJlciBvZiByaXNrcyB3aXRoaW4gZWFjaCBzdGF0dXMsIGdyb3VwZWQgYWNjb3JkaW5nIHRvIHRoZSBSaXNrIENhdGVnb3J5IHRoZSByaXNrIGlzIGFzc2lnbmVkIHRvLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrLWNhdGVnb3J5LW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSaXNrIEhlYXRtYXAnLFxyXG4gICAgICAgIGlkOiAncmlza19oZWF0bWFwJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZcKgUmlzayBIZWF0bWFwIGRpc3BsYXlzIHRoZSByaXNrIG1hdHJpeCBmb3IgYW55IHR3byByaXNrIGZhY3RvcnMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2staGVhdG1hcC5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnSW5oZXJlbnQgUmlzayBSYXRpbmcgYnkgQ2F0ZWdvcmllcycsXHJcbiAgICAgICAgaWQ6ICdpbmhlcmVudF9yaXNrX3JhdGluZ19ieV9jYXRlZ29yaWVzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0IHNob3dzIHRoZSBudW1iZXIgb2Ygcmlza3Mgd2l0aGluIGVhY2ggaW5oZXJlbnQgcmlzayByYXRpbmcsIGdyb3VwZWQgYWNjb3JkaW5nIHRvIHRoZSBSaXNrIENhdGVnb3J5wqB0aGF0wqB0aGUgcmlzayBpcyBhc3NpZ25lZCB0by4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvaW5oZXJlbnQtY2F0ZWdvcmllcy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1Jlc2lkdWFsIFJpc2sgUmF0aW5nIGJ5IENhdGVnb3JpZXMnLFxyXG4gICAgICAgIGlkOiAncmVzaWR1YWxfcmlza19yYXRpbmdfYnlfY2F0ZWdvcmllcycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHdpZGdldCBzaG93cyB0aGUgbnVtYmVyIG9mIHJpc2tzIHdpdGhpbiBlYWNoIHJlc2lkdWFsIHJpc2sgcmF0aW5nLCBncm91cGVkIGFjY29yZGluZyB0byB0aGUgUmlzayBDYXRlZ29yecKgdGhhdMKgdGhlIHJpc2sgaXMgYXNzaWduZWQgdG8uJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ1JJU0snLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIFRyZW5kIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMnLFxyXG4gICAgICAgIGlkOiAnaW5oZXJlbnRfcmlza19yYXRpbmdfdHJlbmRfYnlfcmVzcG9uc2liaWxpdHlfY2VudGVycycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHdpZGdldCBpcyBhIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIG9mIHJpc2tzIHdpdGhpbiBlYWNoIGluaGVyZW50IHJpc2sgcmF0aW5nLCBncm91cGVkIGFjY29yZGluZyB0byB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyIGV4cG9zZWQgdG8gdGhlIHJpc2suJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LXRyZW5kLnBuZycsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6dHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdSSVNLJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNpZHVhbCBSaXNrIFJhdGluZyBUcmVuZCBieSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzJyxcclxuICAgICAgICBpZDogJ3Jlc2lkdWFsX3Jpc2tfcmF0aW5nX3RyZW5kX2J5X3Jlc3BvbnNpYmlsaXR5X2NlbnRlcnMnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXQgaXMgYSBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlciBvZiByaXNrcyB3aXRoaW4gZWFjaCByZXNpZHVhbCByaXNrIHJhdGluZywgZ3JvdXBlZCBhY2NvcmRpbmcgdG8gdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBleHBvc2VkIHRvIHRoZSByaXNrLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNpZHVhbC10cmVuZC5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmlzayBSYXRpbmcgVHJlbmQgYnkgQ2F0ZWdvcmllcycsXHJcbiAgICAgICAgaWQ6ICdyaXNrX3JhdGluZ190cmVuZF9ieV9jYXRlZ29yaWVzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgd2lkZ2V0cyBpcyBhIHRyZW5kIGNoYXJ0IHRoYXQgc2hvd3MgdGhlIGluaGVyZW50IGFuZCByZXNpZHVhbCByaXNrIHJhdGluZyB0cmVuZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBSaXNrIENhdGVnb3JpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2stdHJlbmQucG5nJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTp0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ1JJU0snLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1RvcCA1IFJpc2sgUmF0aW5ncycsXHJcbiAgICAgICAgaWQ6ICd0b3BfNV9yZXNpZHVhbF9yaXNrX3JhdGluZ3MnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyB3aWRnZXRzIHNob3dzIHRocyB0b3AgZml2ZSByaXNrcyB3aXRoIHRoZSBoaWdoZXN0IHJpc2sgcmF0aW5nLicsXHJcbiAgICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy81LXJpc2stcmF0aW5ncy5wbmcnLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OnRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnUklTSycsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW11cclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0V2lkZ2V0KGV2ZW50OiBhbnksIG1vZHVsZTogJ0NPTVBMSUFOQ0UnIHwgJ1JJU0snLCB3aWRnZXRJZDogc3RyaW5nLCBzdWJXaWRnZXRJZD86IHN0cmluZykge1xyXG4gICAgY29uc3Qgd2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV0uZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldElkKTtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFdpZGdldHMubGVuZ3RoID49IDEwKSB7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdZb3UgY2Fubm90IGFkZCBtb3JlIHRoYW4gMTAgd2lkZ2V0cy4nKTtcclxuICAgICAgICB0aGlzLnNob3dXaWRnZXRzID0gZmFsc2U7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dXaWRnZXRzID0gdHJ1ZTtcclxuICAgICAgICB9LCAxMCk7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICghc3ViV2lkZ2V0SWQpIHtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5mb3JFYWNoKGVsZSA9PiBlbGUudmFsdWUgPSB0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgc3ViV2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHN1YldpZGdldElkKTtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0c1tzdWJXaWRnZXRJbmRleF0udmFsdWUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKCFzdWJXaWRnZXRJZCkge1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goKGVsZTogYW55KSA9PiBlbGUudmFsdWUgPSBmYWxzZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHN1YldpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSBzdWJXaWRnZXRJZCk7XHJcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHNbc3ViV2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgY29uc3QgaXNBbGxXaWRnZXRzUmVtb3ZlZCA9IHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5ldmVyeSgoZWxlOiBhbnkpID0+IGVsZS52YWx1ZSA9PSBmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoaXNBbGxXaWRnZXRzUmVtb3ZlZCkge1xyXG4gICAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0udmFsdWUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFdpZGdldHMoKTtcclxuXHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkV2lkZ2V0cygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzID0gW11cclxuICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMucHVzaChlbGUpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZS52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlV2lkZ2V0KHdpZGdldDogd2lkZ2V0Q29uZmlnKSB7XHJcbiAgICBjb25zdCB3aWRnZXRJbmRleCA9IHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV0uZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldC5pZCk7XHJcbiAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goKGVsZTogYW55KSA9PiBlbGUudmFsdWUgPSBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkV2lkZ2V0cygpXHJcbiAgfVxyXG5cclxuICBvbk5leHRDbGljaygpIHtcclxuICAgIHRoaXMud2lkZ2V0c0RhdGFNb2RpZmllZC5lbWl0KHRoaXMuc2VsZWN0ZWRXaWRnZXRzKTtcclxuICB9XHJcblxyXG4gIGNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdpZGdldHMgPSBbXTtcclxuICAgIHRoaXMuZGlhbG9nLmNsb3NlKCk7XHJcbiAgICB0aGlzLmNsb3NlQ29uZmlndXJlV2lkZ2V0cy5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHNldFdpZGdldHNWaXNpYmlsaXR5VG9GYWxzZSgpe1xyXG4gICAgdGhpcy53aWRnZXRzTGlzdC5DT01QTElBTkNFLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgZWxlLnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgICAgICBpZiAoZWxlLnN1YldpZGdldHMubGVuZ3RoID4gMCkgeyAgICAgICAgXHJcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHsgICAgICAgIFxyXG4gICAgICAgICAgICBzdWJFbGVtZW50LnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICBlbGUudmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChlbGUuc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgc3ViRWxlbWVudC52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -30,25 +30,27 @@ function View_ConfigureWidgetsComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.
|
|
|
30
30
|
var pd_0 = ((_co.module = "RISK") !== false);
|
|
31
31
|
ad = (pd_0 && ad);
|
|
32
32
|
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["Risks"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, "span", [], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, ["", ""]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.module === "RISK"); _ck(_v, 0, 0, currVal_0); var currVal_1 = _co.riskWidgetsDisplayCount; _ck(_v, 4, 0, currVal_1); }); }
|
|
33
|
-
function
|
|
33
|
+
function View_ConfigureWidgetsComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "button", [["class", "configure-widgets-item-button add"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
34
|
+
var pd_0 = (_co.selectWidget(true, _co.module, _v.parent.parent.context.$implicit.id) !== false);
|
|
35
|
+
ad = (pd_0 && ad);
|
|
36
|
+
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["+ ADD"]))], null, null); }
|
|
37
|
+
function View_ConfigureWidgetsComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "button", [["class", "configure-widgets-item-button remove"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
38
|
+
var pd_0 = (_co.selectWidget(false, _co.module, _v.parent.parent.context.$implicit.id) !== false);
|
|
39
|
+
ad = (pd_0 && ad);
|
|
40
|
+
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["- Remove"]))], null, null); }
|
|
41
|
+
function View_ConfigureWidgetsComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, "app-cs-checkbox", [], null, [[null, "ngValueChange"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("ngValueChange" === en)) {
|
|
34
42
|
var pd_0 = (_co.selectWidget($event, _co.module, _v.parent.parent.parent.parent.context.$implicit.id, _v.parent.context.$implicit.id) !== false);
|
|
35
43
|
ad = (pd_0 && ad);
|
|
36
44
|
} return ad; }, i2.View_CsCheckboxComponent_0, i2.RenderType_CsCheckboxComponent)), i1.ɵdid(1, 114688, null, 0, i3.CsCheckboxComponent, [], { ngValue: [0, "ngValue"] }, { ngValueChange: "ngValueChange" }), (_l()(), i1.ɵted(2, 0, ["", " "]))], function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.value; _ck(_v, 1, 0, currVal_0); }, function (_ck, _v) { var currVal_1 = _v.parent.context.$implicit.title; _ck(_v, 2, 0, currVal_1); }); }
|
|
37
|
-
function
|
|
38
|
-
function
|
|
45
|
+
function View_ConfigureWidgetsComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_11)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _v.context.$implicit.visibility; _ck(_v, 2, 0, currVal_0); }, null); }
|
|
46
|
+
function View_ConfigureWidgetsComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, "div", [["class", "floating-option vx-d-flex"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_10)), i1.ɵdid(2, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null)], function (_ck, _v) { var currVal_0 = _v.parent.parent.context.$implicit.subWidgets; _ck(_v, 2, 0, currVal_0); }, null); }
|
|
39
47
|
function View_ConfigureWidgetsComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 18, "div", [["class", "configure-widgets-item"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 17, "label", [["class", "block"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, "input", [["type", "checkbox"]], [[8, "checked", 0]], [[null, "change"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("change" === en)) {
|
|
40
48
|
var pd_0 = (_co.selectWidget($event.target.checked, _co.module, _v.parent.context.$implicit.id) !== false);
|
|
41
49
|
ad = (pd_0 && ad);
|
|
42
|
-
} return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 3, "div", [["class", "check-icon"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, ":svg:svg", [["class", "check"], ["viewBox", "0 0 52 52"], ["xmlns", "http://www.w3.org/2000/svg"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, ":svg:circle", [["class", "check-circle"], ["cx", "26"], ["cy", "26"], ["fill", "none"], ["r", "25"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, ":svg:path", [["class", "check-circle"], ["d", "M14.1 27.2l7.1 7.2 16.7-16.8"], ["fill", "none"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 6, "div", [["class", "configure-widgets-item-head"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 0, "h4", [["class", "configure-widgets-item-title"]], [[8, "innerHTML", 1]], null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 0, "p", [["class", "configure-widgets-item-description"]], [[8, "innerHTML", 1]], null, null, null, null)), (_l()(), i1.ɵ
|
|
43
|
-
var pd_0 = (_co.selectWidget(true, _co.module, _v.parent.context.$implicit.id) !== false);
|
|
44
|
-
ad = (pd_0 && ad);
|
|
45
|
-
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["+ ADD"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, "button", [["class", "configure-widgets-item-button remove"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
46
|
-
var pd_0 = (_co.selectWidget(false, _co.module, _v.parent.context.$implicit.id) !== false);
|
|
47
|
-
ad = (pd_0 && ad);
|
|
48
|
-
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["- Remove"])), (_l()(), i1.ɵeld(14, 0, null, null, 4, "div", [["class", "configure-widgets-item-body"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, "div", [["class", "image-wrapper"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 0, "img", [["alt", ""]], [[8, "src", 4]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_7)), i1.ɵdid(18, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var currVal_4 = (((_v.parent.context.$implicit == null) ? null : ((_v.parent.context.$implicit.subWidgets == null) ? null : _v.parent.context.$implicit.subWidgets.length)) > 0); _ck(_v, 18, 0, currVal_4); }, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.value; _ck(_v, 2, 0, currVal_0); var currVal_1 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.title); _ck(_v, 8, 0, currVal_1); var currVal_2 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.description); _ck(_v, 9, 0, currVal_2); var currVal_3 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.widgetImage); _ck(_v, 16, 0, currVal_3); }); }
|
|
50
|
+
} return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 3, "div", [["class", "check-icon"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, ":svg:svg", [["class", "check"], ["viewBox", "0 0 52 52"], ["xmlns", "http://www.w3.org/2000/svg"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, ":svg:circle", [["class", "check-circle"], ["cx", "26"], ["cy", "26"], ["fill", "none"], ["r", "25"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, ":svg:path", [["class", "check-circle"], ["d", "M14.1 27.2l7.1 7.2 16.7-16.8"], ["fill", "none"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 6, "div", [["class", "configure-widgets-item-head"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 0, "h4", [["class", "configure-widgets-item-title"]], [[8, "innerHTML", 1]], null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 0, "p", [["class", "configure-widgets-item-description"]], [[8, "innerHTML", 1]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_7)), i1.ɵdid(11, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_8)), i1.ɵdid(13, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(14, 0, null, null, 4, "div", [["class", "configure-widgets-item-body"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, "div", [["class", "image-wrapper"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 0, "img", [["alt", ""]], [[8, "src", 4]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_9)), i1.ɵdid(18, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var currVal_3 = !_v.parent.context.$implicit.value; _ck(_v, 11, 0, currVal_3); var currVal_4 = _v.parent.context.$implicit.value; _ck(_v, 13, 0, currVal_4); var currVal_6 = (((_v.parent.context.$implicit == null) ? null : ((_v.parent.context.$implicit.subWidgets == null) ? null : _v.parent.context.$implicit.subWidgets.length)) > 0); _ck(_v, 18, 0, currVal_6); }, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.value; _ck(_v, 2, 0, currVal_0); var currVal_1 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.title); _ck(_v, 8, 0, currVal_1); var currVal_2 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.description); _ck(_v, 9, 0, currVal_2); var currVal_5 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.widgetImage); _ck(_v, 16, 0, currVal_5); }); }
|
|
49
51
|
function View_ConfigureWidgetsComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ConfigureWidgetsComponent_6)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.visibility); _ck(_v, 2, 0, currVal_0); }, null); }
|
|
50
52
|
function View_ConfigureWidgetsComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, "div", [["class", "configure-widgets-list"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_ConfigureWidgetsComponent_5)), i1.ɵdid(2, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), i1.ɵppd(3, 2)], function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent, 0), _co.widgetsList[_co.module], _co.search)); _ck(_v, 2, 0, currVal_0); }, null); }
|
|
51
|
-
function
|
|
53
|
+
function View_ConfigureWidgetsComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-no-data", [], null, null, null, i5.View_NoDataComponent_0, i5.RenderType_NoDataComponent)), i1.ɵdid(1, 114688, null, 0, i6.NoDataComponent, [], { noDataImage: [0, "noDataImage"], noDataText: [1, "noDataText"] }, null)], function (_ck, _v) { var currVal_0 = "https://cdn.v-comply.com/libraries/configure-widget/assets/images/configure-widget.svg"; var currVal_1 = "No data to display"; _ck(_v, 1, 0, currVal_0, currVal_1); }, null); }
|
|
52
54
|
function View_ConfigureWidgetsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 31, "div", [["class", "configure-widgets"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 6, "div", [["class", "configure-widgets-head"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, "h3", [["class", "configure-widgets-title"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Configure Widgets"])), (_l()(), i1.ɵeld(4, 0, null, null, 3, "button", [["class", "configure-widgets-back"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
53
55
|
var pd_0 = (_co.closeConfigureDashboard() !== false);
|
|
54
56
|
ad = (pd_0 && ad);
|
|
@@ -67,7 +69,7 @@ function View_ConfigureWidgetsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.
|
|
|
67
69
|
} if (("ngModelChange" === en)) {
|
|
68
70
|
var pd_4 = ((_co.search = $event) !== false);
|
|
69
71
|
ad = (pd_4 && ad);
|
|
70
|
-
} return ad; }, null, null)), i1.ɵdid(19, 16384, null, 0, i7.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i7.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i7.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DefaultValueAccessor]), i1.ɵdid(21, 671744, null, 0, i7.NgModel, [[8, null], [8, null], [8, null], [6, i7.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i7.NgControl, null, [i7.NgModel]), i1.ɵdid(23, 16384, null, 0, i7.NgControlStatus, [[4, i7.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_ConfigureWidgetsComponent_4)), i1.ɵdid(25, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), i1.ɵppd(26, 2), (_l()(), i1.ɵand(16777216, null, null, 2, null,
|
|
72
|
+
} return ad; }, null, null)), i1.ɵdid(19, 16384, null, 0, i7.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i7.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i7.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DefaultValueAccessor]), i1.ɵdid(21, 671744, null, 0, i7.NgModel, [[8, null], [8, null], [8, null], [6, i7.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i7.NgControl, null, [i7.NgModel]), i1.ɵdid(23, 16384, null, 0, i7.NgControlStatus, [[4, i7.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_ConfigureWidgetsComponent_4)), i1.ɵdid(25, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), i1.ɵppd(26, 2), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_ConfigureWidgetsComponent_12)), i1.ɵdid(28, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), i1.ɵppd(29, 2), (_l()(), i1.ɵeld(30, 0, null, null, 1, "floating-bar", [], null, [[null, "submitEvent"], [null, "cancelEvent"], [null, "deleteEvent"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("submitEvent" === en)) {
|
|
71
73
|
var pd_0 = (_co.onNextClick() !== false);
|
|
72
74
|
ad = (pd_0 && ad);
|
|
73
75
|
} if (("cancelEvent" === en)) {
|
|
@@ -81,4 +83,4 @@ export function View_ConfigureWidgetsComponent_0(_l) { return i1.ɵvid(0, [i1.ɵ
|
|
|
81
83
|
export function View_ConfigureWidgetsComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-configure-widgets", [], null, null, null, View_ConfigureWidgetsComponent_0, RenderType_ConfigureWidgetsComponent)), i1.ɵdid(1, 638976, null, 0, i12.ConfigureWidgetsComponent, [i13.DialogRef, i14.ConfigureWidgetsService, i10.SnackBarService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
|
|
82
84
|
var ConfigureWidgetsComponentNgFactory = i1.ɵccf("app-configure-widgets", i12.ConfigureWidgetsComponent, View_ConfigureWidgetsComponent_Host_0, { selectedWidgetsData: "selectedWidgetsData", displayedWidgets: "displayedWidgets", showRisk: "showRisk", showCompliance: "showCompliance", mode: "mode" }, { widgetsDataModified: "widgetsDataModified", closeConfigureWidgets: "closeConfigureWidgets" }, []);
|
|
83
85
|
export { ConfigureWidgetsComponentNgFactory as ConfigureWidgetsComponentNgFactory };
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQubmdmYWN0b3J5LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvRUNVZ0IsZ0pBQ2tGLFlBRGQ7O3dCQUE2QjtNQUFqRyx3QkFDa0YsS0FBOUUsK0VBQXlFLEtBQWpFLHVDQUFVLE1BQUEsNkVBQThDLEtBQXhDLGdDQUFpQyx5REFEekQsNENBQXdDLEdBQTVDLFlBQ2tGLEVBRDlFLFNBQXdDLEdBQ2hCLDBFQUFpQztvRUFDN0QsNEZBQzJGLEtBRG5DLG1JQUM4QixZQUE5RTs7d0JBQXVCO01BRHlCLHdCQUM4QixLQUF0RCxrQ0FBSyxNQUFBLDZFQUF3QyxLQUFsQyxnQ0FBMkIseURBRGxFLHNDQUFrQyxHQUF0QyxZQUMyRixFQUR2RixTQUFrQyxHQUNLLG9FQUEyQjtvRUFzQjFELGlMQUNpRSxZQUE3RDs7d0JBQThDO01BRGxELHdCQUNpRSxLQUFkLGtDQUFLO29FQUN4RCxvTEFDcUUsWUFBakU7O3dCQUErQztNQURuRCx3QkFDcUUsS0FBakIscUNBQVE7cUVBUW5ELG9KQUdhLFlBRmQ7O3dCQUFxRTtNQURwRSx1TUFHYSxNQURjLDhCQUNoQywyQkFESSxrQkFBMkIsaUNBRjFCLFlBR2EsRUFEZCxTQUEyQiwyQkFBQywwRUFDaEM7cUVBSkEsNkVBS2UsS0FKViwwTEFHYSw4REFISSxrQkFBNEIsK0JBQTdDLFlBR2EsRUFISSxTQUE0QjtvRUFGdEQsa0hBUU0sS0FQRix3TkFLZSx5QkFMRCxrQkFBMkMsNkNBQXpELFlBS2UsRUFMRCxTQUEyQztvRUF2QnpFLGdIQWtDTSxLQWpDRixpR0FnQ1EsS0EvQkosc0tBQ29FLFlBQWhFOzt3QkFBK0Q7TUFEbkUsd0JBQ29FLEtBQ3BFLG1HQUtNLEtBSkYsc0tBR00sS0FGRix3S0FBa0UsS0FDbEUsb0tBQTBFLEtBR2xGLG9IQU9NLEtBTkYscUlBQTBFLEtBQzFFLDBJQUFvRixLQUNwRiwwTEFDaUUsSUFDakUsMExBQ3FFLElBRXpFLHFIQWNNLEtBYkYsdUdBRU0sS0FERixtR0FBd0MsS0FFNUMsMExBUU0seUJBakJFLG1CQUFxQixpQ0FBN0IsYUFDaUUsRUFEekQsU0FBcUIsR0FFckIsa0JBQW9CLGlDQUE1QixhQUNxRSxFQUQ3RCxTQUFvQixHQU9XLCtLQUFvQyxHQUEzRSxhQVFNLEVBUmlDLFNBQW9DLDJCQXBCeEQsa0JBQXdCLGlDQUEvQyxZQUNvRSxFQUQ3QyxTQUF3QixHQVNGLGtFQUEyQixrQ0FBcEUsWUFBMEUsRUFBakMsU0FBMkIsR0FDdEIsa0VBQWlDLHdDQUEvRSxZQUFvRixFQUF0QyxTQUFpQyxHQVF0RSxrRUFBMkIsd0NBQWhDLGFBQXdDLEVBQW5DLFNBQTJCO29FQXJCcEQsNkVBb0NlLEtBbkNYLHlMQWtDTSw4REFsQzhCLDJEQUEwQixnQ0FBOUQsWUFrQ00sRUFsQzhCLFNBQTBCO29FQUZ0RSwrR0F5Q00sS0F4Q0YsdU5Bb0NlLEdBcENELDJLQUEwRCxXQUF4RSxZQW9DZSxFQXBDRCxTQUEwRDtxRUF5QzVFLGtRQUdjLHlCQUZWLHdHQUF3RyxFQUN4RyxvQ0FBbUMsRUFGdkMsWUFHYyxFQUZWLFNBQXdHLEVBQ3hHLFNBQW1DO29FQWhFL0MsMkdBc0VNLEtBckVGLCtHQUtNLEtBSkYsK0dBQTBELEtBQXRCLDhDQUFpQixNQUNyRCxzS0FFUyxZQUY4Qjs7d0JBQW1DO01BQTFFLHdCQUVTLEtBREwsNEZBQTZCLEtBQVosbUNBQVEsTUFBSSxtQ0FDakMsTUFFSixnSEEyRE0sS0ExREYsOEdBT00sS0FORiw0RUFLSyxLQUpELDBMQUNrRixJQUNsRiwwTEFDMkYsSUFHbkcsa0hBR00sS0FGRixxR0FBcUMsS0FBWixtQ0FBUSxNQUNqQzs7Ozs7Ozs7Ozs7d0JBQXFFO01BQXJCOzt3QkFBb0I7TUFBcEUsNGlCQUFxRSxJQUV6RSwwTEF5Q00sR0F6QzhCLGFBQTBELElBMEM5RiwyTEFHYyxHQUhELGFBQTJELElBTTVFLDhMQUN5RixZQUQzRTs7d0JBQTZCO01BQUM7O3dCQUF5QztNQUNoRDs7d0JBQW9DO01BRHpFLDRSQUN5RixtREEzRGhDLG1CQUFzQixpQkFBbkUsYUFDa0YsRUFEckMsU0FBc0IsR0FFNUIsbUJBQWdCLFdBQXZELGFBQzJGLEVBRHBELFNBQWdCLEdBTVgsbUJBQW9CLFNBQXBFLGFBQXFFLEVBQXJCLFNBQW9CLEdBRXBDLGlJQUEwRCxHQUE5RixhQXlDTSxFQXpDOEIsVUFBMEQsR0EwQ2pGLGlJQUEyRCxHQUF4RSxhQUdjLEVBSEQsVUFBMkQsR0FPeEUsb0JBQWdDLGtCQURwQyxhQUN5RixFQUFyRixVQUFnQywyQkFuRDVCLGthQUFxRTsyR0FsQmpGLHlMQXNFTSxpREF0RXlCLG1CQUFtQixjQUFsRCxZQXNFTSxFQXRFeUIsU0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHNcIiAqbmdJZj1cInNob3dXaWRnZXRzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaGVhZFwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLXRpdGxlXCI+Q29uZmlndXJlIFdpZGdldHM8L2gzPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1iYWNrXCIgKGNsaWNrKT1cImNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKClcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWQ7PC9pPiBCYWNrXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLXRhYlwiPlxyXG4gICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmFjdGl2ZV09XCJtb2R1bGUgPT09ICdDT01QTElBTkNFJ1wiICpuZ0lmPVwic2hvd0NvbXBsaWFuY2VcIiAoY2xpY2spPVwibW9kdWxlPSdDT01QTElBTkNFJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24+Q29tcGxpYW5jZTxzcGFuPnt7Y29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnR9fTwvc3Bhbj48L2J1dHRvbj48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5hY3RpdmVdPVwibW9kdWxlID09PSAnUklTSydcIiAqbmdJZj1cInNob3dSaXNrXCI+PGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kdWxlPSdSSVNLJ1wiPlJpc2tzPHNwYW4+e3tyaXNrV2lkZ2V0c0Rpc3BsYXlDb3VudH19PC9zcGFuPjwvYnV0dG9uPjwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLXNlYXJjaFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggd2lkZ2V0c1wiIFsobmdNb2RlbCldPVwic2VhcmNoXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWxpc3RcIiAqbmdJZj1cIih3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoOnNlYXJjaCkubGVuZ3RoICE9PSAwXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHdpZGdldCBvZiB3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoOnNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW1cIiAqbmdJZj1cIndpZGdldD8udmlzaWJpbGl0eVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJ3aWRnZXQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RXaWRnZXQoJGV2ZW50LnRhcmdldC5jaGVja2VkLG1vZHVsZSx3aWRnZXQuaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2hlY2tcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVjay1jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrLWNpcmNsZVwiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLXRpdGxlXCIgW2lubmVySFRNTF09XCJ3aWRnZXQ/LnRpdGxlXCI+PC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwid2lkZ2V0Py5kZXNjcmlwdGlvblwiPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhd2lkZ2V0LnZhbHVlXCIgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJ1dHRvbiBhZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RXaWRnZXQodHJ1ZSxtb2R1bGUsd2lkZ2V0LmlkKSBcIj4rIEFERDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndpZGdldC52YWx1ZVwiIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1idXR0b24gcmVtb3ZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0V2lkZ2V0KGZhbHNlLG1vZHVsZSx3aWRnZXQuaWQpIFwiPi0gUmVtb3ZlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJ3aWRnZXQ/LndpZGdldEltYWdlXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdGluZy1vcHRpb24gdngtZC1mbGV4XCIgKm5nSWY9XCJ3aWRnZXQ/LnN1YldpZGdldHM/Lmxlbmd0aD4wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViV2lkZ2V0IG9mIHdpZGdldC5zdWJXaWRnZXRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwic3ViV2lkZ2V0LnZpc2liaWxpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RXaWRnZXQoJGV2ZW50LCBtb2R1bGUsd2lkZ2V0LmlkLHN1YldpZGdldC5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzdWJXaWRnZXQudmFsdWVcIj57e3N1YldpZGdldC50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gTm8gRGF0YSBJbWFnZSAtLT5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiKHdpZGdldHNMaXN0W21vZHVsZV0gfCBzZWFyY2g6c2VhcmNoKS5sZW5ndGggPT09IDAgXCJcclxuICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9jb25maWd1cmUtd2lkZ2V0LnN2ZydcIlxyXG4gICAgICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPlxyXG4gICAgICAgIDwvYXBwLW5vLWRhdGE+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZmxvYXRpbmctYmFyIChzdWJtaXRFdmVudCk9XCJvbk5leHRDbGljaygpXCIgKGNhbmNlbEV2ZW50KT1cImNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKClcIlxyXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRXaWRnZXRzXCIgKGRlbGV0ZUV2ZW50KT1cInJlbW92ZVdpZGdldCgkZXZlbnQpXCI+PC9mbG9hdGluZy1iYXI+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -100,12 +100,6 @@ export class UserListComponent {
|
|
|
100
100
|
if (event) {
|
|
101
101
|
this.vLoader = true;
|
|
102
102
|
this.dashboardService.getAllUsers().subscribe((res) => {
|
|
103
|
-
// this.selectedList = [...res];
|
|
104
|
-
// const selectedData = [...res];
|
|
105
|
-
// this.footerDetails.selectedData = this.selectedList;
|
|
106
|
-
// this.selectedIds = selectedData.map((ele: any) => {
|
|
107
|
-
// if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }
|
|
108
|
-
// });
|
|
109
103
|
if (res.length > 1) {
|
|
110
104
|
res.forEach((searchElement) => {
|
|
111
105
|
if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {
|
|
@@ -119,16 +113,6 @@ export class UserListComponent {
|
|
|
119
113
|
});
|
|
120
114
|
}
|
|
121
115
|
else {
|
|
122
|
-
// this.selectedList = [];
|
|
123
|
-
// this.selectedIds = [];
|
|
124
|
-
// this.footerDetails.selectedData = [];
|
|
125
|
-
// this.searchList.forEach(searchElement => {
|
|
126
|
-
// if (!this.listDetails.nonRemovableUsersList.includes(searchElement[this.listDetails.elementIdKey])) {
|
|
127
|
-
// this.selectedList.push(searchElement);
|
|
128
|
-
// this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);
|
|
129
|
-
// this.footerDetails.selectedData = this.selectedList;
|
|
130
|
-
// }
|
|
131
|
-
// });
|
|
132
116
|
const selectedData = [...new Set(this.selectedList)];
|
|
133
117
|
const index = selectedData.findIndex(ele => ele[this.listDetails.elementIdKey] === this.listDetails.nonRemovableUsersList[0]);
|
|
134
118
|
if (index != -1) {
|
|
@@ -209,8 +193,6 @@ export class UserListComponent {
|
|
|
209
193
|
getUsersList(url) {
|
|
210
194
|
this.vLoader = true;
|
|
211
195
|
this.dashboardService.getOrganizationUsers(url ? url : '').subscribe(res => {
|
|
212
|
-
// console.log(this.selectedList,this.selectedIds)
|
|
213
|
-
// debugger
|
|
214
196
|
this.searchList = res;
|
|
215
197
|
this.vLoader = false;
|
|
216
198
|
});
|
|
@@ -228,7 +210,7 @@ UserListComponent.decorators = [
|
|
|
228
210
|
{ type: Component, args: [{
|
|
229
211
|
selector: 'app-user-list',
|
|
230
212
|
template: "<div class=\"user-list\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"user-list-head\">\r\n <h3>Who can view this dashboard?</h3>\r\n </div>\r\n <div class=\"user-list-body\">\r\n <div class=\"user-list-search\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" placeholder=\"Search User(s) who can view this dashboard\" (keyup.enter)=\"setSearchValue()\" (focusout)=\"setSearchValue()\">\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-end\" *ngIf=\"!searchValue\">\r\n <div class=\"pagination-box\" *ngIf=\"totalPages>1 && searchList.length>1\"> \r\n <app-pagination (paginationFilter)=\"paginationFilter($event)\" [limit]=\"limit\" [totalPages]=\"totalPages\" [totalList]=\"totalList\"></app-pagination>\r\n </div>\r\n </div>\r\n <div class=\"user-list-body-top\">\r\n <app-cs-checkbox *ngIf=\"!searchValue && searchList.length>1\" [ngValue]=\"selectedList.length == totalList\" (ngValueChange)=\"selectAllUsers($event)\">\r\n <strong>{{((selectedList.length == totalList) ? 'Deselect All':'Select All')}}</strong>\r\n </app-cs-checkbox>\r\n <app-cs-checkbox *ngIf=\"searchValue && searchList.length>1\" [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{((selectedList.length == totalList) ? 'Deselect All':'Select All')}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-of-user\">\r\n <ul class=\"selection-list\" [class.with-pagination]=\"totalPages>1\">\r\n <li *ngFor=\"let data of searchList; let i = index\">\r\n <app-cs-checkbox [disabled]=\"listDetails.nonRemovableUsersList.includes(data[listDetails.elementIdKey])\" [ngValue]=\"selectedList.length>0 && selectedIds.includes(data[listDetails.elementIdKey])\"\r\n (ngValueChange)=\"selectElement(data)\" [arTooltip]=\"data[listDetails.tooltipKey]\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\"\r\n > {{data[listDetails.displayElementKey]}}</app-cs-checkbox>\r\n </li>\r\n <!-- appTooltip=\"{{data[listDetails.tooltipKey]}}\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"false\" -->\r\n </ul>\r\n\r\n <app-no-data *ngIf=\"!vLoader && searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n <app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>\r\n\r\n </div>\r\n \r\n\r\n </div>\r\n <div class=\"user-list-footer\">\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"closeUserList.emit()\"\r\n (deleteEvent) =\"selectElement($event)\"\r\n (submitEvent)=\"onSubmit()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n\r\n</div>\r\n\r\n",
|
|
231
|
-
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/animate/animation.css\");@import url(\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");::ng-deep .user-list{background:#fff}::ng-deep .user-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f1f1;border-right:none}::ng-deep .user-list-head h3{color:#161b2f;font-size:15px;font-weight:500;margin:0;padding:0;line-height:21px}::ng-deep .user-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px);position:relative}::ng-deep .user-list-body-top{display:flex;justify-content:space-between;padding:0 0 20px}::ng-deep .user-list-body-top app-cs-checkbox{display:flex}::ng-deep .user-list-body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .user-list-body ul.selection-list{padding:0;display:flex;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh -
|
|
213
|
+
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/animate/animation.css\");@import url(\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");::ng-deep .user-list{background:#fff}::ng-deep .user-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f1f1;border-right:none}::ng-deep .user-list-head h3{color:#161b2f;font-size:15px;font-weight:500;margin:0;padding:0;line-height:21px}::ng-deep .user-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px);position:relative}::ng-deep .user-list-body-top{display:flex;justify-content:space-between;padding:0 0 20px}::ng-deep .user-list-body-top app-cs-checkbox{display:flex}::ng-deep .user-list-body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .user-list-body ul.selection-list{padding:0;display:flex;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 230px);overflow:auto;margin:0}::ng-deep .user-list-body ul.selection-list::-webkit-scrollbar-track{background-color:#fff}::ng-deep .user-list-body ul.selection-list.with-pagination{max-height:calc(100vh - 270px)}::ng-deep .user-list-body ul.selection-list li{width:50%;padding:0 20px 20px 0;list-style:none}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox,::ng-deep .user-list-body ul.selection-list li app-cs-radio{display:flex}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label,::ng-deep .user-list-body ul.selection-list li app-cs-radio label{width:100%}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value span.name,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:13px}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value span.position,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value span.position.manager{background:#d4e2fc;color:#4681ef}::ng-deep .user-list-body ul.selection-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .user-list-body ul.selection-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .user-list-footer{height:70px}::ng-deep .user-list-search{position:relative;margin-bottom:8px}::ng-deep .user-list-search i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .user-list-search input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}"]
|
|
232
214
|
},] }
|
|
233
215
|
];
|
|
234
216
|
UserListComponent.ctorParameters = () => [
|
|
@@ -244,4 +226,4 @@ UserListComponent.propDecorators = {
|
|
|
244
226
|
limit: [{ type: Input }],
|
|
245
227
|
totalList: [{ type: Input }]
|
|
246
228
|
};
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci91c2VyLWxpc3QvdXNlci1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFzQzVCLFlBQ1UsaUJBQW9DLEVBQ3BDLGdCQUF3QztRQUR4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUF2Q3hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQTBCO1lBQzVDLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsVUFBVSxFQUFFLEVBQUU7WUFDZCxpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7U0FDMUIsQ0FBQztRQUVGLGtCQUFhLEdBQTBCO1lBQ3JDLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxlQUFlO1lBQzdCLFVBQVUsRUFBRSxnQkFBZ0I7WUFDNUIsYUFBYSxFQUFFLEtBQUs7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UUFHdkIsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxRQUFRO1FBQ04sTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7OztZQXhRQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGdwR0FBeUM7O2FBRTFDOzs7WUFQUSxpQkFBaUI7WUFEakIsc0JBQXNCOzs7NEJBVTVCLE1BQU07Z0NBQ04sTUFBTTs0QkFDTixLQUFLOzBCQUNMLEtBQUs7eUJBc0JMLEtBQUs7b0JBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRGb290ZXJDb25maWcgfSBmcm9tICcuLi8uLi91aS1raXQvZGFzaGJvYXJkLWZvb3Rlci9kYXNoYm9hcmQtZm9vdGVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IENyZWF0ZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jcmVhdGUtZGFzaGJvYXJkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJMaXN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vdXNlci1saXN0LmNvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11c2VyLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGNsb3NlVXNlckxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZFVzZXJzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvblR5cGUgPSAnJztcclxuICBASW5wdXQoKSBsaXN0RGV0YWlsczogVXNlckxpc3RDb25maWd1cmF0aW9uID0ge1xyXG4gICAgZGlzcGxheUVsZW1lbnRLZXk6ICcnLFxyXG4gICAgZWxlbWVudElkS2V5OiAnJyxcclxuICAgIHRvb2x0aXBLZXk6ICcnLFxyXG4gICAgc2VsZWN0ZWRVc2Vyc0xpc3Q6IFtdLFxyXG4gICAgbm9uUmVtb3ZhYmxlVXNlcnNMaXN0OiBbXVxyXG4gIH07XHJcblxyXG4gIGZvb3RlckRldGFpbHM6IERhc2hib2FyZEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICBub25SZW1vdmFibGVMaXN0OiBbXSxcclxuICAgIGRpc3BsYXlFbGVtZW50S2V5OiAnJyxcclxuICAgIGVsZW1lbnRJZDogJycsXHJcbiAgICBzaW5ndWxhclRleHQ6ICdVc2VyIHNlbGVjdGVkJyxcclxuICAgIHBsdXJhbFRleHQ6ICdVc2VycyBzZWxlY3RlZCcsXHJcbiAgICBzaG93RnJlcXVlbmN5OiBmYWxzZSxcclxuICAgIGZyZXF1ZW5jeVRleHQ6ICcnLFxyXG4gICAgaXNEaXNhYmxlZDogZmFsc2VcclxuXHJcbiAgfTtcclxuICB2TG9hZGVyID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHRvdGFsUGFnZXMgPSAxO1xyXG4gIEBJbnB1dCgpIGxpbWl0ID0gMTtcclxuICBASW5wdXQoKSB0b3RhbExpc3QgPSAxO1xyXG5cclxuICBzZWFyY2hMaXN0ID0gW107XHJcbiAgc2VhcmNoVmFsdWUgPSAnJztcclxuICBzZWFyY2hGaWx0ZXIgPSAnJztcclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZExpc3Q6IGFueVtdID0gW107XHJcblxyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdpbmF0aW9uU2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhc2hib2FyZFNlcnZpY2U6IENyZWF0ZURhc2hib2FyZFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIGlmICh0aGlzLmxpc3REZXRhaWxzLnNlbGVjdGVkVXNlcnNMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbLi4ubmV3IFNldCh0aGlzLmxpc3REZXRhaWxzLnNlbGVjdGVkVXNlcnNMaXN0KV07XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMubGlzdERldGFpbHMuc2VsZWN0ZWRVc2Vyc0xpc3QpXTtcclxuICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YTtcclxuICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLm5vblJlbW92YWJsZUxpc3QgPSB0aGlzLmxpc3REZXRhaWxzLm5vblJlbW92YWJsZVVzZXJzTGlzdDtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IHNlbGVjdGVkRGF0YS5tYXAoKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pIHsgcmV0dXJuIGVsZVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV07IH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRVc2Vyc0xpc3Qoe1xyXG4gICAgICBwOiB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmN1cnJlbnRQYWdlID09PSAxID8gJycgOiB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmN1cnJlbnRQYWdlLFxyXG4gICAgICB0eXBlOiAnJyxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb290ZXJEZXRhaWxzLmRpc3BsYXlFbGVtZW50S2V5ID0gdGhpcy5saXN0RGV0YWlscy5kaXNwbGF5RWxlbWVudEtleTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5lbGVtZW50SWQgPSB0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleTtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgY2FuY2VsQ2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG4gIHJlbW92ZUVsZW1lbnQoZXZlbnQ6IGFueSkge1xyXG5cclxuICB9XHJcbiAgc3VibWl0Q2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWFyY2hMaXN0LmZvckVhY2goc2VhcmNoRWxlbWVudCA9PiB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0LnB1c2goc2VhcmNoRWxlbWVudCk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goc2VhcmNoRWxlbWVudFt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRMaXN0O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWFyY2hMaXN0LmZvckVhY2goc2VhcmNoRWxlbWVudCA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3REZXRhaWxzLm5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSkpIHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZExpc3QuZmluZEluZGV4KGVsZSA9PiBlbGVbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldID09PVxyXG4gICAgICAgICAgICBzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgY29uc3QgZmlsdGVyZWRMaXN0ID0gWy4uLnRoaXMuc2VsZWN0ZWRMaXN0XTtcclxuICAgICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdDtcclxuXHJcbiAgICAgICAgICBjb25zdCBpZEluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoZWxlID0+IGVsZSA9PT0gc2VhcmNoRWxlbWVudFt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaWRJbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3RzIGFsbCBhZG1pbnMgYW5kIG1hbmFnZXJzIGF0IG9uY2UgYnkgbWFraW5nIGFwaSBjYWxsLlxyXG4gICAqIEBwYXJhbSBldmVudCBjb25zaXN0cyBib29sZWFuIHZhbHVlIHRvIHNlbGVjdCBvZiB1bnNlbGVjdC5cclxuICAgKi9cclxuICBzZWxlY3RBbGxVc2VycyhldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy52TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldEFsbFVzZXJzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRMaXN0ID0gWy4uLnJlc107XHJcbiAgICAgICAgLy8gY29uc3Qgc2VsZWN0ZWREYXRhID0gWy4uLnJlc107XHJcbiAgICAgICAgLy8gdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRMaXN0O1xyXG5cclxuICAgICAgICAvLyB0aGlzLnNlbGVjdGVkSWRzID0gc2VsZWN0ZWREYXRhLm1hcCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICAvLyAgIGlmIChlbGVbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKSB7IHJldHVybiBlbGVbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldOyB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgaWYocmVzLmxlbmd0aD4xKXtcclxuICAgICAgICAgIHJlcy5mb3JFYWNoKChzZWFyY2hFbGVtZW50OmFueSkgPT4ge1xyXG4gIFxyXG4gICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHNlYXJjaEVsZW1lbnRbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKHNlYXJjaEVsZW1lbnQpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goc2VhcmNoRWxlbWVudFt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZExpc3Q7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgLy8gdGhpcy5zZWxlY3RlZExpc3QgPSBbXTtcclxuICAgICAgLy8gdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICAvLyB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gW107XHJcblxyXG4gICAgICAvLyB0aGlzLnNlYXJjaExpc3QuZm9yRWFjaChzZWFyY2hFbGVtZW50ID0+IHtcclxuICAgICAgLy8gICBpZiAoIXRoaXMubGlzdERldGFpbHMubm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKHNlYXJjaEVsZW1lbnRbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKSkge1xyXG4gICAgICAvLyAgICAgdGhpcy5zZWxlY3RlZExpc3QucHVzaChzZWFyY2hFbGVtZW50KTtcclxuICAgICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSk7XHJcbiAgICAgIC8vICAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZExpc3Q7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9KTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRMaXN0KV07XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChlbGUgPT4gZWxlW3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSA9PT0gdGhpcy5saXN0RGV0YWlscy5ub25SZW1vdmFibGVVc2Vyc0xpc3RbMF0pO1xyXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcclxuICAgICAgICBjb25zdCBvd25lciA9IE9iamVjdC5hc3NpZ24oc2VsZWN0ZWREYXRhW2luZGV4XSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3QucHVzaChvd25lcik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKG93bmVyLm1lbWJlcl9pZCk7XHJcbiAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRMaXN0O1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4vKipcclxuICogU2VsZWN0cyBjaGVja2VkIGl0ZW0gZnJvbSB0aGUgbGlzdC5cclxuICogSW4gY2FzZSBvZiB1c2VyJ3MgbGlzdCBjYWxjdWxhdGVzIG51bWJlciBvZiBhZG1pbnMvbWFuYWdlcyB0byBzZXQgdmlzaWJpbGl0eShlaXRoZXIgdG8gYWxsIGFkbWlucy8gYWRtaW5zIGFuZCBtYW5hZ2VycylcclxuICogQHBhcmFtIGRhdGEgaXMgdGhlIHNlbGVjdGVkIGVsZW1lbnRcclxuICovXHJcbnNlbGVjdEVsZW1lbnQoZGF0YTogYW55KSB7XHJcbiAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZGF0YVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pKSB7XHJcbiAgICBpZiAoIXRoaXMubGlzdERldGFpbHMubm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGRhdGFbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKSkge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRMaXN0LmZpbmRJbmRleChlbGUgPT4gZWxlW3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSA9PT0gZGF0YVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZExpc3Q7XHJcblxyXG4gICAgICBjb25zdCBpZEluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoZWxlID0+IGVsZSA9PT0gZGF0YVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaWRJbmRleCwgMSk7XHJcbiAgICB9XHJcblxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKGRhdGEpO1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGRhdGFbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdDtcclxuXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSXQgaXMgdXNlZCB0byBzZXQgYW5kIHNlYXJjaCB2YWx1ZSBpbmNhc2Ugb2YgYmFja2VuZCBkcml2ZW4gbGlzdCB0byBkaWZmZXJlbnRpYXRlIHNlYXJjaCBsaXN0IGFuZCBvcmlnaW5hbCBsaXN0XHJcbiAqL1xyXG5zZXRTZWFyY2hWYWx1ZSgpIHtcclxuICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICB0aGlzLnBhZ2luYXRpb25GaWx0ZXIodHJ1ZSk7XHJcblxyXG59XHJcblxyXG4vKipcclxuKiBpdCBpcyB1c2VkIGNoZWNrIHNlbGVjdCBhbGwgY29uZGl0aW9uIGluY2FzZSBvZiBiYWNrZW5kIGRyaXZlbiBzZWFyY2hcclxuKi9cclxuY2hlY2tTZWxlY3RBbGwoKSB7XHJcbiAgaWYgKHRoaXMuc2VhcmNoTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICBjb25zdCBkYXRhOiBib29sZWFuID0gdGhpcy5zZWFyY2hMaXN0LmV2ZXJ5KGVsZSA9PiB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKGVsZVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gIH1cclxuXHJcbn1cclxuLyoqXHJcbiAqIEZpbHRlciBsaXN0IHVzZXIncyBsaXN0IGJhc2VkIG9uIHBhZ2luYXRpb24gYnkgbWFraW5nIGFwaSBjYWxsXHJcbiAqIEBwYXJhbSBldmVudCBzcGVjaWZpZXMgYSBib29sZWFuIHZhbHVlIHRvIGNhbGwgYXBpXHJcbiAqL1xyXG5wYWdpbmF0aW9uRmlsdGVyKGV2ZW50OiBhbnkpIHtcclxuICAvLyB0aGlzLnBhZ2luYXRpb25GaWx0ZXJFdmVudC5lbWl0KGV2ZW50KTtcclxuICBpZiAoZXZlbnQpIHtcclxuICAgIHRoaXMudkxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLmdldFVzZXJzTGlzdCh7XHJcbiAgICAgIHA6IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY3VycmVudFBhZ2UgPT09IDEgPyAnJyA6IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY3VycmVudFBhZ2UsXHJcbiAgICAgIHR5cGU6ICcnLFxyXG4gICAgICBxOiAoIXRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc2VhcmNoVmFsdWUpID8gJycgOiB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnNlYXJjaFZhbHVlLFxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxufVxyXG4vKipcclxuICogR2V0cyB1c2VyJ3MgbGlzdCAgYnkgbWFraW5nIGFwaSBjYWxsXHJcbiAqIEBwYXJhbSB1cmwgY29udGFpbnMgdXNlcmxpc3QgZmlsdGVyIGRldGFpbHNcclxuICovXHJcbmdldFVzZXJzTGlzdCh1cmw6IGFueSkge1xyXG4gIHRoaXMudkxvYWRlciA9IHRydWU7XHJcblxyXG4gIHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRPcmdhbml6YXRpb25Vc2Vycyh1cmwgPyB1cmwgOiAnJykuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkTGlzdCx0aGlzLnNlbGVjdGVkSWRzKVxyXG4gICAgLy8gZGVidWdnZXJcclxuICAgIHRoaXMuc2VhcmNoTGlzdCA9IHJlcztcclxuICAgIHRoaXMudkxvYWRlciA9IGZhbHNlO1xyXG5cclxuXHJcbiAgfSk7XHJcblxyXG59XHJcbi8qKlxyXG4gKiBvbiBjbGljayBvbiBuZXh0IGJ1dHRvbiBmcm9tIHRoZSBsaXN0LCBpdCBlbWl0cyB0aGUgc2VsZWN0ZWQgbGlzdCBvZiBlbGVtZW50cyB0byBwYXJlbnQgY29tcG9uZW50LlxyXG4gKi9cclxub25TdWJtaXQoKSB7XHJcbiAgY29uc3QgZGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRMaXN0KV07XHJcbiAgdGhpcy5zYXZlU2VsZWN0ZWRVc2Vycy5lbWl0KGRhdGEpO1xyXG4gIHRoaXMucGFnaW5hdGlvblNlcnZpY2UucmVzZXQoKTtcclxufVxyXG59XHJcbiJdfQ==
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci91c2VyLWxpc3QvdXNlci1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFzQzVCLFlBQ1UsaUJBQW9DLEVBQ3BDLGdCQUF3QztRQUR4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUF2Q3hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQTBCO1lBQzVDLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsVUFBVSxFQUFFLEVBQUU7WUFDZCxpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7U0FDMUIsQ0FBQztRQUVGLGtCQUFhLEdBQTBCO1lBQ3JDLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxlQUFlO1lBQzdCLFVBQVUsRUFBRSxnQkFBZ0I7WUFDNUIsYUFBYSxFQUFFLEtBQUs7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LENBQUM7OztZQXZQQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGdwR0FBeUM7O2FBRTFDOzs7WUFQUSxpQkFBaUI7WUFEakIsc0JBQXNCOzs7NEJBVTVCLE1BQU07Z0NBQ04sTUFBTTs0QkFDTixLQUFLOzBCQUNMLEtBQUs7eUJBc0JMLEtBQUs7b0JBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRGb290ZXJDb25maWcgfSBmcm9tICcuLi8uLi91aS1raXQvZGFzaGJvYXJkLWZvb3Rlci9kYXNoYm9hcmQtZm9vdGVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IENyZWF0ZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jcmVhdGUtZGFzaGJvYXJkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJMaXN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vdXNlci1saXN0LmNvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11c2VyLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGNsb3NlVXNlckxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZFVzZXJzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvblR5cGUgPSAnJztcclxuICBASW5wdXQoKSBsaXN0RGV0YWlsczogVXNlckxpc3RDb25maWd1cmF0aW9uID0ge1xyXG4gICAgZGlzcGxheUVsZW1lbnRLZXk6ICcnLFxyXG4gICAgZWxlbWVudElkS2V5OiAnJyxcclxuICAgIHRvb2x0aXBLZXk6ICcnLFxyXG4gICAgc2VsZWN0ZWRVc2Vyc0xpc3Q6IFtdLFxyXG4gICAgbm9uUmVtb3ZhYmxlVXNlcnNMaXN0OiBbXVxyXG4gIH07XHJcblxyXG4gIGZvb3RlckRldGFpbHM6IERhc2hib2FyZEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICBub25SZW1vdmFibGVMaXN0OiBbXSxcclxuICAgIGRpc3BsYXlFbGVtZW50S2V5OiAnJyxcclxuICAgIGVsZW1lbnRJZDogJycsXHJcbiAgICBzaW5ndWxhclRleHQ6ICdVc2VyIHNlbGVjdGVkJyxcclxuICAgIHBsdXJhbFRleHQ6ICdVc2VycyBzZWxlY3RlZCcsXHJcbiAgICBzaG93RnJlcXVlbmN5OiBmYWxzZSxcclxuICAgIGZyZXF1ZW5jeVRleHQ6ICcnLFxyXG4gICAgaXNEaXNhYmxlZDogZmFsc2VcclxuXHJcbiAgfTtcclxuICB2TG9hZGVyID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHRvdGFsUGFnZXMgPSAxO1xyXG4gIEBJbnB1dCgpIGxpbWl0ID0gMTtcclxuICBASW5wdXQoKSB0b3RhbExpc3QgPSAxO1xyXG5cclxuICBzZWFyY2hMaXN0ID0gW107XHJcbiAgc2VhcmNoVmFsdWUgPSAnJztcclxuICBzZWFyY2hGaWx0ZXIgPSAnJztcclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZExpc3Q6IGFueVtdID0gW107XHJcblxyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdpbmF0aW9uU2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhc2hib2FyZFNlcnZpY2U6IENyZWF0ZURhc2hib2FyZFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIGlmICh0aGlzLmxpc3REZXRhaWxzLnNlbGVjdGVkVXNlcnNMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbLi4ubmV3IFNldCh0aGlzLmxpc3REZXRhaWxzLnNlbGVjdGVkVXNlcnNMaXN0KV07XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMubGlzdERldGFpbHMuc2VsZWN0ZWRVc2Vyc0xpc3QpXTtcclxuICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YTtcclxuICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLm5vblJlbW92YWJsZUxpc3QgPSB0aGlzLmxpc3REZXRhaWxzLm5vblJlbW92YWJsZVVzZXJzTGlzdDtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IHNlbGVjdGVkRGF0YS5tYXAoKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pIHsgcmV0dXJuIGVsZVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV07IH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRVc2Vyc0xpc3Qoe1xyXG4gICAgICBwOiB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmN1cnJlbnRQYWdlID09PSAxID8gJycgOiB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmN1cnJlbnRQYWdlLFxyXG4gICAgICB0eXBlOiAnJyxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb290ZXJEZXRhaWxzLmRpc3BsYXlFbGVtZW50S2V5ID0gdGhpcy5saXN0RGV0YWlscy5kaXNwbGF5RWxlbWVudEtleTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5lbGVtZW50SWQgPSB0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleTtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgY2FuY2VsQ2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG4gIHJlbW92ZUVsZW1lbnQoZXZlbnQ6IGFueSkge1xyXG5cclxuICB9XHJcbiAgc3VibWl0Q2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWFyY2hMaXN0LmZvckVhY2goc2VhcmNoRWxlbWVudCA9PiB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0LnB1c2goc2VhcmNoRWxlbWVudCk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goc2VhcmNoRWxlbWVudFt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRMaXN0O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWFyY2hMaXN0LmZvckVhY2goc2VhcmNoRWxlbWVudCA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3REZXRhaWxzLm5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSkpIHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZExpc3QuZmluZEluZGV4KGVsZSA9PiBlbGVbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldID09PVxyXG4gICAgICAgICAgICBzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgY29uc3QgZmlsdGVyZWRMaXN0ID0gWy4uLnRoaXMuc2VsZWN0ZWRMaXN0XTtcclxuICAgICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdDtcclxuXHJcbiAgICAgICAgICBjb25zdCBpZEluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoZWxlID0+IGVsZSA9PT0gc2VhcmNoRWxlbWVudFt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaWRJbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3RzIGFsbCBhZG1pbnMgYW5kIG1hbmFnZXJzIGF0IG9uY2UgYnkgbWFraW5nIGFwaSBjYWxsLlxyXG4gICAqIEBwYXJhbSBldmVudCBjb25zaXN0cyBib29sZWFuIHZhbHVlIHRvIHNlbGVjdCBvZiB1bnNlbGVjdC5cclxuICAgKi9cclxuICBzZWxlY3RBbGxVc2VycyhldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy52TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldEFsbFVzZXJzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICBpZihyZXMubGVuZ3RoPjEpe1xyXG4gICAgICAgICAgcmVzLmZvckVhY2goKHNlYXJjaEVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgXHJcbiAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoc2VhcmNoRWxlbWVudFt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0LnB1c2goc2VhcmNoRWxlbWVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChzZWFyY2hFbGVtZW50W3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcblxyXG5cclxuXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRMaXN0KV07XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChlbGUgPT4gZWxlW3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSA9PT0gdGhpcy5saXN0RGV0YWlscy5ub25SZW1vdmFibGVVc2Vyc0xpc3RbMF0pO1xyXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcclxuICAgICAgICBjb25zdCBvd25lciA9IE9iamVjdC5hc3NpZ24oc2VsZWN0ZWREYXRhW2luZGV4XSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3QucHVzaChvd25lcik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKG93bmVyLm1lbWJlcl9pZCk7XHJcbiAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRMaXN0O1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4vKipcclxuICogU2VsZWN0cyBjaGVja2VkIGl0ZW0gZnJvbSB0aGUgbGlzdC5cclxuICogSW4gY2FzZSBvZiB1c2VyJ3MgbGlzdCBjYWxjdWxhdGVzIG51bWJlciBvZiBhZG1pbnMvbWFuYWdlcyB0byBzZXQgdmlzaWJpbGl0eShlaXRoZXIgdG8gYWxsIGFkbWlucy8gYWRtaW5zIGFuZCBtYW5hZ2VycylcclxuICogQHBhcmFtIGRhdGEgaXMgdGhlIHNlbGVjdGVkIGVsZW1lbnRcclxuICovXHJcbnNlbGVjdEVsZW1lbnQoZGF0YTogYW55KSB7XHJcbiAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZGF0YVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pKSB7XHJcbiAgICBpZiAoIXRoaXMubGlzdERldGFpbHMubm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGRhdGFbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKSkge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRMaXN0LmZpbmRJbmRleChlbGUgPT4gZWxlW3RoaXMubGlzdERldGFpbHMuZWxlbWVudElkS2V5XSA9PT0gZGF0YVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZExpc3Q7XHJcblxyXG4gICAgICBjb25zdCBpZEluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoZWxlID0+IGVsZSA9PT0gZGF0YVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaWRJbmRleCwgMSk7XHJcbiAgICB9XHJcblxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKGRhdGEpO1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGRhdGFbdGhpcy5saXN0RGV0YWlscy5lbGVtZW50SWRLZXldKTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdDtcclxuXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSXQgaXMgdXNlZCB0byBzZXQgYW5kIHNlYXJjaCB2YWx1ZSBpbmNhc2Ugb2YgYmFja2VuZCBkcml2ZW4gbGlzdCB0byBkaWZmZXJlbnRpYXRlIHNlYXJjaCBsaXN0IGFuZCBvcmlnaW5hbCBsaXN0XHJcbiAqL1xyXG5zZXRTZWFyY2hWYWx1ZSgpIHtcclxuICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICB0aGlzLnBhZ2luYXRpb25GaWx0ZXIodHJ1ZSk7XHJcblxyXG59XHJcblxyXG4vKipcclxuKiBpdCBpcyB1c2VkIGNoZWNrIHNlbGVjdCBhbGwgY29uZGl0aW9uIGluY2FzZSBvZiBiYWNrZW5kIGRyaXZlbiBzZWFyY2hcclxuKi9cclxuY2hlY2tTZWxlY3RBbGwoKSB7XHJcbiAgaWYgKHRoaXMuc2VhcmNoTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICBjb25zdCBkYXRhOiBib29sZWFuID0gdGhpcy5zZWFyY2hMaXN0LmV2ZXJ5KGVsZSA9PiB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKGVsZVt0aGlzLmxpc3REZXRhaWxzLmVsZW1lbnRJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gIH1cclxuXHJcbn1cclxuLyoqXHJcbiAqIEZpbHRlciBsaXN0IHVzZXIncyBsaXN0IGJhc2VkIG9uIHBhZ2luYXRpb24gYnkgbWFraW5nIGFwaSBjYWxsXHJcbiAqIEBwYXJhbSBldmVudCBzcGVjaWZpZXMgYSBib29sZWFuIHZhbHVlIHRvIGNhbGwgYXBpXHJcbiAqL1xyXG5wYWdpbmF0aW9uRmlsdGVyKGV2ZW50OiBhbnkpIHtcclxuICAvLyB0aGlzLnBhZ2luYXRpb25GaWx0ZXJFdmVudC5lbWl0KGV2ZW50KTtcclxuICBpZiAoZXZlbnQpIHtcclxuICAgIHRoaXMudkxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLmdldFVzZXJzTGlzdCh7XHJcbiAgICAgIHA6IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY3VycmVudFBhZ2UgPT09IDEgPyAnJyA6IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuY3VycmVudFBhZ2UsXHJcbiAgICAgIHR5cGU6ICcnLFxyXG4gICAgICBxOiAoIXRoaXMucGFnaW5hdGlvblNlcnZpY2Uuc2VhcmNoVmFsdWUpID8gJycgOiB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnNlYXJjaFZhbHVlLFxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxufVxyXG4vKipcclxuICogR2V0cyB1c2VyJ3MgbGlzdCAgYnkgbWFraW5nIGFwaSBjYWxsXHJcbiAqIEBwYXJhbSB1cmwgY29udGFpbnMgdXNlcmxpc3QgZmlsdGVyIGRldGFpbHNcclxuICovXHJcbmdldFVzZXJzTGlzdCh1cmw6IGFueSkge1xyXG4gIHRoaXMudkxvYWRlciA9IHRydWU7XHJcblxyXG4gIHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRPcmdhbml6YXRpb25Vc2Vycyh1cmwgPyB1cmwgOiAnJykuc3Vic2NyaWJlKHJlcyA9PiB7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hMaXN0ID0gcmVzO1xyXG4gICAgdGhpcy52TG9hZGVyID0gZmFsc2U7XHJcblxyXG5cclxuICB9KTtcclxuXHJcbn1cclxuLyoqXHJcbiAqIG9uIGNsaWNrIG9uIG5leHQgYnV0dG9uIGZyb20gdGhlIGxpc3QsIGl0IGVtaXRzIHRoZSBzZWxlY3RlZCBsaXN0IG9mIGVsZW1lbnRzIHRvIHBhcmVudCBjb21wb25lbnQuXHJcbiAqL1xyXG5vblN1Ym1pdCgpIHtcclxuICBjb25zdCBkYXRhID0gWy4uLm5ldyBTZXQodGhpcy5zZWxlY3RlZExpc3QpXTtcclxuICB0aGlzLnNhdmVTZWxlY3RlZFVzZXJzLmVtaXQoZGF0YSk7XHJcbiAgdGhpcy5wYWdpbmF0aW9uU2VydmljZS5yZXNldCgpO1xyXG59XHJcbn1cclxuIl19
|