@aggdirect/coolmap 2.8.1 → 2.8.2
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/esm2022/lib/component/add-route/add-route.component.mjs +3 -17
- package/esm2022/lib/component/job-code/job-code.component.mjs +3 -14
- package/esm2022/lib/component/nav/layout/add-route-nav/add-route-nav.component.mjs +2 -2
- package/esm2022/lib/component/route-jobcode-list/route-jobcode-list.component.mjs +2 -3
- package/esm2022/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.mjs +3 -3
- package/esm2022/lib/component/shared/route-info-card/route-info-card.component.mjs +3 -14
- package/fesm2022/aggdirect-coolmap.mjs +10 -47
- package/fesm2022/aggdirect-coolmap.mjs.map +1 -1
- package/lib/component/add-route/add-route.component.d.ts +0 -1
- package/lib/component/job-code/job-code.component.d.ts +0 -1
- package/package.json +3 -3
|
@@ -66,15 +66,6 @@ export class JobCodeComponent {
|
|
|
66
66
|
});
|
|
67
67
|
return unitName;
|
|
68
68
|
}
|
|
69
|
-
getMaterialName(data) {
|
|
70
|
-
let materialName = '';
|
|
71
|
-
this.materialsList.map((res) => {
|
|
72
|
-
if (res.sub_material_id === data.materials_id) {
|
|
73
|
-
materialName = res.label;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
return materialName;
|
|
77
|
-
}
|
|
78
69
|
getRouteListForCoolMap() {
|
|
79
70
|
this.utils.getData('routes/all').pipe(takeUntil(this.destroyer$)).subscribe((res) => {
|
|
80
71
|
if (res) {
|
|
@@ -95,8 +86,6 @@ export class JobCodeComponent {
|
|
|
95
86
|
this.preventListUpdate = false;
|
|
96
87
|
this.routes.map((ele) => {
|
|
97
88
|
ele.unit = this.getUnitName(ele);
|
|
98
|
-
ele.materialLabel = this.getMaterialName(ele);
|
|
99
|
-
ele.material = this.getMaterialName(ele).split('|')[0].trim();
|
|
100
89
|
this.utils.makeOptions(ele);
|
|
101
90
|
});
|
|
102
91
|
this.masterRoutes = this.routes;
|
|
@@ -172,11 +161,11 @@ export class JobCodeComponent {
|
|
|
172
161
|
this.destroyer$.unsubscribe();
|
|
173
162
|
}
|
|
174
163
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: JobCodeComponent, deps: [{ token: i1.UtilsService }, { token: i1.CoolmapService }, { token: 'memberData' }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: JobCodeComponent, selector: "app-job-code", inputs: { jobdetail: "jobdetail", customerRepoDetails: "customerRepoDetails" }, outputs: { clearJobDetails: "clearJobDetails", openShareRoute: "openShareRoute" }, ngImport: i0, template: "<div class=\"jobcode_detailprt\" (click)=\"isOverlapRouteSection = false\" *ngIf=\"jobdetail\" [ngClass]=\"{'overlap': !isOverlapRouteSection}\" cdkDrag>\n <span class=\"close\"><mat-icon (click)=\"clearJob()\">clear</mat-icon></span>\n <div class=\"job_details_area\">\n <div class=\"detailnameprt\">\n <app-jobcode-status [jobValue]=\"jobdetail\"></app-jobcode-status>\n </div>\n <app-jobcode-overview [jobValue]=\"jobdetail\"></app-jobcode-overview>\n </div>\n</div>\n\n<div class=\"route_listprt\" (click)=\"isOverlapRouteSection = true\" [ngClass]=\"{ 'show': isVisible, 'overlap': isOverlapRouteSection}\">\n <div class=\"listing_toggle\" (click)=\"toggleSidemenu()\">\n <img src=\"assets/images/route.svg\" alt=\"\" />\n </div>\n\n <div class=\"listing_box\">\n <div class=\"closebtn\" (click)=\"toggleSidemenu()\">\n <mat-icon>clear</mat-icon>\n </div>\n\n <div class=\"btnprt\">\n <h2> List of Routes </h2>\n <button (click)=\"masterToggle()\">{{routes && routes.length > 0 && routes.length === selectedRoute.selected.length ? 'Uncheck' : 'Check'}} All</button>\n </div>\n\n <app-job-route-list [routes]=\"routes\" [masterRoutes]=\"masterRoutes\" [selectedRoute]=\"selectedRoute\" (changeRoutes)=\"routes = $event\" (changeSelectedRoute)=\"selectedRoute = $event\"></app-job-route-list>\n <cdk-virtual-scroll-viewport itemSize=\"50\" class=\"routeList-viewport\">\n <ul *ngIf=\"routes['length'] > 0\">\n <li *ngFor=\"let list of routes\">\n <div class=\"iconprt\">\n <span>\n <input type=\"checkbox\" [checked]=\"selectedRoute.isSelected(list)\"\n (change)=\"$event ? selectRoute(list) : null\" /><label> </label>\n <div class=\"border\"></div>\n </span>\n <div class=\"statusunit\" [ngClass]=\"list['unit']\">{{list['unit']}}</div>\n <div class=\"infoicon\">\n <img (mouseenter)=\"togglerouteDetails(true, list)\" (mouseout)=\"togglerouteDetails(false, list, true)\"\n (click)=\"togglerouteDetails('click', list)\" src=\"assets/images/info_icon.png\" [alt]=\"\" />\n </div>\n <div class=\"infoicon\" *ngIf=\"config.repository === 'customer'\">\n <img src=\"assets/images/share_icon.png\" (click)=\"openShareRouteModal(list)\" [alt]=\"\" />\n </div>\n </div>\n <div class=\"pickprtbox\">\n <h2> {{list['route_name']}} </h2>\n <h3><ng-container *ngIf=\"config?.repository === 'coolmap'\">{{list['customer_name']}} | </ng-container>{{config.repository === 'coolmap' ? list['material'] : list['materialLabel']}}</h3>\n <div class=\"pickdropprt\">\n <div class=\"pickprt\">\n <b>\n <h4>{{list['pickup_location']}}</h4>\n </b>\n </div>\n <div class=\"dropprt\">\n <b>\n <h4>{{list['delivery_location']}}</h4>\n </b>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <p style=\"color: #fff;\" *ngIf=\"routes.length === 0\">No Route found</p>\n </cdk-virtual-scroll-viewport>\n\n </div>\n\n <div class=\"route_detail\" *ngIf=\"detailsCardEnable\">\n <div class=\"closebtnroutedetail\" (click)=\"detailsCardEnable = false; preventMouseout = false\">\n <mat-icon>clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'listRoutecard', repository: config['repository']}\" [popupData]=\"routeCardDetail\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{routeCardDetail?.created_by_name}} on {{routeCardDetail?.created_at}}\n </small>\n </div>\n </div>\n</div>\n", styles: [".jobcode_detailprt{position:absolute;left:20em;bottom:10px;background:#fff;padding:15px 20px;border-radius:20px;max-width:350px;z-index:999;box-shadow:0 0 5px #0000001a}.jobcode_detailprt .close{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}@keyframes autoslide{to{transform:translate(calc(90vw - 100%))}0%{transform:translate(0)}}.route_listprt .listing_toggle{background:#fff;border-radius:15px;padding:5px;position:absolute;right:10px;top:20px;cursor:pointer}.route_listprt .listing_toggle img{width:28px}.route_listprt .listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0;opacity:0}.route_listprt .listing_box .closebtn{display:none}.route_listprt .listing_box ul{padding:0 20px 0 0}.route_listprt .listing_box ul li{background:#4a4a4a;padding:10px 15px;border-radius:15px;display:flex;margin-bottom:10px;position:relative;height:inherit}@media (min-width: 1600px){.route_listprt .listing_box ul li{padding:6px 15px;margin-bottom:5px}}.route_listprt .listing_box ul li .iconprt{display:flex;flex-direction:column}.route_listprt .listing_box ul li .iconprt span{display:flex;align-items:center;margin-bottom:32px}.route_listprt .listing_box ul li .iconprt span input[type=checkbox]{width:100%;height:100%;margin-right:10px;opacity:0;position:absolute;left:0;margin-left:0;top:0;z-index:3;cursor:pointer}.route_listprt .listing_box ul li .iconprt span label{width:100%;position:relative;z-index:2;font-size:12px;color:#878787;height:100%;position:absolute;top:0;left:0}.route_listprt .listing_box ul li .iconprt span .border{position:absolute;width:100%;height:100%;left:0;right:0;top:0;border-radius:15px}.route_listprt .listing_box ul li .iconprt span input:checked~.border{border-left:1px solid white;border-right:1px solid white;border-top:1px solid white;border-bottom:1px solid white}.route_listprt .listing_box ul li .iconprt span h2{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;padding-left:16px;font-size:.9rem;margin-bottom:0;font-weight:400;margin-top:0}.route_listprt .listing_box ul li .iconprt .statusunit{border-radius:30px;font-size:0;color:#fff;text-transform:capitalize;font-weight:500;width:20px;height:20px;text-align:center;line-height:20px;margin-bottom:7px}.route_listprt .listing_box ul li .iconprt .statusunit:first-letter{font-size:.8rem}.route_listprt .listing_box ul li .iconprt .statusunit.Ton{background:#ff7272}.route_listprt .listing_box ul li .iconprt .statusunit.Load{background:#a3c52e}.route_listprt .listing_box ul li .iconprt .statusunit.Hourly{background:#ae23d1}@media (min-width: 1600px){.route_listprt .listing_box ul li .iconprt .statusunit{line-height:21px}}.route_listprt .listing_box ul li .iconprt .infoicon{z-index:5;cursor:pointer}.route_listprt .listing_box ul li .iconprt .infoicon img{width:20px;height:20px}.route_listprt .listing_box ul li .pickprtbox{margin-left:10px}.route_listprt .listing_box ul li .pickprtbox h2{font-size:.9rem;margin:7px 0 5px;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden}.route_listprt .listing_box ul li h3{font-size:.8rem;color:#979797;font-weight:600;margin-top:0;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden;margin-bottom:5px}.route_listprt .listing_box ul li .pickdropprt{font-size:.75rem}.route_listprt .listing_box ul li .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .pickprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .pickprt b:after{background:#bcbcbc;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .pickprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt .listing_box ul li .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.route_listprt .listing_box ul li .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .dropprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .dropprt b:after{background:#bcbcbc;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.route_listprt .listing_box ul li .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .dropprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt.show .listing_box{width:300px;max-width:300px;-webkit-box-flex:0;flex:0 0 350px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}.route_listprt.show .listing_box h2{color:#fff;white-space:nowrap}.route_listprt.show .listing_box .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.btnprt{display:flex;justify-content:space-between;align-items:center;padding-right:20px}.btnprt h2{margin:0}.btnprt button{font-size:15px;padding:8px 20px;background-color:#326ad3;color:#fff;border:none;border-radius:10px;box-shadow:none;outline:none}.hidden{display:none}.route_detail{background:#282828;position:absolute;width:260px;top:50%;transform:translateY(-50%);right:310px;border-radius:20px;padding:10px;box-shadow:0 0 5px #ffffff36}.createTxt small{color:#fff;font-size:.7rem}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#f5f5f5;position:absolute;top:-7px;left:-11px}.routeList-viewport{height:944px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i6.JobRouteListComponent, selector: "app-job-route-list", inputs: ["routes", "selectedRoute", "masterRoutes"], outputs: ["changeNav", "changeRoutes", "changeSelectedRoute"] }, { kind: "component", type: i7.JobcodeStatusComponent, selector: "app-jobcode-status", inputs: ["jobValue"] }, { kind: "component", type: i8.JobcodeOverviewComponent, selector: "app-jobcode-overview", inputs: ["jobValue"] }, { kind: "component", type: i9.RouteInfoCardComponent, selector: "lib-route-info-card", inputs: ["popupData", "propData"] }] });
|
|
164
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: JobCodeComponent, selector: "app-job-code", inputs: { jobdetail: "jobdetail", customerRepoDetails: "customerRepoDetails" }, outputs: { clearJobDetails: "clearJobDetails", openShareRoute: "openShareRoute" }, ngImport: i0, template: "<div class=\"jobcode_detailprt\" (click)=\"isOverlapRouteSection = false\" *ngIf=\"jobdetail\" [ngClass]=\"{'overlap': !isOverlapRouteSection}\" cdkDrag>\n <span class=\"close\"><mat-icon (click)=\"clearJob()\">clear</mat-icon></span>\n <div class=\"job_details_area\">\n <div class=\"detailnameprt\">\n <app-jobcode-status [jobValue]=\"jobdetail\"></app-jobcode-status>\n </div>\n <app-jobcode-overview [jobValue]=\"jobdetail\"></app-jobcode-overview>\n </div>\n</div>\n\n<div class=\"route_listprt\" (click)=\"isOverlapRouteSection = true\" [ngClass]=\"{ 'show': isVisible, 'overlap': isOverlapRouteSection}\">\n <div class=\"listing_toggle\" (click)=\"toggleSidemenu()\">\n <img src=\"assets/images/route.svg\" alt=\"\" />\n </div>\n\n <div class=\"listing_box\">\n <div class=\"closebtn\" (click)=\"toggleSidemenu()\">\n <mat-icon>clear</mat-icon>\n </div>\n\n <div class=\"btnprt\">\n <h2> List of Routes </h2>\n <button (click)=\"masterToggle()\">{{routes && routes.length > 0 && routes.length === selectedRoute.selected.length ? 'Uncheck' : 'Check'}} All</button>\n </div>\n\n <app-job-route-list [routes]=\"routes\" [masterRoutes]=\"masterRoutes\" [selectedRoute]=\"selectedRoute\" (changeRoutes)=\"routes = $event\" (changeSelectedRoute)=\"selectedRoute = $event\"></app-job-route-list>\n <cdk-virtual-scroll-viewport itemSize=\"50\" class=\"routeList-viewport\">\n <ul *ngIf=\"routes['length'] > 0\">\n <li *ngFor=\"let list of routes\">\n <div class=\"iconprt\">\n <span>\n <input type=\"checkbox\" [checked]=\"selectedRoute.isSelected(list)\"\n (change)=\"$event ? selectRoute(list) : null\" /><label> </label>\n <div class=\"border\"></div>\n </span>\n <div class=\"statusunit\" [ngClass]=\"list['unit']\">{{list['unit']}}</div>\n <div class=\"infoicon\">\n <img (mouseenter)=\"togglerouteDetails(true, list)\" (mouseout)=\"togglerouteDetails(false, list, true)\"\n (click)=\"togglerouteDetails('click', list)\" src=\"assets/images/info_icon.png\" [alt]=\"\" />\n </div>\n <div class=\"infoicon\" *ngIf=\"config.repository === 'customer'\">\n <img src=\"assets/images/share_icon.png\" (click)=\"openShareRouteModal(list)\" [alt]=\"\" />\n </div>\n </div>\n <div class=\"pickprtbox\">\n <h2> {{list['route_name']}} </h2>\n <h3><ng-container *ngIf=\"config?.repository === 'coolmap'\">{{list['customer_name']}} </ng-container></h3>\n <div class=\"pickdropprt\">\n <div class=\"pickprt\">\n <b>\n <h4>{{list['pickup_location']}}</h4>\n </b>\n </div>\n <div class=\"dropprt\">\n <b>\n <h4>{{list['delivery_location']}}</h4>\n </b>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <p style=\"color: #fff;\" *ngIf=\"routes.length === 0\">No Route found</p>\n </cdk-virtual-scroll-viewport>\n\n </div>\n\n <div class=\"route_detail\" *ngIf=\"detailsCardEnable\">\n <div class=\"closebtnroutedetail\" (click)=\"detailsCardEnable = false; preventMouseout = false\">\n <mat-icon>clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'listRoutecard', repository: config['repository']}\" [popupData]=\"routeCardDetail\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{routeCardDetail?.created_by_name}} on {{routeCardDetail?.created_at}}\n </small>\n </div>\n </div>\n</div>\n", styles: [".jobcode_detailprt{position:absolute;left:20em;bottom:10px;background:#fff;padding:15px 20px;border-radius:20px;max-width:350px;z-index:999;box-shadow:0 0 5px #0000001a}.jobcode_detailprt .close{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}@keyframes autoslide{to{transform:translate(calc(90vw - 100%))}0%{transform:translate(0)}}.route_listprt .listing_toggle{background:#fff;border-radius:15px;padding:5px;position:absolute;right:10px;top:20px;cursor:pointer}.route_listprt .listing_toggle img{width:28px}.route_listprt .listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0;opacity:0}.route_listprt .listing_box .closebtn{display:none}.route_listprt .listing_box ul{padding:0 20px 0 0}.route_listprt .listing_box ul li{background:#4a4a4a;padding:10px 15px;border-radius:15px;display:flex;margin-bottom:10px;position:relative;height:inherit}@media (min-width: 1600px){.route_listprt .listing_box ul li{padding:6px 15px;margin-bottom:5px}}.route_listprt .listing_box ul li .iconprt{display:flex;flex-direction:column}.route_listprt .listing_box ul li .iconprt span{display:flex;align-items:center;margin-bottom:32px}.route_listprt .listing_box ul li .iconprt span input[type=checkbox]{width:100%;height:100%;margin-right:10px;opacity:0;position:absolute;left:0;margin-left:0;top:0;z-index:3;cursor:pointer}.route_listprt .listing_box ul li .iconprt span label{width:100%;position:relative;z-index:2;font-size:12px;color:#878787;height:100%;position:absolute;top:0;left:0}.route_listprt .listing_box ul li .iconprt span .border{position:absolute;width:100%;height:100%;left:0;right:0;top:0;border-radius:15px}.route_listprt .listing_box ul li .iconprt span input:checked~.border{border-left:1px solid white;border-right:1px solid white;border-top:1px solid white;border-bottom:1px solid white}.route_listprt .listing_box ul li .iconprt span h2{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;padding-left:16px;font-size:.9rem;margin-bottom:0;font-weight:400;margin-top:0}.route_listprt .listing_box ul li .iconprt .statusunit{border-radius:30px;font-size:0;color:#fff;text-transform:capitalize;font-weight:500;width:20px;height:20px;text-align:center;line-height:20px;margin-bottom:7px}.route_listprt .listing_box ul li .iconprt .statusunit:first-letter{font-size:.8rem}.route_listprt .listing_box ul li .iconprt .statusunit.Ton{background:#ff7272}.route_listprt .listing_box ul li .iconprt .statusunit.Load{background:#a3c52e}.route_listprt .listing_box ul li .iconprt .statusunit.Hourly{background:#ae23d1}@media (min-width: 1600px){.route_listprt .listing_box ul li .iconprt .statusunit{line-height:21px}}.route_listprt .listing_box ul li .iconprt .infoicon{z-index:5;cursor:pointer}.route_listprt .listing_box ul li .iconprt .infoicon img{width:20px;height:20px}.route_listprt .listing_box ul li .pickprtbox{margin-left:10px}.route_listprt .listing_box ul li .pickprtbox h2{font-size:.9rem;margin:7px 0 5px;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden}.route_listprt .listing_box ul li h3{font-size:.8rem;color:#979797;font-weight:600;margin-top:0;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden;margin-bottom:5px}.route_listprt .listing_box ul li .pickdropprt{font-size:.75rem}.route_listprt .listing_box ul li .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .pickprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .pickprt b:after{background:#bcbcbc;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .pickprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt .listing_box ul li .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.route_listprt .listing_box ul li .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .dropprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .dropprt b:after{background:#bcbcbc;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.route_listprt .listing_box ul li .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .dropprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt.show .listing_box{width:300px;max-width:300px;-webkit-box-flex:0;flex:0 0 350px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}.route_listprt.show .listing_box h2{color:#fff;white-space:nowrap}.route_listprt.show .listing_box .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.btnprt{display:flex;justify-content:space-between;align-items:center;padding-right:20px}.btnprt h2{margin:0}.btnprt button{font-size:15px;padding:8px 20px;background-color:#326ad3;color:#fff;border:none;border-radius:10px;box-shadow:none;outline:none}.hidden{display:none}.route_detail{background:#282828;position:absolute;width:260px;top:50%;transform:translateY(-50%);right:310px;border-radius:20px;padding:10px;box-shadow:0 0 5px #ffffff36}.createTxt small{color:#fff;font-size:.7rem}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#f5f5f5;position:absolute;top:-7px;left:-11px}.routeList-viewport{height:944px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i6.JobRouteListComponent, selector: "app-job-route-list", inputs: ["routes", "selectedRoute", "masterRoutes"], outputs: ["changeNav", "changeRoutes", "changeSelectedRoute"] }, { kind: "component", type: i7.JobcodeStatusComponent, selector: "app-jobcode-status", inputs: ["jobValue"] }, { kind: "component", type: i8.JobcodeOverviewComponent, selector: "app-jobcode-overview", inputs: ["jobValue"] }, { kind: "component", type: i9.RouteInfoCardComponent, selector: "lib-route-info-card", inputs: ["popupData", "propData"] }] });
|
|
176
165
|
}
|
|
177
166
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: JobCodeComponent, decorators: [{
|
|
178
167
|
type: Component,
|
|
179
|
-
args: [{ selector: 'app-job-code', template: "<div class=\"jobcode_detailprt\" (click)=\"isOverlapRouteSection = false\" *ngIf=\"jobdetail\" [ngClass]=\"{'overlap': !isOverlapRouteSection}\" cdkDrag>\n <span class=\"close\"><mat-icon (click)=\"clearJob()\">clear</mat-icon></span>\n <div class=\"job_details_area\">\n <div class=\"detailnameprt\">\n <app-jobcode-status [jobValue]=\"jobdetail\"></app-jobcode-status>\n </div>\n <app-jobcode-overview [jobValue]=\"jobdetail\"></app-jobcode-overview>\n </div>\n</div>\n\n<div class=\"route_listprt\" (click)=\"isOverlapRouteSection = true\" [ngClass]=\"{ 'show': isVisible, 'overlap': isOverlapRouteSection}\">\n <div class=\"listing_toggle\" (click)=\"toggleSidemenu()\">\n <img src=\"assets/images/route.svg\" alt=\"\" />\n </div>\n\n <div class=\"listing_box\">\n <div class=\"closebtn\" (click)=\"toggleSidemenu()\">\n <mat-icon>clear</mat-icon>\n </div>\n\n <div class=\"btnprt\">\n <h2> List of Routes </h2>\n <button (click)=\"masterToggle()\">{{routes && routes.length > 0 && routes.length === selectedRoute.selected.length ? 'Uncheck' : 'Check'}} All</button>\n </div>\n\n <app-job-route-list [routes]=\"routes\" [masterRoutes]=\"masterRoutes\" [selectedRoute]=\"selectedRoute\" (changeRoutes)=\"routes = $event\" (changeSelectedRoute)=\"selectedRoute = $event\"></app-job-route-list>\n <cdk-virtual-scroll-viewport itemSize=\"50\" class=\"routeList-viewport\">\n <ul *ngIf=\"routes['length'] > 0\">\n <li *ngFor=\"let list of routes\">\n <div class=\"iconprt\">\n <span>\n <input type=\"checkbox\" [checked]=\"selectedRoute.isSelected(list)\"\n (change)=\"$event ? selectRoute(list) : null\" /><label> </label>\n <div class=\"border\"></div>\n </span>\n <div class=\"statusunit\" [ngClass]=\"list['unit']\">{{list['unit']}}</div>\n <div class=\"infoicon\">\n <img (mouseenter)=\"togglerouteDetails(true, list)\" (mouseout)=\"togglerouteDetails(false, list, true)\"\n (click)=\"togglerouteDetails('click', list)\" src=\"assets/images/info_icon.png\" [alt]=\"\" />\n </div>\n <div class=\"infoicon\" *ngIf=\"config.repository === 'customer'\">\n <img src=\"assets/images/share_icon.png\" (click)=\"openShareRouteModal(list)\" [alt]=\"\" />\n </div>\n </div>\n <div class=\"pickprtbox\">\n <h2> {{list['route_name']}} </h2>\n <h3><ng-container *ngIf=\"config?.repository === 'coolmap'\">{{list['customer_name']}} | </ng-container>{{config.repository === 'coolmap' ? list['material'] : list['materialLabel']}}</h3>\n <div class=\"pickdropprt\">\n <div class=\"pickprt\">\n <b>\n <h4>{{list['pickup_location']}}</h4>\n </b>\n </div>\n <div class=\"dropprt\">\n <b>\n <h4>{{list['delivery_location']}}</h4>\n </b>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <p style=\"color: #fff;\" *ngIf=\"routes.length === 0\">No Route found</p>\n </cdk-virtual-scroll-viewport>\n\n </div>\n\n <div class=\"route_detail\" *ngIf=\"detailsCardEnable\">\n <div class=\"closebtnroutedetail\" (click)=\"detailsCardEnable = false; preventMouseout = false\">\n <mat-icon>clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'listRoutecard', repository: config['repository']}\" [popupData]=\"routeCardDetail\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{routeCardDetail?.created_by_name}} on {{routeCardDetail?.created_at}}\n </small>\n </div>\n </div>\n</div>\n", styles: [".jobcode_detailprt{position:absolute;left:20em;bottom:10px;background:#fff;padding:15px 20px;border-radius:20px;max-width:350px;z-index:999;box-shadow:0 0 5px #0000001a}.jobcode_detailprt .close{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}@keyframes autoslide{to{transform:translate(calc(90vw - 100%))}0%{transform:translate(0)}}.route_listprt .listing_toggle{background:#fff;border-radius:15px;padding:5px;position:absolute;right:10px;top:20px;cursor:pointer}.route_listprt .listing_toggle img{width:28px}.route_listprt .listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0;opacity:0}.route_listprt .listing_box .closebtn{display:none}.route_listprt .listing_box ul{padding:0 20px 0 0}.route_listprt .listing_box ul li{background:#4a4a4a;padding:10px 15px;border-radius:15px;display:flex;margin-bottom:10px;position:relative;height:inherit}@media (min-width: 1600px){.route_listprt .listing_box ul li{padding:6px 15px;margin-bottom:5px}}.route_listprt .listing_box ul li .iconprt{display:flex;flex-direction:column}.route_listprt .listing_box ul li .iconprt span{display:flex;align-items:center;margin-bottom:32px}.route_listprt .listing_box ul li .iconprt span input[type=checkbox]{width:100%;height:100%;margin-right:10px;opacity:0;position:absolute;left:0;margin-left:0;top:0;z-index:3;cursor:pointer}.route_listprt .listing_box ul li .iconprt span label{width:100%;position:relative;z-index:2;font-size:12px;color:#878787;height:100%;position:absolute;top:0;left:0}.route_listprt .listing_box ul li .iconprt span .border{position:absolute;width:100%;height:100%;left:0;right:0;top:0;border-radius:15px}.route_listprt .listing_box ul li .iconprt span input:checked~.border{border-left:1px solid white;border-right:1px solid white;border-top:1px solid white;border-bottom:1px solid white}.route_listprt .listing_box ul li .iconprt span h2{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;padding-left:16px;font-size:.9rem;margin-bottom:0;font-weight:400;margin-top:0}.route_listprt .listing_box ul li .iconprt .statusunit{border-radius:30px;font-size:0;color:#fff;text-transform:capitalize;font-weight:500;width:20px;height:20px;text-align:center;line-height:20px;margin-bottom:7px}.route_listprt .listing_box ul li .iconprt .statusunit:first-letter{font-size:.8rem}.route_listprt .listing_box ul li .iconprt .statusunit.Ton{background:#ff7272}.route_listprt .listing_box ul li .iconprt .statusunit.Load{background:#a3c52e}.route_listprt .listing_box ul li .iconprt .statusunit.Hourly{background:#ae23d1}@media (min-width: 1600px){.route_listprt .listing_box ul li .iconprt .statusunit{line-height:21px}}.route_listprt .listing_box ul li .iconprt .infoicon{z-index:5;cursor:pointer}.route_listprt .listing_box ul li .iconprt .infoicon img{width:20px;height:20px}.route_listprt .listing_box ul li .pickprtbox{margin-left:10px}.route_listprt .listing_box ul li .pickprtbox h2{font-size:.9rem;margin:7px 0 5px;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden}.route_listprt .listing_box ul li h3{font-size:.8rem;color:#979797;font-weight:600;margin-top:0;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden;margin-bottom:5px}.route_listprt .listing_box ul li .pickdropprt{font-size:.75rem}.route_listprt .listing_box ul li .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .pickprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .pickprt b:after{background:#bcbcbc;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .pickprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt .listing_box ul li .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.route_listprt .listing_box ul li .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .dropprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .dropprt b:after{background:#bcbcbc;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.route_listprt .listing_box ul li .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .dropprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt.show .listing_box{width:300px;max-width:300px;-webkit-box-flex:0;flex:0 0 350px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}.route_listprt.show .listing_box h2{color:#fff;white-space:nowrap}.route_listprt.show .listing_box .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.btnprt{display:flex;justify-content:space-between;align-items:center;padding-right:20px}.btnprt h2{margin:0}.btnprt button{font-size:15px;padding:8px 20px;background-color:#326ad3;color:#fff;border:none;border-radius:10px;box-shadow:none;outline:none}.hidden{display:none}.route_detail{background:#282828;position:absolute;width:260px;top:50%;transform:translateY(-50%);right:310px;border-radius:20px;padding:10px;box-shadow:0 0 5px #ffffff36}.createTxt small{color:#fff;font-size:.7rem}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#f5f5f5;position:absolute;top:-7px;left:-11px}.routeList-viewport{height:944px}\n"] }]
|
|
168
|
+
args: [{ selector: 'app-job-code', template: "<div class=\"jobcode_detailprt\" (click)=\"isOverlapRouteSection = false\" *ngIf=\"jobdetail\" [ngClass]=\"{'overlap': !isOverlapRouteSection}\" cdkDrag>\n <span class=\"close\"><mat-icon (click)=\"clearJob()\">clear</mat-icon></span>\n <div class=\"job_details_area\">\n <div class=\"detailnameprt\">\n <app-jobcode-status [jobValue]=\"jobdetail\"></app-jobcode-status>\n </div>\n <app-jobcode-overview [jobValue]=\"jobdetail\"></app-jobcode-overview>\n </div>\n</div>\n\n<div class=\"route_listprt\" (click)=\"isOverlapRouteSection = true\" [ngClass]=\"{ 'show': isVisible, 'overlap': isOverlapRouteSection}\">\n <div class=\"listing_toggle\" (click)=\"toggleSidemenu()\">\n <img src=\"assets/images/route.svg\" alt=\"\" />\n </div>\n\n <div class=\"listing_box\">\n <div class=\"closebtn\" (click)=\"toggleSidemenu()\">\n <mat-icon>clear</mat-icon>\n </div>\n\n <div class=\"btnprt\">\n <h2> List of Routes </h2>\n <button (click)=\"masterToggle()\">{{routes && routes.length > 0 && routes.length === selectedRoute.selected.length ? 'Uncheck' : 'Check'}} All</button>\n </div>\n\n <app-job-route-list [routes]=\"routes\" [masterRoutes]=\"masterRoutes\" [selectedRoute]=\"selectedRoute\" (changeRoutes)=\"routes = $event\" (changeSelectedRoute)=\"selectedRoute = $event\"></app-job-route-list>\n <cdk-virtual-scroll-viewport itemSize=\"50\" class=\"routeList-viewport\">\n <ul *ngIf=\"routes['length'] > 0\">\n <li *ngFor=\"let list of routes\">\n <div class=\"iconprt\">\n <span>\n <input type=\"checkbox\" [checked]=\"selectedRoute.isSelected(list)\"\n (change)=\"$event ? selectRoute(list) : null\" /><label> </label>\n <div class=\"border\"></div>\n </span>\n <div class=\"statusunit\" [ngClass]=\"list['unit']\">{{list['unit']}}</div>\n <div class=\"infoicon\">\n <img (mouseenter)=\"togglerouteDetails(true, list)\" (mouseout)=\"togglerouteDetails(false, list, true)\"\n (click)=\"togglerouteDetails('click', list)\" src=\"assets/images/info_icon.png\" [alt]=\"\" />\n </div>\n <div class=\"infoicon\" *ngIf=\"config.repository === 'customer'\">\n <img src=\"assets/images/share_icon.png\" (click)=\"openShareRouteModal(list)\" [alt]=\"\" />\n </div>\n </div>\n <div class=\"pickprtbox\">\n <h2> {{list['route_name']}} </h2>\n <h3><ng-container *ngIf=\"config?.repository === 'coolmap'\">{{list['customer_name']}} </ng-container></h3>\n <div class=\"pickdropprt\">\n <div class=\"pickprt\">\n <b>\n <h4>{{list['pickup_location']}}</h4>\n </b>\n </div>\n <div class=\"dropprt\">\n <b>\n <h4>{{list['delivery_location']}}</h4>\n </b>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <p style=\"color: #fff;\" *ngIf=\"routes.length === 0\">No Route found</p>\n </cdk-virtual-scroll-viewport>\n\n </div>\n\n <div class=\"route_detail\" *ngIf=\"detailsCardEnable\">\n <div class=\"closebtnroutedetail\" (click)=\"detailsCardEnable = false; preventMouseout = false\">\n <mat-icon>clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'listRoutecard', repository: config['repository']}\" [popupData]=\"routeCardDetail\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{routeCardDetail?.created_by_name}} on {{routeCardDetail?.created_at}}\n </small>\n </div>\n </div>\n</div>\n", styles: [".jobcode_detailprt{position:absolute;left:20em;bottom:10px;background:#fff;padding:15px 20px;border-radius:20px;max-width:350px;z-index:999;box-shadow:0 0 5px #0000001a}.jobcode_detailprt .close{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}@keyframes autoslide{to{transform:translate(calc(90vw - 100%))}0%{transform:translate(0)}}.route_listprt .listing_toggle{background:#fff;border-radius:15px;padding:5px;position:absolute;right:10px;top:20px;cursor:pointer}.route_listprt .listing_toggle img{width:28px}.route_listprt .listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0;opacity:0}.route_listprt .listing_box .closebtn{display:none}.route_listprt .listing_box ul{padding:0 20px 0 0}.route_listprt .listing_box ul li{background:#4a4a4a;padding:10px 15px;border-radius:15px;display:flex;margin-bottom:10px;position:relative;height:inherit}@media (min-width: 1600px){.route_listprt .listing_box ul li{padding:6px 15px;margin-bottom:5px}}.route_listprt .listing_box ul li .iconprt{display:flex;flex-direction:column}.route_listprt .listing_box ul li .iconprt span{display:flex;align-items:center;margin-bottom:32px}.route_listprt .listing_box ul li .iconprt span input[type=checkbox]{width:100%;height:100%;margin-right:10px;opacity:0;position:absolute;left:0;margin-left:0;top:0;z-index:3;cursor:pointer}.route_listprt .listing_box ul li .iconprt span label{width:100%;position:relative;z-index:2;font-size:12px;color:#878787;height:100%;position:absolute;top:0;left:0}.route_listprt .listing_box ul li .iconprt span .border{position:absolute;width:100%;height:100%;left:0;right:0;top:0;border-radius:15px}.route_listprt .listing_box ul li .iconprt span input:checked~.border{border-left:1px solid white;border-right:1px solid white;border-top:1px solid white;border-bottom:1px solid white}.route_listprt .listing_box ul li .iconprt span h2{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;padding-left:16px;font-size:.9rem;margin-bottom:0;font-weight:400;margin-top:0}.route_listprt .listing_box ul li .iconprt .statusunit{border-radius:30px;font-size:0;color:#fff;text-transform:capitalize;font-weight:500;width:20px;height:20px;text-align:center;line-height:20px;margin-bottom:7px}.route_listprt .listing_box ul li .iconprt .statusunit:first-letter{font-size:.8rem}.route_listprt .listing_box ul li .iconprt .statusunit.Ton{background:#ff7272}.route_listprt .listing_box ul li .iconprt .statusunit.Load{background:#a3c52e}.route_listprt .listing_box ul li .iconprt .statusunit.Hourly{background:#ae23d1}@media (min-width: 1600px){.route_listprt .listing_box ul li .iconprt .statusunit{line-height:21px}}.route_listprt .listing_box ul li .iconprt .infoicon{z-index:5;cursor:pointer}.route_listprt .listing_box ul li .iconprt .infoicon img{width:20px;height:20px}.route_listprt .listing_box ul li .pickprtbox{margin-left:10px}.route_listprt .listing_box ul li .pickprtbox h2{font-size:.9rem;margin:7px 0 5px;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden}.route_listprt .listing_box ul li h3{font-size:.8rem;color:#979797;font-weight:600;margin-top:0;white-space:nowrap;text-overflow:ellipsis;max-width:195px;overflow:hidden;margin-bottom:5px}.route_listprt .listing_box ul li .pickdropprt{font-size:.75rem}.route_listprt .listing_box ul li .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .pickprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .pickprt b:after{background:#bcbcbc;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.route_listprt .listing_box ul li .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .pickprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt .listing_box ul li .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.route_listprt .listing_box ul li .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.route_listprt .listing_box ul li .pickdropprt .dropprt b{position:relative}.route_listprt .listing_box ul li .pickdropprt .dropprt b:after{background:#bcbcbc;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.route_listprt .listing_box ul li .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;color:#bcbcbc;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.route_listprt .listing_box ul li .pickdropprt .dropprt h4:before{background:#bcbcbc;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.route_listprt.show .listing_box{width:300px;max-width:300px;-webkit-box-flex:0;flex:0 0 350px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}.route_listprt.show .listing_box h2{color:#fff;white-space:nowrap}.route_listprt.show .listing_box .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.btnprt{display:flex;justify-content:space-between;align-items:center;padding-right:20px}.btnprt h2{margin:0}.btnprt button{font-size:15px;padding:8px 20px;background-color:#326ad3;color:#fff;border:none;border-radius:10px;box-shadow:none;outline:none}.hidden{display:none}.route_detail{background:#282828;position:absolute;width:260px;top:50%;transform:translateY(-50%);right:310px;border-radius:20px;padding:10px;box-shadow:0 0 5px #ffffff36}.createTxt small{color:#fff;font-size:.7rem}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#f5f5f5;position:absolute;top:-7px;left:-11px}.routeList-viewport{height:944px}\n"] }]
|
|
180
169
|
}], ctorParameters: () => [{ type: i1.UtilsService }, { type: i1.CoolmapService }, { type: i1.CoolmapConfigModel, decorators: [{
|
|
181
170
|
type: Inject,
|
|
182
171
|
args: ['memberData']
|
|
@@ -189,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
189
178
|
}], openShareRoute: [{
|
|
190
179
|
type: Output
|
|
191
180
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLWNvZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9qb2ItY29kZS9qb2ItY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L2pvYi1jb2RlL2pvYi1jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFTMUMsTUFBTSxPQUFPLGdCQUFnQjtJQWlCUjtJQUE0QjtJQUNoQjtJQWpCZixTQUFTLENBQU87SUFDaEIsbUJBQW1CLENBQTRCO0lBQy9ELFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0IsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNkLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDdkMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDckMsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDN0UsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDM0MsaUJBQWlCLENBQW1CO0lBQ3BDLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsZUFBZSxDQUFRO0lBQ3ZCLGlCQUFpQixDQUFVO0lBQzNCLFlBQVksQ0FBTTtJQUNsQixRQUFRLENBQU07SUFDZCxhQUFhLENBQU07SUFF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QztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7dUdBaEpVLGdCQUFnQiw0RUFrQmpCLFlBQVk7MkZBbEJYLGdCQUFnQix1TkNYN0IsNnVIQStFQTs7MkZEcEVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjOzswQkFzQnJCLE1BQU07MkJBQUMsWUFBWTt5Q0FqQk4sU0FBUztzQkFBeEIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBSVcsZUFBZTtzQkFBL0IsTUFBTTtnQkFDVSxjQUFjO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29vbG1hcENvbmZpZ01vZGVsLCBDb29sbWFwU2VydmljZSwgQ3VzdG9tZXJSZXBvRGV0YWlsc01vZGVsLCBSb3V0ZSwgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnQGFnZ2RpcmVjdC9jb29sbWFwLXNlcnZpY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtam9iLWNvZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vam9iLWNvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9qb2ItY29kZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEpvYkNvZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBqb2JkZXRhaWwhOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21lclJlcG9EZXRhaWxzITogQ3VzdG9tZXJSZXBvRGV0YWlsc01vZGVsO1xuICBpc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcm91dGVzOiBSb3V0ZVtdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZFJvdXRlID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJKb2JEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9wZW5TaGFyZVJvdXRlID0gbmV3IEV2ZW50RW1pdHRlcigpOyBpc092ZXJsYXBSb3V0ZVNlY3Rpb24gPSBmYWxzZTtcbiAgcHVibGljIGRlc3Ryb3llciQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBkZXRhaWxzQ2FyZEVuYWJsZTogYm9vbGVhbiB8IHN0cmluZztcbiAgcHJldmVudE1vdXNlb3V0OiBib29sZWFuID0gZmFsc2U7XG4gIHJvdXRlQ2FyZERldGFpbDogUm91dGU7XG4gIHByZXZlbnRMaXN0VXBkYXRlOiBib29sZWFuO1xuICBtYXN0ZXJSb3V0ZXM6IGFueTtcbiAgdW5pdExpc3Q6IGFueTtcbiAgbWF0ZXJpYWxzTGlzdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsczogVXRpbHNTZXJ2aWNlLCBwdWJsaWMgY29vbE1hcDogQ29vbG1hcFNlcnZpY2UsXG4gICAgQEluamVjdCgnbWVtYmVyRGF0YScpIHB1YmxpYyBjb25maWc6IENvb2xtYXBDb25maWdNb2RlbCkge1xuICAgIHRoaXMudXRpbHMuY2xlYXJWaWV3Um91dGVmb3JKb2JDb2RlT2JzZXJ2ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llciQpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGlmIChyZXMpIHRoaXMuY29vbE1hcC5yZW1vdmVKb2JGcm9tTWFwKHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZCk7IHRoaXMuc2VsZWN0ZWRSb3V0ZS5jbGVhcigpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7IHRoaXMuY2hlY2tBbmRDYWxsUm91dGVMaXN0KCkgfVxuICBjaGVja0FuZENhbGxSb3V0ZUxpc3QoKSB7XG4gICAgICAgIHRoaXMudXRpbHMuY2xlYXJPcHRpb25zKCk7XG4gICAgaWYgKHRoaXMuY29uZmlnLnJlcG9zaXRvcnkgPT09ICdjdXN0b21lcicpIHtcbiAgICAgIHRoaXMudXRpbHMuZmV0Y2hVbml0c0xpc3QoKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgdGhpcy51bml0TGlzdCA9IHJlcztcbiAgICAgICAgdGhpcy51dGlscy5mZXRjaE1hdGVyaWFsc0xpc3RGb3JDdXN0b21lcigpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMubWF0ZXJpYWxzTGlzdCA9IHJlcztcbiAgICAgICAgICB0aGlzLmdldFJvdXRlTGlzdEZvckN1c3RvbWVyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0Um91dGVMaXN0Rm9yQ29vbE1hcCgpXG4gICAgfVxuICB9XG4gIGdldFVuaXROYW1lKGRhdGEpOiBzdHJpbmcge1xuICAgIGxldCB1bml0TmFtZSA9ICcnO1xuICAgIHRoaXMudW5pdExpc3QubWFwKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMuaWQgPT09IGRhdGEudW5pdF9pZCkge1xuICAgICAgICB1bml0TmFtZSA9IHJlcy50eXBlXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gdW5pdE5hbWU7XG4gIH1cblxuICBnZXRNYXRlcmlhbE5hbWUoZGF0YSk6IHN0cmluZyB7XG4gICAgbGV0IG1hdGVyaWFsTmFtZSA9ICcnO1xuICAgIHRoaXMubWF0ZXJpYWxzTGlzdC5tYXAoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcy5zdWJfbWF0ZXJpYWxfaWQgPT09IGRhdGEubWF0ZXJpYWxzX2lkKSB7XG4gICAgICAgIG1hdGVyaWFsTmFtZSA9IHJlcy5sYWJlbFxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIG1hdGVyaWFsTmFtZTtcbiAgfVxuICBnZXRSb3V0ZUxpc3RGb3JDb29sTWFwKCkge1xuICAgIHRoaXMudXRpbHMuZ2V0RGF0YSgncm91dGVzL2FsbCcpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVyJCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXMgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5tYXN0ZXJSb3V0ZXMgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5wcmV2ZW50TGlzdFVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvdXRlcy5mb3JFYWNoKChlbGU6IFJvdXRlKSA9PiB7IHRoaXMudXRpbHMubWFrZU9wdGlvbnMoZWxlKSB9KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGdldFJvdXRlTGlzdEZvckN1c3RvbWVyKCkge1xuICAgIGNvbnN0IGRhdGFzZXQgPSB7XG4gICAgICBjdXN0b21lcl9pZDogdGhpcy5jdXN0b21lclJlcG9EZXRhaWxzLmN1c3RvbWVyLmlkXG4gICAgfVxuICAgIHRoaXMudXRpbHMucG9zdGRhdGEoJ3JvdXRlcy9hbGwnLCBkYXRhc2V0KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llciQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMucm91dGVzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMucHJldmVudExpc3RVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yb3V0ZXMubWFwKChlbGU6IFJvdXRlKSA9PiB7XG4gICAgICAgICAgZWxlLnVuaXQgPSB0aGlzLmdldFVuaXROYW1lKGVsZSk7XG4gICAgICAgICAgZWxlLm1hdGVyaWFsTGFiZWwgPSB0aGlzLmdldE1hdGVyaWFsTmFtZShlbGUpO1xuICAgICAgICAgIGVsZS5tYXRlcmlhbCA9IHRoaXMuZ2V0TWF0ZXJpYWxOYW1lKGVsZSkuc3BsaXQoJ3wnKVswXS50cmltKCk7XG4gICAgICAgICAgdGhpcy51dGlscy5tYWtlT3B0aW9ucyhlbGUpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1hc3RlclJvdXRlcyA9IHRoaXMucm91dGVzO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlU2lkZW1lbnUoKSB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSAhdGhpcy5pc1Zpc2libGU7XG4gICAgdGhpcy5kZXRhaWxzQ2FyZEVuYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMucHJldmVudE1vdXNlb3V0ID0gZmFsc2VcbiAgfVxuICBjbGVhckpvYigpIHsgdGhpcy5jbGVhckpvYkRldGFpbHMuZW1pdCh0cnVlKTsgdGhpcy51dGlscy5wcmVWZW50Sm9iZGV0YWlsY2xvc2UubmV4dChmYWxzZSkgfVxuICBzZWxlY3RSb3V0ZShldmVudDogUm91dGUpIHtcbiAgICBjb25zdCBpID0gdGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmZpbmRJbmRleChlbGUgPT4gZWxlWydvcmRlcl9udW1iZXInXSA9PT0gZXZlbnRbJ29yZGVyX251bWJlciddKTtcbiAgICB0aGlzLnNlbGVjdGVkUm91dGUudG9nZ2xlKGV2ZW50KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRSb3V0ZS5pc1NlbGVjdGVkKGV2ZW50KSAmJiBldmVudFsncm91dGVfaWQnXSkge1xuICAgICAgdGhpcy5jb29sTWFwLnJlbW92ZVJvdXRlQW5kTWFya2VyKGV2ZW50Wydyb3V0ZV9pZCddKS50aGVuKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvb2xNYXAuZXh0ZW5kUmVCb3VuZCgpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29vbE1hcC5wbG90Um91dGUoZXZlbnQsIGV2ZW50Wydyb3V0ZV9pZCddLCAnam9icm91dGVMaXN0JywgZmFsc2UsIHRydWUpO1xuICAgIH1cbiAgfVxuICBtYXN0ZXJUb2dnbGUoKSB7XG4gICAgaWYgKHRoaXMucm91dGVzLmxlbmd0aCA9PT0gdGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvdXRlLmNsZWFyKCk7XG4gICAgICB0aGlzLnJvdXRlcy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcihyb3dbJ3JvdXRlX2lkJ10pLnRoZW4oKHJlczogYW55KSA9PiB7IHRoaXMuY29vbE1hcC5leHRlbmRSZUJvdW5kKCkgfSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlcy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3Qocm93KTtcbiAgICAgICAgdGhpcy5jb29sTWFwLnBsb3RSb3V0ZShyb3csIHJvd1sncm91dGVfaWQnXSwgJ2pvYnJvdXRlTGlzdCcsIGZhbHNlLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICB0b2dnbGVyb3V0ZURldGFpbHMoZXZlbnRUeXBlOiBzdHJpbmcgfCBib29sZWFuLCByb3V0ZTogUm91dGUsIG1vdXNlT3V0PzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgKGV2ZW50VHlwZSkgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnByZXZlbnRNb3VzZW91dCA9IHRydWU7IHRoaXMudXRpbHMuc2V0ZGljdFZhbHVlKCdyb3V0ZS1kZXRhaWxzJywgSlNPTi5zdHJpbmdpZnkocm91dGUpKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiAoZXZlbnRUeXBlKSA9PT0gJ2Jvb2xlYW4nICYmIGV2ZW50VHlwZSAmJiAhdGhpcy5wcmV2ZW50TW91c2VvdXQpIHsgdGhpcy5kZXRhaWxzQ2FyZEVuYWJsZSA9IGV2ZW50VHlwZSB9O1xuICAgIGlmICh0eXBlb2YgKGV2ZW50VHlwZSkgPT09ICdib29sZWFuJyAmJiAhZXZlbnRUeXBlICYmICF0aGlzLnByZXZlbnRNb3VzZW91dCkgeyB0aGlzLmRldGFpbHNDYXJkRW5hYmxlID0gZXZlbnRUeXBlIH07XG4gICAgaWYgKHRoaXMucHJldmVudE1vdXNlb3V0ICYmICF0aGlzLmRldGFpbHNDYXJkRW5hYmxlKSB0aGlzLnByZXZlbnRNb3VzZW91dCA9IGZhbHNlO1xuICAgIGlmIChtb3VzZU91dCkge1xuICAgICAgaWYgKHRoaXMucHJldmVudE1vdXNlb3V0KSB7XG4gICAgICAgIHJvdXRlID0gdGhpcy51dGlscy5nZXRkaWN0VmFsdWUoJ3JvdXRlLWRldGFpbHMnKTtcbiAgICAgICAgdGhpcy5yb3V0ZUNhcmREZXRhaWwgPSByb3V0ZTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5wcmV2ZW50TW91c2VvdXQpIHtcbiAgICAgICAgdGhpcy5yb3V0ZUNhcmREZXRhaWwgPSByb3V0ZVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlQ2FyZERldGFpbCA9IHJvdXRlXG4gICAgfVxuICAgIHRoaXMucm91dGVDYXJkRGV0YWlsWydjcmVhdGVkX2F0J10gPSB0aGlzLnV0aWxzLmdldERhdGVGb3JtYXQobmV3IERhdGUodGhpcy5yb3V0ZUNhcmREZXRhaWxbJ2NyZWF0ZWRfYXQnXSksICcvJyk7XG4gIH1cblxuICBvcGVuU2hhcmVSb3V0ZU1vZGFsKGRhdGEpIHtcbiAgICB0aGlzLm9wZW5TaGFyZVJvdXRlLmVtaXQoZGF0YSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZXIkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95ZXIkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJqb2Jjb2RlX2RldGFpbHBydFwiIChjbGljayk9XCJpc092ZXJsYXBSb3V0ZVNlY3Rpb24gPSBmYWxzZVwiICAqbmdJZj1cImpvYmRldGFpbFwiIFtuZ0NsYXNzXT1cInsnb3ZlcmxhcCc6ICFpc092ZXJsYXBSb3V0ZVNlY3Rpb259XCIgY2RrRHJhZz5cbiAgPHNwYW4gY2xhc3M9XCJjbG9zZVwiPjxtYXQtaWNvbiAoY2xpY2spPVwiY2xlYXJKb2IoKVwiPmNsZWFyPC9tYXQtaWNvbj48L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJqb2JfZGV0YWlsc19hcmVhXCI+XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbG5hbWVwcnRcIj5cbiAgICAgIDxhcHAtam9iY29kZS1zdGF0dXMgW2pvYlZhbHVlXT1cImpvYmRldGFpbFwiPjwvYXBwLWpvYmNvZGUtc3RhdHVzPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtam9iY29kZS1vdmVydmlldyBbam9iVmFsdWVdPVwiam9iZGV0YWlsXCI+PC9hcHAtam9iY29kZS1vdmVydmlldz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInJvdXRlX2xpc3RwcnRcIiAoY2xpY2spPVwiaXNPdmVybGFwUm91dGVTZWN0aW9uID0gdHJ1ZVwiIFtuZ0NsYXNzXT1cInsgJ3Nob3cnOiBpc1Zpc2libGUsICdvdmVybGFwJzogaXNPdmVybGFwUm91dGVTZWN0aW9ufVwiPlxuICA8ZGl2IGNsYXNzPVwibGlzdGluZ190b2dnbGVcIiAoY2xpY2spPVwidG9nZ2xlU2lkZW1lbnUoKVwiPlxuICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy9yb3V0ZS5zdmdcIiBhbHQ9XCJcIiAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGlzdGluZ19ib3hcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwidG9nZ2xlU2lkZW1lbnUoKVwiPlxuICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJidG5wcnRcIj5cbiAgICAgIDxoMj4gTGlzdCBvZiBSb3V0ZXMgPC9oMj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm1hc3RlclRvZ2dsZSgpXCI+e3tyb3V0ZXMgJiYgcm91dGVzLmxlbmd0aCA+IDAgJiYgcm91dGVzLmxlbmd0aCA9PT0gc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZC5sZW5ndGggPyAnVW5jaGVjaycgOiAnQ2hlY2snfX0gQWxsPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8YXBwLWpvYi1yb3V0ZS1saXN0IFtyb3V0ZXNdPVwicm91dGVzXCIgW21hc3RlclJvdXRlc109XCJtYXN0ZXJSb3V0ZXNcIiBbc2VsZWN0ZWRSb3V0ZV09XCJzZWxlY3RlZFJvdXRlXCIgKGNoYW5nZVJvdXRlcyk9XCJyb3V0ZXMgPSAkZXZlbnRcIiAoY2hhbmdlU2VsZWN0ZWRSb3V0ZSk9XCJzZWxlY3RlZFJvdXRlID0gJGV2ZW50XCI+PC9hcHAtam9iLXJvdXRlLWxpc3Q+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjUwXCIgY2xhc3M9XCJyb3V0ZUxpc3Qtdmlld3BvcnRcIj5cbiAgICAgIDx1bCAqbmdJZj1cInJvdXRlc1snbGVuZ3RoJ10gPiAwXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGlzdCBvZiByb3V0ZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnBydFwiPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFJvdXRlLmlzU2VsZWN0ZWQobGlzdClcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0Um91dGUobGlzdCkgOiBudWxsXCIgLz48bGFiZWw+Jm5ic3A7PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1c3VuaXRcIiBbbmdDbGFzc109XCJsaXN0Wyd1bml0J11cIj57e2xpc3RbJ3VuaXQnXX19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb2ljb25cIj5cbiAgICAgICAgICAgICAgPGltZyAobW91c2VlbnRlcik9XCJ0b2dnbGVyb3V0ZURldGFpbHModHJ1ZSwgbGlzdClcIiAobW91c2VvdXQpPVwidG9nZ2xlcm91dGVEZXRhaWxzKGZhbHNlLCBsaXN0LCB0cnVlKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVyb3V0ZURldGFpbHMoJ2NsaWNrJywgbGlzdClcIiBzcmM9XCJhc3NldHMvaW1hZ2VzL2luZm9faWNvbi5wbmdcIiBbYWx0XT1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvaWNvblwiICpuZ0lmPVwiY29uZmlnLnJlcG9zaXRvcnkgPT09ICdjdXN0b21lcidcIj5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL3NoYXJlX2ljb24ucG5nXCIgKGNsaWNrKT1cIm9wZW5TaGFyZVJvdXRlTW9kYWwobGlzdClcIiBbYWx0XT1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja3BydGJveFwiPlxuICAgICAgICAgICAgPGgyPiB7e2xpc3RbJ3JvdXRlX25hbWUnXX19IDwvaDI+XG4gICAgICAgICAgICA8aDM+PG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8ucmVwb3NpdG9yeSA9PT0gJ2Nvb2xtYXAnXCI+e3tsaXN0WydjdXN0b21lcl9uYW1lJ119fSB8IDwvbmctY29udGFpbmVyPnt7Y29uZmlnLnJlcG9zaXRvcnkgPT09ICdjb29sbWFwJyA/IGxpc3RbJ21hdGVyaWFsJ10gOiBsaXN0WydtYXRlcmlhbExhYmVsJ119fTwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2Ryb3BwcnRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2twcnRcIj5cbiAgICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICAgIDxoND57e2xpc3RbJ3BpY2t1cF9sb2NhdGlvbiddfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wcHJ0XCI+XG4gICAgICAgICAgICAgICAgPGI+XG4gICAgICAgICAgICAgICAgICA8aDQ+e3tsaXN0WydkZWxpdmVyeV9sb2NhdGlvbiddfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8cCBzdHlsZT1cImNvbG9yOiAjZmZmO1wiICpuZ0lmPVwicm91dGVzLmxlbmd0aCA9PT0gMFwiPk5vIFJvdXRlIGZvdW5kPC9wPlxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyb3V0ZV9kZXRhaWxcIiAqbmdJZj1cImRldGFpbHNDYXJkRW5hYmxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImNsb3NlYnRucm91dGVkZXRhaWxcIiAoY2xpY2spPVwiZGV0YWlsc0NhcmRFbmFibGUgPSBmYWxzZTsgcHJldmVudE1vdXNlb3V0ID0gZmFsc2VcIj5cbiAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGxpYi1yb3V0ZS1pbmZvLWNhcmQgW3Byb3BEYXRhXT1cIntjbGFzc05hbWU6ICdsaXN0Um91dGVjYXJkJywgcmVwb3NpdG9yeTogY29uZmlnWydyZXBvc2l0b3J5J119XCIgIFtwb3B1cERhdGFdPVwicm91dGVDYXJkRGV0YWlsXCI+PC9saWItcm91dGUtaW5mby1jYXJkPlxuICAgIDxkaXYgY2xhc3M9XCJjcmVhdGVUeHRcIj5cbiAgICAgIDxzbWFsbD5cbiAgICAgICAgQ3JlYXRlZCBieSB7e3JvdXRlQ2FyZERldGFpbD8uY3JlYXRlZF9ieV9uYW1lfX0gb24ge3tyb3V0ZUNhcmREZXRhaWw/LmNyZWF0ZWRfYXR9fVxuICAgICAgPC9zbWFsbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLWNvZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9qb2ItY29kZS9qb2ItY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L2pvYi1jb2RlL2pvYi1jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFTMUMsTUFBTSxPQUFPLGdCQUFnQjtJQWlCUjtJQUE0QjtJQUNoQjtJQWpCZixTQUFTLENBQU87SUFDaEIsbUJBQW1CLENBQTRCO0lBQy9ELFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0IsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNkLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDdkMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDckMsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDN0UsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDM0MsaUJBQWlCLENBQW1CO0lBQ3BDLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsZUFBZSxDQUFRO0lBQ3ZCLGlCQUFpQixDQUFVO0lBQzNCLFlBQVksQ0FBTTtJQUNsQixRQUFRLENBQU07SUFDZCxhQUFhLENBQU07SUFF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QUFZLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtZQUM5QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQUk7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7dUdBcklVLGdCQUFnQiw0RUFrQmpCLFlBQVk7MkZBbEJYLGdCQUFnQix1TkNYN0IsNnBIQStFQTs7MkZEcEVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjOzswQkFzQnJCLE1BQU07MkJBQUMsWUFBWTt5Q0FqQk4sU0FBUztzQkFBeEIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBSVcsZUFBZTtzQkFBL0IsTUFBTTtnQkFDVSxjQUFjO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29vbG1hcENvbmZpZ01vZGVsLCBDb29sbWFwU2VydmljZSwgQ3VzdG9tZXJSZXBvRGV0YWlsc01vZGVsLCBSb3V0ZSwgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnQGFnZ2RpcmVjdC9jb29sbWFwLXNlcnZpY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtam9iLWNvZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vam9iLWNvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9qb2ItY29kZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEpvYkNvZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBqb2JkZXRhaWwhOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21lclJlcG9EZXRhaWxzITogQ3VzdG9tZXJSZXBvRGV0YWlsc01vZGVsO1xuICBpc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcm91dGVzOiBSb3V0ZVtdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZFJvdXRlID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJKb2JEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9wZW5TaGFyZVJvdXRlID0gbmV3IEV2ZW50RW1pdHRlcigpOyBpc092ZXJsYXBSb3V0ZVNlY3Rpb24gPSBmYWxzZTtcbiAgcHVibGljIGRlc3Ryb3llciQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBkZXRhaWxzQ2FyZEVuYWJsZTogYm9vbGVhbiB8IHN0cmluZztcbiAgcHJldmVudE1vdXNlb3V0OiBib29sZWFuID0gZmFsc2U7XG4gIHJvdXRlQ2FyZERldGFpbDogUm91dGU7XG4gIHByZXZlbnRMaXN0VXBkYXRlOiBib29sZWFuO1xuICBtYXN0ZXJSb3V0ZXM6IGFueTtcbiAgdW5pdExpc3Q6IGFueTtcbiAgbWF0ZXJpYWxzTGlzdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsczogVXRpbHNTZXJ2aWNlLCBwdWJsaWMgY29vbE1hcDogQ29vbG1hcFNlcnZpY2UsXG4gICAgQEluamVjdCgnbWVtYmVyRGF0YScpIHB1YmxpYyBjb25maWc6IENvb2xtYXBDb25maWdNb2RlbCkge1xuICAgIHRoaXMudXRpbHMuY2xlYXJWaWV3Um91dGVmb3JKb2JDb2RlT2JzZXJ2ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llciQpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGlmIChyZXMpIHRoaXMuY29vbE1hcC5yZW1vdmVKb2JGcm9tTWFwKHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZCk7IHRoaXMuc2VsZWN0ZWRSb3V0ZS5jbGVhcigpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7IHRoaXMuY2hlY2tBbmRDYWxsUm91dGVMaXN0KCkgfVxuICBjaGVja0FuZENhbGxSb3V0ZUxpc3QoKSB7XG4gICAgICAgIHRoaXMudXRpbHMuY2xlYXJPcHRpb25zKCk7XG4gICAgaWYgKHRoaXMuY29uZmlnLnJlcG9zaXRvcnkgPT09ICdjdXN0b21lcicpIHtcbiAgICAgIHRoaXMudXRpbHMuZmV0Y2hVbml0c0xpc3QoKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgdGhpcy51bml0TGlzdCA9IHJlcztcbiAgICAgICAgdGhpcy51dGlscy5mZXRjaE1hdGVyaWFsc0xpc3RGb3JDdXN0b21lcigpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMubWF0ZXJpYWxzTGlzdCA9IHJlcztcbiAgICAgICAgICB0aGlzLmdldFJvdXRlTGlzdEZvckN1c3RvbWVyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0Um91dGVMaXN0Rm9yQ29vbE1hcCgpXG4gICAgfVxuICB9XG4gIGdldFVuaXROYW1lKGRhdGEpOiBzdHJpbmcge1xuICAgIGxldCB1bml0TmFtZSA9ICcnO1xuICAgIHRoaXMudW5pdExpc3QubWFwKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMuaWQgPT09IGRhdGEudW5pdF9pZCkge1xuICAgICAgICB1bml0TmFtZSA9IHJlcy50eXBlXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gdW5pdE5hbWU7XG4gIH1cblxuICBnZXRSb3V0ZUxpc3RGb3JDb29sTWFwKCkge1xuICAgIHRoaXMudXRpbHMuZ2V0RGF0YSgncm91dGVzL2FsbCcpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVyJCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXMgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5tYXN0ZXJSb3V0ZXMgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5wcmV2ZW50TGlzdFVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvdXRlcy5mb3JFYWNoKChlbGU6IFJvdXRlKSA9PiB7IHRoaXMudXRpbHMubWFrZU9wdGlvbnMoZWxlKSB9KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGdldFJvdXRlTGlzdEZvckN1c3RvbWVyKCkge1xuICAgIGNvbnN0IGRhdGFzZXQgPSB7XG4gICAgICBjdXN0b21lcl9pZDogdGhpcy5jdXN0b21lclJlcG9EZXRhaWxzLmN1c3RvbWVyLmlkXG4gICAgfVxuICAgIHRoaXMudXRpbHMucG9zdGRhdGEoJ3JvdXRlcy9hbGwnLCBkYXRhc2V0KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llciQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMucm91dGVzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMucHJldmVudExpc3RVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yb3V0ZXMubWFwKChlbGU6IFJvdXRlKSA9PiB7XG4gICAgICAgICAgZWxlLnVuaXQgPSB0aGlzLmdldFVuaXROYW1lKGVsZSk7XG4gICAgICAgICAgdGhpcy51dGlscy5tYWtlT3B0aW9ucyhlbGUpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1hc3RlclJvdXRlcyA9IHRoaXMucm91dGVzO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlU2lkZW1lbnUoKSB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSAhdGhpcy5pc1Zpc2libGU7XG4gICAgdGhpcy5kZXRhaWxzQ2FyZEVuYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMucHJldmVudE1vdXNlb3V0ID0gZmFsc2VcbiAgfVxuICBjbGVhckpvYigpIHsgdGhpcy5jbGVhckpvYkRldGFpbHMuZW1pdCh0cnVlKTsgdGhpcy51dGlscy5wcmVWZW50Sm9iZGV0YWlsY2xvc2UubmV4dChmYWxzZSkgfVxuICBzZWxlY3RSb3V0ZShldmVudDogUm91dGUpIHtcbiAgICBjb25zdCBpID0gdGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmZpbmRJbmRleChlbGUgPT4gZWxlWydvcmRlcl9udW1iZXInXSA9PT0gZXZlbnRbJ29yZGVyX251bWJlciddKTtcbiAgICB0aGlzLnNlbGVjdGVkUm91dGUudG9nZ2xlKGV2ZW50KTtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRSb3V0ZS5pc1NlbGVjdGVkKGV2ZW50KSAmJiBldmVudFsncm91dGVfaWQnXSkge1xuICAgICAgdGhpcy5jb29sTWFwLnJlbW92ZVJvdXRlQW5kTWFya2VyKGV2ZW50Wydyb3V0ZV9pZCddKS50aGVuKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvb2xNYXAuZXh0ZW5kUmVCb3VuZCgpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29vbE1hcC5wbG90Um91dGUoZXZlbnQsIGV2ZW50Wydyb3V0ZV9pZCddLCAnam9icm91dGVMaXN0JywgZmFsc2UsIHRydWUpO1xuICAgIH1cbiAgfVxuICBtYXN0ZXJUb2dnbGUoKSB7XG4gICAgaWYgKHRoaXMucm91dGVzLmxlbmd0aCA9PT0gdGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvdXRlLmNsZWFyKCk7XG4gICAgICB0aGlzLnJvdXRlcy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcihyb3dbJ3JvdXRlX2lkJ10pLnRoZW4oKHJlczogYW55KSA9PiB7IHRoaXMuY29vbE1hcC5leHRlbmRSZUJvdW5kKCkgfSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlcy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3Qocm93KTtcbiAgICAgICAgdGhpcy5jb29sTWFwLnBsb3RSb3V0ZShyb3csIHJvd1sncm91dGVfaWQnXSwgJ2pvYnJvdXRlTGlzdCcsIGZhbHNlLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICB0b2dnbGVyb3V0ZURldGFpbHMoZXZlbnRUeXBlOiBzdHJpbmcgfCBib29sZWFuLCByb3V0ZTogUm91dGUsIG1vdXNlT3V0PzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgKGV2ZW50VHlwZSkgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnByZXZlbnRNb3VzZW91dCA9IHRydWU7IHRoaXMudXRpbHMuc2V0ZGljdFZhbHVlKCdyb3V0ZS1kZXRhaWxzJywgSlNPTi5zdHJpbmdpZnkocm91dGUpKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiAoZXZlbnRUeXBlKSA9PT0gJ2Jvb2xlYW4nICYmIGV2ZW50VHlwZSAmJiAhdGhpcy5wcmV2ZW50TW91c2VvdXQpIHsgdGhpcy5kZXRhaWxzQ2FyZEVuYWJsZSA9IGV2ZW50VHlwZSB9O1xuICAgIGlmICh0eXBlb2YgKGV2ZW50VHlwZSkgPT09ICdib29sZWFuJyAmJiAhZXZlbnRUeXBlICYmICF0aGlzLnByZXZlbnRNb3VzZW91dCkgeyB0aGlzLmRldGFpbHNDYXJkRW5hYmxlID0gZXZlbnRUeXBlIH07XG4gICAgaWYgKHRoaXMucHJldmVudE1vdXNlb3V0ICYmICF0aGlzLmRldGFpbHNDYXJkRW5hYmxlKSB0aGlzLnByZXZlbnRNb3VzZW91dCA9IGZhbHNlO1xuICAgIGlmIChtb3VzZU91dCkge1xuICAgICAgaWYgKHRoaXMucHJldmVudE1vdXNlb3V0KSB7XG4gICAgICAgIHJvdXRlID0gdGhpcy51dGlscy5nZXRkaWN0VmFsdWUoJ3JvdXRlLWRldGFpbHMnKTtcbiAgICAgICAgdGhpcy5yb3V0ZUNhcmREZXRhaWwgPSByb3V0ZTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5wcmV2ZW50TW91c2VvdXQpIHtcbiAgICAgICAgdGhpcy5yb3V0ZUNhcmREZXRhaWwgPSByb3V0ZVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlQ2FyZERldGFpbCA9IHJvdXRlXG4gICAgfVxuICAgIHRoaXMucm91dGVDYXJkRGV0YWlsWydjcmVhdGVkX2F0J10gPSB0aGlzLnV0aWxzLmdldERhdGVGb3JtYXQobmV3IERhdGUodGhpcy5yb3V0ZUNhcmREZXRhaWxbJ2NyZWF0ZWRfYXQnXSksICcvJyk7XG4gIH1cblxuICBvcGVuU2hhcmVSb3V0ZU1vZGFsKGRhdGEpIHtcbiAgICB0aGlzLm9wZW5TaGFyZVJvdXRlLmVtaXQoZGF0YSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZXIkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95ZXIkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJqb2Jjb2RlX2RldGFpbHBydFwiIChjbGljayk9XCJpc092ZXJsYXBSb3V0ZVNlY3Rpb24gPSBmYWxzZVwiICAqbmdJZj1cImpvYmRldGFpbFwiIFtuZ0NsYXNzXT1cInsnb3ZlcmxhcCc6ICFpc092ZXJsYXBSb3V0ZVNlY3Rpb259XCIgY2RrRHJhZz5cbiAgPHNwYW4gY2xhc3M9XCJjbG9zZVwiPjxtYXQtaWNvbiAoY2xpY2spPVwiY2xlYXJKb2IoKVwiPmNsZWFyPC9tYXQtaWNvbj48L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJqb2JfZGV0YWlsc19hcmVhXCI+XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbG5hbWVwcnRcIj5cbiAgICAgIDxhcHAtam9iY29kZS1zdGF0dXMgW2pvYlZhbHVlXT1cImpvYmRldGFpbFwiPjwvYXBwLWpvYmNvZGUtc3RhdHVzPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtam9iY29kZS1vdmVydmlldyBbam9iVmFsdWVdPVwiam9iZGV0YWlsXCI+PC9hcHAtam9iY29kZS1vdmVydmlldz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInJvdXRlX2xpc3RwcnRcIiAoY2xpY2spPVwiaXNPdmVybGFwUm91dGVTZWN0aW9uID0gdHJ1ZVwiIFtuZ0NsYXNzXT1cInsgJ3Nob3cnOiBpc1Zpc2libGUsICdvdmVybGFwJzogaXNPdmVybGFwUm91dGVTZWN0aW9ufVwiPlxuICA8ZGl2IGNsYXNzPVwibGlzdGluZ190b2dnbGVcIiAoY2xpY2spPVwidG9nZ2xlU2lkZW1lbnUoKVwiPlxuICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy9yb3V0ZS5zdmdcIiBhbHQ9XCJcIiAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGlzdGluZ19ib3hcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwidG9nZ2xlU2lkZW1lbnUoKVwiPlxuICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJidG5wcnRcIj5cbiAgICAgIDxoMj4gTGlzdCBvZiBSb3V0ZXMgPC9oMj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm1hc3RlclRvZ2dsZSgpXCI+e3tyb3V0ZXMgJiYgcm91dGVzLmxlbmd0aCA+IDAgJiYgcm91dGVzLmxlbmd0aCA9PT0gc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZC5sZW5ndGggPyAnVW5jaGVjaycgOiAnQ2hlY2snfX0gQWxsPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8YXBwLWpvYi1yb3V0ZS1saXN0IFtyb3V0ZXNdPVwicm91dGVzXCIgW21hc3RlclJvdXRlc109XCJtYXN0ZXJSb3V0ZXNcIiBbc2VsZWN0ZWRSb3V0ZV09XCJzZWxlY3RlZFJvdXRlXCIgKGNoYW5nZVJvdXRlcyk9XCJyb3V0ZXMgPSAkZXZlbnRcIiAoY2hhbmdlU2VsZWN0ZWRSb3V0ZSk9XCJzZWxlY3RlZFJvdXRlID0gJGV2ZW50XCI+PC9hcHAtam9iLXJvdXRlLWxpc3Q+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjUwXCIgY2xhc3M9XCJyb3V0ZUxpc3Qtdmlld3BvcnRcIj5cbiAgICAgIDx1bCAqbmdJZj1cInJvdXRlc1snbGVuZ3RoJ10gPiAwXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGlzdCBvZiByb3V0ZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnBydFwiPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFJvdXRlLmlzU2VsZWN0ZWQobGlzdClcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0Um91dGUobGlzdCkgOiBudWxsXCIgLz48bGFiZWw+Jm5ic3A7PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1c3VuaXRcIiBbbmdDbGFzc109XCJsaXN0Wyd1bml0J11cIj57e2xpc3RbJ3VuaXQnXX19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb2ljb25cIj5cbiAgICAgICAgICAgICAgPGltZyAobW91c2VlbnRlcik9XCJ0b2dnbGVyb3V0ZURldGFpbHModHJ1ZSwgbGlzdClcIiAobW91c2VvdXQpPVwidG9nZ2xlcm91dGVEZXRhaWxzKGZhbHNlLCBsaXN0LCB0cnVlKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVyb3V0ZURldGFpbHMoJ2NsaWNrJywgbGlzdClcIiBzcmM9XCJhc3NldHMvaW1hZ2VzL2luZm9faWNvbi5wbmdcIiBbYWx0XT1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvaWNvblwiICpuZ0lmPVwiY29uZmlnLnJlcG9zaXRvcnkgPT09ICdjdXN0b21lcidcIj5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL3NoYXJlX2ljb24ucG5nXCIgKGNsaWNrKT1cIm9wZW5TaGFyZVJvdXRlTW9kYWwobGlzdClcIiBbYWx0XT1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja3BydGJveFwiPlxuICAgICAgICAgICAgPGgyPiB7e2xpc3RbJ3JvdXRlX25hbWUnXX19IDwvaDI+XG4gICAgICAgICAgICA8aDM+PG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8ucmVwb3NpdG9yeSA9PT0gJ2Nvb2xtYXAnXCI+e3tsaXN0WydjdXN0b21lcl9uYW1lJ119fSA8L25nLWNvbnRhaW5lcj48L2gzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tkcm9wcHJ0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrcHJ0XCI+XG4gICAgICAgICAgICAgICAgPGI+XG4gICAgICAgICAgICAgICAgICA8aDQ+e3tsaXN0WydwaWNrdXBfbG9jYXRpb24nXX19PC9oND5cbiAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcHBydFwiPlxuICAgICAgICAgICAgICAgIDxiPlxuICAgICAgICAgICAgICAgICAgPGg0Pnt7bGlzdFsnZGVsaXZlcnlfbG9jYXRpb24nXX19PC9oND5cbiAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPHAgc3R5bGU9XCJjb2xvcjogI2ZmZjtcIiAqbmdJZj1cInJvdXRlcy5sZW5ndGggPT09IDBcIj5ObyBSb3V0ZSBmb3VuZDwvcD5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwicm91dGVfZGV0YWlsXCIgKm5nSWY9XCJkZXRhaWxzQ2FyZEVuYWJsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbG9zZWJ0bnJvdXRlZGV0YWlsXCIgKGNsaWNrKT1cImRldGFpbHNDYXJkRW5hYmxlID0gZmFsc2U7IHByZXZlbnRNb3VzZW91dCA9IGZhbHNlXCI+XG4gICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxsaWItcm91dGUtaW5mby1jYXJkIFtwcm9wRGF0YV09XCJ7Y2xhc3NOYW1lOiAnbGlzdFJvdXRlY2FyZCcsIHJlcG9zaXRvcnk6IGNvbmZpZ1sncmVwb3NpdG9yeSddfVwiICBbcG9wdXBEYXRhXT1cInJvdXRlQ2FyZERldGFpbFwiPjwvbGliLXJvdXRlLWluZm8tY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwiY3JlYXRlVHh0XCI+XG4gICAgICA8c21hbGw+XG4gICAgICAgIENyZWF0ZWQgYnkge3tyb3V0ZUNhcmREZXRhaWw/LmNyZWF0ZWRfYnlfbmFtZX19IG9uIHt7cm91dGVDYXJkRGV0YWlsPy5jcmVhdGVkX2F0fX1cbiAgICAgIDwvc21hbGw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -117,7 +117,7 @@ export class AddRouteNavComponent {
|
|
|
117
117
|
this.utils.clearOptions();
|
|
118
118
|
this.routes.map((ele) => {
|
|
119
119
|
ele.unit = this.getUnitName(ele);
|
|
120
|
-
ele.materialLabel = this.getMaterialName(ele);
|
|
120
|
+
// ele.materialLabel = this.getMaterialName(ele);
|
|
121
121
|
ele.material = this.getMaterialName(ele).split('|')[0].trim();
|
|
122
122
|
this.utils.makeOptions(ele);
|
|
123
123
|
});
|
|
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
149
149
|
}], customerRepoDetails: [{
|
|
150
150
|
type: Input
|
|
151
151
|
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJvdXRlLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L25hdi9sYXlvdXQvYWRkLXJvdXRlLW5hdi9hZGQtcm91dGUtbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAvc3JjL2xpYi9jb21wb25lbnQvbmF2L2xheW91dC9hZGQtcm91dGUtbmF2L2FkZC1yb3V0ZS1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLG9CQUFvQjtJQWdCWjtJQUNhO0lBaEJoQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsZUFBZSxDQUFpQztJQUNoRCxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNKLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUM5QyxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzlCLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsbUJBQW1CLENBQTRCO0lBRXhELFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQzNDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUNuQyxRQUFRLENBQU07SUFDZCxhQUFhLENBQU07SUFDbkIsWUFBbUIsS0FBbUIsRUFDTixNQUEwQjtRQUR2QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ04sV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDbkYsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUN2RSxZQUFZLENBQUMsQ0FBTTtRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNuRyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNHLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzNJLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBWSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFBQyxDQUFDLENBQUMsQ0FBQztJQUUxRixxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN0RCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztvQkFDekIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQUk7UUFDZCxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QixJQUFJLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQUk7UUFDbEIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxHQUFHLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDOUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUE7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3ZGLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUN6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2dCQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtTQUNsRCxDQUFBO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDakcsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7b0JBQzdCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDakMsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM5QyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNqRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3VHQS9HVSxvQkFBb0IsOENBaUJyQixZQUFZOzJGQWpCWCxvQkFBb0IseVBDbEJqQyxtbUVBOENBOzsyRkQ1QmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBc0IxQixNQUFNOzJCQUFDLFlBQVk7eUNBWEwsU0FBUztzQkFBekIsTUFBTTtnQkFDUyxRQUFRO3NCQUF2QixLQUFLO2dCQUNXLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1MsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb29sbWFwQ29uZmlnTW9kZWwsIEN1c3RvbWVyUmVwb0RldGFpbHNNb2RlbCwgUm91dGUsIFV0aWxzU2VydmljZSB9IGZyb20gJ0BhZ2dkaXJlY3QvY29vbG1hcC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW50ZXJmYWNlIEZpbHRlciB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1yb3V0ZS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXJvdXRlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1yb3V0ZS1uYXYuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEFkZFJvdXRlTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgZmlsdGVyRm9ybSA9IG5ldyBGb3JtR3JvdXAoeyBzZWFyY2g6IG5ldyBGb3JtQ29udHJvbCgpIH0pO1xuICBmaWx0ZXJlZE9wdGlvbnMhOiBPYnNlcnZhYmxlPGFueVtdPiB8IHVuZGVmaW5lZDtcbiAgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcbiAgbG9hZGVyVmFsID0gZmFsc2U7XG4gIHJvdXRlczogUm91dGVbXSA9IFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZU5hdiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgYW55PigpO1xuICBASW5wdXQoKSBwdWJsaWMgbmF2VmFsdWU6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgcHVibGljIGFkZGVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyB1cGRhdGVSb3V0ZUxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbWVyUmVwb0RldGFpbHMhOiBDdXN0b21lclJlcG9EZXRhaWxzTW9kZWw7XG5cbiAgcHVibGljIGRlc3Ryb3llciQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcmV2ZW50TGlzdFVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB1bml0TGlzdDogYW55O1xuICBtYXRlcmlhbHNMaXN0OiBhbnk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsczogVXRpbHNTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ21lbWJlckRhdGEnKSBwcml2YXRlIGNvbmZpZzogQ29vbG1hcENvbmZpZ01vZGVsKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzZWFyY2gnKT8udmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSxcbiAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnV0aWxzLmZpbHRlcih2YWx1ZSwgdGhpcy5maWx0ZXJzKSkpO1xuICB9XG5cbiAgc2hvd0FkZEZvcm0oKSB7IHRoaXMuY2hhbmdlTmF2LmVtaXQoJ2FkZEZvcm0nKTsgdGhpcy5hZGRlbWl0LmVtaXQoJycpIH1cbiAgZmlsdGVyU2VhcmNoKGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlTmF2LmVtaXQoeyB0eXBlOiAnQWRkcm91dGUnIH0pO1xuICAgIHRoaXMucHJldmVudExpc3RVcGRhdGUgPSB0cnVlO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5jb250cm9scy5zZWFyY2guc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5maWx0ZXJzID0gW3sgbmFtZTogZS5zb3VyY2UudmFsdWUubGFiZWwsIHR5cGU6IGUuc291cmNlLnZhbHVlLnR5cGUsIHZhbHVlOiBlLnNvdXJjZS52YWx1ZSB9XVxuICB9XG4gIHJlbW92ZUZyb21GaWx0ZXIoZmlsdGVyOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU5hdi5lbWl0KHsgdHlwZTogJ0FkZHJvdXRlJyB9KTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmlsdGVycy5pbmRleE9mKGZpbHRlcik7XG4gICAgaWYgKGluZGV4ID49IDApIHsgdGhpcy5maWx0ZXJzID0gW10gfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrQW5kQ2FsbFJvdXRlTGlzdCgpO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sndXBkYXRlUm91dGVMaXN0J10gJiYgY2hhbmdlc1sndXBkYXRlUm91dGVMaXN0J11bJ2N1cnJlbnRWYWx1ZSddKSB0aGlzLmNoZWNrQW5kQ2FsbFJvdXRlTGlzdCgpO1xuICAgIGlmIChjaGFuZ2VzWyduYXZWYWx1ZSddICYmIChjaGFuZ2VzWyduYXZWYWx1ZSddWydwcmV2aW91c1ZhbHVlJ10gPT09ICdhZGRGb3JtJykgJiYgIXRoaXMucHJldmVudExpc3RVcGRhdGUpIHRoaXMuY2hlY2tBbmRDYWxsUm91dGVMaXN0KCk7XG4gIH1cbiAgZ2V0Um91dGUoZXZlbnQ6IFJvdXRlKSB7IGlmIChldmVudFsndHlwZSddID09PSAnZWRpdHJvdXRlJykgeyB0aGlzLmFkZGVtaXQuZW1pdChldmVudCkgfSB9XG5cbiAgY2hlY2tBbmRDYWxsUm91dGVMaXN0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5yZXBvc2l0b3J5ID09PSAnY3VzdG9tZXInKSB7XG4gICAgICB0aGlzLnV0aWxzLmZldGNoVW5pdHNMaXN0KCkudGhlbigocmVzKSA9PiB7XG4gICAgICAgIHRoaXMudW5pdExpc3QgPSByZXM7XG4gICAgICAgIHRoaXMudXRpbHMuZmV0Y2hNYXRlcmlhbHNMaXN0Rm9yQ3VzdG9tZXIoKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLm1hdGVyaWFsc0xpc3QgPSByZXM7XG4gICAgICAgICAgdGhpcy5nZXRSb3V0ZUxpc3RGb3JDdXN0b21lcigpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdldFJvdXRlTGlzdEZvckNvb2xNYXAoKVxuICAgIH1cbiAgfVxuICBnZXRVbml0TmFtZShkYXRhKTogc3RyaW5nIHtcbiAgICBsZXQgdW5pdE5hbWUgPSAnJztcbiAgICB0aGlzLnVuaXRMaXN0Lm1hcCgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzLmlkID09PSBkYXRhLnVuaXRfaWQpIHtcbiAgICAgICAgdW5pdE5hbWUgPSByZXMudHlwZVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHVuaXROYW1lO1xuICB9XG5cbiAgZ2V0TWF0ZXJpYWxOYW1lKGRhdGEpOiBzdHJpbmcge1xuICAgIGxldCBtYXRlcmlhbE5hbWUgPSAnJztcbiAgICB0aGlzLm1hdGVyaWFsc0xpc3QubWFwKChyZXMpID0+IHsgICAgICBcbiAgICAgIGlmIChyZXMuc3ViX21hdGVyaWFsX2lkID09PSBkYXRhLm1hdGVyaWFsc19pZCkge1xuICAgICAgICBtYXRlcmlhbE5hbWUgPSByZXMubGFiZWxcbiAgICAgIH1cbiAgICB9KSAgICBcbiAgICByZXR1cm4gbWF0ZXJpYWxOYW1lO1xuICB9XG5cbiAgZ2V0Um91dGVMaXN0Rm9yQ29vbE1hcCgpIHtcbiAgICB0aGlzLnV0aWxzLmdldERhdGEoJ3JvdXRlcy9hbGwnKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llciQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLnJvdXRlcyA9IHJlc1snZGF0YSddXG4gICAgICAgIHRoaXMucHJldmVudExpc3RVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51dGlscy5jbGVhck9wdGlvbnMoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXMuZm9yRWFjaCgoZWxlOiBSb3V0ZSkgPT4geyB0aGlzLnV0aWxzLm1ha2VPcHRpb25zKGVsZSkgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRSb3V0ZUxpc3RGb3JDdXN0b21lcigpIHtcbiAgICBjb25zdCBkYXRhc2V0ID0ge1xuICAgICAgY3VzdG9tZXJfaWQ6IHRoaXMuY3VzdG9tZXJSZXBvRGV0YWlscy5jdXN0b21lci5pZFxuICAgIH1cbiAgICB0aGlzLnV0aWxzLnBvc3RkYXRhKCdyb3V0ZXMvYWxsJywgZGF0YXNldCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZXIkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcbiAgICAgICAgdGhpcy5yb3V0ZXMgPSByZXNbJ2RhdGEnXVxuICAgICAgICB0aGlzLnByZXZlbnRMaXN0VXBkYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXRpbHMuY2xlYXJPcHRpb25zKCk7XG4gICAgICAgIHRoaXMucm91dGVzLm1hcCgoZWxlOiBSb3V0ZSkgPT4ge1xuICAgICAgICAgIGVsZS51bml0ID0gdGhpcy5nZXRVbml0TmFtZShlbGUpO1xuICAgICAgICAgIGVsZS5tYXRlcmlhbExhYmVsID0gdGhpcy5nZXRNYXRlcmlhbE5hbWUoZWxlKTtcbiAgICAgICAgICBlbGUubWF0ZXJpYWwgPSB0aGlzLmdldE1hdGVyaWFsTmFtZShlbGUpLnNwbGl0KCd8JylbMF0udHJpbSgpO1xuICAgICAgICAgIHRoaXMudXRpbHMubWFrZU9wdGlvbnMoZWxlKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZXNldFNlYXJjaCgpIHsgdGhpcy5jaGFuZ2VOYXYuZW1pdCgnQWRkcm91dGUnKSB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVyJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveWVyJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmF2X2JvZHlcIj5cbiAgPGRpdiBjbGFzcz1cImxvZ29cIj5cbiAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvbG9nby5wbmdcIiBhbHQ9XCJsb2dvXCIgLz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG0tMjBcIj5cbiAgICA8aDE+VmlldyBSb3V0ZTwvaDE+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwic2hvd0FkZEZvcm0oKVwiPlxuICAgICAgPG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+IEFkZCByb3V0ZVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXBhbmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiIFtjbGFzcy5kaXNhYmxlZF09XCJsb2FkZXJWYWxcIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGVyVmFsXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4ICpuZ0lmPVwiIXV0aWxzLmNvbnZleVNlYXJjaEljb24oZmlsdGVyRm9ybS52YWx1ZS5zZWFyY2gpXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKm5nSWY9XCJ1dGlscy5jb252ZXlTZWFyY2hJY29uKGZpbHRlckZvcm0udmFsdWUuc2VhcmNoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyRm9ybS5yZXNldCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIGNsYXNzPVwid2hvbGVfd2lkdGhcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiAob25TZWxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgIHt7b3B0aW9uLnR5cGUgfCB0aXRsZWNhc2UgfX06IHt7b3B0aW9uWydsYWJlbCddfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Zvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1saXN0XCI+XG4gICAgICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwTGlzdCBhcmlhLWxhYmVsPVwiRmlsdGVyIHNlbGVjdGlvblwiPlxuICAgICAgICAgIEBmb3IgKGZpbHRlciBvZiBmaWx0ZXJzOyB0cmFjayBmaWx0ZXIpIHtcbiAgICAgICAgICAgIDxtYXQtY2hpcC1yb3cgY2xhc3M9XCJjaGlwLWdyaWRcIiAocmVtb3ZlZCk9XCJyZW1vdmVGcm9tRmlsdGVyKGZpbHRlcilcIj5cbiAgICAgICAgICAgICAge3tmaWx0ZXIudHlwZSB8IHRpdGxlY2FzZSB9fToge3tmaWx0ZXIubmFtZX19XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0Q2hpcFJlbW92ZT5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LWNoaXAtZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFwcC1yb3V0ZS1qb2Jjb2RlLWxpc3QgW3R5cGVdPVwiJ2FkZHJvdXRlJ1wiIFtjdXJyZW50TmF2XT1cIm5hdlZhbHVlXCIgW3NlYXJjaFRlcm1dPVwiZmlsdGVyc1wiIFtkYXRhXT1cInJvdXRlc1wiIFtsb2FkZXJdPVwibG9hZGVyVmFsXCIgKGVtaXRyb3V0ZSk9XCJnZXRSb3V0ZSgkZXZlbnQpXCI+PC9hcHAtcm91dGUtam9iY29kZS1saXN0PlxuPC9kaXY+XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJvdXRlLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L25hdi9sYXlvdXQvYWRkLXJvdXRlLW5hdi9hZGQtcm91dGUtbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAvc3JjL2xpYi9jb21wb25lbnQvbmF2L2xheW91dC9hZGQtcm91dGUtbmF2L2FkZC1yb3V0ZS1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLG9CQUFvQjtJQWdCWjtJQUNhO0lBaEJoQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsZUFBZSxDQUFpQztJQUNoRCxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNKLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUM5QyxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzlCLGVBQWUsR0FBWSxLQUFL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QUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7b0JBQzdCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDakMsaURBQWlEO29CQUNqRCxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNqRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3VHQS9HVSxvQkFBb0IsOENBaUJyQixZQUFZOzJGQWpCWCxvQkFBb0IseVBDbEJqQyxtbUVBOENBOzsyRkQ1QmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBc0IxQixNQUFNOzJCQUFDLFlBQVk7eUNBWEwsU0FBUztzQkFBekIsTUFBTTtnQkFDUyxRQUFRO3NCQUF2QixLQUFLO2dCQUNXLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1MsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb29sbWFwQ29uZmlnTW9kZWwsIEN1c3RvbWVyUmVwb0RldGFpbHNNb2RlbCwgUm91dGUsIFV0aWxzU2VydmljZSB9IGZyb20gJ0BhZ2dkaXJlY3QvY29vbG1hcC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW50ZXJmYWNlIEZpbHRlciB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1yb3V0ZS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXJvdXRlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1yb3V0ZS1uYXYuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEFkZFJvdXRlTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgZmlsdGVyRm9ybSA9IG5ldyBGb3JtR3JvdXAoeyBzZWFyY2g6IG5ldyBGb3JtQ29udHJvbCgpIH0pO1xuICBmaWx0ZXJlZE9wdGlvbnMhOiBPYnNlcnZhYmxlPGFueVtdPiB8IHVuZGVmaW5lZDtcbiAgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcbiAgbG9hZGVyVmFsID0gZmFsc2U7XG4gIHJvdXRlczogUm91dGVbXSA9IFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZU5hdiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgYW55PigpO1xuICBASW5wdXQoKSBwdWJsaWMgbmF2VmFsdWU6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgcHVibGljIGFkZGVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyB1cGRhdGVSb3V0ZUxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbWVyUmVwb0RldGFpbHMhOiBDdXN0b21lclJlcG9EZXRhaWxzTW9kZWw7XG5cbiAgcHVibGljIGRlc3Ryb3llciQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcmV2ZW50TGlzdFVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB1bml0TGlzdDogYW55O1xuICBtYXRlcmlhbHNMaXN0OiBhbnk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsczogVXRpbHNTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ21lbWJlckRhdGEnKSBwcml2YXRlIGNvbmZpZzogQ29vbG1hcENvbmZpZ01vZGVsKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzZWFyY2gnKT8udmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSxcbiAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnV0aWxzLmZpbHRlcih2YWx1ZSwgdGhpcy5maWx0ZXJzKSkpO1xuICB9XG5cbiAgc2hvd0FkZEZvcm0oKSB7IHRoaXMuY2hhbmdlTmF2LmVtaXQoJ2FkZEZvcm0nKTsgdGhpcy5hZGRlbWl0LmVtaXQoJycpIH1cbiAgZmlsdGVyU2VhcmNoKGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlTmF2LmVtaXQoeyB0eXBlOiAnQWRkcm91dGUnIH0pO1xuICAgIHRoaXMucHJldmVudExpc3RVcGRhdGUgPSB0cnVlO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5jb250cm9scy5zZWFyY2guc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5maWx0ZXJzID0gW3sgbmFtZTogZS5zb3VyY2UudmFsdWUubGFiZWwsIHR5cGU6IGUuc291cmNlLnZhbHVlLnR5cGUsIHZhbHVlOiBlLnNvdXJjZS52YWx1ZSB9XVxuICB9XG4gIHJlbW92ZUZyb21GaWx0ZXIoZmlsdGVyOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU5hdi5lbWl0KHsgdHlwZTogJ0FkZHJvdXRlJyB9KTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmlsdGVycy5pbmRleE9mKGZpbHRlcik7XG4gICAgaWYgKGluZGV4ID49IDApIHsgdGhpcy5maWx0ZXJzID0gW10gfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrQW5kQ2FsbFJvdXRlTGlzdCgpO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sndXBkYXRlUm91dGVMaXN0J10gJiYgY2hhbmdlc1sndXBkYXRlUm91dGVMaXN0J11bJ2N1cnJlbnRWYWx1ZSddKSB0aGlzLmNoZWNrQW5kQ2FsbFJvdXRlTGlzdCgpO1xuICAgIGlmIChjaGFuZ2VzWyduYXZWYWx1ZSddICYmIChjaGFuZ2VzWyduYXZWYWx1ZSddWydwcmV2aW91c1ZhbHVlJ10gPT09ICdhZGRGb3JtJykgJiYgIXRoaXMucHJldmVudExpc3RVcGRhdGUpIHRoaXMuY2hlY2tBbmRDYWxsUm91dGVMaXN0KCk7XG4gIH1cbiAgZ2V0Um91dGUoZXZlbnQ6IFJvdXRlKSB7IGlmIChldmVudFsndHlwZSddID09PSAnZWRpdHJvdXRlJykgeyB0aGlzLmFkZGVtaXQuZW1pdChldmVudCkgfSB9XG5cbiAgY2hlY2tBbmRDYWxsUm91dGVMaXN0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5yZXBvc2l0b3J5ID09PSAnY3VzdG9tZXInKSB7XG4gICAgICB0aGlzLnV0aWxzLmZldGNoVW5pdHNMaXN0KCkudGhlbigocmVzKSA9PiB7XG4gICAgICAgIHRoaXMudW5pdExpc3QgPSByZXM7XG4gICAgICAgIHRoaXMudXRpbHMuZmV0Y2hNYXRlcmlhbHNMaXN0Rm9yQ3VzdG9tZXIoKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLm1hdGVyaWFsc0xpc3QgPSByZXM7XG4gICAgICAgICAgdGhpcy5nZXRSb3V0ZUxpc3RGb3JDdXN0b21lcigpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdldFJvdXRlTGlzdEZvckNvb2xNYXAoKVxuICAgIH1cbiAgfVxuICBnZXRVbml0TmFtZShkYXRhKTogc3RyaW5nIHtcbiAgICBsZXQgdW5pdE5hbWUgPSAnJztcbiAgICB0aGlzLnVuaXRMaXN0Lm1hcCgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzLmlkID09PSBkYXRhLnVuaXRfaWQpIHtcbiAgICAgICAgdW5pdE5hbWUgPSByZXMudHlwZVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHVuaXROYW1lO1xuICB9XG5cbiAgZ2V0TWF0ZXJpYWxOYW1lKGRhdGEpOiBzdHJpbmcge1xuICAgIGxldCBtYXRlcmlhbE5hbWUgPSAnJztcbiAgICB0aGlzLm1hdGVyaWFsc0xpc3QubWFwKChyZXMpID0+IHsgICAgICBcbiAgICAgIGlmIChyZXMuc3ViX21hdGVyaWFsX2lkID09PSBkYXRhLm1hdGVyaWFsc19pZCkge1xuICAgICAgICBtYXRlcmlhbE5hbWUgPSByZXMubGFiZWxcbiAgICAgIH1cbiAgICB9KSAgICBcbiAgICByZXR1cm4gbWF0ZXJpYWxOYW1lO1xuICB9XG5cbiAgZ2V0Um91dGVMaXN0Rm9yQ29vbE1hcCgpIHtcbiAgICB0aGlzLnV0aWxzLmdldERhdGEoJ3JvdXRlcy9hbGwnKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llciQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLnJvdXRlcyA9IHJlc1snZGF0YSddXG4gICAgICAgIHRoaXMucHJldmVudExpc3RVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51dGlscy5jbGVhck9wdGlvbnMoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXMuZm9yRWFjaCgoZWxlOiBSb3V0ZSkgPT4geyB0aGlzLnV0aWxzLm1ha2VPcHRpb25zKGVsZSkgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRSb3V0ZUxpc3RGb3JDdXN0b21lcigpIHtcbiAgICBjb25zdCBkYXRhc2V0ID0ge1xuICAgICAgY3VzdG9tZXJfaWQ6IHRoaXMuY3VzdG9tZXJSZXBvRGV0YWlscy5jdXN0b21lci5pZFxuICAgIH1cbiAgICB0aGlzLnV0aWxzLnBvc3RkYXRhKCdyb3V0ZXMvYWxsJywgZGF0YXNldCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZXIkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcbiAgICAgICAgdGhpcy5yb3V0ZXMgPSByZXNbJ2RhdGEnXVxuICAgICAgICB0aGlzLnByZXZlbnRMaXN0VXBkYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXRpbHMuY2xlYXJPcHRpb25zKCk7XG4gICAgICAgIHRoaXMucm91dGVzLm1hcCgoZWxlOiBSb3V0ZSkgPT4ge1xuICAgICAgICAgIGVsZS51bml0ID0gdGhpcy5nZXRVbml0TmFtZShlbGUpO1xuICAgICAgICAgIC8vIGVsZS5tYXRlcmlhbExhYmVsID0gdGhpcy5nZXRNYXRlcmlhbE5hbWUoZWxlKTtcbiAgICAgICAgICBlbGUubWF0ZXJpYWwgPSB0aGlzLmdldE1hdGVyaWFsTmFtZShlbGUpLnNwbGl0KCd8JylbMF0udHJpbSgpO1xuICAgICAgICAgIHRoaXMudXRpbHMubWFrZU9wdGlvbnMoZWxlKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZXNldFNlYXJjaCgpIHsgdGhpcy5jaGFuZ2VOYXYuZW1pdCgnQWRkcm91dGUnKSB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVyJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveWVyJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmF2X2JvZHlcIj5cbiAgPGRpdiBjbGFzcz1cImxvZ29cIj5cbiAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvbG9nby5wbmdcIiBhbHQ9XCJsb2dvXCIgLz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG0tMjBcIj5cbiAgICA8aDE+VmlldyBSb3V0ZTwvaDE+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwic2hvd0FkZEZvcm0oKVwiPlxuICAgICAgPG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+IEFkZCByb3V0ZVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXBhbmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiIFtjbGFzcy5kaXNhYmxlZF09XCJsb2FkZXJWYWxcIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGVyVmFsXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4ICpuZ0lmPVwiIXV0aWxzLmNvbnZleVNlYXJjaEljb24oZmlsdGVyRm9ybS52YWx1ZS5zZWFyY2gpXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKm5nSWY9XCJ1dGlscy5jb252ZXlTZWFyY2hJY29uKGZpbHRlckZvcm0udmFsdWUuc2VhcmNoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyRm9ybS5yZXNldCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIGNsYXNzPVwid2hvbGVfd2lkdGhcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiAob25TZWxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgIHt7b3B0aW9uLnR5cGUgfCB0aXRsZWNhc2UgfX06IHt7b3B0aW9uWydsYWJlbCddfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Zvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1saXN0XCI+XG4gICAgICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwTGlzdCBhcmlhLWxhYmVsPVwiRmlsdGVyIHNlbGVjdGlvblwiPlxuICAgICAgICAgIEBmb3IgKGZpbHRlciBvZiBmaWx0ZXJzOyB0cmFjayBmaWx0ZXIpIHtcbiAgICAgICAgICAgIDxtYXQtY2hpcC1yb3cgY2xhc3M9XCJjaGlwLWdyaWRcIiAocmVtb3ZlZCk9XCJyZW1vdmVGcm9tRmlsdGVyKGZpbHRlcilcIj5cbiAgICAgICAgICAgICAge3tmaWx0ZXIudHlwZSB8IHRpdGxlY2FzZSB9fToge3tmaWx0ZXIubmFtZX19XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0Q2hpcFJlbW92ZT5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LWNoaXAtZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFwcC1yb3V0ZS1qb2Jjb2RlLWxpc3QgW3R5cGVdPVwiJ2FkZHJvdXRlJ1wiIFtjdXJyZW50TmF2XT1cIm5hdlZhbHVlXCIgW3NlYXJjaFRlcm1dPVwiZmlsdGVyc1wiIFtkYXRhXT1cInJvdXRlc1wiIFtsb2FkZXJdPVwibG9hZGVyVmFsXCIgKGVtaXRyb3V0ZSk9XCJnZXRSb3V0ZSgkZXZlbnQpXCI+PC9hcHAtcm91dGUtam9iY29kZS1saXN0PlxuPC9kaXY+XG4iXX0=
|
|
@@ -136,8 +136,7 @@ export class RouteJobCodeListComponent {
|
|
|
136
136
|
if (this.currentNav !== 'addForm') {
|
|
137
137
|
changes['data']['currentValue'].forEach((ele, indexForData) => {
|
|
138
138
|
const id = (ele['job_id'] ? ele['job_id'] : ele['route_id']);
|
|
139
|
-
if
|
|
140
|
-
ele.materialLabel = ele.material;
|
|
139
|
+
// if(this.type === 'jobcode') ele.materialLabel = ele.material;
|
|
141
140
|
this.coolMap.plotRoute(ele, id, this.type, false, (indexForData === (this.data.length - 1))).then((res) => {
|
|
142
141
|
if (indexForData === (this.data.length - 1)) {
|
|
143
142
|
this.loader = false;
|
|
@@ -318,4 +317,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
318
317
|
}], clearListSeletion: [{
|
|
319
318
|
type: Input
|
|
320
319
|
}] } });
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtam9iY29kZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAvc3JjL2xpYi9jb21wb25lbnQvcm91dGUtam9iY29kZS1saXN0L3JvdXRlLWpvYmNvZGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC9yb3V0ZS1qb2Jjb2RlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBUXpELE1BQU0sT0FBTyx5QkFBeUI7SUFvQmpCO0lBQWdDO0lBbkJuQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixJQUFJLEdBQVksRUFBRSxDQUFDO0lBQ25CLFVBQVUsR0FBVyxFQUFFLENBQUE7SUFDdEIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDL0IsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDbkQsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUNqQyxVQUFVLEdBQVksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQixVQUFVLENBQU87SUFDakMsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUN2QixhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3hELFVBQVUsQ0FBTztJQUNqQixpQkFBaUIs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QyxFQUFFLEdBQUUsSUFBRyxHQUFHLEVBQUUsQ0FBQztnQkFBQSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtZQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtRQUNuRCxDQUFDO0lBQ0osQ0FBQzt1R0E5TlcseUJBQXlCOzJGQUF6Qix5QkFBeUIsZ1dDVnRDLDJzSEF5RUE7OzJGRC9EYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCOzhHQUtsQixNQUFNO3NCQUFyQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNXLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTTtnQkFHUyxVQUFVO3NCQUF6QixLQUFLO2dCQUtXLHVCQUF1QjtzQkFBdkMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBQWhDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29vbG1hcFNlcnZpY2UsIFJvdXRlLCBVdGlsc1NlcnZpY2UgfSBmcm9tICdAYWdnZGlyZWN0L2Nvb2xtYXAtc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcm91dGUtam9iY29kZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvdXRlLWpvYmNvZGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JvdXRlLWpvYmNvZGUtbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlSm9iQ29kZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkZXIgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhOiBSb3V0ZVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TmF2OiBzdHJpbmcgPSAnJ1xuICBAT3V0cHV0KCkgcHVibGljIGVtaXRyb3V0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzaG93QWxsUm91dGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByZXZlbnRNb3VzZW91dDogYm9vbGVhbiA9IGZhbHNlO1xuICBmaWx0ZXJMaXN0OiBSb3V0ZVtdID0gdGhpcy5kYXRhO1xuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoVGVybSE6IGFueTtcbiAgaXNEcml2ZXJMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWxlY3RlZFJvdXRlID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pXG4gIGRyaXZlckxpc3QhOiBhbnk7XG4gIHByZXZlbnRMaXN0U2VsZWN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJKb2JEZXRhaWxzRnJvbUxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByZXZlbnREZXRhaWxzQ2xvc2UgPSBmYWxzZTtcbiAgbWVzc2FnZUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBkcml2ZXJNZXNzYWdlID0gbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV0pO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJMaXN0U2VsZXRpb246IGJvb2xlYW47XG4gIGlzU21zTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29vbE1hcDogQ29vbG1hcFNlcnZpY2UsIHB1YmxpYyB1dGlsczogVXRpbHNTZXJ2aWNlKSB7IHRoaXMuZHJpdmVyTGlzdCA9IFtdIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51dGlscy5nZXRwcmVWZW50Sm9iZGV0YWlsY2xvc2Uuc3Vic2NyaWJlKHJlcyA9PiB7IHRoaXMucHJldmVudERldGFpbHNDbG9zZSA9IHJlcyB9KTtcbiAgICB0aGlzLnV0aWxzLnJlbW92ZU1hcEVudGl0eVV0aWxpdHkuc3Vic2NyaWJlKChyZXM6IFJvdXRlKSA9PiB7dGhpcy5wYXNzUm91dGUocmVzKX0pO1xuICB9XG4gIHBhc3NSb3V0ZShqb2I6IFJvdXRlKSB7XG4gICAgdGhpcy5kYXRhLmZvckVhY2goKGVhY2gpID0+IHsgaWYgKGVhY2hbJ3JvdXRlX2lkJ10gIT09IGpvYlsncm91dGVfaWQnXSkgeyBlYWNoWydpc0FjdGl2ZSddID0gZmFsc2UgfSBlbHNlIHsgZWFjaFsnaXNBY3RpdmUnXSA9IHRydWUgfSB9KTtcbiAgICBpZiAodGhpcy50eXBlID09ICdhZGRyb3V0ZScpIHRoaXMuZmlsdGVyTGlzdC5mb3JFYWNoKGVsZSA9PiB0aGlzLmNvb2xNYXAuZmlsdGVyUm91dGUoZWxlWydyb3V0ZV9pZCddLCAnbm9uZScpKTtcbiAgfVxuICBzZWxlY3RSb3V0ZShyb3V0ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLnByZXZlbnRMaXN0U2VsZWN0KSB7XG4gICAgICB0aGlzLnByZXZlbnRMaXN0U2VsZWN0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS50b2dnbGUocm91dGUpO1xuICAgICAgdGhpcy5jbGVhckpvYkRldGFpbHNGcm9tTGlzdC5lbWl0KHRydWUpO1xuICAgICAgdGhpcy51dGlscy5wcmVWZW50Sm9iZGV0YWlsY2xvc2UubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmZpbHRlckxpc3QuZm9yRWFjaChlbGUgPT4gdGhpcy5jb29sTWFwLmZpbHRlclJvdXRlKGVsZVsnam9iX2lkJ10sICdub25lJykpO1xuICAgICAgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZC5mb3JFYWNoKChlbGUsIGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuY29vbE1hcC5maWx0ZXJSb3V0ZShlbGVbJ2pvYl9pZCddLCAndmlzaWJsZScsICgodGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmxlbmd0aCAtIDEpID09PSBpbmRleCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMucHJldmVudExpc3RTZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUm91dGUuc2VsZWN0ZWQubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucHJldmVudExpc3RTZWxlY3QgPSBmYWxzZVxuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaChlbGUgPT4gdGhpcy5jb29sTWFwLmZpbHRlclJvdXRlKGVsZVsnam9iX2lkJ10sICd2aXNpYmxlJykpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgY2hlY2tyb3V0ZXMocm91dGU6IFJvdXRlKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRSb3V0ZSA9IHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZDtcbiAgICB0aGlzLmZpbHRlckxpc3QgPSB0aGlzLmZpbHRlckxpc3QubWFwKGVsZSA9PiB7IGVsZVsnaXNTZWxlY3RlZCddID0gZmFsc2U7IHJldHVybiBlbGUgfSlcbiAgICBpZiAoc2VsZWN0ZWRSb3V0ZS5sZW5ndGggPiAwKSB7XG4gICAgICBzZWxlY3RlZFJvdXRlLmZvckVhY2goZWxlID0+IHtcbiAgICAgICAgaWYgKHJvdXRlWydvcmRlcl9udW1iZXInXSA9PT0gZWxlWydvcmRlcl9udW1iZXInXSkgeyBlbGVbJ2lzU2VsZWN0ZWQnXSA9IHRydWUgfVxuICAgICAgfSk7XG4gICAgfSByZXR1cm4gcm91dGVcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50TmF2ID09PSAnQWRkcm91dGUnICYmICh0aGlzLmRhdGEubGVuZ3RoIDwgdGhpcy5maWx0ZXJMaXN0Lmxlbmd0aCkpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbHRlckxpc3QuZmluZEluZGV4KGVsZSA9PiBlbGUuaXNBY3RpdmUpO1xuICAgICAgICBpZiAoaW5kZXggPiAwKSB0aGlzLmZpbHRlckxpc3RbaW5kZXhdLmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKChlbGU6IFJvdXRlLCBpbmRleEZvckRhdGE6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkID0gKGVsZVsnam9iX2lkJ10gPyBlbGVbJ2pvYl9pZCddIDogZWxlWydyb3V0ZV9pZCddKVxuICAgICAgICAgIHRoaXMuY29vbE1hcC5wbG90Um91dGUoZWxlLCBpZCwgdGhpcy50eXBlLCBmYWxzZSwgKGluZGV4Rm9yRGF0YSA9PT0gKHRoaXMuZGF0YS5sZW5ndGggLSAxKSkpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gJiYgY2hhbmdlc1snZGF0YSddWydjdXJyZW50VmFsdWUnXSkge1xuICAgICAgdGhpcy5maWx0ZXJMaXN0ID0gY2hhbmdlc1snZGF0YSddWydjdXJyZW50VmFsdWUnXTtcbiAgICAgIGlmICh0aGlzLnNlYXJjaFRlcm0pIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGVybS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy51dGlscy5nZXRTZWFyY2hSZXN1bHRzKGNoYW5nZXNbJ2RhdGEnXVsnY3VycmVudFZhbHVlJ10sIHRoaXMuc2VhcmNoVGVybSk7XG4gICAgICAgICAgdGhpcy5maWx0ZXJMaXN0ID0gdGhpcy5kYXRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlsdGVyTGlzdCA9IGNoYW5nZXNbJ2RhdGEnXVsnY3VycmVudFZhbHVlJ107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2pvYmNvZGUnKSB7XG4gICAgICAgIHRoaXMubG9hZGVyID0gdHJ1ZTsgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggPT09IDApIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdqb2Jjb2RlJykge1xuICAgICAgICBpZiAoY2hhbmdlc1snZGF0YSddWydwcmV2aW91c1ZhbHVlJ10gJiYgdGhpcy5jdXJyZW50TmF2ID09PSAnYWRkRm9ybScpIHtcbiAgICAgICAgICBjb25zdCBhY3RpdmVSb3V0ZSA9IGNoYW5nZXNbJ2RhdGEnXVsncHJldmlvdXNWYWx1ZSddLmZpbmQoKGVsZTogUm91dGUpID0+IGVsZS5pc0FjdGl2ZSk7XG4gICAgICAgICAgaWYgKGFjdGl2ZVJvdXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckxpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGl0ZW0ucm91dGVfaWQgPT09IGFjdGl2ZVJvdXRlLnJvdXRlX2lkKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snZGF0YSddWydwcmV2aW91c1ZhbHVlJ10gJiYgdGhpcy5jdXJyZW50TmF2ICE9PSAnYWRkRm9ybScpIHtcbiAgICAgICAgdGhpcy5jb29sTWFwLnJlbW92ZUpvYkZyb21NYXAoY2hhbmdlc1snZGF0YSddWydwcmV2aW91c1ZhbHVlJ10pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUm91dGUuY2xlYXIoKTtcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5jdXJyZW50TmF2ICE9PSAnYWRkRm9ybScpIHtcbiAgICAgICAgY2hhbmdlc1snZGF0YSddWydjdXJyZW50VmFsdWUnXS5mb3JFYWNoKChlbGU6IFJvdXRlLCBpbmRleEZvckRhdGE6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkID0gKGVsZVsnam9iX2lkJ10gPyBlbGVbJ2pvYl9pZCddIDogZWxlWydyb3V0ZV9pZCddKVxuICAgICAgICAgIGlmKHRoaXMudHlwZSA9PT0gJ2pvYmNvZGUnKSBlbGUubWF0ZXJpYWxMYWJlbCA9IGVsZS5tYXRlcmlhbDtcbiAgICAgICAgICB0aGlzLmNvb2xNYXAucGxvdFJvdXRlKGVsZSwgaWQsIHRoaXMudHlwZSwgZmFsc2UsIChpbmRleEZvckRhdGEgPT09ICh0aGlzLmRhdGEubGVuZ3RoIC0gMSkpKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleEZvckRhdGEgPT09ICh0aGlzLmRhdGEubGVuZ3RoIC0gMSkpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy51dGlscy5wcmV2ZW50bmF2Q2hhbmdlLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VhcmNoVGVybSddKSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJMaXN0KSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZmlsdGVyTGlzdDtcbiAgICAgICAgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3NlYXJjaFRlcm0nXVsnY3VycmVudFZhbHVlJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcigxKTtcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLnV0aWxzLmdldFNlYXJjaFJlc3VsdHModGhpcy5kYXRhLCBjaGFuZ2VzWydzZWFyY2hUZXJtJ11bJ2N1cnJlbnRWYWx1ZSddKTtcbiAgICAgICAgfSBlbHNlIHsgdGhpcy5kYXRhID0gdGhpcy5maWx0ZXJMaXN0OyB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29vbE1hcC5jbGVhckJvdW5kV2l0aENvcmRpbmF0ZXMoKTtcbiAgICAgICAgICBpZiAodGhpcy5jdXJyZW50TmF2ICE9PSAnYWRkRm9ybScgJiYgIXRoaXMuc2VsZWN0ZWRSb3V0ZVsnc2VsZWN0ZWQnXS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcigxKTtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRmlsdGVyUm91dGUodGhpcy5maWx0ZXJMaXN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCk7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnROYXYgIT09ICdhZGRGb3JtJyAmJiB0aGlzLnNlbGVjdGVkUm91dGVbJ3NlbGVjdGVkJ10ubGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJKb2JEZXRhaWxzRnJvbUxpc3QuZW1pdCh0cnVlKVxuICAgICAgICAgICAgdGhpcy5jb29sTWFwLnJlbW92ZUpvYkZyb21NYXAodGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaCgoZWxlLCBpbmRleEZvckRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvb2xNYXAucGxvdFJvdXRlKGVsZSwgZWxlWydqb2JfaWQnXSwgdGhpcy50eXBlLCBmYWxzZSwgKGluZGV4Rm9yRGF0YSA9PT0gKHRoaXMuZGF0YS5sZW5ndGggLSAxKSkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGluZGV4Rm9yRGF0YSA9PT0gKHRoaXMuZGF0YS5sZW5ndGggLSAxKSkgeyB0aGlzLmxvYWRlciA9IGZhbHNlOyB0aGlzLnV0aWxzLnByZXZlbnRuYXZDaGFuZ2UubmV4dCh0cnVlKSB9XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFJvdXRlWydzZWxlY3RlZCddLmxlbmd0aCAmJiB0aGlzLnNlbGVjdGVkUm91dGVbJ3NlbGVjdGVkJ11bMF1bJ2pvYl9pZCddID09PSBlbGVbJ2pvYl9pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5jbGVhcigpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBzaG93Um91dGUoKSB7XG4gICAgdGhpcy51dGlscy5wcmV2ZW50bmF2Q2hhbmdlLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTsgdGhpcy5jbGVhckxpc3QoKTtcbiAgICB0aGlzLnNob3dBbGxSb3V0ZS5lbWl0KHRydWUpO1xuICAgIGlmICh0aGlzLmZpbHRlckxpc3QgJiYgdGhpcy5maWx0ZXJMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVKb2JGcm9tTWFwKHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJMaXN0LmZvckVhY2goKGVsZSwgaW5kZXhGb3JEYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb29sTWFwLnBsb3RSb3V0ZShlbGUsIGVsZVsnam9iX2lkJ10sIHRoaXMudHlwZSwgZmFsc2UsIChpbmRleEZvckRhdGEgPT09IHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggLSAxKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXhGb3JEYXRhID09PSB0aGlzLmZpbHRlckxpc3QubGVuZ3RoIC0gMSkgeyB0aGlzLmxvYWRlciA9IGZhbHNlOyB0aGlzLnV0aWxzLnByZXZlbnRuYXZDaGFuZ2UubmV4dCh0cnVlKSB9XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFJvdXRlWydzZWxlY3RlZCddLmxlbmd0aCAmJiB0aGlzLnNlbGVjdGVkUm91dGVbJ3NlbGVjdGVkJ11bMF1bJ2pvYl9pZCddID09PSBlbGVbJ2pvYl9pZCddKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgfSwgNTAwKTtcbiAgICB9XG4gIH1cbiAgdG9nZ2xlRHJpdmVybWVudShldmVudDogYW55KSB7XG4gICAgY29uc3QgbW91c2Vldm50VHlwZSA9IGV2ZW50Lm1vdXNlZXZudFR5cGU7IGxldCByb3V0ZSA9IGV2ZW50LnJvdXRlO1xuICAgIGNvbnN0IGlzSG92ZXJPdXQgPSBldmVudC5pc0hvdmVyT3V0O1xuICAgIGlmKHR5cGVvZihtb3VzZWV2bnRUeXBlKSA9PT0gJ3N0cmluZycpIHtpZih0aGlzLnByZXZlbnRNb3VzZW91dCl7dGhpcy5pc0RyaXZlckxpc3QgPSAhdGhpcy5pc0RyaXZlckxpc3R9OyB0aGlzLnByZXZlbnRNb3VzZW91dCA9IHRydWV9XG4gICAgaWYgKHR5cGVvZihtb3VzZWV2bnRUeXBlKSA9PT0gJ2Jvb2xlYW4nICYmIW1vdXNlZXZudFR5cGUgJiYgIXRoaXMucHJldmVudE1vdXNlb3V0KSB7IHRoaXMuaXNEcml2ZXJMaXN0ID0gbW91c2Vldm50VHlwZSB9O1xuICAgIGlmICh0eXBlb2YobW91c2Vldm50VHlwZSkgPT09ICdib29sZWFuJyAmJiBtb3VzZWV2bnRUeXBlICYmICF0aGlzLnByZXZlbnRNb3VzZW91dCkgeyB0aGlzLmlzRHJpdmVyTGlzdCA9IG1vdXNlZXZudFR5cGUgfTtcbiAgICBpZih0aGlzLnByZXZlbnRNb3VzZW91dCAmJiAhdGhpcy5pc0RyaXZlckxpc3QpIHRoaXMucHJldmVudE1vdXNlb3V0ID0gZmFsc2U7XG4gICAgaWYgKGlzSG92ZXJPdXQpIHtcbiAgICAgIGlmICh0aGlzLnByZXZlbnRNb3VzZW91dCkge1xuICAgICAgICByb3V0ZSA9IHRoaXMudXRpbHMuZ2V0ZGljdFZhbHVlKCdkcml2ZXItZGV0YWlscycpO1xuICAgICAgICB0aGlzLmRyaXZlckxpc3QgPSByb3V0ZTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5wcmV2ZW50TW91c2VvdXQpIHtcbiAgICAgICAgdGhpcy5kcml2ZXJMaXN0ID0gcm91dGVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcml2ZXJMaXN0ID0gcm91dGVcbiAgICB9XG4gIH1cbiAgdmlzaWJsZXNlY3Rpb24odmFsdWU6IHN0cmluZykgeyBpZiAodGhpcy50eXBlID09PSB2YWx1ZSkgeyByZXR1cm4gdHJ1ZSB9IGVsc2UgcmV0dXJuIGZhbHNlIH1cbiAgdG9nZ2xlRmlsdGVyUm91dGUoZmlsdGVyTGlzdDogUm91dGVbXSkge1xuICAgIGZpbHRlckxpc3QuZm9yRWFjaCgoZWxlKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJJdGVtID0gKHRoaXMudHlwZSA9PT0gJ2pvYmNvZGUnKSA/ICdqb2JfaWQnIDogJ3JvdXRlX2lkJztcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZWxlMSkgPT4geyByZXR1cm4gKGVsZTFbYCR7ZmlsdGVySXRlbX1gXSA9PT0gZWxlW2Ake2ZpbHRlckl0ZW19YF0pIH0pO1xuICAgICAgY29uc3QgaWQgPSAoZWxlWydqb2JfaWQnXSA/IGVsZVsnam9iX2lkJ10gOiBlbGVbJ3JvdXRlX2lkJ10pO1xuICAgICAgaWYgKGlkICYmIGluZGV4IDwgMCkgdGhpcy5jb29sTWFwLmZpbHRlclJvdXRlKGlkLCAnbm9uZScpO1xuICAgICAgaWYgKGlkICYmIGluZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5kYXRhW2luZGV4XS5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvb2xNYXAuZmlsdGVyUm91dGUoaWQsICd2aXNpYmxlJyk7XG4gICAgICAgIHRoaXMuY29vbE1hcC5leHRlbmRCb3VuZChlbGVbJ3BhdGgnXSwgKGluZGV4ID09PSAodGhpcy5kYXRhLmxlbmd0aCAtIDEpKSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIGNsZWFyTGlzdCgpIHtcbiAgICB0aGlzLmlzRHJpdmVyTGlzdCA9IGZhbHNlOyB0aGlzLmRyaXZlckxpc3QgPSBudWxsOyB0aGlzLnByZXZlbnRNb3VzZW91dCA9IGZhbHNlOyB0aGlzLmlzU21zTGlzdCA9IGZhbHNlO1xuICB9XG4gIHNlbmRNZXNzYWdlKCkge1xuICAgIHRoaXMubWVzc2FnZUxvYWRlciA9IHRydWVcbiAgICBpZiAodGhpcy5kcml2ZXJNZXNzYWdlLnZhbGlkKSB7XG4gICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBvcmRlcl9udW1iZXI6IHRoaXMuZHJpdmVyTGlzdFsnb3JkZXJfbnVtYmVyJ10sXG4gICAgICAgIGRhdGU6IHRoaXMuZHJpdmVyTGlzdFsnZGF0ZSddLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLmRyaXZlck1lc3NhZ2UudmFsdWUsXG4gICAgICB9XG4gICAgICB0aGlzLnV0aWxzLnBvc3RkYXRhKCdqb2JzX3JlcG9ydF9jaGF0JywgZGF0YSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzWydkYXRhJ11bJ3N0YXR1cyddID09PSAnU3VjY2Vzcy4nKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5kcml2ZXJNZXNzYWdlLnJlc2V0KCk7XG4gICAgICAgICAgdGhpcy51dGlscy5vcGVuU25hY2tCYXIoJ01lc3NhZ2UgU2VudCcsICdzdWNjZXNzJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy51dGlscy5vcGVuU25hY2tCYXIoJ01lc3NhZ2Ugbm90IHNlbnQnLCAnZXJyb3InKTtcbiAgICAgICAgfVxuICAgICAgfSwgZXJyID0+IHtpZihlcnIpIHt0aGlzLm1lc3NhZ2VMb2FkZXIgPSBmYWxzZX19KVxuICAgIH1cbiB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2Nyb2xscHJ0IGFkZHJvdXRlbGlzdFwiIFtjbGFzcy52aWV3cm91dGVdPVwidmlzaWJsZXNlY3Rpb24oJ2FkZHJvdXRlJylcIlxuICBbY2xhc3Muam9iTGlzdF09XCJ2aXNpYmxlc2VjdGlvbignam9iY29kZScpXCI+XG4gIDxidXR0b24gKGNsaWNrKT1cInNob3dSb3V0ZSgpXCIgW2Rpc2FibGVkXT1cImxvYWRlclwiICpuZ0lmPVwic2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZC5sZW5ndGhcIiBjbGFzcz1cInNob3dfcm91dGVidG5cIj5TaG93IGFsbFxuICAgIHJvdXRlPC9idXR0b24+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjUwXCIgW2NsYXNzLmpvYnNjcm9sbF09XCJ2aXNpYmxlc2VjdGlvbignam9iY29kZScpXCIgY2xhc3M9XCJleGFtcGxlLXZpZXdwb3J0XCI+XG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJsb2FkZXJcIj48L21hdC1zcGlubmVyPlxuICAgICAgPHVsICpuZ0lmPVwiIWxvYWRlciAmJiBkYXRhLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGxpIFtjbGFzcy5hY3RpdmVdPVwicm91dGVbJ2lzQWN0aXZlJ10gJiYgdmlzaWJsZXNlY3Rpb24oJ2FkZHJvdXRlJylcIiAqbmdGb3I9XCJsZXQgcm91dGUgb2YgZGF0YVwiPlxuICAgICAgICAgICAgPGFwcC1qb2ItY29kZS1saXN0LWNhcmQgKm5nSWY9XCJ2aXNpYmxlc2VjdGlvbignam9iY29kZScpXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodG9nZ2xlRHJpdmVybWVudSk9XCJ0b2dnbGVEcml2ZXJtZW51KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJvdXRlU2VsZXRpb24pPVwic2VsZWN0Um91dGUoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByZXZlbnRDbG9zZURldGFpbHNdPVwicHJldmVudERldGFpbHNDbG9zZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRKb2JkZXRhaWxzXT1cIntlbWl0cm91dGUsIGNsZWFySm9iRGV0YWlsc0Zyb21MaXN0fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlXT1cImNoZWNrcm91dGVzKHJvdXRlKVwiPlxuICAgICAgICAgICAgPC9hcHAtam9iLWNvZGUtbGlzdC1jYXJkPlxuICAgICAgICAgICAgPGFwcC12aWV3LXJvdXRlLWxpc3QtY2FyZCAqbmdJZj1cInZpc2libGVzZWN0aW9uKCdhZGRyb3V0ZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRyb3V0ZWV2ZW50XT1cImVtaXRyb3V0ZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVdPVwicm91dGVcIj5cbiAgICAgICAgICAgIDwvYXBwLXZpZXctcm91dGUtbGlzdC1jYXJkPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxwICpuZ0lmPVwiIWxvYWRlciAmJiBkYXRhLmxlbmd0aCA9PT0gMFwiPnt7dmlzaWJsZXNlY3Rpb24oJ2FkZHJvdXRlJykgPyAnTm8gUm91dGUgZm91bmQnIDogJ05vIEpvYiBjb2RlIGZvdW5kLid9fTwvcD5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHJpdmVyX2xpc3RcIiAqbmdJZj1cImlzRHJpdmVyTGlzdFwiPlxuICA8ZGl2IGNsYXNzPVwiZHJpdmVyX2hlYWRpbmdwcnRcIj5cbiAgICA8aDI+RHJpdmVyIExpc3Q8L2gyPlxuICAgIDxidXR0b24gKm5nSWY9XCJkcml2ZXJMaXN0LmRyaXZlcl9saXN0Py5sZW5ndGggPiAwXCIgKGNsaWNrKT1cImlzU21zTGlzdCA9IHRydWVcIj5TTVM8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwiaXNEcml2ZXJMaXN0ID0gZmFsc2U7IHByZXZlbnRNb3VzZW91dCA9IGZhbHNlOyBpc1Ntc0xpc3QgPSBmYWxzZVwiPlxuICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx1bCBjbGFzcz1cImRyaXZlckxpc3RcIiAqbmdJZj1cImRyaXZlckxpc3QgJiYgZHJpdmVyTGlzdC5kcml2ZXJfbGlzdFwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZHJpdmVyIG9mIGRyaXZlckxpc3Q/LmRyaXZlcl9saXN0XCI+XG4gICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvZHJpdmVyX2ljb24ucG5nXCIgW2FsdF09XCJkcml2ZXJbJ2RyaXZlcl9uYW1lJ11cIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cImRyaXZlcl9kZXRhaWxcIj5cbiAgICAgICAgPGI+e3tkcml2ZXJbJ2RyaXZlcl9uYW1lJ119fTwvYj4gPHNwYW4+e3tkcml2ZXJbJ3RydWNraW5nX2NvbXBhbnknXX19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udF9kZWxcIj5cbiAgICAgICAgICA8c21hbGw+RHJpdmVyIGNvbnRhY3Q6IDxiPnt7ZHJpdmVyWydkcml2ZXJfcGhvbmUnXSA/IGRyaXZlclsnZHJpdmVyX3Bob25lJ10gOiAnTi9BJ319PC9iPjwvc21hbGw+XG4gICAgICAgICAgPHNtYWxsPkNvbXBhbnkgY29udGFjdDogPGI+e3tkcml2ZXJbJ3RydWNraW5nX2NvbXBhbnlfcGhvbmUnXSA/IGRyaXZlclsndHJ1Y2tpbmdfY29tcGFueV9waG9uZSddIDogJ04vQSd9fTwvYj48L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICAgPHAgKm5nSWY9XCJkcml2ZXJMaXN0LmRyaXZlcl9saXN0Py5sZW5ndGggPT09IDBcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OjcwMDsgdGV4dC1hbGlnbjpjZW50ZXI7XCI+XG4gICAgICBObyBEcml2ZXIgZm91bmRcbiAgICA8L3A+XG4gIDwvdWw+XG4gIDxkaXYgY2xhc3M9XCJzbXNsaXN0XCIgKm5nSWY9XCJpc1Ntc0xpc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ1wiPlxuICAgICAgPGgyPlNNUyBBbGwgRHJpdmVyczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwiaXNTbXNMaXN0ID0gZmFsc2VcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxwcnRcIj5cbiAgICAgIDxhcHAtc21zLWNhcmQtZGV0YWlscy1vdmVydmlldyBbam9iVmFsdWVdPVwiZHJpdmVyTGlzdFwiPjwvYXBwLXNtcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXc+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9pbnB1dFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJleGFtcGxlLWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJUZXh0IGhlcmUuLi5cIiBhdXRvY29tcGxldGU9XCJub3BlXCIgY29sdW1uPVwiMTBcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRyaXZlck1lc3NhZ2VcIj48L3RleHRhcmVhPlxuICAgICAgICAgIDxtYXQtaGludD57e2RyaXZlck1lc3NhZ2UudmFsdWU/Lmxlbmd0aH19IC8gMjU2PC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlTG9hZGVyXCIgW2Rpc2FibGVkXT1cIiFkcml2ZXJNZXNzYWdlLnZhbHVlIHx8IGRyaXZlck1lc3NhZ2UuaW52YWxpZFwiIChjbGljayk9XCJzZW5kTWVzc2FnZSgpXCI+XG4gICAgICAgICAgU2VuZCBTTVNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+XG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJtZXNzYWdlTG9hZGVyXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtam9iY29kZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAvc3JjL2xpYi9jb21wb25lbnQvcm91dGUtam9iY29kZS1saXN0L3JvdXRlLWpvYmNvZGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC9yb3V0ZS1qb2Jjb2RlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBUXpELE1BQU0sT0FBTyx5QkFBeUI7SUFvQmpCO0lBQWdDO0lBbkJuQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixJQUFJLEdBQVksRUFBRSxDQUFDO0lBQ25CLFVBQVUsR0FBVyxFQUFFLENBQUE7SUFDdEIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDL0IsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDbkQsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUNqQyxVQUFVLEdBQVksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQixVQUFVLENBQU87SUFDakMsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUN2QixhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3hELFVBQVUsQ0FBTztJQUNqQixpQkFBaUIs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QUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtRQUNuRCxDQUFDO0lBQ0osQ0FBQzt1R0E5TlcseUJBQXlCOzJGQUF6Qix5QkFBeUIsZ1dDVnRDLDJzSEF5RUE7OzJGRC9EYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCOzhHQUtsQixNQUFNO3NCQUFyQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNXLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTTtnQkFHUyxVQUFVO3NCQUF6QixLQUFLO2dCQUtXLHVCQUF1QjtzQkFBdkMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBQWhDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29vbG1hcFNlcnZpY2UsIFJvdXRlLCBVdGlsc1NlcnZpY2UgfSBmcm9tICdAYWdnZGlyZWN0L2Nvb2xtYXAtc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcm91dGUtam9iY29kZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvdXRlLWpvYmNvZGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JvdXRlLWpvYmNvZGUtbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlSm9iQ29kZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkZXIgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhOiBSb3V0ZVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TmF2OiBzdHJpbmcgPSAnJ1xuICBAT3V0cHV0KCkgcHVibGljIGVtaXRyb3V0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzaG93QWxsUm91dGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByZXZlbnRNb3VzZW91dDogYm9vbGVhbiA9IGZhbHNlO1xuICBmaWx0ZXJMaXN0OiBSb3V0ZVtdID0gdGhpcy5kYXRhO1xuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoVGVybSE6IGFueTtcbiAgaXNEcml2ZXJMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWxlY3RlZFJvdXRlID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pXG4gIGRyaXZlckxpc3QhOiBhbnk7XG4gIHByZXZlbnRMaXN0U2VsZWN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJKb2JEZXRhaWxzRnJvbUxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByZXZlbnREZXRhaWxzQ2xvc2UgPSBmYWxzZTtcbiAgbWVzc2FnZUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBkcml2ZXJNZXNzYWdlID0gbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV0pO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJMaXN0U2VsZXRpb246IGJvb2xlYW47XG4gIGlzU21zTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29vbE1hcDogQ29vbG1hcFNlcnZpY2UsIHB1YmxpYyB1dGlsczogVXRpbHNTZXJ2aWNlKSB7IHRoaXMuZHJpdmVyTGlzdCA9IFtdIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51dGlscy5nZXRwcmVWZW50Sm9iZGV0YWlsY2xvc2Uuc3Vic2NyaWJlKHJlcyA9PiB7IHRoaXMucHJldmVudERldGFpbHNDbG9zZSA9IHJlcyB9KTtcbiAgICB0aGlzLnV0aWxzLnJlbW92ZU1hcEVudGl0eVV0aWxpdHkuc3Vic2NyaWJlKChyZXM6IFJvdXRlKSA9PiB7dGhpcy5wYXNzUm91dGUocmVzKX0pO1xuICB9XG4gIHBhc3NSb3V0ZShqb2I6IFJvdXRlKSB7XG4gICAgdGhpcy5kYXRhLmZvckVhY2goKGVhY2gpID0+IHsgaWYgKGVhY2hbJ3JvdXRlX2lkJ10gIT09IGpvYlsncm91dGVfaWQnXSkgeyBlYWNoWydpc0FjdGl2ZSddID0gZmFsc2UgfSBlbHNlIHsgZWFjaFsnaXNBY3RpdmUnXSA9IHRydWUgfSB9KTtcbiAgICBpZiAodGhpcy50eXBlID09ICdhZGRyb3V0ZScpIHRoaXMuZmlsdGVyTGlzdC5mb3JFYWNoKGVsZSA9PiB0aGlzLmNvb2xNYXAuZmlsdGVyUm91dGUoZWxlWydyb3V0ZV9pZCddLCAnbm9uZScpKTtcbiAgfVxuICBzZWxlY3RSb3V0ZShyb3V0ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLnByZXZlbnRMaXN0U2VsZWN0KSB7XG4gICAgICB0aGlzLnByZXZlbnRMaXN0U2VsZWN0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS50b2dnbGUocm91dGUpO1xuICAgICAgdGhpcy5jbGVhckpvYkRldGFpbHNGcm9tTGlzdC5lbWl0KHRydWUpO1xuICAgICAgdGhpcy51dGlscy5wcmVWZW50Sm9iZGV0YWlsY2xvc2UubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmZpbHRlckxpc3QuZm9yRWFjaChlbGUgPT4gdGhpcy5jb29sTWFwLmZpbHRlclJvdXRlKGVsZVsnam9iX2lkJ10sICdub25lJykpO1xuICAgICAgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZC5mb3JFYWNoKChlbGUsIGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuY29vbE1hcC5maWx0ZXJSb3V0ZShlbGVbJ2pvYl9pZCddLCAndmlzaWJsZScsICgodGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmxlbmd0aCAtIDEpID09PSBpbmRleCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMucHJldmVudExpc3RTZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUm91dGUuc2VsZWN0ZWQubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucHJldmVudExpc3RTZWxlY3QgPSBmYWxzZVxuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaChlbGUgPT4gdGhpcy5jb29sTWFwLmZpbHRlclJvdXRlKGVsZVsnam9iX2lkJ10sICd2aXNpYmxlJykpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgY2hlY2tyb3V0ZXMocm91dGU6IFJvdXRlKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRSb3V0ZSA9IHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZDtcbiAgICB0aGlzLmZpbHRlckxpc3QgPSB0aGlzLmZpbHRlckxpc3QubWFwKGVsZSA9PiB7IGVsZVsnaXNTZWxlY3RlZCddID0gZmFsc2U7IHJldHVybiBlbGUgfSlcbiAgICBpZiAoc2VsZWN0ZWRSb3V0ZS5sZW5ndGggPiAwKSB7XG4gICAgICBzZWxlY3RlZFJvdXRlLmZvckVhY2goZWxlID0+IHtcbiAgICAgICAgaWYgKHJvdXRlWydvcmRlcl9udW1iZXInXSA9PT0gZWxlWydvcmRlcl9udW1iZXInXSkgeyBlbGVbJ2lzU2VsZWN0ZWQnXSA9IHRydWUgfVxuICAgICAgfSk7XG4gICAgfSByZXR1cm4gcm91dGVcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50TmF2ID09PSAnQWRkcm91dGUnICYmICh0aGlzLmRhdGEubGVuZ3RoIDwgdGhpcy5maWx0ZXJMaXN0Lmxlbmd0aCkpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbHRlckxpc3QuZmluZEluZGV4KGVsZSA9PiBlbGUuaXNBY3RpdmUpO1xuICAgICAgICBpZiAoaW5kZXggPiAwKSB0aGlzLmZpbHRlckxpc3RbaW5kZXhdLmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKChlbGU6IFJvdXRlLCBpbmRleEZvckRhdGE6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkID0gKGVsZVsnam9iX2lkJ10gPyBlbGVbJ2pvYl9pZCddIDogZWxlWydyb3V0ZV9pZCddKVxuICAgICAgICAgIHRoaXMuY29vbE1hcC5wbG90Um91dGUoZWxlLCBpZCwgdGhpcy50eXBlLCBmYWxzZSwgKGluZGV4Rm9yRGF0YSA9PT0gKHRoaXMuZGF0YS5sZW5ndGggLSAxKSkpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gJiYgY2hhbmdlc1snZGF0YSddWydjdXJyZW50VmFsdWUnXSkge1xuICAgICAgdGhpcy5maWx0ZXJMaXN0ID0gY2hhbmdlc1snZGF0YSddWydjdXJyZW50VmFsdWUnXTtcbiAgICAgIGlmICh0aGlzLnNlYXJjaFRlcm0pIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGVybS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy51dGlscy5nZXRTZWFyY2hSZXN1bHRzKGNoYW5nZXNbJ2RhdGEnXVsnY3VycmVudFZhbHVlJ10sIHRoaXMuc2VhcmNoVGVybSk7XG4gICAgICAgICAgdGhpcy5maWx0ZXJMaXN0ID0gdGhpcy5kYXRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlsdGVyTGlzdCA9IGNoYW5nZXNbJ2RhdGEnXVsnY3VycmVudFZhbHVlJ107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2pvYmNvZGUnKSB7XG4gICAgICAgIHRoaXMubG9hZGVyID0gdHJ1ZTsgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggPT09IDApIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdqb2Jjb2RlJykge1xuICAgICAgICBpZiAoY2hhbmdlc1snZGF0YSddWydwcmV2aW91c1ZhbHVlJ10gJiYgdGhpcy5jdXJyZW50TmF2ID09PSAnYWRkRm9ybScpIHtcbiAgICAgICAgICBjb25zdCBhY3RpdmVSb3V0ZSA9IGNoYW5nZXNbJ2RhdGEnXVsncHJldmlvdXNWYWx1ZSddLmZpbmQoKGVsZTogUm91dGUpID0+IGVsZS5pc0FjdGl2ZSk7XG4gICAgICAgICAgaWYgKGFjdGl2ZVJvdXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckxpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGl0ZW0ucm91dGVfaWQgPT09IGFjdGl2ZVJvdXRlLnJvdXRlX2lkKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snZGF0YSddWydwcmV2aW91c1ZhbHVlJ10gJiYgdGhpcy5jdXJyZW50TmF2ICE9PSAnYWRkRm9ybScpIHtcbiAgICAgICAgdGhpcy5jb29sTWFwLnJlbW92ZUpvYkZyb21NYXAoY2hhbmdlc1snZGF0YSddWydwcmV2aW91c1ZhbHVlJ10pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUm91dGUuY2xlYXIoKTtcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5jdXJyZW50TmF2ICE9PSAnYWRkRm9ybScpIHtcbiAgICAgICAgY2hhbmdlc1snZGF0YSddWydjdXJyZW50VmFsdWUnXS5mb3JFYWNoKChlbGU6IFJvdXRlLCBpbmRleEZvckRhdGE6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkID0gKGVsZVsnam9iX2lkJ10gPyBlbGVbJ2pvYl9pZCddIDogZWxlWydyb3V0ZV9pZCddKVxuICAgICAgICAgIC8vIGlmKHRoaXMudHlwZSA9PT0gJ2pvYmNvZGUnKSBlbGUubWF0ZXJpYWxMYWJlbCA9IGVsZS5tYXRlcmlhbDtcbiAgICAgICAgICB0aGlzLmNvb2xNYXAucGxvdFJvdXRlKGVsZSwgaWQsIHRoaXMudHlwZSwgZmFsc2UsIChpbmRleEZvckRhdGEgPT09ICh0aGlzLmRhdGEubGVuZ3RoIC0gMSkpKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleEZvckRhdGEgPT09ICh0aGlzLmRhdGEubGVuZ3RoIC0gMSkpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy51dGlscy5wcmV2ZW50bmF2Q2hhbmdlLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VhcmNoVGVybSddKSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJMaXN0KSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZmlsdGVyTGlzdDtcbiAgICAgICAgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3NlYXJjaFRlcm0nXVsnY3VycmVudFZhbHVlJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcigxKTtcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLnV0aWxzLmdldFNlYXJjaFJlc3VsdHModGhpcy5kYXRhLCBjaGFuZ2VzWydzZWFyY2hUZXJtJ11bJ2N1cnJlbnRWYWx1ZSddKTtcbiAgICAgICAgfSBlbHNlIHsgdGhpcy5kYXRhID0gdGhpcy5maWx0ZXJMaXN0OyB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29vbE1hcC5jbGVhckJvdW5kV2l0aENvcmRpbmF0ZXMoKTtcbiAgICAgICAgICBpZiAodGhpcy5jdXJyZW50TmF2ICE9PSAnYWRkRm9ybScgJiYgIXRoaXMuc2VsZWN0ZWRSb3V0ZVsnc2VsZWN0ZWQnXS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcigxKTtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRmlsdGVyUm91dGUodGhpcy5maWx0ZXJMaXN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCk7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnROYXYgIT09ICdhZGRGb3JtJyAmJiB0aGlzLnNlbGVjdGVkUm91dGVbJ3NlbGVjdGVkJ10ubGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckxpc3QoKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJKb2JEZXRhaWxzRnJvbUxpc3QuZW1pdCh0cnVlKVxuICAgICAgICAgICAgdGhpcy5jb29sTWFwLnJlbW92ZUpvYkZyb21NYXAodGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaCgoZWxlLCBpbmRleEZvckRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvb2xNYXAucGxvdFJvdXRlKGVsZSwgZWxlWydqb2JfaWQnXSwgdGhpcy50eXBlLCBmYWxzZSwgKGluZGV4Rm9yRGF0YSA9PT0gKHRoaXMuZGF0YS5sZW5ndGggLSAxKSkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGluZGV4Rm9yRGF0YSA9PT0gKHRoaXMuZGF0YS5sZW5ndGggLSAxKSkgeyB0aGlzLmxvYWRlciA9IGZhbHNlOyB0aGlzLnV0aWxzLnByZXZlbnRuYXZDaGFuZ2UubmV4dCh0cnVlKSB9XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFJvdXRlWydzZWxlY3RlZCddLmxlbmd0aCAmJiB0aGlzLnNlbGVjdGVkUm91dGVbJ3NlbGVjdGVkJ11bMF1bJ2pvYl9pZCddID09PSBlbGVbJ2pvYl9pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5jbGVhcigpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBzaG93Um91dGUoKSB7XG4gICAgdGhpcy51dGlscy5wcmV2ZW50bmF2Q2hhbmdlLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTsgdGhpcy5jbGVhckxpc3QoKTtcbiAgICB0aGlzLnNob3dBbGxSb3V0ZS5lbWl0KHRydWUpO1xuICAgIGlmICh0aGlzLmZpbHRlckxpc3QgJiYgdGhpcy5maWx0ZXJMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVKb2JGcm9tTWFwKHRoaXMuc2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJMaXN0LmZvckVhY2goKGVsZSwgaW5kZXhGb3JEYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb29sTWFwLnBsb3RSb3V0ZShlbGUsIGVsZVsnam9iX2lkJ10sIHRoaXMudHlwZSwgZmFsc2UsIChpbmRleEZvckRhdGEgPT09IHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggLSAxKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXhGb3JEYXRhID09PSB0aGlzLmZpbHRlckxpc3QubGVuZ3RoIC0gMSkgeyB0aGlzLmxvYWRlciA9IGZhbHNlOyB0aGlzLnV0aWxzLnByZXZlbnRuYXZDaGFuZ2UubmV4dCh0cnVlKSB9XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFJvdXRlWydzZWxlY3RlZCddLmxlbmd0aCAmJiB0aGlzLnNlbGVjdGVkUm91dGVbJ3NlbGVjdGVkJ11bMF1bJ2pvYl9pZCddID09PSBlbGVbJ2pvYl9pZCddKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3V0ZS5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgfSwgNTAwKTtcbiAgICB9XG4gIH1cbiAgdG9nZ2xlRHJpdmVybWVudShldmVudDogYW55KSB7XG4gICAgY29uc3QgbW91c2Vldm50VHlwZSA9IGV2ZW50Lm1vdXNlZXZudFR5cGU7IGxldCByb3V0ZSA9IGV2ZW50LnJvdXRlO1xuICAgIGNvbnN0IGlzSG92ZXJPdXQgPSBldmVudC5pc0hvdmVyT3V0O1xuICAgIGlmKHR5cGVvZihtb3VzZWV2bnRUeXBlKSA9PT0gJ3N0cmluZycpIHtpZih0aGlzLnByZXZlbnRNb3VzZW91dCl7dGhpcy5pc0RyaXZlckxpc3QgPSAhdGhpcy5pc0RyaXZlckxpc3R9OyB0aGlzLnByZXZlbnRNb3VzZW91dCA9IHRydWV9XG4gICAgaWYgKHR5cGVvZihtb3VzZWV2bnRUeXBlKSA9PT0gJ2Jvb2xlYW4nICYmIW1vdXNlZXZudFR5cGUgJiYgIXRoaXMucHJldmVudE1vdXNlb3V0KSB7IHRoaXMuaXNEcml2ZXJMaXN0ID0gbW91c2Vldm50VHlwZSB9O1xuICAgIGlmICh0eXBlb2YobW91c2Vldm50VHlwZSkgPT09ICdib29sZWFuJyAmJiBtb3VzZWV2bnRUeXBlICYmICF0aGlzLnByZXZlbnRNb3VzZW91dCkgeyB0aGlzLmlzRHJpdmVyTGlzdCA9IG1vdXNlZXZudFR5cGUgfTtcbiAgICBpZih0aGlzLnByZXZlbnRNb3VzZW91dCAmJiAhdGhpcy5pc0RyaXZlckxpc3QpIHRoaXMucHJldmVudE1vdXNlb3V0ID0gZmFsc2U7XG4gICAgaWYgKGlzSG92ZXJPdXQpIHtcbiAgICAgIGlmICh0aGlzLnByZXZlbnRNb3VzZW91dCkge1xuICAgICAgICByb3V0ZSA9IHRoaXMudXRpbHMuZ2V0ZGljdFZhbHVlKCdkcml2ZXItZGV0YWlscycpO1xuICAgICAgICB0aGlzLmRyaXZlckxpc3QgPSByb3V0ZTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5wcmV2ZW50TW91c2VvdXQpIHtcbiAgICAgICAgdGhpcy5kcml2ZXJMaXN0ID0gcm91dGVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcml2ZXJMaXN0ID0gcm91dGVcbiAgICB9XG4gIH1cbiAgdmlzaWJsZXNlY3Rpb24odmFsdWU6IHN0cmluZykgeyBpZiAodGhpcy50eXBlID09PSB2YWx1ZSkgeyByZXR1cm4gdHJ1ZSB9IGVsc2UgcmV0dXJuIGZhbHNlIH1cbiAgdG9nZ2xlRmlsdGVyUm91dGUoZmlsdGVyTGlzdDogUm91dGVbXSkge1xuICAgIGZpbHRlckxpc3QuZm9yRWFjaCgoZWxlKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJJdGVtID0gKHRoaXMudHlwZSA9PT0gJ2pvYmNvZGUnKSA/ICdqb2JfaWQnIDogJ3JvdXRlX2lkJztcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZWxlMSkgPT4geyByZXR1cm4gKGVsZTFbYCR7ZmlsdGVySXRlbX1gXSA9PT0gZWxlW2Ake2ZpbHRlckl0ZW19YF0pIH0pO1xuICAgICAgY29uc3QgaWQgPSAoZWxlWydqb2JfaWQnXSA/IGVsZVsnam9iX2lkJ10gOiBlbGVbJ3JvdXRlX2lkJ10pO1xuICAgICAgaWYgKGlkICYmIGluZGV4IDwgMCkgdGhpcy5jb29sTWFwLmZpbHRlclJvdXRlKGlkLCAnbm9uZScpO1xuICAgICAgaWYgKGlkICYmIGluZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5kYXRhW2luZGV4XS5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvb2xNYXAuZmlsdGVyUm91dGUoaWQsICd2aXNpYmxlJyk7XG4gICAgICAgIHRoaXMuY29vbE1hcC5leHRlbmRCb3VuZChlbGVbJ3BhdGgnXSwgKGluZGV4ID09PSAodGhpcy5kYXRhLmxlbmd0aCAtIDEpKSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIGNsZWFyTGlzdCgpIHtcbiAgICB0aGlzLmlzRHJpdmVyTGlzdCA9IGZhbHNlOyB0aGlzLmRyaXZlckxpc3QgPSBudWxsOyB0aGlzLnByZXZlbnRNb3VzZW91dCA9IGZhbHNlOyB0aGlzLmlzU21zTGlzdCA9IGZhbHNlO1xuICB9XG4gIHNlbmRNZXNzYWdlKCkge1xuICAgIHRoaXMubWVzc2FnZUxvYWRlciA9IHRydWVcbiAgICBpZiAodGhpcy5kcml2ZXJNZXNzYWdlLnZhbGlkKSB7XG4gICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBvcmRlcl9udW1iZXI6IHRoaXMuZHJpdmVyTGlzdFsnb3JkZXJfbnVtYmVyJ10sXG4gICAgICAgIGRhdGU6IHRoaXMuZHJpdmVyTGlzdFsnZGF0ZSddLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLmRyaXZlck1lc3NhZ2UudmFsdWUsXG4gICAgICB9XG4gICAgICB0aGlzLnV0aWxzLnBvc3RkYXRhKCdqb2JzX3JlcG9ydF9jaGF0JywgZGF0YSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzWydkYXRhJ11bJ3N0YXR1cyddID09PSAnU3VjY2Vzcy4nKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5kcml2ZXJNZXNzYWdlLnJlc2V0KCk7XG4gICAgICAgICAgdGhpcy51dGlscy5vcGVuU25hY2tCYXIoJ01lc3NhZ2UgU2VudCcsICdzdWNjZXNzJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy51dGlscy5vcGVuU25hY2tCYXIoJ01lc3NhZ2Ugbm90IHNlbnQnLCAnZXJyb3InKTtcbiAgICAgICAgfVxuICAgICAgfSwgZXJyID0+IHtpZihlcnIpIHt0aGlzLm1lc3NhZ2VMb2FkZXIgPSBmYWxzZX19KVxuICAgIH1cbiB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2Nyb2xscHJ0IGFkZHJvdXRlbGlzdFwiIFtjbGFzcy52aWV3cm91dGVdPVwidmlzaWJsZXNlY3Rpb24oJ2FkZHJvdXRlJylcIlxuICBbY2xhc3Muam9iTGlzdF09XCJ2aXNpYmxlc2VjdGlvbignam9iY29kZScpXCI+XG4gIDxidXR0b24gKGNsaWNrKT1cInNob3dSb3V0ZSgpXCIgW2Rpc2FibGVkXT1cImxvYWRlclwiICpuZ0lmPVwic2VsZWN0ZWRSb3V0ZS5zZWxlY3RlZC5sZW5ndGhcIiBjbGFzcz1cInNob3dfcm91dGVidG5cIj5TaG93IGFsbFxuICAgIHJvdXRlPC9idXR0b24+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjUwXCIgW2NsYXNzLmpvYnNjcm9sbF09XCJ2aXNpYmxlc2VjdGlvbignam9iY29kZScpXCIgY2xhc3M9XCJleGFtcGxlLXZpZXdwb3J0XCI+XG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJsb2FkZXJcIj48L21hdC1zcGlubmVyPlxuICAgICAgPHVsICpuZ0lmPVwiIWxvYWRlciAmJiBkYXRhLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGxpIFtjbGFzcy5hY3RpdmVdPVwicm91dGVbJ2lzQWN0aXZlJ10gJiYgdmlzaWJsZXNlY3Rpb24oJ2FkZHJvdXRlJylcIiAqbmdGb3I9XCJsZXQgcm91dGUgb2YgZGF0YVwiPlxuICAgICAgICAgICAgPGFwcC1qb2ItY29kZS1saXN0LWNhcmQgKm5nSWY9XCJ2aXNpYmxlc2VjdGlvbignam9iY29kZScpXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodG9nZ2xlRHJpdmVybWVudSk9XCJ0b2dnbGVEcml2ZXJtZW51KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJvdXRlU2VsZXRpb24pPVwic2VsZWN0Um91dGUoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByZXZlbnRDbG9zZURldGFpbHNdPVwicHJldmVudERldGFpbHNDbG9zZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRKb2JkZXRhaWxzXT1cIntlbWl0cm91dGUsIGNsZWFySm9iRGV0YWlsc0Zyb21MaXN0fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlXT1cImNoZWNrcm91dGVzKHJvdXRlKVwiPlxuICAgICAgICAgICAgPC9hcHAtam9iLWNvZGUtbGlzdC1jYXJkPlxuICAgICAgICAgICAgPGFwcC12aWV3LXJvdXRlLWxpc3QtY2FyZCAqbmdJZj1cInZpc2libGVzZWN0aW9uKCdhZGRyb3V0ZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRyb3V0ZWV2ZW50XT1cImVtaXRyb3V0ZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVdPVwicm91dGVcIj5cbiAgICAgICAgICAgIDwvYXBwLXZpZXctcm91dGUtbGlzdC1jYXJkPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxwICpuZ0lmPVwiIWxvYWRlciAmJiBkYXRhLmxlbmd0aCA9PT0gMFwiPnt7dmlzaWJsZXNlY3Rpb24oJ2FkZHJvdXRlJykgPyAnTm8gUm91dGUgZm91bmQnIDogJ05vIEpvYiBjb2RlIGZvdW5kLid9fTwvcD5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHJpdmVyX2xpc3RcIiAqbmdJZj1cImlzRHJpdmVyTGlzdFwiPlxuICA8ZGl2IGNsYXNzPVwiZHJpdmVyX2hlYWRpbmdwcnRcIj5cbiAgICA8aDI+RHJpdmVyIExpc3Q8L2gyPlxuICAgIDxidXR0b24gKm5nSWY9XCJkcml2ZXJMaXN0LmRyaXZlcl9saXN0Py5sZW5ndGggPiAwXCIgKGNsaWNrKT1cImlzU21zTGlzdCA9IHRydWVcIj5TTVM8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwiaXNEcml2ZXJMaXN0ID0gZmFsc2U7IHByZXZlbnRNb3VzZW91dCA9IGZhbHNlOyBpc1Ntc0xpc3QgPSBmYWxzZVwiPlxuICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx1bCBjbGFzcz1cImRyaXZlckxpc3RcIiAqbmdJZj1cImRyaXZlckxpc3QgJiYgZHJpdmVyTGlzdC5kcml2ZXJfbGlzdFwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZHJpdmVyIG9mIGRyaXZlckxpc3Q/LmRyaXZlcl9saXN0XCI+XG4gICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvZHJpdmVyX2ljb24ucG5nXCIgW2FsdF09XCJkcml2ZXJbJ2RyaXZlcl9uYW1lJ11cIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cImRyaXZlcl9kZXRhaWxcIj5cbiAgICAgICAgPGI+e3tkcml2ZXJbJ2RyaXZlcl9uYW1lJ119fTwvYj4gPHNwYW4+e3tkcml2ZXJbJ3RydWNraW5nX2NvbXBhbnknXX19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udF9kZWxcIj5cbiAgICAgICAgICA8c21hbGw+RHJpdmVyIGNvbnRhY3Q6IDxiPnt7ZHJpdmVyWydkcml2ZXJfcGhvbmUnXSA/IGRyaXZlclsnZHJpdmVyX3Bob25lJ10gOiAnTi9BJ319PC9iPjwvc21hbGw+XG4gICAgICAgICAgPHNtYWxsPkNvbXBhbnkgY29udGFjdDogPGI+e3tkcml2ZXJbJ3RydWNraW5nX2NvbXBhbnlfcGhvbmUnXSA/IGRyaXZlclsndHJ1Y2tpbmdfY29tcGFueV9waG9uZSddIDogJ04vQSd9fTwvYj48L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICAgPHAgKm5nSWY9XCJkcml2ZXJMaXN0LmRyaXZlcl9saXN0Py5sZW5ndGggPT09IDBcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OjcwMDsgdGV4dC1hbGlnbjpjZW50ZXI7XCI+XG4gICAgICBObyBEcml2ZXIgZm91bmRcbiAgICA8L3A+XG4gIDwvdWw+XG4gIDxkaXYgY2xhc3M9XCJzbXNsaXN0XCIgKm5nSWY9XCJpc1Ntc0xpc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ1wiPlxuICAgICAgPGgyPlNNUyBBbGwgRHJpdmVyczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwiaXNTbXNMaXN0ID0gZmFsc2VcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxwcnRcIj5cbiAgICAgIDxhcHAtc21zLWNhcmQtZGV0YWlscy1vdmVydmlldyBbam9iVmFsdWVdPVwiZHJpdmVyTGlzdFwiPjwvYXBwLXNtcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXc+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9pbnB1dFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJleGFtcGxlLWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJUZXh0IGhlcmUuLi5cIiBhdXRvY29tcGxldGU9XCJub3BlXCIgY29sdW1uPVwiMTBcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRyaXZlck1lc3NhZ2VcIj48L3RleHRhcmVhPlxuICAgICAgICAgIDxtYXQtaGludD57e2RyaXZlck1lc3NhZ2UudmFsdWU/Lmxlbmd0aH19IC8gMjU2PC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtZXNzYWdlTG9hZGVyXCIgW2Rpc2FibGVkXT1cIiFkcml2ZXJNZXNzYWdlLnZhbHVlIHx8IGRyaXZlck1lc3NhZ2UuaW52YWxpZFwiIChjbGljayk9XCJzZW5kTWVzc2FnZSgpXCI+XG4gICAgICAgICAgU2VuZCBTTVNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+XG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJtZXNzYWdlTG9hZGVyXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|